HERVÉ SCHAUER CONSULTANTS Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet JTR 2010 Sécurité de la Voix sur IP Jean-Baptiste Aviat Jean-Baptiste Aviat <Jean-Baptiste.Aviat@hsc.fr>
Hervé Schauer Consultants Société indépendante de conseil en sécurité informatique Depuis 1989 http://www.hsc.fr/ support@hsc.fr 19 ingénieurs/consultants Domaines d'expertise : Audits de sécurité : système, code, architecture Tests d'intrusion Sécurité organisationnelle (/ISO-2700[1-5]/) Formations techniques et organisationnelles 2/31
Plan Les risques associés à la téléphonie Accompagné d'exemples venant du terrain L'indisponibilité La surfacturation L'interconnexion au réseau de données La non confidentialité Quelques solutions de sécurisation Certains éléments de cette présentation sont issus de la formation HSC «sécurité de la VoIP» 3/31
Les risques associés à la téléphonie Dépendent bien sur du contexte! Différents contextes, différents besoins : Hôpital Banque Opérateurs téléphoniques PME / PMI 4/31
Les risques associés à la téléphonie Peuvent être répartis en deux types : IP Interception des communications Dénis de service protocole de téléphonie Surfacturation Usurpation d'identité Déni de service 5/31
Protocoles et concepts de la VoIP Une multitude de protocoles H323 SIP SCCP (Cisco) MGCP Deux flux à distinguer : Signalisation : la gestion des appels Initiation ou fin d'appel, authentification... Données : la voix, la vidéo Peuvent suivre des chemins distincts 6/31
L'indisponibilité Téléphones IP très peu stables Implémentent des protocoles réseau «classiques» IP, UDP, TCP, HTTP Gourmands en ressources Et sur de l'embarqué... Un vers... Vers = Virus par le réseau Balaye le réseau Perturbation des téléphones Conséquence La VoIP est indisponible! 7/31
Exemple : l'utilitaire UDPSIC UDP : protocole extrêmement simple Pourtant... Peu de téléphones l'implémentent de façon robuste Quelques milliers de paquets suffisent à : Geler le téléphone quelques secondes ou indéfiniment Le faire redémarrer #./udpsic -s 10.20.76.44 -d 10.36.3.102,20480 Compiled #./udpsic against -s 10.20.76.44 Libnet 1.1.2.1 -d 10.36.3.102,20480 Installing Compiled Signal against Handlers. Libnet 1.1.2.1 Seeding Installing with Signal 17789 Handlers. Using Seeding random with source 17789 ports. No Using Maximum random traffic source limiter ports. Bad No IP Maximum Version = traffic 10% limiter IP Bad Opts IP Pcnt Version = 10% Frag'd IP Opts Pcnt Pcnt = Frag'd 30% Pcnt Bad = 30% UDP Cksm = Bad 50% UDP Cksm = = 10% 50% 1000 = 10% @ 11812.4 pkts/sec and 7975.3 k/s 2000 1000 @ @ 13208.6 11812.4 pkts/sec pkts/sec and and 8095.3 7975.3 k/s k/s [...] 2000 @ 13208.6 pkts/sec and 8095.3 k/s [...] Un réseau dont les téléphones redémarrent sans cesse... est un réseau téléphonique inutilisable. 8/31
L'indisponibilité Avec un seul paquet UPD : 9/31
L'indisponibilité Ou bien : 10/31
L'indisponibilité : le spam Coût d'un appel VoIP : 0 Coût d'une publicité VoIP... 0 La VoIP est une cible idéale pour la publicité Un robot appelle et délivre son message Méthodes de protection : CAPTCHA (on s'assure que l'interlocuteur est humain) Tests calculatoires (on rend le coût CPU de l'appel élevé) Listes blanches / grises / noires 11/31
La surfacturation Détourner l'utilisation de l'infrastructure Pour appeler : à son propre compte ses propres services surtaxés Pour le compte d'autres... Et revendre! Certains cas très médiatisés : 2006 : deux hackers américains vendent pour 1M$ de communications volées 2009 : 9 employés de Sprint revendent des comptes de clients pour passer des appels 12/31
La surfacturation Un pirate prend la main sur un IPBX Planifie des appels à son numéro surtaxé Toutes les 2 minutes entre 23h et 3h 5 jours par semaine... 600 appels par semaine! En combien de temps le détecteriez-vous? 13/31
L'interconnexion au réseau de données Serveurs VoIP souvent moins sécurisés que les serveurs «classiques» Gérés par des équipes différentes : «équipes télécom» Développement spécifiques réalisés en interne Aucune bonne pratique de développement Services implémentés souvent très vulnérables Serveurs utilisés souvent laissés pour compte Non à jour Configuration non durcie Exemple : interconnexion LDAP pour un service de carnet d'adresse PHP + MySQL 14/31
L'interconnexion au réseau de données Une entreprise fournit un accès SIP Accès informatique : 5600/UDP ou 5600/TCP Si une vulnérabilité existe dans le serveur SIP? Le pirate prend la main sur le serveur Et rebondit! Un pirate qui s'introduit dans votre système d'information Peut rebondir sur la téléphonie 15/31
Vulnérabilités sur les logiciels de VoIP Asterisk : CVE-2010-0441 Remote unauthenticated sessions Appels non authentifiés CVE-2008-1289 Exploitable Buffer Overflow Compromission système du serveur CVE-2007-6171 Injection SQL Cisco : Accès à la base de données (obtention des mots de passe d'autres utilisateurs), appels non authentifiés... CVE-2010-2835 Denial of Service Redémarrage du serveur avec un paquet SIP CVE-2010-0584 Denial of Service Compromission système du serveur 16/31
Vulnérabilités sur les logiciels support CVE-2008-0166 OpenSSL Debian Authentification par clé? MS08-067 Microsoft Windows Compromission système du serveur CVE-2010-3279 Alcatel Accès à la console d'administration sans authentification???? Alcatel Mots de passe par défaut Authentification sans mot de passe Et toutes les failles informatiques «classiques»! 17/31
Vulnérabilités sur les protocoles SIP présente des vulnérabilités intrinsèques : permet de s'authentifier à la place d'un téléphone Découverte de cette vulnérabilité : Équipe Madynes du LORIA-INRIA Lorraine Et de bien d'autres vulnérabilités! 18/31
Vulnérabilité SIP 1/3 19/31
Vulnérabilité SIP 2/3 Fonctionnalité SIP : mise en attente 20/31
Vulnérabilité SIP 3/3 D'où... usurpation de l'authentification! 21/31
Vulnérabilités sur l'intégration Services d'annuaire ou d'interconnexions «faits maison» Développés à la va vite par l'équipe VoIP Pas de bonnes pratiques de développement Point d'entrée supplémentaire 22/31
Porte dérobée Un pirate prend la main sur un serveur Et souhaite s'y maintenir! Utilisation d'une backdoor Si serveur VoIP isolé... Comment le contacter? Par téléphone! Alambix : porte dérobée pour Asterisk Shell over DTMF 23/31
La non confidentialité Les communications sont rarement chiffrées Difficulté à déployer des certificats sur un parc de téléphones Nombreux moyens de les intercepter Attaques réseau (ARP) Via les switchs Par DHCP... Le son comme la vidéo peuvent être décodés rtpbreak $./rtpbreak -W -r ~/current/un-flux.pcap -d ~/current v1.3a $./rtpbreak running -W here! -r ~/current/un-flux.pcap -d ~/current [...] v1.3a running here! * Reading [...] packets... open * Reading./rtp.2.0.txt packets...! [rtp0] open di detected:./rtp.2.0.txt pt=23(?) 10.0.0.44:4096 => 10.0.0.1:4192 [...]! [rtp0] detected: pt=23(?) 10.0.0.44:4096 => 10.0.0.1:4192 * [rtp0] [...] closed: packets inbuffer=0 flushed=477 lost=0(0.00%), call_length=0m14s * [rtp0] closed: packets inbuffer=0 flushed=477 lost=0(0.00%), + call_length=0m14s Status Alive + Status RTP Sessions: 0 Closed Alive RTP Sessions: 01 Detected Closed RTP RTP Sessions: Sessions: 1 1 Flushed Detected RTP RTP packets: Sessions: 4771 Lost Flushed RTP packets: RTP packets: 0 (0.00%) 477 Lost RTP packets: 0 (0.00%) 24/31
Draft de RFC Le protocole ZRTP Utilisation de Diffie Hellman Anonyme Vulnérable aux interceptions : - 25 - Copyright Hervé Schauer Consultants 2008 - Reproduction Interdite
Le protocole ZRTP Garantie que personne n'intercepte la communication s0 = clé maître utilisée pour la génération des diverses clés - 26 - Copyright Hervé Schauer Consultants 2008 - Reproduction Interdite
La non confidentialité Infrastructures administrables à distance En HTTP Parfois disponibles sur Internet IPBX : consultation des journaux Administration de la visio-conférence Accès à toutes les caméras de toutes les salles de réunion! Avec certains téléphones GSM Journalisation des SMS 27/31
Vu chez un opérateur Cas pratique d'intrusion sur des réseaux VoIP opérateur : 28/31 Session Initiation Protocol Request-Line: INVITE sip:06xxxxxxxx@a.b.c.d SIP/2.0 Message Header Via: SIP/2.0/UDP 10.0.0.53:7502 Max-Forwards: 70 From: "0606060606" <sip:0606060606>;tag=9c6072bf2bd8428bb2f63d1191f23f34;epid=eae6c76a48 To: <sip:06xxxxxxxx@a.b.c.d> Call-ID: 2c3fad5bdb6e48dda1640aaa7417d3b3 Impacts : Consultation de la messagerie de tous les abonnés Usurpation d'identité pour les appels et les SMS / MMS
Quelques solutions de sécurisation 29/31 Les éléments relatifs à la VoIP sont informatiques Les bonnes pratiques informatiques s'appliquent donc! Ne pas mutualiser les machines! Mettre à jour les logiciels Les systèmes d'exploitation Les firmwares également! Des switchs Des téléphones Séparer les réseaux Données et voix devraient être sur des réseaux distincts Le réseau de voix ne devrait accéder qu'au strict nécessaire Pas d'interface d'administration Pas de services relatifs aux systèmes d'exploitation socles Journaliser
Références RTPBreak http://dallachiesa.com/code/rtpbreak/ Sécurité de la VoIP, 06/05, Franck Davy, Nicolas Jombart, Alain Thivillon, HSC http://www.hsc.fr/ressources/presentations/csm05-voip/ ISIC : tcpsic, udpsic http://isic.sourceforge.net/ Shell over DTMF, 06/2009, Nicolas Collignon http://www.hsc.fr/ressources/presentations/sstic09_rump_alambix/ Brouillon de RFC de ZRTP : http://tools.ietf.org/html/draft-zimmermann-avt-zrtp-22 30/31
Questions? 31/31