Exploitation en espace noyauStephane Duverger

L'exploitation de failles se tourne de plus en plus vers les noyaux de systèmes d'exploitation, d'une part car les applications sont de mieux en mieux protégées, d'autre part car l'impact d'une telle exploitation donne un contrôle quasi sans limite de la cible à l'exploitant. L'exploitation de failles en espace noyau est sensiblement différente de celle en espace utilisateur. Des problèmes de contexte d'exécution, en passant par les pré-requis d'utilisation des appels systèmes, sans oublier la relocalisation dynamique des modules, le développement d'un shellcode noyau est sujet à des contraintes auxquelles nous n'avions pas l'habitude de faire face en espace utilisateur. Nous présenterons ainsi ces contraintes et comment y remédier tout en s'appuyant sur deux cas concrets d'exploitation de drivers Wifi sous Linux.