Definition „Static Application Security Testing“ Was ist SAST?

Autor / Redakteur: zeroshope / Stephan Augsten

Der Ausdruck Static Application Security Testing beschreibt ein besonderes Sicherheitskonzept in der Softwareentwicklung. Statt nachlaufend eine Anwendung zu testen, erfolgen die Checks früh in der Entwicklung. Dies hat Vor- und Nachteile.

Firma zum Thema

Beim Static Application Security Testing laufen Tools über den Code und melden automatisiert Schwachstellen sowie mögliche Gegenmaßnahmen.
Beim Static Application Security Testing laufen Tools über den Code und melden automatisiert Schwachstellen sowie mögliche Gegenmaßnahmen.
(© James Thew - stock.adobe.com)

In vielen Fällen untersuchen Teams aus der IT-Sicherheit oder der Software-Qualitätssicherung einen erstellten Code nachlaufend auf Security-Schwachstellen. Penetration-Tests sollen beispielsweise entsprechende Lücken in laufenden Applikationen aufdecken.

Das „Static Application Security Testing“ (SAST), zu deutsch Statisches Software-Testverfahren, verlegt den Testzeitpunkt deutlich vor. Bereits frühzeitig laufen hierfür spezielle Programme über den Code, um Schwachstellen aufzudecken. In der Regel geben diese Tools auch Empfehlungen, wie sich eine gefundene Schwachstelle direkt beheben lässt.

So funktioniert Static Application Security Testing

SAST ist ein sogenanntes White-Box-Verfahren. Der Code ist sichtbar und muss nicht laufen. Deshalb ist von „statisch“ die Rede. Die Tests können drei Arten von Sicherheitsbedrohungen ausfindig machen.

  • Erstens handelt es sich um Lücken im Funktionsbereich. Kann beispielsweise „Tainted Code“ („verunreinigter Code“) eingeschleust werden. Dabei handelt es sich um Zeilen, die später Malware einschleusen können.
  • Zweitens geht es um Zeilen, die sich mit Dateien oder bestimmten Objektklassen verbinden können. Auch hier steht die Einschleusung von Malware im Fokus.
  • Drittens geht es um Lücken auf dem Anwendungslevel: Kann der Code dazu genutzt werden, unbemerkt mit fremden Programmen zu interagieren? Hacker nutzen solche Schwachstellen beispielsweise.

In der Regel sollten verschiedene SAST-Tools über den Code laufen – und dies in regelmäßigen Abständen. Die Scanner müssen zudem für die eigenen Bedürfnisse angepasst werden. Sie funktionieren nicht „ab Werk“ komplett so, wie es sich die meisten Entwickler wünschen. Hilfestellungen bietet die Open Web Application Security Project (OWASP) Foundation. Sie listet nicht nur typische Sicherheitslücken auf und sondern gibt auch Empfehlungen für geeignete SAST-Werkzeuge.

Vorteile des SAST-Ansatzes

Im Vergleich mit nachlaufenden Sicherheitstests bietet der SAST-Ansatz die folgenden Vorteile:

  • Früh erkannte Sicherheitslücken können deutlich günstiger beseitigt werden (teilweise zehnmal günstiger).
  • In der Regel werden nicht nur die Lücken erkannt, sondern auch die Gründe, weshalb diese entstehen konnten. Dies ist bei nachlaufenden Black-Box-Tests nicht möglich.
  • Es ist kein funktionierender Code notwendig.
  • Die Tests können von den Entwicklern durchgeführt werden. Sicherheitsexperten sind hierfür nicht notwendig.
  • 100 Prozent des Codes können auf Sicherheitsprobleme hin untersucht werden. Dies ist beispielsweise beim dynamischen Testen von Applikationen oder bei Penetrationstests nicht möglich.
  • Die Scanner können oft leicht um zusätzliche Checks ergänzt werden, die beispielsweise die Funktionalität bestimmter Code-Teile betreffen.

Nachteile des SAST-Ansatzes

Echte Nachteile hat der SAST-Ansatz in der Theorie nicht. In der Praxis treten mitunter allerdings drei grundlegende Probleme auf.

  • 1. Die Programmierarbeit leidet oft, was sich wiederum in Bugs äußert. Die Entwickler konzentrieren sich zu stark auf die Sicherheitstests und Fehlerbehebungen.
  • 2. Die Tools geben zu viele Probleme aus. Dies geschieht insbesondere dann, wenn die Scanner nicht an den eigenen Bedarf individuell angepasst wurden.
  • 3. SAST ersetzt oft die nachlaufenden Sicherheitstests. Alle Probleme, die im direkten Zusammenhang mit einer sich im Betrieb befindlichen Anwendung stehen, bleiben jedoch so unentdeckt.

(ID:47155164)