Vous êtes sur la page 1sur 10

Attaque sur rseau ToIP

Dossier
Cdric Baillet, Aurlien Boit

Degr de difficult

La VoIP (Voice over Internet Protocol) est une technique permettant de transporter la voix sur un rseau TCP/IP et qui est lorigine des rvolutions tlcom auxquelles nous assistons ces dernires annes. Nous pourrons notamment citer le phnomne de convergence des applications et des usages que lon constate aujourdhui, ou encore la tlphonie gratuite et illimite propose

es bases de la VoIP reposent sur un protocole de signalisation permettant de grer ltablissement de lappel et les diffrents vnements pouvant intervenir en cours de la conversation (transfert ou confrence par exemple) et un protocole pour transporter le flux mdia. Les protocoles de signalisation les plus souvent utiliss actuellement sont les suivants : SIP (Session Initiation Protocole), H323, IAX (Inter-Asterisk Exchange) et MGCP (Media Gateway Control Protocol). Nous noublierons pas cependant les familles propritaires trs prsentes dans les entreprises avec les protocoles Skinny pour Cisco et UA-Noe pour Alcatel notamment. Heureusement le transport du flux mdia (ex : la voix) se fait via un seul protocole, le RTP, standard utilis par tous les constructeurs. H323 est en fait une famille de protocoles extrmement complexe servant autant la signalisation quau transport de donnes mdia, nous le retrouverons notamment dans les premiers systmes de visioconfrence sur IP. Il sagit dun des plus anciens standard, mais qui tend aujourdhui tre remplac par SIP, plus souple et mieux conu pour les nouvelles applications de type instant messaging,

Cet article explique...


Comment tester la scurit d'un rseau de tlphonie IP. Les points mettre en oeuvre pour le scuriser.

Ce qu'il faut savoir...


Comment fonctionne la VoIP. Avoir des connaissances rseaux.

prsence ou confrence web. Au vu de lvolution des produits que ce soit dans le monde de lopen source ou des grands diteurs du march, nous pouvons penser que SIP est en passe de s'imposer sur H323 et les solutions propritaire. Attention cependant, il sagit dune orientation gnrale qui demandera encore quelques annes dvolutions pour devenir une ralit part entire. Quoiquil en soit, ces deux protocoles rendent le mme type de service et sont confronts au mme type de problme sur les rseaux de donnes IP. Ainsi, lune des pratiques commune pour la scurisation est la sparation des flux et leurs filtrages via un firewall. Ceci

hakin9 N 11/2007

www.hakin9.org

Infiltration dans la VoIP

fonctionne parfaitement pour des applications traditionnelles mais demandent des adaptations pour la VoIP. En effet, le firewall doit tre capable de comprendre le protocole de signalisation de la VoIP pour ouvrir dynamiquement les ports RTP ncessaires. Si ce nest pas le cas, soit il est ncessaire douvrir plusieurs milliers de ports (regrettable pour la scurit), soit le flux voix ne peut stablir. Aussi au vu des spcificits qui sont dj rencontres sur un outil

aussi commun que le firewall, il semble important de se demander sil existe dautres spcificits sur la VoIP et quels sont leurs impacts sur les problmatiques de scurisation. La voix sur IP vous intresse ? Mais vous vous interrogez sur sa scurit ... Aprs un bref rappel sur le fonctionnement de cette nouvelle technologie vous dcouvrirez les problmes lis celle-ci et les techniques utilises par les hackers pour exploiter ses failles ... Pour finir vous trouverez quelques conseils pour

pallier ces difficults. Comme indiqu prcdemment, les tlphones VoIP communiquent entre eux par le biais dun protocole de signalisation, SIP dans le cas de cet article. Celui-ci sert tablir, modifier et terminer des sessions multimdia. Il repose sur UDP/5060 (User Datagram Protocole) au niveau 4 du modle ISO. SIP est un protocole applicatif possdant une structure trs proche du protocole HTTP. Il est ainsi dcompos en diffrentes mthodes utilise pour grer la vie dune conversation tlphonique. Si lon regarde la Figure 1 qui correspond ltablissement dun appel entre deux tlphones, nous trouverons les diffrentes mthodes de base utilises par SIP : : enregistrement du tlphone IP sur son proxy SIP, INVITE : demande ltablissement dune session avec le tlphone appel, RING : les diffrents paramtres ncessaires ltablissement de lappel ont t ngocis. Nous faisons sonner le tlphone, ACK : Confirmation de ltablissement de la session entre les deux IP Phones suite au dcroch du poste appel. Nous noterons que les deux IP Phones sont dsormais en point point ce stade et utilise le protocole RTP pour transfrer la voix, BYE : Lun des interlocuteurs raccroche et dclenche lenvoie de cette information au deuxime IP Phone (cette mthode est la source dune attaque sur le protocole SIP : le reset perptuelle dune conversation).
REGISTER

