juin 2011

SSTIC – Jour 3 (mise à jour 15:45)

Suite de mes notes !

RRABIDS, un système de détection d’intrusion pour les applications Web Ruby on Rails

Romaric Ludinard, Loïc le Hennaf, Eric Totel, Supélec

Projet ANR DALI. Outil Daikon, détecteur d’invariants dynamique. Mais il faut réduire le nombre d’invariants en ne s’intéressant qu’à celles qui dépendent des entrées utilisateurs, grâce à la notion de taint checking (propagation d’une marque apposée). Ensuite, il faut “tisser” dans le code la détection associée à ces invariants. Le coût en nombre de lignes et donc en temps d’exécution est important.

Il leur reste encore à améliorer l’apprentissage (diminution du nombre de faux positifs). Démonstration sur l’application confiée par un client.

Usages offensifs de XSLT

Nicolas Grégoire, Agarri

XSLT réel langage de programmation W3C (permet de transformer automatiquement des structures de données XML en page HTML à partir d’un fichier de transformation). L’objectif des travaux de l’auteur est de découvrir des exploits autour de cette technologie. Ils ont été conduits sur plusieurs moteurs XSLT généralistes et spécifiques. Les risques identifiés sont essentiellement du côté des extensions propriétaires (LibXSLT, Xalan-J et Altova).

Exemples de vulnérabilités: sous libxslt (produits Apple, RIM, distributions Linux à cause du moteur de rendu Webkit et Chrome n’est pas vulnérable), il est possible d’écrire un fichier dans le système attaqué. PHP5 (toujours impacté aujourd’hui).

En résumé, beaucoup de boulot en vue pour les éditeurs d’applications XSLT.

Conférence invitée: Faille de sécurité ou défaut de sécurité

Eric Barbry, Cabinet Alain Bensoussan

Conséquences pénales d’une mauvaise sécurité (article 34 de la loi informatique et libertés). Eric souligne un intérêt croissant de la CNIL pour ces questions. Un guide de la CNIL est disponible ici. Sans oublier les autres obligations (226-22 du code pénal sur la divulgation de données personnelles, 226-13 sur la révélation de secrets).

La victime finale (celle dont les données ont été détournées) est elle victime du professionnel négligent ou de l’auteur de l’intrusion ? Mais pour une affaire comme celle de Sony, les conséquences sont innombrables dans de nombreux domaines (communication et image, remboursements, contrôles. enquêtes…).

Eric évoque ensuite le projet d’ordonnance qui doit implémenter les notifications obligatoires d’incidents de sécurité touchant les opérateurs et d’autres acteurs, mesure issue d’une des directives du Paquet télécoms (on en reparlera). PDF du projet d’ordonnance (voir l’article 38) qui est l’objet actuellement d’une consultation publique.

Typologie des attaques contre nos libertés online

Jérémie Zimmermann, La Quadature du Net

Neutralité du net. Vision d’un Internet comme bien commun. J. Z. définit les attaques comme toute limitation à la possibilité de publier ou d’accéder (aux services, aux contenus,…). Protection des gouvernements autoritaires, protection par les gouvernements des intérêts sectoriels, attaquants purement industriels. Le biais serait parfois législatif ou parfois en contournant les législations. Les vecteurs seraient multiples: inconscient collectif (peurs), complexité et opacité, contournement des chemins traditionnels. Il décrit ensuite des contre-mesures: observer, démontrer.

(Beaucoup d’attaques contre le blocage des sites pédopornographiques, cf. mes articles précédents sur le sujet).

Système de stockage en ligne de photos avec confidentialité des données personnelles

L. Montalvo, S. Defrance, F. Lefebvre, N. Le Scouarnec, P. Perez, Technicolor

La gestion des doublons permettrait d’optimiser le stockage. Confidentialité des données: si l’utilisateur chiffre les informations stockées, l’hébergeur ne pourra pas supprimer les doublons. Le principe du chiffrement convergent est discuté.

Se pose la question de chercher des images similaires, sans avoir accès au contenu chiffré. Les fonctions de hachage classique ne fonctionnent évidemment pas: plutôt fonctions de hachage visuel (empreinte plutôt que digest). Deux grandes classes d’algorithmes sont documents: globales ou locales (+ lentes et robustes contre quasi toutes les distorsions). Elles font un focus sur les points d’intérêt. Si statistiquement le nombre d’empreintes communes entre deux images est important, on dira que les images sont similaires.

Ces fonctions posent deux problèmes: performance et introduction d’une nouvelle faille (sur la confidentialité). Les fonctions les plus efficaces sont les fonctions SIFT classiquement documentées. Toutefois, il est démontré qu’à partir de nombreuses empreintes on peut reconstruire partiellement les images: l’invertibilité n’est pas garantie. On va donc combiner avec la fonction de hachage VLAD (vector of locally aggregated descriptors).

