Hackito Ergo Sum, Edition 2015

Hackito Ergo Sum, Edition 2015

Hackito_Ergo_Sum_2015.png

Retour sur l’édition 2015 de la conférence Hackito Ergo Sum qui s’est tenue les 29 et 30 octobre dernier. Vous pourrez retrouver l’ensemble des résumés dans l’édition #43 de l’ActuSécu !

Mind your languages! par Olivier Levillain & Pierre Chifflier (ANSSI)

SLIDES

Olivier et Pierre nous présentent une série de cas particuliers inattendus qui peuvent être rencontrés avec certains langages de programmation. Ce sujet sous-entend nécessairement la question « Quel est le meilleur langage ? ».

En référence aux débats lancés par une conférence précédente sur les différentes lois de programmation militaires, ils commencent leur présentation par « We are not an intelligence Agency, we are the good guys ». Parmi les défauts de logique présentés, on trouve notamment :

  • En JavaScript, qui penserait que « == » renverrait false ;
  • En Shell, qui penserait que « PIN=1234 ; if « A » –ne « $PIN » » pourrait conduire dans la clause else et considérer l’authentification réussie ;
  • En Java, le programme suivant renvoie true puis false, à cause d’un garbage collector pour les 1024 premiers entiers ;
  • En C, qui n’a jamais écrit « = » au lieu de « == » ;
  • En PHP, pour l’expression « $bug = « 2d8 »; ++$bug; ++$bug; ++$bug », la variable bug vaudra successivement 2d9, 2e0, puis 3 ;
  • En Ruby, l’expression suivante aura pour conséquence de supprimer tous les fichiers du serveur : « filename= »|rm –rf / »;open(filename) ».

Mais l’exemple le plus dangereux en terme de sécurité est attribué à PHP. En effet, l’expression « md5(« 240610708 ») == sha1(« badthingsrealmlavznik ») » est vraie !!!

Pour conclure leur exposé, Pierre et Olivier expliquent qu’il n’y a pas de meilleur langage, dans l’absolu. Il faut choisir au cas par cas le langage le plus adapté en fonction du projet à réaliser. Il explique également qu’il est important d’utiliser toutes les aides disponibles pour éviter les comportements inattendus. Par exemple, en C, il est important d’activer tous les messages du compilateur.

Mechanical Locks Opening and Forensic Analysis, par Alexandre TRIFFAULT

SLIDES

Cette conférence était présentée par un expert en lockpicking, c’est-à-dire l’art d’outrepasser les cadenas mécaniques. Celui-ci forme notamment les services gouvernementaux et les serruriers, aussi bien à l’ouverture des serrures, qu’aux méthodes d’analyses des intrusions.

Il a présenté les différentes possibilités permettant d’ouvrir une serrure sans la détruire ainsi que les effets qu’ils produisent sur celle-ci, le tout en direct via un microscope. L’analyse de ces traces peut être utilisée dans le cadre de missions forensics afin de déterminer si quelqu’un a tenté, voire réussi à ouvrir une serrure.

Les méthodes présentées incluaient :

  • le lockpicking à l’aide de crochets, comme dans les films… ou pas ;
  • l’utilisation de bump keys, c’est à dire des clés avec tous les crans ou trous à la profondeur maximale. En utilisant un marteau, on va pouvoir forcer l’ouverture de la serrure ;
  • l’utilisation d’un pick gun, un pistolet de crochetage manuel ou automatique ;
  • l’impression, soit l’utilisation d’une clé vierge pour recréer une clé à partir des marques laissées par la serrure.

Pour chacune de ces méthodes, l’orateur a montré les conséquences visibles sur les serrures lors d’une analyse forensic. Parmi elles, nous avons pu voir des goupilles rayées, ou encore impactées. Ces méthodes sont destructives, il faut donc faire appel à un expert reconnu. Celui-ci devra documenter très minutieusement son travail. Une analyse nécessite plus d’une centaine de photographies.

L’intervenant a par ailleurs indiqué quelques recommandations pour protéger ses serrures :

  • utiliser des clés difficiles à dupliquer ;
  • considérer les clés comme un mot de passe informatique :
  • ne jamais prêter vos clés ;
  • ne jamais montrer vos clés : en quelques instants, ce professionnel est en mesure d’identifier comment est faite la clé pour la reproduire.

De manière préventive, il recommande le recours à un forensics.

The hidden dangers inside the platform, par Mickey Shkatov & Jesse Michael (INTEL)__

SLIDES

Ce talk mené par deux chercheurs Intel nous sensibilise à la grande quantité de processeurs au sein de nos machines. Chacun possédant son propre environnement indépendant, ils sont autant de points d’attaque potentiels. Ces attaques à l’encontre de composants permettent entre autres :

  • la discrétion,
  • la persistance,
  • le contournement de sécurité plus faible,
  • l’interception de données,
  • d’échapper à une machine virtuelle.

Une démonstration d’attaque contre le modem LTE Huawei qui équipe une tablette HP a été présentée. Un logiciel de mise à jour du firmware est disponible pour ce composant. L’analyse des chaines contenues dans l’exécutable révèle directement le mot de passe administrateur du système Android formant le firmware. Enfin, l’installation d’un système d’exploitation non officiel étant uniquement protégée par la vérification d’un CRC, il a donc été facile de compromettre entièrement le modem.

En pratique, son exploitation n’est donc pas aussi compliquée qu’il n’y paraît au premier abord. On peut établir le schéma d’attaque suivant :

  • installation d’un malware par phishing
  • détection de composants vulnérables,
  • compromission de l’un de ces composants.

Enfin, dernier intérêt de cette famille d’attaques : comme bien souvent lors de la diffusion de patchs par des constructeurs tiers, les vulnérabilités restent présentes longtemps après leur découverte puisque les mises à jour ne sont que rarement réalisées sur ce type de composant !

Retrouvez l’intégralité des résumés des conférences dans l’ActuSécu #43 !


Cert-XMCO