Les articles de MISC N°58

Article mis en avant

Introduction au dossier : Sécurité et architecture PC : l'impossible confiance ?

Pourquoi s’intéresser au fonctionnement du matériel ? Pourquoi quitter le confort offert par l'interface de notre OS préféré pour plonger de l'autre côté, au plus près du matériel ? Ceux chez qui vibre encore la fibre « happy hacking » répondront unanimement : « Pour le fun ! Pour savoir comment cela marche vraiment ! ». Comment expliquer que deux processus accédant à la même adresse ne lisent pas la même donnée ?

La version 10.6.7 de Mac OS X sortie le 21 mars 2011 apporte un correctif pour la vulnérabilité CVE-2011-0182 découverte par Jeff Mears [1]. La faille se situe dans la fonction i386_set_ldt du noyau XNU, qui permet à un processus utilisateur de modifier sa LDT de façon trop permissive. Il était alors possible d'utiliser cette fonction pour créer une entrée de type « call gate » dans la LDT pour exécuter directement du code avec les privilèges noyau. Nous détaillons ici les particularités du noyau XNU sur l'architecture Intel afin d'exploiter cette vulnérabilité.
Cet article est un retour d'expérience sur l'audit d'une application web complexe. Son principal intérêt est de mettre en lumière quelques utilisations originales du langage Python. Tous les exemples de code ont été testés avec Python 2.x.
Les menaces sur téléphones mobile sont en forte progression. Nous comptions trois nouvelles menaces par jour au mois de mars 2011. Nous en sommes à plus de dix par jour au mois de septembre 2011. Nous sommes encore loin des plus de 70 000 nouvelles menaces par jour que l'on retrouve sur PC, mais la croissance est rapide.La plateforme Android est la plus ciblée à l'heure actuelle. 28 % des malwares détectés ciblent Android. Le Java pour mobile (J2ME) reste en tête du classement (plus pour très longtemps) avec un peu plus de 50 % des menaces, alors que celles pour Symbian OS ne représentent plus que 13 % (statistiques basées sur le nombre de signatures du produit Kaspersky Mobile Security).La tendance montre clairement qu'Android est une plateforme de choix pour les criminels.Nous allons voir l'analyse d'une des nouvelles menaces pour Android. Cette fois, il ne s'agit pas de profit ni d'espionnage. « Trojan.AndroidOS.Dogowar.a » pourrait être comparé aux vieux malwares sur PC qui défendaient des causes. Nous allons voir cela en détail.
L'objectif du premier article de ce dossier est de résumer les principes fondamentaux qui régissent la sécurité au sein d'un processeur et qui remontent à la fin du siècle dernier : les modes d'exécution et les niveaux de privilèges du processeur, la segmentation et la pagination. Cet article se veut également une courte introduction à des extensions des plates-formes x86 qui ont été ajoutées ces dernières années. Certaines d'entre elles sont décrites plus en détail dans les articles qui suivent.
Cet article rappelle le fonctionnement des entrées/sorties du processeur sur une architecture de type PC. On y détaille les différents composants impliqués, leurs rôles et la façon dont ils sont utilisés par un système d'exploitation. La seconde partie se concentre sur les faiblesses de ces mécanismes et les vulnérabilités induites. Nous concluons l'article par les contre-mesures disponibles. « Architecture PC » désigne dans notre cas un système équipé d'un processeur x86 et d'un bus PCI ou PCI Express.
Les ordinateurs sont devenus des machines très complexes, qui résultent de l'assemblage de nombreux composants issus de fabricants différents. Pour assurer le fonctionnement correct de l'ensemble, le système a notamment besoin de gérer l'alimentation de la plate-forme et de répondre à certains événements bas-niveau. Si ce besoin concernait initialement surtout les ordinateurs portables, il s'est généralisé à l'ensemble des systèmes informatiques.
Parmi les composants censés participer à la sécurité des systèmes PC, le TPM s'est généralisé en l'espace de seulement quelques années sur une majorité de cartes mères. Pourtant, force est de constater que son usage par les éléments physiques et logiques des plates-formes peine à s'imposer. Le TPM pourrait cependant contribuer à une fonction de sécurité essentielle : la vérification de l'intégrité d'une plate-forme, en particulier lors du démarrage de celle-ci. Son utilisation, certes encore marginale, par des acteurs majeurs tels que Intel/TXT et Microsoft/BitLocker, pourrait favoriser son adoption.
Le mur de Berlin tombe en 1989, l’empire soviétique s’écroule, la guerre froide prend fin, et le monde entre dans une nouvelle époque, notamment celle des nouvelles technologies de l’information et de la communication. Ce tournant est marqué par la première guerre du Golfe dont l’issue rapide fait naître bien des fantasmes sur la maîtrise de l’information ; il est bien sûr aussi marqué par l’apparition d’Internet. Cuba a souffert de la fin de l’empire soviétique. Cuba a pu observer la nouvelle maîtrise technologique de son adversaire américain. Mais l’île n’a pas su prendre en route le train des nouvelles technologies et reste écartée aujourd’hui encore de la société mondiale de l’information, de la cyberculture (§I). Le cyberespace est perçu par les autorités comme une menace, et géré comme tel : car par le biais de l’Internet, le pays peut être victime de l’influence étrangère, de ses idées subversives et des tentatives de déstabilisation. Le cyberespace ne peut exister que dans la mesure où il défend « la Révolution et les principes auxquels Cuba croit depuis des années » [1]. Un embryon de cyberespace existe donc dans ce pays, mais soumis à contrôle, surveillance, régulations, l’objectif demeurant toujours la maîtrise de l’information par la maîtrise de l’outil (§II).
Depuis quelques mois, on voit fleurir sur Internet des alertes de sécurité concernant des malwares, vulnérabilités et fuites d'informations personnelles touchant le système d'exploitation mobile de Google : Android. Il est donc légitime de se demander s'il est possible de sécuriser les données personnelles manipulées par ce système. L'objectif de cet article est de vous présenter la mise en place d'un mécanisme de chiffrement de vos données sur votre terminal Android.
Dès 2007, avec l'apparition des premiers clusters de PS3, les GPU se sont imposés comme les nouvelles plateformes reines du cassage de mot de passe grand public. Quatre ans plus tard, pourtant, les techniques de cassage GPU mises en œuvre publiquement restent rustiques et les subtilités déployées dans les outils de cassage sur CPU ne se retrouvent pas sur ces nouvelles plateformes. À travers l'exemple de l'outil crackNfast, dévoilé au SSTIC 2011, nous verrons dans cet article qu'une réelle marge de progression peut être franchie en combinant des techniques déjà connues avec la puissance des GPU.
Depuis Windows Vista, Microsoft a ajouté divers mécanismes de sécurité. Nous pouvons citer, par exemple, BitLocker, PatchGuard, les DRM, etc. Pour cet article, nous avons choisi de nous concentrer sur les nouveaux usages de la signature numérique. Par exemple, sous Windows Seven 64 bits, il est obligatoire que tous les drivers soient signés.Après avoir montré dans un article précédent comment se servir des outils mis à notre disposition par Microsoft et détaillé le fonctionnement interne des dispositifs de signature, nous verrons comment le système effectue la vérification de sa propre intégrité ainsi que celle des drivers du système.
Comment réduire la surface d'attaque du Système d'Information d'une multinationale présente sur les cinq continents et dont les filiales ont des niveaux de sécurité hétérogènes ? C'est à cette question que nous allons tâcher de répondre en adoptant une approche pragmatique (puisqu’on vous le dit !).Une fois le contexte et les besoins décrits, nous définirons la notion de « sécurité homéopathique ». Nous vous sentons dubitatifs. Que cette expression qui frôle le buzzword au rabais ne vous rebute point. Nous allons tenter de vous convaincre (si, si !) de son importance dans la conception de la solution proposée. Nous allons aussi présenter les différents indicateurs qui ont été mis en place pour suivre l'évolution de la surface d'attaque dans le temps et engager un processus continu d'amélioration du niveau de sécurité.