SlideShare uma empresa Scribd logo
1 de 39
Baixar para ler offline
Panorama des techniques de
résistance aux antivirus (anti-AV)



OSSIR - JSSI 2004
4 Mai 2004


Vanja Svajcer, Principal Virus Researcher
vanja.svajcer@sophos.com




                                            www.sophos.com
Introduction


  Contexte
  Techniques anti-AV
  Stratégies de protection
  Le futur
Techniques anti-AV




 Ensemble de méthodes et d’outils utilisés par
 les créateurs de virus pour contrer, retarder ou
 désactiver le processus de protection antivirus
Processus de protection
 contre les virus

Laboratoire antivirus



    Obtenir un                     Détecter /
                        Analyser                 TESTER       Publier
    exemplaire                     Désinfecter




                                                 Appliquer
       Mettre
                        Détecter    Nettoyer        les       Vérifier
       à jour
                                                 correctifs


Réseau de l’entreprise
Principaux types
 de codes malicieux

12000



10000



 8000



 6000



 4000



 2000



    0
    Jan-99   Jul-99   Jan-00   Jul-00   Jan-01   Jul-01    Jan-02   Jul-02   Jan-03   Jul-03

                         Windows          Scripts         Trojans     Macros
La menace actuelle –
virus typiques du 21ème siècle

  Le sens de la vie
    Accès au système de la victime
    Sécurité du système d’exploitation compromise
    Keylogging
    Portes dérobées
    Dénis de services distribués “esclaves”
    Relais pour le spam
    Piratage
Techniques Anti-AV


  Anti-analyse
  Anti-détection
  Anti-nettoyage
Techniques anti-analyse


  Anti-débogage
  “Run-time packers”
  Chiffrement
  Polymorphisme
Déploiement antivirus –
 approche multi-niveau
                                    AV groupware


                   AV passerelle                AV poste de travail
ISP, ASP, MSP AV



    Internet       Virus


                    DMZ


                                                    RTC
                                   AV serveur


                                                AV poste de travail
Techniques anti-détection
(poste de travail)

  Polymorphisme

  Furtivité (dissimulation)

  Packers

  Désactivation des antivirus et autres applications
  de sécurité

  Autres (NTFS, utilisant des applications légitimes)
Dissimulation
dans les fichiers

  Les virus se contentaient de simplement ajouter
  leurs codes à des fichiers exécutables

  Les scanners pouvaient alors rechercher des
  séquences fixes d’octets pour identifier le virus


  Les créateurs de virus se mirent alors à chiffrer
  le code viral, pour ne le déchiffer qu’à l’exécution
  du programme
Virus chiffré

      Programme   Virus
Dissimulation renforcée


  Un chiffrement simple n’est pas suffisant

  Avec le polymorphisme, le code de chiffrement
  varie à chaque nouvelle infection

  Il n’y a plus de boucle de déchiffrement “fixe” à
  détecter
Virus polymorphiques


      Programme        Virus
Virus métamorphiques


 Change les instructions utilisées dans le corps
 du virus

 Ajoute éventuellement des instructions sans action

 Scinde éventuellement les instruction en deux
 étapes ou plus, produisant le même résultat

 Combine éventuellement des instructions

 Il n’y a pas de boucle de déchiffrement
Virus métamorphique

        Programme     Virus




  11 + 44               55




            67 - 12           110 / 2
La solution est …
un émulateur


  La plupart des scanners incluent maintenant
  un émulateur

  Il s’agit d’une simple boucle:
    Lit les octets de code
    Décode ces octets
    Exécute les instructions décodées
    Observe s’il y a une écriture en mémoire
    Traite l’instruction suivante
Que fait-il ?


  L’émulateur observe le déchiffrement du virus
  polymorphique au fur et à mesure de son écriture
  en mémoire

  Dans la plupart des cas, il lui suffit de déchiffrer
  une partie du corps du virus pour le reconnaître

  Le corps du virus ainsi déchiffré est ensuite
  analysé par le scanner
Astuces anti-émulateurs

  Les créateurs de virus essaient de faire échec
  aux émulateurs:
    Appels aux fonctions API système
    Boucles qui ne font rien
    Instructions bidons (“junk”)
    Utilisation de la gestion structurée des exceptions
    Exécution aléatoire du code viral
    Vérification du temps écoulé

  Les émulateurs doivent évoluer
  au fur et à mesure que les créateurs de virus
  mettent au point de nouvelles astuces