Figure 1. tablissement dun appel entre deux tlphones

Figure 2. Plateforme de test

Les codecs G711 et G729 sont utiliss pour numriser et compresser le flux voix transport par RTP. Le codec G711 ne compresse pas les donnes vocales, c'est l'quivalent audio d'un texte en clair. Cela offre une meilleure qualit audio mais demande une plus grosse utilisation de la bande passante (on parle gnralement de 80 kbit headers inclus

www.hakin9.org

hakin9 N 11/2007

Dossier
Listing 1. Programme permettant de contrler les htes SIP pour calculer la bande passante utilise sur le rseau). Nous utiliserons plus gnralement le G711 sur les LAN. G729 est un codec qui compresse le flux voix. Il est gnralement dcrit comme produisant un flux de qualit GSM. Il faudra cependant faire attention son utilisation car lcrtage des frquences peu utiles loreille humaine peut provoquer des dgradations de qualit importantes sur des flux de musiques dattente par exemple. Ce codec sera gnralement utilis dans les environnements bande passante rduite comme les liens WAN inter site ou internet. En effet, le G729 est annonc 24 kbit headers inclus, ce qui est tout de mme quasiment quatre fois moindre que le G711. Attention cependant, lutilisation du G729 dans une solution de VoIP posera des problmatiques de transcodage, ce qui induira une utilisation plus importante des ressources et potentiellement des temps de latence plus levs.
# !/usr/bin/perl use IO::Socket; use POSIX 'strftime'; use Time::HiRes qw(gettimeofday tv_interval); use Getopt::Long; use strict; my $USAGE = "Usage: sip_ping.pl [-v] [-t] [-s <src_host>] [-p <src_port>] <hostname>"; my $RECV_TIMEOUT = 5; # temps d'attente d'une rponse en secondes my $sock = IO::Socket::INET->new(Proto => 'udp', LocalPort=>'6655', ReuseAddr=>1) or die "Impossible de crer le socket: $@"; # options my ($verbose, $host, $my_ip, $my_port ,$time); GetOptions("Verbose|v" => \$verbose, "source-ip|s=s" => \$my_ip, "sourceport|p=n"=> \$my_port, "time|t" => \$time) or die "Options invalides:\n\n$USAGE\n"; # dtermine qui envoyer un ping my $host = shift(@ARGV) or die $USAGE; my $dst_addr = inet_aton($host) or die "Hte introuvable: $host"; my $dst_ip = inet_ntoa($dst_addr); my $portaddr = sockaddr_in(5060, $dst_addr); # dtermine qui nous sommes $my_ip = "127.0.0.1" unless defined($my_ip); $my_port = "6655" unless defined($my_port); # Numro appelant long de 32 caractres hexadcimaux alatoires my $callid = ""; $callid .= ('0'..'9', "a".."f")[int(rand(16))] for 1 .. 32; # date du jour my $date = strftime('%a, %e %B %Y %I:%M:%S %Z',localtime()); # id de branche - voir la rfc3261 pour plus d'infos, avec # utilisation de time() pour l'unicit my $branch="z9hG4bK" . time(); my $packet = qq(OPTIONS sip:$dst_ip SIP/2.0 Via: SIP/2.0/UDP $my_ip:$my_port;branch=$branch From: <sip:ping\@$my_ip> To: <sip:$host> Contact: <sip:ping\@$my_ip> Call-ID: $callid\@$my_ip CSeq: 102 OPTIONS User-Agent: sip_ping.pl Date: $date Allow: ACK, CANCEL Content-Length: 0 ); # envoie le paquet print "Envoi: \n\n$packet\n" if $verbose; send($sock, $packet, 0, $portaddr) == length($packet) or die "Envoi impossible $host: $!"; my $send_time = [gettimeofday()]; # dmarre le chronomtre my $elapsed; # obtient la rponse eval { local $SIG{ALRM} = sub { die "temporisation de l'alarme" }; alarm $RECV_TIMEOUT; $portaddr = recv($sock, $packet, 1500, 0) or die "Rception impossible : $!"; $elapsed = tv_interval($send_time); # arrte le chrono alarm 0; 1; } or die($@); # affiche la sortie if ($verbose) { printf("Aprs (\%0.2f ms), l'hte a dit: \n\n\%s\n", $elapsed*1000, $packet); } elsif ($time) { printf("%0.2f\n", $elapsed*1000); } else { print("$host est en fonctionnement\n"); }

