L'internet repose sur sa capacité à permettre aux appareils de communiquer entre eux et, dès sa création, les pionniers de l'internet ont réfléchi aux besoins en matière de sécurité et de protection de la vie privée. Au fur et à mesure que l'internet se développait, le besoin de conversations cryptées "sécurisées" sur l'internet est apparu et certaines normes cryptographiques ont été adoptées et déployées sur l'ensemble du web, permettant des communications sécurisées entre les clients et les serveurs. C'est ainsi que sont apparus les protocoles cryptographiques Secure Sockets Layer (SSL) et Transaction Layer Security (TLS).
SSL et TLS sont destinés à sécuriser les communications entre deux appareils (un client et un serveur). Les certificats numériques sont destinés à prouver qu'un serveur appartient réellement à une entité spécifique, afin de garantir qu'un client parle avec un serveur vérifié, plutôt qu'avec un domaine frauduleux. Les clés SSL/TLS garantissent que les conversations entre ces serveurs sont cryptées et sécurisées. SSL/TLS indique que le client est digne de confiance ; les certificats garantissent que le serveur est digne de confiance. Tout cela est logique en théorie, bien sûr, mais en pratique, les choses se compliquent rapidement.
Les attaques qui tirent parti des problèmes et des mauvaises configurations des clients de chiffrement TLS et SSL existent depuis des décennies, en partie parce que la technologie de chiffrement elle-même a plus de 20 ans. Les adversaires exploitent les faiblesses de TLS et de SSL parce qu'il s'agit d'une solution facile, qui offre de grandes récompenses pour très peu d'efforts ou de risques pour le(s) attaquant(s).
Le fait que tout ce qui se trouve sur l'internet soit connecté à l'aide de cette ancienne technologie met pratiquement tout en danger, mais des progrès ont été réalisés pour éviter que nous ne devions détruire tout l'internet et recommencer à zéro (non, ce n'est pas une option). Nous aborderons les conseils de sécurité à la fin de cet article. Mais d'abord, les attaques réelles.
DROWN Attack, FREAK, Logjam, Heartbleed...TOUTES LES ATTAQUES
De nombreuses cyberattaques dont nous entendons parler ces jours-ci sont liées aux protocoles SSL (OpenSSL, en particulier) et TLS, y compris quelques attaques généralisées très publiques au cours de la dernière décennie, comme DROWN, FREAK, Logjam et Heartbleed. Par coïncidence, ces trois attaques bien connues ont été analysées et rapportées en détail par plusieurs de nos fondateurs. CensysDavid Adrian, directeur de l'ingénierie, Zakir Durumeric, technologue en chef, et J. Alex Halderman, scientifique en chef, faisaient partie des équipes de recherche qui ont été les premières à signaler les attaques DROWN et Logjam et les premiers chercheurs à mesurer l'impact des attaques DROWN, Logjam, FREAK et Heartbleed. Ces attaques ont été parmi les premières à démontrer la valeur de l'analyse de l'internet mondial pour traquer les attaques, mesurer leur impact et comprendre leur fonctionnement.
Ces attaques terrifiantes, marquées d'un logo et d'une marque, qui ont fait l'objet d'une frénésie médiatique, avaient un point commun : elles utilisaient les clients SSL et TLS pour espionner les données partagées entre le client et le(s) serveur(s). Les attaquants ont pu insérer des sondes dans les serveurs SSL/TLS pour lire la connexion entre le client et le serveur. Grâce à cet accès, les acteurs malveillants ont pu lire et modifier les données transmises par les serveurs Web et de courrier électronique - pour la seule attaque DROWN, des dizaines de milliers de serveurs ont été touchés.
Trouver des actifs vulnérables inconnus à l'aide du protocole SSL/TLS pour améliorer la sécurité
Censys indexe les certificats TLS associés aux hôtes et aux services et suit également quelques vulnérabilités spécifiques, ce qui signifie que vous pouvez l'utiliser pour trouver des périphériques et des certificats obsolètes et non sécurisés dans votre organisation. Nous allons vous présenter quelques-unes de ces recherches, liées à TLS. Le plus gros problème auquel les équipes informatiques sont confrontées est tout simplement la possibilité de voir tout ce qui est utilisé dans leur entreprise, en dehors des appareils connus appartenant à l'entreprise. Il est possible que certains hôtes utilisant un protocole TLS vulnérable puissent servir de porte d'entrée aux attaquants. Commençons donc par les trouver.
Nous savons que des longueurs de clés publiques faibles sont un indicateur de la vulnérabilité potentielle d'un certificat TLS. Perspective Risk a publié un article approfondi à ce sujet si vous souhaitez aller plus loin. La taille des clés cryptographiques est un facteur crucial pour la sécurité des clés, en supposant que les autres facteurs restent constants (protection de la clé privée contre les accès non autorisés, bon générateur de nombres aléatoires, etc.)
En 2019, les longueurs de clés publiques sont généralement considérées comme faibles si elles sont inférieures à 2048 bits. Cela signifie que nous pourrions nous concentrer sur la recherche de tailles de clés faibles courantes pour localiser les hôtes vulnérables aux attaques par force brute.
Commencez par la recherche suivante et remplacez le champ des noms analysés ("exemple.com") par le domaine de votre organisation :
https://censys.io/ipv4/help?q=443.https.tls.certificate.parsed.subject_key_info.rsa_public_key.length%3A+%5B+0+TO+2047+%5D+AND+443.https.tls.certificate.parsed.__expanded_names%3A+example.com
Cette plage de recherche englobe toutes les clés publiques inférieures à 2048 bits qui seraient intrinsèquement faibles du point de vue de la sécurité.
Ensuite, trouver les hôtes vulnérables à Heartbleed
Cette recherche vous montrera tous les domaines utilisés dans votre organisation qui sont vulnérables à Heartbleed. Remplacez "exemple.com" par votre domaine :
https://censys.io/ipv4?q=%28443.https.heartbleed.heartbleed_vulnerable%3A+true+AND+443.https.heartbleed.heartbeat_enabled%3A+true%29+AND+443.https.tls.certificate.parsed.names%3A+example.com
Certificats anciens ou faibles
Ensuite, vous pouvez rechercher des certificats périmés ou expirés pour des appareils que vous possédez ou qui sont utilisés dans votre organisation, à l'aide de l'ensemble de données des certificatsCensys . CensysLe système d'étiquetage ' facilite la recherche de ces certificats dans la page de résultats. Voici comment procéder pour rechercher ces certificats :
- Choisissez le menu déroulant "certificats" à côté de la barre de recherche Censys et sélectionnez parsed.names : [yourdomain].
- https:// censys.io/certificates?q=aol.com - remplacez "aol.com" par votre domaine
- Ensuite, à partir de ces résultats, filtrez en fonction de l'état de confiance du certificat dans la marge de gauche, en choisissant "Untrusted" "Never Trusted" "Self-Signed" "Expired", etc. jusqu'à ce que vous obteniez votre liste de domaines que vous devez explorer davantage
Configurations TLS utilisant des algorithmes de hachage faibles
En recherchant ensuite dans l'ensemble de données IPv4 en sélectionnant "IPv4" dans le menu déroulant, nous pouvons rechercher les algorithmes de hachage utilisés dans la suite de chiffrement, qui jouent également un rôle dans la sécurité TLS. Certains algorithmes de hachage sont vulnérables aux attaques par collision, c'est-à-dire que l'algorithme génère la même valeur de hachage pour deux entrées indépendantes.
Vous pouvez utiliser Censys pour trouver des exemples de configurations TLS utilisant des algorithmes de hachage faibles dont les vulnérabilités ou les attaques sont connues (SHA-1 et MD5, dans notre exemple) :
https:// censys.io/ipv4?q=443.https.tls.signature.hash_algorithme%3A+%2Fsha1%7Cmd5%2F+AND+443.https.tls.certificat.parsed.names%3A+example.com (Encore une fois, vous devrez remplacer le domaine parsed names "example.com" par le vôtre pour que cela fonctionne).
Il ne s'agit là que de quelques exemples de la manière de trouver des actifs vulnérables dont vous n'aviez pas connaissance en consultant le site Censys, mais c'est un bon début. En réglant ces problèmes avant qu'ils ne soient exploités et ne causent des dommages à votre entreprise, vous améliorez la sécurité générale de l'entreprise et évitez les traumatismes à l'avenir.
Quelques conseils pour une meilleure hygiène de sécurité et la conformité PCI
Vous avez découvert que certains serveurs utilisent des protocoles SSL/TLS obsolètes et vulnérables dans votre entreprise. Il faut d'abord s'attaquer à ces deux points pour éviter les attaques de type "man-in-the-middle" (MITM) :
- Veillez à configurer vos serveurs pour qu'ils prennent en charge les dernières versions du protocole TLS - la version 1.2 est largement prise en charge par les serveurs et les clients, la version 1.3 a été finalisée et sa prise en charge est en train d'émerger.
- Désactivez TLS 1.0 si vous ne l'avez pas encore fait et TOUTES les versions de SSL
- Bien que nous soyons certains que vous suivez toujours nos conseils, il convient de souligner qu'à partir de juin 2018, vous devrez avoir désactivé la prise en charge de toutes les versions de SSL et des premières versions de TLS afin d'être conforme aux normes PCI. Plus de détails à ce sujet ici
- Si vous avez trouvé d'anciens certificats expirés sur des appareils encore utilisés, assurez-vous que vous avez entamé le processus de renouvellement de ces certificats et que vous les avez ajoutés à votre liste d'inventaire de gestion des actifs.