1. Analyse de la vulnérabilité
1.1 Interception des crashes
Le paramètre noyau kernel.core_pattern détermine l'action à réaliser lors du crash d'un programme. Par défaut, la valeur est core, provoquant l'écriture d'un fichier coredump sur le disque.
Apport modifie la valeur de ce paramètre sur les distributions Ubuntu Desktop :
$ sysctl -n kernel.core_pattern
|/usr/share/apport/apport %p %s %c %P
Lorsque la valeur de kernel.core_pattern commence par le symbole pipe (|), le reste de la ligne est interprétée comme un programme à exécuter. Au lieu d'écrire un fichier sur le disque, le coredump est donné sur l'entrée standard du programme. Le programme est exécuté avec l'utilisateur root et le groupe root, et les différents arguments commençant par le signe pourcent (%) sont remplacés ainsi :
-%p : PID du processus dumpé ;
-%s : numéro du signal provoquant le coredump ;
-%c : rlimit soft de la taille du coredump,
-%P : PID du processus dumpé, dans le PID namespace...