tude d'un cas pratique

Dans la suite de cet article, nous allons essayer de vous dmontrer en pratique ce qui peut survenir sur un rseau ToIP sil nest pas correctement scuris. Voir la Figure 2 pour le schma du laboratoire de test. Cette dmonstration va se drouler en suivant les points ci-dessous : tape 1 Pntration du VLAN voix (utilitaire voiphopper), tape 2 Reconnaissance des priphriques prsents dans le VLAN voix (thcrut), tape 3 Interception dune conversation tlphonique (ettercap et wireshark), tape 4 Reconstruction de la conversation tlphonique, tape 5 Comment rcuprer le login/password dun compte SIP.

tape 1 : Comment se placer dans un VLAN Voix (VoIPHopper)

VoIPHopper est un utilitaire dvelopp par Jason Ostrom. Il a connu

hakin9 N 11/2007

www.hakin9.org

Infiltration dans la VoIP

une brusque popularit ces dernires semaines suite son utilisation pour hacker l'installation de ToIP de l'htel dans lequel son auteur se trouvait pour le forum Toorcon (http: //blog.wired.com/27bstroke6/2007/ 10/phones-arent-sa.html). Son but est d'automatiser la dcouverte du VLAN Voix sur les rseaux de niveau 2 Cisco ayant implment le protocole CDP (Cisco

Discovery Protocol). Ce protocole permet aux diffrents priphriques Cisco de dcouvrir l'environnement rseau sur lequel ils sont connects et potentiellement de s'auto-configurer. Nous notera notamment son utilisation par les tlphones IP Cisco pour rcuprer automatiquement le VLAN voix (Figure 4). Prcdemment, ceci pouvait tre ralis de faon manuelle grce un