Techniques de
dissimulation (furtivité)

  Une fois actif en mémoire, un virus peut dissimuler:
    Fichiers
    Process
    Clés de registres
    Ports
    Mémoire
    Descripteurs d’objets (“Object handles”)
Système normal



            Application




              Système




                 Disque
Virus installé

                 Application




                    Virus




                  Système




                   Disque
Appel aux services systèmes
Windows

 Application Win32        Call WriteFile(…)


 WriteFile dans           Call NtWriteFile
 Kernel32.dll

 NtWriteFile dans              Int 2E
 NTDll.dll
                                                   Espace utilisateur
  interruption
  logicielle                                                  Kernel
 KiSystemService          Call NtWriteFile
 dans NtosKrnl.exe       dans ntoskrnl.exe


 NtWriteFile dans       Exécuter l’opération
 NtosKrnl.exe        Rendre la main à l’appelant
Interception (“Hooking”)


  Mode utilisateur
    kernel32.dll
    advapi32.dll
    ws2_32.dll
    user32.dll
    ntdll.dll
Hooking (Hacker Defender)


  Pour chaque (nouveau) process du système:

   Charger le code d’interruption

   Trouver les fonctions exportées à intercepter

   Sauvegarder l’offset de la fonction interceptée

   Sauvegarder les premiers x octets de la fonction

   Modifier le point de départ de la fonction avec
   le saut
Hooking (Hacker Defender)


  Quand la fonction interceptée est appelée

    Appeler la fonction d’origine

    Modifier les résultats

    Repointer vers la fonction interceptée

    Retourner les résultats modifiés
KiSystemService handler

                  eax= service number
                  edx= address of stack frame




                                                         Int 2e
                                                                   Utilisateur

                                                                         Kernel
                                System Service
KiSystemService                 Dispatch Table
in NtosKrnl.exe


   Service ID   Func. address     System Service
                                  Parameter Table
      0x0          0xff...
      0x1          0xff...
       ...           ...                    Service ID            Bytes
                                                 0x0              0x18
                                                 0x1               ...
Hooking


 Mode Kernel

   Intercepte int 2e

   Change SSDT

   Crée un pseudo-driver en mode kernel

   Ou ajoute un nouveau service système

   Et intercepte les exports ntoskrnl.exe
Hooking - ierk8243


  NtOpenKey
  NtCreateKey
  NtEnumerateKey
  NtCreateFile
  NtOpenFile
  NtDeviceIoControl
  NtQueryDirectoryFile
  NtQuerySystemInformation
  PsSetCreateProcessNotifyRoutine
Run-time packers


  UPX, ASPack, FSG, Petite

   Des “packers” sont utilisés sur le même fichier

   Rend le “reverse engineering” plus difficile

   Les “packers” utilisent des techniques
   d’anti-débogage

   Les scanners peuvent ne pas détecter les virus
   “repackagés”
Techniques anti-détection
(passerelle)


  Messages MIME mal formés

  Obscurcissement MIME (“MIME obfuscation”)

  Chiffrement (W32/Bagle-Zip)

  Pièces jointes compressées (avec mot de passe)
Obscurcissement MIME
(“MIME obfuscation”)

MIME-Version: 1.0
Content-Type: multipart/mixed;
 boundary=WIFVHABY

--WIFVHABY

This is just a test message

--WIFVHABY
Content-Type: text/html
Content-Transfer-Encoding: quoted-printable

<IFRAME SRC=3DCID:EMAIL WIDTH=3D0>
--WIFVHABY
Content-Type: audio/x-ms-wax;
 name=email.com
Content-Transfer-Encoding: base64
Content-ID: <EMAIL>

[base64 encoded file]
--WIFVHABY
--
Obscurcissement MIME
(“MIME obfuscation”)
MIMe-vERSioN: 1(*T).0
COntEnT-TyPe: (<!)mU(3)l(/)TIp(*)aRT(!)/M(;)i(^)X(eCz)E(/`x)d;
 (,#?)Bo(8l)uN(_)Da(*F)Ry=WIFVHABY

XXEMEDWSIUKZTCJYCBTCRRBYFLUICTWOURLFJDDRB
WIFVHABY--
--WIFVHABY
This is just a test

--WIFVHABY
coNTent-TYPE: (6{)t(=`)e(x-1)xt(bU)/hT(w)ML
coNtEnT-TRANSFEr-ENCoDING: Qu(ZYT)OT(0&y)E(DBZ)d(a)-
(_)PRi(p9Q)N(|N)TaBlE

=3CIF=52A=4DE =53RC=3D=43I=44=3A=45MAIL =57=49=44T=48=3D=30=3E
--WIFVHABY
ConTeNt-TYpe: (~S)A(I8t)U(w)D(y:,)Io/(JP)x-M(,)s-w(J)A(+)X(8);
 (')Nam(|lz)E(oJ_)=(M#g)e(NO>)m(J)a(6U)il(b#).c(lp')o(Eh)M
ConTenT-tRaNSFER-eNCoDiNG: bA(@h)se(*)64
coNtENt-iD: <(wFe)EM(gq6)ai(*)L>

[base64 encoded file]
--WIFVHABY
OIALNKVLKBDYHURLTQQGRACSXCSGLWKJVSDROSQBJOXYMYAFRFQJGKA
----
Techniques anti-nettoyage


  Furtivité

  File locking

  Surveillance de process

  Surveillance de la base de registres

  NTFS ADS
Stratégie de protection


  Le logiciel antivirus est seulement un outils parmi
  d’autres

  IDS

  Firewall

  Firewall personnel

  Gestion des correctifs de sécurité (“patchs”)

  Topologie réseau
Déploiement antivirus –
 approche multi-niveau                                       Le firewall personnel
                                                           devient une composante
                                 AV groupware              intégrale de la protection
                                                             antivirus des postes


                   AV passerelle                       AV poste de travail
ISP, ASP, MSP AV

                                NIDS et Honeypots

                   Virus       aident à détecter les
    Internet
                             nouvelles activités virales


                    DMZ


                                                               RTC
                                   AV serveur


                                                           AV poste de travail
Stratégies de protection


  Procédures et politiques


  Equipes de gestion de crises
  (“Emergency Response Teams”)


  Education
Le futur


  Améliorer le scan de la mémoire

  Intégrer la détection des virus furtifs dans les
  logiciels antivirus

  Ne plus vérifier uniquement les fichiers contre le
  code malicieux


  De plus en plus de virus utiliseront furtivité et
  polymorphisme
Questions - Réponses

Mais conteúdo relacionado

Destaque

Presentacion definitiva bogota mito
Presentacion definitiva  bogota mitoPresentacion definitiva  bogota mito
Presentacion definitiva bogota mitocarlos martinez
 
Tutorial Ning para un Taller de Comunicación
Tutorial Ning para un Taller de ComunicaciónTutorial Ning para un Taller de Comunicación
Tutorial Ning para un Taller de ComunicaciónCristina Romero
 
Les meves plantes
Les meves plantesLes meves plantes
Les meves plantesNatzaret
 
Huber Décor Signs Samples
Huber Décor Signs SamplesHuber Décor Signs Samples
Huber Décor Signs SamplesHuber Decor
 
Intégration TES2
Intégration TES2Intégration TES2
Intégration TES2Coukar
 
Pour une réindustrialisation de la France
Pour une réindustrialisation de la FrancePour une réindustrialisation de la France
Pour une réindustrialisation de la Francejeunes-socialistes06
 
Les logiciels libres dans l’administration : modalités et enjeux
Les logiciels libres dans l’administration : modalités et enjeuxLes logiciels libres dans l’administration : modalités et enjeux
Les logiciels libres dans l’administration : modalités et enjeuxInno³
 
Les enjeux majeurs des initiatives apollo 13
Les enjeux majeurs des initiatives apollo 13Les enjeux majeurs des initiatives apollo 13
Les enjeux majeurs des initiatives apollo 13201020112014
 
ROK Solution pour les Ressources Humaines
ROK Solution pour les Ressources HumainesROK Solution pour les Ressources Humaines
ROK Solution pour les Ressources HumainesROK Solution
 
Toulouse lautrec picturi
Toulouse lautrec picturiToulouse lautrec picturi
Toulouse lautrec picturiPetrisor George
 
ALeblanc_Censier 08_Historio 2 b
ALeblanc_Censier 08_Historio 2 bALeblanc_Censier 08_Historio 2 b
ALeblanc_Censier 08_Historio 2 bAudrey Leblanc
 
