mercredi 5 décembre 2007

Quelques petites notes virtuelles...

Il ya de plus en plus de virus qui incorporent des routines et des méthodes anti-émulation et anti-virtualisation... Faut bien le dire; la scène virale sous Windows est entrain d'évoluer à plein régime, à plein gaz et à feu de guerre. A ce que je vois, les auteurs de virus se sont bien instruits, ce n'est plus comme dans les années 1998-2001, puisque nous faisons face maintenant à des gens intelligents, bien organisés, très bien informés et surtout de plus en plus compétents dans l'art du reverse engineering.

"Quel rapport entre le monde viral et la science du reversing ?"; vous pouvez bien dire; Bein, en 2007-2008, l'architecte anti-viral est obligé de prendre un facteur de plus dans le design de son engin de détection, c'est à dire en plus du design principal de fonctionnement qui se résume à la détection virale, il doit prendre en considération plusieurs autres facteurs en relation étroite avec le reverse engineering :
  • 1 - Son engin sera analysé par une ou plusieurs autres firmes Antivirales concurrentes. Oui, en effet c'est une pratique courante dans tous les domaines et surtout dans ce monde de sécurité où tout le monde espionne tout le monde. C'est ce que j'ai toujours fais, et c'est ce qu'on va me faire lorsque je vais rendre mon engin exposé au public. Beaucoup d'engins de détection bâtis entre 1998 et 2001 n'ont pas prévu le reverse engineering dans son état actuelle en fin 2007, je ne veux pas citer des noms précis, mais croyez-moi il y en a beaucoup.
  • 2 - Son engin sera analysé par les créateurs de virus en personnes ! Avant, ils testaient leurs créations virales à l'aveuglette en comparaison avec l'époque actuelle; le créateur de virus de l'ancienne époque agissait en artiste, en pure programmeur; L'effort principal était principalement réparti dans la création des méthodes de cryptages et d'évolutions polymorphiques et métamorphiques, c'est à dire ne prenant en compte principalement qu'un seul axe de détection : la fameuse méthode dite SCAN STRING. De plus, pour tester la furtivité de sa création, le créateur de virus de cette époque là, entretenait une relation contre-productive avec les engins de détection virales. Il commençait par construire son code viral et puis à le tester en temps réel contre des engins pré-installés dans son propre ordinateur; et si nécessaire, le modifiant entre temps afin d'obtenir une parfaite furtivité. Cette furtivité soit disant parfaite avait le plus grand défaut de n'être furtive qu'à très court terme, c'est à dire, juste le temps d'être analysée par les architectes antivirus avant que des nouvelles méthodes de détection ou des modifications sur des méthodes pré-existentes soient implémentées; ce qui avait pour conséquences : la détection de toutes les variantes du code viral développé par ce triste créateur. C'était le jeu du chat et de la souris; honnêtement, c'était du moins plus facile de détecter un virus que de le rendre indétectable. Pour conclure sur ce petit point, le réel mode de fonctionnement des engins de détection antiviraux était comme une boîte noire pour les créateurs de virus, qui focalisaient leurs champs d'actions sur le virus en question et non pas sur la détection en soit, l'image est : c'était les architectes Antivirus qui déboguaient les virus et non pas les créateurs de virus qui déboguaient les engins de détection.
La situation actuelle en 2007-2008 est tout à fait inverse de la situation de celle de l'ancienne époque, les méthodes de détection ne sont plus comme une boite noire, pire encore les méthodes de travail des architectes antiviraux n'est plus un secret; En plus des compétences ardues de programmation, les auteurs de virus ont développé des connaissances approfondies dans la science du Reverse Engineering ce qui a élargit leur champs d'actions et par conséquent l'ampleur de leurs dégâts.

Armé d'un savoir faire ardue, de flux informationnels de plus en plus amples et précis et des outils de déboguage de plus en plus sophistiqués : le créateur de virus de l'époque actuelle est tout à fait apte à construire un virus capable d'évader toutes les méthodes de détections conventionnelles sachant qu'il est tout à fait capable de déboguer la majorité des engins antiviraux actuels jusqu'au plus fin détail de leur fonctionnement. Le monde d'émulation n'est plus un secret, il est même devenu OPEN-SOURCE : citant à titre d'exemple les fameux bochs.sourceforge.net ou fabrice.bellard.free.fr/qemu. Cette évolution colossale du savoir faire du grand public a induit à ce que le créateur de virus contemporain n'est plus par définition un simple enfant de 14-18 ans, un petit génie ou un artiste de programmation; Non ! Aujourd'hui il faut être préparé à faire face à un informaticien professionnel, je veux dire un criminel professionnel armé d'un savoir faire de plus en plus évolué et surtout prêt à offrir ses CYBER services à quiconque but lucratif. L'évolution du phénomène des BOTS et des technologies Root-kits, le fait que la cyber criminalité contemporaine regroupe toutes les disciplines criminelles : Cracking, Carding, Spam, Trojans, Rootkits, Spywares, Dialers, Bots... et que celles-ci se rejoignent et peuvent se fusionner sous un même objet : je me permets de penser que nous sommes face à des vraies organisations cyber criminelles internationales construites en nid d'araignée; et que le design de tout engin antiviral contemporain doit prendre en comptes en plus de la somme de toutes ces menaces citées : il doit surtout prendre en compte l'élément humain et de son savoir faire concrétisé par la science du Reverse Engineering.

La matérialisation de mes propos se résume techniquement à ceci : attendez-vous de voir des virus qui ciblent les limitations des technologies de Virtualisation / Emulation; Déjà il ya un grand nombre de nouveaux virus qui contient des routines qui vérifient si le virus en question est entrain de s'exécuter en mode réel ou qu'il est entrain de se faire exécuter en mode virtuel c'est à dire à l'intérieur d'un OS Virtuel émulé par VMWARE / VIRTUAL PC / BOCH / QEMU et par conséquent ou bien il refuse de fonctionner ( c'est moins intelligent ) ou bien fonctionne incorrectement ( CRASH !!). Pire encore, attendez-vous de voir des routines anti-émulation qui visent l'émulation CPU des Antivirus : des instructions invalides, manipulations des flags, instructions insolites, appel intensif à des API Windows qui ne peuvent pas être émulées correctement etc.. Maintenant, qu'ils savent le principe d'émulation, son mode de fonctionnement et qu'ils ont le savoir faire qui leur permet de déboguer les engins de détections qui n'ont pas été préparé à être investis d'aussi prêt : attendez-vous au pire, attendez-vous à toute sorte d'idées et d'astuces qui vont rendre votre travail d'architecte antiviral aussi vain que possible.

Aucun commentaire: