Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente | |||
formations:licences:licence_enseignements_descriptifs [04/02/21 11:46] 127.0.0.1 modification externe |
formations:licences:licence_enseignements_descriptifs [20/01/22 12:16] (Version actuelle) François Laroussinie [Sécurité informatique (SI6, option)] |
||
---|---|---|---|
Ligne 411: | Ligne 411: | ||
=== Contenu === | === Contenu === | ||
- | Ce cours est une introduction à la sécurité informatique. | + | Ce cours développe les fondations de la sécurité du logiciel. Nous étudierons les principales vulnérabilités logiciels ainsi que les attaques qui les exploitent (tel que les dépassements de tampon, les injections SQL ou les détournements de session). Nous aborderons également quelques mécanismes de défense permettant d'empêcher ou de restreindre l'impact de ces attaques. Nous insisterons en particulier sur l'importance de penser la sécurité du logiciel dès sa conception, y compris dans le choix des langages de programmation et l'utilisation de techniques d'analyse statique ou dynamique. Ce cours exige une maîtrise des outils Unix (ligne de commande, système de fichier) ainsi qu'une bonne connaissance du langage C et son écosystème (compilateur GCC, débogueur gdb). |
- | Il comporte une partie sur la cryptographie symétrique | + | |
- | dans laquelle des algorithmes d'authentification (MAC) et | + | |
- | de chiffrement symétriques (PRF, AES, DES) seront étudiés | + | |
- | et programmés. | + | |
- | La deuxième partie concerne les vulnérabilités des logiciels | + | |
- | permettant de corrompre leur fonctionnement normal et quelques | + | |
- | moyens pour prévenir ou atténuer ces attaques (analyse et test | + | |
- | de programmes). | + | |
- | === Pré-requis === | ||
- | Mathématiques du premier cycle (notamment notions d'algèbre | ||
- | et de calcul des probabilités); notions de base de l'algorithmique (structures | ||
- | de données, complexité asymptotique); | ||
- | notions en programmation C, Java et Python; notions en système Linux; | ||
- | notions en architecture des ordinateurs (CI2); | ||
- | notions en outils internet (IO2). |