Un framework de fuzzing pour cartes à puces, application au protocole EMV

Julien Lancia (site web), CESTI-SERMA Technologies

EMV est la spécification des cartes bancaires à puce diffusées actuellement. Fuzzing: technique de tests en boîte noire, ici par blocs. Framework Sulley, étendu pour générer des données au modèle EMV, une interface pour les cartes à puce et des spécifications pour la détection d’incidents réussis.

Sulley est dédié au départ au fuzzing de protocoles réseau. Pour la transmission des données, la couche de communication a été remplacée par une API métier TRITON.

Sur 12 produits, 6 ont eu des résultats: anomalies sécuritaires (remise à zéro de compteur avant vérification online) et anomalies fonctionnelles.

Développements futurs: sortir de la spécification stricte, inclusion des spécifications Monéo ou fuzzing des couches basses. Ces techniques pourraient être intégrées en amont au niveau du développement.

Conférence invitée de clôture

Hervé Schauer, HSC

Revue de la philosophie sur le débat liberté-sécurité, repositionné sur la SSI. Constat rétrospectif d’inachèvement: la sécurité aurait peu progressé.

SSTIC – Jour 2 (mise à jour 18:00)

Mes notes de la deuxième journée (ce ne sont que des notes et je prie d’avance les lecteurs de m’excuser si elles ne sont pas claires).

Attaques DMA peer-to-peer et contre-mesures

Fernand Lone-Sang (et Loïc Duflot, Vincent Nicomette, Yves Deswarte)

Il s’agit d’attaques ciblant la mémoire des contrôleurs eux-mêmes et non la mémoire centrale du système. Le contrôleur utilisé pour l’attaque est un contrôleur Firewire. Les tests ont été effectués sur cinq chipsets (Lakeport, Eaglelake et Tylersburg). Noyau d’attaque Linux 64 bits recompilé pour retirer protections sur /dev/mem. dd est ensuite utilisé pour copier la mémoire des contrôleurs. L’architecture de la machine attaquante est classique.

Les chipsets Eaglelake et Lakeport ont des comportements similaires.

Une démonstration a été réalisée pour copier la mémoire de la carte graphique, qui apparaissent quasi en temps réel.

Contre-mesures possibles:

  • I/O MMU (In/Out Memory Management Unit) qui permet de l’isolation entre les régions de mémoire des contrôleurs, restreint l’accès des contrôleurs à leurs domaines respectifs. Implémenté au sein du northbridge dans les chipsets Intel. Certains chipsets AMD intègrent un I/O MMU dans le southbridge.
  • Access control services (ACS): définissent des points de contrôle sur les bus d’E/S. Apparus récemment dans des chipsets Intel x58, désactivés par défaut. Leur activation peut interférer avec certains pilotes de périphériques.

Sticky fingers & KBC Custom Shop

Alexandre Gazet, ESEC Sogeti

De très nombreuses “offres” vendant des mots de passe BIOS “maîtres” qui correspondraient à tel ordinateur. L’orateur découvre dans ses recherches le source d’un générateur de mot de passe correspondant à son ordinateur.

Ses recherches le mènent sur différents forums (mydigitallife.info, csdn.net…) et à adapter Metasm pour prendre en compte le processeur du contrôleur clavier (qui s’avère être un ARCompact).

Cela lui permet d’aller plus loin dans l’analyse du contrôleur de clavier. Il parvient notamment à forcer des mises à jour de la ROM du contrôleur clavier. Il procède ensuite à un débridage de la commande de lecteur pour un accès complet à la ROM et à la RAM du contrôleur clavier, ajouter un loggeur de commandes et une commande d’écriture en RAM.

Il ouvre la voie à l’exécution de code dans le SMM grâce à l’exploitation d’une faille dans le dialogue entre le contrôleur clavier et le handler SMI. Pour la démonstration il parvient à ajouter des fonctions à l’interface 0xB2 pour rendre accessible la SMRAM.

La fonction vulnérable est appelée à chaque démarrage par le BIOS, furtive (tout en mémoire), persistante (même en cas de réinstallation).

“Ça ne sert à rien.”, conclut-il. C’est quand même intéressant de démontrer qu’on peut explorer le fonctionnement des contrôleurs les plus simples et même y découvrir des failles qui ont un impact potentiel sécuritaire sur le fonctionnement central d’un PC et envisager des compromissions en cascade.

Virtualisation d’un poste physique depuis le boot

Stéphane Duverger, EADS Innovation Works

