Le SSL (TLS) est un protocole utilisé pour chiffrer les informations échangées entre un serveur et un poste utilisateur. Nous l’utilisons massivement pour surfer sur le web avec nos navigateurs préférés, pour accéder à des sites de tous types : Facebook, Gmail, domaine bancaire, etc. On notera tout de même que d’autres applications sont très régulièrement amenées à s’en servir : iTunes, Windows Update, Evernote, etc.
Le rôle de la confiance
Le principe est simple et s’applique également dans la « vraie » vie : lorsque quelqu’un vient à ma rencontre, je commence par me présenter « je suis Jean Pelini », et cette personne me croira, car je possède une pièce d’identité délivrée par le préfecture, en qui elle a confiance. Il s’agit de la base du protocole : la confiance. Néanmoins, qui sommes-nous pour attester de l’authenticité d’une carte d’identité? L’intégralité de la robustesse du protocole SSL est basée sur la confiance que nos applications ont envers les signataires des certificats de serveurs (Autorité de Certification – CA). Même s’il est plus facile de se procurer une fausse carte d’identité que d’usurper une autorité de certification, rien n’est impossible.
Lorsqu’on utilise notre navigateur pour visiter un site sécurisé, nous le remarquons rapidement grâce à l’icône de cadenas qui apparait dans la barre de navigation. En cliquant dessus pour en examiner les propriétés, on voit souvent apparaitre DigiCert, CyberTrust, GlobalSign, qui sont les autorités/CA. Sur Firefox, il y a quelques dizaines d’autorités de certifications valides. De la même manière que je suis en mesure de présenter une fausse carte d’identité, est-ce parce que le cadenas est vert que je dois me sentir en sécurité?
Erreur humaine
Tout le monde a entendu parler de la faille SSL sur le système d’exploitation d’Apple, qui a donné lieu à une mise à jour massive d’iOS et OSX. Qu’il s’agisse d’une erreur humaine ou d’un « complot », le résultat reste le même : les applications Apple se basant sur SecureTransport (librairie SSL, utilisée notamment lors de la validation de l’identité du serveur) ne prennent pas en compte l’autorité ayant signé les certificats. Un pirate talentueux pourrait par exemple falsifier la page d’accueil d’un site bancaire et rediriger les flux des utilisateurs vers son serveur. Le flux serait ainsi déchiffré en toute transparence, transmettant ainsi les données personnelles du client au pirate. On l’aura compris, l’exploitation de cette faille reste limitée, car il faudra d’autres compétences pour s’en « servir » et détourner des communications vers sa propre machine. De plus, TLS 1.1 et, TLS 1.2 utilisant une autre partie de code ne seraient pas impactés. Quoiqu’il en soit : Confiance – 0, moi – 1.
Piratage d’une Autorité de Certification (CA)
Faire confiance au cadenas, c’est aussi faire confiance aux personnes qui ont développé votre navigateur web, mais sur quels critères ?
Il faut savoir que Firefox et Chrome par exemple, utilisent des développements « spécifiques » de la couche SSL. Sans vraiment en être conscients, les développeurs d’Apple, de Google, de Mozilla, de Microsoft, d’Opéra etc., viennent s’ajouter à notre « liste de confiance », ce qui multiplie la probabilité d’erreur. Ce n’est pas tout : nous faisons également confiance à leur jugement, car ce sont eux qui définissent la fameuse liste des autorités de certification.
En parlant de confiance aveugle dans les autorités agréées par ces sociétés, parlons du piratage de DigiNotar, une autorité de certification anciennement valide sur tous les navigateurs les plus populaires. Le piratage de DigiNotar a permis de générer des certificats publics valides, mais qui s’avéraient être usurpés. Un acteur majeur du monde informatique en a d’ailleurs fait les frais : Google. Un faux certificat (pourtant valide) a ainsi pu être généré en Iran, à des fins malicieuses. Néanmoins, l’objectif de cette attaque n’était pas le détournement d’informations. Elle visait directement la confiance qu’on accorde à ce modèle. Après l’annonce publique de cette fuite, il a fallu très peu de temps aux concepteurs de navigateurs pour révoquer les certificats DigiNotar, ce qui a par ailleurs mené la société à la faillite.
On notera aussi que le hacker avait annoncé qu’il possédait encore 4 autres CA reconnues en sa possession : « I have access to 4 more so HIGH profile CAs, which I can issue certs from them too which I will, I won’t name them, I also had access to StartCom CA ». Edward Snowden, lui, a informé le monde entier que nos communications SSL pouvaient être espionnées par la NSA (entre autres). Ainsi, même des actes individuels peuvent ébranler cette confiance sur laquelle repose la sécurité des échanges de notre vie numérique et l’icône du cadenas paraît de moins en moins fiable.
On peut continuer d’illustrer avec une autre anecdote, une française cette fois-ci : le « scandale » de l’espionnage du ministère des finances. Lors de l’intégration d’un nouvel équipement de sécurité au Ministère de l’Economie et de la Finance, l’autorité de certification de l’ANSSI a été mise à rude épreuve. En effet, elle a été utilisée afin d’intercepter le trafic des utilisateurs à destination de Google, et il s’agit là d’une coutume largement répandue.
L’interception SSL en guise de protection
L’intérêt du SSL aujourd’hui pour un « utilisateur lambda », c’est l’assurance de ne pas se faire espionner lorsqu’il est à hôtel, dans des lieux publics ou sur son lieu de travail. Après tout, c’est généralement tout ce qui nous importe, mais la réalité est toute autre.
L’objectif est de sécuriser les informations contenues dans le flux chiffré en le déchiffrant « momentanément ». Sur le principe, c’est une très bonne chose, mais avec du recul, il y a un problème : ces solutions ne sont pas installées uniquement dans les bureaux du ministère. Nous les retrouvons aussi au niveau des connexions WiFi des hôtels, des fastfoods, des transports, etc. D’ailleurs, afin d’être en conformité avec la loi, les utilisateurs doivent être informés via une charte informatique. Cette même charte que personne ne lit dans ce genre de situation (n’est-ce pas ?). Quoiqu’il arrive, même avec SSL, il n’y a pas de réelle solution pour être sûr à 100% d’être là où nous le pensons.
Il ne faut pas éteindre son ordinateur dès qu’un cadenas apparaît sur l’écran. Malgré le manque d’alternative à SSL pour sécuriser les échanges sur Internet, il faut se rappeler que nos données ne seront pas piratées « par hasard ». Afin d’exploiter des données personnelles, il faut être la cible directe d’une attaque. Les risques restent donc minimes.
Il faut rester optimiste, sans toutefois, accorder l’intégralité de notre confiance à un système qui n’est pas infaillible.
_______
Jean Pelini est Responsable du pôle Support, Nomios