Unité de pilotage informatique de la Confédération UPIC Service de renseignement de la Confédération SRC Centrale d enregistrement et d analyse pour la sûreté de l information MELANI www.melani.admin.ch Considérations technologiques Attaques visant des prestataires de services de certification et conséquences 1 mai 2012
1 Introduction Ces derniers temps, divers prestataires de services de certification (certification service provider, CSP) établis et jugés dignes de confiance par les fabricants de navigateurs ont subi des attaques et ont été compromis dans deux cas au moins (Comodo et DigiNotar). Concrètement, les pirates sont parvenus à émettre de faux certificats pour serveur SSL/TLS, qui leur ont notamment permis de mener à grande échelle des attaques MITM (man-in-themiddle, attaque de l intermédiaire). Dans les présentes considérations technologiques, nous montrons ce qui s est passé et quel pourrait être l impact de telles attaques sur la conception des infrastructures à clé publique (PKI) présentes ou futures. 2 Attaques Après des années de débats sur la sécurité des CSP et des PKI, où il était surtout question tant de la sécurité (cryptographique) contre la contrefaçon des certificats que de la résistance aux certificats de signature de code truqués, Comodo 1 a fait savoir en mars 2011 que des pirates étaient parvenus à émettre, par le biais d au moins deux revendeurs italiens compromis (GlobalTrust.it et InstantSSL.it), neuf faux certificats pour serveur SSL/TLS. Cette nouvelle a suscité un vif émoi au niveau international et a relancé la discussion sur la sécurité. Le débat a encore gagné en intensité quand la société néerlandaise DigiNotar 2 a annoncé avoir également subi, en juillet 2011, une attaque de grande envergure. Diginotar gère avec PKIoverheid aussi une PKI pour l Etat néerlandais (cette partie n a pas été touchée par l attaque). Dans le cas de DigiNotar, 513 faux certificats pour serveur SSL/TLS ont été émis. Et comme il s agit en partie de certificats à validation étendue (extended validation, EV), on a affaire à un incident à prendre très au sérieux dans le domaine des PKI. Une fois l affaire rendue publique, Vasco a rapidement liquidé DigiNotar. Dans les deux cas, les entreprises ont d abord prétendu avoir été victimes d une attaque complexe, ciblée et persistante (APT, advanced persistent threat), laissant entendre que les agresseurs pourraient être des services étatiques. Des analyses plus approfondies réalisées par KPMG pour le compte de l Etat néerlandais ont montré que les attaques ont été bien moins spectaculaires qu on ne l avait cru au départ. Là encore, des systèmes serveurs non mis à jour et des liaisons Internet insuffisamment contrôlées ont permis aux attaques d aboutir. 3 Conséquences L usage en toute sécurité de systèmes de chiffrement à clé publique (cryptographie à clé publique) repose à chaque fois sur la sécurité offerte par les CSP et les PKI 3. Par conséquent, la sécurité des CSP et des PKI est un thème dont les techniciens de la sécurité se sont toujours occupés. Ils s intéressent en particulier à des scénarios qui comportent des certificats falsifiés (via des failles de la résistance aux collisions des fonctions de hachage cryptographique 4 ), ou qui se basent sur l utilisation abusive de certificats de signature de code. Dans le second cas, comme l a montré le ver Stuxnet, un tel certificat permet p. ex. 1 2 3 4 Comodo (www.comodo.com) est un CSP actif dans le monde entier, qui émet notamment diverses classes de certificats pour serveur SSL/TLS. Selon des estimations, la part de marché de Comodo oscille ici entre 20 et 25 % au niveau mondial. DigiNotar B.V. (www.diginotar.nl) était une filiale de VASCO Data Security International, Inc. (Vasco). En ce sens, les CSP et les PKI sont le talon d Achille de la cryptographie à clé publique. Ce point est approfondi p. ex. dans les considérations technologiques du 4 août 2010 intitulées «Technologiebetrachtung: Kollisionsresistenz und Brechung kryptografischer Hashfunktionen» : http://www.isb.admin.ch/themen/sicherheit/00530/01276/index.html?lang=de 2/5
d introduire des maliciels dans un système d exploitation, sous forme de logiciels de pilotage porteurs d une signature numérique. Or les récentes attaques contre des CSP ont révélé que le piratage d un CSP dans le but d émettre de faux certificats représente une réelle menace. Comme expliqué en introduction, il devient possible de lancer des attaques MITM de grande envergure, avec de faux certificats pour serveur SSL/TLS. Si un client du e-banking cherche à accéder à un serveur de sa banque à l aide des protocoles de sécurisation Secure Sockets Layer (SSL) ou Transport Layer Security (TLS) et si un pirate parvient à le détourner sur un serveur contrôlé par lui et à envoyer au navigateur un certificat valable en établissant la connexion SSL/TLS, le navigateur acceptera ce certificat sans autre vérification et l escroc pourra s immiscer dans la communication entre le navigateur et le serveur. Il aura dès lors le contrôle complet des données transmises, qu il décryptera à volonté pour en prendre connaissance. De telles attaques permettent également d exercer un contrôle étatique d Internet. Ainsi, les faux certificats DigiNotar ont probablement servi à surveiller, en Iran, la communication des opposants dans les réseaux sociaux (Facebook et Twitter notamment). L émission comme dans les cas étudiés ici de faux certificats amène à un double constat: Premièrement, tous les mécanismes en place de révocation de certificats fondés sur des listes noires (interrogation d une CRL et/ou requêtes OCSP) sont impuissants face à de tels certificats. Un faux certificat (c.-à-d. émis de façon illégitime) n est pas nécessairement identifiable comme tel. Pour cela, il faudrait être en mesure de distinguer les certificats autorisés (c.-à-d. émis légitimement) des autres. Le cas échéant, une liste blanche (white list) ou une forme d habilitation (clearance) des processus de commande et de paiement effectués correctement pourrait s avérer utile. Or même de tels modèles ne sont pas à l abri de menaces internes. Deuxièmement, il est apparu que le modèle de confiance (centralisé et hiérarchisé) basé sur la recommandation UIT-T X.509 pose problème. Car si dans ce modèle un CSP ou une autorité de certification racine (Root CA) sont compromis, toutes les entités se référant à cette CA en font les frais (au pire des cas tous les internautes). Du point de vue de la sécurité, tout le monde est logé à la même enseigne et la probabilité qu une Root CA soit compromise est proportionnelle à la longueur de la liste. Si par exemple un nombre n de Root CA (CA1,,CAn) sont jugées dignes de confiance et si chacune d elles a une probabilité pi (pour la Root CAi) d être compromise, la probabilité P qu aucune Root CA ne soit compromise correspond au produit de toutes les opérations (1 - pi) pour i = 1,,n, soit P = Πi=1,,n(1 - pi). Si la probabilité pi est identique pour toutes les Root CA, P peut se calculer avec l équation (1-pi)n. D où a contrario la probabilité 1-P d apparition de problèmes (au moins une Root CA compromise). Un tel modèle de simulation montre que si l on adopte des valeurs réalistes pour pi ou p, la probabilité d apparition de problèmes se rapproche relativement vite de 1 avec un nombre n croissant. Pour p = 0,01 et n = 100 (n = 200), la probabilité sera déjà p. ex. de 0,64 (0,87). Les remarques qui précèdent montrent l importance des précautions visant à prévenir au mieux, dans l état actuel des choses, les attaques MITM. Comme il n existe que peu d approches pour s en protéger, on essaiera de rendre ce genre d attaque aussi difficile et coûteuse que possible pour l agresseur. A cet effet, il importe de déterminer s il est possible ou non d apporter des changements au modèle de confiance. A défaut de pouvoir modifier le modèle de confiance, il est recommandé soit de travailler avec des listes vides de Root CA dignes de confiance, soit de ne sélectionner que certaines Root CA. Google offre déjà cette possibilité depuis la version 13 de Chrome («Public Key Pinning»). Une liaison avec le serveur de noms de domaine (DNS) s impose ici, si l on souhaite généraliser cette approche à tous les domaines. A titre d exemple, le groupe de travail DANE (DNS-based Authentification 3/5
of Named Entities) de l IETF a développé une possibilité dont la standardisation dans Internet est en préparation 5 de définir et d autoriser dans le DNS, par domaine, des certificats et/ou clés publiques spécifiques. Les CSP compromis ne pourraient plus par la suite émettre pour tous les domaines des certificats pour serveur, ce qui limiterait l impact des attaques fructueuses. Quant aux requêtes portant sur de tels enregistrements (TLSA Resource Records), elles seront idéalement protégées via DNS Security (DNSSEC). S il est possible d apporter des modifications au modèle de confiance, de nouvelles approches entrent en ligne de compte. Il faudrait prévoir un modèle de confiance où l impact de la compromission serait circonscrit localement. Un tel modèle devrait impérativement être répandu à large échelle et accepter les relations de confiance dynamiques 6. Des chercheurs de l université Carnegie Mellon ont par exemple montré que les attaques ont généralement une portée locale. D où la possibilité de reconnaître les faux certificats selon la localisation géographique des services de notariat. A partir de là, le projet Perspectives 7 a développé en 2008 la mise en place d un prototype, sous forme d extension de Firefox. L idée a été reprise en 2011 par Moxie Marlinspike, qui a lui aussi réalisé une extension de Firefox, présentée à la conférence Black Hat (solution Convergence). L avenir montrera si de tels modèles constituent une alternative valable aux PKI conventionnelles basées sur la recommandation UIT-T X.509. 4 Conclusions et perspectives Comme tout système socio-technique, un CSP a ses points faibles et ses vulnérabilités qu exploitent (de manière plus ou moins ciblée) des attaques malveillantes. Les procédés et mécanismes cryptographiques utilisés sont moins en cause ici que les interfaces avec les processus d émission et de délivrance de certificats. Des agressions seraient envisageables et réalisables à ce niveau, comme le prouvent les derniers incidents en date. La comparaison avec un faussaire est ici éclairante: l escroc peut soit falsifier des billets de banque soit ce qui est plus compliqué s introduire dans un centre d impression de billets pour émettre de vrais billets avec les machines en place. Il va de soi que la seconde possibilité est plus difficile à réaliser, mais d autant plus lucrative. Une attaque analogue a abouti entre-temps dans le domaine des PKI et selon toute vraisemblance, ce genre d attaque se renouvellera. Il vaut donc la peine de tenir compte d une telle éventualité dans les réflexions sur l aménagement des futures PKI. 5 6 7 Internet-Draft, Using Secure DNS to Associate Certificates with Domain Names for TLS, September 27, 2011, draft-ietfdane-protocol-12 Dans un exposé tenu à la conférence Black Hat de cette année, Moxie Marlinspike a créé le terme «trust agility» pour décrire ce niveau de confiance variable. http://perspectives-project.org 4/5
Abréviations APT Advanced Persistent Threat CA Certificate Authority CRL Certificate Revocation List CSP Certification Service Provider DANE DNS-based Authentication of Named Entities DNS Domain Name System DNSSEC DNS Security EV Extended Validation IETF Internet Engineering Task Force MITM Man-in-the-Middle OCSP Online Certificate Status Protocol PKI Public Key Infrastruktur RR Resource Record SSL Secure Sockets Layer TLS Transport Layer Security UIT Union internationale des télécommunications 5/5