Acquis d'apprentissage

Des suites de l'enseignement proposé dans ce cours, l'étudiant.e sera capable de:

  • Comprendre les principes de base de la sécurité contre l'exploitation de binaires ainsi que les défenses déployées dans les OS, comme l'ASLR, le NX bit, le stack canary.
  • Exploiter un Buffer overflow sur une architecture x86-32
  • Programmer avec Rust
  • Comprendre les principes de base de la sécurité Web
  • Comprendre les principes de base de la cryptographie
  • Comprendre les principes de base et être capable de critiquer la blockchain
  • Comprendre les bases de la sécurité réseau
  • Comprendre le fonctionnement des protocoles d'identification
  • Comprendre les bases de la cryptanalyse des mots de passes

Objectifs

L'objectif du cours est de couvrir certaines bases de la sécurité informatique. L'étudiant.e découvrira les techniques et principes d'exploitation de vulnérabilités causés par les languages permettant au programmeur de manipuler la mémoire. Suite à ces discussions, l'accent sera mis sur l'apprentissage du language Rust permettant de développer en bas niveau avec les facilités et garanties des languages haut niveau. L'étudiant.e apprendra des techniques de cryptanalyses et les appliquera aux protocoles d'authentification par mot de passe, recevra une vision large des principes de la cryptographie et de leurs applications en sécurité réseaux, et dans des outils telle que la blockchain, en théorie intéressants, mais dont les capacités réelles et les externalités négatives rendent leurs applications concrètes questionnables.

Contenu

Méthodes d'enseignement

Cours magistraux avec un ensemble d'exemples concrèts

 

Méthode d'évaluation

Examen Ecrits, projet et défense de projet.

Sources, références et supports éventuels

Notes de cours et documentation en ligne disponibles sur Webcampus

Langue d'enseignement

Français