Sicherheit als integraler Teil von Entwicklungs- und Testprozessen Was Application Security Testing Tools leisten

Von Dipl. Betriebswirt Otto Geißler 4 min Lesedauer

Über 80 Prozent der Cyberangriffe kompromittieren bekannte Schwachstellen auf Anwendungsebene. Tools fürs Application Security Testing, kurz AST, sollen diese erkennen und beseitigen. Auf Grund eines sehr umfangreichen Angebots an Tools ist es wichtig zu wissen, welche Tools welche Probleme lösen.

Mittels Application Security Tests lassen sich bekannte Schwachstellen auch in unübersichtlichen Codebasen ausfindig machen.(©  Sashkin - stock.adobe.com)
Mittels Application Security Tests lassen sich bekannte Schwachstellen auch in unübersichtlichen Codebasen ausfindig machen.
(© Sashkin - stock.adobe.com)

Mit ihren Tests stellen AST-Tools zusätzliche Sicherheitsebenen für Anwendungen bereit, die dazu beitragen, das Risiko einer Hacker-Attacke zu reduzieren. Wichtig ist dabei zu wissen, dass sich dadurch die Risiken von Schwachstellen in Anwendungen zwar deutlich reduzieren, aber nie vollständig beseitigen lassen.

Vorteile der AST-Tools

Der Hauptgrund für den Einsatz von AST-Tools besteht darin, dass manuelle Code-Überprüfungen bzw. herkömmliche Testverfahren in der Regel sehr zeitaufwändig sind. AST-Tools sind dagegen als schnellere Verfahren sehr effektiv bei der Suche nach bekannten Schwachstellen und ermöglichen ihren Anwendern Möglichkeiten der Triage und Klassifizierung ihrer Ergebnisse.

Sie können auch im Sanierungsworkflow, insbesondere bei der Verifizierung, zum Einsatz kommen oder zur Korrelation und Identifizierung von Trends und Mustern verwendet werden. Die von AST-Tools durchgeführten Tests sind wiederholbar und gut skalierbar. Sobald ein Testfall in einem Tool entwickelt wurde, kann er mit geringem Mehraufwand an vielen Codezeilen ausgeführt werden.

Kategorien von AST-Tools

Tools zum Testen der Anwendungssicherheit werden in verschiedene Kategorien bzw. Klassen eingeteilt. Die Grenzen sind manchmal fließend, da bestimmte Tools Elemente mehrerer Kategorien ausführen können.

Des Weiteren besteht eine grobe Hierarchie dahingehend, dass manche Tools wie die Statischen Anwendungs-Sicherheitstests (SAST) eher von grundlegender Bedeutung sind und andere Tests wie beispielsweise die Sicherheitstests für mobile Anwendungen (MAST) eine eher übergeordnete Bedeutung zugewiesen bekommen. Zu den AST-Tools gehören folgende Kategorien:

Static Application Security Testing (SAST)

SAST-Tools untersuchen den Quellcode (im Ruhezustand), um Schwachstellen anzuzeigen, die dann zu Sicherheitslücken führen können. SAST-Tools werden als White-Hat-Tests betrachtet, bei denen der Anwender Daten über das zu testende System oder die getestete Software kennt, einschließlich eines Architektur-Diagramms, Zugriff auf den Quellcode usw.

Quellcode-Analysen werden auf nicht kompiliertem Code ausgeführt, um nach Fehlern wie numerischen Fehlern, Eingabevalidierung, Rennbedingungen, Pfaddurchquerungen, Zeigern und Referenzen und mehr zu suchen. Binär- und Bytecode-Analysen führen bei erstelltem und kompiliertem Code dasselbe durch. Einige Tools laufen nur auf Quellcode, andere nur auf kompiliertem Code und wieder andere auf beidem.

Dynamic Application Security Testing (DAST)

SAST-Tools erkennen Bedingungen, die auf Sicherheitslücken in einer Anwendung im laufenden Zustand hinweisen. Im Gegensatz zu den SAST-Tools werden DAST-Tools als Black-Hat-Tests betrachtet, bei denen der Tester keine Vorkenntnisse über das System hat. DAST-Tools laufen auf Betriebscode, um Probleme mit Schnittstellen, Anfragen, Antworten, Skripten (bspw. JavaScript), Daten-Injektion, Sitzungen, Authentifizierung etc. zu erkennen.

