En livrant en Open Source un module cryptographique qui permet de sécuriser les données sensibles transitant sur l'Internet, Amazon Web Service peut potentiellement éviter au monde un autre désastre de sécurité comme la fameuse faille Heartbleed, qui avait exposé les réseaux à de graves risques de sécurité l’an dernier. Le logiciel s2n est une nouvelle implémentation du protocole de cryptage des données Transport Layer Security (TLS), qui a succédé lui-même au protocole SSL (Secure Sockets Layer), utilisés tous deux par AWS pour sécuriser la plupart de ses services.
Les ingénieurs d’AWS qui ont conçu s2n, un raccourci pour « signal to noise », ont réduit la quantité de code nécessaire pour implémenter le TLS, espérant ainsi faciliter la détection de failles de sécurité potentielles. La bibliothèque s2n implémente le TLS en 6 000 lignes de code, soit nettement moins que les 70 000 lignes nécessaires à l’intégration de TLS dans OpenSSL, qui sert de base aujourd'hui à toute implémentation du protocole TLS. « Toute ligne de code présente un risque d'erreur potentiel, mais la taille importante du code du TLS d'OpenSSL est un vrai défi en terme d’audit, de sécurité, de performances et d'efficacité », a écrit Stephen Schmidt, responsable de la sécurité des systèmes d’information d’AWS, dans un blog annonçant la sortie de s2n.
Un complément au protocole OpenSSL
Comparativement, la nouvelle base de code de s2n « est plus facile à examiner », a écrit le responsable de la sécurité. « Nous avons déjà fait réaliser des tests de sécurité et de pénétration sur s2n par trois prestataires externes, et nous allons continuer ». Pendant les mois à venir, AWS va commencer à incorporer s2n dans ses propres services cloud. Au cours de la dernière année, de nombreuses failles ont été trouvées dans des packs logiciels utilisés pour le chiffrement TLS. La vulnérabilité Heartbleed, repérée en avril 2014, est sans doute la plus connue, même si la faille n’était pas à proprement parlée liée à l’implémentation du TLS dans OpenSSL. D’autres vulnérabilités ont été identifiées dans le TLS l’an dernier, comme la faille Poodle, qui exposait aussi les utilisateurs d'Internet à des risques de sécurité. « La bibliothèque s2n n’est pas destinée à remplacer complètement le protocole OpenSSL », a cependant prévenu Stephen Schmidt. Mais elle pourrait servir à remplacer une bibliothèque appelée libssl, la composante TLS d’OpenSSL.
Amazon contribue également au projet actuel de la Fondation Linux dont le but est d’améliorer la sécurité d’OpenSSL. La bibliothèque d’AWS devrait être bien accueillie par de nombreux professionnels de la sécurité et de l’IT de l'industrie. Per Buer, le fondateur et CTO de Varnish, qui propose un logiciel de mise en cache Open Source du même nom, est de ceux-là. En effet, son produit Varnish est utilisé par des sites web comme le New York Times qui génèrent typiquement beaucoup de trafic. L’éditeur ajoute actuellement dans son logiciel le support pour le protocole HTTP sécurisé (HTTPS). « Le processus de développement a été difficile compte tenu de l'état actuel des bibliothèques TLS », a fait remarquer le CTO, qui attend avec impatience de pouvoir tester s2n. Jusqu’ici, les bibliothèques TLS qu’il a utilisées étaient soit pleines de bogues, soit compliquées à utiliser, ce qui n’est pas surprenant étant donné la complexité et les exigences rigoureuses du chiffrement. « Avoir la possibilité de choisir parmi plusieurs implémentations TLS est une opportunité fantastique. En cas de problème de sécurité, on pourrait se contenter de remplacer la couche TLS dans l’infrastructure. Une telle solution pourrait vraiment nous simplifier la vie », a-t-il répondu par e-mail.