Les technologies d’auto-défense des programmes malveillants gagnent en nombre et en diversité

Alisa Shevchenko, chercheur au laboratoire Kaspersky Lab de Moscou remonte aux origines des programmes malveillants. Elle dresse également une évolution des virus et un bilan de la situation actuelle.

Qu’entendons-nous exactement par « auto-défense des programmes malveillants » ?

Ce concept n’est pas aussi évident qu’il n’y paraît à première vue. Une attaque menée contre un logiciel antivirus est un acte évident d’auto-défense. La dissimulation des traces de fonctionnement est aussi une sorte d’auto-défense, même si elle est moins évidente. Et l’évolution en elle-même des programmes malveillants constitue un des aspects les moins manifestes de l’auto-défense. Pourtant, c’est bien d’auto-défense qu’il s’agit. Le désir qui anime tout auteur de virus de lancer sa création dans la nature, là où personne ne l’a jamais vu car personne n’avait jamais rien trouvé, est une des motivations à la base de la recherche de nouvelles plateformes à infecter et de nouvelles failles à exploiter.

Afin d’éviter toute confusion sur ce que constituent les technologies d’auto-défense, nous nous pencherons uniquement sur les méthodes d’auto-défense les plus répandues et les plus évidentes exploitées par les programmes malveillants. Il s’agit tout d’abord des diverses variantes du code et de son compactage, de la dissimulation dans le système et de la perturbation du fonctionnement des logiciels antivirus.

Classification

Les méthodes d’auto-défense adoptées par les programmes malveillants sont nombreuses et diverses et les possibilités de classification reflètent cette diversité. Certaines techniques d’auto-défense visent à déjouer les définitions des virus tandis que d’autres cherchent à compliquer la tâches des spécialistes chargés d’étudier le code ; un programme malveillant peut chercher à se cacher le mieux possible dans le système tandis qu’un autre préfère concentrer ses ressources sur la recherche directe d’outils particuliers de la protection antivirus et leur neutralisation. N’importe quelle de ces méthodes peut être classée différemment et appartenir à diverses catégories.

Dans la mesure où le but poursuivi ici n’est pas d’élaborer un système rigoureux de classification des technologies d’auto-défense, nous allons adopter un système qui nous permettra de nous orienter de manière intuitive dans le sujet. Nous allons nous baser sur deux paramètres qui, d’après nous, sont essentiels et nous allons mettre en place un système cartésien dont les axes représenteront ces deux paramètres.

Le premier paramètre représente le degré d’activité de l’auto-défense du programme malveillant. Les représentants les plus « passifs » de cette faune numérique ne se protègent pas ; ils ne contiennent aucun code prévu à cet effet. Seul l’auteur a prévu une certaine couche de protection. L’auto-défense la plus active fait plus figure d’agression ciblée.

Le deuxième paramètre représente le degré de spécialisation de l’auto-défense du programme malveillant. Le niveau de spécialisation la plus réduite en matière d’auto-défense se trouve dans les programmes malveillants qui, d’une manière ou d’une autre, perturbent le fonctionnement d’un logiciel antivirus en particulier. L’auto-défense la plus large et la plus « générale » se retrouve dans les programmes malveillants qui tentent de rendre leur présence dans le système la plus discrète possible à tous les points de vue.

Nous avons utilisé ce système de coordonnées afin de situer les programmes malveillants en fonction des techniques d’auto-défense utilisées. Ce schéma n’a rien de scientifique et permet simplement de s’y retrouver dans les technologies d’auto-défense exploitées par les programmes malveillants. Il s’agit d’un modèle subjectif de l’auteur qui repose néanmoins sur une analyse minutieuse du comportement des programmes malveillants.


Ill. 1. L’espace des technologies d’auto-défense

