Utilisation des API d’accessibilité de Chrome pour détecter les bogues de sécurité
Le code de l'interface utilisateur de Chrome est complexe et contient parfois des bogues, qui peuvent être des bogues de sécurité s'ils entraînent une corruption de la mémoire que l'attaquant peut exploiter. L'équipe de Chrome souhaite trouver ces bogues automatiquement et a réalisé que l'arbre d'accessibilité des contrôles d'interface utilisateur de Chrome, qui est exposé à la technologie d'assistance, peut être utilisé à cette fin. Ils utilisent une technique appelée fuzzing, qui consiste à interagir avec les contrôles d'interface utilisateur de manière semi-aléatoire pour voir s'ils peuvent provoquer des plantages. L'équipe a dû surmonter plusieurs défis, notamment en utilisant le fuzzing guidé par la couverture pour sélectionner des combinaisons de contrôles qui atteignent de nouveaux codes au sein de Chrome, et en exécutant des cas de fuzz dans une version réelle de Chrome en utilisant le framework InProcessFuzzer. Ils ont également dû répondre aux préoccupations concernant le bruit et la complexité de l'environnement Chrome, et veiller à ce que les cas de test soient stables et exploitables. L'équipe a développé un mutateur personnalisé pour améliorer l'efficacité du fuzzer, et ils exécutent désormais le fuzzer sur leur infrastructure ClusterFuzz. Bien qu'il soit trop tôt pour dire si l'approche est couronnée de succès, le fuzzer a déjà trouvé quelques bogues potentiels dans le code d'accessibilité lui-même.