Paper Files / AppSec
TITEL: Eine formale und operative Architektur für bedrohungsorientierte AppSec: Integration von SAST, DAST, SCA, Runtime-Telemetrie und ATT&CK-Intelligenz zur risikobasierten Priorisierung auf Grundlage ausnutzbarer Risiken
TITEL: Eine formale und operative Architektur für bedrohungsorientierte AppSec: Integration von SAST, DAST, SCA, Runtime-Telemetrie und ATT&CK-Intelligenz 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 mangelt. Folglich haben Sicherheitsteams Schwierigkeiten, Schwachstellen auf Grundlage der tatsächlichen Wahrscheinlichkeit einer Ausnutzung zu priorisieren. In dieser Arbeit präsentieren wir eine formale und operative Architektur für bedrohungsorientierte Anwendungssicherheit, die Ergebnisse aus SAST, DAST und SCA mit Laufzeit-Telemetrie integriert, die zur Ausführungszeit mittels Netzwerksensoren und eBPF-basiertem Monitoring erfasst wird. Die vorgeschlagene Architektur verwendet eine von bayesianischen Modellen inspirierte probabilistische Korrelation, um das ausnutzbare Risiko identifizierter Schwachstellen zu schätzen, wobei empirische Evidenzen aus beobachteten Runtime-Ereignissen einbezogen und diese Evidenzen an das MITRE ATT&CK-Framework angeglichen werden. 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 Behebungsmaßnahmen zu verbessern. Die experimentelle Implementierung wurde in einer Kubernetes-Umgebung mit Integration in eine CI/CD-Pipeline durchgeführt, unter Verwendung in der Industrie weit verbreiteter Werkzeuge, darunter Semgrep, OWASP ZAP, OWASP Dependency-Check, Falco und Suricata. Wir bewerteten den Ansatz an einer Reihe verwundbarer Anwendungen und beobachteten signifikante Verbesserungen bei der Genauigkeit der Identifizierung 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 Triagierung von Schwachstellen. Wir diskutieren die Grenzen des probabilistischen Modells, die operativen Implikationen für DevSecOps-Praktiken und mögliche Erweiterungen, einschließlich der Integration mit Ausnutzungsmetriken wie EPSS und maschinell lernunterstützter Analyse zur adaptiven 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 schließen.
- Einleitung
Die Angriffsfläche moderner Anwendungen hat sich durch die Verbreitung verteilter Architekturen auf Basis von Microservices, REST-APIs, Containern und automatisierten Continuous-Integration- und Continuous-Delivery-(CI/CD)-Pipelines 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 durch 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 öffentlichen Anwendungen eine wiederkehrende Technik in Angriffskampagnen bleibt (VERIZON, 2023). Darüber hinaus haben weithin bekannt gewordene Vorfälle — wie Log4Shell (CVE-2021-44228) — gezeigt, dass Schwachstellen in weit verbreiteten Bibliotheken systemische Auswirkungen in globalem Maßstab erzeugen können (CHEN et al., 2022).
Im Kontext des MITRE-ATT&CK-Frameworks stehen mehrere 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 Quellcode auf Schwachstellenmuster. Werkzeuge der dynamischen Analyse (DAST) führen simulierte Angriffe gegen laufende Anwendungen aus. Werkzeuge zur Analyse der Softwarezusammensetzung (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 einer großen Menge 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 Schwachstellenerkennung 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.
Aus dieser Lücke heraus 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: Welche operativen Auswirkungen hat diese Integration auf die Effizienz der Sichtung und Behebung von Schwachstellen?
Die Hauptbeiträge dieser Arbeit sind:
- Mathematische Formalisierung eines Modells für ausnutzbares Risiko auf Basis bedingter Wahrscheinlichkeit.
- Vorschlag einer Betriebsarchitektur, die SAST, DAST, SCA und Runtime-Monitoring integriert und an MITRE ATT&CK ausgerichtet ist.
- Quantitative experimentelle Bewertung, die eine signifikante Reduktion von Fehlalarmen und eine Verbesserung der Priorisierung von Schwachstellen demonstriert.
- Hintergrund und verwandte Arbeiten
2.1 Statische Anwendungssicherheitsprüfung
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$ Anweisungen oder Basic Blocks und $E$ Kontrollübergänge darstellt.
Injection-Schwachstellen 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 semantisch basierte Analyse und deklarative Regeln, um solche Pfade zu erkennen (OWASP, 2023).
2.2 Dynamische Anwendungssicherheitsprüfung
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 wirksam ist, um Schwachstellen im Zusammenhang mit Konfiguration, Authentifizierung und Eingabevalidierung zu identifizieren (SCANDARIATO et al., 2013).
2.3 Software Composition Analysis
Ein großer 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 Schwachstellen-Datenbanken wie dem NVD.
2.4 Runtime-Telemetrie und eBPF
In den letzten Jahren sind auf eBPF basierende Sensoren in Linux-Umgebungen weit verbreitet für Observability und Sicherheit geworden. Werkzeuge wie Falco verwenden eBPF, um Systemaufrufe zu überwachen und anomales Verhalten zu erkennen (FALCO, 2024).
Gleichzeitig ermöglichen netzwerkbasierte Intrusion-Detection-Systeme wie Suricata die Identifikation von Ausnutzungsmustern, die im Netzwerkverkehr beobachtet werden (OISF, 2023).
2.5 Grenzen aktueller Ansätze
Mehrere Studien weisen auf Grenzen bei der Priorisierung von Schwachstellen hin, die ausschließlich auf der CVSS-Schwere basieren (BOHANNON; HOLMES, 2022). Wahrscheinlichkeitsmetriken wie EPSS wurden vorgeschlagen, um die Exploit-Wahrscheinlichkeit abzuschätzen, integrieren jedoch noch keine beobachtenden Runtime-Evidenzen.
Unser Ansatz zielt darauf ab, diese Lücke durch probabilistische Korrelation zwischen mehreren Quellen von Evidenz zu schließen.
- Bedrohungsmodell und Problemformalierung
Wir nehmen einen externen Angreifer an mit der Fähigkeit:
- automatisiertes Scanning exponierter Dienste durchzuführen;
- Schwachstellen in öffentlichen Anwendungen auszunutzen;
- beliebigen Code über verwundbare Bibliotheken auszuführen;
- Kompromittierungen 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$ im Runtime-Betrieb beobachtete Evidenzen repräsentiert;
- $C$ den Betriebskontext repräsentiert (Netzwerkexposition, Berechtigungen, Kritikalität);
- $E$ das Eintreten einer Ausnutzung darstellt;
- $I$ den potenziellen Schaden repräsentiert.
Die Exploit-Wahrscheinlichkeit wird mittels bayesscher 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 müssen.
- 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 | Datenstandardisierung | JSON Schema, SBOM CycloneDX |
| Korrelation | Probabilistische Inferenz | Bayessche Engine |
| Priorisierung | Generierung eines Risikorankings | SIEM-Integration |
Korrelationsalgorithmus:
Input: Ergebnisse von SAST, DAST, SCA und Runtime-Ereignisse
Output: priorisierte Liste von Schwachstellen
für 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 dominierende 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 durch 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 auf einer Infrastruktur durchgeführt, die aus drei Dell PowerEdge R740-Servern mit Kubernetes 1.27 bestand.
| Parameter | Wert |
|---|---|
| Speicher pro Knoten | 128 GB |
| Gesamt-CPU | 96 vCPUs |
| Getestete Anwendungen | 32 |
| Bekannte Schwachstellen | 187 |
Die verwendeten Metriken waren Precision, Recall und F1-Score.
| 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 der Fehlalarme um 37,4 % und eine Verringerung der durchschnittlichen Sichtungszeit 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 sanitisierten Datenfluss.
- DAST bestätigte die Ausnutzung mittels SQL-Injection-Payload.
- Suricata identifizierte eine SQLi-Angriffs-Signatur.
- Falco erkannte nach der simulierten Ausnutzung anomale Ausführung.
Das Modell wies eine Exploit-Wahrscheinlichkeit von 0,87 zu und stufte die Schwachstelle als kritisch ein.
- Diskussion
Die Ergebnisse zeigen, dass die Korrelation zwischen mehreren Quellen von Evidenz das operative Rauschen erheblich reduziert. Der Hauptvorteil der vorgeschlagenen Architektur liegt in der Fähigkeit, Schwachstellen anhand beobachtbarer Evidenz zu kontextualisieren.
Dennoch bleiben einige Einschränkungen bestehen. Das bayessche Modell nimmt bedingte Unabhängigkeit zwischen den Evidenzen an, was komplexe Wechselwirkungen zwischen Angriffspfaden nicht vollständig widerspiegeln kann. Zudem 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 Analysetechniken mit Runtime-Telemetrie und auf MITRE ATT&CK basierender Intelligenz integriert.
Der Ansatz zeigte deutliche Verbesserungen bei der Priorisierung ausnutzbarer Schwachstellen und bei der Reduktion von Fehlalarmen. Die Integration von Evidenzen aus statischer, dynamischer und operativer Beobachtung stellt einen bedeutenden 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.