Parasoft C/C++test 2022.2 unterstützt das neue MISRA C:2012 Amendment 3 und eine Entwurfsversion von MISRA C++ 202x. Erfahren Sie mehr >>

Die Rolle von SAST für das Scannen von Anwendungen bei der Einhaltung von DISA ASD STIG

Von Arthur Hicken

22. Dezember 2020

6  min lesen

DISA ASD STIG umfasst die Defense Information Systems Agency (DISA), Anwendungssicherheit und -entwicklung (ASD) und Security Technical Implementation Guides (STIG). Es handelt sich um eine Reihe von Richtlinien zum Sichern von Desktop- und Unternehmensanwendungen, die vom Verteidigungsministerium verwendet werden. Es gibt viele STIGS zur Sicherung verschiedener Teile der DoD-Infrastruktur und -Dienste. Die ASD-Richtlinien decken jedoch die interne Anwendungsentwicklung und die Bewertung von Anwendungen von Drittanbietern ab.

Um die DISA ASD STIG-Richtlinien einzuhalten, ist ein Nachweis erforderlich, in der Regel in Form einer Dokumentation, die die Prüfer zufriedenstellt. Dieser Beitrag behandelt:

Der von Parasoft empfohlene Ansatz zur effizienten, weniger riskanten und kostengünstigen Einhaltung von Vorschriften.

Anforderungen, die die Verwendung von Anwendungsscannern oder Anwendungscodescannern spezifizieren, mit denen Teams validieren können Statische Analysatoren.

Dreistufiger Ansatz zur Einhaltung der Softwareentwicklungsrichtlinien

Um die Einhaltung zu erreichen, ist ein dreistufiger Validierungsansatz erforderlich:

  • Scannen des Anwendungscodes Erkennt Schwachstellen mit statischen Analysetools, um die Behebung in der Anwendung sicherzustellen. Der ASD STIG verfügt über spezifische Richtlinien, welche Schwachstellenklassen erkannt und behoben werden müssen.
  • Systemtests Für die Sicherheit mit Tools für Funktions- und Penetrationstests werden die Anforderungen von DISA ASD STIG überprüft und validiert. Weitere Informationen finden Sie unter Die Rolle der Automatisierung von Funktionstests in DISA ASD STIG.
  • Einhaltung vorbeugender Prozesse nach links verschieben Beseitigt schlechte Codierungspraktiken, die zu Sicherheitslücken führen. Dieser breitere Erkennungsbereich umfasst das Scannen von Anwendungen und die Anwendung von branchenüblichen Codierungsstandards wie CWE oder CERT Secure Coding. Es enthält auch Richtlinien wie das Entfernen von “Code riechtDies sind schlechte Praktiken, von denen bekannt ist, dass sie die Hauptursache für Sicherheitslücken in der Software sind.

Dieser 1-2-3-Schlag ist der Schlüssel zum Erreichen der Konformität durch Validierung und Dokumentation. Ziel ist es, den Prozess bis zur Erkennung zu reifen, um Sicherheitslücken zu vermeiden.

Was bedeutet die Einhaltung von DISA ASD STIG?

Die ASD STIG verwendet einen Schweregradkategoriecode (CAT I, CAT II, ​​CAT III), um die Richtlinien basierend auf den möglichen Auswirkungen einer Ausnutzung der Richtlinie zu organisieren und zu priorisieren.

Infografik-Auflistung Richtlinien für DISA-Kategoriecodes für die Kategorien I (11%), II (81%), III (8%).

Die Bewertung der Produkt- und Prozessdokumentation sowie die Beobachtung und Überprüfung der Funktionalität anhand der Richtlinien bestimmen die Einhaltung. Mit anderen Worten, die STIG erfordert den Nachweis eines sicheren Entwurfs und einer sicheren Implementierung durch Dokumentation, Überprüfung und Validierung aller Aspekte des Softwareentwicklungslebenszyklus. Dies umfasst die Bereitstellung und den Betrieb. Diese Richtlinien gelten während der gesamten Lebensdauer des Produkts ab Konfiguration, Bereitstellung, Wartung und Lebensdauer.

Statische Anwendungssicherheitstests

Wichtig für die Diskussion in diesem Beitrag ist die Anforderung an Anwendungscodescanner:

„… Ein automatisiertes Tool, das den Quellcode von Anwendungen auf Sicherheitslücken, bösartigen Code und Hintertüren analysiert.“ —DISA ASD STIG Übersicht, Abschnitt 4.1

In der gängigeren Terminologie handelt es sich um statische Anwendungssicherheitstests (SAST), die durch statische Code-Analyse implementiert werden. Es sollte nach Möglichkeit verwendet werden. Insbesondere in der Entwicklungsumgebung, in der Code, bei dem festgestellt wurde, dass er behoben werden muss, vor der Veröffentlichung behoben werden kann. “ Der ASD STIG enthält außerdem die folgenden Anleitungen:

