Aikido

Was ist AI SAST?

Verfasst von
Dania Durnas

AI SAST ist Statische Anwendungssicherheitstests (SAST), bei dem die Engine eine KI ist, die den Code analysiert, anstatt ihn mit Mustern abzugleichen. 

Diese Kategorie existiert, weil traditionelles regelbasiertes SAST, obwohl wertvoll, Grenzen hat. Es kann ganze Klassen von Schwachstellen nicht erkennen, einschließlich IDORs, fehlerhafter Zugriffskontrolle und Business-Logik-Fehlern, die keine syntaktische Signatur für eine Regel aufweisen, die sie erkennen könnte. Dies sind alles Probleme, die die Perspektive eines Angreifers erfordern. Traditionell werden diese durch Code-Reviews abgedeckt, aber da LLMs die Menge des in Produktion gebrachten Codes exponentiell erhöhen, sind manuelle Reviews schwieriger zu skalieren.

Hier kommt AI SAST ins Spiel. AI SAST geht über SAST hinaus, indem es Quellcode auf die gleiche Weise liest, wie es ein erfahrener Ingenieur bei einem Code-Review tun würde, Referenzen über Dateien hinweg verfolgt und analysiert, was der Code tun soll, im Vergleich zu dem, was er tatsächlich tut. Es findet auch einige der Schwachstellen, die traditionell durch Pentesting gefunden wurden, aber viel schneller und kostengünstiger.

Was bedeutet AI SAST?

Kurz gesagt, AI SAST ist statische Codeanalyse, bei der eine KI Code liest und analysiert, um Sicherheitslücken zu finden. Obwohl der Begriff in der Branche umstritten ist, ist oft unklar, was jedes AI SAST-Produkt leistet. Im Allgemeinen bezieht sich AI SAST auf einen von zwei Ansätzen: 

AI-native SAST

Auch als reasoning-basiertes AI SAST bezeichnet, ist dies AI SAST, das KI-Reasoning als Erkennungsmechanismus nutzt, nicht als dessen Assistent. Dies ist die Definition, die wir hauptsächlich besprechen werden. Das Modell liest die Codebasis und analysiert sie direkt. Musterabgleich kann weiterhin als unterstützende Infrastruktur beteiligt sein, ist aber nicht der primäre Treiber. AI-native SAST findet Schwachstellen, die traditionell durch Pentests gefunden wurden, weshalb AI-native SAST häufiger mit Pentesting als mit SAST verglichen wird. Die besten AI-native SAST-Tools bieten Pentest-ähnliche Analysefähigkeiten für Quellcode. 

AI-augmented SAST

Dies ist musterabgleichendes AI SAST, auch als AI-enhanced SAST bezeichnet. Unter dieser Definition bezieht sich AI SAST auf einen traditionellen regelbasierten SAST-Scanner, der mit KI-Funktionen erweitert wurde. Die Erkennungs-Engine bleibt regelbasiert und deterministisch, während die KI die Triage, Priorisierung, Filterung von Fehlalarmen, Korrekturvorschläge und das Schreiben von Regeln in natürlicher Sprache übernimmt. Die KI liest die Codebasis nicht, um die Schwachstellen zu finden (wir werden später darüber sprechen, wie SAST funktioniert). Notwendige Arbeit, aber der zugrunde liegende Scanner ist derselbe, der seit Jahren läuft, daher ist dies eine Verbesserung der bestehenden Technologie. An diesem Punkt sollten alle Anbieter, die deterministisches SAST verkaufen, die KI-Erweiterung als Anforderung und nicht als optionales Feature betrachten.

In diesem Artikel werden wir AI SAST hier verwenden, um uns auf das AI-native SAST zu beziehen, bei dem die KI die Analyse durchführt, da AI-augmented SAST die gleiche Rolle wie SAST erfüllt. AI-native SAST schafft eine völlig neue Kategorie, um Schwachstellen zu finden.

