Bibliothèque
Ma bibliothèque

+ Ajouter à la bibliothèque

Contacter-nous !
Support 24/24 | Rules regarding submitting

Nous téléphoner

0 825 300 230

Forum

Vos requêtes

  • Toutes : -
  • Non clôturées : -
  • Dernière : le -

Nous téléphoner

0 825 300 230

Profil

Revenir vers la liste d'actualités

Le Trojan.Bioskit.1 infecte le BIOS

Le 12 septembre 2011

Durant les premiers jours du mois de septembre, les experts du laboratoire Doctor Web ont reçu un exemplaire très curieux d'un programme malveillant Trojan.Bioskit.1. Au premier regard c'est un Trojan normal qui infecte le MBR et cherche à télécharger quelque chose sur Internet. Après analyse, les spécialistes Doctor Web ont vu qu'il possédait des mécanismes permettant d'infecter le BIOS de la carte mère.

Une étude approfondie du programme laissait penser qu’il s’agissait d’un résultat d’expérimentation virale (un « proof of concept ») plutôt que d’un programme abouti, fonctionnel. Il pouvait également s’agir de la fuite d’un exemplaire de virus à l’insu de son auteur, avant qu’il ne l’ait terminé. Plusieurs données concordaient :

  • Vérification des clés de la ligne de commande (lancé avec la clé -u , cet exemplaire du trojan permet de désinfecter le système);
  • l'utilisation d’utilitaires;
  • un code de désactivation du virus au bout de 50 jours qui était désactivé;
  • deux types différents d'infection, dont un seul est utilisé;
  • des erreurs dans le code paraissant être des coquilles.

Mais ces éléments ne rendent pas le Trojan moins dangereux. Un détail important : seuls les BIOS Award peuvent être contaminés.

Infection du système

Au départ, le dropper du Trojan Trojan.Bioskit.1 effectue une analyse pour voir si des processus systèmes sont reliés à un antivirus chinois fonctionnant sur la machine : si oui, le Trojan crée une boîte de dialogue transparente depuis laquelle sa fonction principale peut être activée. Ensuite, il trouve la version du système d'exploitation. Si c'est Windows 2000 ou au-delà (sauf Windows Vista), il continue l'infection. Le Trojan vérifie ensuite l'état de la ligne de commande d'où il peut être lancé avec différentes clés :

  • -d — cette clé ne fonctionne pas (on peut supposer que dans la version définitive cette fonction a été éliminée);
  • -w — permet d'infecter le système (celle-ci est utilisée par défaut);
  • -u — permet de soigner le système (y compris MBR et BIOS).

Les ressources du dropper contiennent plusieurs fichiers:

  • cbrom.exe
  • hook.rom
  • my.sys
  • flash.dll
  • bios.sys

Une fois lancé, le dropper décompresse et enregistre sur le disque dur le driver %windir%\system32\drivers\bios.sys. Si le système possède \\.\MyDeviceDriver (le dropper analysé n'en a pas) le Trojan sauvegarde sur le disque le fichier %windir%\flash.dll et il est très probable qu'il cherche à l'intégrer dans les processus système services.exe, svchost.exe et explorer.exe. Cette bibliothèque est destinée à lancer le driver bios.sys à l'aide des outils standards (service control manager) pour créer le service bios. Lors du déchargement de la bibliothèque, ce service est supprimé. En l’absence de device \\.\MyDeviceDriver, le Trojan s'installe dans le système en écrasant le driver beep.sys. Lorsque le Trojan est lancé, beep.sys est restauré depuis une copie de sauvegarde créée auparavant. La seule exception concerne Windows 7: ici, le dropper enregistr %windir%\flash.dll sur le disque et le charge lui-même.

Ensuite, le dropper enregistre le rootkit my.sys dans le répertoire du disque C. Si le driver bios.sys n'a pas pu être lancé ou s’il n’y a pas de BIOS Award, le Trojan passe à l'infection du MBR. Le fichier %temp%\hook.rom (PCI Expansion ROM) est enregistré sur le disque. Mais à cette étape, il est utilisé uniquement en tant que container d'où les données sont extraites et sauvegardées sur le disque. Ensuite, les 14 premiers secteurs du disque dur sont écrasés у compris le MBR. Le MBR original est conservé dans le 8ème secteur.

Le driver my.sys

Ce driver peut être considéré comme assez primitif selon les standards actuels : il intercepte les gestionnaires IRP_MJ_READ, IRP_MJ_WRITE et IRP_MJ_DEVICE_CONTROL du driver système disk.sys

  • IRP_MJ_READ retourne des zéros à la place du code enregistré dans les 63 premiers secteurs du disque dur;
  • IRP_MJ_WRITE ne permet pas d’écrire dans les 63 premiers secteurs du disque dur. De plus, le virus cherche à permettre à son dropper d'écraser le MBR et d'autres secteurs, mais cela ne fonctionne pas à cause d’une erreur dans son code. Ainsi, l'auteur permet au Trojan d'écraser 0x14 (20) secteurs, mais le dropper n'en n’écrase que 0xE (14);
  • IRP_MJ_DEVICE_CONTROL remet STATUS_UNSUCCESSFUL en réponse aux requêtes IOCTL_DISK_GET_DRIVE_LAYOUT_EX, IOCTL_STORAGE_GET_MEDIA_TYPES_EX et IOCTL_DISK_GET_DRIVE_GEOMETRY_EX.

L'infection du BIOS

Voyons maintenant le cas où le driver bios.sys arrive à détecter Award BIOS. Il faut préciser que c'est ce driver qui distingue ce programme malveillant de la longue liste d'autres Trojans similaires infectant le MBR.

Ce driver est petit mais il possède un potentiel de destruction impressionnant. Il comporte trois fonctions:

  • Reconnaître le Award BIOS (ainsi que déterminer la taille de son image et, le plus important, l'adresse du port I/O, à travers lequel le Trojan peut générer de force un SMI (System Management Interrupt) et ainsi exécuter le code en mode SMM);
  • Sauvegarder l'image BIOS sur le disque dans le fichier С:\bios.bin;
  • Enregistrer l'image BIOS du fichier С:\bios.bin.

Il n'est pas facile d'obtenir un accès et de reflahser le BIOS Il faut d'abord assurer l'interaction avec le chipset de la carte mère pour permettre l'accès au chip, puis détecter le chip même et utiliser un protocole d’écriture/suppression correspondant supporté par lui. Mais l'auteur du programme a choisi un chemin plus simple, en donnant toutes ces tâches au BIOS. même. Il a utilisé les résultats d'un chercheur chinois, dont le pseudonyme est Icelord. Sa recherche a été effectuée en 2007. Une analyse de l’utilitaire Winflash pour le Award BIOS a révélé une méthode simple pour reflasher le chip via le service fourni par le BIOS dans le SMM (System Management Mode). Le système d’exploitation n’a pas accès au SMM et au code SMRAM (si le BIOS est correctement écrit, il bloquera l’accès au code), donc le code est exécuté de façon indépendante. Le code peut remplir différentes fonctions : l'émulation des fonctions non implémentées avec la carte mère, le traitement des erreurs hardware, le passage à différents modes de gestion de l’alimentation, exécuter des tâches de service.

Pour modifier l'image du BIOS, ce programme malveillant utilise l’utilitaire cbrom.exe (Phoenix Technologies), qu’il a intégré. A l'aide de cet utilitaire, le Trojan intègre son module hook.rom en tant que ISA BIOS ROM dans l’image. Ensuite, le Trojan.Bioskit.1 envoie une commande à son autre driver pour reflasher le BIOS en utilisant le fichier mis à jour.

Après le redémarrage de l'ordinateur le BIOS appellera toutes les PCI Expansion ROM disponibles, y compris hook.rom. Le code malveillant de ce module vérifie à chaque fois si le MBR a été infecté et le réinfecte si nécessaire. Il convient de noter que le système tournant avec un BIOS Award ne sera pas nécessairement infecté par le Trojan. Seule une des cartes mères testées au VirusLab a été infectée, tandis que les deux autres n’avaient pas suffisamment de mémoire BIOS pour écrire un nouveau module.

Infection du MBR

Pour infecter les fichiers winlogon.exe (sous Windows 2000 et Windows XP) ou wininit.exe (sous Windows 7), le Trojan écrit son code dans le MBR. Pour accomplir cette tâche, le Trojan.Bioskit.1 possède un analyseur (parser) propre NTFS/FAT32. Le Trojan possède également un compteur de lancements mis à jour une fois par 24 heures. Le module est sensé être désactivé au bout de 50 jours, lorsque il aura été modifié de façon à ce que le code ne soit plus exécuté. Mais ce mécanisme a été désactivé dans cette version du Trojan. Le Trojan.Bioskit.1 comprend deux versions de shell code, dont une seule est activée.

Conclusion

Il ne faut pas sous-estimer la gravité d’une telle menace, surtout parce que des versions encore plus sophistiquées ou que des virus de la même puissance sont susceptibles d’apparaître dans le futur. A ce jour, Dr.Web peut détecter le Trojan et traiter (réparer) le MBR et le système de fichiers. Si, suite à la détection et au traitement des fichiers compromis l'ordinateur est toujours infecté par le Trojan.Bioskit.1, il est très probable que le BIOS soit la source d’infection de la machine. Les spécialistes de Doctor Web continuent de travailler sur ce problème.

Votre avis nous intéresse

Pour poser une question sur une news aux administrateurs du site, mettez @admin au début de votre commentaire. Si vous postez une question à l'attention de l'auteur d'un commentaire, mettez le symbole @.avant son nom.


Other comments