Tema iii (cont1 bis)
Tema iii (cont1 bis)Tema iii (cont1 bis)
Tema iii (cont1 bis)Luz García
 

Destaque (20)

Presentacion definitiva bogota mito
Presentacion definitiva  bogota mitoPresentacion definitiva  bogota mito
Presentacion definitiva bogota mito
 
Tutorial Ning para un Taller de Comunicación
Tutorial Ning para un Taller de ComunicaciónTutorial Ning para un Taller de Comunicación
Tutorial Ning para un Taller de Comunicación
 
7pechescapitaux
7pechescapitaux7pechescapitaux
7pechescapitaux
 
Les meves plantes
Les meves plantesLes meves plantes
Les meves plantes
 
Huber Décor Signs Samples
Huber Décor Signs SamplesHuber Décor Signs Samples
Huber Décor Signs Samples
 
5' jefe de teopa
5' jefe de teopa5' jefe de teopa
5' jefe de teopa
 
Prétest, post test et evaluation
Prétest, post test et evaluationPrétest, post test et evaluation
Prétest, post test et evaluation
 
Mod 5
Mod 5Mod 5
Mod 5
 
Intégration TES2
Intégration TES2Intégration TES2
Intégration TES2
 
Pour une réindustrialisation de la France
Pour une réindustrialisation de la FrancePour une réindustrialisation de la France
Pour une réindustrialisation de la France
 
Les logiciels libres dans l’administration : modalités et enjeux
Les logiciels libres dans l’administration : modalités et enjeuxLes logiciels libres dans l’administration : modalités et enjeux
Les logiciels libres dans l’administration : modalités et enjeux
 
Evaluación neuro
Evaluación neuroEvaluación neuro
Evaluación neuro
 
Les enjeux majeurs des initiatives apollo 13
Les enjeux majeurs des initiatives apollo 13Les enjeux majeurs des initiatives apollo 13
Les enjeux majeurs des initiatives apollo 13
 
Séance censier
Séance censierSéance censier
Séance censier
 
ROK Solution pour les Ressources Humaines
ROK Solution pour les Ressources HumainesROK Solution pour les Ressources Humaines
ROK Solution pour les Ressources Humaines
 
Clésvisu
ClésvisuClésvisu
Clésvisu
 
Toulouse lautrec picturi
Toulouse lautrec picturiToulouse lautrec picturi
Toulouse lautrec picturi
 
ALeblanc_Censier 08_Historio 2 b
ALeblanc_Censier 08_Historio 2 bALeblanc_Censier 08_Historio 2 b
ALeblanc_Censier 08_Historio 2 b
 
Sesión de aprendizaje n° 05
Sesión de aprendizaje n° 05Sesión de aprendizaje n° 05
Sesión de aprendizaje n° 05
 
Tema iii (cont1 bis)
Tema iii (cont1 bis)Tema iii (cont1 bis)
Tema iii (cont1 bis)
 

Semelhante a 3 b

Installation et Configuration d_un systeme de Detection d_intrusion (IDS).pdf
Installation et Configuration d_un systeme de Detection d_intrusion (IDS).pdfInstallation et Configuration d_un systeme de Detection d_intrusion (IDS).pdf
Installation et Configuration d_un systeme de Detection d_intrusion (IDS).pdfngombeemmanuel
 
Introduction à La Sécurité Informatique 1/2
Introduction à La Sécurité Informatique 1/2Introduction à La Sécurité Informatique 1/2
Introduction à La Sécurité Informatique 1/2Sylvain Maret
 
Alphorm.com Formation Analyse de Malware 2/2 : Le guide complet
Alphorm.com Formation Analyse de Malware 2/2 : Le guide completAlphorm.com Formation Analyse de Malware 2/2 : Le guide complet
Alphorm.com Formation Analyse de Malware 2/2 : Le guide completAlphorm
 
Article mc secus_10_10
Article mc secus_10_10Article mc secus_10_10
Article mc secus_10_10michelcusin
 
Barcamp presentation Cybersecurite by saphia
Barcamp presentation Cybersecurite by saphiaBarcamp presentation Cybersecurite by saphia
Barcamp presentation Cybersecurite by saphiaBarcampCameroon
 
Baromètre BlackNoise 2022.pdf
Baromètre BlackNoise 2022.pdfBaromètre BlackNoise 2022.pdf
Baromètre BlackNoise 2022.pdfssuser384b72
 