Woran erkennt man, welche Art von AI SAST ein Anbieter verkauft?

Die nützlichste Frage an einen Anbieter, der AI SAST anpreist, ist, welche Art er meint, da die beiden Produkte unterschiedliche Probleme lösen. Man kann AI-native SAST aber auch von AI-augmented SAST unterscheiden, indem man darauf achtet, was die KI des Anbieters angeblich leistet.

Wenn es bei der Präsentation um die Reduzierung von Fehlalarmen, die Triage von Ergebnissen, die Erklärung von Resultaten oder das Vorschlagen von Korrekturen geht, ist die zugrunde liegende Erkennung immer noch regelbasiert, und die KI ist der Assistent. Dies fällt in die Kategorie des traditionellen SAST. Wenn es bei der Präsentation um die Analyse der Codebasis, das Erkennen von IDORs, das Finden von Business-Logik-Fehlern oder das Verfolgen des Datenflusses über Dienste hinweg geht, übernimmt eine KI die Erkennung.

Da sie unterschiedliche Rollen haben, ersetzen sie sich nicht gegenseitig, daher ist es wichtig zu verstehen, wofür man sich entscheidet. Aikido ist einer der wenigen Anbieter, die sowohl AI-native SAST als auch AI-augmented SAST anbieten.

Wie sich AI-native SAST von regulärem SAST unterscheidet

Traditionelles SAST, einschließlich AI-augmented SAST, funktioniert durch Musterabgleich. Ein Sicherheitsingenieur schreibt eine Regel, die besagt: „Wenn Benutzereingaben in diese Funktion gelangen, ohne einen Sanitizer zu durchlaufen, kennzeichne dies als SQL-Injection.“ Das Tool parst Ihren Code in einen abstrakten Syntaxbaum, verfolgt, wie Daten durch die Anwendung fließen, und sucht dann nach Stellen, an denen die Regel ausgelöst wird. SAST ist deterministisch, daher reproduziert SAST jedes Mal die gleichen Ergebnisse für denselben Code, weshalb SAST schnell, kostengünstig und zuverlässig genug ist, um jeden Commit in CI/CD zu überprüfen.

Die Kehrseite ist, dass der Musterabgleich kein Konzept davon hat, was der Code tun soll, sondern nur, was er wörtlich aussagt. Zum Beispiel hätte SAST keine Regel, die „logisch gesehen sollte dieser Endpunkt prüfen, ob der Benutzer die Ressource besitzt, bevor er sie ändert, tut dies aber nicht“ erkennt. Das ist kein kodierbares Muster und erfordert einen Menschen oder eine KI, um es „durchzudenken“.

Deshalb kann AI-native SAST komplexere Schwachstellen finden. Es verfolgt Referenzen über Dateien hinweg, zeichnet Anfragen durch Dienste auf, fragt, wer eine Funktion aufruft und welche Berechtigungen diese haben sollten, und vergleicht, was der Code tut, mit dem, was er tun sollte. Dieselbe Schwachstelle, die jede Musterabgleichsregel umgeht, wird erkannt, weil das Modell die fehlende Überprüfung analysieren kann und nicht nur nach einer nicht vorhandenen Senke sucht.

Ein weiterer Unterschied ist die Sprachabdeckung. Bei traditionellem SAST müssen Regeln für jede Sprache geschrieben werden, die die Engine unterstützen muss. Mit AI SAST ist die KI in allen potenziellen Sprachen versiert, in denen Ihre Codebasis geschrieben sein könnte, sodass sie Organisationen mit Codebasen in vielen verschiedenen oder ungewöhnlichen Sprachen unterstützen kann.

