ISEC s malveillants Jean Leneutre jean.leneutre@telecom-paristech.fr Bureau C234-4 Tél.: 01 45 81 78 81 INF721, 2011-12. Page 1
q malveillant («malware» ou «rogue program») Ensemble d instruction permettant intentionnellement de mettre en défaut une politique de sécurité Programme simple ou auto-reproducteur s installant dans un système d information à l insu des utilisateurs, en vue de porter atteinte à la confidentialité, l intégrité, la disponibilité ou d impersonnifier un utilisateur (afin de réaliser un délit et de l incriminer à tort) q Les codes malveillants existent depuis longtemps Découverte des virus : Cohen, 1984 Références à menaces et vulnérabilités découlant de failles de programmes remontant bien avant : Ware, 1970 et Anderson, 1972 INF721, 2011-12. Page 2
q Cible : tout système comprenant de la mémoire non volatile dans laquelle le programme infecté se trouve sous forme inactive de la mémoire vive dans laquelle est copié le programme qd il est exécuté un processeur ou un micro-contrôleur pour l exécution un système d exploitation q Non limité aux ordinateurs Cheval de Troie «Phage» sur Palm Pilot Virus Cabir pour les portables et smart phones utilisant l OS Symbian Cheval de troie PSPBrick sur les consoles de jeu INF721, 2011-12. Page 3
q Classification des infections informatiques s malveillants Programmes Simples Programmes Auto-reproducteurs Bombes logiques Chevaux de Troie Virus Vers INF721, 2011-12. Page 4
q Bombe logique Programme attendant un événement appelé «gâchette» pour exécuter sa fonction offensive. Correspond à la charge finale d un virus Exple : CIH se déclenchant le 26 avril INF721, 2011-12. Page 5
q Cheval de troie («Trojan Horse») Programme ayant des effets de bords cachés (non documentés et non prévus par l utilisateur exécutant le programme) Porte dérobée («Trapdoor» ou «Backdoor») : fonctionnalité non documentée d un programme permettant d obtenir un accès au système autrement que par la procédure documentée Module serveur/module client Exple : Back Orifice (protocole UDP, port 31337), Netbus (TCP, port 12345) Peuvent être répandus par des vers «ratware» : porte dérobée qui transforme des ordinateurs en «zombie» pour envoyer du spam Logiciel espion («Spyware») : petits modules insérés dans des logiciels commerciaux pour renseigner l éditeur du logiciel Leurre : programme imitant le fonctionnement normal d un programme légitime du système Fausse bannière de connexion Unix Espion de clavier («Keylogger») : logiciel copiant et envoyant les frappes de clavier INF721, 2011-12. Page 6
q Virus attaché à un programme non malveillant, pouvant s autoreproduire en infectant d autres programmes non malveillants, et contenant une charge («payload») q Vers (worm) Programme s auto-reproduisant à travers un réseau mais n infectant pas forcément d autres programmes q Rabbit Virus ou vers qui s auto reproduit localement sans limite pour épuiser des ressources INF721, 2011-12. Page 7
q Fonctionnement général d un virus Le programme infectant est porté par un programme hôte («dropper») Lorsque le dropper est exécuté Le programme infectant prend la main et le programme hôte est temporairement mis en sommeil, Puis il rend la main au programme hôte qui s exécute normalement sans trahir la présence du programme infectant. L infection d un utilisateur n est possible que s il a exécuté le dropper ou importé des données corrompues (virus de document) basé sur l ingénierie sociale dropper= jeu, animation anodine, mail racoleur, afin d inciter la victime a l exécuter. INF721, 2011-12. Page 8
q Installation du virus Mode transient : s exécute qd le programme auquel il est attaché est exécuté, et termine qd le programme termine Mode résident : se copie en mémoire, peut rester actif ou être activé même si l exécution du programme auquel il est attaché est terminée Mode furtif : le processus n est pas visible lors de l affichage des processus en cours Mode persistant : en cas d effacement ou de désinstallation, le programme infectant est capable de se réinstaller indépendamment d un dropper INF721, 2011-12. Page 9
q Virus d exécutable Une copie du virus est ajoutée dans le fichier de l exécutable cible Il en résulte une hétérogénéité du code source q Virus de code source Une copie du source du virus est ajoutée dans le fichier du source du programme cible Permet d infecter des machines dont l environnement n est pas connu q Virus de document viral contenu dans un fichier de données non exécutable. L activation du code viral est réalisée soit par une fonctionnalité prévue dans l application associée à ce format de fichier, soit en vertu d une faille de l application considérée Exemples : macro-virus word/excel/powerpoint INF721, 2011-12. Page 10
q Virus de démarrage : Vise et utilise les organes spécifiquement destinés à amorcer le système d exploitation (BIOS, secteurs de démarrage) Permet de court-circuiter les contrôles fait au niveau de l OS q Virus multi-cibles Virus infectant plusieurs cibles Exemple : CrazyEddie infectant secteur de démarrage et fichiers exécutables q Virus multi-formats Virus capable d infecter des formats appartenant à des OS différents Exemple : Winux/Lindose qui infecte des fichiers au format ELF ou PE INF721, 2011-12. Page 11
q Virus psychologique (hoax) : Désinformation incitant l utilisateur, par des techniques d ingénierie sociale, à produire des effets équivalents à celui d un virus ou d un ver. Reproduction : transmission de la désinformation par mail Charge finale : effacement de fichier (kernel32.ddl par exemple) INF721, 2011-12. Page 12
q Modes d action des virus d exécutables (1) Par écrasement de code En-tête Virus En-tête En-tête En-tête Virus Reliquat cible Programme cible Programme infecté Petite taille, pas de charge Écrasement de l en-tête Écrasement en partie centrale (fonction de saut) Écrasement de tout le code Pas d augmentation de taille, mais perturbation du fonctionnement INF721, 2011-12. Page 13
q Modes d action des virus d exécutables Par recouvrement de code En-tête Virus Programme cible Programme infecté Le code du virus est accolé à celui de l exécutable (en général à la fin) Augmentation de taille, mais pas de perturbation du fonctionnement INF721, 2011-12. Page 14
q Modes d action des virus d exécutables Par entrelacement de code En-tête Section1 Section1 Virus... Section2... Section n Section2... Section n Programme cible Programme infecté Basés sur le format PE des exécutables 32 bits de Windows Se greffe dans des zones libres réservées du code Pas d augmentation de taille ni de perturbation du fonctionnement INF721, 2011-12. Page 15
q Modes d action des virus d exécutables Par accompagnement de code Virus En-tête Exécution 1 Virus 2 En-tête Programme cible Programme cible L intégrité du code cible est conservée INF721, 2011-12. Page 16
q Mécanismes anti-anti-viraux Furtivité : dissimulation dans des secteurs faussement déclarés défectueux Rootkit : Programme inséré dans le système une fois que l attaquant a pris le contrôle Inclut des fonctions permettant d effacer les traces de l attaque Se situe au niveau du noyau de l OS afin de cacher leur présence Polymorphisme : Variation lors d une copie d un virus (utilisation de chiffrement, réécriture de code par code équivalent) Permet de contourner la vérification par signature Mise en sommeil des logiciels de protection Modifications des règles d un pare feu, W32/Bugbear-A visait une centaine de logiciels de sécurité INF721, 2011-12. Page 17
q Vers simples (worm) Exploite des failles logicielles permettant l exécution de programmes sur une machine distante, et des faiblesses de protocoles pour se disséminer Exemple : red profitant d une vulnérabilité des serveurs Web IIS q Macro-vers Programmes hybrides virus (infection de support transmis par le réseau)/ vers (utilisation du réseau pour la transmission) Activation causée par une action humaine Dissémination : pièces jointes contenant des documents bureautiques infectés Exemple : Melissa q Vers d email (mass-mailing worm) Activation causé par une action humaine ou par une faille Exemple : ILOVEYOU INF721, 2011-12. Page 18
Techniques anti-virales q Techniques statiques Recherche de signature Recherche d une suite de bits caractéristique (discriminante et non incriminante) Correspond à une séquence d instructions ou à un message affiché par le virus, ou la signature que le virus utilise lui-même pour éviter la surinfection d un exécutable Limitée aux virus connus Mise à jour de la base des signatures Analyse spectrale Recherche des instructions caractéristiques de virus ou de vers Un compilateur n utilise qu une partie du jeu d instructions, alors qu un virus utilise un jeu plus large pour améliorer son efficacité Modélisation statistique de la fréquence des instructions et comportement en moyenne d un compilateur Possibilité de fausses alertes Analyse heuristique Utilise des règles INF721, 2011-12. Page 19