O.S.C.A.R. ou Optimisation de la Sécurité du Cloud par l’Analyse de Risques

Depuis sa création, Internet n’a cessé de se développer, proposant toujours plus de solutions pour les professionnels. Aujourd’hui, c’est l’ère du Cloud : un concept récent permettant aux entreprises d’externaliser tout ou partie de leur SI, aussi bien physique (solution IaaS – Infrastructure as a Service) que logique (solutions PaaS – Platform as a Service et SaaS – Software as a Service).

Malgré l’engouement des professionnels pour le Cloud Computing, ces derniers restent réticents à l’idée de migrer, ne serait-ce qu’une partie de leur SI, dans le Cloud. En effet, la jeunesse du Cloud Computing implique des zones d’ombre encore trop importantes pour les entreprises. Dans le cas des entreprises françaises interrogées par Pierre Audoin Consultants, le premier frein au déploiement du Cloud est la Sécurité/confidentialité.

Freins et Inhibiteurs en France

Enquête Pierre Audoin Consultants pour EMC, Intel, VmWare, 2010

En approfondissant cette analyse des facteurs pouvant freiner la migration vers une ou plusieurs solutions Cloud, on constate, en réalité, une réserve sur tous les domaines de la sécurité (disponibilité, intégrité, confidentialité, traçabilité) et sur des thématiques aussi variées que les aspects techniques, juridiques et organisationnels.

Freins et inquietudes face au Cloud

D’après CRIP (panel des entreprises membres du CRIP réparties en 4 grands secteurs distincts : banques/assurances, industries et services/grande distribution, télécommunication, secteurs/Ministères/Armées)

L’offre O.S.C.A.R. a été pensée pour répondre à cette problématique.

O.S.C.A.R. ou Optimisation de la Sécurité du Cloud par l’Analyse de Risques, est une démarche qui s’appuie sur un outil d’aide à la décision offrant une maîtrise globale et systématique des risques liés au Cloud. Elle permet de garder le contrôle de son SI et notamment de ses composantes externalisées à travers le Cloud, en s’appuyant sur une analyse en quatre étapes :

  • étape 1 : Evaluation des besoins métiers et contexte de services Cloud,
  • étape 2 : Analyse de risques (identification des risques, évaluation des risques bruts, traitement des risques, évaluation des risques résiduels),
  • étape 3 : Evaluation des coûts de mise en œuvre des mesures de traitement des risques,
  • étape 4 : Plan d’action ou livrable de la prestation.

L’engouement pour le Cloud est en grande partie lié aux différents modèles de fourniture de service associés permettant d’optimiser ses coûts (par exemple avec la mutualisation des ressources entraînant une réduction des coûts liés aux investissements, à l’administration des ressources, à la consommation énergétique,…). La démarche O.S.C.A.R. doit alors s’adapter à ce contexte de réduction des coûts en proposant une analyse de risques courte et répondant à tout public (métier, DSI, etc.). O.S.C.A.R. est donc doté d’un référentiel de risques auquel sont associés une base de vulnérabilités et d’actifs impactés, permettant de passer l’étape d’identification des risques. Ces risques ont été identifiés à travers l’étude de nombreux référentiels (ENISA – « Cloud Computing Security Risk Assessment », ISO 27005 – « Information technology – Security techniques – Information security risk management », CSA – « Security guidance for critrical areas of focus in Cloud Computing » et « Top threats to Cloud Computing ») et la réalisation de brainstorming. Ils sont classés en 4 thématiques (Politique & Organisationnel, Technique, Juridique & Réglementaire, Physique) et sont représentatifs des préoccupations métiers et techniques sans pour autant entrer dans un niveau de détails inexploitable et chronophage.  De plus, compte-tenu de l’objectif d’efficacité et de simplicité identifié préalablement, O.S.C.A.R. est en cours d’intégration dans un outil pour industrialiser le déroulement de la méthode.

1 Star2 Stars3 Stars4 Stars5 Stars (3 votes)
Loading ... Loading ...

, ,

Comments (0)

Hackito Ergo Sum 2012 – Jour 3

Keynote #3 – Marc “van Hauser” Heuse

Marc est connu pour le développement d’outils comme THC Hydra ainsi que pour son travail sur l’IPv6.

Jonathan Brossard introduit la conférence en le remerciant chaleureusement d’être revenu après le manque de qualité de son hébergement de l’année précédente. Il s’est également excusé de lui avoir donné un aussi mauvais horaire de présentation, la fête du soir précédent ayant entraîné des pannes de réveil. Ce à quoi Marc a tout simplement répondu qu’il prenait l’horaire comme un compliment “Only you can bring the guys so early after the party!”.

Bien qu’étant connu comme un bon technicien, Marc nous annonce avec humour qu’en prenant de l’âge, il n’a plus le temps ni l’énergie pour la technique, c’est pourquoi il a commencé à faire des Keynotes.

Pour cette Keynote, il nous retrace le parcours qui l’a amené à la sécurité informatique. Tout d’abord, attiré par les mathématiques, il s’en est désintéressé quand il a remarqué que la plupart des bons mathématiciens finissaient par travailler dans des secteurs militaires comme la balistique. C’est pourquoi il s’est tourné vers l’informatique, car il se refuse à participer à des projets qui nuisent à d’autres personnes.

Après une légère digression pour nous expliquer que maintenant les ordinateurs sont partout, de nos téléphones à des éléments de santé, comme une pompe à insuline Bluetooth en passant par des réfrigérateurs et des voitures connectés, Marc explique que, finalement, les meilleurs informaticiens -tout comme les mathématiciens- intéressent principalement les militaires et les services secrets.

L’objectif de ce cheminement était de nous faire prendre conscience que les « cyberguerres » deviennent de plus en plus des armes dans les guerres traditionnelles. Devant cet état de fait, il est important de connaître tous les tenants et aboutissants des analyses qui peuvent nous amener à créer des exploits qui pourraient servir dans une guerre, car une fois les choix faits, il faut vivre avec.

Enfin, il conclut par : “Open your eyes and choose wisely”.

Recent Advances in IPv6 Security – Fernando Gont

Marc, le speaker de la présentation précédente, se charge de l’introduction de Fernando en expliquant que depuis quelques années, il se charge de réaliser des attaques sur l’IPv6 tandis que Marc s’occupe de sécuriser les différents aspects du protocole.

Après cette inhabituelle introduction, Fernando commence sa présentation par les constats suivants : peu de personnes travaillent sur l’IPv6, le plus gros du travail la concernant reste donc à faire.

Ensuite, Fernando nous propose trois options possibles quant aux vulnérabilités en général. En premier lieu, il y a la politique de l’autruche, ensuite il est toujours possible de se pendre et, finalement, on peut quand même se prémunir contre les attaques. Fernando ayant choisi la troisième option, il commence par nous présenter les différentes vulnérabilités découvertes dans le protocole ou dans les différentes implémentations.

La première vulnérabilité présentée concerne les adresses IPv6, plus précisément les 64 derniers bits correspondant à l’identifiant de la machine. En effet, dans la RFC originale, ces 64 bits correspondaient à l’adresse MAC. Cette méthode avait l’avantage de permettre d’obtenir facilement une adresse IPv6 unique, mais cela contribue à réduire la complexité des scans à celle du scan d’une classe A en IPv4. D’autre part, si une machine change de réseau, son identifiant d’interface ne change pas. La solution au problème, soumise par Fernando, est d’utiliser une fonction de « Hashage » prenant en paramètre le préfixe, l’adresse MAC, un identifiant de réseau et un secret. Cette solution protège contre le scanning et rend le tracking plus complexe.

Parmi les vulnérabilités présentées, on peut trouver : les implémentations de la fragmentation qui sont prédictibles et permettent de réaliser de l’Idle scan, la gestion de l’Overlapping, la gestion des fragments atomiques…

Fernando aborde ensuite le sujet des firewalls et nous explique qu’ils sont actuellement inefficaces à cause de la fragmentation qui ne leur permet pas d’avoir un header complet, c’est pourquoi la non fragmentation des headers est en cours d’étude.

D’autre part, le manque de maîtrise de l’IPv6 a permis l’élaboration par THC d’un outil qui envoie des paquets avec des options inexistantes et utilise les retours d’erreurs pour réaliser un scan très efficace.

Pour conclure, le niveau de sécurité de l’IPv6 est équivalent à celui de l’IPv4 il y a 30 ans et certains constructeurs s’en préoccupent peu. Ce manque de considération rend très lente la publication de RFC. « Pour publier des RFC, il faut avoir des enfants qui prendront le relai… ».

Decomposing the Network to perform Attack Planning under Uncertainty – Carlos Sarraute

Dès la présentation très brève de son curriculum vitae, nous savons que nous allons avoir droit à une présentation technique portée sur l’application des mathématiques à la planification des attaques. En effet, Carlos Sarraute possède en plus de son PhD en Ingénierie Informatique, un Master of Science en mathématiques pures.

Cependant, Carlos décide de commencer son exposé en nous rappelant certaines bases et certaines terminologies afin que nous soyons sur la même longueur d’onde pendant toute sa présentation. Qu’est-ce que le pentest ? Quels sont les outils actuels utilisés ? Comment procède-t-on ? Ce sont des questions sur lesquelles il donnera son point de vue, en l’illustrant d’un cas d’attaque assez simple.

Nous entrons ensuite dans le vif du sujet : que peut-on mesurer lors d’un pentest ? Et comment utiliser ces mesures/ces statistiques, pour mieux préparer/planifier nos pentests ?

Le temps moyen, la probabilité de succès, le trafic généré, l’interaction utilisateur, sont autant de facteurs que l’on peut prendre en compte pour établir des statistiques sur nos pentests. En effet, il est logique de choisir un exploit donnant un résultat positif à 80% en 4 secondes, qu’un exploit ne donnant que 70% de succès en deux fois plus de temps. Cependant, comment réagir lorsque cette logique n’est pas aussi simple, que faire ? Que choisir ?

La partie technique fait son entrée. Carlos nous explique que grâce aux récoltes d’informations, et à la mise en place des statistiques, suite aux tests réalisés par plus de 700 machines virtuelles sur tout type d’OS, version, matériel, etc., il est possible d’établir un plan de pentest ayant les plus fortes probabilités de réussir suivant les parties que l’on veut tester, et ce, suivant les résultats obtenus, grâce à quelques formules de math bien senties.

Son framework permettrait donc d’établir un arbre non déterministe d’actions à effectuer sur la machine afin d’éprouver les parties souhaitées, en utilisant pour y parvenir les exploits les mieux adaptés. Cela permet d’effectuer un travail générique ajusté à la machine attaquée tout en gardant une optimisation des tests effectués.

Modern Webapp Hacking or how to kill a Bounty Program – Itzhak (Zuk) Avraham & Nir Goldshlager

Itzhak Avraham et Nir Goldshlager se présentent comme des chasseurs de bugs. Le programme de « chasseur de bugs », organisé par certaines grandes entreprises, encourage et récompense les personnes qui identifient les bugs inconnus dans leurs logiciels. Ce programme est un des moyens proposés pour sécuriser les logiciels.

Avant de décrire leurs exploits, les speakers expliquent leur motivation pour chasser les bugs chez Facebook ou encore Google. Il est question d’argent et de gloire, mais plus de gloire précisent-ils, car les récompenses pour les bugs ne permettent pas de gagner des fortunes.

Le premier programme a été lancé en 1995 par la société Netscape. Google et Facebook s’y sont lancés en 2010 et 2011 respectivement.

La méthode des chasseurs de bugs consiste à consulter régulièrement les blogs à la recherche de nouvelles vulnérabilités et de tester les nouvelles fonctionnalités mises en place dans les applications.

Les speakers nous présentent certains de leurs exploits sur les applications de Google.

