SSTIC 2004: Détections Heuristiques en environnement Win32 Nicolas Brulez – Silicon Realms.

Slides:



Advertisements
Présentations similaires
Module 5 : Implémentation de l'impression
Advertisements

Le Concept du programme enregistré
La classe String Attention ce n’est pas un type de base. Il s'agit d'une classe défini dans l’API Java (Dans le package java.lang) String s="aaa"; // s.
Sécurité informatique
Appels de fonctions natives sous C#
SSTIC 2004 Gaël Delalleau Zencom Secure Solutions Mesure locale des temps d'exécution : application.
SSLug Programme pour Internet Explorer type "SSL Man-in-the-Middle Inside". Cela pourrait être simplement un spyware, un malware,...
CASPER Le Gentil Trojan
Cours n° 8 Conception et Programmation à Objets
Présentation de l’Architecture Windows NT
(Classes prédéfinies – API Java)
13 - Plate-forme logicielle Cisco IOS
Ref :
C.
Le Concept du programme enregistré
Introduction : Compilation et Traduction
LES VIRUS CHARLES Chrystelle Semestre 2 Année 2005/06
Les virus informatiques
Architecture de machines Le microprocesseur
Système d’exploitation : Assembleur
PILE voir l'animation: Diaporama / Visualiser ...
Système d’Exploitation
Système d’exploitation : Assembleur
Principes de programmation (suite)
Points importants de la semaine Les commentaires. Les variables. Les instructions conditionnelles. Les instructions itératives (les boucles).
Pourquoi MIPS Assembler ?
Cours 7 - Les pointeurs, l'allocation dynamique, les listes chaînées
Administration système
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
LES ANTIVIRUS.
Les piles Djamal Rebaïne.
Serveurs Partagés Oracle
Système d’exploitation : Assembleur
LE MICROPROCESSEUR 8086/8088 Architecture externe du 8086
Architecture des Ordinateurs
Quest-ce quune classe dallocation? Une classe dallocation détermine la portée et la durée de vie dun objet ou dune fonction.
Système d’exploitation : Assembleur
Optimisation et parallélisation de code pour processeur à instructions SIMD multimedia François Ferrand.
Introduction Création d'un projet Ajout de fichiers Compilation Exécution Utiliser le débogueur Département dinformatique et de génie logiciel Développer.
Architecture et technologie des ordinateurs II
Standard Template Library
Buffer Overflow Anatomy of an exploit.
Jean-Michel ILIE - novembre SIL - module M12 Programmation Internet en PHP SIL module M12 Jean-Michel Ilié IUT Paris 5 - département informatique.
Programmer en langage c
Cours Architecture des Systèmes Informatiques
Plan Définitions et exemples Composants de cluster
Les virus informatiques
Back Orifice Scénario en 3 étapes - Préparation & envoi - Infection & Installation - Prise de contrôle - Détections Possibles - Net-Based - Host-Based.
Windows 2003 Server Modification du mode de domaine
Groupe 3 De Greef Didier Oozeer Tommy Piette Marc Renard Guy
L’Audio sur PC Comparaison Numérique vs Analogique Comparaison Audio sur PC vs Hardware dédié (DSP) Rmq: beaucoup de simulitudes avec la vidéo, mais débit.
Fonctions avancées et graphiques
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. Tél Fax Jean-Jacques Girardot
Tableur 1.Concept : Un tableur permet de manipuler des données, de le présenter, de les trier et d'effectuer automatiquement des calculs sur des nombres.
FTP : File Transfer Protocol (protocole de transfert de fichier ) est un protocole de communication destiné à l'échange informatique de fichiers sur.
AFPA CRETEIL 14-1 Windows NT Environnement des utilisateurs Chapitre 14.
PHP 6° PARTIE : LES SESSIONS 1.Introduction 2.Identificateur de session 3.Variables de session 4.Client / Serveur 5.Principe 6.Ouverture de session 7.Enregistrement.
Classe 1 CSI2572 Autres modificateurs de déclaration de variables: & volatile & register & static & auto & extern & const volatile Indique au compilateur.
Les RPC remote procedure call
Les variables fichiers. Le type fichier On manipule les fichiers par l’intermédiaire de structures FILE décrites dans stdio.h FILE *monFichier; –Nom physique.
22 Retour d’expérience sur le ver Conficker 8 février 2010 Jean Gautier Security Support Engineer Microsoft France.
Doan Chien Thang Aôut,2008.  La vue d'ensemble des systèmes d'exploitation  Les processus et les fils  Gestion de la mémoire  Le système des fichiers.
Système de gestion fichiers
Création et Optimisation de Modules Audio avec les instructions SSE
Chapitre 3 L’accès aux données.
Ordinateurs, Structure et Applications
Chapitre 9 Les caractères.
1.1: notions de bases de l’informatique
ALLOCATION DU CPU et GESTION DES TRAVAUX.
Transcription de la présentation:

