Les articles de MISC N°56

Le développement de code d'exploitation a énormément évolué ces dernières années. Les protections comme l'ASLR ou le DEP permanent ont chamboulé la façon de penser l’écriture d'« exploit ». Écraser l'EIP et exécuter un payload sur la pile est désormais de l'histoire ancienne, place à l’écriture d'exploit fonctionnel sur Windows 7 !
Win32/OnlineGames.OUM est un logiciel malveillant qui, comme son nom le laisse deviner, a pour but le vol de comptes de jeux vidéo en ligne. En activité depuis 2006, il est l'une des menaces les plus répandues sur Internet.
Les systèmes d'exploitation de Microsoft regorgent d'interfaces de programmation diverses et variées. Parmi elles, DPAPI, qui permet de chiffrer et déchiffrer les données jugées sensibles de façon transparente, est restée pendant plus de 10 ans non documentée. Nous vous proposons dans cet article de regarder sous le capot et de découvrir les secrets du moteur de chiffrement de Windows.
L'analyse forensique des systèmes vivants (« live data forensics » en anglais) est un domaine en pleine croissance tant sur le plan des pratiques que du développement de méthodes et d'outils dédiés. Son utilisation va de l'analyse des logiciels malveillants aux perquisitions judiciaires, en passant bien évidemment par la réponse aux incidents. Après avoir revu l'état de l'art de cette nouvelle discipline, nous aborderons les problèmes tant juridiques que pratiques qui peuvent se présenter dans le cadre d'une exploitation judiciaire de ces méthodes.
Pour reprendre les propos de Nicolas Ruff [sstic07], trois méthodologies existent pour réaliser des analyses forensiques: dead forensics, live forensics et « la voie du milieu ». Le dead forensics consiste simplement de manière imagée à débrancher la prise de courant, donc globalement à analyser une copie de disque (appelée aussi image) ou de tous supports numériques. C'est le plus souvent la méthode « officielle ». Le live forensics a pour objectif de réaliser l'analyse sur la cible en cours d'exécution, cette méthode est essentiellement utilisée pour détecter toute éventuelle compromission sur un système. Enfin, « la voie du milieu », comme son nom l'indique, se positionne entre ces deux méthodologies et consiste à analyser une image mémoire d'un système en cours d'exécution. Cette méthodologie a un avantage sur le dead forensics, à savoir qu'il est possible de récupérer et analyser les informations dynamiques en collectant la mémoire physique, et a aussi un avantage sur le live forensics, puisque toute contre-expertise sera possible à partir de l'image analysée.
Le cas d’étude est le suivant : nous sommes en possession d’un disque chiffré et d’une copie de la mémoire physique réalisée lorsque le volume était déverrouillé. L’article montre comment analyser un disque chiffré à partir de ces informations avec des méthodes compatibles avec une analyse forensique.
La plupart des banques belges déploient actuellement à grande échelle (certaines depuis plusieurs années déjà) un nouveau mode d'authentification pour autoriser leur clientèle d'accéder à leurs services via Internet. Elles distribuent un petit appareil ressemblant à une calculette pourvu d'un clavier numérique, d'un écran et d'un lecteur de carte à puce. Cet appareil, en combinaison avec la carte bancaire, offre la possibilité de s'authentifier sur le site web de la banque et de signer des transactions en ligne, sur ce même site ou sur un site marchand. Cet article vous entraîne dans la découverte du fonctionnement et de l'implémentation du protocole EMV-CAP, puisque tel est son nom. Dans de nombreux pays, les banques distribuent un appareil semblable, qui a fait l'objet de plusieurs études par des experts reconnus en sécurité, notamment en Angleterre et aux Pays-Bas. Nous comparerons ainsi le fonctionnement et les options prises par les banques de ces pays. Nous passerons en revue certaines attaques publiées contre EMV afin de déterminer si elles s'appliquent également dans le cadre d'EMV-CAP. Grâce à la compréhension du protocole EMV-CAP, nous dissiperons certaines incertitudes quant au fonctionnement interne de ces appareils et nous montrerons qu'il existe des moyens qui rendent ce système encore plus sûr. Une émulation logicielle est également mise à disposition pour ceux qui désirent expérimenter.
Les applications web sont la cible de nombreuses attaques avec des impacts importants sur les sites web attaqués (perte d'image de marque, compromission de données métiers ou de données clients, ...). Il est nécessaire d'auditer ses applications web, que ce soit en boîte blanche ou en boîte noire. Nous proposons dans cet article de décrire le mode de fonctionnement d'un logiciel open source dans le domaine de l'audit en boîte noire d'applications web.Dans cet article, nous ne décrirons pas les vulnérabilités web, nous laissons aux lecteurs le soin de se délecter du Top 10 de l'OWASP [TOP10].
L'audit de programmes en C et C++ s'automatise souvent. Des outils existent, mais ils ont des approches très différentes : de l'utilisation de grep à celle d'outils plus proches du langage analysé, la qualité des analyses (et le prix des outils) varie fortement. La possibilité d'étendre ces outils pose aussi problème. Si l'on veut une base libre, gratuite, proche du langage et extensible, pourquoi ne pas réutiliser directement un compilateur ? Le système de plugins intégré à la suite de compilateurs GCC (disposant de parseurs C, C++, mais aussi Objective C, Java, ... ainsi que de diverses représentations internes) nous permet de concevoir nos propres analyses statiques.Cet article se veut une introduction à l'architecture de GCC et au développement de petits analyseurs facilitant la vie lors d'un audit de code.