sniffer, wireshark par exemple, permettant de capturer la trame CDP et de l'interprter, il ne restait plus alors qu' reconfigurer ses paramtres rseau. VoipHopper propose dsormais d'automatiser ces taches tout en diminuant le niveau de connaissance technique ncessaire pour se placer dans le VLAN Voix (mise en pratique Figure 3). L'accs ce niveau du rseau permettra d'utiliser d'autres logiciels comme Ettercap, Netwag ou Dsniff pour intercepter des conversations ou provoquer des dnis de services. Quoiqu'il en soit, une utilisation positive de VoipHopper mettra en vidence les failles de scurit d'une installation de ToIP. Pour pallier ces faiblesses, les contre mesures suivantes peuvent tre envisages : Ne pas utiliser CDP et paramtrer le VLAN voix la main sur l'IP Phone (en n'oubliant pas de dsactiver ensuite le menu d'administration des paramtres rseaux pour viter qu'un hacker potentiel ne puisse consulter ces informations). Attention cependant, ceci peut pnaliser fortement des dploiements grande chelle (ajout de 2 5 min de configuration par poste), Mettre en place le protocole 802.1X (support par les IP Phones Cisco depuis le 12/2006) de manire authentifier des priphriques voulant se connecter via un serveur RADIUS par exemple, Mettre en place des access-list limitant d'une part les accs rseaux sur le VLAN voix aux seuls protocoles utiles la solution (les flux de signalisation et les flux mdia, c'est dire SIP, Skinny et RTP le plus souvent), et d'autre part l'accs au rseau rout aux seules adresses IP ncessaires aux IP Phones (Serveur DHCP, Serveur TFTP, Serveur d'appels et ventuellement serveur MOH).

Figure 3. Utilisation de VoIPHopper


Figure 4. Squence de boot d'un IP Phone Cisco

www.hakin9.org

hakin9 N 11/2007

Dossier

tape 2 : Reconnaissance des priphriques prsents dans le VLAN voix (THC-Rut)

THC-Rut est un utilitaire ddi la reconnaissance des rseaux. Il a t dvelopp par le team THC. Nous noterons que le site web de ces derniers chang d'adresse suite aux nouvelles rglementations allemandes (http://freeworld.thc.org/ thc-rut/). Cet outil permettra notamment des reconnaissances au travers des protocoles ARP, ICMP, et IP, tout en offrant une souplesse assez intressante sur la dfinition des subnets avec lesquels nous souhaitons travailler. L'option de fingerprinting reste sympathique, mais la base mriterait cependant une remise jour. Nous pourrons toutefois utiliser l'excellent NMAP si l'on souhaite plus de prcision. Pour revenir sur notre exemple, nous savons maintenant que le subnet voix est sur la plage 192.168.12.0 grce aux informations fournies par notre interface rseau dans le VLAN voix (eth0.160). Il nous suffit donc maintenant de lancer THC-Rut pour trouver les priphriques actifs. L'exemple prsent dans la Figure 5 est plus restrictif en terme de plage IP pour gagner du temps. Comme nous pouvons le voir sur la Figure 5, trois adresses actives ont t dtectes. Ladresse 192.168.12.163 correspondant notre poste pirate, les deux autres doivent donc correspondre des IP Phones. Ceci pourra tre confirm en utilisant le programme ci-dessous (extrait du site http://www.oreilly.fr). Il sagit ici denvoyer la mthode SIP OPTIONS aux tlphones IP pour voir sil y a un retour positif.

nes tout en les transfrant la cible de manire rester totalement transparent pour les utilisateurs finaux. Dans notre cas, nous allons utiliser une attaque de type MITM de niveau 2. Cela signifie concrtement que nous allons travailler au niveau du protocole ARP. Il est noter que cette attaque va nous permettre de contourner la protection implicite apporte par un commutateur, qui doit normalement assurer le point point direct entre deux priphriques. Cette attaque utilise une faiblesse du protocole ARP. En effet, ce protocole na pas t conu de faon scurise et les priphriques accepte des paquets gratuitious ARP (GARP), ou autrement dit, des paquets contenant des informations nayant jamais t rclames. Le

pirate va donc envoyer un paquet GARP au tlphone A, Ipa, MACa linformant que pour joindre le tlphone B,IPb,MACb il doit envoyer un paquet GARP vers IPb, MACc. La mme manipulation sera ralise pour le tlphone B en lui envoyant le couple IPa,MACc. Les tlphones vont mettre leurs tables ARP jour avec ces informations et envoyer systmatiquement les paquets vers la MACc, soit celle de notre pirate. Pour raliser cette attaque, nous allons utiliser lutilitaire Ettercap. Notez bien que ce nest pas le seul raliser ce type dattaque. Des logiciels comme Dsniff (Linux) ou encore Cain et Abel (Windows) les ralisent tout aussi bien. Avant de continuer plus loin, il est important de se rappeler les in-

Figure 5. Reconnaissance de VLAN voix avec THC-Rut


tape 3: Interception d'une conversation tlphonique (Ettercap et Wireshark)

La capture dune conversation peut se raliser par une attaque de type Man In The Middle. Ce type dattaque se caractrise par linsertion dun PC pirate au milieu dun flux de communication pour sniffer les don-

Figure 6. ARP Poisonning

hakin9 N 11/2007

www.hakin9.org

Infiltration dans la VoIP

formations que nous avons trouves prcdemment grce aux logiciels VoipHopper et THC-Rut. En effet, nous savons tre dans le VLAN voix (160) et avons pu identifier les adresses IP actives. Ceci va donc nous permettre dindiquer Ettercap les adresses IP pour lesquels nous souhaitons intercepter le trafic (Figure 7). Une fois Ettercap lanc, lattaque est active. Il faut maintenant intercepter le trafic transitant par le PC Pirate et reconstituer le flux voix.

tape 4 : Utilisation de Wireshark pour intercepter le trafic et reconstituer une conversation

De nombreux utilitaires existent dsormais pour raliser cette phase. Wireshark, est sans doute la mthode la plus pdagogique puisqu'elle nous force tout faire la main (reconnaissance du protocole utilis, identification des flux voix, analyse et extraction des donnes dans un fichier son). Cependant, nous utiliserons plutt des utilitaires comme

voipong ou ILTY qui automatisent les processus que nous allons dcrire et permettent de superviser en temps rel les conversations qui sont en cours d'enregistrement. Un pirate ou un administrateur pourra travailler sur des chelles beaucoup plus grandes avec ce type d'utilitaire. Phase 1 : sniffer le rseau Cette tape est la plus simple et la plus indispensable. Il s'agit de lancer le monitoring du rseau par wireshark. Attention cependant, il ne faut pas se tromper d'interface. Dans notre cas, il faudra slectionner l'interface eth0.160 cre par VoipHopper. Si tous se droule normalement, wireshark doit intercepter du trafic UDP en grande quantit. C'est bon signe puisque le protocole RTP repose justement sur UDP. Phase 2 : nettoyage de la capture La capture qui vient d'tre effectue ncessite d'tre nettoye pour deux raisons. D'une part, le trafic rsiduel du rseau (broadcast, spanning-tree, routage, etc) a t captur et viendra dgrader la qualit de notre fichier sonore si nous ne le supprimons pas, et d'autre part, le MITM nous a cr des paquets dupliqus (un en entre, et un en sortie lors du forward). Ceci se fait de faon relativement simple via le mcanisme de filtrage de wirshark. J'utilise pour ma part un filtre sur l'adresse MAC d'un des IP Phones (voir Figure 8), d'autres mthodes existent. Phase 3 : indication du protocole Lorsque wireshark n'a pas pu capturer tout le flux de signalisation il est ncessaire de lui indiquer le protocole contenu dans UDP (dans notre cas RTP) pour qu'il puisse l'analyser. Comme vous pouvez le voir sur la Figure 9, le rsultat est intressant puisqu'il nous indique que nous sommes bien en RTP, que nous utilisons le codec G711, et mme le champ SSRC qui correspond l'identifiant de la conversation (utile si vous voulez injecter du

Figure 7. Lancement de l'ARP Poisonning avec Ettercap

Figure 8. Mise en place d'un filtre pour nettoyer la capture

www.hakin9.org

hakin9 N 11/2007

Dossier

trafic voix par exemple). Si nous avions pu rcuprer le flux de signalisation, nous aurions pu utiliser la fonctionnalit de lecture des paquets RTP intgrs Wireshark ce qui est expliqu ladresse suivante : http: //wiki.wireshark.org/VoIP_calls. Phase 4 : Extraction de la conversation (Figure 10) Maintenant que notre flux voix est nettoy et bien identifi, nous allons pouvoir extraire les donnes qui nous intressent ! Pour cela, il faut slectionner les flux voix qui nous intressent puis lancer l'analyse.

