Upgrade to Pro — share decks privately, control downloads, hide ads and more …

EuroSec 2007 - Techniques de capture de malware

EuroSec 2007 - Techniques de capture de malware

Laurent Butti

May 24, 2007
Tweet

More Decks by Laurent Butti

Other Decks in Technology

Transcript

  1. - 1 - Techniques de capture de malware Laurent Butti

    – Expert senior en sécurité des réseaux France Télécom Division R&D
  2. - 2 - Agenda Qu’est ce qu’un malware ? Un

    constat : la prolifération des attaques et malwares Nécessité de capturer les malwares Techniques de capture et d’analyse de malware Expérimentations Comment se protéger ?
  3. - 3 - Malware ? Logiciel malveillant (malware) Est un

    logiciel développé dans le but de nuire à un système informatique. Les virus et les vers sont les deux exemples de logiciels malveillants les plus connus. Source : Wikipédia, l’encyclopédie libre Quelques exemples de malware Virus, vers Chevaux de Troie Portes dérobées (backdoors) Logiciels espions (spyware) Exploits Rootkits Dialers Adwares
  4. - 4 - Constat actuel (1/2) Les attaques sont toujours

    légion Il suffit d’écouter l’Internet sur sa propre @IP en direct… • Des centaines de « hits » par jour • Des tentatives d’attaques par force brute sur SSH • Des vers historiques toujours présents (CodeRed, Slammer, Sasser…) • Des tentatives d’exploitation de vulnérabilités pour exécuter des commandes (et donc récupérer des outils/malwares) • Du trafic retour de DDoS par SYN Flooding (BackScatter) Le niveau technique requis n’est pas élevé Les outils d’attaque sont simples à utiliser Les binaires implantent des techniques de durcissement Techniques anti-débogage, anti-désassemblage…
  5. - 5 - Constat actuel (2/2) Les sources de différents

    vers et bots sont disponibles sur Internet Explosion du nombre de variantes ! Les motivations sont de plus en plus financières Ce n’est plus pour le fun ! Les attaques de plus en plus « mondialisées » Recours juridiques auprès des différents pays ? Les antivirus et IDS ont une approche « pompier » Je ne détecte que ce que je connais ! Je dois donc apprendre très vite si je veux avoir une chance !
  6. - 6 - Une menace grandissante : les bots (1/2)

    Les bots sont légion Tous les ISPs sont touchés De nombreux PC « zombies » permettent de • Réaliser des attaques de DDoS • Envoyer du SPAM • Créer des sites de Phishing • Récupérer les informations sensibles (CB, authentifiants…) Le nombre fait la force ! Une caractéristique commune : le canal de contrôle Ils doivent être contrôlés via un trafic de signalisation • Envoi des ordres, reconfiguration, récupération d’informations…
  7. - 7 - Une menace grandissante : les bots (2/2)

    Si le canal de contrôle est bloqué alors le bot ne sera plus intéressant Lutte contre les réseaux de bots en bloquant leurs canal de contrôle ! Cela n’est possible qu’en analysant le bot concerné De très nombreuses variantes et configurations possibles L’analyse réseau est très difficile (en particulier en environnement ISP) • De part l’architecture (qui peut être directe sur Internet sans point de passage obligé) • De part la difficulté d’une analyse réseau (efficace) sur des flux gigantesques Une analyse du binaire du bot récupéré permet Comprendre tout ou partie de son fonctionnement Connaître son activité réseau (et donc son canal de contrôle qui est le plus souvent IRC) Mais pour l’analyser, il faut en premier… le récupérer !
  8. - 8 - Techniques de capture de malware Deux approches

    globales possibles Honeypots Analyse réseau (récupération de binaires dans les transferts) Il apparaît plus pérenne d’utiliser des techniques à base d’honeypots Séparation flux réseau malveillant et normal ? Quid des flux chiffrés ? Un honeypot forte interaction permet de capturer les malwares Mais, une fois compromis, il doit être réinstallé de zéro Très couteux en maintenance et en temps (difficilement viable à terme)
  9. - 9 - Honeypots Honeypot Information system resource whose value

    lies in unauthorized or illicit use of that resource. Source : Lance Spitzner Très peu de faux positif Toute communication vers ou depuis cet honeypot est par définition suspect Honeypot faible interaction Technique pertinente dans le cadre de statistiques globales (hits…) Honeypot forte interaction Technique pertinente dans le cadre de la compréhension complète de l’attaque et de la motivation de l’attaquant
  10. - 10 - Honeypots moyenne interaction Honeypot moyenne interaction :

    une approche pertinente Technologie née de deux projets fondateurs • Mwcollectd de Georg Wicherski et Nepenthes de Paul Bächer and Markus Kötter Février 2006 : les deux projets ont fusionné dans Nepenthes (Open Source) Consiste à Emuler des vulnérabilités connues • Typiquement la vulnérabilité MS04-011 (LSASS) Comprendre les shellcodes injectés par l’attaquant • Typiquement le shellcode qui crée un shell TCP sur un port donné (bindshell) Emuler l’ensemble des commandes injectées par l’attaquant dans un environnement virtuel (système de fichier virtuel par exemple) • Typiquement la récupération par FTP/TFTP du binaire Archiver les binaires téléchargés et réaliser des statistiques sur les hits
  11. - 12 - Vulnérabilités émulées Nepenthes est un applicatif userland

    exécuté en « root » Il est développé en C++ et est donc susceptible lui aussi de présenter des vulnérabilités Il ne réalise que des émulations de vulnérabilités, i.e. ce ne sont pas des systèmes vulnérables : le but est d’avoir une plus forte interaction avec l’attaquant sans présenter la vulnérabilité exploitée Vulnérabilités Microsoft MS04-006, MS04-045, MS03-007, MS03-051, MS04-011, MS03-039, MS04-012, MS04-031, MS04-011, MS04-012, MS03-039, MS02-039, MS05-017, MS05-017, MS05-017, MS01-059 Backdoors Sasserftpd
  12. - 13 - Déploiement de Nepenthes Honeypot moyenne interaction Open

    Source Environnement *nix, cygwin/Windows Approche modulaire : possibilité de développer ses propres modules Peut émuler un sous-réseau ou un adresse unique A positionner sur un réseau non filtré Configuration Activation des services et vulnérabilités émulées Activation des fonctionnalités de journalisation
  13. - 14 - Quelques statistiques (1/4) Nepenthes déployé sur une

    connexion Renater depuis fin 2005 Une seule adresse IP non annoncée, non référencée En moyenne entre 1 à 3 nouveaux binaires téléchargés Nombre de binaires différents téléchargés : 843 Exemple de répartition en terme de binaires (grâce signatures AVs) 632 bots sur 843 binaires (~75%) 36 worms sur 843 binaires (~4%)
  14. - 15 - Quelques statistiques (2/4) Un bot en PERL

    avec des commentaires en Portugais / Brésilien ;-) Beaucoup de variantes de Agobot/Sdbot/Rbot Bizarre… Parmi ceux dont le code source est disponible ;-)
  15. - 16 - Quelques statistiques (3/4) Il suffit de passer

    une batterie d’antivirus sur les binaires téléchargés Nombreux binaires sont non détectés même certains vieux de plusieurs mois Plusieurs antivirus permettent de réduire le nombre de binaires non détectés Exemples de taux de détection d’AntiVirus ClamAV : 590 / 843 (~70%) BitDefender : 812 / 843 (~96%)
  16. - 17 - Quelques statistiques (4/4) Techniques de protection des

    binaires Les « packers » permettent de compresser / encoder les binaires pour rendre longue et difficile l’analyse • Techniques anti-débogage, anti-désassemblage… Ils permettent aussi d’éviter les signatures antivirus car un même binaire peut être compressé / encodé par différents packers • Différentes signatures… Exemple de répartition des techniques de protection des binaires 68 non protégés sur 843 (~8%) 11 fichiers non Portable Executable (~1%) 764 protégés sur 843 (~90%) • 71 non identifiés sur 843 (~8%) • Armadillo, ASProtect, TheMida, Morphine…
  17. - 18 - Techniques d’analyse de malwares Plusieurs initiatives ont

    vu le jour VirusTotal qui propose un service d’analyse de fichier sur une batterie d’antivirus Norman Sandbox propose une analyse de fichier CWSandbox propose une analyse de fichier Grâce à une interconnexion avec ces services il est possible rapidement d’avoir des rapports pertinents Sur la connaissance du binaire • Présent dans une signature d’antivirus parmi la batterie d’antivirus Sur l’activité du binaire lors de son exécution • Activité sur les clés de la base de registre (par exemple) • Activité réseau via tel ou tel protocole vers telle ou telle @IP ou nom DNS
  18. - 20 - Exemple de rapport (allégé) de CWSandbox file

    6908ef042be18d741f943b60eb25bf00.exe, filesize 102400 DNS Lookup IP Adress: XXX.125.184.YYY Host Name: BAR.FOO.us C&C Server: XXX.125.184.YYY:6667 (successful) Server Password: Username: XP-438902 Nickname: XP-438902 Channel: #dad Channelpassword: pass
  19. - 21 - Techniques de mitigation de bots Grâce à

    l’analyse des binaires, il est alors possible d’avoir des informations sur les flux réseaux utilisés par les bots Si l’on sait que le bot contacte un nom DNS particulier Il « suffit » de forcer la résolution de ce nom DNS (hax0r.com en 127.0.0.1) • Attention bien sûr aux faux positifs ! Si l’on sait que le bot contacte une @IP particulière sur protocole/port Il « suffit » de filtrer sur les routeurs de périphérie • Attention au nombre d’ACLs sur les routeurs ! Réaction rapide et efficace possible !
  20. - 22 - Intérêts de la capture de malware Recherche

    et veille technologique Analyse des techniques utilisées par les attaquants Montée en compétence des chercheurs en sécurité Analyse des évolutions court / moyen terme Anticipation des futures menaces Adaptation face aux futures techniques (canaux cachés, furtivité…) Améliorer la rapidité de mise à jour des éditeurs d’antivirus Assainissement du réseau ISP Repérage et élimination des bots présents sur les PC des clients de l’opérateur • Amélioration de la qualité de service • Amélioration de l’image de marque • Réduction des coûts « hotline » Réduction des attaques issues des clients de l’opérateur vers l’extérieur • Amélioration de la qualité du réseau vis-à-vis de l’extérieur
  21. - 23 - Limites et évolutions possibles Principales limitations Un

    honeypot n’observe qu’une partie de l’Internet Ce type d’honeypot n’observe pas les attaques « client-side » e.g. sur les navigateurs Un honeypot moyenne interaction tel que Nepenthes permet de capturer des malwares inconnus via l’émulation de vulnérabilités connues Les techniques de canal de contrôles vont évoluer (moins d’IRC) Efforts à réaliser Evolution de l’architecture vers des techniques « client-side » Quid de l’émulation de vulnérabilités inconnues de manière générique ? • Permettrait d’étendre la capture de malware… • Cf. Argos: An Emulator for Capturing Zero-Day Attacks S’adapter au plus vite aux changements de techniques
  22. - 24 - Conclusions (1/2) De part la mise à

    disposition de code source malveillants De nombreuses variantes apparaissent chaque jour ! Peu de compétences requises pour opérer un réseau de bots ! Ces binaires modifiés traversent les antivirus ! La moindre faille accessible à distance est critique… La capture de malware est une étape importante dans cette lutte Bien que les OS soient de plus en plus robustes Il est nécessaire de suivre les évolutions
  23. - 25 - Conclusions (2/2) L’analyse automatisée et la mitigation

    appropriée permet d’isoler les bots de leur réseau de contrôle Ces techniques permettent d’assainir un réseau ISP Les coûts de déploiement de ces technologies sont essentiellement humains Les bénéfices escomptés peuvent être importants Le facteur organisationnel n’est pas à négliger
  24. - 27 - Observatoires de l’Internet (1/3) Source : Internet

    Storm Center (http://www.incidents.org)
  25. - 28 - Observatoires de l’Internet (2/3) Source : Projet

    Leurré.Com (http://www.leurrecom.org)
  26. - 29 - Observatoires de l’Internet (3/3) Source : ATLAS

    Dashboard (http://atlas.arbor.net/)