Compte-rendu de la conférence sécurité INSA-2015
Date : 07 Janvier 2015
Le 22 janvier 2015 s’est déroulée la 2eme édition de la conférence sécurité organisée par l’INSA de Toulouse et le LAAS-CNRS. Sept présentations ont été faites ce jour là (le programme est disponible ici) sur des sujets comme le vote électronique, les vulnérabilités des objets connectés ou la sécurité produit chez Airbus. Les présentations étaient en majorité techniques. Nous ci-dessous un résumé de cette journée.
E2E Verifiable Voting Systems, Theory to Practice
Par: Peter Y A Ryan (University of Luxembourg).
L'orateur présente un nouveau système de vote électronique appelé "Prêt à Voter" et analyse de son utilisation lors des élections de l'état de Victoria en Australie.
Les principes de ce système sont un mixte entre un système de vote classique (bulletin papier, isoloir, ...) et un système électronique (scanner, système informatique, cryptographie, ...), et repose sur les principes suivants :
- un bulletin de vote papier en deux parties est généré par le système informatique : la première contenant la liste des candidats dans un tableau ordonné aléatoirement sur chaque bulletin, la deuxième contenant le même tableau vide dans lequel le votant mettra une (ou plusieurs) croix en face du (des) candidat(s) de son choix, le bulletin étant identifié par un même code unique (Qr-code),
- le votant détruit la 1ere partie du bulletin (contenant la liste des candidats en clair) et scanne la deuxième partie (contenant son choix),
- le système fournit au votant un récépissé lui permettant plus tard de s'assurer que son vote a bien été pris en compte par le système,
- le vote est stocké dans le système informatique et chiffré.
Les enjeux (secret, vérification, comptage, absence de fraudes, etc ...) de ce système sont les mêmes que le système classique de vote, mais son principal apport est qu’il permet une vérifiabilité à postériori (mon vote a-t-il été bien pris en compte ?) grâce au QR-code du récépissé. Il permet également de fournir la puissance d'un système informatique pour compter et publier les résultats.
Ce système a été expérimenté lors d’un vote en Australie. Cependant cette expérimentation apparait mitigée car l'un des principaux intérêts du système, la vérifiabilité bout-en-bout du vote, n'a pas été conservée par les officiels lors de cette élection.
L'orateur a terminé sur les challenges principaux que le système "Prêt à voter" doit relever, et notamment celui de convaincre les parties prenantes (candidats, officiels de l'élection, votant, ...) des améliorations apportées par ce système électronique, et de lui faire confiance.
A propos de "Prêt à voter":
http://www.pretavoter.com/index.php
http://www.pretavoter.com/publications/PretaVoter2010.pdf
Internet des objets (non sécurisés)
Par : Aurélien Francillon (Maître de conférences à l'institut Eurécom, Sophia Antipolis).
L’intervenant présente un projet d’audit de sécurité des firmwares (micrologiciel ou logiciel embarqué) qui sont intégrés dans divers équipements ou objets : ordinateur, disque dur, appareil photo, clef USB, automate, télévision, montre, GPS, voiture, etc. Ces firmwares sont stockés dans la mémoire persistante des systèmes électroniques et contiennent des instructions et des données.
L’objectif de cette analyse a porté sur la recherche de failles de sécurité communes entre les différents équipements. Pour cela, plus de 30 000 firmwares ont été téléchargés sur différents supports et formats. Une fois les firmwares extraits de leurs supports physiques (cdrom, disquette, clef USB…) ou logiques (fichier exe, zip, js…) ils sont analysés selon 2 approches :
a) L’analyse statique :
- Recherche de similitudes de codes par la méthode de comparaison « fuzzy hashing » qui retourne un pourcentage de codes similaires. Un vecteur d’attaque connu sur un firmware peut être réalisé sur un firmware ayant du code similaire.
- Recherche de certificats connus dans les firmwares. Des sites répertorient les certificats et leurs clefs.
- Recherche de mot spécifiques ( password, backdor…) qui permettent de trouver facilement des failles de sécurité.
- Recherche des environnements de développement utilisés pour la création des firmwares. On retrouve des firmwares compilés avec des JDK, librairies ou compilateurs obsolètes.
b) L’analyse dynamique :
- Il existe des projets open sources (gxemul ou skyeye) qui permettent d’interagir avec un équipement ou un firmware. Ces simulateurs arrivent facilement à faire passer les phases d’initialisation des firmwares afin de trouver des vecteurs d’attaques.
La plupart des firmwares analysés possèdent des failles de sécurité, exceptées les cartes à puces qui sont peu vulnérables. Avec le développement de l’internet des objets, ces firmwares sont de plus en plus connectés sur les réseaux privés, et donc exposés de plus en plus à des problèmes de sécurité.
IRMA - solution open-source d'analyse de malwares
Par : Alexandre Quint (ingénieur chez QuarksLab)
L’orateur a présenté l’application IRMA (Incident Response & Malware Analysis) qui est un système complet d'analyse open-source pour un ou plusieurs fichiers. L’analyse est réalisée en utilisant différents moteurs d’anti-virus sous Windows (GDATA, Kapersky, McAfee, Sophos, Symantec) et sous Linux (Clamav, Comodo, Eset, Fprot, McAfee).
La particularité d'IRMA est d'être une solution pouvant fonctionner hors-ligne en laissant l'utilisateur héberger le système complet sur son réseau. Cela lui permet ainsi, de maîtriser son fonctionnement et de l'adapter à ses besoins.
L’application IRMA est architecturée en trois niveaux :
- L’interface Web qui permet à l’utilisateur de télécharger les fichiers à analyser afin de les envoyer au « dispatcher », et d’afficher les résultats des analyses.
- Le dispatcher qui reçoit les fichiers de l’interface Web, les transmet aux différents modules d’analyses, puis remonte les résultats à l’interface Web.
- Les modules d’analyses qui sont réalisés à partir des moteurs d’anti-virus (un module par anti-virus).
L’orateur a ensuite expliqué la solution adoptée pour l'installation (mise à jour des anti-virus lors de l’installation uniquement), et la discussion a porté enfin sur les possibilités d'extension du système (développement de modules d’analyses spécifiques).
Product Security in Airbus Group
Par : Pascal Andréi (Executive Expert and Corporate Product Security Officer for Airbus Group)
L’orateur a présenté son métier au sein du groupe Airbus. Airbus Group a décidé de mettre en place une organisation dédiée à la sureté (cf. le nota ci-dessous) des produits. Cette organisation s'assure de la prise en compte de la sureté lors des phases initiales de la conception des avions jusqu'au maintien des flottes en condition de sûreté nominale. C’est ce métier du Corporate Product Security Office qui organise la sureté de l'ensemble des produits du Groupe (Airbus, Airbus Defense & Space et Airbus Helicopters). Son rôle est de garantir l’activité d’Airbus dans une démarche d’amélioration continue, et de mettre en place un travail collaboratif entre Airbus Group et les différentes divisions. Pour cela la méthode qualité PDCA (Plan Do Check Act) a été mise en place.
La sureté du transport aérien a été fortement modifiée suite à deux évènements majeurs : les évènements du 11 septembre 2001 et la montée de la cyber menace. Depuis, la sureté est devenue un critère majeur, elle adresse les problématiques de sûreté physique (détournements, bombes à bord..) ainsi que les menaces informatiques. Ces dernières ne cessant de croitre suite à l’augmentation de la connectivité dans les avions en réponse à une demande croissante de la connectivité des passagers, et à l’augmentation des échanges de données entre le sol et les avions pour une meilleure prédiction et réactivité.
Nota : Dans le contexte aéronautique on parle de "sureté" ("security" en anglais) pour la protection des avions contre les attaques volontaires, et de "sécurité" ("safety" en anglais) pour ce qui touche à la fiabilité des avions (protection contre le risque accidentel).
Rétrospective de 7 années de recherche de vulnérabilités dans les cartes à puces
Par : Jean-Louis Lanet (Professeur, INRIA Bretagne Atlantique).
Le professeur présente les différents axes de recherche de vulnérabilités sur les cartes à puces. Ses étudiants ont pu démontrer que des failles de sécurités existaient sur les cartes à puces basées sur le système d’exploitation Java Card. Ces Java Card sont apparues en 1996 et sont utilisées dans des domaines aussi différents que les cartes SIM, cartes bancaires ou cartes d’accès.
Les attaques présentées sont connues sous le nom d’attaque d’EMAN et nous les avons déjà évoquées dans nos comptes rendus pour les conférences SSTIC-2009 et SSTIC-2014. Il existe deux axes d’attaques pour ces cartes à puces. Les attaques physiques, qui sont menées sur la puce en tant que composant électronique. Ces attaques sont très coûteuses et difficiles à mettre en place parce qu’elles sont réalisées avec du matériel spécifique (laser, appareil de mesure, etc.). Les attaques logicielles, sont plus facile à mettre en place mais passent par l’extraction du code binaire de la machine virtuelle (VM), et l'analyse de celui-ci. Les failles trouvées ont permis aux étudiants :
- De prendre illégalement connaissance d'informations confidentielles,
- De porter atteinte à l'intégrité de données,
- D’exécuter du code arbitraire.
Ces failles ont systématiquement été communiquées aux industriels et organismes bancaires avant d’être publiées sur le domaine public. Dans le milieu très confidentiel de la Java Card, les industriels ne publient pas les avis, les spécifications, le détail du code ou des données embarquées, mais les nouvelles versions de Java Card ont toujours corrigées les failles publiées. Il a été constaté que les développeurs des nouvelles versions de la Java Card gardent ainsi une longueur d’avance sur les découvreurs de failles.
Security features in the OpenBSD operating system
Par : Matthieu Herrb (LAAS-CNRS).
L'intervenant fait partie de l'équipe de développement de ce système qui est né d'une scission (en 1994) dans l'équipe de développement du projet NetBSD. Il a présenté les principales fonctionnalités qui rendent ce système "secure by default".
Ce projet, qui fait partie de la famille des systèmes d'exploitation Unix libre dérivés de BSD 4.4, se présente comme un système d'exploitation orienté sécurité. Cette volonté d'être sécurisé passe par le développement et la mise en place d'un certain nombre de fonctionnalités et de mécanismes de sécurité, mais également par l'abandon de fonctionnalités "insecure" :
- amélioration et augmentation de l'utilisation de la génération de nombres aléatoires (PID, thread, allocation mémoire, ...),
- amélioration des mécanismes de protection des données en mémoire ("W^X" : une page mémoire peut être accessible ou en écriture, ou en exécution, mais pas les 2 simultanément, "PIE" : les programmes sont compilés avec randomisation de la position de l'exécutable en mémoire, "stack protector Canary" : placement d'un entier randomisé - le canari - en mémoire derrière la pile pour se protéger des débordements mémoires),
- remplacement d'OpenSSL (récemment mis en lumière pour ces nombreuses vulnérabilités) par LibreSSL,
- meilleure gestion des privilèges (réduction, séparation),
- développement d'une nouvelle API LibTLS,
- abandon de Kerberos (vulnérable et difficile à maintenir).
L'orateur termine son exposé par un bilan basé sur :
- les nombreuses améliorations et corrections d'anomalie de la nouvelle version parue au mois de novembre 2014 : OpenBSD v5.6,
- de nombreux problèmes encore en attente (notamment le remplacement de Kerberos ou une reprise de celui-ci ?).
Des liens:
http://www.openbsd-france.org/
http://www.openbsd.org/papers/
Conclusion
Cette journée de conférence a pour vocation de réunir étudiants, universitaires et industriels sur le sujet de la sécurité informatique. 150 personnes étaient présentes cette année, ce qui constitue une bonne réussite. Nous ne pouvons donc qu’espérer que l’événement se pérennise et qu’il ait lieu chaque année.