← Neueste Arbeiten
🤖 AI

Detecting Privilege Escalation in Polyglot Microservices via Agentic Program Analysis

Dieser Beitrag stellt Neo vor, ein agiles Programm-Analyse-Framework, das Large Language Models mit klassischer Programm-Analyse kombiniert, um Privilegien-Eskalations-Schwachstellen in komplexen, polyglotten Microservice-Architekturen effektiv zu erkennen, und das erfolgreich 24 Zero-Day-Fehler in 25 Open-Source-Anwendungen mit hoher Präzision und Recall identifiziert hat.

Ursprüngliche Autoren: Penghui Li, Hong Yau Chong, Yinzhi Cao, Junfeng Yang

Veröffentlicht 2026-05-18
📖 5 Min. Lesezeit🧠 Tiefgang

Ursprüngliche Autoren: Penghui Li, Hong Yau Chong, Yinzhi Cao, Junfeng Yang

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 eine massive, hochtechnologische Stadt vor, in der jedes Gebäude ein separater, spezialisierter Laden ist. Ein Laden verkauft Kleidung, ein anderer erledigt Banküberweisungen und ein dritter verwaltet Benutzerkonten. In der modernen digitalen Welt heißen diese „Läden" Mikrodienste. Sie sind großartig, weil sie unabhängig wachsen und sich selbst reparieren können, wenn sie kaputtgehen. Da sie jedoch alle unterschiedliche Läden sind, die von verschiedenen Personen mit verschiedenen Werkzeugen gebaut wurden (einige nutzen Python, andere Java, wieder andere Go), wird die Nachverfolgung, wer was tun darf, zum Albtraum.

Hier kommt NEO ins Spiel. Denken Sie an NEO als einen superscharfsinnigen, unermüdlichen Sicherheitsdetektiv, der zwei mächtige Fähigkeiten vereint:

  1. Die menschliche Intuition eines Large Language Models (LLM): Wie ein Detektiv, der eine Notiz lesen und die Absicht hinter den Worten verstehen kann (z. B. „Diese Person versucht, ihre Rolle zu ändern").
  2. Die Präzision eines Roboter-Kartenlesers: Wie ein Detektiv, der jeden einzelnen Fußabdruck einer Person durch die gesamte Stadt, über verschiedene Gebäude hinweg, sofort nachverfolgen kann, ohne sich zu verirren.

Das Problem: Der „Rollenspiel"-Fehler

Die Arbeit erklärt eine spezifische Gefahr namens Privilegienausweitung. Stellen Sie sich einen Kunden namens Alice vor, die ihr Profil von „Regulärer Benutzer" zu „Entwickler" ändern möchte.

  • Sie betritt den Gateway-Laden (die Eingangstür). Der Wächter überprüft ihren Ausweis (Authentifizierung). „Okay, Sie sind Alice."
  • Sie geht zum Profil-Laden. Der Angestellte nimmt ihre Anfrage entgegen und leitet sie an den Benutzerverwaltungs-Laden weiter.
  • Der Benutzerverwaltungs-Laden ändert ihre Rolle.

Der Fehler: Die Läden haben nicht richtig miteinander kommuniziert. Der erste Laden hat geprüft, wer sie ist, aber der letzte Laden hat nicht geprüft, was sie tun darf. Ein Angreifer könnte das System dazu bringen zu sagen: „Ändere Alices Rolle zu Administrator" statt zu „Entwickler". Da die Läden nicht koordiniert haben, lässt das System den Angreifer zum Boss werden. Das ist wie ein Hotelgast, der in die Küche geht und dem Koch sagt: „Ich bin jetzt der Manager, geben Sie mir die Schlüssel zum Tresor", und der Koch, der nicht weiß, dass der Gast nur ein Gast ist, gibt sie ihm.

Die Herausforderung: Warum ist das so schwer zu finden?

Das Finden dieser Löcher ist aus drei Gründen unglaublich schwierig:

  1. Das Polyglotten-Rätsel: Die Stadt ist mit verschiedenen Sprachen gebaut. Das Gateway spricht vielleicht Java, während der Benutzermanager Python spricht. Alte Sicherheitstools sind wie Übersetzer, die nur eine Sprache sprechen; sie können das Gespräch über die Grenze hinweg nicht verfolgen.
  2. Die verborgene Bedeutung: Ein Computer sieht Code als Symbole. Er weiß nicht, dass setUserRole() ein „Machtschritt" ist, der eine spezielle Genehmigung erfordert. Er sieht nur einen Funktionsnamen. Menschen verstehen die Bedeutung, aber Computer brauchen Hilfe.
  3. Das Labyrinth: Der Weg von der Eingangstür zum Tresor kann sich durch 10 verschiedene Gebäude winden und Middleware, Router und Dekorateure einbeziehen. Alte Tools verirren sich im Labyrinth.

Die Lösung: Wie NEO funktioniert

Die Forscher haben NEO entwickelt, ein „agentic" System. Denken Sie an NEO nicht als statischen Scanner, sondern als einen Detektiv mit einem klugen Plan und einem magischen Werkzeugkasten.

1. Der magische Werkzeugkasten (Code-Such-Primitiven)

Anstatt den Detektiv zu bitten, jedes einzelne Buch in der Bibliothek zu lesen (was ewig dauern und sein Gehirn überfordern würde), gibt NEO ihm spezifische, leistungsstarke Werkzeuge:

  • „Finde den Namen"-Werkzeug: Findet sofort jede Funktion namens „update" oder „role".
  • „Verfolge den Fluss"-Werkzeug: Verfolgt ein Datenelement (wie eine Benutzeranfrage) von der Eingangstür bis zum Tresor, selbst wenn es zwischen verschiedenen Sprachen springt.
  • „Wer hat wen gerufen"-Werkzeug: Kartiert die gesamte Befehlskette, um zu sehen, wer mit wem spricht.

Diese Werkzeuge fungieren als universeller Übersetzer und ermöglichen es dem Detektiv, Java, Python und Go gleichermaßen gut zu verstehen, ohne durch die Syntax verwirrt zu werden.

2. Das Gehirn des Detektivs (Der LLM-Agent)

NEO nutzt ein Large Language Model (LLM) als sein Gehirn.

  • Dynamische Planung: Anstatt einer starren Checkliste zu folgen, betrachtet der Detektiv die Karte, sieht einen verdächtigen Pfad und entscheidet: „Ich muss den Router im nächsten Gebäude überprüfen." Er nutzt dann den magischen Werkzeugkasten, um auf diesen spezifischen Punkt heranzuzoomen.
  • Semantisches Verständnis: Der Detektiv liest den Code und versteht: „Ah, diese Funktion ändert die Berechtigung eines Benutzers. Das ist ein 'privilegierter Vorgang' und benötigt eine strenge Prüfung."
  • Validierung: Der Detektiv rät nicht einfach. Er fragt: „Gibt es an dieser Tür einen Wächter?" Wenn er eine Prüfung findet, liest er die Regeln des Wächters, um zu sehen, ob sie streng genug sind. (z. B. „Der Wächter prüft, ob Sie angemeldet sind, aber prüft er, ob Sie als Administrator zugelassen sind? Nein? Dann ist es eine Schwachstelle.")