AI SAST ist pro Scan auch teurer als SAST. Ein Scan, der eine halbe Stunde und ein paar hundert Dollar kostet, ist nichts, was man vor jeden Pull Request stellt. Die Wirtschaftlichkeit zwingt AI SAST für einige in einen anderen Rhythmus als deterministisches SAST, sodass es für risikoreiche Änderungen und Release-Audits aufbewahrt wird. Diese Kompromisse sind der Grund, warum AI SAST eine Ergänzung zum AppSec-Stack ist und kein Ersatz.

Was AI SAST erkennt

Die Schwachstellen, für die AI SAST entwickelt wurde, sind diejenigen, die traditionelles SAST historisch den Menschen überlassen hat. Mehrstufige Exploit-Ketten treten auf, weil das Modell scheinbar unzusammenhängende Ergebnisse miteinander verbinden kann. Eine Informationspreisgabe mit geringem Schweregrad, ein schwach definierter Session-Token und eine permissive CORS-Richtlinie können sich zu einer vollständigen Kontoübernahme verketten. Dies umfasst:

  • IDORs und fehlerhafte Zugriffskontrolle: Die KI kann eine Anfrage vom Route-Handler durch die Datenbankabfrage verfolgen und feststellen, dass dazwischen nichts die Eigentümerschaft durchsetzt.
  • Privilegieneskalation über Dienstgrenzen hinweg:
  • Umgehung von Geschäftslogik: Die KI kann analysieren, was der Code durchsetzt, und erkennen, wenn die Durchsetzung unvollständig ist, z. B. wenn eine Überprüfung der Abonnementstufe an einem Endpunkt fehlt.

{{idors}}

Wie verhält sich AI SAST im Vergleich zu KI-Penetrationstests?

Die Grenze zwischen AI SAST und KI-Penetrationstests kann ebenfalls verschwommen sein, teilweise, weil beide Tools behaupten können, dieselben Schwachstellen zu finden, und sie oft ein ähnliches Architekturdesign teilen.

AI SAST benötigt lediglich den Quellcode. Es benötigt oder verwendet keine bereitgestellte Anwendung. Dies macht es für Code nutzbar, der noch nicht ausgeführt wird, und für Codepfade, die ein Live-Test nicht sicher ausführen könnte. Da es jedoch nicht validieren kann, ob jeder Pfad tatsächlich ausnutzbar ist, erzeugt es mehr Fehlalarme als ein Live-Penetrationstest. AI SAST analysiert den Code, ohne ihn auszuführen, sodass es etwas als Schwachstelle kennzeichnen kann, das zur Laufzeit nicht ausgelöst wird. Mit einem breiteren Netz fängt es Dinge ein, die ein Penetrationstest nicht erreichen kann, aber die Ergebnisse können nicht getestet werden. 

KI-Penetrationstests testen eine laufende Anwendung. Die Engine testet die Anwendung so, wie es ein Angreifer tun würde, indem sie echte Exploits versucht. Die Ergebnisse werden mit Nachweisen geliefert, wie der Bestätigung, dass die HTTP-Anfrage tatsächlich funktioniert hat. Einige KI-Penetrationstest-Tools akzeptieren auch Quellcode als zusätzlichen Kontext (sogenanntes Whitebox-Pentesting), wodurch die KI den Code lesen und die Anwendungslogik neben der Live-Exploitation analysieren kann. In dieser Hinsicht ähneln KI-Penetrationstests dem AI SAST, da beide Quellcode lesen, um Schwachstellen zu finden. Deshalb können beide komplexe Schwachstellen wie IDORs und Geschäftslogikfehler finden. Der Unterschied besteht darin, dass ein Penetrationstest die Schwachstelle ausnutzt, sodass das Ergebnis mit einem Nachweis versehen ist.

Ein Pentest liefert auch Dokumentation für ein Audit. KI-Penetrationstests werden in mehr Compliance-Zertifizierungen akzeptiert und sind günstiger und schneller als manuelle Penetrationstest-Alternativen.