Leçons tirées du développement d’un hyperviseur de type 1 (sans système hôte), Ramooflax. L’objectif de ce travail est d’avoir des méthodes d’observation du fonctionnement d’un OS, y compris d’interagir en direct avec les process en cours (démo de débug en direct avec IDA).

Résultat du challenge SSTIC

Axel Tillequin, EADS, présente sa solution du challenge SSTIC 2011

Attacking and Fixing PKCS#11 Security Tokens with Tookan

Graham Steel (@graham_steel)

Conférence initiale en novembre 2010.

PKCS 11 décrit une interface pour les “tokens” d’authentification (clé USB, carte à puce,…). Les clés sont stockées dans le dispositif, protégées par un PIN.

Explication et démonstration de l’utilisation de Tookan pour tester les vulnérabilités de tels dispositifs de sécurité qui autoriseraient l’accessibilité en clair à des secrets théoriquement protégés dans celui-ci.

Beaucoup de produits ont montré des vulnérabilités (voir le site de Tookan)…

Peut-on éteindre l’Internet?

Stéphane Bortzmeyer (blog, @bortzmeyer)

Méthodes citées:

  • Couper les câbles – coûteux en main-d’oeuvre, réparable, difficile à faire sur une grande échelle
  • Trouver une 0-day, par exemple dans le code d’IOS (Cisco) – mais il faudrait des vulnérabilités multiples (plusieurs équipementiers) et l’attaque impose de ne pas couper l’Internet pour qu’elle puisse se propager
  • Attaque en déni de service – il faut cibler des ressources essentielles (par exemple la racine du DNS)
  • Action autoritaire (exemple de certains pays récemment coupés de l’Internet pendant plusieurs jours)

… facile donc de perturber l’Internet, essentiellement localement et pour un temps finalement assez court.

Pour améliorer la résilience:

  • Repenser Internet? Mais on se heurtera aux mêmes types de défauts intrinsèques aux systèmes complexes.
  • Réglementer?
S. Bortzmeyer croit plus en:
  • La redondance physique (éviter les points de défaillance unique – SPOF);
  • Ecrire des logiciels sans bogues – en tous cas direction à prendre;
  • Coordination des acteurs;
  • Action politique (au sens d’éviter des politiques de censure).

Architecture DNS sécurisée

Guillaume Valadon, Yves-Alexis Perez, ANSSI

Nota: l’ANSSI recrute 🙂

Présentation de DNSSEC (voir aussi article Wikipédia, ou un article précédent de S. Bortzmeyer).

L’enregistrement NSEC (Next SECure) a pour but de signer des enregistrements qui n’existent pas, afin d’éviter des usurpations non signées. La première solution fut d’énumérer ce type d’enregistrements manuellement. NSEC 3 (RFC 5155 ou sur le blog de S. Bortzmeyer)  est une évolution dans laquelle des empreintes cryptographiques sont utilisées à la place des noms.

Rump sessions (extraits)

Billetterie du SSTIC, Nicolas Bareil & Fabrice Desclaux. Signature HMAC-SHA1 du QR Code. Billet produit en Latex/Tikz, généré en Python.

XSS, Erwan Abgrall. Projet ANR DALI. Distinction payload/vecteur. Envisage fingerprinting grâce à ces résultats sans tenir compte du navigateur.

Digital forensics XML, Christophe Grenier. Format créé par Simson Garfinkel simsong@amg.org. Utilisé par scalpel, frag_find, photorec, ewfinfo, md5deep (*deep).

Audits techniques et analyses de risque, Pôle national de compétence SSI Education nationale. Méthodologie maison.

Référentiel d’exigences applicables aux prestataires d’audit de la SSI. ANSSI.

AirScan, Raphaël Rigo. Détecteur de points d’accès Wifi sous Nintendo DS. http://syscall.eu/

Orchids IDS opensource – http://www.lsv.ens-cachan.fr/orchids/

Incident response methodology, Jean-Philippe Teissier, CertSG.

Hack de couteau suisse USB auto-destructeur. 🙂

DGA/MI recrute aussi.

Usages offensifs de XSLT, Nicolas “Nicob” Grégoire.

Lancement du projet 2CENTRE

Mardi 31 mai, se tenait le lancement du projet 2CENTRE visant à la création d’un réseau de centres d’excellence pour la formation et la recherche contre la cybercriminalité. L’événement s’est déroulé en duplex entre Paris et Dublin où avait lieu une conférence organisée par nos partenaires irlandais de l’UCD.

La naissance du projet