Sécurités & Annuaires
Sécurités & AnnuairesSécurités & Annuaires
Sécurités & AnnuairesPaulin CHOUDJA
 
Projet de Securité Informatique.ppt
Projet de Securité Informatique.pptProjet de Securité Informatique.ppt
Projet de Securité Informatique.pptNatijTDI
 
Intervention de Cybersécurité en BTS SIO
Intervention de Cybersécurité en BTS SIOIntervention de Cybersécurité en BTS SIO
Intervention de Cybersécurité en BTS SIOMauriceLambert1
 
CSA_Presentation_Commerciale.ppt
CSA_Presentation_Commerciale.pptCSA_Presentation_Commerciale.ppt
CSA_Presentation_Commerciale.pptMarrelNguemaMvome
 
Antivirus : une technologie obsolète?
Antivirus : une technologie obsolète?Antivirus : une technologie obsolète?
Antivirus : une technologie obsolète?Sylvain Maret
 
Alphorm.com Formation Analyse de Malware 1/2 : Le guide complet
Alphorm.com Formation Analyse de Malware 1/2 : Le guide completAlphorm.com Formation Analyse de Malware 1/2 : Le guide complet
Alphorm.com Formation Analyse de Malware 1/2 : Le guide completAlphorm
 
Api win32 ancestrales pour chevaux de troie hyper furtifs
Api win32 ancestrales pour chevaux de troie hyper furtifsApi win32 ancestrales pour chevaux de troie hyper furtifs
Api win32 ancestrales pour chevaux de troie hyper furtifsUltraUploader
 
Parlons Sécurité IT avec Access et Ludovic Peny (Sophos)
Parlons Sécurité IT avec Access et Ludovic Peny (Sophos)Parlons Sécurité IT avec Access et Ludovic Peny (Sophos)
Parlons Sécurité IT avec Access et Ludovic Peny (Sophos)ACCESS Group
 
Fusioninventory journees-perl-2012
Fusioninventory journees-perl-2012Fusioninventory journees-perl-2012
Fusioninventory journees-perl-2012Gonéri Le Bouder
 
Rapport Threat Intelligence Check Point du 23 mai 2016
Rapport Threat Intelligence Check Point du 23 mai 2016Rapport Threat Intelligence Check Point du 23 mai 2016
Rapport Threat Intelligence Check Point du 23 mai 2016Blandine Delaporte
 
Rapport Threat Intelligence Check Point du 21 mars 2016
Rapport Threat Intelligence Check Point du 21 mars 2016Rapport Threat Intelligence Check Point du 21 mars 2016
Rapport Threat Intelligence Check Point du 21 mars 2016Blandine Delaporte
 
La Saint Hacker tombe le 8 Avril 2014. Saurez-vous faire face à la fin de sup...
La Saint Hacker tombe le 8 Avril 2014. Saurez-vous faire face à la fin de sup...La Saint Hacker tombe le 8 Avril 2014. Saurez-vous faire face à la fin de sup...
La Saint Hacker tombe le 8 Avril 2014. Saurez-vous faire face à la fin de sup...Microsoft Ideas
 

Semelhante a 3 b (20)

Installation et Configuration d_un systeme de Detection d_intrusion (IDS).pdf
Installation et Configuration d_un systeme de Detection d_intrusion (IDS).pdfInstallation et Configuration d_un systeme de Detection d_intrusion (IDS).pdf
Installation et Configuration d_un systeme de Detection d_intrusion (IDS).pdf
 
Introduction à La Sécurité Informatique 1/2
Introduction à La Sécurité Informatique 1/2Introduction à La Sécurité Informatique 1/2
Introduction à La Sécurité Informatique 1/2
 
Alphorm.com Formation Analyse de Malware 2/2 : Le guide complet
Alphorm.com Formation Analyse de Malware 2/2 : Le guide completAlphorm.com Formation Analyse de Malware 2/2 : Le guide complet
Alphorm.com Formation Analyse de Malware 2/2 : Le guide complet
 
Prés kais
Prés kaisPrés kais
Prés kais
 
Article mc secus_10_10
Article mc secus_10_10Article mc secus_10_10
Article mc secus_10_10
 