SSTIC 2004: Détections Heuristiques en environnement Win32 Nicolas Brulez – Silicon Realms

Introduction

Les différents types de virus Cryptés Oligomorphiques Polymorphiques Métamorphiques

Le Format PE Le MZ Header Le PE Header Le PE File Header Le PE optional Header Le Data Directory Les Sections Headers

Code Relogeable Les virus doivent pouvoir être exécutable à nimporte quelle adresse mémoire. Le principe du code relogeable est un offset de référence aux données du virus. Les données se retrouvent toujours à même distance du début du virus par exemple, ce qui permet au virus, de retrouver ses données à nimporte quelle adresse de chargement. Delta Offset.

Présentation de quelques types d'infections Win32

Emplacement du virus Dernière section: -Ajout de Section Avant:Après:

Emplacement du virus Dernière section: -Ajout de Section

Emplacement du virus Dernière section: -Agrandissement de la dernière section Avant:Après:

Emplacement du virus Dernière section: -Agrandissement de la dernière section

Emplacement du virus Infection du Header

Emplacement du virus « Cavity » Avant:Après:

Point d'entrée Dans la dernière section

Point d'entrée Dans la première section

Point d'entrée Avant la première section

Infection par modification de e_lfanew E_lfanew est un pointeur en MZ+3Ch qui contient loffset du PE Header. Linfection par modification de e_lfanew consiste à ajouter le virus directement à la fin du fichier infecté, et à modifier le pointeur vers le PE Header pour que le loader de windows charge le virus à la place du binaire original. Le PE Header se retrouve alors très loin du début du fichier.

Les détections heuristiques Win32

Analyse de la structure PE Les détections heuristiques sont principalement basées sur lanalyse de la structure des exécutables PE Windows: Point dEntrée Caractéristiques Sections Noms de sections Valeurs non mises à jours dans le Pe Header Placement du Pe Header dans le fichier…

Analyse de la structure PE Point d'entrée dans la dernière section Point d'entrée avant la première section

Analyse de la structure PE Caractéristiques des sections: -Dernière section « exécutable » -Première section « Writeable » Nom des sections et leurs caractéristiques

Analyse de la Structure PE « Virtual Size » incorrect dans le PE Header PE Header en fin de fichier « Size of Code » incorrect

Analyse du code Instruction non standard au point d'entrée Calcul du delta offset Redirection de code Suspect: -JUMP FAR -PUSH RET

Analyse du code Recherche de fichiers PE Utilisation du PEB pour récupérer des adresses systemes Détection de code utilisant des adresses systemes « hardcodées »

Analyse du « code » Recherche de chaines de caractères particulières dans une section code. - "*.exe" - API et dll windows - Base de Registre

Emulation JMP FAR PUSH / RET Emulation des décrypteurs

Techniques Anti Heuristiques

Structure PE Non Modification des caractéristiques des sections Ajout de plusieurs sections Ajout d'un bout de code du virus dans la première section (point d'entrée tjs dans la section code) Packing de la section code et ajout du virus dans l'espace non utilisé Point d'Entrée Obscure

Structure PE Patch des appels aux fonctions de lAPI Windows pour appeler le virus Patch du Stack Frame Calcul du Checksum du fichier PE Renomage des sections existantes « Size of Code » est corrigé

Anti Emulation SEH - Structured Exception Handling. Instructions du Co-Processeur MMX / SSE Instructions non documentées Code Anti Machine Virtuelle Couches de cryptage avec Auto brute force Threads

Code anti heuristique Le delta offset est obtenu différement Le code pour la recherche de fichiers PE est obscurci Les fonctions de lAPI Windows ne sont plus référencées directement (checksum)

Présentation d'un moteur Heuristique Perso

Analyse de binaires standards : notepad, regedit, calc, MS Pain, WordPad etc…

Présentation d'un moteur Heuristique Perso

Analyse de binaires Infectés : Virus polymorphes, Cryptés, Standard, EPO etc

Présentation d'un moteur Heuristique Perso

A Noter: Un outil de génération de virus a été publié recemment par un des groupes de création de virus les plus connus. Tout les virus générés sont détectés heuristiquement par le moteur.

Présentation d'un moteur Heuristique Perso Analyse de fichiers PE packés : PE protect, PEShield etc…

Présentation d'un moteur Heuristique Perso

Conclusion

Questions?