Les certificats ont une place très importante dans les échanges dématérialisés, car ils permettent d’offrir des services de sécurité nécessaires pour établir la confiance entre les parties prenantes. Mais cette confiance, générée par des mécanismes cryptographiques, peut être compromise en cas de vols des certificats.
En juillet 2011, l’autorité de certification hollandaise DigiNotar, propriété de Vasco, subit une intrusion sur son système d’information. Selon le rapport officiel, ce sont au total 531 certificats frauduleux qui ont été délivrés. Un de ces certificats frauduleux a notamment permis d’espionner près de 300 000 comptes Gmail iraniens, en interceptant et déchiffrant le trafic internet.
Rappel des notions de confiance numérique
Le certificat est une carte d’identité numérique qui identifie une personne, une entreprise, un service (site web) ou encore un équipement (serveur).
Un certificat peut être délivré à partir d’une autorité de certification publique (gestion par un fournisseur tiers qui peut être une société privée) ou à partir d’une autorité de certification privée (gestion par la DSI d’une entreprise). Afin de s’assurer de l’authenticité des certificats utilisés, le certificat est attaché à un domaine de confiance qui délimite son applicabilité. Le domaine de confiance est constitué d’une liste d’autorités de certification autorisées à émettre des certificats. A chaque utilisation de certificat, le client valide que le certificat émis provient d’une autorité présente dans cette liste.
Le certificat permet d’assurer des services de sécurité par la mise en œuvre de mécanismes de cryptographie asymétrique, faisant intervenir un couple de clés (suite de caractères), communément appelé clé publique et clé privée :
- La clé publique peut être connue de tous et elle est présente dans le certificat.
- La clé privée appartient à la personne, l’entreprise ou le service auquel le certificat a été remis. Elle n’est pas présente dans le certificat, et constitue à elle seule le secret permettant la confiance.
Le vol de certificats fait référence au vol de la clé privée associée au certificat.
Attaques par vol de certificats SSL
Certificats pour sites web
Les certificats ont de nombreux usages relatifs à la confiance numérique. Les certificats associés à la sécurisation des sites web permettent :
- L’authentification du site sur lequel je me connecte (exemple: www.mail.yahoo.com)
- La protection du flux échangé entre un client (votre navigateur) et le service web.
Le protocole qui utilise le certificat pour offrir ces services de sécurité est SSL ou TLS.
Cet usage permet de protéger des données représentant de la valeur pour des cybercriminels, tels que les mots de passe de connexion, ou encore les données bancaires transitant entre le navigateur et le service marchand.
Vol de certificats SSL et attaques « Man In The Middle »
Pour réaliser une attaque de type « Man In The Middle », deux conditions principales sont nécessaires :
- L’interception du trafic de la victime vers par l’attaquant ;
- la présence d’un certificat web SSL valide (domaine de confiance, statut de révocation…) sur le poste de l’attaquant.
Le vol de certificats provenant d’une autorité de certification reconnue nativement par les principaux navigateurs du marché permet aux attaquants de répondre à cette deuxième condition avec un maximum de discrétion. Une fois les 2 conditions principales réunies, l’attaquant est en mesure de déchiffrer l’ensemble des flux échangés entre le client et le serveur sans que cela soit visible pour l’internaute lambda. Pour ne pas interrompre la navigation, il suffit à l’attaquant de relayer l’ensemble des flux en prenant soin de les déchiffrer et de les re-chiffrer comme décrit dans la cinématique suivante :
Ce type d’attaque est généralement utilisée pour intercepter des données telles que les courriers électroniques, les échanges sur messagerie instantanée, des appels VoIP, les identifiants d’accès à un service bancaire, etc.
Les questions légitimes
– Tous les sites Web sont-ils sécurisés ? NON
D’une part, les échanges d’information protégés par certificat SSL peuvent être interceptés et déchiffrés dans le cas où l’attaquant possède la clé privée associé à ce certificat (suite à un vol).
D’autre part, de nombreux sites web non sécurisés peuvent faire l’objet de vol de données par attaque « Man In The Middle », sans même que l’attaquant possède de certificat frauduleux. Seuls les sites web faisant apparaitre sur le navigateur un cadenas fermé sont protégés par certificat SSL.
Certificats SSL standards :
Le projet Let’s encrypt est susceptible de réduire considérablement, et dans un avenir proche, le nombre de sites non sécurisés par SSL. En effet, ce projet sponsorisé par des géants de l’Internet tels que Mozilla, Cisco et Akamai, vise à proposer à l’horizon de l’été 2015 des certificats SSL gratuits, et qui ne nécessiteraient que 30 secondes pour être installés.
Quoi qu’il en soit, les risques inhérents aux cas de vol de certificats demeureront.
– L’attaque décrite ci-dessus est-elle la seule typologie d’attaque liée au vol de certificat ? NON
- D’une part, plusieurs techniques d’attaques sont associées aux certificats web SSL. Par exemple, un certificat frauduleux peut être perçu comme valide, par manipulation du domaine de confiance (i.e. liste des autorités de certification délivrant des certificats qui seront acceptés par le client) à l’insu des utilisateurs.
- D’autre part, les certificats ont de nombreux usages auxquels sont associés autant de techniques d’attaques. Par exemple, les certificats de signature de code servent à prouver qu’un programme provient bien d’un éditeur de confiance, et non d’un développeur malveillant. Les certificats volés dans ce cas peuvent alors servir à signer des malwares, afin que ces derniers passent inaperçus et contournent les mécanismes de contrôle des systèmes d’exploitation et équipements de sécurité (notamment la liste blanche d’application).
Le rapport dont cet article est extrait détaille les typologies d’attaques liées au vol de certificats, ainsi que les moyens de se protéger contre de telles attaques.
__________
Benjamin Roos est consultant cybersécurité chez Lexsi