PeAR: A Static Binary Rewriting Framework for Binary-Only Fuzzing
L'article présente PeAR, un cadre de réécriture binaire statique qui démontre que l'instrumentation statique est une alternative pratique et efficace à l'instrumentation dynamique pour le fuzzing de binaires uniquement, atteignant une compatibilité cible élevée, des gains de performance significatifs grâce au mode persistant, et une couverture comparable aux méthodes basées sur le compilateur.
Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète
Imaginez que vous êtes un garde de sécurité essayant de trouver des pièges cachés dans un bâtiment mystérieux et verrouillé (un logiciel). Vous ne pouvez pas voir les plans (le code source), vous devez donc deviner où les pièges pourraient se trouver en jetant des milliers d'objets différents contre les portes et les murs pour voir ce qui casse. Ce processus est appelé fuzzing.
Pour savoir si vous avez trouvé un nouvel endroit à tester, vous avez besoin d'un moyen de suivre quelles parties du bâtiment vous avez déjà visitées. Habituellement, l'architecte du bâtiment (le compilateur) installe de petits capteurs (instrumentation) pour compter vos pas. Mais comme vous n'avez pas les plans, vous devez installer ces capteurs vous-même après que le bâtiment a été construit.
Il existe deux manières principales de le faire :
- La méthode « en direct » (Dynamique) : Vous engagez une équipe d'ouvriers pour qu'ils se tiennent à l'intérieur du bâtiment pendant que vous lancez des objets. Ils observent tout et le notent. C'est très précis, mais les ouvriers sont lents et gênent, ce qui rend tout le processus beaucoup plus lent.
- La méthode « avant le match » (Statique) : Vous vous faufilez avant l'ouverture du bâtiment, modifiez les murs pour y inclure vos capteurs, puis verrouillez le tout. C'est beaucoup plus rapide car les capteurs font partie intégrante du bâtiment. Cependant, c'est risqué. Si vous vous trompez dans la structure du mur, vous pourriez casser le bâtiment ou manquer totalement les pièges.
Pendant longtemps, les gens ont pensé que la méthode « en direct » était le seul choix sûr car la méthode « avant le match » était considérée comme trop maladroite et sujette aux erreurs.
Entrée en scène de PeAR : Le Maître Rénovateur
Les auteurs de cet article ont construit un nouvel outil appelé PeAR. Considérez Pe-AR comme une équipe de rénovation hautement qualifiée et automatisée capable de s'introduire discrètement dans un bâtiment terminé, d'en cartographier précisément les murs et d'installer des capteurs de haute technologie sans rien casser.
Ils voulaient prouver que la méthode « avant le match » n'est plus un pari risqué, mais qu'elle peut être aussi bonne que la méthode « en direct », tout en étant beaucoup plus rapide.
Qu'est-ce qui rend PeAR spécial ?
La plupart des anciennes équipes de rénovation (outils plus anciens) ne pouvaient installer que des capteurs basiques. Elles ne pouvaient pas gérer les astuces sophistiquées que les gardes de sécurité modernes utilisent pour travailler plus vite. PeAR, cependant, est construit sur un nouveau système de création de cartes fiable (appelé GTIRB) qui lui permet de réaliser trois astuces avancées :
La boucle « sans réinitialisation » (Mode Persistant) :
- L'ancienne méthode : Chaque fois que vous lancez un caillou, l'équipe doit vous expulser, reconstruire la porte et vous laisser rentrer. Cela prend un temps infini.
- La méthode PeAR : PeAR installe un couloir spécial où vous pouvez lancer 1 000 cailloux à la suite sans jamais quitter le bâtiment. Vous réinitialisez simplement la pièce entre chaque lancer. Cela rend le processus incroyablement rapide.
L'astuce du « saut de configuration » (Initialisation Différée) :
- L'ancienne méthode : Certains bâtiments ont un long et ennuyeux contrôle de sécurité à l'entrée (chargement des bibliothèques, vérification des configurations) avant que vous ne puissiez commencer à lancer des cailloux.
- La méthode PeAR : PeAR découpe le bâtiment et vous permet de commencer à lancer des cailloux après que la partie ennuyeuse de la configuration est terminée. Vous évitez la file d'attente à chaque fois.
Le « transfert télépathique » (Fuzzing par Mémoire Partagée) :
- L'ancienne méthode : Vous devez écrire votre message sur un morceau de papier, marcher jusqu'à une boîte aux lettres, la déposer, et le bâtiment doit ouvrir la boîte pour le lire. C'est lent.
- La méthode PeAR : PeAR installe un tube direct entre votre main et la main du bâtiment. Vous passez le caillou directement à travers l'air. Pas de papier, pas de boîte aux lettres, pas d'attente.
Le Grand Test
Les auteurs ont mis PeAR à l'épreuve face à d'autres outils en utilisant un parcours d'obstacles célèbre appelé FuzzBench, qui contient 25 programmes logiciels complexes. Ils ont mené les tests pendant une période massive (l'équivalent de 4,25 années de traitement informatique continu).
Voici ce qu'ils ont découvert :
- Fiabilité : PeAR a réussi à modifier 22 bâtiments sur 25. C'est aussi efficace que les meilleurs autres outils « avant le match » et cela prouve que vous n'avez pas besoin de casser le bâtiment pour installer les capteurs.
- Vitesse : Lorsque PeAR a utilisé ses astuces sophistiquées (la boucle « sans réinitialisation » et le « transfert télépathique »), il est devenu 4 fois plus rapide que sa version de base. Il était nettement plus rapide que n'importe quel autre outil « avant le match ».
- Précision : Même s'il était plus rapide, Pe-AR n'a manqué aucun piège. Il a trouvé autant de chemins cachés (couverture de code) que la méthode lente « en direct » et les outils qui utilisent des plans.
L'essentiel
L'article conclut que la méthode « avant le match » (Instrumentation Binaire Statique) n'est plus une option risquée, lente ou imprécise. Avec les bons outils comme PeAR, vous pouvez modifier des logiciels fermés pour trouver des bugs rapidement et avec précision, sans avoir besoin des plans originaux. PeAR prouve que vous pouvez avoir la vitesse d'une équipe de rénovation avec la précision d'un observateur en direct.
Noyé(e) sous les articles dans votre domaine ?
Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.