Liste des acronymes


CDP : Cisco Discovery Protocol, est une couche rseau propritaire de niveau 2 dveloppe par Cisco, pour permettre l'change d'information entre les quipements (adresse IP, version du systme ...), GARP : Gratuitious ARP, HSRP : Hot Standby Routing Protocol, est un protocole propritaire de Cisco implment sur les routeurs permettant une continuit de service, IAX : Inter Asterisk Exchange, est un protocole de voix sur IP issu du projet Asterisk, MGCP : Media gateway Protocol, est un protocole asymtrique (client-serveur) de voix sur IP, MITM : Man In The Middle (l'attaque de l'homme du milieu), MOH : Music On Hold (musique d'attente), PBX : Private Branch Exchange, est un commutateur tlphonique priv, RADIUS : Remote Authentication Dial-In User Service, est un protocole client-serveur permettant de centraliser des donnes d'authentification, RTP : Real Time Protocol, est un protocole de communication informatique, SFTP : Secure FTP, est un protocole simplifi de transfert de fichiers, SIP : Session Inition Protocol, est un protocole de tlcommunication multimdia, SPIT : Spam over Internet Telephony, dsigne la publicit indsirable faite via les rseaux de communication tlphonique sur IP, SRTP : Secure RTP, SSRC : Le champ SSRC identifie la source de synchronisation (ou dit simplement la source). Cet identificateur est choisi de manire alatoire avec l'intrt qu'il soit unique parmi toutes les sources d'une mme session, TFTP : Trivial File Transfert Protocol, TLS : Transport Layer Security, est une norme de scurisation par chiffrement du transport de l'information au sein des rseaux informatique, VoIP : Voice over IP.

La dernire tape consiste simplement enregistrer le fichier audio o nous le souhaitons (Figure 11). Il ne reste plus qu' prendre notre player favoris (totem par exemple) pour r-couter la conversation. Notez au passage que wireshark est capable de nous donner de prcieuses informations sur la gigie de la conversation. Ce paramtre est lun des items de QoS fondamentale (avec les pertes de paquets et la latence) respecter pour avoir une conversation audible.

tape 5 : Rcupration du login et du mot de passe d'un compte SIP ?

Nous avons vu prcdemment comment intercepter des conversations. C'est un phnomne intressant mais qui ne doit pas en cacher d'autres plus graves. En effet, un autre risque est la possibilit de voir son login/password intercept puis utilis par un pirate. Il peut alors bien videmment se faire passer pour quelqu'un d'autre une fois ces informations en sa possession (pour faire du spit par exemple), mais ce n'est pas le plus grave. S'il s'authentifie avec votre compte, toutes les conversations non gratuites vous seront comptabilises et vous risquez d'tre surpris par votre facture tlphonique en fin de mois. Ainsi, il est possible de rcuprer le login et le mot de passe utilis par un tlphone IP sur le rseau grce diffrents programmes

disponibles sur internet. Pour notre part, nous avons utilis sipdump et sipcrack dans notre exemple (en tlchargement cette adresse http: //www.remote-exploit.org /codes_ sipcrack.html). Il sera ncessaire de lancer

(Figure 12) pour sniffer le rseau (tape indispensable toute analyse postrieure), de filtrer les requtes d'authentification ( REGISTER) et de les sauvegarder dans un fichier via la commande suivante :
sipdump

Figure 9. Wireshark reconnat les paquets RTP de la capture

Figure 10. Extraction de la conversation

hakin9 N 11/2007

www.hakin9.org

Infiltration dans la VoIP

sipdump -i interface -d dump_file

Nous pouvons aussi effectuer cette attaque par dictionnaire :


sipcrack -w world_file -d dump_file

Le rsulat de ce filtrage sur la mthode SIP REGISTER va nous sortir le listing complet des changes. Attention, pour que ceci puisse se produire, vous devrez avoir ralis pralablement une attaque de type MITM pour redirigez le trafic vers votre carte rseau. En utilisant le fichier cr et l'utilitaire sipcrack, nous allons pouvoir dterminer le login et le mot de passe du compte cibl :
sipcrack -s -d dump_file

Existe-il d'autres risques ?

nous obtiendrons un login et un mot de passe en clair (ou en MD5 si la politique de scurit du serveur SIP a t durcie). Les mots de passe chiffrs avec l'algorythme de hashage MD5 ncessiteront obligatoirement une attaque par dictionnaire pour tre trouvs (voir Figure 13).

La VoIP, reposant sur les rseaux data, sera sensible aux mmes types de risque. Ainsi, le concept de lattaque en Man In The Middle expose prcdemment peut se dcliner de nombreuses faons : DNS Spoofing, Rcupration du rle root sur le protocole spanning-tree, Modifications des protocoles de routage dynamique, DHCP pirate, Jeux sur la signalisation HSRP, etc.

Figure 11. Enregistrement du fichier son

Figure 12. Sniffing du rseau avec Sipdump

Figure 13. Crackage du mot de passe du compte SIP avec Sipcrack

Attention cependant, si le MITM est lune des attaques qui peut inquiter le plus puisquelle permet linterception des donnes, ce nest cependant pas la seule qui puisse tre ralise. Ainsi, il ne faut pas oublier la longue liste des attaques ralisant des DoS, phnomne irritant pour le particulier mais absolument dsastreux pour une entreprise utilisant les centres dappels pour son business par exemple. Cela provoquerait une perte dargent, un mcontentement de la clientle, et enfin une perte de confiance dans le systme. En effet, noublions pas que la technologie TDM (Time Division Multiplexing) a habitu les utilisateurs une disponibilit de 99,999% (soit 5min de coupure par an) et que le but de la VoIP est datteindre le mme niveau. Par ailleurs, des msaventures rcentes arrives des utilisateurs aux US nous montrent que les attaques de type SPIT (Spam over Internet Telephony) et phishing existent et sont dsormais fonctionnelles. Bien que trs peu prsentes en Europe, il faut sattendre une augmentation progressive de ces dernires avec l'intrusion de la VoIP dans notre mode de vie. Nous noterons enfin, la sensibilit de plus en plus prsente de systme de VoIP aux attaques de type web (cross-scripting, injection, etc) qui concerne tout la fois les tlphones IP et les serveurs eux-

www.hakin9.org

hakin9 N 11/2007

Dossier

mmes, lutilisation de serveurs web et de navigateurs tant la mthode la plus courante pour les configurer. Un bestiaire complet et dtaill des risques des solutions VoIP pourra tre trouv lurl suivante : http://www.voipsa.org/Activities/ taxonomy.php.

propos des auteurs

Alors quelle scurit pour la VoIP ?

Aprs avoir travaill pendant quatre annes sur les technologies rseaux Cisco en tant qu'ingnieur de production, Cedric Baillet a t consultant sur les solutions de ToIP et les problmatiques scurit affrents de 2004 2007.Aurlien Boit tudiant l'EPITA en Mastre Cycle Ingnieurie Informatique, passionn par la Scurit, a travaill un an dans le domaine de la VoIP et des rseaux d'entreprise. Nous pouvons le joindre l'adresse : aurelien.boit@yahoo.fr. Il a aujourd'hui intgr une des quipes marketing d'Orange Business Services pour travailler sur les offres de services scurit autour des nouvelles solutions de communications. L'auteur peut tre contact l'adresse mail suivante: cedric_baillet@yahoo.fr.

Une architecture de VoIP repose sur trois lments essentiels : les serveurs, le rseau et enfin les IP Phones. Pour obtenir une infrastructure scurise, il sera ncessaire de travailler sur chacun de ses lments tout en gardant la cohrence globale du systme lesprit. Ainsi, il sera ncessaire de respecter les best practices scurit sur les serveurs pour renforcer lOS supportant les services de VoIP. Une numration rapide nous donnera les points suivants : Suppression de tous les packages inutiles aux services rendus, Dsactivation ou suppression de tous les comptes inutiles, Utilisation de protocoles scuriss pour les accs distants (SSH, HTTPS, SFTP), Mise en place systmatique des diffrents correctifs de scurit publis.

Sur Internet
http://www.securite.org Tutoriels sur la scurit de la VoIP, http://www.voip-info.org/wiki/ Un wiki VoIP trs complet, http://www.wireshark.org Site officiel du logiciel Wireshark, http://www.remote-exploit.org/codes_sipcrack.html Site officiel de l'utilitaire Sipcrack http://www.oreilly.fr/contenu/article/Contrler+les+matriels+VoIP Site officiel de l'diteur. http://chdir.org/~nico/ilty/ Information sur ILTY, http://www.enderunix.org/voipong/ Site prsentant voipon.

le flux mdia (SRTP). Le rseau quant lui permettra de scuriser les couches basses. Ceci est extrmement important puisquil est facile de remonter au niveau applicatif une fois le rseau corrompu. Le rseau pourra tre divis en deux grandes familles : le LAN et le WAN ou plus gnralement internet. Pour scuriser le LAN, nous pourrons employer les mthodes suivantes : Sparation des flux (VLAN), Filtrage (Access-list et Firewall), Mise en place dauthentification sur le routage dynamique et le protocole HSRP, Utilisation des commandes permettant de scuriser le spanning-tree (type BPDU Guard et root Guard), Utilisation des commandes permettant de grer les problmatiques DHCP (blocage des attaques dpuisement de pool avec le port-security, blocage des DHCP pirates avec le DHCP Snooping), Utilisation des commandes bloquant les Man In The Middle de type ARP ou IP (Dynamic ARP Inspector et IP SPoof Guard),

Mise en place du contrle dadmission et de conformit (802.1X), etc.

Les IP Phones quant eux commencent avoir certains paramtres de scurit configurables : GARP Disable (blocage de lattaque en Man In The Middle via le protocole ARP), Gestion du port PC avec interdiction de communiquer dans le VLAN Voix (cela ne fait pas tout comme nous avons pu le voir avec VoipHopper, mais cela demande malgr tout une tape supplmentaire au pirate), Supplicant 802.1X (version entreprise), Lutilisation dun protocole scuris pour la configuration, Utilisation de protocoles scuriss pour la signalisation (TLS) et

Il est ncessaire de bien garder lesprit que chaque protocole utilis sur le LAN possde des options de scurit quil faut mettre en place. Ne pas procder ainsi, cest crer soi mme des failles de scurit dans son installation. Le WAN quant lui nous offre moins doptions pour le scuriser car il se trouve souvent chez des oprateurs et nest donc pas matrisable (ce qui est encore plus vrai pour internet). Dans ce cas, la seule solution disponible, cest le chiffrement. Ceci pourra tre ralis soit en utilisant les possibilits natives du tlphone (TLS + SRTP), soit en montant des tunnels IPSec entre ses diffrents sites ou plus gnralement lments actifs de la solution de VoIP.

Mais est-ce bien tout ?

Jusquici nous avons abord la scurit en utilisant le point de vu classique du monde de la data. Il ne faut cependant pas oublier que la VoIP cest aussi de la tlphonie. Cette dernire existe depuis longtemps et a dvelopp ses propres caractristiques, dont la VoIP a hrit, ce qui

10

hakin9 N 11/2007

www.hakin9.org

Infiltration dans la VoIP

est normale puisquelle reprsente la convergence de deux mondes. Ainsi, lorsque vous paramtrerez vos installation de tlphonie sur IP, il sera important de prter attention la discrimination des droits de vos utilisateurs (qui le droit aux numros nationaux, internationaux, portables, etc), aux problmatiques de transfert dappels (est-il autoris de transfrer un appel de lextrieur vers lextrieur), aux confrences 3 (souhaitons nous laisser les confrences ouvertes lorsquil ne reste plus personne de lentreprise connect). De faon gnrale, il faudra analyser finement les diffrentes fonctionnalits tlphoniques qui pourraient tre utilises pour faire porter le cot de certains appels votre installation. Quoiquil en soit, une analyse fine des donnes de taxation permettra de dterminer si des fraudes ont eu lieu et de corriger les failles trouves. Enfin, avant de conclure cet article, il me semble important dattirer votre attention sur les fonctionnalits DISA prsente sur certains PBX ou IP PBX. Ces dernires permettent une personne lextrieur de lentreprise dappeler un numro donn et de reconfigurer certains paramtres de linstallation. Il sagit donc l dun point dlicat qui mrite rflexion pour savoir sil est ncessaire de la laisser active ou non.

Limportant est maintenant de penser intgrer la scurit ds le dploiement des installations en pensant lensemble des primtres impacts : le SI, le rseau, les terminaux utilisateurs. Une scurit intgre de faon native ds lorigine fonctionnera toujours mieux que lapplication de patchs de scurit installs ultrieurement sur des systmes plus ou moins bien adapts pour les accueillir. Enfin, noublions pas que la scurit est un domaine qui volue rgulirement. Une installation de VoIP ne pourra rester scurise que si ses administrateurs effectuent une supervision constante, une veille technologie pointue et des audits rguliers pour mettre en vidence de nouvelles failles dans leurs systmes.

Conclusion

La VoIP est aujourdhui une technologie qui simpose tant chez les particuliers que chez les professionnels. Il nest plus dsormais question de savoir si lon va basculer sur cette technologie mais plutt quand. Face cette technologie encore jeune et se rpandant avec une vitesse extrmement importante, il est lgitime de se demander quels sont les moyens pour se protger et viter une perte de confidentialit par rapport aux technologies traditionnelles. Heureusement, comme nous lavons vu prcdemment, de plus en plus doutils sont dsormais disponibles pour scuriser de manire acceptable lensemble des systmes VoIP.

www.hakin9.org

hakin9 N 11/2007

11