Chaque moyen d’auto-défense adopté par un programme malveillant accomplit une tâche ou plusieurs. Voici la liste de ces tâches :

  1. Compliquer la détection des virus à l’aide des définitions ;
  2. Compliquer l’analyse du code du virus par les experts ;
  3. Compliquer la découverte du programme malveillant dans le système ;
  4. Compliquer le travail des applications de protection (logiciels antivirus, pare-feu).

J’aborde dans cet article uniquement les programmes malveillants développés pour le système Windows (et principalement DOS) en raison de la popularité réduite des autres plateformes, ce qui se traduit par un développement moindre de programmes malveillants pour celles-ci. Toutes les tendances étudiées dans l’article dédié aux programmes malveillants exécutables (EXE, DLL, SYS) concernent également, d’une certaine manière, les virus de macro et de script. C’est la raison pour laquelle je ne les évoquerai pas dans une section distincte.

Sources : polymorphisme, obfuscation et cryptage

Le polymorphisme, l’obfuscation et le chiffrement peuvent être analysés ensemble car ils visent chacun à accomplir une même tâche, mais dans des proportions différentes. A l’origine, la modification du code du programme malveillant poursuivait un double objectif : compliquer la détection du fichier et compliquer l’analyse du code par les experts.

Les débuts des programmes malveillants remontent aux années 70 et ce n’est que vers la fin des années 80 que les concepts d’auto-défense ont fait leur apparition. Le virus DOS Cascade (Virus.DOS.Cascade) est le premier virus à avoir jamais tenté de résoudre la question de sa protection contre les utilitaires antivirus de l’époque. Pour se protéger, il avait opté pour un cryptage partiel de son code. Cette solution ne fut pas très efficace car chaque nouvelle version du virus contenait une partie inchangée qui suffisait pour trahir la véritable nature du virus, même si chaque nouvelle version était unique. Les auteurs de virus commencèrent à étudier d’autres voies et deux ans plus tard, le premier virus polymorphe appelé Chameleon (Virus.DOS.Chameleon), connu également sous le nom « 1260 » faisait son apparition tandis que Whale, son contemporain, recourait à un cryptage complexe et à l’obfuscation pour protéger son code. Les virus polymorphes-générateurs, qui pouvaient servir de solution clé en main pour la protection du code des programmes malveillants, firent leur apparition deux ans plus tard.

Nous devons expliquer ici pourquoi la modification du code est considérée comme un moyen de résistance contre la détection et comment cette détection fonctionne.

Jusqu’à il y a peu, les logiciels antivirus fonctionnaient uniquement sur l’analyse du code du fichier. Les méthodes les plus anciennes basées sur les définitions cherchaient à identifier une séquence d’octets figées souvent déplacée au début du fichier dans le code du programme malveillant. La méthode heuristique introduite plus tard utilise également le code du fichier mais elle repose sur une recherche plus souple à base de probabilité d’une séquence d’octets caractéristique d’un programme malveillant. Il est évident qu’un programme malveillant peut facilement déjouer cette protection à partir du moment où chaque nouvelle copie présente une nouvelle sélection d’octets.

C’est ici qu’interviennent le polymorphisme et le métamorphisme. Sans entrer dans les détails, ces deux techniques permettent au programme malveillant de modifier complètement sa composition d’octets à chaque nouvelle copie. Les fonctions ne sont en rien modifiées. Le cryptage et l’obfuscation visent avant tout à compliquer l’analyse du code mais dans certains cas, ces techniques peuvent être considérées comme des variantes du polymorphisme : c’est le cas notamment du cryptage de chaque copie du virus Cascade à l’aide d’une clé unique. L’obfuscation, en tant que telle, complique uniquement l’analyse mais lorsqu’elle est appliquée de manière différente dans chaque copie du programme malveillant, elle empêche la détection à l’aide des définitions. Une précision : il est impossible d’affirmer qu’une de ces techniques est supérieure aux autres du point de vue de l’auto-défense du programme malveillant. En réalité, l’efficacité d’une technique dépend des conditions particulières et de la mise en œuvre de cette technique.

Le polymorphisme fut particulièrement répandu uniquement à l’époque des virus DOS qui infectaient les fichiers. La raison en est bien simple. La rédaction d’un code polymorphe est une tâche qui demande beaucoup de ressources et qui se justifie uniquement lorsque le programme malveillant peut se multiplier automatiquement : chaque nouvel exemplaire présente un ensemble plus ou moins identique d’octets. Pour la majorité des chevaux de Troie modernes, qui ne possèdent pas de fonction de multiplication automatique, ceci ne les concerne pas. Autrement dit, à la fin de l’époque des virus DOS, le polymorphisme s’est fait plus rare dans les programmes malveillants et son utilisation était plus souvent liée à la volonté de l’auteur d’affirmer ses capacités que dans le but de remplir une fonction utile (du point de vue des tâches du programme malveillant).


Ill. 2. Code polymorphe P2P-Worm.Win32.Polip

Par contre, l’obfuscation, à l’instar des autres méthodes de modifications du code qui visent à compliquer son analyse et non pas la détection, est toujours d’actualité.


Ill. 3. Représentation de l’obfuscation du code Trojan-Dropper.Win32.Small.ue

Depuis que les méthodes de détection basées sur l’analyse du comportement ont remplacé petit à petit les méthodes basées sur les signatures, les modifications sont de moins en moins capables d’empêcher la découverte des programmes malveillants. Pour cette raison, le polymorphisme et les technologies associées ne sont plus populaires à l’heure actuelle. Seules les techniques visant à compliquer l’analyse du code demeurent.

Virus furtifs

La dissimulation des programmes malveillants dans le système est devenue le deuxième moyen de protection contre la détection adopté par les auteurs de virus DOS. Cette technique fut appliquée pour la première fois en 1990 dans le cadre de l’arsenal du virus Whale que nous avons déjà cité. Le principe consiste, pour le virus qui souhaite se cacher, à intercepter d’une manière ou d’une autre les services système DOS et à transmettre à l’utilisateur ou au logiciel antivirus des données erronées : par exemple, un secteur d’amorçage « propre » alors qu’en réalité il est infecté par un programme malveillant.

Les technologies furtives utilisées dans le système d’exploitation DOS ont été portées à un niveau supérieur dix ans plus tard dans le système d’exploitation Windows sous la forme des outils de dissimulation d’activité (rootkit).

Pour en savoir plus sur les mécanismes de dissimulation du virus dans le système, lisez la rubrique « Outils de dissimulation d’activité ».

Compacteurs, la compression des données à des fins malveillantes

Petit à petit, les virus (programmes malveillants fonctionnant uniquement dans le corps des victimes et impuissants en tant que fichier individuel) ont été remplacés par des chevaux de Troie, à savoir des programmes malveillants totalement indépendants. Ce processus s’est amorcé à l’époque où Internet n’était pas encore aussi rapide et étendu qu’aujourd’hui et où la taille des disquettes et des disques dures était inférieure, ce qui signifiait que la taille du programme était un élément important. Afin de réduire la taille des fichiers des chevaux de Troie, les auteurs de ces programmes, déjà à l’époque de DOS, envisagèrent l’utilisation de compacteurs, ces programmes spéciaux qui traitaient les fichiers donnés selon le principe de l’archivage.

L’effet secondaire du recours à cette technique, utile pour la protection du programme malveillant, est une certaine complication de la détection du programme malveillant à l’aide des méthodes basées sur les fichiers.

Le fait est que lorsque l’auteur développe une nouvelle version du programme malveillant, il modifie en général quelques lignes de code sans toucher à son squelette. Une fois que le fichier est compilé, les octets de certains segments sont modifiés et si les définitions des virus ne contenaient pas ce segment exact, alors le programme malveillant pourra toujours être identifié. L’utilisation d’un compacteur résout ce problème car la modification d’un seul octet dans le fichier exécutable source donne une toute nouvelle sélection d’octets dans le fichier compacté.


