Introduction applicatives via périphériques modifiés Benoît Badrignans - SECLAB FR 5 juin 2013, Rennes (France) 1/ 31
Plan Introduction 1 Introduction 2 3 4 2/ 31
Plan Introduction 1 Introduction 3/ 31
Introduction Introduction Contexte Dans le contexte des systèmes d information critiques Des problèmes liés à l fréquents (Stuxnet) Prise de conscience générale et recommandations (ex : ANSSI) Menaces Déni de service Fuite d information Infection virale, prise de contrôle 4/ 31
Plan Introduction Recommandations Surface d attaque Plateformes d implémentation accessibles : Résumé 2 5/ 31
Recommandations Introduction Recommandations Surface d attaque Plateformes d implémentation accessibles : Résumé Éviter l Éviter de faire entrer/sortir les périphériques du SI Sas de décontamination Limiter les périphériques par leur classe (imprimante, clavier/souris, clef ) Limiter les périphériques par leur descripteur Forcer le montage en read-only Antivirus à jour Désactiver autorun, autoplay, preview Logiciel de protection (ex : Lumension) 6/ 31
Introduction Recommandations Surface d attaque Plateformes d implémentation accessibles : Résumé Surface d attaque avec clef classique Périphérique Classique Matériel (HUB, root hub) Couche physique Périphérique 7/ 31
Introduction Recommandations Surface d attaque Plateformes d implémentation accessibles : Résumé Surface d attaque avec clef classique Périphérique Classique Stack Driver Matériel (HUB, root hub) Driver malveillant signé par Microsoft Couche physique Périphérique 7/ 31
Introduction Recommandations Surface d attaque Plateformes d implémentation accessibles : Résumé Surface d attaque avec clef classique Périphérique Classique Système de fichiers Table partition Stack Driver Matériel (HUB, root hub) Faille lecture table des partitions (ex : Linux et LDM) Driver malveillant signé par Microsoft Couche physique Périphérique 7/ 31
Introduction Recommandations Surface d attaque Plateformes d implémentation accessibles : Résumé Surface d attaque avec clef classique Périphérique Classique Fichiers Clavier Souris Virus, autorun Système de fichiers Table partition Stack Driver Matériel (HUB, root hub) Faille lecture table des partitions (ex : Linux et LDM) Driver malveillant signé par Microsoft Couche physique Périphérique 7/ 31
Introduction Recommandations Surface d attaque Plateformes d implémentation accessibles : Résumé Surface d attaque avec clef modifiée Périphérique Classique Périphérique Modifié Périphérique Usurpation de descripteur 8/ 31
Introduction Recommandations Surface d attaque Plateformes d implémentation accessibles : Résumé Surface d attaque avec clef modifiée Périphérique Classique Périphérique Modifié Matériel (HUB, root hub)? Couche physique Sniff, fuzzing Périphérique Usurpation de descripteur 8/ 31
Introduction Recommandations Surface d attaque Plateformes d implémentation accessibles : Résumé Surface d attaque avec clef modifiée Périphérique Classique Périphérique Modifié Driver Matériel (HUB, root hub) Driver malveillant signé par Microsoft Ex : Windows : Faille dans la lecture du descripteur => élévation privilège? Couche physique Sniff, fuzzing Périphérique Usurpation de descripteur 8/ 31
Introduction Recommandations Surface d attaque Plateformes d implémentation accessibles : Résumé Surface d attaque avec clef modifiée Périphérique Classique Périphérique Modifié Système de fichiers Table partition Stack Driver Matériel (HUB, root hub) Faille lecture table des partitions (ex : Linux et LDM) Driver malveillant signé par Microsoft Bypass sas de décontamination Fuzzing Ex : Windows : Faille dans la lecture du descripteur => élévation privilège? Couche physique Sniff, fuzzing Périphérique Usurpation de descripteur 8/ 31
Introduction Recommandations Surface d attaque Plateformes d implémentation accessibles : Résumé Surface d attaque avec clef modifiée Périphérique Classique Périphérique Modifié Fichiers Système de fichiers Table partition Stack Driver Matériel (HUB, root hub) Virus, autorun Faille lecture table des partitions (ex : Linux et LDM) Driver malveillant signé par Microsoft Covert Channel Bypass sas de décontamination Fuzzing Ex : Windows : Faille dans la lecture du descripteur => élévation privilège? Couche physique Sniff, fuzzing Périphérique Usurpation de descripteur 8/ 31
Introduction Recommandations Surface d attaque Plateformes d implémentation accessibles : Résumé Surface d attaque avec clef modifiée Fichiers Système de fichiers Table partition Stack Driver Clavier Souris Matériel (HUB, root hub) Périphérique Classique Virus, autorun Faille lecture table des partitions (ex : Linux et LDM) Driver malveillant signé par Microsoft Périphérique Modifié Covert channel, usurpation d'identité, brute force MdP Covert Channel Bypass sas de décontamination Fuzzing Ex : Windows : Faille dans la lecture du descripteur => élévation privilège? Couche physique Sniff, fuzzing Périphérique Usurpation de descripteur 8/ 31
Introduction Recommandations Surface d attaque Plateformes d implémentation accessibles : Résumé Plateformes d implémentation accessibles Micro-contrôleurs (ex : SMSC, Cypress) Téléphones portables (ex : Android + -Gadget) Outils de pentest prêt à l emploi (Facedancer pour fuzzing, clavier/souris programmable) Clef piégée dans le commerce 9/ 31
Introduction Recommandations Surface d attaque Plateformes d implémentation accessibles : Résumé Plateformes d implémentation accessibles Micro-contrôleurs (ex : SMSC, Cypress) Téléphones portables (ex : Android + -Gadget) Outils de pentest prêt à l emploi (Facedancer pour fuzzing, clavier/souris programmable) Clef piégée dans le commerce 9/ 31
Introduction Recommandations Surface d attaque Plateformes d implémentation accessibles : Résumé Plateformes d implémentation accessibles Micro-contrôleurs (ex : SMSC, Cypress) Téléphones portables (ex : Android + -Gadget) Outils de pentest prêt à l emploi (Facedancer pour fuzzing, clavier/souris programmable) Clef piégée dans le commerce 9/ 31
Introduction Recommandations Surface d attaque Plateformes d implémentation accessibles : Résumé Plateformes d implémentation accessibles Micro-contrôleurs (ex : SMSC, Cypress) Téléphones portables (ex : Android + -Gadget) Outils de pentest prêt à l emploi (Facedancer pour fuzzing, clavier/souris programmable) Clef piégée dans le commerce 9/ 31
: résumé Introduction Recommandations Surface d attaque Plateformes d implémentation accessibles : Résumé Une grande surface d attaque pour une clef classique Une encore plus grande pour une clef modifiée De plus en plus simple à implémenter 10/ 31
Plan Introduction Attaque 1 : Fuite d information Attaque 2 : Infection virale 3 11/ 31
Attaque 1 : Scénario Introduction Attaque 1 : Fuite d information Attaque 2 : Infection virale L attaquant veut voler le fichier retrocommission.xls Il n a qu un accès utilisateur au système cible Le système hôte filtre les descripteurs Il monte les clefs uniquement en read-only 12/ 31
Attaque 1 : Scénario Introduction Attaque 1 : Fuite d information Attaque 2 : Infection virale L attaquant veut voler le fichier retrocommission.xls Il n a qu un accès utilisateur au système cible Le système hôte filtre les descripteurs Il monte les clefs uniquement en read-only 12/ 31
Attaque 1 : Scénario Introduction Attaque 1 : Fuite d information Attaque 2 : Infection virale L attaquant veut voler le fichier retrocommission.xls Il n a qu un accès utilisateur au système cible Le système hôte filtre les descripteurs Il monte les clefs uniquement en read-only 12/ 31
Attaque 1 : Scénario Introduction Attaque 1 : Fuite d information Attaque 2 : Infection virale L attaquant veut voler le fichier retrocommission.xls Il n a qu un accès utilisateur au système cible Le système hôte filtre les descripteurs Il monte les clefs uniquement en read-only 12/ 31
Introduction Usurpation descripteur Attaque 1 : Fuite d information Attaque 2 : Infection virale Extrêmement simple à modifier : 13/ 31
Introduction Attaque 1 : Fuite d information Attaque 2 : Infection virale Écrire sur une clef montée en read-only DEMO 14/ 31
Comment ça marche Introduction Attaque 1 : Fuite d information Attaque 2 : Infection virale On lit le secteur 1 puis 0 d un fichier de la clef (cmd.txt) On converti les données du fichiers à écrire en adresses On effectue des lectures à ces adresses dans un fichier de la clef (output.txt) La clef les interprète comme des écritures de données 15/ 31
Comment ça marche Introduction Attaque 1 : Fuite d information Attaque 2 : Infection virale On lit le secteur 1 puis 0 d un fichier de la clef (cmd.txt) On converti les données du fichiers à écrire en adresses On effectue des lectures à ces adresses dans un fichier de la clef (output.txt) La clef les interprète comme des écritures de données 15/ 31
Comment ça marche Introduction Attaque 1 : Fuite d information Attaque 2 : Infection virale On lit le secteur 1 puis 0 d un fichier de la clef (cmd.txt) On converti les données du fichiers à écrire en adresses On effectue des lectures à ces adresses dans un fichier de la clef (output.txt) La clef les interprète comme des écritures de données 15/ 31
Comment ça marche Introduction Attaque 1 : Fuite d information Attaque 2 : Infection virale On lit le secteur 1 puis 0 d un fichier de la clef (cmd.txt) On converti les données du fichiers à écrire en adresses On effectue des lectures à ces adresses dans un fichier de la clef (output.txt) La clef les interprète comme des écritures de données 15/ 31
Comment ça marche Introduction Attaque 1 : Fuite d information Attaque 2 : Infection virale On lit le secteur 1 puis 0 d un fichier de la clef (cmd.txt) On converti les données du fichiers à écrire en adresses On effectue des lectures à ces adresses dans un fichier de la clef (output.txt) La clef les interprète comme des écritures de données 15/ 31
Périphérique utilisé Introduction Attaque 1 : Fuite d information Attaque 2 : Infection virale Disque interne image0 image1 image2 image3... Image N CPU controller Port série 16/ 31
Périphérique utilisé Introduction Attaque 1 : Fuite d information Attaque 2 : Infection virale Disque interne image0 image1 image2 image3... Image N CPU controller Port série 16/ 31
Attaque 2 : Scénario Introduction Attaque 1 : Fuite d information Attaque 2 : Infection virale L attaquant veut infecter une machine L attaque doit être automatisée La machine cible ne dispose pas d antivirus L attaquant ne peut pas entrer dans le SI L attaquant ne connait pas le système cible (Linux/Windows/Mac) Le SI dispose d un sas de décontamination L autorun est désactivé 17/ 31
Attaque 2 : Scénario Introduction Attaque 1 : Fuite d information Attaque 2 : Infection virale L attaquant veut infecter une machine L attaque doit être automatisée La machine cible ne dispose pas d antivirus L attaquant ne peut pas entrer dans le SI L attaquant ne connait pas le système cible (Linux/Windows/Mac) Le SI dispose d un sas de décontamination L autorun est désactivé 17/ 31
Attaque 2 : Scénario Introduction Attaque 1 : Fuite d information Attaque 2 : Infection virale L attaquant veut infecter une machine L attaque doit être automatisée La machine cible ne dispose pas d antivirus L attaquant ne peut pas entrer dans le SI L attaquant ne connait pas le système cible (Linux/Windows/Mac) Le SI dispose d un sas de décontamination L autorun est désactivé 17/ 31
Attaque 2 : Scénario Introduction Attaque 1 : Fuite d information Attaque 2 : Infection virale L attaquant veut infecter une machine L attaque doit être automatisée La machine cible ne dispose pas d antivirus L attaquant ne peut pas entrer dans le SI L attaquant ne connait pas le système cible (Linux/Windows/Mac) Le SI dispose d un sas de décontamination L autorun est désactivé 17/ 31
Attaque 2 : Scénario Introduction Attaque 1 : Fuite d information Attaque 2 : Infection virale L attaquant veut infecter une machine L attaque doit être automatisée La machine cible ne dispose pas d antivirus L attaquant ne peut pas entrer dans le SI L attaquant ne connait pas le système cible (Linux/Windows/Mac) Le SI dispose d un sas de décontamination L autorun est désactivé 17/ 31
Attaque 2 : Scénario Introduction Attaque 1 : Fuite d information Attaque 2 : Infection virale L attaquant veut infecter une machine L attaque doit être automatisée La machine cible ne dispose pas d antivirus L attaquant ne peut pas entrer dans le SI L attaquant ne connait pas le système cible (Linux/Windows/Mac) Le SI dispose d un sas de décontamination L autorun est désactivé 17/ 31
Attaque 2 : Scénario Introduction Attaque 1 : Fuite d information Attaque 2 : Infection virale L attaquant veut infecter une machine L attaque doit être automatisée La machine cible ne dispose pas d antivirus L attaquant ne peut pas entrer dans le SI L attaquant ne connait pas le système cible (Linux/Windows/Mac) Le SI dispose d un sas de décontamination L autorun est désactivé 17/ 31
Introduction Attaque 1 : Fuite d information Attaque 2 : Infection virale Contournement des sas de décontamination Sas de décontamination Effacement des fichiers vérolés / formate les clefs Attaque On fait apparaître des fichiers vérolés après X branchements 18/ 31
Introduction Attaque 1 : Fuite d information Attaque 2 : Infection virale Contournement des sas de décontamination Sas de décontamination Effacement des fichiers vérolés / formate les clefs Attaque On fait apparaître des fichiers vérolés après X branchements PC hôte Clef Mémoire Image saine Image verrolée 18/ 31
Introduction Autorun : clavier / souris Attaque 1 : Fuite d information Attaque 2 : Infection virale Attaque Le périphérique se présente comme un clavier et/ou une souris On assoit l attaquant derrière le PC 19/ 31
Introduction Autorun : clavier / souris Attaque 1 : Fuite d information Attaque 2 : Infection virale Attaque Le périphérique se présente comme un clavier et/ou une souris On assoit l attaquant derrière le PC 19/ 31
Plan Introduction logicielles Contre-mesure matérielles 4 20/ 31
Introduction Logiciels de protection logicielles Contre-mesure matérielles Avantages Mettent en œuvre les recommandations habituelles (filtre sur descripteur, DLP, désactive l autorun) Évite les erreurs de configuration des systèmes Problème Ne peuvent quasiment rien face à une clef modifiée (usurpation descripteur, écritures via lectures, autorun clavier/souris ) 21/ 31
Approche Qubes OS Introduction logicielles Contre-mesure matérielles Avantages délégué à une VM de faible niveau de confiance Les VM de confiance ne sont pas au contact de l Problème Formation et contraintes pour les utilisateurs 22/ 31
Approche matérielle Introduction logicielles Contre-mesure matérielles PC Système d'exploitation Contrôleur Hôte Le contrôleur au contact de l hôte est maîtrisé Filtrage matériel (ex : fichiers : sens, contenu, noms) Limite les attaques clavier/souris (fréquence de frappes, combinaisons de touches) 23/ 31
Approche matérielle Introduction logicielles Contre-mesure matérielles PC Système d'exploitation Contrôleur Hôte Transferts Matériel de Filtrage Transferts Le contrôleur au contact de l hôte est maîtrisé Filtrage matériel (ex : fichiers : sens, contenu, noms) Limite les attaques clavier/souris (fréquence de frappes, combinaisons de touches) 23/ 31
Approche matérielle Introduction logicielles Contre-mesure matérielles PC Système d'exploitation Contrôleur Hôte Transferts Matériel de Filtrage Transferts Périphériques virtuels Le contrôleur au contact de l hôte est maîtrisé Filtrage matériel (ex : fichiers : sens, contenu, noms) Limite les attaques clavier/souris (fréquence de frappes, combinaisons de touches) 23/ 31
Approche matérielle Introduction logicielles Contre-mesure matérielles PC Système d'exploitation Contrôleur Hôte Transferts Matériel de Filtrage Transferts Périphériques virtuels Le contrôleur au contact de l hôte est maîtrisé Filtrage matériel (ex : fichiers : sens, contenu, noms) Limite les attaques clavier/souris (fréquence de frappes, combinaisons de touches) 23/ 31
Conclusion Plan 5 Conclusion 24/ 31
Conclusion Conclusion Conclusion La surface d attaque sur l est grande même sans entrer dans les couches basses Difficile à contrer avec du logiciel Toute interface représente une menace (ex : fuite d information via PS/2, via audio) Autres attaques possibles Contournement d antivirus Écoute du trafic descendant sur un hub 25/ 31
Conclusion Conclusion Conclusion La surface d attaque sur l est grande même sans entrer dans les couches basses Difficile à contrer avec du logiciel Toute interface représente une menace (ex : fuite d information via PS/2, via audio) Autres attaques possibles Contournement d antivirus Écoute du trafic descendant sur un hub 25/ 31
Conclusion Merci pour votre attention 26/ 31
Conclusion Écoute à la couche physique sur un même hub PC Carte à puce Système d'exploitation Contrôleur Hôte HUB HDD Sniffer Traffic descendant (broadcast) Traffic montant (unicast) 27/ 31
Conclusion Bypass scan anti-virus PC hôte Clef Mémoire Image saine Image verrolée 28/ 31
Conclusion Contrôleur intelligent PC Système d'exploitation Contrôleur Hôte ''Intelligent'' Contrôleur ''Intelligent'' Challenge / response Crypto couche basse 29/ 31
Conclusion Approche matérielle PC Flash Système d'exploitation Contrôleur Hôte Contrôleur Filtre Matériel (FPGA) Système Embarqué 30/ 31
Conclusion Supprimer l Avantages Plus d attaques Problème Parfois impossible (clavier / souris, backup, configuration) On peut utiliser le port PS/2 pour extraire des fichiers 31/ 31