Sécurité des systèmes

Description

Ce cours est une introduction à la sécurité des systèmes d’exploitation. Il propose une initiation à la programmation noyau sous Linux et à l’exploitation des failles noyaux depuis l’espace utilisateur ainsi qu’une initiation aux attaques physiques.

Le but est de donner les clés nécessaires pour:

  • Comprendre les articles de recherche du domaine;
  • Réaliser un audit de sécurité sur une distribution ou un système Unix;
  • Programmer des modules pour le noyau Linux et connaître quelques aspects de la programmation noyau;
  • Savoir programmer un rootkit noyau Linux avec plusieurs fonctionnalités;
  • Savoir exploiter les bugs du noyau depuis l’espace utilisateur et connaître les différentes méthodes de remédiations pour s’en défendre;
  • Faire des attaques physiques sur un système embarqué de type Io.T

Plan du cours

  1. Introduction to Linux Kernel Programming
  2. Programming a Linux Kernel Rootkit
  3. Linux Kernel Exploits and Mitigations
  4. Physical Attacks on Embedded Systems

Références

  • Understanding the Linux Kernel (3nd edition), by Daniel P. Bovet and Marco Cesati, 2005.
  • Linux Device Drivers (3nd edition), by Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman, 2005.
  • The Linux Kernel Module Programming Guide, by Peter Jay Salzman, Michael Burian, and Ori Pomerantz, 2007
  • Linux Kernel Development (3rd Edition), by Robert Love, 2010.
  • Designing BSD Rootkits: An Introduction to Kernel Hacking, by Joseph Kong, 2007.
  • A Guide to Kernel Exploitation: Attacking the Core, by Enrico Perla and Massimilio Oldani, 2010.

Enseignants

Fiche UE de l’université