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

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 ...

Plus en détail