Wie die KI zum Hacker wird: Ein Versuch mit Bug Bounty Hunting


Bug Bounty Hunting – also die Suche nach Schwachstellen von Systemen – ist nicht nur ein spannender Zeitvertrieb für Nerds, sondern ein wichtiger Pfeiler der IT-Sicherheit. Unser Software Architekt David Übelacker hat an der diesjährigen BaselOne über seine Versuche gesprochen, die KI dafür einzusetzen.

Ein Saftladen als Ziel


«Ein Saftladen, wer sich hacken lässt», das könnte ein Gedanke gewesen sein, als die gemeinnützige Organisation Open Worldwide Application Security Project (OWASP) ihre Übungssoftware erstellt hat. Der Juice Shop ist eine Anwendung mit lauter Schwachstellen, die angehende Hacker finden sollen. OWASP will zur allgemeinen Sicherheit von Software beitragen und fördert daher auch das Bug Bounty Hunting.

Für die Suche nach Sicherheitslücken engagieren Softwareproduzenten, Konzerne und öffentliche Organisationen nicht nur spezialisierte Firmen, sondern auch Hobbyisten. Konzerne wie Microsoft zahlen mehrere Hunderttausend Dollar Bountys für erfolgreiche Angriffe auf ihre Dienste.

Alle können dabei mitmachen, nach Bugs jagen und so vielleicht eine Belohnung einfahren. Auch unser Mitarbeiter David Übelacker hat sich darin versucht. Weniger wegen der Belohnung, ihm mache das Jagen nach Bugs Spass. «Ich bin kein Gamer, aber ich löse sehr gerne Rätsel. Bug Bounty Hunting ist ähnlich. Ich schaue mir was an und überlege, wo es ein Problem geben könnte. Genau wie bei einem Detektiv-Spiel».

Dem Publikum könne er es nur empfehlen, sagt er bei seinem Vortrag an der diesjährigen BaselOne. An der Basler IT-Konferenz spricht David darüber, wie er beim Bug Bounty Hunting einen Schritt weiterging und die KI für ihn zum Hacker machte.

«Die KI ist überall Thema Nummer Eins und ich wollte mich auch damit beschäftigen. Beruflich ergab sich keine Gelegenheit, darum kam ich auf die Idee, es mit meinem Hobby zu versuchen.» Dem BaselOne-Publikum zeigt er live, wie wenige Zeilen Code genügen, um die KI zum Hacker zu machen.

Die Werkzeuge: LangChain, LangGraph und Juice Shop

Da OpenAI mit einem Brief ungehalten auf seinen ersten Versuch reagierte, mit Chat GPT Tesla.com zu hacken, reduzierte David seine Ambitionen vorerst auf den Juice Shop. Die KI sollte die über 170 Schwachstellen selbstständig finden.

Die KI programmiert David mit LangChain, einem Abstraktionsframework speziell für die Arbeit mit Sprachmodellen. Für den Workflow nutzt David die Engine LangGraph. Beide Tools sind sowohl in Python als auch in Java verfügbar.

David beginnt mit einem einfachen Agenten, den er mit create_react_agent aus LangGraph erstellt. Als Modell nutzt er Claude von Anthropic, kombiniert mit einem Request Toolkit für HTTP-Anfragen. Der Prompt ist klar formuliert:

«Du bist mein persönlicher Assistent für die Bug-Bounty-Jagd. Du hilfst mir dabei, Schwachstellen in Webanwendungen zu finden.»

Wichtig bevor es losgeht: das Rekursionslimit setzen. Sonst könnte die KI uneingeschränkt weiterarbeiten und dabei beim Anbieter des Sprachmodells laufend kostenpflichtige Tokens verbrauchen.

David setzt die Limite auf 100 Wiederholungen und gibt die lokale URL des Juice Shops ein. Der Agent legt los. Schon nach wenigen Minuten hat er mehrere Schwachstellen entdeckt: Fehler in der Fehlerbehandlung, Admin-Zugänge, Passwortlücken. Insgesamt 11 Sicherheitslücken findet die KI in nur 2,5 Minuten. Mit rund einer Million Tokens für rund 3,50 US-Dollar kosten und mit gerade einmal 30 Zeilen Code.

