Deux chercheurs de l'entreprise de sécurité Imperva ont mis au point de nouvelles techniques permettant à des pirates d'extraire des informations sensibles du trafic web chiffré. Pour cela, ils utilisent une méthode ancienne baptisée CRIME qu'ils ont amélioré. Celle-ci s'attaque à la fonction de compression SSL.

CRIME déchiffre les informations d'authentification stockées dans les entêtes envoyés lors des requêtes http, en particulier les cookies de session. Il agit à travers le chargement d'un bout de code JavaScript qui oblige les navigateurs à faire des requêtes spécifiques en SSL à des sites où les utilisateurs sont connectés. Le pirate devait être capable d'écouter le réseau et de voir la taille des demandes chiffrées en transit. Cette méthode a été atténuée par la suppression des aides à la compression SSL dans les navigateurs, comme Chrome par exemple.

Le process imaginé par les chercheur d'Imperva, Tal Be'ery et Amichai Shulman, repose sur les mêmes principes. L'information cible est stocké dans les serveurs de réponses, plutôt que dans la requête des utilisateurs. Tal Be'ery explique « la grande majorité des sites SSL activés ou non compresse les réponses par défaut ». Cette compression est prise en charge par la plupart des serveurs web et son activation est recommandée aux administrateurs réseaux pour économiser de la bande passante. Même en cas de désactivation, la compression sur les serveurs de réponses est activée par défaut. Cela signifie que les informations sensibles stockées dans les serveurs réponses sont vulnérables aux attaques de type CRIME, si certaines conditions supplémentaires sont remplies.

Une méthode sans écoute du réseau


D'abord les données ciblées doivent être préfixées ou suffixées par une chaîne de caractères qui ne change jamais. Il existe de nombreux exemples, souligne Tal Be'ery : « solde du compte » ou « carte de crédit » sur un site de banque en ligne. Ensuite, le pirate doit être en mesure de pouvoir intégrer des données spécifiques à la réponse en passant par les paramètres de l'URL. Si ces conditions sont remplies, CRIME peut être utilisé pour récupérer des données sensibles depuis des réponses chiffrées.

Cependant, les chercheurs n'ont pas seulement ressuscité une méthode, mais ils en ont créé une autre plus élaborée qui ne nécessite pas l'écoute du réseau. Ils sont partis de la base de CRIME pour générer une réponse http. Ils se sont contentés ensuite de comparer le temps mis par différentes réponses pour atteindre le navigateur de l'utilisateur. Les petites réponses vont plus vite. Les différences temporelles peuvent être calculées depuis un JavaScript, de sorte que le pirate n'a même plus besoin d'être sur le réseau et de contrôler le trafic. « Il suffit juste d'amener l'utilisateur à visiter un site pour placer du code malveillant ». Les chercheurs ont surnommé cette attaque TIME, « Timing Info-Leak Made Easy » et vont la présenter à la Black Hat Europe qui se déroule cette semaine à Amsterdam. Les deux spécialistes reconnaissent que leur méthode a un inconvénient, la lenteur, car le JavaScript va faire plusieurs requêtes avant d'avoir les bonnes. A la conférence, il sera aussi question des moyens de se protéger de ce type d'attaques comme le refus d'accepter des paramètres inconnus, l'intégration de solution de type cross-site request forgery (CSRF), etc.