Bonsoir à tous.
Après avoir vu une introduction, les caractéristiques principales des virus, et les différents types de virus dans la partie I, je vous propose d'étudier dans cette partie II une introduction sur les stratégies virales, et la partie concernant les stratégies d'infection. Nous verrons le reste des stratégies (propagation; contrôle, camouflage, communication) dans les deux dernières parties, les parties III et IV.
I. Introduction
L'analyse des virus via la virologie opérationnelle passe par l'étude de la mise en œuvre et de l'effectivité des stratégies virales employées par ceux-ci.
Une stratégie virale se définie comme ceci :
La stratégie virale est la politique de direction structurée et hiérarchisée mise en place par un virus dans le but d'évoluer de manière efficace et performante au sein du système numérique dans lequel il évolue.
A. La stratégie pré-programmée
La première catégorie se nomme la stratégie pré-programmée, c'est à dire qu'elle résulte en une suite d'instructions et d'opérations pré-définies par le programmeur que le virus suivra à la lettre. Ce type de stratégie a pour point positif d'être stable et de fournir une rapidité d'exécution virale (rapidité avec laquelle le virus opère) relativement haute. Toutefois sa pré-définition la rend prédictible, et une analyse par rétro-ingénierie du virus permet de connaître précisément ces instructions.
B. La stratégie par apprentissage mixte
Cette stratégie résulte de l'existence d'un pool (stock) d'instructions minimales de références (standard instructions) prévu par le programmeur qui servira au virus de base de référence. Celui-ci intègre également un module d'apprentissage, c'est à dire qu'en fonction des éléments du contexte extérieur il fabriquera de façon autonome une partie de sa stratégie qu'il hybridera avec les instructions pré-définies contenues dans le pool. Le point positif de cette stratégie est de faire chuter le taux de prévision statistique car une partie du comportement viral devient aléatoire, tout en permettant au virus de mieux s'adapter aux conditions du système. Le point négatif est la possibilité de tromper l'apprentissage du virus en injectant de fausses informations dans le système, ou encore de le fuzzer afin de changer directement les instructions contenues dans son pool d'apprentissage.
C. La stratégie par autonomie neuronale
Cette stratégie tire son nom de la faculté d'apprentissage totalement autonome que l'on retrouve dans les intelligences artificielles par réseaux neuronaux. Dans cette stratégie, il n'existe aucune instruction pré-définie par le programmeur, seulement un module d'apprentissage autonome par procédure de tests, c'est à dire que le virus va mettre en œuvre toute une politique complexe de tests afin d'en tirer des « leçons » qui complèteront son apprentissage. Cette stratégie ne fonctionne que par intégration positive dans le sens où le virus ne retient uniquement que les test qui lui apportent des solutions bénéfiques. Le point positif est que la prédictibilité devient nulle car le virus devient totalement imprévisible et lui permet une adaptation maximale au système dans lequel il évolue. Le point négatif reste toujours la faculté de le tromper en injectant des paramètres erronés.
Voici donc les trois catégories de stratégies virales employées par l'ensemble des virus, concernant tout autant les stratégies d'infection, que de propagation ou de communication. Il est intéressant de remarquer que les deux dernières catégories font intervenir la mise en place d'une intelligence artificielle que l'on retrouve très souvent de manière évoluée chez les virus de types engineers ou anti-immunitaires.
II. Stratégies d'infection
La stratégie d'infection virale est le processus utilisé par le virus dans le but d'infecter son hôte, et plus particulièrement la manière dont il rentre dans la machine, phase appelée docking, et dont il crée ou maintient l'ouverture, phase appelée holding.
Étudions successivement ces deux phases.
A. Phase de pénétration ou docking
Cette phase est définie comme le segment transitoire, c'est à dire l'étape, où le virus passe d'un élément extérieur au système à un élément solidaire du système, donc l'étape de pénétration du virus dans son hôte. Au sein de cette phase, l'on distingue trois catégories de méthodes d'infection utilisables selon le type de virus rencontré.
1) L'infection incidente
L'infection incidente est la résultante d'une action manuelle humaine initiant le processus d'infection. Typiquement l'utilisateur lance un exécutable en lequel il a confiance, mais qui embarque en fait un virus qui déclenchera sa charge virale au moment de la lecture exécutive (executive reading) du PE de l'exécutable. Dans les premiers temps, le virus s'armait lors de la lecture précise d'un point d'instruction au sein du fichier, mais les programmeurs ont déplacé ce point au niveau du PE afin de rendre l'infection virale plus rapide et plus efficace.
2) L'infection synchrone ou colinéaire
L'infection synchrone est la stratégie qu'utilise un virus pour infecter un système conjointement à l'introduction d'un programme de confiance, on nomme également cette technique la radar scamming strategy (stratégie d'arnaque des radars) en référence au fait de coller le train d'une voiture devant nous sur la route afin de passer pour un élément unique devant le flash d'un radar de contrôle. L'exécution d'un fichier bindé fait partie de ce type d'infection synchrone, au même titre que l'installation/téléchargement silencieux ; quand vous lancez une installation, un descripteur de sécurité spécifique à l'installeur Windows est ouvert pour créer une file assignant un ID unique au programme en cours d'installation, le virus lie ce descripteur afin de s'auto-assigner le même ID et d'être ainsi « installé » sans problème.
3) L'infection maligne
Cette méthode tire son nom des virus biologiques profitant de l'action d'un autre virus pour infecter un hôte. Typiquement ceci est permis par l'action des tunnelers, des trojans et des anti-immunitaire. Le virus utilise donc la porte ouverte par un virus précédent pour pénétrer le système cible dont les défenses ont généralement été neutralisées.
B. Phase de création et maintient de l'ouverture ou holding
Cette phase est définie comme l'étape procédurale concernant l'architecture et la stabilisation d'un vecteur d'entrée dans le système hôte. C'est à dire l'ouverture, le passage virtuel, à l'aide de laquelle de futurs virus pourrons infecter la machine. Encore ici, nous distinguons trois catégories.
1) Backdooring
La création d'une porte parallèle, ou backdoor, est la prérogative particulière des Chevaux de Troie. Une backdoor est une balise, anchor (ancre), laissé par le premier virus à pénétrer le système et ayant plusieurs fonctions. La première est de permettre un tracking de l'hôte, c'est à dire d'émettre des trames particulières permettant aux futurs virus de remonter jusqu'à cet hôte (très utile lors de la phase de propagation). La deuxième est d'inonder d'instructions invalides le système hôte par période (présence d'un timer) afin de paralyser le CPU ou les systèmes de défense opérationnelle (firewall, antivirus...) ; particulièrement utile dans les cas d'infections synchrones. Généralement c'est le virus même qui agit comme backdoor, cependant les virus les plus évolués embarquent des micro-compilateurs et peuvent donc produire du code à la volée, et notamment créer des balises de toute pièce.
2) Tunneling
La création d'un tunnel d'entrée est la prérogative particulière des Tunnelers. Un tunnel est un segment virtuel architecturé, basé sur un protocole standard (TCP, UDP, SSH...) permettant le transit sécurisé d'information et supposant l'absence de contrôle systématique durant le transfert. Typiquement, le tunneling se matérialise par le détournement de la carte réseau afin de créer un réseau virtuel secondaire (type VPN), et donc un tunnel bidirectionnel sur support TCP/IP afin de faire passer des trames non-sécurisées, voire des fichiers complets par transfert non-contrôlés, notamment dans le cas des virus par auto-download.
Le pont ou viral bridge, diffère du tunnel dans le sens où ce n'est pas un segment dédié uniquement aux futurs virus, les programmes « normaux » pouvant également l'emprunter. Le tunneler ne fait que neutraliser les points de contrôle (notamment la neutralisation ICMP) d'un pont pré-existant afin de permettre le transit des futurs virus.
3) Anti-immunité
La neutralisation des systèmes de défense opérationnelle (SDO) est la prérogative particulière des Anti-immunitaire ou VIH-like. Sont considérés comme SDO les systèmes suivants : firewall, antivirus, IPS, IDS, network analyzers et scanners. Le but des virus anti-immunitaires est donc de désactiver l'ensemble ou la majorité de ces systèmes afin de permettre une infection massive par la suite, notamment en ouvrant la voie aux Engineers. Pour cela, ils embarquent des charges virales transmissibles, ou active virus charges, qu'ils injectent en en-tête des SDO. Ces charges virales sont des séquences complexes numériques composées de ce que l'on nomme des percuteurs d'offsets, ou offsets hammers ; ce sont des instructions auto-réplicantes s'intercalant au sein même des en-têtes et entrainant des décalages d'offsets neutralisant totalement les SDO. Si ces derniers disposent de modules auto-réparateurs, le délai gagné par les anti-immunitaire est variable.
Voilà pour les stratégies d'infection. La partie III traitera des stratégies de propagation et de contrôle. Si vous avez des questions, n'hésitez pas.
---------------------------------------------------------------
Commentaire