„Mit einem Anwendungsscanner können Entwicklungs- oder Produktionsanwendungssysteme auf Sicherheitslücken getestet werden, die entweder auf Anwendungscodefehler oder auf Fehlkonfigurationen des Anwendungssystems zurückzuführen sind. Zu diesen Sicherheitsanfälligkeiten gehören SQL Injection, Code Injection, Cross Site Scripting (XSS), Offenlegungen von Dateien, Berechtigungen und andere Sicherheitslücken, die in Anwendungen mit Netzwerkzugriff zu finden sind. “- Übersicht über DISA ASD STIG, Abschnitt 4.2 - Anwendungsscanner

Der ASD STIG erfordert die Verwendung aktiver Schwachstellentests (z. B. Stifttest-Tools), um ausführbare Software zu testen. Diese Tools werden während der Entwicklung und Bereitstellung benötigt, um Schwachstellenbewertungen zu unterstützen.

DISA ASD STIG-Validierungsmethoden

Der ASD STIG beschreibt Möglichkeiten zur Überprüfung der Einhaltung der Anforderungen, darunter:

  • Anwendungscode und Anwendungsscan
  • Manuelle Überprüfung
  • Funktionale Sicherheitstests

Teams verwenden SAST-Toolberichte und Audits, um das Scannen von Anwendungen und Code zu validieren. Funktionstests überprüfen mit automatisierten Tools oder manuellen Tests, ob die Sicherheitsanfälligkeit in der Software nicht vorhanden ist. Mit anderen Worten, denken Sie an den Ansatz als „etwas tun, etwas überprüfen“. Überprüfen Sie beispielsweise, ob die Aktion ordnungsgemäß funktioniert hat und gegebenenfalls protokolliert wurde. Diese Ansätze eignen sich aufgrund der Effizienz und der Audit-Trail-Tools für automatisierte Tests.

Ein pragmatischer Ansatz zur DISA ASD STIG-Konformität mit statischen Analysewerkzeugen

Die Realität der Softwareentwicklung für DoD, für die DISA ASD STIG erforderlich ist, besteht darin, dass Sie alle Anforderungen und Schwachstellen testen müssen. Es kann eine entmutigende Aufgabe sein, aber die Automatisierung ist möglich, um einige der Lasten zu heben.

Die Empfehlung von Parasoft zur Einhaltung von DISA ASD STIG lautet, die Automatisierung dort einzusetzen, wo sie am sinnvollsten ist, z. B. in CI / CD-Pipelines oder DevSecOps-Prozessen. Ziel ist es, die Compliance-Belastung zu verringern, aber auch vorbeugende Techniken einzusetzen, um Schwachstellen zu vermeiden. Das Erkennen und Beheben von Schwachstellen ist teurer und zeitaufwändiger, wenn die Software im Vergleich zur Entwicklung fast vollständig ist. Aus diesem Grund ist Parasofts Ansatz zu nach links verschieben die Bewertung, Erkennung und Behebung von Sicherheitslücken zu einem früheren Zeitpunkt im Lebenszyklus.

Erfüllen der Anforderungen für das Scannen von DISA ASD STIG-Anwendungen mit statischer Analyse

Der DISA ASD STIG verwendet den Begriff „Anwendungsscannen“, der sich auf die statische Code-Analyse und verwandte Technologien wie die Analyse der Software-Zusammensetzung bezieht. Zusätzlich zu den allgemeinen Anforderungen für die Schwachstellenbewertung über die statische Code-Analyse gibt es spezielle Anforderungen, um nach bestimmten Schwachstellen zu suchen, z.

  • OWASP Top 10 (V-69513)
  • Überläufe (V-70277)
  • Rennbedingungen (V-70185)
  • Fehlerbehandlung (V-70391)

Obwohl dies wie eine kleine Reihe von Sicherheitslücken aussieht, führt dies in der Realität zu vielen verwandten Softwareschwächen. Beispielsweise werden die Top 10 von OWASP (Open Web Application Security Project) in über 50 CWEs übersetzt. Jeder kann mehrere verwandte Schwächen haben.

Obwohl dies eine Reihe von Sicherheitslücken ist, die für die Einhaltung von Vorschriften spezifisch sind, ist es ratsam, eine größere Anzahl von zu erkennenden Sicherheitslücken in Betracht zu ziehen. Darüber hinaus ist es wichtig, dass die Teams ihren Fokus über die Richtlinien im DISA ASD STIG hinaus erweitern, um vorbeugende Richtlinien aufzunehmen, wie sie in den branchenüblichen Standards für sichere Codierung enthalten sind.

Wie der Name schon sagt, handelt es sich bei den OWASP Top 10 um eine Organisation, die sich für die Verbesserung der Sicherheit von Webanwendungen einsetzt. Das OWASP Top 10-Projekt bietet eine Liste der häufigsten und schwerwiegendsten Sicherheitslücken in Webanwendungen.

Integration in SCA-Tools

