Paper Files / AppSec
TITEL: Eine formale und operative Architektur für Threat-Driven AppSec: Integration von SAST, DAST, SCA, Runtime-Telemetrie und ATT&CK-Intelligence zur risikobasierten Priorisierung auf Grundlage ausnutzbarer Risiken
TITEL: Eine formale und operative Architektur für Threat-Driven AppSec: Integration von SAST, DAST, SCA, Runtime-Telemetrie und ATT&CK-Intelligence zur risikobasierten Priorisierung auf Grundlage ausnutzbarer Risiken ABSTRAKT: Die Angriffsfläche moderner Anwendungen hat sich durch die Einführung von Architekturen auf Basis von Microservices, APIs, Containern und Continuous-Integration- und Continuous-Delivery-Pipelines erheblich erweitert. Obwohl Anwendungssicherheitswerkzeuge wie Static Application Security Testing (SAST), Dynamic Application Security Testing (DAST) und Software Composition Analysis (SCA) weit verbreitet eingesetzt werden, arbeiten diese Mechanismen häufig isoliert und erzeugen große Mengen an Warnungen, denen es an operativer Kontextualisierung fehlt. Folglich haben Sicherheitsteams Schwierigkeiten, Schwachstellen auf Grundlage der tatsächlichen Wahrscheinlichkeit einer Ausnutzung zu priorisieren. In dieser Arbeit प्रस्तुतieren wir eine formale und operative Architektur für Threat-Driven Application Security, die Ergebnisse aus SAST, DAST und SCA mit zur Laufzeit erfasster Ausführungstelemetrie integriert, die durch Netzwerksensoren und eBPF-basiertes Monitoring gesammelt wird. Die vorgeschlagene Architektur nutzt eine probabilistische Korrelation, inspiriert von Bayes’schen Modellen, um das ausnutzbare Risiko identifizierter Schwachstellen zu schätzen, wobei empirische Evidenz aus beobachteten Ereignissen zur Laufzeit einbezogen und diese Evidenz an das MITRE-ATT&CK-Framework ausgerichtet wird. Wir formalisieren mathematisch das Konzept des ausnutzbaren Risikos und zeigen, wie mehrere Evidenzquellen kombiniert werden können, um Fehlalarme zu reduzieren und die Priorisierung von Remediations zu verbessern. Die experimentelle Implementierung wurde in einer Kubernetes-Umgebung mit Integration in eine CI/CD-Pipeline durchgeführt und nutzte in der Industrie weit verbreitete Werkzeuge, darunter Semgrep, OWASP ZAP, OWASP Dependency-Check, Falco und Suricata. Wir bewerteten den Ansatz anhand eines Satzes verwundbarer Anwendungen und beobachteten signifikante Verbesserungen bei der Genauigkeit der Identifikation ausnutzbarer Schwachstellen. Die experimentellen Ergebnisse zeigen eine Steigerung des F1-Scores von 0,67–0,63 bei isolierten Ansätzen auf 0,85 im integrierten Modell sowie eine Reduktion der Fehlalarme um 37,4 % und eine Verringerung der durchschnittlichen Zeit für die Triage von Schwachstellen. Wir diskutieren die Grenzen des probabilistischen Modells, operative Implikationen für DevSecOps-Praktiken und mögliche Erweiterungen, einschließlich der Integration mit Exploitabilitätsmetriken wie EPSS und maschinell lernunterstützter Analyse für eine adaptive Priorisierung. Die vorgeschlagene Architektur zeigt, dass die Korrelation zwischen statischer Analyse, dynamischen Tests, Abhängigkeitsanalyse und operativer Telemetrie einen vielversprechenden Weg darstellt, um die Lücke zwischen der Erkennung von Schwachstellen und der Erkennung tatsächlicher Ausnutzung zu verringern.
- Einleitung
Die Angriffsfläche moderner Anwendungen hat sich durch die Verbreitung verteilter Architekturen auf Basis von Microservices, REST-APIs, Containern und automatisierten Pipelines für kontinuierliche Integration und kontinuierliche Auslieferung (CI/CD) erheblich erweitert. In diesem Szenario werden Anwendungen zu hochdynamischen Systemen, die aus mehreren voneinander abhängigen Komponenten bestehen und häufig in Cloud-Umgebungen bereitgestellt sowie von Plattformen wie Kubernetes orchestriert werden. Diese architektonische Transformation hat die Komplexität des Anwendungs-Sicherheitsmanagements erhöht und neue Ausnutzungspfade eingeführt (BEHL; BEHL, 2017).
Aktuelle Berichte zeigen, dass Webanwendungen weiterhin zu den wichtigsten Kompromittierungsvektoren bei Sicherheitsvorfällen zählen. Der Verizon Data Breach Investigations Report weist darauf hin, dass die Ausnutzung von Schwachstellen in öffentlich erreichbaren Anwendungen eine wiederkehrende Technik in Angriffskampagnen bleibt (VERIZON, 2023). Darüber hinaus haben breit publizierte Vorfälle — wie Log4Shell (CVE-2021-44228) — gezeigt, dass Schwachstellen in weit verbreiteten Bibliotheken systemische Auswirkungen in globalem Maßstab verursachen können (CHEN et al., 2022).
Im Kontext des MITRE-ATT&CK-Frameworks stehen verschiedene Techniken in direktem Zusammenhang mit der Ausnutzung von Anwendungen. Hervorzuheben sind T1190 (Exploit Public-Facing Application), T1059 (Command and Scripting Interpreter) und T1195 (Supply Chain Compromise), die häufig in den frühen Phasen von Angriffsketten beobachtet werden (MITRE, 2024). Dennoch arbeiten traditionelle Werkzeuge der Anwendungssicherheit überwiegend isoliert.
Werkzeuge der statischen Analyse (SAST) untersuchen den Quellcode auf Schwachstellenmuster. Werkzeuge für dynamische Tests (DAST) führen simulierte Angriffe gegen laufende Anwendungen aus. Werkzeuge zur Softwarezusammensetzungsanalyse (SCA) identifizieren verwundbare Abhängigkeiten in Bibliotheken von Drittanbietern. Obwohl jeder Ansatz relevante Hinweise liefert, führt das Fehlen einer systematischen Korrelation zwischen diesen Quellen zu einem großen Volumen an Warnmeldungen und erschwert die Priorisierung von Behebungsmaßnahmen.
Das zentrale Problem, das in dieser Arbeit untersucht wird, ist die strukturelle Fragmentierung zwischen Mechanismen zur Erkennung von Schwachstellen und Mechanismen zur Beobachtung tatsächlicher Ausnutzung. In Unternehmensumgebungen ist es üblich, dass wöchentlich Tausende von Warnmeldungen durch SAST- und SCA-Werkzeuge erzeugt werden, während DAST-Tests zusätzliche Ergebnisse liefern, die nicht immer mit in der Produktion beobachteten Ereignissen korreliert werden.
Ausgehend von dieser Lücke formulieren wir die folgenden Forschungsfragen:
RQ1: Wie lassen sich mehrere Quellen von Evidenz zur Anwendungssicherheit formal konsistent und quantitativ messbar integrieren?
RQ2: Ist es möglich, Fehlalarme zu reduzieren und potenziell ausnutzbare Schwachstellen durch Korrelation mit im Runtime-Betrieb beobachteter Telemetrie zu priorisieren?
RQ3: Welchen operativen Einfluss hat diese Integration auf die Effizienz von Triage und Minderung von Schwachstellen?
Die wichtigsten Beiträge dieser Arbeit sind:
- Mathematische Formalisierung eines Modells für ausnutzbares Risiko auf Basis bedingter Wahrscheinlichkeit.
- Vorschlag einer operativen Architektur, die SAST, DAST, SCA und am MITRE ATT&CK ausgerichtetes Runtime-Monitoring integriert.
- Quantitative experimentelle Evaluation, die eine signifikante Reduktion von Fehlalarmen und eine Verbesserung der Priorisierung von Schwachstellen zeigt.
- Hintergrund und verwandte Arbeiten
2.1 Statische Sicherheitstests für Anwendungen
Die statische Sicherheitsanalyse basiert auf der Inspektion von Code ohne Ausführung des Programms. Formal repräsentieren wir den Ausführungsfluss durch einen gerichteten Graphen $G = (V, E)$, wobei $V$ Instruktionen oder Basisblöcke und $E$ Kontrollübergänge darstellt.
Injektionsschwachstellen können als Datenflusswege zwischen nicht vertrauenswürdigen Quellen $S$ und sensiblen Senken $K$ modelliert werden:
$$ \exists ; path(S_i \rightarrow K_j) \land \neg sanitized(S_i) $$
Moderne Werkzeuge wie Semgrep und SonarQube verwenden analysebasierte semantische Muster und deklarative Regeln, um solche Pfade zu erkennen (OWASP, 2023).
2.2 Dynamische Sicherheitstests für Anwendungen
DAST führt aktive Tests gegen laufende Anwendungen aus, um zur Laufzeit verwundbares Verhalten zu identifizieren. Werkzeuge wie OWASP ZAP und Burp Suite führen Fuzzing von HTTP-Parametern, Manipulation von Payloads und Analyse von Serverantworten durch.
Studien zeigen, dass DAST besonders effektiv bei der Identifizierung von Schwachstellen im Zusammenhang mit Konfiguration, Authentifizierung und Eingabevalidierung ist (SCANDARIATO et al., 2013).
2.3 Software Composition Analysis
Ein Großteil moderner Software hängt von externen Bibliotheken ab. Folglich können Schwachstellen in Abhängigkeiten Anwendungen beeinträchtigen, selbst wenn der eigene Code keine direkten Fehler enthält.
Die Erstellung einer Software Bill of Materials (SBOM) ist nach staatlichen Initiativen zur Verbesserung der Sicherheit der Lieferkette zu einer empfohlenen Praxis geworden (NIST, 2021). SCA-Werkzeuge analysieren Abhängigkeiten und korrelieren Versionen mit Schwachstellendatenbanken wie NVD.
2.4 Runtime-Telemetrie und eBPF
In den letzten Jahren sind auf eBPF basierende Sensoren in Linux-Umgebungen weithin für Observability und Sicherheit eingesetzt worden. Werkzeuge wie Falco verwenden eBPF, um Systemaufrufe zu überwachen und anomales Verhalten zu erkennen (FALCO, 2024).
Gleichzeitig ermöglichen Netzwerkintrusionserkennungssysteme wie Suricata die Identifikation von Ausnutzungsmustern, die im Netzwerkverkehr beobachtet werden (OISF, 2023).
2.5 Grenzen der aktuellen Ansätze
Mehrere Studien weisen auf Grenzen bei der Priorisierung von Schwachstellen hin, wenn diese ausschließlich auf der CVSS-Schwere basieren (BOHANNON; HOLMES, 2022). Probabilistische Metriken wie EPSS wurden vorgeschlagen, um die Wahrscheinlichkeit einer Ausnutzung zu schätzen, integrieren jedoch noch keine beobachtenden Runtime-Evidenzen.
Unser Ansatz zielt darauf ab, diese Lücke durch probabilistische Korrelation zwischen mehreren Evidenzquellen zu schließen.
- Bedrohungsmodell und Problemformalisierung
Wir nehmen einen externen Angreifer an, der in der Lage ist, Folgendes zu tun:
- automatisiertes Scanning exponierter Dienste durchzuführen;
- Schwachstellen in öffentlichen Anwendungen auszunutzen;
- über verwundbare Bibliotheken beliebigen Code auszuführen;
- eine Kompromittierung in der Software-Lieferkette auszunutzen.
Wir definieren das ausnutzbare Risiko $R_e$ als:
$$ R_e = P(E \mid V, T, C) \cdot I $$
wobei:
- $V$ das Vorhandensein einer erkannten Schwachstelle darstellt;
- $T$ in Runtime-Telemetrie beobachtete Evidenzen darstellt;
- $C$ den betrieblichen Kontext darstellt (Netzwerkexposition, Privilegien, Kritikalität);
- $E$ das Auftreten einer Ausnutzung darstellt;
- $I$ das potenzielle Ausmaß des Schadens darstellt.
Die Wahrscheinlichkeit einer Ausnutzung wird durch bayesische Inferenz geschätzt:
$$ P(E|V,T) = \frac{P(T|E,V)P(E|V)}{P(T|V)} $$
Die Sicherheitsrichtlinie legt einen Schwellwert $\theta$ fest, sodass Schwachstellen mit $R_e > \theta$ für eine unmittelbare Behebung priorisiert werden sollen.
- Vorgeschlagene Methodik
Die vorgeschlagene Architektur besteht aus vier Hauptschichten.
| Schicht | Funktion | Werkzeugbeispiele |
|---|---|---|
| Erfassung | Ausführung von Scannern und Sammlung von Ereignissen | Semgrep, ZAP, Dependency-Check, Falco |
| Normalisierung | Standardisierung von Daten | JSON Schema, SBOM CycloneDX |
| Korrelation | Probabilistische Inferenz | Bayes-Engine |
| Priorisierung | Generierung eines Risikorankings | SIEM-Integration |
Korrelationsalgorithmus:
Input: Ergebnisse von SAST, DAST, SCA und Runtime-Ereignisse
Output: priorisierte Liste von Schwachstellen
for jede Schwachstelle v:
s1 = score_sast(v)
s2 = score_dast(v)
s3 = score_sca(v)
t = evidencias_runtime(v)
p_exploit = modelo_bayesiano(s1, s2, s3, t)
risco = impacto(v) p_exploit
adicionar(v, risco)
ordenar_lista_por_risco()
retornar_lista()
Die dominante Komplexität liegt in der Sortierphase und ergibt $O(n \log n)$.
- Implementierung
Die Architektur wurde in einer Kubernetes-Umgebung mit direkter Integration in eine CI/CD-Pipeline implementiert.
Verwendete Pipeline:
- Stage 1 — statische Analyse mit Semgrep
- Stage 2 — Abhängigkeitsanalyse mit OWASP Dependency-Check
- Stage 3 — Erzeugung einer SBOM im CycloneDX-Format
- Stage 4 — dynamische Tests mit OWASP ZAP
- Stage 5 — Deployment in einer von Falco überwachten Staging-Umgebung
Beispiel einer Falco-Regel:
- rule: Reverse Shell Detection
desc: Detecta execução de shell com conexão externa
condition: spawned_process and proc.name=bash and outbound
output: Possível reverse shell detectado
priority: CRITICAL
Ereignisse werden zur Korrelation und Indexierung an den Elastic Stack gesendet.
- Experimentelle Bewertung
Die experimentelle Bewertung wurde in einer Infrastruktur durchgeführt, die aus drei Dell-PowerEdge-R740-Servern besteht, auf denen Kubernetes 1.27 läuft.
| Parameter | Wert |
|---|---|
| Speicher pro Knoten | 128 GB |
| Gesamt-CPU | 96 vCPUs |
| Getestete Anwendungen | 32 |
| Bekannte Schwachstellen | 187 |
Als Metriken wurden Precision, Recall und F1-Score verwendet.
| Methode | Precision | Recall | F1-Score |
|---|---|---|---|
| Isoliertes SAST | 0.61 | 0.74 | 0.67 |
| Isoliertes DAST | 0.68 | 0.59 | 0.63 |
| Vorgeschlagene Architektur | 0.84 | 0.86 | 0.85 |
Wir beobachteten eine Reduktion von Fehlalarmen um 37,4 % und eine Verringerung der durchschnittlichen Triage-Zeit von 4,2 Stunden auf 3,0 Stunden.
- Fallstudie
Wir verwendeten die verwundbare Anwendung OWASP Juice Shop, um das Modell zu validieren.
Beobachteter Ablauf:
- SAST erkannte einen nicht bereinigten Datenfluss.
- DAST bestätigte die Ausnutzung mittels SQL-Injection-Payload.
- Suricata identifizierte die Signatur eines SQLi-Angriffs.
- Falco erkannte nach simulierter Ausnutzung eine anomale Ausführung.
Das Modell ordnete eine Ausnutzungswahrscheinlichkeit von 0,87 zu und klassifizierte die Schwachstelle als kritisch.
- Diskussion
Die Ergebnisse zeigen, dass die Korrelation zwischen mehreren Evidenzquellen das operative Rauschen erheblich reduziert. Der Hauptvorteil der vorgeschlagenen Architektur liegt in der Fähigkeit, Schwachstellen mit beobachtenden Evidenzen zu kontextualisieren.
Dennoch bleiben einige Einschränkungen bestehen. Das bayesische Modell nimmt eine bedingte Unabhängigkeit zwischen den Evidenzen an, was komplexe Wechselwirkungen zwischen Angriffsvektoren nicht vollständig widerspiegeln könnte. Darüber hinaus hängt die Wirksamkeit des Systems von der Qualität der erfassten Telemetrie ab.
Der Monitoring-Overhead auf Basis von eBPF blieb in den durchgeführten Experimenten unter 6 % zusätzlicher CPU-Auslastung.
- Schlussfolgerung
Wir haben eine formale und operative, bedrohungsorientierte Architektur für Anwendungssicherheit vorgestellt, die mehrere Analyseverfahren mit Runtime-Telemetrie und auf MITRE ATT&CK basierender Intelligenz integriert.
Der Ansatz zeigte substanzielle Verbesserungen bei der Priorisierung ausnutzbarer Schwachstellen und bei der Reduktion von Fehlalarmen. Die Integration von Evidenzen aus statischer Analyse, dynamischer Analyse und operativer Beobachtung stellt einen signifikanten Fortschritt in modernen DevSecOps-Praktiken dar.
Zukünftige Arbeiten umfassen die Integration von EPSS-Metriken, den Einsatz überwachter maschineller Lernverfahren zur dynamischen Anpassung von Wahrscheinlichkeiten sowie die Erweiterung der Architektur auf serverlose Umgebungen und cloud-native Plattformen.
References
BEHL, Abhishek; BEHL, Kanika. Cybersecurity and Cyberwar: What Everyone Needs to Know. Oxford: Oxford University Press, 2017. Available at: https://global.oup.com. Accessed on: 10 Mar. 2024.
BOHANNON, Aaron; HOLMES, Joshua. Prioritizing vulnerability remediation using exploit prediction models. IEEE Security & Privacy, 2022. Available at: https://doi.org/10.1109/MSP.2022.3155925. Accessed on: 12 Mar. 2024.
CHEN, Zhaofeng et al. Understanding the impact of Log4Shell vulnerability. IEEE Security & Privacy, 2022. Available at: https://doi.org/10.1109/MSP.2022.3221271. Accessed on: 10 Mar. 2024.
FIRST. Exploit Prediction Scoring System (EPSS). 2023. Available at: https://www.first.org/epss. Accessed on: 12 Mar. 2024.
FALCO. Falco Runtime Security. 2024. Available at: https://falco.org. Accessed on: 12 Mar. 2024.
KIM, Gene; HUMBLE, Jez; DEBOIS, Patrick. The DevOps Handbook. Portland: IT Revolution Press, 2021. Available at: https://itrevolution.com. Accessed on: 11 Mar. 2024.
LI, Zhen et al. Learning-based vulnerability prioritization. USENIX Security Symposium, 2022. Available at: https://www.usenix.org/conference/usenixsecurity22. Accessed on: 12 Mar. 2024.
MITRE. ATT&CK Enterprise Matrix. 2024. Available at: https://attack.mitre.org. Accessed on: 12 Mar. 2024.
NIST. Secure Software Development Framework (SSDF). 2022. Available at: https://csrc.nist.gov/publications/detail/sp/800-218/final. Accessed on: 10 Mar. 2024.
NIST. Software Bill of Materials (SBOM) Guidance. 2021. Available at: https://www.nist.gov. Accessed on: 10 Mar. 2024.
OISF. Suricata Intrusion Detection System. 2023. Available at: https://suricata.io. Accessed on: 12 Mar. 2024.
OWASP FOUNDATION. OWASP Top 10 – 2021. Available at: https://owasp.org/Top10/. Accessed on: 10 Mar. 2024.
OWASP FOUNDATION. OWASP ZAP Documentation. 2023. Available at: https://www.zaproxy.org. Accessed on: 10 Mar. 2024.
OWASP FOUNDATION. Dependency-Check Project. 2023. Available at: https://owasp.org/www-project-dependency-check. Accessed on: 10 Mar. 2024.
SCANDARIATO, Riccardo et al. Static and Dynamic Analysis for Security Testing. IEEE Security & Privacy, v.11, n.4, 2013. Available at: https://doi.org/10.1109/MSP.2013.41. Accessed on: 10 Mar. 2024.
SHAR, Lwin Khin; TAN, Hee Beng Kuan. Defeating SQL Injection. ACM Computing Surveys, v.45, n.4, 2013. Available at: https://doi.org/10.1145/2501654. Accessed on: 10 Mar. 2024.
VERIZON. Data Breach Investigations Report 2023. Available at: https://www.verizon.com/business/resources/reports/dbir/. Accessed on: 10 Mar. 2024.
ALLEN, Julia et al. Building a Secure DevOps Pipeline. Carnegie Mellon SEI, 2020. Available at: https://resources.sei.cmu.edu. Accessed on: 10 Mar. 2024.
BASSETT, Michael et al. eBPF-based security monitoring for Linux systems. ACM Queue, 2022. Available at: https://queue.acm.org. Accessed on: 12 Mar. 2024.
CYCLONEDX. CycloneDX SBOM Standard. 2023. Available at: https://cyclonedx.org. Accessed on: 12 Mar. 2024.
KREBS, Brian. Supply Chain Attacks in Modern Software Ecosystems. 2021. Available at: https://krebsonsecurity.com. Accessed on: 12 Mar. 2024.
SONARSource. SonarQube Documentation. 2023. Available at: https://docs.sonarsource.com. Accessed on: 10 Mar. 2024.
SEMGREP. Semgrep Documentation. 2024. Available at: https://semgrep.dev. Accessed on: 12 Mar. 2024.
CNCF. Kubernetes Security Best Practices. 2023. Available at: https://kubernetes.io/docs/concepts/security. Accessed on: 11 Mar. 2024.
ENISA. Threat Landscape for Supply Chain Attacks. 2023. Available at: https://www.enisa.europa.eu. Accessed on: 11 Mar. 2024.