Failles logiques : Orange Tsai fait tomber Microsoft Edge

Des failles logiques suffisent pour sortir du bac à sable de Microsoft Edge : Orange Tsai détaille sa chaîne à 175 000 $.
Une simple page web piégée peut suffire à exécuter du code sur un PC Windows. C’est ce que démontre Orange Tsai, chercheur de DEVCORE, grâce à une série de failles logiques. Ainsi, aucune corruption de mémoire n’entre en jeu. Par ailleurs, le 28 octobre, il a publié le détail complet de sa méthode contre Microsoft Edge.
Cette chaîne avait déjà fait parler d’elle. En effet, elle lui avait rapporté 175 000 dollars lors du concours Pwn2Own Berlin, en mai. Cinq mois plus tard, la communauté peut enfin comprendre comment elle fonctionne.
Des failles logiques plutôt que de la corruption mémoire
La plupart des attaques contre les navigateurs reposent sur des erreurs de gestion de la mémoire. Par exemple, un dépassement de tampon ou une utilisation après libération en font partie. Ces techniques sont complexes. De plus, elles se heurtent à de nombreuses protections modernes.
Ici, la logique est différente. Le chercheur s’appuie sur des défauts de conception ou de raisonnement dans le code. Autrement dit, le navigateur fait exactement ce que le programme lui demande. Pourtant, ces comportements, combinés, ne devraient pas être possibles.
En pratique, la chaîne part d’une page web malveillante. Elle aboutit à de l’exécution de code sur la machine Windows, en dehors du bac à sable d’Edge. Cette sortie de sandbox est l’étape décisive. En effet, c’est elle qui transforme une compromission limitée en prise de contrôle réelle du système.
Le rôle du bac à sable
Un navigateur moderne isole ses processus web. Ainsi, si un site malveillant exploite un défaut, il reste enfermé dans un environnement restreint. Il ne peut pas lire librement les fichiers ni lancer des programmes.
Pour un attaquant, il faut donc enchaîner plusieurs vulnérabilités. D’abord, il doit agir dans le contenu web. Ensuite, il doit s’échapper de cet espace confiné. Pourtant, Orange Tsai a réussi cet enchaînement sans recourir aux erreurs mémoire classiques.
Une chaîne récompensée à Pwn2Own Berlin
Pwn2Own est un concours réputé de recherche en vulnérabilités. Les participants y présentent des exploits fonctionnels contre des cibles à jour. Ensuite, les éditeurs reçoivent les détails pour corriger les failles.
L’édition de Berlin s’est tenue en mai. La démonstration d’Orange Tsai contre Microsoft Edge a été primée à hauteur de 175 000 dollars. Ce montant reflète la difficulté de l’exercice. Il montre également la valeur d’un exploit capable de franchir la barrière du bac à sable.
Microsoft a réagi vite. En effet, l’éditeur a corrigé les bugs d’Edge dès le lendemain du concours. Les utilisateurs disposant des mises à jour du navigateur sont donc protégés contre cette chaîne précise.
La publication tardive suit une pratique courante. Le chercheur attend que les correctifs soient disponibles. Il laisse également le temps aux utilisateurs de les installer. Enfin, il partage les détails techniques avec le public.
Pourquoi les failles logiques inquiètent les défenseurs
Les failles logiques posent un défi particulier. En effet, les mitigations contre la corruption mémoire sont nombreuses. Elles bloquent beaucoup d’exploits sans que le développeur ait à intervenir. Or ces protections ne servent à rien face à un défaut de raisonnement.
De plus, ces bugs sont souvent plus fiables pour un attaquant. Un exploit mémoire peut échouer d’une exécution à l’autre. Une chaîne logique, elle, se comporte de façon déterministe. Elle fonctionne donc de la même manière à chaque tentative.
Enfin, ces défauts sont plus difficiles à repérer automatiquement. Les outils de test par fuzzing excellent pour trouver des plantages. En revanche, ils détectent moins bien un enchaînement de comportements légitimes qui devient dangereux. Il faut généralement une analyse humaine, patiente et créative.
Ce travail rappelle un point important. Réduire les bugs mémoire reste utile, mais cela ne suffit pas. Ainsi, les équipes de sécurité doivent aussi examiner les interactions entre composants. Elles doivent vérifier les frontières de confiance, notamment entre le navigateur et le système d’exploitation.
Ce qu’il faut retenir
- Orange Tsai (DEVCORE) a publié le 28 octobre la méthode complète de sa chaîne contre Microsoft Edge.
- L’exploit a rapporté 175 000 dollars au concours Pwn2Own Berlin, en mai.
- Il repose uniquement sur des failles logiques, sans corruption de mémoire.
- La chaîne mène de la page web malveillante à l’exécution de code sur Windows, hors du bac à sable.
- Microsoft a corrigé les bugs d’Edge le lendemain du concours.
Par conséquent, la recommandation principale est simple. Vérifiez qu’Edge se met à jour automatiquement sur vos postes. Redémarrez ensuite le navigateur après chaque mise à jour importante. Dans les entreprises, contrôlez également que les correctifs sont déployés rapidement sur l’ensemble du parc.
Les développeurs, eux, peuvent en tirer une leçon. Ils doivent auditer la logique de leurs applications, pas seulement la gestion de la mémoire. En effet, un bac à sable robuste ne dépend pas seulement de la qualité du code bas niveau. Il dépend aussi de la cohérence de chaque règle de confiance.
Source : Researcher Reveals How Logic Bugs Alone Cracked Microsoft Edge in $175,000 Pwn2Own Win