Interactive Application Security Testing (IAST)

IAST-Tools verwenden eine Kombination aus statischen und dynamischen Analyse-Techniken. Sie testen, ob bekannte Schwachstellen im Code tatsächlich in der laufenden Anwendung ausgenutzt werden können. Zu diesem Zweck wird ein Instrumentierungscode (Agent) installiert, der eine Anwendung während der Ausführung überwacht und auf Sicherheitsprobleme prüft.

IAST-Tools reduzieren die Anzahl falsch positiver bzw. negativer Ergebnisse und funktionieren gut in Agile- und DevOps-Umgebungen, in denen herkömmliche eigenständige DAST- und SAST-Tools für den Entwicklungszyklus zu zeitintensiv agieren.

Software Composition Analysis (SCA)

SCA-Tools untersuchen Software, um die Herkunft aller Komponenten und Bibliotheken innerhalb der Software zu ermitteln. Diese Tools sind äußerst effektiv beim Identifizieren und Auffinden von Schwachstellen in gängigen und beliebten Komponenten, insbesondere in Open-Source-Komponenten. Schwachstellen für eigens entwickelte Komponenten werden jedoch nicht erkannt.

Mobile Application Security Testing (MAST)

MAST-Tools sind ein Mix aus statischer, dynamischer und forensischer Analyse. Sie erfüllen einige der gleichen Funktionen wie herkömmliche statische und dynamische Analysen, ermöglichen jedoch auch die Ausführung von mobilem Code.

MAST-Tools verfügen über spezielle Funktionen, die sich auf Probleme konzentrieren, die für mobile Anwendungen spezifisch sind, wie beispielsweise Rooting, gefälschte WLAN-Verbindungen, Handhabung und Validierung von Zertifikaten, Verhinderung von Datenlecks.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zur IT-Sicherheit

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

Application Security Testing as a Service (ASTaaS)

Bei ASTaaS handelt es sich in der Regel um eine Kombination aus statischer und dynamischer Analyse, Penetrationstests, Tests von APIs, Risikobewertungen etc. ASTaaS kann für herkömmliche Anwendungen verwendet werden, insbesondere für Mobil- und Web-Apps.

Application Security Testing Orchestration (ASTO)

ASTO integriert Security-Tools über einen Software Development Lifecycle (SDLC) hinweg. Die Idee von ASTO besteht darin, ein zentrales, koordiniertes Administrieren und Reporting aller verschiedenen AST-Tools zu etablieren, die in einem Ökosystem ausgeführt werden.

Auswahl des geeigneten AST-Tools

Zunächst muss der Anwender feststellen, welches AST-Tool sich für seine Anwendung am besten eignet. In der Regel wird mit den grundlegenden Tools wie beispielsweise SAST, DAST und SCA begonnen und im weiteren Verlauf weitere Tools hinzugezogen oder bestehende ersetzt. Wer erst einmal nur ein AST-Tool implementieren möchte, sollte sich von folgenden Richtlinien leiten lassen:

Intern realisierte Anwendung

Wenn die Anwendung intern geschrieben wurde bzw. ein Zugriff auf den Quellcode existiert, bietet sich eine SAST-Lösung an. SAST ist im Grunde der häufigste Ausgangspunkt für eine erste Code-Analyse.

Extern realisierte Anwendung

Sollte die Anwendung extern geschrieben worden sein oder es besteht kein Zugriff auf den Quellcode, dann ist eine DAST-Lösung die beste Wahl. Unabhängig davon, ob es einen Zugriff auf den Quellcode gibt oder nicht: Wenn bekannt ist, dass in der Anwendung viele Drittanbieter- und Open-Source-Komponenten verwendet wurden, sollten die Anwender zu SCA-Tools greifen. Idealerweise werden SCA-Tools zusammen mit SAST- und/oder DAST-Tools ausgeführt.

(ID:50061368)