La fonction de suppression de calendrier Google était vulnérable à une injection XSS. S’il était possible de supprimer son propre calendrier, il fallait rejouer l’attaque par un autre utilisateur. Or  Google ne demande aucune confirmation à l’utilisateur lorsque quelqu’un partage avec lui son calendrier. La solution était de partager son calendrier avec la victime, qui allait supprimer le calendrier en trop, tout en exécutant l’injection XSS sur son poste.

Une autre vulnérabilité décrite était similaire à la précédente, elle a été retrouvée dans l’application Google Friend. L’attaquant envoie à la victime une invitation, se faisant passer par une « jeune et jolie dame » afin d’avoir plus de chance de se faire accepter. Le but était ensuite de faire supprimer par la victime son profil de la liste des amis. L’attaquant allait changer son nom, par exemple, par «AAAAAA…AAAAAAAA »<XSS>. Lorsque la victime supprime le compte, l’injection s’active sur son poste.

Un autre bug a été retrouvé dans Google Analytics : un attaquant pouvait envoyer un code XSS à l’administrateur via une URL. L’administrateur de Google pouvait recevoir l’information sur l’erreur produite sur l’application avec l’URL de la page contenant le code malveillant. Cette technique permettait de voler les identifiants de l’administrateur lors de sa connexion.

D’autres exemples ont été présentés : vulnérabilités permettant d’accéder au contenu protégé des utilisateurs de Google Knol via la fonctionnalité de traduction de Google ; ou encore des vulnérabilités sur le site Blogger permettant à un attaquant de devenir administrateur de blogs en modifiant tout simplement l’ID de l’utilisateur dans les requêtes.

Les speakers ont démontré comment des techniques basiques, telles qu’une injection XSS, permettent une élévation de privilèges et accès à des données d’autres utilisateurs et comment leur travail contribue à la sécurité des applications utilisées quotidiennement par des millions de personnes.

Easy Local Windows Kernel Exploitation – Cesar Cerrudo

Tout est dans le dans le titre, en effet le mot “Easy” résume bien l’objectif de la présentation de Cesar Cerrudo. Ce dernier a mis en évidence différentes techniques d’exploitation « simples » visant une élévation de privilèges au niveau des systèmes Windows.

Cesar Cerrudo part de la constatation suivante : l’exploitation Windows reste un « art obscure » et la majorité des codes d’exploitation publiés ne sont pas fiables.

S’ajoutent à cette constatation diverses contraintes rendant l’exploitation encore plus complexe. En effet, lors de l’élaboration d’un “exploit” au niveau du noyau Windows, une erreur d’adresse peut générer des erreurs lourdes et impossibles à analyser.

Les travaux de Cesar Cerrudo s’inspirent essentiellement du papier de “J00ru : GDT and LDT In Windows Kernel”. Ce dernier met en évidence une API Windows permettant de faciliter le processus d’exploitation en mode noyau. Cette API (NtQuerySystemInformation) permet de récupérer l’adresse de la structure KPROCESS et retourne la structure suivante :

struct_SYSTEM_HANDLE_TABLE_ENTRY_INFO {

USHORT ProcessId

….

PVOID Object // Kernel address

}

Une fois les informations sur le noyau Windows obtenues, que peut-on effectuer comme action permettant une élévation de privilèges ? Cesar Cerrudo nous propose ainsi de :

  • Supprimer les ACL sur un objet (processus, thread…) Windows ;
  • Positionner un privilège quelconque sur un jeton d’un objet Windows ;
  • Remplacer le jeton d’un processus.

À ce stade, Cesar Cerrudo nous indique que généralement les attaquants sont toujours à la recherche d’un shell système alors que les actions listées ci-dessus sont facilement réalisables, une fois la faille identifiée. Cela est dû essentiellement au nombre d’instructions machines minimes nécessaires à l’exécution des actions ci-dessus. Ensuite, Cesar Cerrudo nous a détaillé chacune des techniques en présentant à chaque fois un mode opératoire. Il est ainsi possible de citer :

Manipulation des ACL sur les objets Windows :

La structure utilisée dans ce cas est la suivante :

kd> dt nt!_Object_HEADER

0×000 PoinbterCount : INT 4B

…..

0×014 SecurityDescriptor : ptr32 (informations sur les ACL, si ce paramètre pointe vers “NULL”, l’objet se trouve démuni de ses ACL).

0×018 Body

