Dans le cadre de ses activités de veille, Intrinsec était présent à la seconde édition de la conférence internationale NoSuchCon qui se déroulait du 19 au 21 novembre 2014 à l’espace Niemeyer au siège du PCF à Paris. Les présentations étaient en Anglais, techniques et sans langue de bois (« bullshit-free »).
(source : http://www.nosuchcon.org/)
Nous vous proposons des résumés des différentes présentations de la conférence : jour 1 (cet article), jour 2 et jour 3.
Nous tenons aussi à remercier les organisateurs et étudiants bénévoles qui ont très bien géré cet événement, ainsi que les orateurs qui ont partagé leurs connaissances et découvertes.
Jour 1
« Keynote : Program Synthesis in Reverse Engineering » – Rolf Rolles (Möbius Strip Reverse Engineering)
Slides : http://www.nosuchcon.org/talks/2014/D1_01_Rolf_Rolles_Program_Synthesis_in_reverse_Engineering.pdf
La keynote d’ouverture, plutôt très technique, introduisait idéalement cet événement « bullshit-free hardcore technical ». Rolf Rolles a présenté la discipline académique de « synthèse de programmes » dont l’objectif est de générer automatiquement des programmes à partir d’un comportement souhaité (couples d’entrées et de sorties). A l’aide d’un langage intermédiaire et d’un simulateur de processeur, il est ainsi possible d’automatiser des tâches de rétroconception. Rolf a par exemple montré comment désobfusquer de manière automatique un programme désassemblé en générant des règles à la volée.
#NSC14 pic.twitter.com/biVVtrFhLo
— aristote (@aristote) 19 Novembre 2014
« Your Q is my Q » – Georgi Geshev (MWR Labs)
Slides : http://www.nosuchcon.org/talks/2014/D1_02_Georgi_Geshev_Your_Q_is_my_Q.pdf
Les middlewares basés sur des files de messages (Message Queuing Service) permettent la communication entre différents processus par l’intermédiaire d’un broker, de manière asynchrone (les messages restent dans la file tant qu’ils ne sont pas récupérés) et sur un modèle point-à-point (1 émetteur – 1 destinataire) ou publish-subscribe (N émetteurs – M destinataires, ces derniers s’abonnant auprès du broker aux types de messages désirés).
Les vulnérabilités présentées ne sont pas spécifiques à ces produits, mais ont été découvertes sur plusieurs implémentations.
Les vulnérabilités sont les suivantes :
- Défauts de configuration (services de débogage exposés, mots de passe d’administration par défaut, files par défaut accessibles sans authentification)
- Attaque par bruteforce sur serveur LDAP facilitée
- Désérialisation non sécurisée des messages
- Exécution de commandes systèmes selon le contenu des messages
- Injection SQL par absence de contrôle avant insertion en base
- XSS par absence d’encodage avant insertion dans les pages web d’administration
- XXE à cause d’un parseur XML laxiste côté broker
Plusieurs de ces vulnérabilités sont provoquées par une confiance aveugle dans les messages reçus.
Les recommandations sont classiques :
- Côté broker
- Limiter les protocoles activés et retenir ceux permettant le chiffrement des communications
- Suppression des comptes par défaut
- Désactivation des services de débogage (JMX, RMI, JDWP, etc.)
- VLAN d’administration
- Désactivation de l’accès anonyme
- Liste blanche par adresse IP
- Côté applications :
- Valider les messages, ne pas faire confiance aveuglément
- Activer la vérification d’intégrité au niveau protocolaire
- Liste blanche des objets autorisés en cas de désérialisation
« HomePlugAV PLC: practical attacks and backdooring » – Sebastien Dudek (Sogeti ESEC)
Slides : http://www.nosuchcon.org/talks/2014/D1_03_Sebastien_Dudek_HomePlugAV_PLC.pdf
Sébastien Dudek a étudié la sécurité des boîtiers CPL (Courants Porteurs en Ligne, à ne pas confondre avec les Programmable Logic Controllers des systèmes industriels) qui permettent le transfert d’information sur des réseaux électriques.
Il s’est attaqué au mythe du cloisonnement des réseaux CPL par les compteurs électriques : il est par exemple possible de visualiser les réseaux de ses voisins !
Sébastien a créé un layer pour scapy afin d’analyser et de manipuler les paquets du protocole HomePlugAV. Cet outil a permis le fuzzing des logiciels de configuration fournis par les constructeurs , ainsi que l’implémentation d’attaques pour découvrir les codes secrets de boîtiers (permettant de modifier leur configuration et possiblement de s’attaquer aux firmwares).
Des vulnérabilités ont été découvertes sur l’implémentation du mécanisme de dérivation de clé utilisé par un constructeur et qui est réutilisé dans de nombreux équipements. Ce défaut permet de retrouver facilement la clé et ainsi rejoindre un réseau existant. Une personne malveillante pourrait de cette manière utiliser la connexion Internet d’un voisin dont l’installation est vulnérable. Il est à noter que les Freeplugs fournis par le FAI Free ne sont pas concernés.
« The Nitty Gritty of Sandbox Evasion » – Rob Rachwald (FireEye)
Slides : sur demande auprès du speaker
De plus en plus d’outils de sécurité implémentent des bacs à sable (sandboxes) pour l’analyse de programmes malveillants. Ceux-ci cherchent donc à contourner ces bacs, principalement en les détectant pour éviter d’effectuer des actions malveillantes pendant la phase d’observation.
Les quatre méthodes principales (et déjà bien connues des concepteurs et utilisateurs de bacs à sable) se basent sur :
- Les interactions humaines : le malware va demander une action à l’utilisateur (clic sur une boîte de dialogue), ou attendre un certain nombre de clics ou de frappes. Un exemple particulier était celui d’un jeu dissimulé dans des diapositives PowerPoint pour détecter un humain.
- La configuration : mise en pause du malware pendant N+1 minutes pour dépasser le temps maximal d’analyse de N minutes, attente d’une certaine date, téléchargement d’un fichier sur Internet (les bacs à sable ont tendance à bloquer ces appels ou à renvoyer des faux fichiers).
- L’environnement : déclenchement uniquement sur une version spécifique du système d’exploitation, ou recherche de certains logiciels tiers courants (Acrobat Reader, Adobe Flash Player…). La suite Microsoft Office est par exemple peu souvent présente dans les bacs à sable.
- La virtualisation : détection de l’exécution en machine virtuelle (pilotes, outils de l’éditeur, ports de communication, etc.)
« Quantum computing in practice » – Renaud Lifchitz (Oppida)
Slides : http://www.nosuchcon.org/talks/2014/D1_05_Renaud_Lifchitz_Quantum_computing.pdf
Renaud Lifchitz a commencé par rappeler les principes de la physique quantique : dualité onde/particules, détermination probabilistique des caractéristiques, impossibilité de mesurer sans fixer l’état, etc.
L’état actuel de la recherche et du matériel permet déjà l’implémentation concrète de chiffrement quantique sur de courtes distances (le signal lumineux ne peut être retransmis) en se basant non pas sur des problèmes mathématiques difficiles, mais sur les propriétés physiques.
L’orateur a ensuite présenté les blocs de base permettant de construire des systèmes quantiques : l’équivalent des portes logiques en électronique.
Différentes applications et services en ligne (cloud) ont ensuite été présentés : ils permettent aux amateurs la réalisation de leurs premiers circuits sans acquérir de matériel.
Ces éléments convergent pour casser à moyen terme (entre 10 et 25 ans) les algorithmes actuels de cryptographique asymétrique. La recherche se porte donc sur de nouveaux algorithmes permettant de résister à ces « attaques quantiques ».
— Clément Notin
My brother recommended I might like this website.
He was totally right. This post actually made my day.
You cann’t imagine just how much time I had spent for this info!
Thanks!