Cryptographie
BEAST : Browser Exploit Against SSL/TLS, attaque publiée en 2011 contre le mode CBC de SSL 3.0 et TLS 1.0. « L'attaque qui lit des cookies chiffrés parce que le protocole annonçait d'avance son vecteur d'initialisation », par analogie avec le joueur de poker qui montre sa prochaine carte en pensant que personne ne regarde.
Le défaut : Dans SSL 3.0 et TLS 1.0, le vecteur d'initialisation d'un enregistrement CBC est le dernier bloc chiffré de l'enregistrement précédent, donc connu de quiconque écoute. La faiblesse était signalée dans la littérature dès le début des années 2000, et une contremesure existait dans OpenSSL, souvent désactivée pour ne pas fâcher des implémentations capricieuses.
L'attaque : Présentée par Thai Duong et Juliano Rizzo, elle suppose un attaquant qui observe le trafic et fait émettre au navigateur des requêtes dont il choisit une partie (script ou applet injectés). Il devine alors un cookie de session octet par octet. Référence : CVE-2011-3389.
Les parades : TLS 1.1 (2006) impose un vecteur d'initialisation explicite par enregistrement. Les navigateurs ont ajouté le découpage des enregistrements dit 1/n-1 ; certains serveurs ont préféré se replier sur RC4, cassé à son tour en 2013, ce qui revient à fuir l'incendie par la fenêtre du cinquième étage.
Aujourd'hui : TLS 1.0 et 1.1 sont dépréciés par la RFC 8996 (2021) et TLS 1.3 a abandonné le mode CBC. BEAST reste surtout une raison de plus de n'accepter que des suites de chiffrement AEAD.
Ce qui arrive si on s'en passe
Un serveur qui accepte encore TLS 1.0 avec des suites CBC pour ne pas froisser un vieux client garde ouverte la porte que BEAST a démontrée, et avec elle les attaques voisines sur le remplissage CBC, comme Lucky13 (2013), qui mesure le temps de vérification. Les navigateurs actuels refusent de toute façon ces versions, si bien que cette configuration ne sert plus qu'aux attaquants et aux auditeurs, deux publics qui la remarqueront. Le correctif est connu depuis des années : TLS 1.2 avec des suites AEAD uniquement, ou TLS 1.3.
Explication de la marmotte
BEAST est une attaque découverte en 2011 contre d'anciennes versions du chiffrement des sites web. Ce chiffrement utilisait un ingrédient qui aurait dû rester imprévisible, mais que l'attaquant pouvait connaître à l'avance. En faisant envoyer beaucoup de requêtes par le navigateur de la victime, il devinait petit à petit son cookie de connexion. Les versions récentes de TLS ont corrigé ce défaut, c'est pourquoi il faut désactiver les anciennes.
Où ce terme est utilisé
- Transformer un bloc en chiffrement de message (2 occurrences)
- Migrer TLS legacy sans casser les clients anciens (1 occurrence)
- Parler le langage des clés, des messages et des attaquants (1 occurrence)