Barcamp presentation Cybersecurite by saphia
Barcamp presentation Cybersecurite by saphiaBarcamp presentation Cybersecurite by saphia
Barcamp presentation Cybersecurite by saphia
 
Baromètre BlackNoise 2022.pdf
Baromètre BlackNoise 2022.pdfBaromètre BlackNoise 2022.pdf
Baromètre BlackNoise 2022.pdf
 
Sécurités & Annuaires
Sécurités & AnnuairesSécurités & Annuaires
Sécurités & Annuaires
 
Projet de Securité Informatique.ppt
Projet de Securité Informatique.pptProjet de Securité Informatique.ppt
Projet de Securité Informatique.ppt
 
Intervention de Cybersécurité en BTS SIO
Intervention de Cybersécurité en BTS SIOIntervention de Cybersécurité en BTS SIO
Intervention de Cybersécurité en BTS SIO
 
CSA_Presentation_Commerciale.ppt
CSA_Presentation_Commerciale.pptCSA_Presentation_Commerciale.ppt
CSA_Presentation_Commerciale.ppt
 
Antivirus : une technologie obsolète?
Antivirus : une technologie obsolète?Antivirus : une technologie obsolète?
Antivirus : une technologie obsolète?
 
Alphorm.com Formation Analyse de Malware 1/2 : Le guide complet
Alphorm.com Formation Analyse de Malware 1/2 : Le guide completAlphorm.com Formation Analyse de Malware 1/2 : Le guide complet
Alphorm.com Formation Analyse de Malware 1/2 : Le guide complet
 
Api win32 ancestrales pour chevaux de troie hyper furtifs
Api win32 ancestrales pour chevaux de troie hyper furtifsApi win32 ancestrales pour chevaux de troie hyper furtifs
Api win32 ancestrales pour chevaux de troie hyper furtifs
 
Snort
SnortSnort
Snort
 
Parlons Sécurité IT avec Access et Ludovic Peny (Sophos)
Parlons Sécurité IT avec Access et Ludovic Peny (Sophos)Parlons Sécurité IT avec Access et Ludovic Peny (Sophos)
Parlons Sécurité IT avec Access et Ludovic Peny (Sophos)
 
Fusioninventory journees-perl-2012
Fusioninventory journees-perl-2012Fusioninventory journees-perl-2012
Fusioninventory journees-perl-2012
 
Rapport Threat Intelligence Check Point du 23 mai 2016
Rapport Threat Intelligence Check Point du 23 mai 2016Rapport Threat Intelligence Check Point du 23 mai 2016
Rapport Threat Intelligence Check Point du 23 mai 2016
 
Rapport Threat Intelligence Check Point du 21 mars 2016
Rapport Threat Intelligence Check Point du 21 mars 2016Rapport Threat Intelligence Check Point du 21 mars 2016
Rapport Threat Intelligence Check Point du 21 mars 2016
 
La Saint Hacker tombe le 8 Avril 2014. Saurez-vous faire face à la fin de sup...
La Saint Hacker tombe le 8 Avril 2014. Saurez-vous faire face à la fin de sup...La Saint Hacker tombe le 8 Avril 2014. Saurez-vous faire face à la fin de sup...
La Saint Hacker tombe le 8 Avril 2014. Saurez-vous faire face à la fin de sup...
 