Der zweite KI⁠⁠⁠⁠-⁠⁠⁠⁠Agent: Mehrstufiger Workflow für mehr Tiefe

«Ich wollte mehr. Ich wollte etwas Besseres. Also habe ich mir einen zweiten, komplizierteren Agenten ausgedacht», sagt David und wechselt vom Code zu seinen Slides zurück.

Das Upgrade sollte planvoll vorgehen, erzählt er rückblickend. David gibt der KI einen dreiphasigen Workflow:

In einem ersten Schritt sollte die KI so viele Informationen wie möglich sammeln: eingesetzte Technologien, erreichbare URLs und so weiter.

Danach sollte sich die KI einen Angriffsplan zurechtlegen mit konkreten Aufgaben und diesen im letzten Schritt ausführen.

Genau genommen war es jetzt nicht mehr nur ein Agent, sondern deren drei: Jede Aufgabe wurde sozusagen von einem Spezialisten ausgeführt.

Den Versuch wiederholt David vor Live-Publikum nicht, denn das Ergebnis war ernüchternd und vor allem teurer: Nach 73 Minuten Laufzeit und 21 Millionen Tokens für rund 65 US-Dollar, löste die KI gerade mal 18 Herausforderungen. «In diesem Moment wurde mir klar: Ich werde keinen vollautomatischen KI-Agenten bauen, der rund um die Uhr in meinem Keller läuft und Geld für mich verdient», sagt David augenzwinkernd.

Alternativen: CAI Cyber Security AI


Gibt es noch andere Wege? Wie setzen andere die KI für die digitale Sicherheit ein? David recherchiert und stösst auf CAI – Cyber Security AI, ein Tool der spanischen Sicherheitsfirma Alias Robotics. Sie ist auf GitHub verfügbar und lässt sich mit Pip starten. David wählt live den Agenten Bug Bounter und wiederum Claude von Anthropic aus und kann die KI dann mit einem Prompt losschicken:

«Bitte versuche, das DB-Schema aus localhost:3000 zu extrahieren.»

Mit Command-Lines und Curl, Netstat und LSOF attackiert CAI den Juice Shop und sucht selbstständig nach weiteren Tools für Angriffe. Während des Prozesses liefert CAI laufend Informationen, was die KI gerade macht. Und das Wichtigste: Die Kosten für den Prozess sind in Echtzeit sichtbar.

Den Versuch lässt David im Vortrag aus Zeit- und Kostengründen nicht zu Ende laufen, aber zuhause löste CAI die Aufgabe.

Keine Sicherheit ohne KI

David verabschiedet das Publikum mit einigen Gedanken zur Bedeutung der KI in der Cyber-Sicherheit. Diese kurze Demonstration zeige, dass Angriffe dieser Art einfach geworden sind. Es sind kaum Kenntnisse und nur wenige Tools notwendig, um Software anzugreifen. «Ich bin mir sicher, dass es in den kommenden Monaten und Jahren zu einem starken Anstieg von Cyber-Sicherheitsangriffen kommen wird», sagt David.

Darum sei es wichtig, sich mit der KI auseinanderzusetzen, ob man diese nun mag oder nicht. Das gilt besonders für Sicherheitsexperten. «Wenn sie mit den böswilligen Hackern Schritt halten wollen, müssen sie ebenfalls KI in ihrer täglichen Arbeit einsetzen.»

Ob die KI irgendwann den Bug-Jägern den Rang abläuft, bleibt abzuwarten. «Ich hoffe, dass die KI nicht so gut wird, dass wir nichts mehr zu tun haben», sagt David. Vorerst greift er die Websites noch eigenhändig an.

Text, Fotos, Film: Samuel Rink

David Übelacker

David Übelacker träumte immer davon, ein berüchtigter Hacker zu sein. Allerdings habe er feststellen müssen, «dass ich ein ziemlich schlechter Hacker bin. Deshalb bin ich schliesslich Java-Entwickler geworden, der den grössten Teil des Tages POJOs schreibt.» Mit über 20 Jahren in der Softwareentwicklung ist er einer der erfahrensten Mitarbeiter der nag informatik.