Locus: Agentic Predicate Synthesis for Directed Fuzzing
Locus ist ein neuartiges agentenbasiertes Framework, das semantisch bedeutsame Zwischenprädikate synthetisiert, um das gerichtete Fuzzing auf Zielzustände zu lenken, wodurch die Effizienz modernster Fuzzer erheblich verbessert und erfolgreich zuvor ungepatchte, reale Schwachstellen entdeckt wurden.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Stellen Sie sich vor, Sie versuchen, eine ganz bestimmte, verborgene Schatzkiste zu finden, die tief in einem riesigen, sich ständig verändernden Labyrinth vergraben ist. Dies ist nicht einfach nur irgendein Labyrinth; es ist ein digitales Labyrinth aus Computercode, und der „Schatz“ ist ein geheimes Manko – ein Bug – der es einem Hacker ermöglichen könnte, in ein System einzubrechen. Das ist die Welt des gerichteten Fuzzings. Denken Sie bei „Fuzzing“ daran, wie man Millionen von zufälligen Dartpfeilen auf ein Ziel wirft, um zu sehen, ob man eine Schwachstelle trifft. Normalerweise wirft man die Dartpfeile blind und hofft, etwas Interessantes zu treffen. Aber „gerichtetes“ Fuzzing ist klüger: Sie wissen genau, wo die Schatzkiste (der Bug) sein soll, und Sie wollen Dartpfeile werfen, die direkt dorthin führen.
Das Problem ist, dass das Labyrinth riesig ist, und der Pfad zum Schatz wird oft durch eine Reihe komplexer, unsichtbarer Türen blockiert. Um diese zu passieren, muss man eine lange Kette von Bedingungen erfüllen, wie zum zum Beispiel den richtigen Schlüssel zu besitzen, den richtigen Hut zu tragen und auf dem richtigen Boden zu stehen. Wenn Sie einen Dartpfeil werfen, der auch nur eine einzige dieser winzigen Anforderungen verfehlt, landen Sie in einer Sackgasse. Traditionelle Methoden versuchen zu erraten, in welche Richtung man gehen muss, indem sie messen, wie „nah“ man dem Schatz in Bezug auf die Anzahl der Schritte ist, aber das ist so, als würde man versuchen, eine Stadt mit einem Kompass zu navigieren, der nur nach „Norden“ zeigt, ohne zu wissen, ob eine Mauer die Straße versperrt. Das ist oft zu vage, um hilfreich zu sein.
Hier kommt Locus ins Spiel, ein neues Werkzeug, das von Forschern der University of Chicago, der University of Maryland, der Johns Hopkins University und der Northwestern University entwickelt wurde. Anstatt nur zu raten, in welche Richtung es näher liegt, agiert Locus wie ein superintelligenter, unermüdlicher Detektiv, der die Karte des Labyrinths liest und eine Reihe hilfreicher Hinweise aufschreibt. Es findet heraus, welche spezifischen, bedeutsamen Schritte man nehmen muss, um dem Schatz näher zu kommen, und verwandelt ein verwirrendes Labyrinth in eine klare Checkliste.
So funktioniert Locus: Es verwendet eine spezielle Art von künstlicher Intelligenz (einen „Agenten“), um den Computercode zu lesen und die geheimen Regeln zu ermitteln, die nötig sind, um den Bug zu erreichen. Stellen Sie sich den Code wie ein Rezept für einen Kuchen vor, und der Bug tritt nur auf, wenn man Zucker vor dem Mehl hinzufügt. Traditionelle Werkzeuge könnten lediglich sagen: „Du kommst dem Rührkessel näher!“ Locus hingegen sagt: „Halt! Du hast das Mehl noch nicht hinzugefügt. Wenn du das Mehl jetzt nicht hinzufügst, wirst du niemals zu dem Teil gelangen, in dem der Kuchen explodiert.“ Es schreibt diese Regeln als „Prädikate“ auf – einfache Prüfungen, die der Computer während des Testens ausführen kann. Wenn eine Testeingabe die Prüfung misslingt (z. B. „Kein Mehl hinzugefügt!“), stoppt der Computer sofort, verschwendet keine Zeit mehr auf diesem Pfad und versucht etwas anderes.
Die Forscher haben Locus mit einem klugen Sicherheitsnetz ausgestattet. Da die KI das Denken übernimmt, könnte sie Fehler machen, wie zum Beispiel eine Regel vorschlagen, die versehentlich die Schatzkiste blockiert. Um dies zu verhindern, besitzt Locus einen „Validator“, der jede vom KI erstellte Regel doppelt prüft. Es verwendet eine mathematische Methode namens „symbolische Ausführung“, um zu beweisen, dass die neuen Regeln nicht versehentlich gültige Pfade zum Bug wegwerfen. Es ist wie ein strenger Lektor, der jeden Satz überprüft, den der Detektiv schreibt, um sicherzustellen, dass er wahr ist, bevor er die finale Geschichte freigibt.
Als das Team Locus testete, waren die Ergebnisse beeindruckend. Sie spielten es in acht verschiedene bestehende „Dartpfeil-werfende“ Werkzeuge (Fuzzer) ein und beobachteten, wie diese in realer Software nach Bugs suchten. Im Durchschnitt machten diese Werkzeuge mit Locus 41,6-mal schneller bei der Suche nach Fehlern. In einigen Fällen war es sogar noch dramatischer: Ein Tool fand einen Bug 214,2-mal schneller mit Locus als ohne es. Vorher ließen einige dieser Werkzeuge einen ganzen Tag lang laufen und fanden nichts; mit Locus fanden sie dieselben Bugs in einem Bruchteil der Zeit.
Das Team hat Locus nicht nur getestet; sie haben es auch eingesetzt, um nach echten, ungepatchten Bugs in populärer Software wie Bildbibliotheken und Archiv-Tools zu suchen. Sie fanden erfolgreich neun bisher unbekannte Bugs. Drei davon wurden bereits von den Softwareherstellern anerkannt, die nun an Fixes arbeiten. Dies deutet darauf an, dass Locus nicht nur eine theoretische Idee ist, sondern ein praktisches Werkzeug, das die Software sicherer machen kann, indem es die verborgenen Fallen findet, bevor es böswillige Akteure tun.
Kurz gesagt: Locus verändert das Spiel von „blind Dartpfeile werfen und hoffen“ hin zu „Dartpfeile werfen mit einem GPS und einer Checkliste“. Es nutzt KI, um die tiefe Logik von Computerprogrammen zu verstehen, erstellt hilfreiche Wegweiser, um die Suche zu leiten, und überprüft seine eigene Arbeit, um sicherzustellen, dass es die Suche niemals in die Irre führt. Auf diese Weise verwandelt es eine fast unmögliche Suche nach digitalem Schatz in ein viel effizienteres und erfolgreicheres Abenteuer.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.