In this article
Application Security Testing (AST) – die wichtigsten Fragen und Antworten
Verschiedene Arten von Application-Security-Tests und Tools für Software-Sicherheitstests.
Die rasante Geschwindigkeit, mit der Entwickler Software entwickeln und veröffentlichen, erfordert einen kontinuierlichen Testzyklus in jeder Phase des Entwicklungslebenszyklus. Application Security Testing ist daher ein wichtiger Schritt im Build- und Release-Zyklus von Software. Laut einem Verizon-Bericht aus dem Jahr 2020 waren 43 % der Datenschutzverletzungen auf Angriffe auf Webanwendungen zurückzuführen. Für die Entwicklung sicherer und geschützter Anwendungen müssen Anwendungen regelmäßig getestet und bekannte Schwachstellen behoben werden, sobald sie auftreten. Application-Security-Lösungen wie Snyk helfen Entwicklern und Security-Teams, mit der Entwicklungsgeschwindigkeit Schritt zu halten und gleichzeitig für Sicherheit zu sorgen.
Was sind Anwendungssicherheitstests?
Anwendungssicherheitstests umfassen eine Reihe von Tools und Praktiken, mit denen Entwickler alle Schwachstellen in ihrer Codebasis verwalten und beheben können. Aufgrund der Komplexität heutiger Anwendungen benötigen Entwickler verschiedene Tools zur Erkennung von Schwachstellen, die auf unterschiedlichen Testmethoden basieren. Einige dieser Tools scannen die Codebasis, um häufige Probleme zu erkennen, während andere dynamische Tests mit bereits laufenden Deployments durchführen.
Open-Source-Komponenten beschleunigen den Entwicklungszyklus, können jedoch auch zu unsicherem Code führen, wenn das Security-Team nicht alle Codeausschnitte prüft. Damit Teams eine sichere Codebasis gewährleisten können, sind in den verschiedenen Phasen des Secure Development Life Cycle unterschiedliche Arten von Application-Security-Tests erforderlich. Wenn Ihre App online verfügbar sein soll, sollten Sie auch spezielle Tests zur Webanwendungssicherheit in Betracht ziehen.
Starten Sie mit Capture the Flag
Erfahren Sie in unserem virtuellen On-Demand-Workshop für Einsteiger, wie Sie Capture-the-Flag-Herausforderungen lösen.
Arten von Tools für Application Security Testing
In jeder Phase des Anwendungslebenszyklus können Security-Teams spezielle Tools nutzen, um ihre Anwendungen zu schützen:
Statisches Application Security Testing (SAST): Prüft den Quellcode der Anwendung (im Ruhezustand) auf Schwachstellen und liefert eine Momentaufnahme der Anwendungssicherheit in Echtzeit.
Dynamisches Application Security Testing (DAST): Überprüft die Sicherheit zur Laufzeit, indem verschiedene Angriffstypen gegen die laufende Anwendung getestet werden. DAST erfordert keinen Zugriff auf den Quellcode der Anwendung.
Penetrationstests für Anwendungen: Auf Penetrationstests spezialisierte Security-Experten testen die Anwendung auf aktuelle Cyberangriffe, die durch Aktionen von Nutzern Schwachstellen ausnutzen können. Für Penetrationstests können entsprechende Tools verwendet oder externe Dienstleister beauftragt werden.
Interaktives Application Security Testing (IAST): Sucht in den Funktionen der Anwendung nach bekannten Schwachstellen, indem verschiedene Szenarien simuliert werden, in denen Nutzer die App ausführen oder mit ihr interagieren.
Mobile Application Security Testing (MAST): Kombiniert andere Arten von Application-Security-Tests mit mobilen Angriffsmethoden (z. B. schädliche WLAN-Hotspots oder Jailbreak-Geräte).
Software Composition Analysis (SCA): Analysiert, woher die in einer Anwendung verwendeten Bibliotheken stammen. Für beliebte Open-Source-Softwarebibliotheken gibt es häufig öffentliche Listen bekannter Fehler, wodurch diese Methode besonders effektiv ist.
Datenbank-Sicherheitsscans: Prüfen, ob die verwendete Datenbank Best Practices erfüllt, etwa durch starke Passwörter und die Installation aktueller Sicherheitspatches.

Welche Tools für Application Security Testing sollten Sie verwenden?
Es gibt zahlreiche Tools für Application Security Testing, die Teams dabei unterstützen, ihre Software abzusichern. Welches Tool für Sie das richtige ist, hängt natürlich von der Art der durchzuführenden Tests ab. Es gibt einige gute Open-Source-SAST-Tools, zum Beispiel LGTM und Snyk CLI. Wenn DAST die bevorzugte Methode ist, sind OWASP ZAP und der Arachni-Scanner eine gute Wahl. Arachni bietet außerdem kommerziellen Support. Die meisten verfügbaren IAST-Tools sind an bestimmte Anbieter gebunden. Contrast Community Edition (CE) ist jedoch ein voll ausgestattetes, kostenloses IAST-Tool für Java- und .NET-Anwendungen.
Snyk bietet ein umfassendes Set an Application-Security-Lösungen, darunter einen Open-Source-Scanner für Schwachstellen, der Schwachstellen in Open-Source-Abhängigkeiten während des gesamten Entwicklungsprozesses automatisch erkennt, priorisiert und behebt.
Je nach Entwicklungsumgebung für Build- und Release-Zyklen können Application-Security-Analyse-Tools Schwachstellen frühzeitig erkennen. So können Teams Patches einspielen oder Komponenten ersetzen, bevor die Software in der Produktionsumgebung bereitgestellt wird.
Prozess für Application Security Testing
Der Prozess für Application Security Testing kann je nach erforderlicher Testart sehr unterschiedlich sein. SAST zielt auf die Codebasis ab und lässt sich daher am besten in eine CI/CD-Pipeline integrieren. DAST prüft laufende Systeme. Der Vorgang kann zwar automatisiert werden, dafür muss jedoch eine laufende Bereitstellung vorhanden sein, die der Produktionsumgebung ähnelt. IAST unterscheidet sich von DAST dadurch, dass es innerhalb des zu testenden Systems ausgeführt wird. Daher muss es vor der Bereitstellung in die Codebasis integriert werden.
Teams müssen auf neue Schwachstellen, SQL-Injection, URL-Manipulation, Spoofing, schädlichen Code und Cross-Site-Scripting (XSS) testen. Tester müssen mit den HTTP-Protokollen vertraut sein, um URL-Manipulation durch den Einsatz von HTTP-GET-Methoden zu verhindern. Wenn die Anwendung wichtige Informationen in der Zeichenfolge übermittelt, ist sie nicht sicher.
Um XSS zu verhindern, sollten Tester sicherstellen, dass die Anwendung alle externen HTML- und Skriptanfragen ablehnt. Tester müssen das Betriebssystem auf dem Server, auf dem die Anwendung ausgeführt wird, gemäß den Best Practices für Sicherheit konfigurieren. Ebenso wichtig ist es, alle weiteren Dienste auf dem Server abzusichern, da jeder Einstiegspunkt ein potenzieller Angriffsvektor ist. Personenbezogene Kundendaten müssen außerdem gemäß den Datenschutzgesetzen geschützt werden.
Entwickler müssen bei jedem Commit alle Aspekte der Anwendungssicherheit überprüfen. Die richtigen Tools helfen Teams dabei, einen Großteil ihrer Tests zu automatisieren. Werden Anwendungen vor ihrer Veröffentlichung nicht abgesichert, drohen Sicherheitsverletzungen mit schwerwiegenden Folgen, etwa ein Serverausfall oder die Offenlegung von Nutzerdaten.
Best Practices für Software-Sicherheitstests
Kontinuierliche Tests in jeder Phase des Entwicklungslebenszyklus sind entscheidend. Mit den folgenden zusätzlichen Tipps können Entwickler ihre Anwendungen jederzeit schützen.
Geschäftskritische Systeme identifizieren: Regelmäßige Tests sind für alle geschäftskritischen Systeme unverzichtbar und können sogar gesetzlich vorgeschrieben sein.
Alle Komponenten frühzeitig testen: Je früher Ihr Team mit dem Testen beginnt, desto geringer ist das Risiko, später auf kritische Sicherheitsprobleme und Schwachstellen zu stoßen, und desto sicherer ist die Anwendung.
Behebung und Fehlerkorrekturen priorisieren: Eine Schwachstelle zu kennen, reicht nicht aus. Teams müssen sie beheben, sobald sie auftritt.
Weitere Best Practices finden Sie in unserer Checkliste für Anwendungssicherheit.
Application Security Testing mit Snyk
Mit Snyk können Sie Application Security Testing in jeder Phase des Entwicklungslebenszyklus durchführen und die Lösung über unsere Integrationen in Ihre bestehenden Tools einbinden. Unsere Application-Security-Lösung hilft dabei. Nicht behobene Schwachstellen in Paketen können zu schwerwiegenden Sicherheitsverletzungen und beeinträchtigten Diensten führen.
Sichern Sie Ihre Anwendungen mit unserem entwicklerorientierten Tool
Effiziente und umsetzbare Empfehlungen für die Anwendungssicherheit – in IDEs, Repositories, Containern und Pipelines.
Mit unserem Code-Prüftool erhalten Sie schnell einen Eindruck von der Sicherheit Ihres Codes und können mit Snyk sichere Apps entwickeln.