Unité d'enseignement ENSINCU33 :
« Fiabilité logicielle 2 »

Description

Crédits : 3
Semestre :  S3

Résumé :

La première partie du cours se divise en deux sections : la sécurité dans le langage Java et la sécurité dans les applications web.

Pour la première section, dans Java la sécurité revêt de nombreux aspects :

Au niveau de la sécurité dans les applications web, on aborde différents notions liées à la sécurité, comme l'authentification, le contrôle d'accès, les vulnérabilités d'un système (ou risque d'attaques). On s'appuie notamment sur l'organisme Open Web Application Security Project (OWASP) qui établi un classement des problèmes des sécurité les plus critiques pour les applications web. Des solutions possibles sont analysées en cours, ainsi que de bonnes pratiques de développement pour limiter de telles failles de sécurité. Un exemple de vérification formelle automatique (basée sur des techniques de « model checking ») sur le protocole de sécurité Single-Sign-On est présenté.

La deuxième partie du cours s'articule autour des Critères Communs de Sécurité (CCS) qui ont pour objectif d'évaluer la sécurité des systèmes informatiques.

Les CCS mettent en place un standard de certification internationale et offrent un ensemble de recommandations précises pour analyser, développer, valider, maintenir et utiliser des systèmes informatiques.

En ce sens, ils proposent une méthode de support pour les développeurs, les évaluateurs et les utilisateurs finaux. Ils servent de base pour évaluer et déterminer le « degré de confiance » que l'on peut attribuer à un système ou à une application. En particulier, ils décrivent 7 niveaux d'évaluation et d'analyse de programmes.

Dans cette partie du cours, chaque niveau est passé en revue, de façon générale dans un premier temps, puis à travers un exemple de programme à vérifier. L'accent est surtout mis sur les niveaux les plus élevés, nécessitant une spécification formelle ou même une vérification formelle.

Dans le cours, l'objectif principal est de montrer qu'un programme est fiable par rapport aux spécifications initiales. Pour cela, le cours présente :

Apparaît dans les parcours