Ill. 4. Différence visuelle entre un fichier compacté et un fichier non compacté

A l’heure actuelle, les compacteurs sont toujours beaucoup utilisés. Leur diversité ne cesse d’augmenter ainsi que les ruses qu’ils emploient. En plus de la compression du fichier source, ces compacteurs sont dotés de fonctions de protection complémentaires qui visent à compliquer la décompression du fichier et sont analysés à l’aide d’un débogueur.

Outils de dissimulation d’activité

C’est au début des années 2000 que les programmes malveillants pour le système d’exploitation Windows ont commencé à dissimuler leur présence, soit, comme nous l’avons dit plus haut, environ 10 ans après l’émergence du concept de dissimulation des codes malveillants dans les systèmes DOS. Début 2004, Kaspersky Lab reçut un programme surprenant qui n’apparaissait pas dans la liste des processus et des fichiers Windows. Pour de nombreux experts antivirus, il s’agissait de la première rencontre avec les technologies de dissimulation dans Windows. Pour les auteurs de virus, il s’agissait de l’amorce d’une tendance qui n’allait cesser de se développer.

Le terme rootkit (outil de dissimulation d’activité) fait référence aux utilitaires Unix prévus pour obtenir un accès non autorisé au niveau root dans le système sans que l’administrateur ne s’en aperçoive. A l’heure actuelle, le terme outil de dissimulation d’activité fait aussi bien référence aux utilitaires spéciaux de dissimulation d’informations dans le système qu’aux programmes malveillants dotés de fonctions de dissimulation de sa présence. Toute manifestation d’une application enregistrée de l’extérieur peut appartenir à cette catégorie : lignes dans la liste de processus, fichier sur le disque, clé du registre voire le trafic de réseau.

En quoi la technologie des outils de dissimulation d’activité utilisés pour dissimuler les programmes malveillants dans le système empêche-t-elle la découverte de ceux-ci par les outils de protection ? C’est très simple : par rapport au système, l’utilitaire antivirus est un agent externe, tout comme l’utilisateur. En règle générale, ce que l’utilisateur ne peut voir est également invisible pour le logiciel antivirus. Heureusement, les logiciels antivirus peuvent, grâce à la technologie, améliorer leur vision et voir les outils de dissimulation d’activité là où l’utilisateur ne voit rien.

Le principe de base des virus furtifs sous DOS constitue également la base sur laquelle les outils de dissimulation d’activité fonctionnent. Les outils de dissimulation d’activité les plus fréquents sont ceux qui reposent sur la modification de la chaîne de requêtes systèmes. On les appelle Execution Path Modification. Un tel outil de dissimulation d’activité peut se présenter sous la forme d’un espion-intercepteur situé à un endroit du chemin parcouru par les commandes ou les informations et qui modifie ces commandes ou ces informations afin de les manipuler ou d’administrer le récepteur à l’insu de celui-ci. En théorie, le nombre d’endroits où l’intercepteur peut être placé est illimité. Dans la pratique, on retrouve à l’heure actuelle quelques types de fonctions d’interception des applications utilisateur (API) et d’interception des fonctions système du moteur. Ce type d’outil de dissimulation d’activité se retrouve dans les utilitaires Vanquish et Hacker Defender ainsi que dans des programmes malveillants tels que Backdoor.Win32.Haxdoor, Email-Worm.Win32.Mailbot et certaines versions de Email-Worm.Win32.Bagle.


Ill. 5. L’interception de la fonction ZwQueryDirectoryFile cache le fichier
du pilote dans la liste des fichiers

Les outils de dissimulation d’activité de type Direct Kernel Object Modification (DKOM) sont un autre type d’outil très répandu. Il s’agit d’un espion-interne qui modifie les informations ou les commandes directement à la source. Il s’agit d’outils de dissimulation d’activité qui modifient les données système. L’utilitaire FU dont les fonctions se retrouvent dans le cheval de Troie Gromozon (Trojan.Win32.Gromp) en est un représentant typique.