Während es möglich ist, statische Analysewerkzeuge zu verwenden, um die meisten Probleme zu erkennen, sind einige nicht statisch analysierbar. Die Richtlinie zur Vermeidung von Software mit bekannten Schwachstellen bezieht sich auf die Software Composition Analysis (SCA). Parasoft unterstützt dies durch die Integration von SCA-Tools mit unserer statischen Analyse in einen einzigen Bericht, was zu einer vollständigen Top-10-Abdeckung führt.

Die statische Analyse von Parasoft bietet eine sofort einsatzbereite Unterstützung für OWASP Top 10 durch vorkonfigurierte Einstellungen und spezifische Web-Dashboard-Berichte für C / C ++, Javaund C # /. NET. Die OWASP-Berichterstellung in Parasoft-Tools bietet ein vollständig überprüfbares Compliance-Framework für Projekte. Diese Berichte werden in ein standardspezifisches Dashboard wie das folgende für DISA ASD STIG integriert.

Screenshot des Berichts-Dashboards mit statischen Analyseergebnissen, die OWASP Top 10 unterstützen.
Parasoft DISA ASD STIG-Dashboard

Parasoft implementierte alle wichtigen Anwendungssicherheitsstandards wie die sichere SEI CERT-Codierung, die CWE-Codierungsrichtlinien (Common Weakness Enumeration), UL 2900 und OWASP sowie jeweils sicherheitsspezifische Dashboards. Dies hilft Benutzern, das Risiko und die Priorisierung ausstehender Verstöße / Schwachstellen / Sicherheitsmängel zu verstehen.

Sicherheitsorientierte Berichte

Compliance-Berichte sind auf Anfrage erhältlich. Die Compliance-Kriterien sind flexibel und spezifisch für das Projekt und die Codebasis des Teams. Entwickler können Richtlinien erstellen, die auf Schweregrad, Risiko, Auswirkungen, Alter des Codes, Wichtigkeit der Komponenten usw. basieren. Sie können sie verwenden, um die Entwicklung einfach zu steuern und einem Prüfer die Bemühungen zu zeigen.

Screenshot des Parasoft OWASP Top 10-Konformitätsberichts für DISA ASD STIG.
Parasoft OWASP Top 10 Compliance-Bericht

Einer der entscheidenden Aspekte statischer Analysetools sind Berichts- und Analysefunktionen. Projekte erstellen eine große Datenmenge in Bezug auf Warnungen und werden Build für Build multipliziert. Das Datenmanagement ist der Schlüssel für die erfolgreiche Einführung und den Return on Investment von statischen Analysetools.

Dashboards, Berichte und Konformität, die für jeden Codierungsstandard und jede Sicherheitsrichtlinie optimiert wurden, sind von entscheidender Bedeutung. Parasoft Analytics nutzt branchenübliche Risikomodelle und mehrere Techniken der künstlichen Intelligenz (KI) und des maschinellen Lernens (ML), um die Sicherheitswarnungen zu priorisieren und Entwicklern dabei zu helfen, sich auf die kritischsten Probleme mit den größten Auswirkungen zu konzentrieren.

Zusammenfassung

Der DISA ASD STIG bietet eine Reihe von Anforderungen an die Sicherung von Software für DoD-Anwendungen. Es gibt verschiedene Methoden, um die Einhaltung der im STIG festgelegten Regeln nachzuweisen. Die üblichen Methoden umfassen:

  • Audits der Dokumentation
  • Berichte von Tools wie statischen Analysatoren und anderen
  • Manueller Aufwand zur Untersuchung von Anwendungsprotokollen, falls erforderlich

Das STIG beschreibt wichtige Bereiche für die Automatisierung wie Anwendungscode und Anwendungsscannen. Die statische Analyse hilft dabei, einige davon zu erreichen.

Ein pragmatischer Ansatz entlastet die Compliance und fördert vorbeugende Techniken, mit denen Schwachstellen zu Beginn des Projektlebenszyklus beseitigt werden. Die statische Analyse von Parasoft ermöglicht die frühzeitige Erkennung von Schwachstellen. Diese Lösung erzwingt Codestil und -qualität, um schlechte Sicherheitspraktiken so früh wie möglich zu verhindern.

Erfahren Sie in unserem Whitepaper mehr über die Rolle der Testautomatisierung, die erforderlichen Aspekte der Tools und einen pragmatischen Ansatz zur Implementierung von DISA ASD STIG.

Text Holen Sie sich das Whitepaper: Vorgehensweise bei der DISA ASD STIG-Konformität für die Softwareentwicklung

Von Arthur Hicken

Arthur ist seit über 25 Jahren bei Parasoft im Bereich Software-Sicherheit und Testautomatisierung tätig. Er hilft bei der Erforschung neuer Methoden und Techniken (einschließlich 5 Patente) und hilft Kunden dabei, ihre Software-Praktiken zu verbessern.

Erhalten Sie die neuesten Nachrichten und Ressourcen zum Testen von Software sofort.