3 b

  • 1. Panorama des techniques de résistance aux antivirus (anti-AV) OSSIR - JSSI 2004 4 Mai 2004 Vanja Svajcer, Principal Virus Researcher vanja.svajcer@sophos.com www.sophos.com
  • 2. Introduction Contexte Techniques anti-AV Stratégies de protection Le futur
  • 3. Techniques anti-AV Ensemble de méthodes et d’outils utilisés par les créateurs de virus pour contrer, retarder ou désactiver le processus de protection antivirus
  • 4. Processus de protection contre les virus Laboratoire antivirus Obtenir un Détecter / Analyser TESTER Publier exemplaire Désinfecter Appliquer Mettre Détecter Nettoyer les Vérifier à jour correctifs Réseau de l’entreprise
  • 5. Principaux types de codes malicieux 12000 10000 8000 6000 4000 2000 0 Jan-99 Jul-99 Jan-00 Jul-00 Jan-01 Jul-01 Jan-02 Jul-02 Jan-03 Jul-03 Windows Scripts Trojans Macros
  • 6. La menace actuelle – virus typiques du 21ème siècle Le sens de la vie Accès au système de la victime Sécurité du système d’exploitation compromise Keylogging Portes dérobées Dénis de services distribués “esclaves” Relais pour le spam Piratage
  • 7. Techniques Anti-AV Anti-analyse Anti-détection Anti-nettoyage
  • 8. Techniques anti-analyse Anti-débogage “Run-time packers” Chiffrement Polymorphisme
  • 9. Déploiement antivirus – approche multi-niveau AV groupware AV passerelle AV poste de travail ISP, ASP, MSP AV Internet Virus DMZ RTC AV serveur AV poste de travail
  • 10. Techniques anti-détection (poste de travail) Polymorphisme Furtivité (dissimulation) Packers Désactivation des antivirus et autres applications de sécurité Autres (NTFS, utilisant des applications légitimes)
  • 11. Dissimulation dans les fichiers Les virus se contentaient de simplement ajouter leurs codes à des fichiers exécutables Les scanners pouvaient alors rechercher des séquences fixes d’octets pour identifier le virus Les créateurs de virus se mirent alors à chiffrer le code viral, pour ne le déchiffer qu’à l’exécution du programme
  • 12. Virus chiffré Programme Virus
  • 13. Dissimulation renforcée Un chiffrement simple n’est pas suffisant Avec le polymorphisme, le code de chiffrement varie à chaque nouvelle infection Il n’y a plus de boucle de déchiffrement “fixe” à détecter
  • 14. Virus polymorphiques Programme Virus
  • 15. Virus métamorphiques Change les instructions utilisées dans le corps du virus Ajoute éventuellement des instructions sans action Scinde éventuellement les instruction en deux étapes ou plus, produisant le même résultat Combine éventuellement des instructions Il n’y a pas de boucle de déchiffrement
  • 16. Virus métamorphique Programme Virus 11 + 44 55 67 - 12 110 / 2
  • 17. La solution est … un émulateur La plupart des scanners incluent maintenant un émulateur Il s’agit d’une simple boucle: Lit les octets de code Décode ces octets Exécute les instructions décodées Observe s’il y a une écriture en mémoire Traite l’instruction suivante
  • 18. Que fait-il ? L’émulateur observe le déchiffrement du virus polymorphique au fur et à mesure de son écriture en mémoire Dans la plupart des cas, il lui suffit de déchiffrer une partie du corps du virus pour le reconnaître Le corps du virus ainsi déchiffré est ensuite analysé par le scanner
  • 19. Astuces anti-émulateurs Les créateurs de virus essaient de faire échec aux émulateurs: Appels aux fonctions API système Boucles qui ne font rien Instructions bidons (“junk”) Utilisation de la gestion structurée des exceptions Exécution aléatoire du code viral Vérification du temps écoulé Les émulateurs doivent évoluer au fur et à mesure que les créateurs de virus mettent au point de nouvelles astuces
  • 20. Techniques de dissimulation (furtivité) Une fois actif en mémoire, un virus peut dissimuler: Fichiers Process Clés de registres Ports Mémoire Descripteurs d’objets (“Object handles”)
  • 21. Système normal Application Système Disque
  • 22. Virus installé Application Virus Système Disque
  • 23. Appel aux services systèmes Windows Application Win32 Call WriteFile(…) WriteFile dans Call NtWriteFile Kernel32.dll NtWriteFile dans Int 2E NTDll.dll Espace utilisateur interruption logicielle Kernel KiSystemService Call NtWriteFile dans NtosKrnl.exe dans ntoskrnl.exe NtWriteFile dans Exécuter l’opération NtosKrnl.exe Rendre la main à l’appelant
  • 24. Interception (“Hooking”) Mode utilisateur kernel32.dll advapi32.dll ws2_32.dll user32.dll ntdll.dll
  • 25. Hooking (Hacker Defender) Pour chaque (nouveau) process du système: Charger le code d’interruption Trouver les fonctions exportées à intercepter Sauvegarder l’offset de la fonction interceptée Sauvegarder les premiers x octets de la fonction Modifier le point de départ de la fonction avec le saut
  • 26. Hooking (Hacker Defender) Quand la fonction interceptée est appelée Appeler la fonction d’origine Modifier les résultats Repointer vers la fonction interceptée Retourner les résultats modifiés
  • 27. KiSystemService handler eax= service number edx= address of stack frame Int 2e Utilisateur Kernel System Service KiSystemService Dispatch Table in NtosKrnl.exe Service ID Func. address System Service Parameter Table 0x0 0xff... 0x1 0xff... ... ... Service ID Bytes 0x0 0x18 0x1 ...
  • 28. Hooking Mode Kernel Intercepte int 2e Change SSDT Crée un pseudo-driver en mode kernel Ou ajoute un nouveau service système Et intercepte les exports ntoskrnl.exe
  • 29. Hooking - ierk8243 NtOpenKey NtCreateKey NtEnumerateKey NtCreateFile NtOpenFile NtDeviceIoControl NtQueryDirectoryFile NtQuerySystemInformation PsSetCreateProcessNotifyRoutine
  • 30. Run-time packers UPX, ASPack, FSG, Petite Des “packers” sont utilisés sur le même fichier Rend le “reverse engineering” plus difficile Les “packers” utilisent des techniques d’anti-débogage Les scanners peuvent ne pas détecter les virus “repackagés”
  • 31. Techniques anti-détection (passerelle) Messages MIME mal formés Obscurcissement MIME (“MIME obfuscation”) Chiffrement (W32/Bagle-Zip) Pièces jointes compressées (avec mot de passe)
  • 32. Obscurcissement MIME (“MIME obfuscation”) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary=WIFVHABY --WIFVHABY This is just a test message --WIFVHABY Content-Type: text/html Content-Transfer-Encoding: quoted-printable <IFRAME SRC=3DCID:EMAIL WIDTH=3D0> --WIFVHABY Content-Type: audio/x-ms-wax; name=email.com Content-Transfer-Encoding: base64 Content-ID: <EMAIL> [base64 encoded file] --WIFVHABY --
  • 33. Obscurcissement MIME (“MIME obfuscation”) MIMe-vERSioN: 1(*T).0 COntEnT-TyPe: (<!)mU(3)l(/)TIp(*)aRT(!)/M(;)i(^)X(eCz)E(/`x)d; (,#?)Bo(8l)uN(_)Da(*F)Ry=WIFVHABY XXEMEDWSIUKZTCJYCBTCRRBYFLUICTWOURLFJDDRB WIFVHABY-- --WIFVHABY This is just a test --WIFVHABY coNTent-TYPE: (6{)t(=`)e(x-1)xt(bU)/hT(w)ML coNtEnT-TRANSFEr-ENCoDING: Qu(ZYT)OT(0&y)E(DBZ)d(a)- (_)PRi(p9Q)N(|N)TaBlE =3CIF=52A=4DE =53RC=3D=43I=44=3A=45MAIL =57=49=44T=48=3D=30=3E --WIFVHABY ConTeNt-TYpe: (~S)A(I8t)U(w)D(y:,)Io/(JP)x-M(,)s-w(J)A(+)X(8); (')Nam(|lz)E(oJ_)=(M#g)e(NO>)m(J)a(6U)il(b#).c(lp')o(Eh)M ConTenT-tRaNSFER-eNCoDiNG: bA(@h)se(*)64 coNtENt-iD: <(wFe)EM(gq6)ai(*)L> [base64 encoded file] --WIFVHABY OIALNKVLKBDYHURLTQQGRACSXCSGLWKJVSDROSQBJOXYMYAFRFQJGKA ----
  • 34. Techniques anti-nettoyage Furtivité File locking Surveillance de process Surveillance de la base de registres NTFS ADS
  • 35. Stratégie de protection Le logiciel antivirus est seulement un outils parmi d’autres IDS Firewall Firewall personnel Gestion des correctifs de sécurité (“patchs”) Topologie réseau
  • 36. Déploiement antivirus – approche multi-niveau Le firewall personnel devient une composante AV groupware intégrale de la protection antivirus des postes AV passerelle AV poste de travail ISP, ASP, MSP AV NIDS et Honeypots Virus aident à détecter les Internet nouvelles activités virales DMZ RTC AV serveur AV poste de travail
  • 37. Stratégies de protection Procédures et politiques Equipes de gestion de crises (“Emergency Response Teams”) Education
  • 38. Le futur Améliorer le scan de la mémoire Intégrer la détection des virus furtifs dans les logiciels antivirus Ne plus vérifier uniquement les fichiers contre le code malicieux De plus en plus de virus utiliseront furtivité et polymorphisme