Korben, roi d’internet, logo bébé avec des lunettes en mode thug life Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

Korben Upgrade your mind

PMCMA – Le générateur d’exploits

Après une démo à la dernière Blackhat, les petits gars de Toucan System, une boite de sécurité informatique de Chamalières (yeah !), viennent de sortir leur debuggeur pour Linux baptisé PMCMA.

PMCMA ça veut dire Post Memory Corruption Memory Analysis. Derrière ce nom barbare se cache en fait un outil capable d’exploiter un bug dans un logiciel, plus précisément un accès invalide en mémoire, et d’écrire de manière automatisé un exploit pour celui-ci.

Ce genre d’exploit accompagné d’un rapport de debug permettra aux développeurs de mettre plus facilement le doigt sur le problème. Mais si vous êtes un simple utilisateur d’application et que vous avez prévenu telle ou telle société de le présence d’un bug dans leur application, un petit PoC (Proof of Concept) comme ceux générés par PMCMA permettra de leur faire prendre conscience peut être un peu plus rapidement qu’il y a un vrai problème à corriger d’urgence.

Enfin, comme le disent les gens de Toucan System dans leur FAQ, ça peut aussi servir aux scripts kiddies qui le souhaitent d’aller encore plus vite en prison 😉

Voici le texte de présentation de l’outil en français :

Pmcma est un outil GNU/Linux permettant de déterminer si un bug donné est une faille de sécurité en cherchant à écrire un exploit pour celle ci de manière largement automatisée. Il fonctionne pour l’heure sur les microprocesseurs Intel x86 et x86_64.

Plus précisément, dans le cas de corruptions mémoires entrainant un accès invalide en écriture à une adresse mémoire donnée (du fait d’un dépassement de tampon dans une zone inscriptible quelconque par exemple, ou encore du fait d’un integer overflow ou encore d’une chaine de format manquante), l’écriture d’un exploit dépend de la capacité d’un attaquant à écraser un pointeur vers une fonction qui sera ensuite exécuté, afin de détourner le flot d’exécution vers un code arbitraire.

Or, trouver ces pointeurs vers des fonctions est dans la pratique une tâche excessivement compliquée et particulièrement longue. En effet, les debuggers actuels ne sont pas adaptés à cette tâche : le « single stepping » n’est pas possible sur des applications excédant quelques milliers de lignes de code, et l’analyse statique donne de très mauvais résultats (tous les pointeurs sur fonction ne sont pas effectivement exécutés durant l’execution d’un chemin donné, sans même parler de la difficulté à déterminer ceux qui le sont dans des librairies).
Pour palier à ces difficultés, pmcma permet désormais d’effectuer toutes ces étapes de « reverse engineering » de manière totalement automatisée.

Pour ce faire, lors d’un accès invalide en mémoire, pmcma utilise une technique entièrement nouvelle, qui consiste à injecter un shellcode minimal dans le processus, de manière à l’obliger à forker un grand nombre de fois. Dans chacun des processus ainsi créés (qui sont en tout point identiques au processus original, tant du point de vue de l’agencement des sections en mémoire, de leurs permissions, que du point de vue de l’état des variables et autres zones inscriptibles au moment du crash – données globales des librairies en particulier), pmcma modifie alors une adresse mémoire différente avec une valeur « canari » (par exemple 0xf1f2f3f4, qui pointe vers une adresse du noyau sur tous les processeurs Intel x86 et n’est donc pas executable depuis l’userland – ring 3), supprime le signal 11 que le processus original aurait du recevoir, puis continue l’execution de chacun des processus fils. Si d’aventure l’un de ces processus devait exécuter l’adresse correspondant à la valeur du canari, alors un pointeur vers une fonction effectivement utilisé vient d’être trouvé.

Pmcma est également capable de fournir une métrique de répétabilité de l’attaque relatif à l’ASLR (méchanisme dit de « randomisation » de l’espace d’adressage, présent sur tous les systèmes d’exploitation modernes).

bhus_2011_brossard

Les sources sont disponibles sous license open source Apache 2.0. Vous trouverez plus d’infos sur http://www.pmcma.org et plus de détails techniques ici.

Merci à Jonathan Brossard, le papa de PMCMA pour les détails.

 


Travis Touch – Traducteur Électronique Intelligent avec 105 langues

Traductions faciles & Hotspot Internet

105 Langues

Travis Touch est le traducteur intelligent par excellence qui tient dans la paume de votre main. Créez des liens significatifs avec les personnes que vous rencontrez. Que ce soit pour vos loisirs ou les affaires, Travis Touch permet un monde sans barrières linguistiques, traduisant à partir de 105 langues, plus que n’importe quel autre appareil.

Travis Touch écoute ce que vous dites, le traduit dans la langue sélectionnée et lit la traduction en temps réel par son haut-parleur. Votre interlocuteur peut alors s’exprimer dans sa propre langue et Travis traduira pour vous.

En Savoir +



Comment découper une carte SIM sans la bousiller

vec certains téléphone, ça devient une vraie galère au niveau des cartes SIM. Entre la SIM classique (MiniSIM), la MicroSIM et la NanoSIM, difficile de s’y retrouver et surtout de passer d’une plus grande à une plus petite sans devoir attendre que les opérateurs veuillent bien se donner la peine de vous l’envoyer…

Lire la suite


6 outils pour cloner un disque dur sous Windows et Linux

Cloner c’est facile… Bon, ok, cloner un bébé, c’est déjà plus complexe mais un disque dur, c’est l’enfance de l’art… Alors bien sûr le logiciel le plus connu pour ça, est Ghost de Symantec mais au prix de 999,99 euros HT (j’déconne, je ne connais pas le prix en vrai), c’est déjà plus rentable de se mettre à cloner son petit frère artisanalement dans le garage…

Lire la suite