Une technologie plus récente, correspondant plus exactement à la définition de l’outil de dissimulation d’activité donnée ici, consiste à dissimuler les fichiers dans des flux de données alternatifs (Alternate Data Streams, ADS) du système de fichiers NTFS. Cette technologie fut appliquée pour la première fois en 2000 dans le programme malveillant Stream (Virus.Win32.Stream) et connut une renaissance en 2006 dans Mailbot et Gromozon. A strictement parler, l’exploitation d’ADS correspond plus à l’utilisation d’une de ses fonctions méconnues qu’à un moyen de tromper le système. C’est la raison pour laquelle cette technologie ne possède pas un avenir particulier.


Ill. 6. Exploitation du flux du répertoire système par
le programme malveillant Mailbot (Rustock)

Il existe encore une autre technologie rare qui correspond partiellement aux outils de dissimulation d’activité (mais qui correspond encore moins aux autres types de protection présentés dans cet article) : l’utilisation de fichiers sans corps lorsque les programmes malveillants sont totalement privés de corps sur le disque. Nous avons recensés à l’heure actuelle deux exemplaires de cette technologie : Codred (Net-Worm.Win32.CodeRed), qui a défrayé la chronique en 2001, existait sous une forme fantôme uniquement dans MS IIS et un cheval de Troie conceptuel, découvert récemment, qui conserve son corps dans la base de registres.

Les outils de dissimulation d’activité semblent s’orienter vers la virtualisation et l’utilisation des fonctions du matériel afin de s’intégrer le plus profondément possible dans le système.

Lutte contre les logiciels antivirus

