Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

CRIME BREACH Attack

hacking

Définition

CRIME (Compression Ratio Info-leak Made Easy) et BREACH (Browser Reconnaissance and Exfiltration via Adaptive Compression of Hypertext) sont deux attaques connexes qui exploitent les oracles de compression pour déchiffrer des secrets dans des communications TLS, révélant que la compression de données peut créer des vulnérabilités même dans des protocoles de chiffrement correctement implémentés. CRIME (2012, Thai Duong et Juliano Rizzo) exploite la compression TLS/SPDY : lorsque TLS compresse les données avant de les chiffrer, la taille du trafic chiffré varie selon le niveau de compression obtenu. Si l'attaquant peut injecter des données choisies et observer la taille des paquets chiffrés résultants, il peut déduire le contenu des données secrètes (cookie de session) par une attaque oracle : injecter différentes valeurs candidates et observer laquelle produit le paquet le plus petit (car elle correspond au secret et maximise la compression). BREACH (2013, Angelo Prado, Neal Harris, Yoel Gluck) est similaire mais exploite la compression HTTP (Content-Encoding: gzip) plutôt que la compression TLS. HTTP Compression est beaucoup plus couramment utilisée que TLS Compression, ce qui rend BREACH plus impactant en pratique. BREACH permet d'extraire des secrets (CSRF tokens, session IDs) depuis des réponses HTTP compressées si l'attaquant peut injecter des données dans la requête. La mitigation CRIME est simple : désactiver la compression TLS (désormais fait par défaut dans les navigateurs modernes). La mitigation BREACH est plus complexe car elle nécessite soit de désactiver la compression HTTP (coût de performance), soit d'implémenter des protections comme des tokens CSRF randomisés à chaque requête ou du padding aléatoire dans les réponses.

Fonctionnement

CRIME oracle de compression : pour déchiffrer un cookie 'session=ABC123', l'attaquant injecte 'session=A', 'session=B', etc. dans une requête HTTP, la compresse avec TLS et observe la taille du paquet chiffré — le packet le plus court révèle que 'session=A' correspondait (meilleure compression car le string 'session=A' apparaissait deux fois dans les données). En répétant pour chaque position, le cookie est reconstitué caractère par caractère. BREACH fait la même chose avec Content-Encoding: gzip.

Exploitation offensive

CRIME a rendu obsolète l'extension de compression TLS et forcé la désactivation dans tous les navigateurs majeurs. BREACH reste partiellement applicable sur des sites modernes qui utilisent la compression gzip et incluent des secrets dans des corps de réponse compressés. Des PoCs démontrent l'extraction de tokens CSRF depuis des réponses gzip dans des scénarios MitM.

Détection et mitigation

CRIME : désactiver la compression TLS (déjà fait par tous les navigateurs). BREACH : désactiver la compression HTTP pour les réponses contenant des secrets, randomiser les tokens CSRF à chaque requête, ajouter du padding aléatoire, implémenter le header Vary pour les caches, ou activer le mode 'nosniff'. Ces mitigations ont des impacts sur les performances et nécessitent un arbitrage coût/bénéfice.

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis