Securité

Chiffrement des données et faux sentiment de sécurité

| Mise à jour
par Stéphane Adamiste, ELCA informatique.

Depuis la prise de conscience de l’ampleur des pratiques de surveillance effectuées par les états, le chiffrement des données devient très tendance. Sauf que la mise en œuvre de mesures de protection cryptographiques est plus complexe qu’il n’y paraît. Pour preuve, quelques cas tirés de l’actualité.

Stéphane Adamiste, Consultant en Sécurité de l’Information chez ELCA informatique.
Stéphane Adamiste, Consultant en Sécurité de l’Information chez ELCA informatique.

Fin février, des chercheurs révèlent plusieurs vulnérabilités notoires affectant la très populaire application WhatsApp, fraîchement acquise par Facebook contre quelques 19 milliards de dollars. L’application supporte non seulement une version «crackable» de SSL, mais il est également possible de forcer l’utilisation de clés de faible longueur permettant le cassage du chiffrement, et même de forcer l’absence pure et simple de chiffrement. L’attaquant lambda peut, entre autres, aisément tirer parti de ces failles au travers des réseaux wifi publics pour intercepter des messages WhatsApp. Une aberration pour une application aussi populaire? Certes, mais le constat n’étonne guère, sachant qu’il a fallu attendre août 2012 pour que les messages WhatsApp cessent d’être envoyés en clair.

Autre cas de figure médiatisé au même moment, un bug dans le code d’iOS, le système d’exploitation Apple provoque le contournement pur et simple du test de validité des certificats SSL présentés au navigateur. Une faille tellement énorme que les observateurs ont du mal à croire que sa présence est purement fortuite. Les rumeurs d’une intervention de Big Brother resurgissent.

Troisième exemple de problème lié à l’utilisation de la cryptographie asymétrique récemment mis en évidence, l’exposition de clés privées SSH sur Github, le service en ligne de gestion de projets logiciels utilisé par des millions de développeurs. Début 2014, une fonctionnalité de recherche est ajoutée à la plateforme. Utilisée à mauvais escient, cette fonctionnalité permet de retrouver dans le code source de milliers de projets, les clés privées SSH normalement utilisées pour administrer les serveurs à distance de façon sécurisée.

Les trois cas évoqués ci-dessus sont l’illustration d’erreurs classiques liées à l’utilisation de la cryptographie: algorithmes vulnérables, longueur de clé insuffisante, implémentation défaillante, mauvaise protection des secrets. Cette liste est malheureusement loin d’être exhaustive.

Bonnes pratiques

Quels enseignements tirer de ces failles? Il convient tout d’abord de reconnaître que la cryptographie est une science complexe et qu’à ce titre, elle doit être confiée à des spécialistes. Les spécifications fournies aux développeurs d’applications doivent donc émaner de personnes compétentes et être plus précises que des laconiques «transmission et stockage chiffrés des informations sensibles» qui laissent une large place à l’interprétation, donc à l’erreur. Elles doivent mentionner explicitement quels algorithmes et longueur de clés utiliser, et idéalement, pointer vers des librairies connues comme étant sûres pour l’implémentation desdits algorithmes.

Le développement sécurisé implique la mise en œuvre d’activités de contrôle préalables à la mise en production d’une application, telles que des revues de code ou des tests d’intrusion. Puisque la cryptographie est utilisée pour protéger des informations sensibles et qu’elle est dans le même temps sujette à de multiples risques d’erreurs, il existe une double raison de s’intéresser de près au code correspondant.

Mais avant ces étapes, il est essentiel de déterminer où et comment faire usage de moyens cryptographiques en réfléchissant aux menaces qui pèsent sur les informations traitées par l’application que l’on souhaite sécuriser. C’est de cette analyse que devraient découler les mesures de sécurité à déployer, y compris les mesures techniques (utilisation de tel ou tel algorithme par exemple) et organisationnelles (génération, transmission et révocation d’un certificat par exemple) liées à la cryptographie. A cet égard, le discours des vendeurs de bases de données et autres solutions hébergées est généralement largement trompeur et les clauses contractuelles fréquemment rencontrées du type «nous chiffrons vos données avec les algorithmes les plus robustes du marché» n’offrent en réalité aucune garantie.

Kommentare

« Plus