ISEC Codes malveillants
Transcription
ISEC Codes malveillants
ISEC Codes malveillants Jean Leneutre [email protected] Bureau C234-4 Tél.: 01 45 81 78 81 INF721, 2011-12. Page 1 III- Vulnérabilités et attaques usuelles 2. Codes malveillants q Code 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 III- Vulnérabilités et attaques usuelles 2. Codes malveillants 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 III- Vulnérabilités et attaques usuelles 2. Codes malveillants q Classification des infections informatiques Codes malveillants Programmes Simples Bombes logiques Chevaux de Troie Programmes Auto-reproducteurs Virus Vers INF721, 2011-12. Page 4 III- Vulnérabilités et attaques usuelles 2. Codes malveillants 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 III- Vulnérabilités et attaques usuelles 2. Codes malveillants 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 III- Vulnérabilités et attaques usuelles 2. Codes malveillants q Virus § Code 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 III- Vulnérabilités et attaques usuelles 2. Codes malveillants 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 III- Vulnérabilités et attaques usuelles 2. Codes malveillants 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 III- Vulnérabilités et attaques usuelles 2. Codes malveillants 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 § Code 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 III- Vulnérabilités et attaques usuelles 2. Codes malveillants 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 III- Vulnérabilités et attaques usuelles 2. Codes malveillants 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 III- Vulnérabilités et attaques usuelles 2. Codes malveillants q Modes d’action des virus d’exécutables (1) § Par écrasement de code En-tête Code En-tête En-tête En-tête Code Virus Code Programme cible Virus Reliquat 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 Ø III- Vulnérabilités et attaques usuelles 2. Codes malveillants q Modes d’action des virus d’exécutables § Par recouvrement de code Code Virus En-tête Code 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 III- Vulnérabilités et attaques usuelles 2. Codes malveillants q Modes d’action des virus d’exécutables § Par entrelacement de code En-tête Code Virus . . . Section1 Section1 Section2 Section2 . . . . . . Section n 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 III- Vulnérabilités et attaques usuelles 2. Codes malveillants q Modes d’action des virus d’exécutables § Par accompagnement de code Code En-tête Exécution 1 Code Virus 2 En-tête Code Virus Code Programme cible Programme cible Ø L’intégrité du code cible est conservée INF721, 2011-12. Page 16 III- Vulnérabilités et attaques usuelles 2. Codes malveillants 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 III- Vulnérabilités et attaques usuelles 2. Codes malveillants 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 : Codered 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 III- Vulnérabilités et attaques usuelles 2. Codes malveillants 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
Documents pareils
Les virus informatiques
De plus en plus malins, de plus en plus vicieux, les virus informatiques sont toujours
là, et aucun antivirus n’y pourra jamais rien. Intelligence (?) du créateur (car les virus informatiques
sont ...