Analyse de programmes pour la cybersécurité
- Code de l'UE INFOM227
-
Horaire
30 15Quadri 1
- Crédits ECTS 5
- Langue
- Professeur
À la fin de ce cours, l’étudiant·e sera capable de :
L’objectif de ce cours est d’introduire l’étudiant·e aux principales méthodes d’analyse statiques et dynamiques de programmes en vue d’identifier des problèmes potentiels liés à la cybersécurité.
Le cours vise à introduire les différents aspects de l’analyse statique et de l’analyse dynamique pour la cybersécurité et le développement de logiciels sûrs. Le contenu comprendd’une part les différents types d’analyse statique : l’analyse data-flow et l’interprétation abstraite (framework, terminaison, correction, concept de widening, ...), l’analyse interprocédurale et l’analyse control-flow et l’analyse en présence de pointeurs. Ces types d’analyses seront illustrés au travers de deux applications pratiques : l’analyse de mauvais usages d’APIs et l’analyse de dépendances. D’autre part, le cours comprend une introduction à l’analyse dynamique au travers du fuzzing : fuzzing lexical, fuzzing syntaxique et fuzzing sémantique. Enfin, il s’agira de voir comment mettre en œuvre ces différents types d’analyse au sein d’un cycle de développement applicatif.
Le cours se compose de séances magistrales et de séances de travaux pratiques.
L’évaluation repose sur la réalisation d’un projet.
Formation | Programme d’études | Bloc | Crédits | Obligatoire |
---|---|---|---|---|
Master 120 en sciences informatiques, à finalité spécialisée en data science | Standard | 0 | 5 | |
Master 120 en sciences informatiques, à finalité spécialisée en software engineering | Standard | 0 | 5 | |
Master 60 en sciences informatiques | Standard | 0 | 5 | |
Master 60 en sciences informatiques | Standard | 1 | 5 | |
Master 120 en sciences informatiques, à finalité spécialisée en data science | Standard | 2 | 5 | |
Master 120 en sciences informatiques, à finalité spécialisée en software engineering | Standard | 2 | 5 |