Les programmes malveillants qui adoptent une protection active ont toujours existé. Voici quelques exemples de protection :

  • Recherche ciblée dans le système du logiciel antivirus, du pare-feu ou de tout autre dispositif de protection afin de nuire à son fonctionnement. Le programme malveillant peut ainsi rechercher le nom d’un logiciel antivirus particulier dans la liste des processus et tenter de le décharger.
  • Blocage des fichiers et ouverture en mode exclusif afin de s’opposer aux antivirus de fichiers.
  • Modification du fichier hosts afin de bloquer l’accès aux sites de mise à jour des bases antivirus.
  • Découverte d’une fenêtre de requêtes du système de protection (par exemple la fenêtre du pare-feu « Souhaitez-vous autoriser cette connexion? » et imitation d’un clic sur le bouton « oui ».

En fait, l’attaque en règle contre les moyens de protection est plus une « mesure nécessaire », une protection au pied du mur qu’une attaque active. A l’heure actuelle, lorsque les logiciels antivirus analysent non seulement le code des programmes malveillants mais également leur comportement, les programmes malveillants se retrouvent plus ou moins désarmés : dans ces conditions, ni le polymorphisme, ni le compactage, ni les technologies de dissimulation de l’activité ne le protègent complètement. C’est la raison pour laquelle il reste une seule option au programme malveillant, à savoir neutraliser certains comportements ou fonctions de l’ennemi. En dehors de son caractère inévitable, ce moyen d’auto-défense ne jouirait pas d’une telle popularité car il est peu commode du point de vue de la défense la plus étendue.

Que nous réserve l’avenir. Des virus réactifs ?

La protection contre les virus abandonne de plus en plus l’analyse des fichiers au profit de l’analyse du comportement des programmes. A la différence de l’analyse des fichiers, décrite dans la rubrique « Polymorphisme, obfuscation… », l’analyse du comportement repose sur les actions non pas sur les fichiers mais sur les événements au niveau du système tels que « énumérer les processus actifs dans le système », « créer un fichier avec un nom défini dans un répertoire particulier », « ouvrir un port particulier pour recevoir des données ». En analysant la séquence de ces événements, le logiciel antivirus peut établir le caractère malveillant du processus parent et le cas échéant, avertir l’utilisateur du danger.

Signalons qu’il règne dans le domaine de l’analyse du comportement une confusion terminologique qui complique la compréhension. Ainsi, le module d’analyse du comportement porte différents noms en fonction de l’éditeur : « HIPS », « défense proactive », « heuristique », « bac à sable »… Malgré ces différences terminologiques, une chose est claire : les programmes malveillants sont impuissants face à l’analyse du comportement. Et cette vulnérabilité va certainement définir le développement des programmes malveillants.

En d’autres termes, les auteurs de virus vont devoir apprendre à déjouer les analyseurs de comportement. Il est encore trop tôt pour connaître la méthode qui sera adoptée. Toutefois, l’utilisation de l’obfuscation au niveau du comportement est inutile. Par contre, le développement de technologies de diagnostic de l’état du milieu est quant à lui très intéressant. Ces technologies permettraient au virus de renforcer sa « conscience ». Il pourrait ainsi déterminer son environnement : dans le « monde réel » (dans l’environnement de travail de l’utilisateur) ou dans la « matrice » (administrée par l’antivirus-analyseur).

Les technologies de diagnostic ont déjà un prédécesseur : certains programmes malveillants s’auto-détruisent immédiatement s’ils sont exécutés dans un milieu virtuel (VMWare, Virtual PC). Grâce à ce principe d’auto-destruction intégré au programme malveillant, l’auteur empêche l’analyse du code qui est parfois réalisée par les experts antivirus en milieu virtuel.

Tendances et prévisions

Du point de vue de la dynamique du développement, l’état des tendances présentées ci-dessus est le suivant :

  1. Les rootkits sont de plus en plus tournés vers l’exploitation des fonctions du matériel et vers la virtualisation. Toutefois, cette tendance n’est pas encore parvenue à maturité et il est fort peu probable qu’elle se matérialise (application massive de cette technologie) dans les années à venir.
  2. Technologie du refus du fichier sur le disque : deux concepts connus vont assurer le développement du sujet dans un avenir proche.
  3. Le recours aux technologies d’obfuscation est réduit mais toujours d’actualité.
  4. Le recours aux technologies d’identification des moyens de protection et de perturbation de leur fonctionnement est fréquent et toujours d’actualité.
  5. Le recours aux compacteurs augmente de manière sensible et régulière (tant du point de vue quantitatif que qualitatif).
  6. L’utilisation des technologies d’identification des débogueurs, des émulateurs et des machines virtuelles ainsi que des autres technologies de diagnostic du milieu va devoir se développer pour compenser la transition massive des logiciels antivirus vers l’analyse du comportement.


    Ill. 7. Répartition approximative des technologies d’auto-défense
    des programmes malveillants au début 2007

    Il est facile de voir que les tendances du développement de l’auto-défense des programmes malveillants changent en fonction des tendances du développement des programmes malveillants eux-mêmes et des moyens de protection contre ceux-ci. Quand la majorité des programmes malveillants infectaient des fichiers et que les logiciels antivirus utilisaient uniquement la détection à base de signatures, le polymorphisme et la protection du code étaient d’actualité. A l’heure actuelle, les programmes malveillants sont indépendants et les logiciels antivirus sont de plus en plus proactifs. Sur la base de cet élément, il est possible de pronostiquer quelles sont les tendances en matière d’auto-défense des programmes malveillants qui se développeront plus que les autres :

    1. Outils de dissimulation d’activité. L’invisibilité dans le système confère toujours des avantages même si elle n’empêche déjà plus la détection. Les nouveautés les plus probables seront des nouveaux types de programmes malveillants sans corps et, un peu plus tard, le développement de technologies de virtualisation.
    2. Obfuscation et cryptage. Les mesures adoptées pour compliquer l’analyse du code resteront d’actualité.
    3. Résistance face aux moyens de protection utilisant l’analyse du comportement. Nous pouvons nous attendre ici à certaines nouvelles technologies car celles qui sont utilisées aujourd’hui (attaque ciblée contre les logiciels antivirus) ne sont pas efficaces. Il s’agira peut-être de moyens permettant de détecter les milieux virtuels ou d’une forme de cryptage des comportements.

Conclusion

Que reste-t-il à dire en guise de conclusion ? Etant donné que les programmes malveillants existent, la résistance contre ceux-ci va exister et va se développer et les programmes malveillants vont continuer à développer leur défense. Nous souhaiterions avancer certaines idées sur le thème de cette lutte sans fin illustrée dans la nature.

La situation suivante est caractéristique depuis plusieurs années. Un représentant des cyber-criminels (ou un « chercheur » sous le couvert d’un chapeau blanc) développe un code conceptuel capable de déjouer les moyens actuels de protection et pour connaître une certaine célébrité en prétextant œuvrer pour le progrès, il publie ce code en tant que code « indétectable ». Nous insistons sur l’élément suivant : un tel concept n’est pas fondamentalement indétectable mais seulement indétectable au niveau d’un contournement en une ou deux étapes des fonctions connues du dispositif de protection. Créer ce mécanisme est relativement simple lorsque les mécanismes de protection sont connus.

Ces publications inquiètent un pourcentage déterminé d’utilisateurs qui ne connaissent pas les principes de fonctionnement des programmes malveillants et des logiciels antivirus (« Mon antivirus me protègera-t-il contre cette nouvelle menace ? ») Dans cette situation, les éditeurs de logiciels antivirus n’ont qu’un seul choix : consacrer une partie de leurs ressources à rétablir leur autorité afin de développer des technologies capables de déjouer ce concept, généralement en une étape également. L’autorité est rétablie (il n’y a pas d’autres solutions) et le système « programme malveillant – logiciel antivirus – utilisateur » revient à son état initial où le cycle peut recommencer. Chaque nouveau cycle donne naissance à des programmes malveillants plus rusés et à des moyens de protection plus lourds.

Ce processus demande beaucoup de ressources. Il est inutile et illimité et ces derniers temps il est devenu de plus en plus grotesque et pousse les trois parties à revoir leur point de vue. Les utilisateurs parviennent à la conclusion qu’aucun moyen de protection n’est absolu et que pour cette raison, la meilleure protection demeure la prévention. Les auteurs de virus de concept réfléchissent une fois de plus à la pureté de leurs intentions avant de publier un concept qui mettra de l’huile sur le feu. Et les auteurs d’outils de protection doivent penser plus loin et tenter de bloquer l’ennemi non pas pour un coup, mais bien pour quelques-uns. Et bien qu’on ne puisse pas parler de fin de la « course à l’armement », les intervenants sont en mesure de ralentir le processus.




* Le polymorphisme est une technologie qui permet à un programme capable de se reproduire automatiquement de changer complètement ou partiellement son aspect extérieur et/ou la structure de son code pendant la reproduction.



* L’obfuscation, assombrissement en français, consiste à façonner un bout de code ou un programme afin de le rendre totalement incompréhensible à un lecteur humain, même aidé d’outils informatiques. Il s’agit plus ou moins d’établir un dialogue secret entre le programmeur et sa machine, qui sera la seule à comprendre ce qu’il demande, et à l’exécuter.
Bien sûr, la performance n’est pas du tout le critère principal. En revanche l’aspect artistique ou humoristique d’un programme peut être particulièrement apprécié.
En Perl, un précurseur est Randal L. Schwartz avec ses scripts JAPH.



* Lien sur l’opposition connue dans le milieu informatique entre les termes : Black Hat (chapeau noir, pirate, illégal) et White Hat (chapeau blanc, spécialiste de la sécurité informatique).

Posts similaires

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *