Hack in The Box Amsterdam 2013

Keynote jour 1 : Embracing the uncertainty of advanced attacks with Big Data analytics

La keynote de lancement de la conférence avait pour thème la détection d’incidents à l’aide du Big Data. Ce terme est présent dans de nombreux milieux depuis des années mais commence à peine à être utilisé dans le monde de la sécurité.

Comme Edward Schwartz (CISO de RSA) le repète à plusieurs reprises, la détection d’incidents se heurte à différents problèmes comme la génération d’évènements utiles et utilisables, ainsi qu’à leur traitement. On commence à avoir une bonne vision de ce qui est clairement une attaque (signature de virus connus par exemple), mais comment détecter des attaques plus évoluées? Pour répondre à ces problèmes, M. Schwartz a formé des équipes avec des personnes spécialisées dans des domaines précis (malware analysis, exploit analysis, …) dans le but d’avoir l’expertise nécessaire pour la création des filtres appliqués sur les données ainsi que les validations.

Il est intéressant de voir comment des entreprises qui ont subis des attaques “APT” changent leur comportement, mais reste à voir comment cela peut se porter à des groupes de plus petite taille ou avec une équipe sécurité plus limitée en taille et/ou ressources.

Papparazi over IP

Les attaques présentées n’avaient rien de nouveau et bien au contraire, elles sont généralement absentes dans les environnements que nous utilisons tous les jours. Daniel Mende démontre ici que ces attaques, même si très simples, sont présentent dans des équipements embarqués high-end comme les EOS 1DX de Canon.

Ces derniers possèdent une interface ethernet et peuvent acceuillir une carte WiFi afin de permettre aux photographes d’uploader leurs photos directement sur un serveur FTP, d’y accéder depuis leur laptop au travers du protocole DLNA, un serveur web embarqué ou encore le client EOS Utility. On voit clairement 2 points critiques avec le FTP non-chiffré et le DLNA qui est un protocole ne demandant aucune authentification. Heureusement, le serveur web utilise des identifiants de sessions de 32bits (environ 20min pour tester toutes les combinaisons sur cet appareil) et le client lourd requière un nom d’hôte (qui n’est pas validé côté serveur) et un secret (qui est broadcasté sur le réseau au démarrage de l’appareil)…

Ce type de vulnérabilités peut avoir un impact critique pour des photographes professionels, comme la suppression de photos, l’ajout de photos comprométentes ou encore la prise de contrôle à distance pour surveiller ce qui se passe dans une pièce. Du chemin reste donc encore à parcourir dans certains domaines pour que le niveau de sécurité rejoigne celui auquel nous sommes habitué sur les OS courants.

Nifty tricks and sage advices for shellcode on embedded devices

En lisant le titre de cette présentation on pourrait penser à une Nième présentation sur l’exploitation sur Android ou le routeur XYZ. C’est sans connaitre Travis Goodspeed qui parle ici de microcontrolleurs de 8, 16 ou 32 bits comme le 8051 d’Intel sans système d’exploitation et avec tout au plus une version limitée de la libc.

Le but ici n’est alors pas forcément d’obtenir une exécution de code, qui pourrait servir par exemple dans le cas où la fonctionalité de mise à jour a été omise, mais l’exploitation d’une vulnérabilité va servir à extraire le contenu de la flash afin d’obtenir le code présent. Les protections rencontrées sur x64/ARM ne sont pas présentent mais remplacées par des limitations de concept comme l’interdiction d’exécution de code depuis la RAM. L’extraction des données peut également posé problème du fait de limitation de taille sur les caches disponibles. Il faut alors faire preuve d’ingéniosité comme par exemple utilisé les ports GPIO des LEDs.

Virtually secure: analysis to remote 0day in an industry leading SSL-VPN appliance