Le projet a germé voilà trois ans déjà, et sa première étape fut un rapport rédigé par Nigel Jones et Cormac Callanan à partir des contributions des différentes partenaires potentiels (télécharger le PDF ici). Il s’agissait de donner une dimension opérationnelle aux travaux menés par le groupe de travail européen sur la formation en cybercriminalité (ECTEG), c’est-à-dire des espaces où pourraient effectivement se développer et être délivrées les formations pensées à l’ECTEG, dans un esprit de partage et aussi avec le souci de ne pas former uniquement les services de police mais aussi l’ensemble de nos partenaires. Le projet qui comporte bien évidemment une dimension de recherche scientifique pour soutenir la formation a pour ambition d’associer à chaque fois l’ensemble des parties intéressées autour d’un partenariat fort: universités/établissements d’enseignement, services de police, industriels concernés.

La première étape

La première étape a consisté, avec le support de la Commission Européenne, à identifier les premiers pays où la création de tels centres était possible rapidement et d’initier une structure permettant de les mettre en réseau.

En France, nous avons rassemblé au cours de deux réunions, l’ensemble des partenaires potentiels, auxquels le projet a été expliqué et une première équipe a été constituée pour présenter un dossier en vue d’un financement européen.

Ainsi, dans un premier temps, la France et l’Irlande se sont associées pour profiter de la dynamique qui y préexiste. C’est le projet que nous lancions mardi et qui comporte trois composantes principales:

Dès le mois de janvier 2010 nous recevions le feu vert du programme ISEC (Prévention du crime et lutte contre la criminalité) de la Commission Européenne.
Dans un temps très proche, la Belgique a initié un projet frère le B-CCENTRE dont le lancement s’est tenu la semaine dernière et l’Estonie ne devrait pas tarder à suivre, comme de nombreux autres projets qui commencent à émerger en Europe et peut-être dans d’autres régions du Monde.

Le contenu du projet de centre français

Le projet de centre français rassemble déjà de nombreux partenaires: l’université de technologie de Troyes, l’université de Montpellier, la gendarmerie et la police nationales, les sociétés Thalès et Microsoft France. Orange France soutient financièrement l’initiative.

La première activité consistera, autour de ce premier noyau, à créer concrètement le centre français. Sa particularité est qu’il s’agira de mettre en réseau l’ensemble des parties prenantes qui partagent avec nous le même objectif de contribuer à la lutte contre la cybercriminalité par la recherche et la formation. Donc seront amenés à nous rejoindre, au cours des prochains mois d’autres partenaires académiques, industriels et services d’enquête spécialisés.

Deux séries d’activités concrètes couvrent ensuite les aspects de formation et de recherche:

  • une formation en ligne pour les premiers intervenants: il s’agit d’offrir un module d’initiation à la cybercriminalité aux policiers et gendarmes, notamment ceux qui accueillent le public et donc reçoivent les premières plaintes et mènent les premiers actes d’investigation;
  • un module de formation en ligne sur l’analyse des systèmes Windows 7 pour les enquêteurs: au-delà de ce premier projet il s’agit de tester en grandeur réelle ce type d’outil de formation permettant la mise à jour des compétences des enquêteurs spécialisés;
  • l’amélioration et la formalisation des enseignements existant pour les enquêteurs spécialisés: l’objectif est de consolider les formations existantes et éventuellement de partager certains de ces modules clés en mains avec des pays partenaires;
  • un projet de recherche sur la détection distribuée d’intrusions sur les réseaux;
  • une étude sur les besoins en formation, notamment pour identifier les besoins des entreprises (petites et grandes) et en particulier les acteurs qui sont en premier en contact avec les services d’enquête spécialisés (prestataires Internet, fournisseurs d’accès, opérateurs), qu’il s’agisse de proposer des cahiers des charges pour la formation continue ou d’inciter les formations existantes (notamment d’ingénieurs en informatique ou en sécurité des systèmes d’information) à inclure des modules sur l’investigation numérique et le lien avec l’enquête judiciaire;
  • l’animation d’une communauté francophone pour le développement d’outils d’analyse forensique (au départ autour des systèmes de fichiers), avec la volonté de contribuer activement à l’opensource dans ce domaine;
  • la création d’outils de sensibilisation pour les petites entreprises;
  • l’évaluation de modules de formation européens préexistants (certains modules déjà développés, notamment dans le cadre d’ECTEG, doivent être évalués selon des standards académiques).
Bien entendu, ce n’est qu’une première étape et d’autres projets verront le jour. Ils recevront l’appui du centre français, et seront initiés par ses membres actuels ou par de futurs partenaires.
***
Rendez-vous donc dans les mois qui viennent pour les premiers résultats de ce projet et un grand merci à l’ensemble de ceux qui y contribuent déjà ou par avance à ceux qui nous soutiendront dans le futur.
[twitter-follow screen_name=’ericfreyss’ show_count=’yes’]