L'objectif de ce cours est de compléter l'unité de sécuité informatique 1 du second semestre du master. Le programme de cette unité se focalise en particulier sur les «technologies» de sécurité, la sécurité des programmes du Web et des réseaux.

  • Introduction à la sécurité des programmes (principales attaques et menaces, tests, reviews de code, fuzzing, analyse statique, analyse dynamique, vérification, ...)
  • Sécurité des programmes C(buffer overflow, interger overflow, tocttou, gestion dynamique de la mémoire, gestion d'erreurs, bonnes pratiques ...)
  • Sécurité des programmes Java (modèle de sécurité Java: Vérificateur de bytecode, chargeur de classes et contrôleur d’accès , bac-à-sable, politique de sécurité, API de sécurité JCA/JCE, JAAS, JSSE, bonnes pratiques...)
  • Sécurité Web (principales technologies Web (PHP, ASP, JSP, CGI...) et leurs vulnérabilité, exemples d'attaques Web, outils de prévention et détection)
  • Sécurité des réseaux :
    • rappels de cryptographie, utilisation de gpg, ssh
    • protocole SSL/TLS, programmation d'un client/serveur SSL/TLS
    • pare-feux : filtrage de paquets (iptables/nft), proxy (squid)
    • VPN (utilisation d'OpenVPN, ipsec)
    • Kerberos : principe et protocole, utilisation de FreeIPA
    • SELinux