Tierney - stock.adobe.com

DevSecOps: SAST versus DAST versus SCA

SAST-, DAST- und SCA-Tools können wesentliche DevSecOps-Prozesse automatisieren und beschleunigen. Wie sehen die Unterschiede der Methoden aus und welche Open-Source-Tools gibt es?

Moderne Softwareentwicklung ist ein äußerst komplexer Prozess. Anwendungen müssen rigoros auf Schwachstellen und mögliche Exploits getestet werden, bevor sie ausgeliefert oder produktiv eingesetzt werden können.

Um den für die Sicherheitstests benötigten Aufwand zu reduzieren, sollte sich das Security-Team im Unternehmen mit dem Thema DevSecOps beschäftigen. Mit dem auf DevOps aufsetzenden Ansatz ist es möglich, Code auf Schwachstellen zu testen und Fehler zu beheben.

Im Folgenden beschreiben wir die drei wichtigsten DevSecOps-Methoden und -Tools, um solche Tests durchzuführen: Abgekürzt heißen sie SAST, DAST und SCA.

Static Application Security Testing (SAST)

Das klassische Kontrollieren von Quellcode zum Identifizieren und Entfernen von Schwachstellen wird als Static Application Security Testing (SAST) bezeichnet. Die meisten Unternehmen führen diese auch White-Box-Tests genannten Testverfahren meist in den frühen Phasen ihrer Software-Entwicklung durch. Die Tests werden in der Regel aber auch in unterschiedlichen Intervallen wiederholt, wenn zum Beispiel neuer Code hinzugefügt wurde oder weitere Änderungen notwendig geworden sind.

Automatisierte DevSecOps- und SAST-Tools prüfen den Code Zeile für Zeile, um bedenkliche Stellen zu finden, die überarbeitet werden müssen. So lassen sich viele bekannte Exploits vermeiden. Auch wenn diese Art von Security-Scans hauptsächlich genutzt wird, um relativ einfache Sicherheitslücken zu finden, sind die dafür verwendeten automatischen Tools doch ohne große Vorkenntnisse einsetz- und verstehbar.

Zu den größten Nachteilen von automatischen SAST-Tools gehören relativ häufige False Positives, also Fehlalarme. So haben die dafür verwendeten Lösungen meist nicht ausreichende Fähigkeiten, um auch Code umfassend zu analysieren, der sich noch in einer frühen Entwicklungsphase befindet und der daher noch nicht kompiliert werden kann. Neue KI-Erweiterungen (künstliche Intelligenz) haben hier jedoch für erste Erfolge bei der Reduzierung der False Positives gesorgt.

Das Open Web Application Security Project (OWASP) hat eine Liste mit automatisierten SAST-Tools zusammengestellt, die sowohl Open-Source-Tools aufführt, als auch Freeware und kommerzielle Produkte nennt. Beliebte Open-Source-Lösungen, die Sie in Ihre Entwicklungsprozesse integrieren können, sind zum Beispiel:

  • Bandit
  • Flawfinder
  • GitHub Advanced Security
  • OWASP Automated Software Security Toolkit

Dynamic Application Security Testing (DAST)

Während SAST-Tools den Quellcode von innen zu analysieren versuchen, gehen Lösungen zum Dynamic Application Security Testing (DAST) einen anderen Weg. Sie versuchen, die Sicherheit einer Anwendung von außen zu bewerten. Sie werden daher auch Black-Box-Tests genannt. DAST-Tools sind dafür in der Lage, Netzwerk-, System- oder OS-Schwachstellen in der gesamten Infrastruktur eines Unternehmens zu identifizieren.

DAST setzt aber voraus, dass die zu testenden Anwendungen bereits vollständig kompiliert werden konnten und damit einsatzbereit sind. Tests lassen sich in den Test-/Dev-Umgebungen der Firmen durchführen, bevor eine Anwendung produktiv eingesetzt wird. Dabei werden die verwendeten DAST-Tools je nach Bedarf konfiguriert, um dann automatisch alle relevanten Aktivitäten zu prüfen und zudem Penetrationstests durchzuführen, um weitere Schwachstellen zu finden. Damit lässt sich auch das Risiko senken, dass potenziell anfällige Software an Endkunden ausgeliefert wird.

Ein Nachteil ist allerdings, dass die meisten DAST-Tools nicht die gesamte Angriffsoberfläche testen können. Das führt dann dazu, dass immer wieder ein Teil der Schwachstellen nicht gefunden wird.

OWASP hat auch eine Liste mit DAST-Lösungen aus dem Open-Source- sowie aus dem kommerziellen Bereich zusammengestellt. Beliebte Open-Source-Tools sind unter anderem:

  • Deepfence ThreatMapper
  • Nikto
  • OpenVAS
  • OWASP Zed Attack Proxy

Software Composition Analysis (SCA)

Unternehmen, die Open-Source-Lösungen einsetzen, um ihre eigenen Anwendungen ganz oder teilweise zu entwickeln, können auch SCA-Tools (Software Composition Analysis) verwenden, um das Aufspüren von Schwachstellen in Container-Images, verpackten Binärdateien oder Quellcode zu verbessern. Diese Werkzeuge sind zudem nützlich, um Lizenzen zu identifizieren und zu verwalten. Außerdem lassen sie sich nutzen, um bewährte Best Practices bei der Code-Integration umzusetzen.

Manager, Dateien und Images können mithilfe mehrerer Datenbanken gescannt werden, die Informationen über bekannte Schwachstellen und Exploits enthalten. SCA ist daher eine schnelle und effiziente Methode, um in kurzer Zeit Sicherheitslücken in Open-Source-Software und wiederverwendbarem Code zu finden.

Unternehmen sollten sich aber im Klaren darüber sein, dass es zu Problemen kommen kann, wenn Open-Source-Code und -Images nicht korrekt verwaltet werden. Nutzen Sie daher eine Materialliste (Software Bill of Materials, SBOM), um jederzeit über alle Bestandteile Ihrer Anwendungen informiert zu bleiben.

SCA-Tools sind eine verlässliche Methode, um schnell und automatisch Schwachstellen zu finden. Die Entwickler-Plattform G2 listet eine Reihe von SCA-Tools auf, die in der Regel auch als kostenlose Trial-Versionen verfügbar sind:

  • GitLab
  • ThreatWorx
  • JFrog Xray

Erfahren Sie mehr über Softwareentwicklung

ComputerWeekly.de
Close