Le contenu de cette conférence n’était pas impressionant (injection SQL sur une page accessible sans authentification), mais le fait d’expliquer les différentes étapes de la recherche de vulnérabilité sur ce type d’équipement ainsi que les problèmes rencontré ainsi que leurs solutions en ont fait une bonne présentation.

Cette présentation permet également de rappeler un point important: bien souvent trop de confiance peut être accordée aux produits de sécurité qui une fois compromis offrent un accès quasi-total au LAN de l’entreprise (dans le cas d’un portail VPN). C’est dans ce type de cas qu’une surveillance comme celle présentée dans la keynote de lancement fait tout son sens.

Page fault liberation army or better security through creative x86 trapping

Excellente présentation de Sergey Bratus et Julian Bangert. Concrêtement l’utilité de leur recherche n’est pas visible, mais le concept est intéressant: construire une machine Turing-complete qui utilise une seule instruction.

Ici, un jeu de la vie complêt (souvenirs d’école d’ingénieur…) a été développé sans écrire une seule instruction assembleur. C’est le mécanisme qui est hardcodé dans la MMU qui est utilisé pour modifier des valeurs en mémoires. L’équivalent d’une instruction est réalisé grâce aux TLBs et le signal d’horloge est simulé par une exception page-fault. Attention, une bonne thermos de café est requise pour la lecture de ces slides 😉

Aircraft hacking: Practical aero series

Un titre de conférence qui fait peur, non sans raisons. Hugo Teso y a présenté les résultats de plus de 3ans de recherches personnelles sur la sécurité des avions. Comme toute attaque, les phases de reconnaissance, exploitation, post-exploitation ont été respectées. La phase de reconnaissance et l’exploitation se passe par les canaux de communication qu’utilisent les avions et les équipes au sol pour communiquer.

Hugo a également présenté son laboratoire monté pour ses recherches, comprenant des systèmes d’entrainement de pilotes ou encore des vraies composants achetés sur des sites d’enchères en ligne.

Les outils d’exploitation et post-exploitation ne fonctionnent que sur la partie virtualisée du lab afin de ne pas permettre à de personnes mal intentionnées de les utiliser. Les autorités Européennes concernées ont également été contacté et les résultats des recherches vont permettre d’améliorer la sécurité via une collaboration de ces instances.

Keynote jour 2 : Rethinking the front lines

Bob Lord (Director of Information Security, Twitter) nous y présente son retour d’expérience sur le thème des sensibilisations utilisateurs dans le contexte de Twitter.

Cet exercice est loin d’être facile du fait des mauvaises habitudes que les employés ont pu prendre par le passé et nécessite ainsi de faire la formation au plus tôt lors de l’arrivée des nouveaux employés et de rendre ça le plus fun possible afin de laisser une trace dans la mémoire des gens. Un suivi constant via différentes statistiques sur le suivi des bonnes pratiques présentées ainsi que des campagnes de phishing lui permette de remettre en question la formation données afin d’avoir au fur et à mesure de meilleurs résultats.

Swiping though modern security features

Nous ne rentrerons pas dans la technique utilisée pour ce jailbreak du fait qu’il est déjà détaillé à différents endroits et les slides seront disponibles sous peu. On retiendra néanmoins que le contournement du mécanisme de Code Signing a été possible sans une seule vulnérabilité mémoire, tout est lié à des erreurs de logiques. La seconde partie est plus complexe mais ne requière qu’une fonction vulnérable, liée à la stack USB, afin d’appeler du code coté kernel (reste à connaitre une adresse intéressante).

Les protections mises en place par Apple sont complexes à contourner, mais il reste certains points non-protégés qui peuvent être utilisés comme rebonds.

Conclusion

En conclusion, cette édition 2013 d’HiTB était très intéresante et d’un bon niveau. On regrettera tout de même les présentations “hardware” qui consistaient, dans les grandes lignes, à exploiter des Linux embarqués comprenant des serveurs web ou des scripts CGI vulnérables, ce qui est connu depuis plusieurs années.