Die Ergebnisse: Eine rekordverdächtige Jagd

Die Forscher testeten NEO an 25 realen Mikrodienstanwendungen (wie Online-Shops und Ticketierungssystemen), die Millionen von Codezeilen enthielten.

  • Die Entdeckung: NEO fand 24 brandneue (Zero-Day-)Schwachstellen, von denen niemand vorher wusste.
  • Genauigkeit: Es lag in 81 % der Fälle richtig, wenn es Alarm schlug, und fing 85 % der echten Probleme ab.
  • Vergleich:
    • Alte Tools (wie MScan oder CodeQL): Diese sind wie Detektive, die nur eine Sprache sprechen oder nur ein Gebäude betrachten. Sie verpassten die meisten Angriffe über Gebäudegrenzen hinweg.
    • Andere KI-Agenten (wie EnIGMA): Diese sind wie Detektive, die versuchen, jede einzelne Seite jedes Buches in der Bibliothek zu lesen. Sie werden überwältigt, laufen die Zeit aus und verpassen die Hinweise.
    • NEO: Indem es den „magischen Werkzeugkasten" nutzt, um nur die relevanten Seiten zu greifen, und das „Detektiv-Gehirn", um die Geschichte zu verstehen, fand NEO 24 weitere Schwachstellen als die nächstbeste Methode.

Das Fazit

NEO beweist, dass man sich nicht zwischen „kluger KI" und „präziser Codeanalyse" entscheiden muss. Durch ihre Kombination erhält man ein System, das die komplexe, mehrsprachige, mehrgebäudige Welt moderner Cloud-Software navigieren kann, um Sicherheitslücken zu finden, die zuvor unsichtbar waren.

Die Forscher haben ihre Erkenntnisse verantwortungsbewusst den Softwareeigentümern gemeldet. Viele wurden bereits behoben, was diese digitalen Städte für alle sicherer macht.

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.

Digest testen →