L’algorithme d’exploitation se décline comme suit :

  • Récupérer l’adresse noyau de l’objet cible (processus, thread,…) en utilisant l’API NtQuerySystemInformation ;
  • Écrire la valeur NULL à l’adresse [Adresse de l'objet cible -0x14] ;
  • Manipuler l’objet cible.

Manipulation des privilèges des jetons (Windows >Vista) :

La structure utilisée dans ce cas est la suivante :

Typdef struct_TOKEN

{

typedef struct_SEP_TOKEN_PRIVILEGES

{

UINT64 Present

UINT64 ENABLED;

Dans ce cas, le code d’exploitation devra écrire des “1111″ dans le champ “ENABLED” de la structure ci-dessus.

Manipulation des privilèges des jetons (Windows XP et Windows 2003) :

kd>dt_TOKEN

+0×000 TokenSource      : _TOKEN_SOURCE

+0×010 TokenId          : _LUID

Les différents privilèges offerts par Windows :

  • Déboguer les programmes ;
  • “Take ownership” ;
  • Restaurer les fichiers et les répertoires ;

Dépersonnaliser un client après l’authentification ;

  • Charger les pilotes ;
  • Créer un objet de type jeton ;
  • Agir comme une partie du système d’exploitation.

Ainsi, l’algorithme d’exploitation se décline comme suit :

  • Récupérer le jeton primaire d’un processus, puis récupérer son adresse au niveau du noyau en utilisant l’API NtquerySystemInformation ;
  • Écrire la valeur 0xFFFFFFFF (ou la valeur souhaitée correspondant à un privilège spécifique) à l’offset 0×48 (ou 0×14 pour Win XP).

Pour illustrer cette technique, Cesar Cerrudo nous a présenté une démonstration en se basant sur l’exploit de Tarjei Mandt.

Manipulation du jeton primaire d’un processus :

La structure utilisée dans ce cas est la suivante :

Typdef struct_EPROCESS (Win 7)

{

Struct_EX_FAST_REF Token;

kd>dt nt!_Object_HEADER

+x000 PointerCont   : Int4B

Le but, cette fois-ci, est de remplacer le jeton primaire d’un objet par celui d’un processus ayant l’identité system en « hookant » l’appel de l’API NtOpenThreadToken et appelant la fonction MsiInstallProduct.

Pour conclure, Cesar Cerrudo nous rappelle que l’utilisation de l’API NtQuerySystemInformation rend l’exploitation de vulnérabilités Windows plus facile.

À mon avis, l’auditoire a apprécié cette conférence étant donné son niveau technique et l’habilité de Cesar Cerrudo à faire passer ses idées clairement et simplement.

Yo Dawg, I Heard You Like Reversing… – Aaron Portnoy, Brandon Edwards

L’équipe de ZDI nous a impressionnés encore une fois par sa maîtrise du sujet de la rétro-ingénierie et son innovation dans ce domaine.

Cette présentation avait pour but de présenter l’outil IDA ToolBag. Le besoin de développer cette suite d’outils a été exprimé par l’équipe ZDI après avoir identifié plusieurs limitations concernant IDA.

Au vu de la nature des tâches que ZDI réalise tous les jours (analyse de binaire, identification de vulnérabilités), il s’avère que les fonctionnalités offertes ne satisfont pas leurs besoins d’automatisation, d’analyse et de collaboration.

IDA ToolBag améliore plusieurs aspects de l’outil de base IDA Pro. En effet, la suite IDA ToolBag offre des modules traitant le stockage des données d’analyse, recherche, collaboration et navigation.

Une démonstration nous a été présentée en deuxième partie de la conférence. Cela nous a permis de voir la puissance de l’outil en traitant des cas réels.

Pour ceux qui veulent obtenir l’outil, il suffit d’envoyer un mail aux auteurs : http://thunkers.net/~deft/code/toolbag/.

Wargame Debriefing – Steven Van Acker

Le présentateur Steven Van Acker monte sur scène pour effectuer un débriefing de la Wargame   ayant eu lieu à la HES 2012, c’est lui qui prépare les challenges pour la Hackito depuis 3 ans.

Steven commence sa présentation par l’histoire des Wargames. La première mention de ce jeu (Kriegsspiel) date du XIXème siècle lors de la guerre entre la France et la Prusse. Depuis, le Wargame est devenu de plus en plus populaire et est utilisé aujourd’hui dans des domaines très variés. Par exemple, son principe est utilisé lors des exercices incendie.

Dans le monde hacking, il existe différents types de Wargame : contre un vrai adversaire ou un ordinateur, online ou offline, en attaque, en défense ou en observation, etc.

Steven Van Acker fait son doctorat à l’Université de Leuven en Belgique et a dû démontrer récemment à ses professeurs la nécessité et les vertus du Wargame. Selon lui, ces jeux permettent d’apprendre les techniques d’attaques, mais également les moyens de résister à ces attaques, préparer les plans de sécurisation des systèmes et de reprise d’activité, etc. Le jeu permet aux joueurs d’acquérir une expertise dans le domaine de la sécurité. Or l’expertise attire les clients et les clients sont prêts à payer pour les prestations des experts.

Il présente les différents Wargames (online : Overthewire.org, Smashthestack.org, Hackthissite.org, Exploit-execises.com ; CTF :  iCTF, OpenCTF, etc.) avant d’aborder le sujet du challenge de HES 2012, Monxla. Il donne un petit aperçu du jeu. L’agent, c’est vous. Le but est de faire tomber une famille criminelle Nasenko. Il faut exploiter des vulnérabilités de type XSS et injection SQL sur deux applications Web, faire un peu de stéganographie, contourner l’authentification de VNC, etc.

En conclusion, Steven nous incite à jouer plus aux Wargames et de ne pas avoir peur des échecs, car, selon lui,  ce sont eux qui nous font avancer.

Table ronde sur le thème “Vente des exploits”

Animateurs : Organisateur de la HES : Jonathan Brossard et Matthieu Suiche, Fyodor Yarochkin, Cesar Cerrudo, Marc “van Hauser” Heuse, Eric Freyssinet, Rodrigo Branco, Emerson Tan

Le thème de la table ronde tournait autour des enjeux de la divulgation des exploits 0-day aux organismes judiciaires ou au marchandage de ces derniers. Dans l’ensemble, les questions ont trouvé des réponses claires de la part des participants présents.

D’après certains, il n’y aurait pas de marché noir d’exploits 0-day. La plupart des « chercheurs » ne recherchent pas le profit, mais plutôt la mise en avant du fait que les produits du marché ne seront jamais fiables à 100%, et aussi la reconnaissance.

Les opinions des hackers et des responsables de l’ordre se rejoignent sur l’éthique de telles découvertes. Si un chercheur bien intentionné cherche des failles 0-day, afin de faire avancer la sécurité du produit testé, cela est tout à fait louable et bienvenu. Cependant, si c’est dans le but de faire un quelconque profit, ou de l’utiliser à des fins litigieuses, ces recherches peuvent être sujet à des poursuites.

Cependant, certains chercheurs ont mis en avant que les entreprises ne réagissent pas assez vite à ces découvertes, surtout si elles sont les seules averties. Il est donc coutumier pour ces chercheurs de faire le buzz sur Internet afin de presser ces compagnies à publier les patchs, ou les mises à jour adéquates.

Comme chaque table ronde, la discussion et les réponses des participants peuvent être sujet à débat. Mais il était important d’avoir l’avis de certaines personnalités du monde de la sécurité IT moins traditionnel que celui des entreprises de sécurité informatique.

Auteurs du billet : Romain Leonard, Benjamin Guillet, Mouad Abouhali, Gulzhan Zhussipaliyeva et relu par Isabelle Feetz

1 Star2 Stars3 Stars4 Stars5 Stars (3 votes)
Loading ... Loading ...

, , , ,

Comments (0)

Hackito Ergo Sum 2012 – Jour 2

Keynote #2 – Fuodir Yarochkin (@fygrave)

Au cours de ce keynotes, Fyodor Yarochkin a présenté l’évolution de la cybercriminalité.

Les chercheurs en sécurité se concentrent généralement sur la recherche de nouvelles vulnérabilités ou sur l’implémentation de nouveaux moyens de sécurisation. La cybercriminalité, quant à elle, utilise généralement des vulnérabilités basiques et l’ingénierie sociale, qui sont bien plus complexes à corriger !

Les cybercriminels se concentrent sur deux points :

- Effectuer des micro-transactions. En effet, une entreprise qui se fait dérober 200 000euros a de bonnes chances d’entamer des poursuites ; par contre, 200 000 personnes qui se font dérober un euro n’entameront pas nécessairement de poursuites. Dans les deux cas, les fraudeurs récupèrent 200 000 Euros ;

- Diffuser leurs applications malveillantes dans un périmètre donné (grâce à la géo-localisation). Cette localisation permettra aux fraudeurs d’utiliser des systèmes financiers particuliers. Par exemple, dans certains pays (Kenya, Russie, Inde, etc.), il est possible d’utiliser son crédit téléphonique comme moyen de paiement : on peut le transférer et le convertir en argent. La localisation permet de s’ingérer dans des économies souterraines, à l’abri des services anti-blanchiment.

La conférence s’est terminée par la présentation du projet “know your internets” dont l’objectif est de pouvoir déterminer le niveau d’exposition à une vulnérabilité, à un instant donné, pour une région donnée (ex. : diffusion d’un faux antivirus sur le territoire de Taïwan). Pour cela, le projet est basé sur la combinaison de différentes notions déjà existantes (scan de ports, serveurs et clients « pots de miel », etc.).

Hacking the NFC credit cards for fun and debit Renaud Lifchitz

Le paiement sans contact a été conçu pour les paiements de tous les jours, il ne nécessite ni code Pin, ni d’insertion de carte dans un quelconque terminal. Il permet de faire des paiements de moins de 20 euros et ce, 4 fois d’affilé, sans avoir à réutiliser son code Pin. Poussées par la Visa Paywave et la Mastercard Paypass, 10 Millions de cartes sont déjà disponibles sur le marché américain. En France, pour le moment, 100 000 seulement sont en circulation. Le but d’une telle technologie est de rendre les paiements plus faciles. Ainsi, une étude canadienne montre qu’il y a 25% de dépense en plus lorsque la technologie NFC est disponible.

D’un point de vue technique, ces cartes de paiement sont basées sur le standard EMV (Europay MasterCard and Visa) et la norme ISO 7816 (Protocol commands and cards storage layout). Les données sont encodées en BER TLV et le stockage des données se fait à la manière d’un véritable « file system » (Master Fodler, Directory, File).

À l’heure actuelle, en France, le seul terminal NFC répandu est le pass Navigo. Celui-ci ne détient aucune information personnelle, la discussion entre le pass et le terminal est chiffrée et l’authentification du pass est de qualité grâce à une signature digitale.

Il est donc très difficile de réaliser un faux pass Navigo. Qu’en est-il des cartes de paiement ?

Elles peuvent être aisément falsifiées. En effet, la carte possède des informations personnelles, il n’y ni authentification, ni chiffrement de la transaction. Quelles sont donc les données que l’on peut extraire à distance ? On récupérera facilement sur cette carte : le nom et le sexe du propriétaire, le numéro de la carte, la date d’expiration, les données contenues sur la piste magnétique ainsi que l’historique des transactions. Les risques inhérents sont donc : la lecture d’informations privées, le paiement sur des sites d’e-commerce par une tierce personne, la création de fausses cartes grâce aux informations contenues dans la piste magnétique (très facilement utilisable aux États-Unis) ainsi que la filature d’une personne.

Comment réalise-t-on une attaque ? Lorsque le terminal de paiement communique avec la carte, il envoie un paquet de norme ISO 7816-4, ce paquet prend la forme suivante :

- Class : permet de sélectionner l’application qui va être utilisée ;
- Instruction : Lire ou Écrire ;- Paramètres ;- Longueur ;
- Champ de données ;
- Longueur de la réponse attendue.

Pour réaliser une attaque, il suffit de « réveiller » les cartes NFC spécifiques à distance et d’envoyer un paquet de lecture des informations en utilisant l’application « Paiement ». Pour récupérer l’application ID, il suffit de lire un ticket de caisse : il est écrit en clair et non tronqué sur chaque ticket de carte bleue. Ensuite, il suffit de lire la réponse de la carte.

Capture d'information d'une carte NFC

R. Lifchitz explique donc qu’avec un simple dongle NFC, il peut récupérer toutes les informations listées plus haut. Il fait ensuite une démonstration, tout d’abord avec son ordinateur, puis avec un téléphone compatible NFC (Nexus S, Galaxy S II …). Voici ce qui ressort de sa démonstration :

Les limites de cette attaque : la distance est le premier rempart d’une telle attaque. En effet la norme NFC stipule qu’il faut entre 3 et 5 cm entre la carte et le terminal. Cependant, R.Lifchitz dit qu’il pourrait arriver à des distances de 15 m grâce à un transmetteur radio et une antenne télescopique.

En conclusion, le standard EMV est mal désigné et mérite d’être totalement revu.

Secure Password Managers and Military-Grade Encryption on Smartphones: Oh Really? Andrey Belenko, Dimitry Sklyarov

Andrey et Dimitry ont présenté les résultats de l’analyse sécurité d’applications de “gestion de mots de passe sécurisée.

L’étude a principalement porté sur des applications iOS gratuites et payantes (une quinzaine environ). Trois applications disponibles sur BlackBerry ont complété le panel.

L’analyse a porté sur la sécurité de la base de données de l’application une fois qu’un attaquant a obtenu son accès.

Les méthodes permettant de récupérer cette base ont été présentées elles sont au nombre de trois : via un accès physique au terminal, via un accès à distance (SSH sur un iPhone « jailbreaké ») ou via l’accès à la sauvegarde.

Il ressort de cette étude que :

- Les applications payantes ne sont pas meilleures que les applications gratuites ;
- Certaines applications ne protègent pas les mots de passe stockés ;
- D’autres chiffrent les mots de passe, mais ne protègent pas le mot de passe principal (master key) ;
- Certaines utilisent mal les fonctionnalités de protection intégrées à iOS, en déposant le master password dans un champ non chiffré de la keychain (uniquement sous iOS4, sous iOS 5, tous les champs du keychain sont chiffrés) ;
- Pour la plupart des applications testées, il est nécessaire d’utiliser un mot de passe principal de plus de 10 chiffres (15 pour les plus mauvaises !) pour résister plus de 24h à un Brute Force. Par contre, il semble qu’aucun des tableaux récapitulatifs n’indique si les applications autorisent des mots de passe plus complexes (caractères alphanumériques et spéciaux).

Le dernier constat est lié au fait que la plupart des attaques sont réalisées sur un ordinateur, avec une puissance de calcul (CPU et GPU) sans comparaison avec la puissance CPU disponible sur un Smartphone. Ainsi, pour des questions d’ergonomie, l’algorithme de transformation du mot de passe en clé ne peut pas être très complexe, avec un nombre d’itérations faible, rendant les attaques par Brute Force sur ordinateur très efficaces.

De surcroît, la saisie du mot de passe sur un clavier de Smartphone est moins aisée que sur ordinateur, les mots de passe sont souvent moins complexes et plus courts, ce qui est très certainement la raison de l’utilisation d’un code PIN pour la plupart des applications.

Un parallèle a été effectué avec le mécanisme de protection intégré à iOS. L’étude montre qu’il est bien plus sûr pour protéger les données que la meilleure des applications testées.

Il est dommage que cette analyse n’ait pas pris en compte une application se basant sur Keepass. Par défaut, le nombre d’itérations lors de la dérivation de la clé semble équivalent aux meilleures applications testées. De plus, ce nombre est modifiable, permettant de rendre plus difficile les opérations de Brute Force. Il aurait également été intéressant d’avoir une analyse de l’utilisation conjointe d’un mot de passe et d’un fichier clé et d’indiquer si l’utilisation de cette authentification pouvait rendre plus difficile l’attaque par Brute Force.

All your calls are still belong to us – How we compromised the Cisco VoIP Crytpo Ecosystem – Enno Rey & Daniel Mende

Enno démarre la présentation en rappelant les 7 principes de sécurité : le contrôle d’accès, l’isolation, la restriction, le chiffrement, la protection de l’entité, le management de la sécurité et la visibilité.

Enno et Daniel ont présenté les résultats de pentest durant lesquels le réseau de téléphonie sur IP (VoIP) a été compromis, car un de ces 7 principes n’a pas été respecté (exploitation de MS08-67, utilisation du même mot de passe sur plusieurs équipements, exploitation de backdoor, absence de contrôle d’accès, …).

Les orateurs estiment que lorsqu’il s’agit de VoIP, personne ne se sent responsable de la sécurité de ces éléments.

Les orateurs présentent le fonctionnement du chiffrement de la VoIP sur des équipements Cisco. En particulier, ils montrent que les IP Phones Cisco peuvent utiliser deux types de certificats :

- Les MIC (Manifacturing Installed Certificates) – certificats par défaut ;
- Les LSC (Lically Significant Certificate).

Le dongle CTL (Certificate Trust List) contient, entre autres, le certificat racine de la chaîne de confiance, permettant de signer les certificats des IP Phones Cisco.

Lorsqu’un téléphone démarre, il contacte le CUCM via le protocole TFTP, et ils échangent leurs certificats respectifs, si le téléphone en possède un. Si ce n’est pas le cas, le téléphone récupère une partie seulement de la configuration. Le CUCM demande alors au téléphone de générer un certificat et l’envoie au CAPF pour signature. Le téléphone récupère alors le certificat signé, l’installe et redémarre

Au redémarrage suivant, le téléphone vérifie les mises à jour du CTL, et si un nouveau CTL est mis en place, le téléphone devrait rejeter le nouveau CTL, si celui-ci n’est pas signé par l’ancien CTL. Cependant, de nombreux téléphones acceptent finalement le nouveau CTL comme certificat racine.

Un attaquant peut profiter de ce fonctionnement. Il doit effectuer une attaque par Homme du Milieu entre le téléphone et le CUCM, fournir un service TFTP et forcer le téléphone victime à redémarrer. Cette dernière opération est relativement facile à effectuer, car les téléphones sont vulnérables à des attaques par SYN flooding, même sur des ports fermés. Lorsque le téléphone redémarre, l’attaquant lui fournit un faux certificat. Même si celui-ci n’est pas signé par le CTL original, il sera finalement accepté par le téléphone. L’attaquant fournit alors un fichier de configuration forçant le téléphone à regénérer un nouveau certificat afin d’être à même de déchiffrer la conversation.

Les orateurs démontrent la possibilité de cette attaque en utilisant un outil qu’ils ont développé : ctl_proxy.py. Cet outil sera disponible sur http://www.ernw.de/content/e6/e180/index_eng.html.

The System of Automatic Searching for Vulnerabilities (SASV) – How to use taint analysis to find vulnerabilities – Nikita Tarakanov

Nikita présente une approche permettant la découverte de vulnérabilités dans les applications binaires, basée sur de la « taint analysis ».

Dans un premier temps, une analyse statique de code est effectuée, avec IDA et des plugins dédiés, afin de découvrir :

- les fonctions dangereuses (strcpy par exemple) ;
- les appels indirects aux fonctions (par exemple, les vtables) ;
- les appels à la fonction « malloc ».

Une fois les chemins dangereux identifiés, une « taint analysis », permettant de trouver les chemins empruntés par les données contrôlées par les utilisateurs et passant par les fonctions dangereuses, est effectuée. À cette fin, TEMU, un traceur basé sur QEMU, est utilisé. Cet outil fournit une API permettant d’ « unpacker » les binaires et la découverte automatique de vulnérabilités. Les résultats de TEMU sont convertis en un langage intermédiaire (IL) interprété par Vine. Des assertions dans ce langage sont insérées afin de découvrir des redirections dans le code et permettre finalement de générer du code IL alternatif.

La technique SASV (System of Automatic Searching for Vulnerability) a une bonne couverture, permettant a minima de couvrir tout le code dangereux.

Cependant, cette analyse peut prendre énormément de temps et « planter ». Les problèmes de performance étant principalement dus à TEMU, une solution serait de le pousser au niveau hyperviseur (ring -1), mais ceci n’est pas encore implémenté.

Nikita indique que les traces générées par TEMU peuvent être excessivement larges. Par exemple, les fichiers contenant les traces « taintées », générées par l’ouverture d’une page HTML grâce à Internet Explorer 6, peuvent atteindre 2Gb. Un fichier contenant les traces « taintées » de l’analyse d’un PDF vérolé peuvent atteindre 100Gb !

Nikita présente un cas concret d’utilisation de SASV : l’étude de vulnérabilité sur les drivers d’antivirus. Il indique qu’il a effectué l’analyse d’une quarantaine d’entre eux. Ceci n’aurait pas été possible sans ce niveau d’automatisation. Le vecteur d’attaque utilisé est le driver DeviceIoControl, permettant de passer du « userland » (ring 3) au « kerenl land » (ring 0). Une liste de données est automatiquement « taintée », et seul le code du driver est tracé, pour des raisons de performance. Grâce à cette étude, Nikita a pu, par exemple, identifier plusieurs vulnérabilités, dont deux affectant le driver tmti.sys de Trend Micro. L’une est due, entre autres, à une taille de pool insuffisamment vérifiée et l’autre concerne une “nullification” d’un buffer supérieure à la taille allouée.

Nikita indique que de nombreuses vulnérabilités existent dans des drivers signés par Microsoft. Cependant, cette technique n’est pas applicable en l’état au driver système win32.sys, car un système de « watchdog » lève une exception lorsque trop de temps est passé dans l’exécution du code de ce driver. La génération de traces étant très longue, cette exception est systématiquement levée.

D’autres mécanismes bloquant pour cette technique existent, tels que la vérification au niveau des antivirus sur la provenance du code exécutant le code : par exemple, certains antivirus s’assurent que sur certains chemins critiques, le code précédemment exécuté n’est pas du code « userland ». Ce mécanisme s’avère particulièrement efficace pour empêcher les élévations de privilèges locales.

TBD (Android Exploitation) – Georg Wicherski

L’exploitation de failles dans WebKit, le framework KHTML utilisé notamment par le navigateur Android, est présentée. Le problème principal est que l’allocation de mémoire se fait très souvent. Il faudra donc souvent « désallouer » de la mémoire. Le problème intervient donc car le comportement de la délocation est très prévisible.

Le RenderTree est rempli de bugs, seulement ils ne sont pas considérés comme des problèmes de sécurité mais comme des crashs dus à l’instabilité de l’application : ils ne sont donc pas bien maintenus et restent très exploitables. On peut donc créer des crashs volontairement afin de libérer de la mémoire. Les adresses de la mémoire libérée sont prévisibles et on va donc pouvoir y insérer des objets C++.

Georg nous fait ensuite une démonstration de cette exploitation. Il fait crasher son navigateur puis insère des objets dans la mémoire libérée, grâce à un dump de la mémoire. Il nous convainc facilement de la validité de son exploit.

Table ronde – How do you manage yours « hacker » profiles ?

Animateurs : Jonathan Brossard et Cédric Blancher
Participants : Cesar Cerrudo, Renaud Liftchitz, Philippe Humeau

Cette table ronde a porté sur la gestion des profils “hackers”, les moyens qu’ont et qu’utilisent les intervenants pour les attirer, choisir les bons profils et les garder.

Les intervenants ont chacun présenté leur point de vue qui se rejoint sur de nombreux points. Par exemple, ils partagent l’idée que l’environnement et l’ambiance au sein de l’équipe sont très importants, tout comme les missions.

Un des points de désaccord entre les intervenants était la possibilité ou non d’engager une personne ayant un passé de black-hat. Un des intervenants était contre, car il ne pouvait pas avoir confiance en cette personne. De plus, il faut faire très attention de ne pas embaucher une personne ayant peu d’éthique et qui aura ensuite accès à toutes les ressources de l’équipe (outils, ressources, rapports de tous les clients, etc.) Pour d’autres intervenants, le discours est à nuancer. De nombreux jeunes peuvent réaliser des actions illégales, et puis changer par la suite.

Lors de la séance de questions/réponses, le débat a dévié sur d’autres sujets, notamment sur la réponse à donner à un client qui demanderait la réalisation de tests illégaux. Les intervenants ayant répondu ont été unanimes sur le sujet, avec un refus catégorique pour des raisons légales et éthiques.

Au final, cette conférence était intéressante pour les managers d’équipes, afin de puiser des idées, même si rien de révolutionnaire n’a été présenté. C’était aussi une vitrine pour les intervenants qui leur a permis de mettre en valeur leurs méthodes de management devant de potentielles recrues.

Préparation du workshop ingénierie sociale – Matias Brutti (@FreedomCoder)

Les présentations de la journée se sont soldées par une introduction à l’ingénierie sociale. L’intervenant, qui a aussi animé le workshop du samedi, nous a présenté l’ingénierie sociale et ses différents types.

Il a ensuite détaillé les différentes étapes qui sont : la récolte passive d’informations, le développement de la stratégie, la récolte active d’informations, la phase d’attaque et l’exploitation.

Matias Brutti a largement insisté sur ce qui fait l’essentiel de l’ingénierie sociale  : avoir un bon mensonge et arriver à le vendre en évitant de tomber dans le cliché du scam nigérian !

La conférence s’est achevée avec la présentation d’outils permettant d’automatiser les tâches de récolte d’informations et d’exploitation.

Auteurs du post : Maxime Walter, Geoffrey Bertoli, Nicolas Biscos, Antoine Cervoise ; relu par Isabelle Feetz

1 Star2 Stars3 Stars4 Stars5 Stars (2 votes)
Loading ... Loading ...

, , , ,

Comments (0)

Hackito Ergo Sum 2012 – Jour 1

Hier, la troisième édition de la conférence Hackito Ergo Sum a été officiellement ouverte par Philippe Langlois qui a souhaité à tout le monde la bienvenue et a tenu à remercier les différents sponsors pour leur aide. Et il avait bien raison de le faire ! Cette année, la conférence a reçu ses orateurs et auditoire dans la magnifique salle du Parti Communiste. Mais le décor ne fait pas tout ! Il faut surtout mentionner l’hospitalité et la convivialité auxquelles les organisateurs de la Hackito nous ont habitués ces deux dernières années, ainsi que l’abondance de sujets intéressants.

Ceci étant dit, voici dans les grandes lignes comment s’est déroulée la première journée de la Hackito :

Keynote #1 – Cédric Blancher

Conformément à la tradition des années précédentes, la première journée a débuté par une courte introduction (« Keynote ») présentée par Cédric Blancher, destinée à nous plonger dans l’ambiance générale de l’événement avant de céder la place à des présentations plus techniques.

Malgré le fait qu’il a dû remplacer à la dernière minute l’orateur initialement prévu, sa présentation a délivré des messages assez clairs gravitant autour des questions suivantes :
• Qu’est-ce que le « hacking » ?
• Quelle est la relation entre la sécurité informatique et le « hacking » ?
• Quelles sont les conséquences de la médiatisation de la sécurité informatique ?
• En quoi le « hacking » est-il bénéfique pour la société ?

En résumé :
Le « hacking » est une activité visant à adapter l’existant aux besoins. Le côté pragmatique est souvent complété par l’aspect ludique de l’activité (We do it for fun !). Le « hacking » n’est pas exclusivement lié au monde informatique et pour illustrer ce propos, l’orateur a donné des exemples de « hacks » dans des domaines aussi différents que la photographie ou le parachutisme.

Paradoxalement, le fait que la “sécurité informatique” soit de plus en plus médiatisée ne signifie pas forcément que les entreprises soient plus sensibilisées ou mieux protégées. Preuve en est les derniers incidents de sécurité survenus chez Google, RSA, etc.

Une conséquence assez évidente de cette médiatisation est la multiplication des conférences de sécurité. Si, en soi, il s’agit d’une tendance plutôt positive, il ne faut pas négliger les aspects moins bénéfiques :
• Actuellement, le nombre de conférences est considérablement supérieur à celui des orateurs. Par conséquent, les sujets abordés sont souvent les mêmes ;
• Un autre point réside dans la dégradation progressive de la qualité des présentations. À titre d’exemple, le niveau technique de la Black Hat de l’année dernière lui a semblé tellement bas qu’elle sera probablement la dernière de sa vie.

Cependant, la présentation a fini sur un ton optimiste, en rappelant en quoi le « hacking » est une activité fructueuse et pourquoi elle devait continuer à exister.

Tout d’abord, le « hacking » implique « apprendre » et « comprendre », il encourage l’innovation et il permet de garder un certain équilibre entre le pouvoir des constructeurs / éditeurs et leurs clients ou encore entre les organisations gouvernementales et les citoyens.

Baseband attacks revisited – Ralf-Philipp Weinmann

Ralf-Philipp Weinmann de l’université du Luxembourg dévoile ses travaux sur la sécurité des réseaux cellulaires.
L’orateur a récupéré un système Siemens dans les sous-sols de son université, permettant de mettre en place une infrastructure 3G dans le but de tester des attaques.

Selon lui, les constructeurs des chipsets prennent au sérieux les problèmes de sécurité. En revanche, les problèmes les plus conséquents proviennent des téléphones commercialisés. En effet, les revendeurs sont réticents à mettre à jour les produits pour des raisons financières. Cette gestion de la sécurité, complexe à intégrer, laisse des failles non corrigées.
Ralf-Philipp Weinmann a démontré que les accès JTAG sont faciles à obtenir sur de nombreux téléphones, via l’utilisation de RIFF box.

Par la suite, une liste des plateformes émergeantes est donnée ainsi que les principales découvertes et chipsets déjà bien connus et décrits dans certains handbooks.

Un livre, nommé « iOS Hacker’s Handbook » écrit par Ralf-Philipp Weinmann, sortira en mai. Ce dernier traitera majoritairement des attaques Baseband.
Site Web: https://cryptolux.org/Ralf-Philipp_Weinmann

Hardware backdooring is pratical par Jonathan Brossard & Florentin Demestrescu

Jonathan Brossard commence par énoncer les informations d’usage, à savoir que les conférenciers ne sont pas des terroristes, qu’aucun Proof Of Concept (POC) ne sera ni distribué, ni disponible durant leur intervention.

Il présente également les choix qui les ont poussés à étudier les backdoors sur l’architecture X86 :
• Cette architecture est bien connue et utilisée par les gouvernements ;
• Le phénomène « backdooring » est très en vogue à l’heure actuelle, [pour preuve, une information a été publiée concernant le sujet « Chinese Capabilities for Computer Network Operations and Cyber Espionage » le 07 mars 2012.

Ce document soulève un potentiel vecteur d'attaque induit par le fait que la majorité des composants d'un ordinateur sont fabriqués en Chine. Si des backdoors sont implémentées dans le matériel commandé par les grands demandeurs mondiaux, toutes les infrastructures peuvent être vulnérables, entités civiles et militaires confondues.]
Après avoir présenté le projet Coreboot, Florentin Demestrescu nous décrit l’architecture de la carte mère sur laquelle ont porté les tests du Coreboot. Une courte démo du coreboot, via un câble PCI est réalisée, conséquence d’un souci technique sur la sortie écran de la carte mère présente. L’auditoire peut voir toutes les données envoyées sur le bus PCI.

Jonathan enchaîne sur les précédents travaux effectués sur les backdoors, il est à noter que les dernières conférences datent de 2010. Construit en 4 semaines sur une base libre (free software), « Rakshasa » peut flasher le BIOS, la carte réseau ou tout autre carte PCI, booter une charge via le réseau/wiFi/wiMax. Il permet notamment de supprimer le bit NX rendant ainsi la stack exécutable. Il peut supprimer les mises à jour CPU, la protection anti-SMM, mais également désactiver l’ASLR en patchant le noyau Windows à la volée.

Il est possible de booter sur un autre payload/OS à distance, mais également d’afficher une fausse invite de commande Bitlocker/Truecrypt, rendant ainsi la cryptographie inutile : « Why cryptography will not save you ».

Le gros intérêt de l’outil est de pouvoir accéder à une charge virale à distance : bootkitting de toutes les versions de Windows (excepté la 8 semble-t-il) en 32/64 bits.

« Rakshasa » est comme invisible sur la machine, puisque le système de fichiers n’est pas modifié.

Les briques utilisées par « Rakshasa » (Coreboot, SeaBios, iPXE) lui permettent d’être un outil portable, extrêmement modulaire, bénéficiant d’une stack réseau complète pouvant être mise à jour si besoin est.

Une vidéo est diffusée faisant office de démonstration dans laquelle l’auteur utilise son outil avec un payload distant permettant de se connecter sur le compte du Windows 7 en saisissant n’importe quel mot de passe. Le payload utilisé provient d’un reverse de konboot, point sur lequel un des orateurs s’excuse.

Strange and Radiant Machines in the PHY Layer – Travis Goodspeed & Sergey Bratus

Article intéressant avec comme sujet les attaques ciblant les couches physiques émettrices de signaux radio.
Le problème de sécurité exprimé par Travis Goodspeed est celui lié aux communications des couches OSI, les unes avec les autres. Il est courant de laisser les couches supérieures du modèle gérer la sécurité. Ainsi, Travis a ciblé l’éventualité de générer des paquets contrôlés en destination des couches physiques via le concept de « packets in packets ». Le concept poussé par Travis est l’encapsulation d’un paquet dans un autre paquet. Le but est de se servir du premier paquet comme enveloppe laissant décapsuler le paquet contenu et ainsi l’interpréter. La réciproque est expliquée avec les « packets out of packets ».

Quelques exemples d’attaques sont effectués lors de la conférence :
• l’un avec un clavier Microsoft sans fil ainsi qu’un module d’interception des communications émises par le clavier ;
• l’autre exemple, « power supply attacks », concerne une méthode de récupération d’une ROM. Après avoir effectué un court circuit sur la carte, le chipset pense que la mémoire flash est vide, il active ainsi le JTAG, permettant une connexion via GDB et ainsi, de récupérer toute la ROM.

Sites Web:
« Packets in packets » : http://packetsinpackets.org
Blog : http://travisgoodspeed.blogspot.fr/

Cryptographic function identification in obfuscated binary program – Joan Calvet

Après avoir prévenu l’auditoire que son sujet comprenait une bonne partie de reverse engineering, Joan Calvet précise que son projet n’en est qu’à ses débuts.

Le but de l’étude est dans un premier temps de pouvoir identifier quel algorithme est utilisé dans un programme en soumettant un dump du programme à son outil.

Dans un premier temps, l’orateur s’est concentré sur TEA (Tiny Encryption Algorithm). En temps normal, le code assembleur du dump contient une « magic constant », ce qui rend l’identification aisée. Mais dans certaines implémentations ou dans des programmes obfusqués, cette constante n’existe pas.

L’idée est d’utiliser les entrées/sorties pour détecter l’algorithme TEA (ou un autre algorithme à long terme). Sa méthode de recherche se décompose en trois étapes :
• Collecter la trace d’exécution ;
• Extraire de la collecte un possible algorithme avec ses paramètres ;
• Identifier l’algorithme en utilisant des algorithmes de référence.

Lors de la 1ère étape, la trace d’exécution est récupérée via des outils tels que PIN qui est un framework « Dynamic Binary Instruction » maintenu par IBM.

La 2ème étape requiert de trouver les calculs algorithmiques dans le code ASM, ce qui se résume à une petite partie de code.

En cryptographie, les algorithmes appliquent la même opération répétée sur les paramètres d’entrée/sortie. Il est donc primordial de repérer les boucles en remplaçant par des symboles le corps de la boucle. La détection des entrées/sorties est facilitée par le constat que les données d’entrée sont lues et les données de sortie sont écrites par les instructions adéquates du code ASM.

L’extraction des informations est alors représentée sous forme de graphes qui permettent une meilleure visibilité.
La 3ème et dernière étape est l’identification de l’algorithme. Son programme « brute-force » les algorithmes de référence avec les valeurs d’entrée extraites, puis compare les sorties extraites par rapport aux sorties calculées.

Il a ainsi réussi à identifier le TEA dans plusieurs cas réels (virus et vers). Pour la petite anecdote, il a découvert que l’implémentation du TEA sur un site relié à wikipedia.ru était erronée. En modifiant son modèle de recherche, il a néanmoins réussi à l’identifier avec succès.

Il a étendu son modèle pour la recherche de l’algorithme RC4 qui est légèrement différent puisqu’il comporte plus de boucles que le TEA.

Joan fait remarquer que son modèle ne fonctionne pas pour UPX LZMA à cause de sa définition de boucles, mais pourrait éventuellement fonctionner, suspense…

En conclusion, il souhaite ajouter des algorithmes (compression) à son modèle, et, bien entendu, faire de son PoC un véritable outil.

Workshop Lockpicking – Walter Belgers

La journée a fini avec une présentation sur le « lockpicking » délivrée par Walter Belgers. Le « lockpicking » est une activité consistant à ouvrir des serrures de manière détournée, avec l’accord du propriétaire. La présentation a porté principalement sur les sujets suivants :
• Principe de fonctionnement d’une serrure ;
• Présentation des faiblesses (imperfections mécaniques, erreurs de conception, etc.) et des différentes techniques permettant de les exploiter (« raking », « padlock trick », « bumping », « pick gun », etc.) ;
• Moyens de se protéger contre le « lockpicking » (« mushroom pins », « spool pins », « rotating disc locks », « magnetic/electronic locks ») ;
• Quelques astuces pour réussir ses tentatives de lockpiking.

Cette présentation s’est avérée très intéressante, avec des démos suggestives telles que celle de la technique « Foil impressioning ». Celle-ci permet, à l’aide d’une clé quelconque et d’une feuille d’aluminium, de reconstruire le relief de la clé permettant d’ouvrir une serrure dont on n’a pas la clé.

Auteurs du billet : Costina Catanoiu, Philippe Faure, Gregory Charbonneau, Maxime Walter et relu par Isabelle Feetz

1 Star2 Stars3 Stars4 Stars5 Stars (3 votes)
Loading ... Loading ...

, , , ,

Comments (0)

SSTIC 2011 – Jour 3

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

Par Éric Totel, Loic Le Henaff et Romaric Ludinard

Après une belle soirée de Social Event en plein cœur  de Rennes, à la Halle Martenot sur la place des Lices, la journée de vendredi propose des sujets variés, entre techniques, juridique et éthique.

Romaric Ludinard de SUPELEC Rennes présente un framework de détection d’intrusion pour les applications Ruby On Rails.

Cet IDS applicatif ne s’attache pas à analyser les erreurs dans les flots d’exécution, mais plutôt à détecter les incohérences dans les données manipulées.

Il traite le problème par une approche comportementale, qui est plus souple que la détection par signature. En effet, les signatures nécessitent la mise à jour régulière, et ainsi une veille sur les attaques possibles. Dans le cas présent, le code est instrumenté afin de détecter les incohérences dans les données.

L’orateur donne l’exemple d’un paramètre “nom d’utilisateur” qui ne correspondrait pas au nom d’utilisateur effectif après authentification, problème typique d’injection SQL. La démonstration montre bien les alertes produites par le framework lorsque le nom d’utilisateur stocké en session est vérifié par rapport au paramètre envoyé par le visiteur.

Le framework semble intéressant dans la mesure où il ne demande aucune modification de code, l’analyse est réalisée à partir d’un module RoR qui peut être utilisé lors de la phase de tests fonctionnels pour ainsi pouvoir générer un code instrumenté à utiliser en production.

La présentation a toutefois manqué de détails sur l’impact en termes de performances sur le code généré.

Usages offensifs de XSLT

Par Nicolas Gregoire

La matinée s’est poursuivie sur une présentation des usages offensifs de XSLT par Nicolas Grégoire de la société Agarri.

Ce dernier rappelle que le XSL est un véritable langage de programmation permettant de mettre en forme des données décrites à l’aide de XML. À la différence du CSS qui ne permet que de donner des instructions de mise en forme, XSL peut charger des extensions et exécuter des fonctions. Ainsi, il a conduit une étude des différentes bibliothèques permettant de manipuler du XML/XSL afin d’étudier l’étendue de leurs possibilités.

Ses résultats sont édifiants et montrent aux pentesteurs les possibilités que ces applications réservent pour la compromission d’un système, qu’il soit applicatif serveur ou navigateur. En effet, les navigateurs embarquent tous des bibliothèques de transformations XML qui sont elles aussi potentiellement vulnérables.

L’étude a donc fait une cartographie des extensions dangereuses dans les moteurs XSLT et s’est attachée à identifier les moteurs vulnérables et conclut sur une note plutôt positive.

Ainsi, l’auteur rappelle qu’une configuration à l’état de l’art est rarement vulnérable et qu’il est possible d’utiliser XSLT de manière sécurisée sur toute plateforme.

Il appartient aux éditeurs de pratiquer la défense en profondeur afin de sécuriser toutes les couches applicatives, mais également aux clients d’auditer toutes les briques des applications critiques et d’influencer les éditeurs pour qu’ils fournissent des correctifs.

Faille de sécurité ou défaut de sécurité

Par Eric Barbry

Eric Barbry du cabinet Alain Bensoussant Avocats revient sur un sujet qui touche tous les responsables sécurité, les risques liés aux failles et défauts de sécurité. En effet, même si la législation n’est pas encore claire, elle évolue. Aujourd’hui la loi se dirige vers un texte moins dur que le projet présenté lors du SSTIC 2010, les notifications ne sont plus obligatoires dans tous les cas : la CNIL peut accepter un plan de mesures et dispenser de notification. Cette mesure parait injuste pour les victimes, souvent les clients, mais est explicable économiquement : une entreprise victime de fuites de données personnelles en subit déjà de lourdes conséquences, une obligation de notifier atteindrait encore plus l’image de celle-ci. En France la loi a choisi l’économie plutôt que l’étique.

Dans tous les cas, il est difficile d’évaluer les responsabilités entre faille inconnue ou défaut connu et exploité alors que des mesures auraient pu être mises en place.

Cette présentation montre l’intérêt d’un expert juridique qui puisse prendre en charge la gestion de ces aspects. Il convient d’analyser les risques portés par son système d’information et de savoir réagir en cas de problème. Mais également de prendre des mesures : posséder une assurance adaptée et effectuer des campagnes de sensibilisations permettent de limiter les conséquences pour l’entreprise.

La CNIL reste disponible pour toute demande et même si certaines choses ne sont pas normalisées, une demande d’avis en amont peut aider à définir sa politique.

Typologie des attaques contre nos libertés online

Jérémie Zimmermann

Jérémy Zimmerman entre ensuite en scène pour une présentation sans support, mais très vivante et pleine de convictions. Il milite avec la Quadrature du Net pour le droit à la liberté sur l’Internet, liberté d’innovation, d’invention et d’expression. Il s’insurge contre les lois et accords internationaux qui sont décidés par les gouvernements à l’aide de campagnes jouant sur les peurs, l’émotion et l’inconscient collectif. Il met en garde l’auditoire face à ces traités décidés en contournant les voies démocratiques et rappelle qu’il est du devoir de chacun d’avoir une vision critique sur ce que présentent les médias de masse.

Cette présentation très politique est atypique au SSTIC. Même si l’intervenant ne convainc pas l’ensemble de l’amphithéâtre, cette présentation permet d’aborder des aspects différents de la sécurité.

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

Luis Montalvo

Technicolor Rennes démarre l’après-midi par une présentation sur le stockage de photos en ligne respectant la confidentialité des données. Les fonctionnalités présentées font néanmoins penser à un intérêt plus grand pour la protection des droits d’auteur que pour la simple confidentialité des données des utilisateurs.

Il semble que les techniques présentées pour garantir la recherche de contenu similaire sans donner accès au contenu lui-même soient déjà utilisées sur les plus grandes plateformes de partage de documents.

Cette présentation a le mérite de montrer de manière simple et didactique les techniques mises en oeuvre, mais ne semble pas apporter de grande nouveauté. Technicolor confirme donc sa position dans le domaine des services aux entreprises des arts en fournissant des techniques permettant aux hébergeurs d’optimiser leur volume de stockage tout en fournissant un service de recherche de contenu similaire et une certaine confidentialité aux utilisateurs des plateformes de partage.

Un framework de fuzzing pour cartes à puce: application aux protocoles EMV

Julien Lancia

Julien Lancia (SERMA Technologies) achève cette journée en présentant un framework de fuzzing pour cartes à puces. Le fuzzing est utilisé pour tester l’implémentation de certains protocoles sur carte à puce. Ceux-ci fonctionnent par états, mais sont constitués de commandes simples et courtes. Ainsi, le fuzzing semble tout à fait adapté dans ce contexte. La mise en oeuvre de ce framework est néanmoins complexe dans la mesure où une implémentation de référence doit être fournie.

Les tests peuvent ainsi prendre beaucoup de temps à être mis en oeuvre. Ensuite, le caractère aléatoire des tests peut provoquer la destruction de nombreuses cartes. Ce framework est donc tout à fait adapté à une activité de vérification d’implémentation, mais très peu dans le cadre de recherche de vulnérabilité sur un produit particulier en mode “boite noire”.

Sécurité ?

Hervé Schauer

Hervé Schauer conclut cette édition 2011 par un état de la sécurité des systèmes d’informations en termes d’image et de fonctionnement. Il revient sur la difficile, mais nécessaire indépendance de l’auditeur par rapport à l’audité, mais insiste sur une condition essentielle : l’implication de l’état par l’intermédiaire de lois, de moyens, mais surtout d’évangélisation.

1 Star2 Stars3 Stars4 Stars5 Stars (2 votes)
Loading ... Loading ...

Comments (0)

SSTIC 2011 – Jour 2

Attaques DMA peer-to-peer et contre-mesures

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

Cette présentation met en forme les possibilités d’extraction de mémoire à partir d’un périphérique interne en Firewire, sur un environnement Linux 64bits, dont le noyau a été  recompilé afin de retirer les protections mémoire (sur /dev/mem).

Il faut bien noter que malgré la prouesse technique qui a permis d’extraire les données de la carte graphique en les dupliquant sur un autre écran, les possibilités d’exploitation dans un cadre réel ne sont pas facilement réalisables.

En effet, les noyaux actuels sont patchés et il est nécessaire d’accéder physiquement à l’intérieur de la machine si celle-ci ne dispose pas de port Firewire, tout en sachant que l’accès mémoire dépend du type de chipsets (Lakeport, Eaglelake, Tylersburg…).

Il est tout de même intéressant de constater que cette analyse met en avant les possibilités d’accès mémoire en terme hardware, sachant que les éléments techniques étudiés ne sont pas beaucoup documentés.

Des contre-mesures ont été énumérées :

  • I/O MMU (In/Out Memory Management Unit) : permet l’isolation entre les régions de mémoire des contrôleurs :
    • Restreint l’accès des contrôleurs à leurs domaines respectifs, et est  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 qui sont 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.

Adresse de l’outil python qui permet l’extraction de la mémoire du GPU et sa duplication vers un autre écran : http://ark.intel.com/#codenamesall.

Sticky fingers & KBC Custom Shop

Par Alexandre Gazet, ESEC Sogeti

La conférence commence par une présentation sur les problématiques de sécurisation du BIOS, ou l’auteur démontre tout au long de son discours les mécanismes mis en place afin de générer le mot de passe de récupération du BIOS de sa machine :

  • présence sur Internet de générateur de mots de passe maître à partir du numéro de série de la machine ;
  • lien avec le contrôleur du clavier KBC<->SMM (interaction et communication) ;
  • présence d’une interface au niveau du contrôleur clavier avec qui on peut communiquer ;
  • complexité du fonctionnement pouvant provenir d’une volonté de ralentir l’analyse ?

Après cette démonstration, l’orateur conclu : « Un mot de passe BIOS pour protéger le BIOS et le disque est inutile. »

La suite de la présentation bifurque vers le fonctionnement du clavier et de la mise à jour de son micro logiciel.

L’auteur présente un outil codé en Ruby permettant de communiquer avec le contrôleur clavier et d’effectuer un débridage de celui-ci : après modification du micro logiciel, accès complet à la mémoire RAM et ROM.

Il est donc possible d’implémenter un keylogger matériel simplement en modifiant le micro logiciel du clavier, ce qui est indétectable mais tout de même très complexe à mettre en œuvre.

Virtualisation d’un poste physique depuis le boot

Par Stéphane Duverger, EADS Innovation Works

L’auteur présente le développement d’un environnement de virtualisation nommé Ramooflax (License GPL v2), permettant d’effectuer du débogage temps réel sur un système d’exploitation ou ses composants.

L’objectif de ce travail est d’avoir des méthodes d’observation du fonctionnement d’un OS et d’interagir directement avec les processus en cours (démonstration en direct avec IDA).

Afin de mener à bien ce développement, l’auteur met en avant la difficulté d’exploitation des fonctionnalités de virtualisation des processeurs Intel et AMD et le peu de documentation sur le sujet.

Le produit développé fonctionne exclusivement sous processeur AMD, après un démarrage avec une clé USB de boot et n’est donc pas compatible avec les fonctions de virtualisation AMD/Intel, de plus, il nécessite une machine très performante.

Enfin, l’analyse a permis de mettre en évidence que la gestion des interruptions matérielles et  mode réel étaient beaucoup moins restrictives sous les systèmes AMD.

L’USB2 a été choisi comme solution de communication à distance en raison de son fonctionnement standard, la partie réseau n’étant à ce jour pas prévue. Le tout est intégré dans un Framework python simple d’utilisation.

Attacking and Fixing PKCS#11 Security Tokens with Tookan

Par Graham Steel

Les diapositives sont en anglais, mais Graham fait l’effort de faire la présentation en français. Après les présentations précédentes et le résultat du challenge, cette présentation parait simple ou du moins plus compréhensible.

Cela commence par un rappel de comment fonctionne une clé USB PKCS#11, en précisant que sur environ 400 pages du standard, la sécurité occupe 1,5 page.

Ensuite il présente son outil Tookan qui permet de tester l’implémentation PKCS#11 des différents tokens. Il teste en envoyant différentes combinaisons de fonctions pour voir comment l’appareil réagit (reverse engineering). Il cherche notamment la politique des attributs et les templates des informations qui peuvent être envoyés. Graham précise que le logo a été fait par sa femme et qu’il a l’obligation de l’utiliser dans toutes ses présentations. Cela provoque une ovation de la salle.

La seconde démonstration (recherche d’une attaque) est plus longue que la première. Malgré la protection supplémentaire ajoutée, une nouvelle attaque est trouvée. Comme quoi ce qui paraissait simple à protéger ne l’est pas. Une nouvelle attaque de profondeur 4 est encore trouvée après modification de la configuration.

Le conférencier ne manque pas d’humour et évoque que certaines clés testées ont été trouvées dans la rue. Un transparent donne un certain nombre de clés avec les attaques trouvées dessus. Peu de clés ne sont pas attaquables.

Graham nous indique qu’un appareil permettant de lire des clés RSA coûte dans les 300$. Bonjour l’actualité. ;)

La présentation se termine en précisant que les résultats ont été dévoilés en novembre 2010. Les fabricants avaient été contactés 5 mois avant, mais la plupart des réponses obtenues ont été décevantes.

Cette présentation est en tête à l’applaudimètre à la fin de cette matinée. C’est surtout la première qui a un impact sur la vie réelle et qui est “facilement” exploitable. Les impressions sur Twitter sont très bonnes.

Peut-on éteindre Internet

Par Stéphane Bortzmeyer, AFNIC

Par ce titre, Stéphane Bortzmeyer entend rendre indisponible totalement Internet dans le monde entier. Il rappelle qu’il n’y a pas eu d’interruption, même d’une milliseconde, du service de résolution de nom de l’AFNIC depuis ses débuts.

Beaucoup d’exemples d’annonce catastrophique sont ensuite donnés. Ils font d’ailleurs bien rire l’amphi et provoquent un pic d’activité sur Twitter.

L’orateur évoque le fait que c’est, soit disant, toujours un méchant qui prévoit un mauvais coup et pense donc à arrêter Internet. Il donne alors le contre exemple clin d’oeil de la femme de ménage qui conduit une pelleteuse arrachant des fibres optiques. Cet exemple met en évidence des problèmes de redondance, avec toutes les fibres optiques de plusieurs opérateurs passant dans une seule tranchée.

Alors existe-t-il des attaques permettant de couper Internet ?

  • Les attaques physiques ne sont pas faisables à distance, sont coûteuses en mains d’oeuvre et réparables.
  • Les failles sur les différents routeurs semblent plus intéressantes, mais posent un problème : comment propager des virus sans couper Internet alors que le but est de couper Internet ? Si la faille est dans un protocole, c’est mieux.
  • Le déni de service (dDoS) est moins compliqué à mettre en place et surtout il n’existe pas vraiment de solution contre ce genre d’attaque. Problème : tout le monde en est conscient et donc les services les plus sensibles sont les mieux protégés.
  • Autre possibilité : être président et demander la coupure auprès des opérateurs télécoms.

Si on passe du côté des gentils, est-il possible d’améliorer les choses ?

Il y a tout d’abord la mauvaise solution qui est de vouloir refaire Internet.

Puis viennent les bonnes solutions :

  • Mettre en place une redondance physique réelle.
  • Ecrire des logiciels sans bogues ou à minima avec moins de bogues, quitte à trouver un compromis entre fonctionnalités et sécurité.
  • Améliorer la coordination des acteurs qui ne disposent pas, aujourd’hui, de canal de communication officiel (Twitter a ses limites).
  • Mener des actions politiques pour empêcher les gouvernements de créer des SPOF (single point of failure).

La conférence se termine dans une ambiance plus sérieuse que son départ tonitruant. La conclusion est qu’il n’est pas vraiment possible de couper tout l’Internet, même si beaucoup d’axes d’amélioration existent.

Architectures DNS sécurisées

Par Guillaume Valadon et Yves-Alexis Perez, ANSSI

Rappel que DNS est plus compliqué qu’il n’y parait puisqu’il définit aussi le format des requêtes et réponses. Le présentateur profite de la définition de « pub » pour faire sa publicité comme quoi l’ANSSI recrute et provoque ainsi des applaudissements dans la salle.

Viennent ensuite les explications des différences entre les infrastructures de clés X.509 (utilisées avec TLS) et DNSSEC.

La conférence se poursuit avec NSEC3 qui doit améliorer DNSSEC en interdisant les requêtes pour énumérer la zone et en utilisant des hash pour remplacer les noms. La salle se trouve plongée dans le calme. Cela doit être du fait que les explications sont un peu plus compliquées et surtout effectuées à un rythme beaucoup plus soutenu. Cela se vérifie sur Twitter.

Changement d’interlocuteur. Le débit ne faiblit pas. C’est le tour de TSIG, un complément de DNSSEC qui va protéger le lien (authentification du serveur). Cela revient à l’identification des transactions par l’ajout d’un motif d’intégrité aux messages (calcul d’un HMAC). Nouvelle démo avec une requête DNS qui retourne encore l’information que l’ANSSI recrute. Cela réveille un peu la salle.

DNSCurve est ensuite évoqué pour protéger les messages DNS (intégrité, confidentialité). Il se positionne entre le client et le serveur cache DNS.

Enfin est évoquée la possibilité de faire de la résolution de nom à l’aide d’un annuaire LDAP (contexte : intranet, réseau fortement maîtrisé, plate-forme GNU).

Conclusion : DNSSEC est une solution efficace pour protéger les enregistrements, mais complexifie la gestion d’une zone (renouvellement des clés et signatures).

En pratique, seule la solution TSIG/libnss est utilisable sous Linux. Des proxy DNS locaux sont envisageables pour les autres OS.

Les questions mettent en avant le problème de compromission d’une clé et aussi du problème de cache en cas de changement de fournisseur d’accès et donc d’adresses IP. Il apparait qu’il n’existe pas de réponse claire à ces problématiques aujourd’hui.

Fin des conférences

Les conférences sont donc terminées pour aujourd’hui, mais pas la journée puisque le social event nous attend dans la soirée. Ce sera l’occasion de découvrir un autre visage du SSTIC pour les nouveaux participants…

Réalisé par Nicolas Hanteville et Yann Ciret

1 Star2 Stars3 Stars4 Stars5 Stars (0 vote)
Loading ... Loading ...

Comments (0)

SSTIC 2011 – Jour 1

Après un (dur) réveil à 5h du matin et 4 heures de route, nous y sommes enfin. Rennes nous accueille avec un beau soleil et les organisateurs avec du café et des croissants. Cela nous réveille tout de suite et met d’attaque pour cette édition 2011 du SSTIC.

Thoughts on Client Systems Security

Par Joanna Rutkowska

Après une très brève inauguration de la nouvelle édition du symposium, la parole est donnée au premier invité ou plutôt une première invitée : Joanna Rutkowska.

La présentation se déroule en anglais et commence par l’explication de l’importance de la sécurité du système client, le comparant aux yeux et les empreintes digitales de l’utilisateur : les OS des clients peuvent voir ce que les clients voient et peuvent se faire passer pour les clients.

Plusieurs approches sont alors présentées pour sécuriser le poste client : la sécurité réactive, la sécurité par isolation et la sûreté des langages.

L’auteur explique son approche d’isolation entre les applications, entre l’application et le système d’exploitation et propose d’isoler les différents composants d’une application grâce à l’IOMMU et la virtualisation.

La présentation s’est conclue par une présentation de Qubes, le système d’exploitation Open Source  sur lequel travaille Joanna Rutkowska avec ses collègues et qui implémente la plupart des idées énoncées dans la présentation.

BitLocker

Par Aurélien Bordes

La deuxième présentation est celle d’Aurélien Bordes sur la solution de chiffrement de disque dur Bitlocker de Windows. Le rythme de la présentation est très soutenu. Il nous introduit très rapidement à la technologie et explique comment elle s’intègre au système. Il nous présente encore plus rapidement son fonctionnement : la clé FVEK (Full Volume Encryption Key) participant directement au chiffrement des disques est chiffrée par la clé VMK (volume master key) ; la clé VMK elle-même peut être protégée par plusieurs moyens : utilisation d’un secret ou une bi-clé, utilisation du module TPM (permettant la vérification de l’intégrité du système au démarrage) ou de sa combinaison avec un secret.

Il déroule ensuite la liste des différentes menaces possibles sur un ordinateur chiffré avec Bitlocker. Les scénarios d’attaques sont les suivants : attaque en un temps avec un ordinateur éteint, avec un ordinateur allumé et verrouillé, ordinateur allumé et non verrouillé, attaque en deux temps (faisant référence à un des sujets d’actualité, le présentateur nous donne l’exemple d’une femme de ménage d’un hôtel ayant accès à la machine d’un client à plusieurs reprises).

En conclusion, l’orateur nous synthétise les points positifs et les points négatifs de la solution. Bitlocker est une solution stable et bien intégrée au système, elle protège efficacement contre la perte d’une machine. Mais elle n’est pas disponible dans les versions  professionnelles de Windows 7 et la mise en œuvre du module TPM n’est pas efficace en mode d’utilisation seul sans secret fourni par l’utilisateur.

La présentation, bien qu’abordant un sujet connu, a permis de faire un bon état de l’art de la solution.

Silverlight ou comment surfer à travers .NET

Par Thomas Caplin

La matinée s’est poursuivie avec la présentation de Thomas Caplin sur l’exploitation d’une faille du framework .NET via le plugin Silverlight.

Le framework .NET est un ensemble de technologies Microsoft permettant une portabilité plus facile des applications sur Internet, le présentateur nous explique son fonctionnement et son architecture.

Dans la deuxième partie de la présentation, un focus est effectué sur la vulnérabilité en question qui a pu être exploitée sur Silverlight. Il s’agit de la vulnérabilité CVE-2010-1898. Le problème se situe au niveau de la machine virtuelle qui ne gère pas correctement la création des pointeurs sur les méthodes virtuelles, cela permet une exécution de code arbitraire à un attaquant.

Cette vulnérabilité a été corrigée en août 2010 et c’est justement ce correctif qui a permis à l’auteur de remonter à l’origine de la faille et les moyens de son exploitation. Il partage avec nous son analyse de la vulnérabilité. Le problème venant d’un décalage de pointeur, il est possible d’accéder en lecture et  en écriture dans la mémoire. Ainsi, il est possible d’enregistrer un shellcode à la place du stub d’un Thread qui se trouve dans une zone exécutable. Cela permet à l’attaquant l’exécution de son code arbitraire à la place du code initial.

Afin d’exploiter cette vulnérabilité, le présentateur a choisi d’utiliser Silverlight, le plugin Web en .NET, un équivalent de Flash player chez Microsoft. Son choix a été basé sur le fait que Silverlight est exécuté côté client sur sa machine virtuelle .NET et qu’il donne des possibilités d’attaques à travers des différents navigateurs de l’utilisateur que ce soit IE, Firefox ou Chrome. Le prérequis pour cette attaque étant d’avoir un site Internet contenant l’application Silverlight malicieuse.

Cette exploitation de vulnérabilité est très stable et permet une surface d’attaque assez grande. Elle démontre que le Flash Player n’est pas le seul plugin à risque. Mais cette vulnérabilité étant corrigée, il est difficile de l’exploiter aujourd’hui.

XSSF : démontrer le danger des XSS

Par Ludovic Courgnaud

La dernière présentation de la matinée est celle de Ludovic Courgnaud, dont le but est de démontrer à travers son Framework d’attaque XSSF qu’une attaque XSS ne se résume pas qu’à un vol de session.

La présentation commence par un rapide rappel de XSS et du fait que les risques d’attaques XSS ne sont malheureusement pas toujours clairement expliqués. Le but de cette communication est justement de démonter ces risques avec un nouveau Framework d’attaque XSSF.

Le présentateur fait une parenthèse sur la problématique de SOP (Same Origin Policy), la mesure de sécurité intégrée dans le navigateur qui limite le transfert de données entre deux domaines. L’auteur explique qu’il est possible de le contourner via l’utilisation entre autres d’un iFrame pour récupérer les données vers le navigateur et les envoyer depuis le navigateur. De plus, le support du HTML5 par les nouveaux navigateurs donne la possibilité de contourner cette protection.

Ludovic Courgnaud présente son outil XSSF qui est un projet Open Source pouvant être utilisé avec Metasploit  et qui permet le développement et l’exécution d’exploits contre des machines distantes. Il passe ensuite à sa démonstration.

La démonstration qui suit la présentation de l’outil est effectuée en exploitant la faille présente sur le site du SSTIC.

Le présentateur développe ensuite sur les moyens de protection contre les attaques XSS tels que l’utilisation des bloqueurs XSS, la configuration des règles de web application firewall, l’utilisation des les filtres XSS, JavaScript Sandboxing, etc. Mais il conclut finalement qu’il n’existe pas de  solution miracle côté client, mais qu’il est important de sensibiliser les développeurs, filtrer toutes les saisies des utilisateurs et mettre en place des protections intégrées dans les navigateurs.

Rainbow Tables probabilistes

Par Alain Schneider

La première présentation de l’après-midi était celle d’Alain Schneider sur les Rainbow Tables Probabilistes pour le cassage des mots de passe. Ayant consulté l’article en amont (contenant des formules avec des chaines Markov), nous attendions avec appréhension cette présentation. Pour notre grand soulagement, l’auteur en très bon pédagogue a su nous expliquer de manière claire et simple la méthode dont la performance est assez impressionnante.

La présentation commence avec un rappel de ce qui est un mot de passe faible : c’est un mot de passe court, dérivé d’un dictionnaire ou statistiquement probable. « Statistiquement probable » veut dire que la probabilité de transition d’une lettre de l’alphabet à une autre dans le mot de passe est assez élevée. L’approche permettant de découvrir les mots de passe statistiquement probables a été implémentée dans John The Ripper, elle s’appelle l’approche « de Markov ».

S’en suit la présentation du mécanisme de Rainbow Tables qui permet le stockage des associations mot de passe /hashs pré-calculés dans une table. Ainsi, il est plus facile de rechercher rapidement le hash dans la table afin de retrouver le mot de passe correspondant en clair.

Nous arrivons ensuite au sujet principal de la présentation : les Rainbow Tables basées sur des espaces de Markov avec ses problématiques de numérotation des mots de passe de Markov  et la génération des Rainbows Tables avec une GPU. Toutes ces problématiques résolues, les résultats obtenus sont assez parlants. Dans le contexte d’un temps restreint, les performances obtenues par une Rainbow Markovienne de 1Go dépassent  très nettement celles des Rainbows Tables classiques de 10Go.

En ce qui concerne les contre-mesures, le présentateur nous conseille d’utiliser des mots longs avec des caractères exotiques, de les générer de préférence aléatoirement et les faire auditer.

Memory Eye

Par Yoann Guillot

L’après-midi s’enchaîne avec la présentation de Yoann Guillot sur l’outil Memory Eye, permettant l’analyse de la zone de mémoire dynamique pour éviter la technique d’analyse de code trop compliquée.

L’orateur nous explique l’organisation de la mémoire en général et sa structure sous GNU/Linux et Windows XP. Nous avons ensuite droit à une démonstration du fonctionnement de l’outil  sur un jeu nommé « Dwarf Fortress », un jeu ayant lieu dans un monde médiéval fantastique avec des nains en personnages principaux. Ce jeu n’est pas Open Source et il intéresse une grande communauté de hackers qui essayent d’analyser sa structure. La démonstration ayant rencontré quelques problèmes, les spectateurs commencent à s’impatienter. Heureusement, l’orateur a un bon sens d’humour. Le principe de la démonstration est la suivante : le présentateur donne un nom à un nain dans le jeu, il recherche ensuite cette variable dans la mémoire, il tente d’identifier les listes chaînées et les tableaux correspondants à cette donnée,  il retrouve ainsi la structure du chunk et la chaîne contenant le nom du nain. En changeant les données d’un chunk, le nain change de place dans le jeu…

L’avantage de cette technique par rapport à l’analyse de code d’un programme, c’est qu’elle permet de gérer les données bien différenciées, sans essayer de retrouver l’architecture des programmes et de ce fait mieux gérer les mises à jour.

Attaque d’implémentations cryptographiques par canaux cachés

Par Philippe Nguyen

La présentation suivante est celle de Philippe Nguyen sur une nouvelle approche d’attaque de carte à puces. Durant la pause, le présentateur installe son oscilloscope suscitant ainsi la curiosité du public resté dans la salle.

Dès le début, il commence par une démonstration d’une attaque par « canaux cachés » lui permettant de récupérer les clés utilisées pour une opération de chiffrement via un enregistrement électromagnétique. En effet, il nous explique que la consommation du courant durant cette opération (transitions binaires) dépend de la valeur des données utilisées.

Une des approches pour répondre à ce problème est l’utilisation de la technologie appelée WDDL,  qui consomme une quantité fixe d’énergie pour chaque transition permettant ainsi avoir une consommation électrique constante indépendamment du signal, évitant ainsi la fuite de données. Economiquement parlant, il s’avère que cette approche ne peut pour le moment être rentable qu’au niveau des équipements très sensibles, par exemple dans le domaine militaire.

Sécurité du système Android

Par Nicolas RUFF

La dernière présentation était celle de Nicolas Ruff, dont l’arrivée était impatiemment attendue par les habitués du SSTIC. Tout d’abord, il nous explique la raison du changement du titre de sa présentation. Si initialement elle s’appelait « Sécurité du système Android », et puis devenue juste « Android »,  c’est parce qu’il a été abordé par plusieurs personnes étant inquiètes d’éventuel manque de contenu sur le sujet. Et en effet, après une brève introduction sur le système Android, les attaques fusent :

  • Le fait que les applications sont signées ne juge pas de leur sécurité, vu que les certificats autosignés sont acceptés et qu’ils sont facilement révocables en cas de (non) besoin.
  • Les permissions « sensibles » données aux applications doivent être approuvées par l’utilisateur, or elles sont souvent insécables et irrévocables.
  • En ce qui concerne l’utilisation des identifiants uniques pour chaque application, ils ne sont pas garants d’un bon cloisonnement au niveau sécurité.

A part ces points, il existe un nombre important de failles système, logiques, au niveau du modèle de sécurité, de bugs applicatifs, de vulnérabilités liées aux virus/malwares, etc. Les slides contiennent beaucoup d’exemples et de liens à consulter.

Le présentateur a dû noter néanmoins, pour les raisons d’objectivité, que la protection des répertoires system, /mnt/asec est assez bonne, ainsi que le système gère bien les mises à jour OTA.

Nicolas Ruff termine sa présentation avec un extrait de DailyDave sur les smartphones et les bonnes pratiques de sécurité liées à l’utilisation des smartphones.

1 Star2 Stars3 Stars4 Stars5 Stars (2 votes)
Loading ... Loading ...

Comments (0)

La technologie pour maitriser les risques

 

 La technologie pour maitriser les risques

 L’actualité en matière de sinistres majeurs subis par les grands groupes internationaux, ne se désemplit pas depuis plusieurs mois… Ainsi, la gestion des risques et en particulier le contrôle des risques a le vent en poupe, en essayant d’anticiper, de contrôler et de gérer les aléas. Les technologies proposent des solutionsde GRC (Gouvernance, Risk, Compliance). pour aider à cette maitrise des risques.

 A côté de la Tragédie humaine au Japon (tremblement de terre et tsunami), les entreprises ont été fortement paralysées pendant plusieurs semaines courant avril. Selon le ministre de l’industrie «20% de la production électronique mondiale vient du Japon, et même 70% pour au moins trente secteurs technologiques»; cela a été d’autant plus vrai dans le secteur automobile ; A titre d’exemple, la société Hitachi qui fabrique des débitmètres, un composant électronique essentiel aux moteurs diesel et qui équipent par exemple 68% des voitures vendues par PSA en Europe avait interrompu sa production. PSA a dû annoncer une réduction de la production avec une période de chômage technique en France. Globalement Selon une étude d’IHS la catastrophe naturelle au Japon entrainera une diminution de la production automobile de 585 000 voitures. Même l’IPAD2 a été impacté, avec des retards de livraison de plusieurs mois

 Concernant le vol d’information, il y a eu récemment l’affaire d’escroquerie en bande organisée chez Renault, ainsi que vols de données chez Sony qui ont défié la chronique…

Il faut savoir qu’une étude a valorisé le préjudice de vol de données en entreprise à 1000 milliards de dollars (selon une étude de McAfee). La France figurerait parmi les pays les plus touchés selon la cyber criminologue Laurence Ifrah.

 Dans un registre similaire, en 2008, l’assurance maladie a pu récupérer près de 132 millions d’euros de fraudeurs ; la méthode s’appuyait bien sûr l’analyse du dossier de remboursement faite par un agent d’une caisse régionale d’Assurance Maladie, les signalements et autres dénonciations anonymes, et enfin mais surtout, au travers de renseignements provenant de l’analyse des bases de données informatique.

 En quelques décennies, les opportunités de la mondialisation, associées aux évolutions technologiques et en particulier celles liées à l’information ont permis un redéploiement complet des activités des entreprises. Le paysage de l’entreprise a été bouleversé…

Le revers de la médaille est l’apparition ou l’amplification de facteurs aggravants, comme les interdépendances géographiques, le fonctionnement en flux tendus, les interdépendances opérationnelles et financières, portés par des technologies de plus en plus complexes.

Associé à cela, depuis moins de 20 ans, il y a un renforcement de la responsabilité des mandataires sociaux, en particulier dû au développement des valeurs éthiques suite à des incidents majeurs et à la diffusion rapide de l’information et sa médiatisation, amplifiés par les groupes de pressions.

Le contrôle des risques repose sur trois piliers

Pour tenter des répondre à ces enjeux, il y a eu un renforcement de la gestion des risques et en particulier du contrôle des risques ; ce dernier s’appuie sur trois piliers essentiels qui sont :

  • l’anticipation,
  • le contrôle,
  • la gestion d’aléas.

 Le premier pilier, l’anticipation, est une science dite « molle » qui a pour objet de travailler sur les scénarios de risques « non triviaux » ; c’est à dire ceux qui sont en dehors de notre modèle opérationnel en s’appuyant sur des signaux faibles – en particulier des sujets qui sont abordés alors que rien ne le justifie. Il faut également et surtout se préparer à gérer les crises. En effet la question n’est pas de se dire si cela va arriver, mais quand et avec quelle intensité (par exemple, se préparer à des mouvements comme les révolutions dans les pays arabes ou certaines entreprises ont perdu leurs centres d’appels clients).

Cette préparation se doit d’être concrète, pour acquérir de bons reflexes, plus que de suivre à la lettre une procédure, car le diable se cache dans les détails…

 Le deuxième pilier fait partie d’une des missions essentielles des acteurs du contrôle interne. A savoir à travers la modélisation des processus et activités de l’entreprise, d’identifier les points de contrôle qui permettent à priori et/ou à posteriori de maitriser les écarts par rapport à une situation normale, dite de « références ».

Ce dispositif est régulièrement mis à jour sur la base de l’expérience. Toutefois, à ce jour, de part la réglementation, il y a un empilement des contrôles de conformité, en particulier dans le domaine financier, qui nécessite un investissement en ressource très important, mais qui ne doit pas pour autant laisser penser que l’entreprise maitrise totalement ses risques ; elle pourra toutefois argumenter en cas d’incident qu’elle avait prise les mesures en conformité avec la réglementation actuelle – responsable mais pas coupable…

 Toute maitrise du risque s’appuie sur une prise de risque « plus ou moins consciente, maitrisée et acceptée ».

 Des événements extérieurs peuvent bouleverser le modèle de l’organisme au-delà de ses hypothèses et remettre en questions ses référentiels… Toute maitrise du risque s’appuie à la base sur une prise de risque « plus ou moins consciente, maitrisée et acceptée ». Cette prise de risque, et gestion des aléas doivent être revus sur la base des incidents et expériences de l’organisme, de son secteur d’activité dans le Monde, car l’écosystème évolue et une zone d’aléa acceptable hier, sur la base des hypothèses prises (et en particulier la probabilité de survenance d’une situation) ne l’est plus forcement aujourd’hui (à titre d’exemple : crise systémique du système financier, révolution arabe, Web 2.0).

 L’entreprise doit alors disposer en autre d’une organisation de crise « adaptative » rompue à l’exercice pour en maitriser son déroulement.

 Pour accompagner les entreprises dans cette maitrise des risques, les technologies ont su apporter des réponses au travers des solutions de GRC ou SIGR (Système d’Information de gestion des Risques).

 Les 4 grandes fonctionnalités sont :

 1° Anticipation :

  • Analyse des signaux faibles (base incidents et statistiques pour la mise en exergue de futures menaces),

 2° contrôle :

  • Maitrise des risques, au travers des mécanismes d’auto-évaluation,
  • Plan de traitement, au travers de tableau de bord de suivi des plans d’actions

 3° Gestion des aléas :

  • Gestion de crise, au travers de l’organisation de jalons clefs par exemple pour assurer la continuité des activités.

 Sans la technologie, il serait impossible de traiter cette masse d’information décentralisée et manipulée par autant d’acteurs.

 Ces technologies permettent la diffusion d’attendus et la collecte des informations. Comme toutes technologies qui manipulent de l’information, l’essentiel n’est pas tant dans la modélisation (souvent très bien traitée), mais dans la pertinence des données collectées. Et c’est souvent là qu’un effort important doit être réalisé…

Article paru sur  Global Security : http://www.globalsecuritymag.fr/Yann-Fareau-Devoteam-La,20110621,24431.html

1 Star2 Stars3 Stars4 Stars5 Stars (3 votes)
Loading ... Loading ...

Comments (0)

Mobilité: vos données sont en danger

Article publié sur Chef d’entreprise Magazine N°57 - 01/04/2011 – Julien van der Feer

Ordinateurs portables, netbooks, tablettes numériques, smartphones… Les outils pour travailler à distance sont de plus en plus répandus dans les entreprises. De quoi augmenter la productivité de vos salariés. Mais avez-vous pensé à la protection de vos données?

Lire la suite de l’article »

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes)
Loading ... Loading ...

Comments (0)

Retour de BlackHat

bh11eu_150x88

Retour de BlackHat Jour (#0)
Mercredi 16 mars 
Atterrissage en fin d’après midi à Barcelone pour cette Blackhat EU 2011, c’est une fine pluie qui m’accueille à l’aéroport ; heureusement pas de douche froide: l’organisation est bien rodée et c’est sans difficulté que je récupère mon passe pour ces deux jours de confs.
Le programme est constitué de « briefings » et de « training », pour ma part je me concentre sur les briefings …

Lire la suite de l’article »

1 Star2 Stars3 Stars4 Stars5 Stars (10 votes)
Loading ... Loading ...

Comments (0)