Diese Tools ersetzen sich nicht gegenseitig. AI SAST läuft auf Änderungen, bevor sie ausgeliefert werden, und auf Codepfaden, die zur Laufzeit nicht sicher testbar sind. KI-Penetrationstests laufen gegen bereitgestellte Umgebungen, um zu validieren, was tatsächlich in der Produktion ausgenutzt wird.

Benötigen Sie SAST, AI SAST und KI-Penetrationstests?

Sie können von allen dreien profitieren, jedoch in unterschiedlichen Frequenzen. Kleinere Teams entscheiden sich möglicherweise nur für SAST und KI-Penetrationstests, während größere Organisationen sehr gründlich sein und alle nutzen. Jede Schicht beantwortet eine andere Frage, und jede findet eine Fehlerklasse, die die anderen übersehen.

  • Deterministisches SAST läuft bei jedem Commit. Es fängt die OWASP-Standardfälle ab, die bekannten Mustern entsprechen, schnell und kostengünstig. Dies gehört in den Stack jeder Organisation. Unabhängig davon, wie der Anbieter es nennt, verfügen die besten SAST-Tools über AI-Triage und Autofix.
  • AI SAST läuft auf den Änderungen und Codepfaden, wo Logik am wichtigsten ist, also an Stellen, die SAST strukturell nicht erreichen kann. Es ist teurer als regelbasiertes SAST, aber günstiger als KI-Penetrationstests. 
  • KI-Penetrationstests laufen gegen die bereitgestellte Anwendung und validieren, was zur Laufzeit tatsächlich ausgenutzt wird. Sie sind gründlich, aber kostenintensiver. Für einige funktionieren Penetrationstests am besten periodisch oder bei größeren Releases. Große Unternehmen mit strengen Sicherheitsanforderungen sollten jedoch kontinuierliche KI-Penetrationstests in Betracht ziehen.

Als Faustregel gilt: SAST immer, AI SAST oft, KI-Penetrationstests punktuell. 

Was AI SAST für AppSec-Teams bedeutet

AI-natives SAST deckt den Bereich zwischen regelbasiertem SAST und komplexen Penetrationstests ab. Mustererkennung war schon immer blind für Logikfehler, und AppSec-Teams haben dies durch Code-Reviews, Penetrationstests und Bug-Bounty-Programme kompensiert. AI SAST automatisiert einen Teil dessen, was diese Programme leisteten, zu Kosten, die besser skalieren als menschliche Arbeit, mit einer Abdeckung, die sich mit der Verbesserung der Modelle verbessert.

Aikido AI SAST KI-Codeanalyse, einer agentenbasierten Engine, die die gesamte Codebasis durchforstet, um Fälle zu erkennen, die SAST nicht erfassen kann. Sie läuft parallel zu Aikido SASTund nicht an dessen Stelle, das von Anfang an mit KI-gestützter triage KI-Autofix ausgestattet war. Aikido eine der wenigen Plattformen, die sowohl KI-native SAST KI-gestützte SAST anbieten, sodass Sie die für Ihr Unternehmen passende Sicherheitsabdeckung konfigurieren können.

Teilen:

https://www.aikido.dev/blog/what-is-ai-sast

Nachrichten abonnieren

4.7/5
Falschpositive Ergebnisse leid?

Probieren Sie Aikido, wie 100.000 andere.
Jetzt starten
Erhalten Sie eine personalisierte Führung

Von über 100.000 Teams vertraut

Jetzt buchen
Scannen Sie Ihre App nach IDORs und realen Angriffspfaden

Von über 100.000 Teams vertraut

Scan starten
Erfahren Sie, wie KI-Penetrationstests Ihre App testen

Von über 100.000 Teams vertraut

Testen starten

Sicherheit jetzt implementieren

Sichern Sie Ihren Code, Ihre Cloud und Ihre Laufzeit in einem zentralen System.
Finden und beheben Sie Schwachstellen schnell und automatisch.

Keine Kreditkarte erforderlich | Scan-Ergebnisse in 32 Sek.