Journal d'investigation en ligne et d'information‑hacking
Édito
par bluetouff

Sécuriser une communication VOIP avec ZRTP

Une fois n'est pas coutume, nous allons vous parler dans ces pages de sécurisation, de chiffrement et d'anonymisation de la voix sur IP. Vous avez probablement suivi du coin de l'oeil le flame d'hier entre l'ami Okhin et l'AFP, brillamment résumé par Skhaen ici. Vous savez probablement qu'il n'est pas du tout dans nos habitudes de faire de la publicité, encore moins quand il s'agit de nos propres solutions.

Une fois n'est pas coutume, nous allons vous parler dans ces pages de sécurisation, de chiffrement et d'anonymisation de la voix sur IP. Vous avez probablement suivi du coin de l'oeil le flame d'hier entre l'ami Okhin et l'AFP, brillamment résumé par Skhaen ici. Vous savez probablement qu'il n'est pas du tout dans nos habitudes de faire de la publicité, encore moins quand il s'agit de nos propres solutions. Et bien je vais aujourd'hui transgresser cette règle, cette mini-documentation s'adresse particulièrement aux journalistes qui utilisent Skype pour établir des communications avec leurs sources, les mettant ainsi en danger.

Je vous en avais très brièvement parlé sur mon blog il y a quelque temps, avec les copains de Rayservers, nous avons mis en place une offre VPN un peu particulière, mettant en oeuvre l'état de l'art de l'art en matière de chiffrement et d'anonymisation de flux (COMSEC), utilisant une PKI x509 (sans clé statique) et  AES 256.

Pour résumer, le point de sortie au Panama vous permet, une fois connecté au VPN, de choisir un autre node de sortie, un proxy privé. Ainsi depuis le Panama, vous pouvez sortir en Suisse, en Suède, aux USA, en Grande-Bretagne, et même sur un noeud privé Tor (afin de changer régulièrement et automatiquement d'adresse IP). Ainsi, il vous est par exemple simultanément possible :

  • de surfer avec un navigateur depuis une IP panaméenne,
  • de surfer avec un autre navigateur avec une IP dynamique du réseau TOR,
  • de chatter avec une IP suédoise,
  • de consulter vos emails avec une IP anglaise.
  • etc... 

Comprendre les risques

Quand nous naviguons sur Internet, nous laissons de nombreuses traces. Ces traces sont laissées aussi bien sur les sites que nous visitons (journaux d’accès), sur les machines par lesquelles passent nos communications, que sur nos propres machines et appareils mobiles se connectant à Internet. En corrélant tout ou partie de ces traces, il devient aisé de tracer une grande partie de l’activité Internet d’une personne, par exemple de savoir quels services et logiciels elle utilise, avec qui elle communique, à quelle fréquence…

Quelques traces que vous laissez sur Internet :

  • Adresse IP ,
  • Adresse mac (identifiant unique de la carte réseau de votre appareil connecté, renseignant la marque et le modèle de la machine que vous utilisez),
  • Pages visitées (source et destination),
  • Durée des sessions,
  • Métadonnées de votre navigateur ou de vos applications (oui... Skype également),
  • Protocoles utilisés,
  • Identité de votre fournisseur d’accès Internet,
  • Identité de votre système d’exploitation,
  • Résolution d’écran utilisée,
  • Typographies et plugins installés,
  • (…)

Afin de bien comprendre où et comment ces traces peuvent être interceptées, je vous propose de regarder attentivement ce petit schéma

Vous avez dit COMSEC ?

Nous l'avons dit et répété dans nos pages, la sécurisation d'une communication doit prendre en compte 2 paramètres :

  • La sécurisation des données (le contenu), assurée par le chiffrement (des mécanismes cryptographiques assurant le transport des données).
  • La sécurisation du contexte  (le contenant : votre système d'exploitation et vos applications), assurée par un ensemble de bonnes pratiques. L'utilisation d'une machine virtuelle, isolée de votre système d'exploitation principal, est une bonne pratique que nous encourageons vivement.

La sécurisation du contexte est probablement la chose la plus délicate à mettre en oeuvre puisqu'elle fait appel à une somme de connaissances non négligeable et qu'il n'existe pas de solution miracle. On se rappellera, pour illustrer nos propos, d'un petit malin qui se pensait bien caché derrière TOR et qui avait malencontreusement oublié de sécuriser son contexte, révélant ainsi des informations nous permettant de remonter à lui.

Établir une communication VOIP sécurisée

Nous nous sommes donc naturellement penchés sur les solutions logicielles ou matérielles implémentant l'état de l'art en matière de chiffrement de la VOIP. Et l'état de l'art, c'est le protocole ZRTP, dont l'un des géniteurs n'est autre que Phil Zimmerman, le génial papa de PGP. Niveau matériel, peu de solutions implémentent à ce jour ZRTP. Nous citerons pour le moment les solutions de SNOM.

Côté logiciel, nous nous concentrerons aujourd'hui sur Twinkle, disponible sur GNU/Linux et MacOSX, mais sachez que d'autres softphones l'implémentent comme l'excellent Jitsi (GNU/Linux/MacOSX/Windows) dont nous vous recommandons tout particulièrement les nightly builds.

Twinkle est un logiciel libre, qui couplé à l'utilisation d'un VPN robuste et aux bonnes pratiques que nous avons évoqué ci-dessus, offre une protection sérieuse contre les interceptions. Vous devez disposer d'un compte SIP.

Installation sous Debian GNU/Linux ou Ubuntu depuis un terminal :

# apt-get install twinkle

Installation universelle depuis les sources sous Unix et GNU/Linux :

# ./configure

# make && make install clean

Lancez Twinkle et rendez vous sur   Edit -> User Profile

Configuration type :

User -> User name: votre numéro identifiant d'extension SIP par exemple 4242 User -> Domain: sip.toonux.net (le serveur de votre fournisseur de service SIP) User -> Authentication:  votre numéro identifiant d'extension SIP par exemple 4242 User -> Password: votre mot de passeSIP Server -> Registrar: sip.toonux.net (le serveur de votre fournisseur de service SIP) SIP Server -> Expiry: 60RTP Audio => Active Codecs [de haut en bas]

Speex-wb (16 KHz) Speex-nb (8 KHz) GSM G711u G711aFollow codec preference from far end on incoming calls: décoché Follow codec preference from far end on outgoing calls: décoché Note : si vous disposez d'une faible bande passante, privilégiez Speex-nb (8 KHz) en premier choix

Security => 

Enable ZRTP encryption: coché Only Encrypt Audio if remote party indicated support in SDP: décoché Indicate ZRTP support in SDP: coché Popup warning if remote party disables encryption: coché

Une fois cette configuration sauvegardée, et connecté à votre VPN, vous voici prêts à émettre et recevoir des communications sécurisées.

La mise à disposition d'accès SIP, de comptes VPN et l'observation de ces procédures de manière scrupuleuse, devrait être une pratique courante dans toutes les rédactions qui enquêtent sur des sujets dont les sources peuvent risquer leurs vie.

Chez Reflets, nous ne savons que trop bien que les capacités d'interception des communication de régimes autoritaires, comme en Syrie, sont rendues possibles grâce à des technologies occidentales, principalement américaines et françaises.

Amis journalistes, la sécurité de vos sources est quelque chose de trop sérieux pour que vous la négligiez, même si ce sont vos sources qui cherchent à vous contacter par Skype, il est de VOTRE responsabilité de les éduquer.

0 Commentaires
Une info, un document ? Contactez-nous de façon sécurisée