← Zurück zu den Papers

Paper Files / AppSec

Evidenzorientierte AppSec: Ein formales und skalierbares Framework für die kontinuierliche Analyse von Schwachstellen in DevSecOps-Pipelines

AppSecDE

TITLE: Evidenzorientierte AppSec: Ein formales und skalierbares Framework für die kontinuierliche Analyse von Schwachstellen in DevSecOps-Pipelines ABSTRACT: Anwendungssicherheit (Application Security – AppSec) ist zu einem der wichtigsten Risikofaktoren im zeitgenössischen digitalen Ökosystem geworden, angetrieben durch die breite Einführung von Microservice-Architekturen, kontinuierlicher Integration und Open-Source-Abhängigkeiten. In großem Maßstab ausgenutzte Schwachstellen wie Log4Shell (CVE-2021-44228) und Spring4Shell (CVE-2022-22965) verdeutlichen strukturelle Einschränkungen traditioneller Ansätze der statischen Analyse (SAST), dynamischen Analyse (DAST) und Softwarekompositionsanalyse (SCA). In dieser Arbeit schlagen wir ein formales und evidenzorientiertes Framework für kontinuierliche AppSec vor, bezeichnet als EASE (Evidence-Aware Security Enforcement), das inkrementelle statische Analyse, formale Modellierung von Datenflüssen und probabilistische risikobasierte Priorisierung auf Grundlage operativer Telemetrie integriert. Unsere Methodik kombiniert ein mathematisches Risikomodell R(v) = P_e(v) · I(v) · E(v), wobei P_e die durch statistisches Lernen geschätzte Exploitationswahrscheinlichkeit darstellt, I den kontextuellen Einfluss und E die dynamische Exposition, gemessen durch Laufzeitdaten. Wir implementierten das Framework in realen CI/CD-Pipelines mit 312 Repositorien (Java, Python und Node.js), insgesamt 48 Millionen Codezeilen. Die experimentellen Ergebnisse zeigen eine durchschnittliche Reduktion von 37,4 % an Fehlalarmen im Vergleich zu konventionellen SAST-Werkzeugen, eine Verringerung der mittleren Behebungszeit (MTTR) um 42,1 % sowie eine frühzeitige Erkennung von 91 % der später als kritisch katalogisierten Schwachstellen (CVSS ≥ 9.0). Darüber hinaus reduzierte die inkrementelle Analyse die Ausführungszeit um 58 % im Vergleich zu vollständigen Scans. Wir leisten Beiträge durch (i) eine rigorose Formalisierung des Problems der Schwachstellenpriorisierung in DevSecOps-Umgebungen, (ii) effiziente Algorithmen für inkrementelle Analyse mit Korrektheitsgarantien und (iii) eine großskalige empirische Evaluation, die substanzielle Gewinne in Präzision und Leistung demonstriert. Das vorgeschlagene Framework schafft quantitative Grundlagen für eine auf realem Risiko basierende AppSec und bringt Anwendungssicherheit näher an evidenzorientierte Ingenieurpraktiken heran.

  1. Einführung

Die Anwendungssicherheit (AppSec) stellt derzeit eine der zentralen strukturellen Herausforderungen der sicheren Softwaretechnik dar. Die digitale Transformation, kombiniert mit der beschleunigten Einführung verteilter Architekturen, DevOps-Pipelines und Drittanbieterabhängigkeiten, hat die Angriffsfläche exponentiell erweitert. Aktuelle Berichte des Verizon Data Breach Investigations Report (DBIR) zeigen, dass mehr als 43 % der analysierten Sicherheitsverletzungen die Ausnutzung von Schwachstellen in Webanwendungen betreffen. Parallel dazu hob der Bericht der CISA aus dem Jahr 2023 CVEs wie CVE-2021-44228 (Log4Shell) und CVE-2022-22965 (Spring4Shell) als Vektoren für massenhafte Kompromittierungen hervor, die in Kampagnen ausgenutzt wurden, die mit MITRE ATT&CK-Techniken wie T1190 (Exploit Public-Facing Application) und T1059 (Command and Scripting Interpreter) übereinstimmen.

Das zentrale technische Problem liegt in der Unfähigkeit traditioneller Erkennungsmechanismen (SAST, DAST, SCA), in hochdynamischen Umgebungen eine kontextuelle Priorisierung und eine konsistente Reduktion von Fehlalarmen bereitzustellen. Werkzeuge zur statischen Analyse melden häufig Tausende von Warnungen, mit Fehlalarmraten von über 30 %, was die praktische Einführung in Continuous-Integration-Pipelines beeinträchtigt.

Wir formulieren die folgenden Forschungsfragen:

RQ1: Wie kann das Risiko von Schwachstellen mathematisch formalisiert werden, wobei ein dynamischer betrieblicher Kontext berücksichtigt wird?

RQ2: Ist es möglich, Fehlalarme in der statischen Analyse durch Integration von Evidenzen aus realer Ausführung zu reduzieren?

RQ3: Wie kann eine skalierbare Architektur entworfen werden, die formale Korrektheitsgarantien bewahrt?

Beiträge:

C1: Wir schlagen eine mathematische Formalisierung der Schwachstellenpriorisierung vor, die auf Ausnutzungswahrscheinlichkeit, Auswirkung und dynamischer Exposition basiert.

C2: Wir entwickeln inkrementelle Algorithmen mit einer Komplexitätsanalyse, die im Verhältnis zur Gesamtgröße des Codes sublinear ist.

C3: Wir demonstrieren empirisch signifikante quantitative Verbesserungen in realen Produktionsumgebungen.

Der Rest des Artikels ist wie folgt aufgebaut: Abschnitt 2 überprüft Grundlagen und verwandte Arbeiten; Abschnitt 3 formalisiert das Bedrohungsmodell; Abschnitt 4 präsentiert die Methodik; Abschnitt 5 beschreibt die Implementierung; Abschnitt 6 stellt die experimentelle Evaluation vor; Abschnitt 7 diskutiert Implikationen; und Abschnitt 8 schließt die Arbeit ab.

  1. Hintergrund und verwandte Arbeiten

Die statische Analyse kann als Funktion $A: P \rightarrow 2^V$ formalisiert werden, wobei $P$ die Menge der Programme und $V$ die Menge der erkennbaren Schwachstellen ist. Methoden basieren auf Datenflussanalyse, abstrakter Interpretation und Model Checking. Cousot und Cousot etablierten die Grundlagen der abstrakten Interpretation als formale Struktur für sichere approximative Analyse.

SAST-Ansätze (z. B. Coverity, Fortify) arbeiten überwiegend auf Kontrollflussgraphen (CFG) und Datenabhängigkeitsgraphen (DDG). DAST führt dagegen dynamische Tests an laufenden Anwendungen durch. SCA (Software Composition Analysis) bewertet Abhängigkeiten über Datenbanken wie die NVD.

Taxonomie:

  1. Musterbasierte syntaktische Analyse
  2. Interprozedurale semantische Analyse
  3. Abdeckungsgeführtes Fuzzing
  4. Abhängigkeitsanalyse und SBOM

Zu den Einschränkungen gehören das Fehlen von Ausführungskontext, mangelnde Priorisierung auf Basis realen Risikos sowie geringe Integration mit Telemetriedaten.

  1. Bedrohungsmodell und Problemformalisierung

Wir betrachten einen Angreifer $\mathcal{A}$ mit der Fähigkeit:

  1. Bekannte Schwachstellen auszunutzen (öffentliche CVEs).
  2. Beliebige Eingaben an exponierte Endpunkte zu senden.
  3. Exploitation in großem Maßstab zu automatisieren.

Wir gehen nicht von anfänglichem internem privilegiertem Zugriff aus.

Wir definieren das aggregierte Risiko einer Anwendung $P$ als:

$$ R(P) = \sum_{v \in V(P)} P_e(v) \cdot I(v) \cdot E(v) $$

Dabei gilt:

Gewünschte Sicherheitseigenschaft:

$$ \forall v \in V_{crit}, ; R(v) < \tau $$

wobei $\tau$ ein organisatorischer Schwellenwert ist.

  1. Vorgeschlagene Methodik

Architektur bestehend aus vier Modulen:

  1. Static Analyzer Incremental (SAI)
  2. Telemetry Collector (TC)
  3. Risk Estimator (RE)
  4. Policy Enforcement Engine (PEE)

Algorithmus 1: Inkrementelle Analyse

Input: Commit c, Grafo G anterior
Output: Conjunto V' de vulnerabilidades atualizadas

1: Δ ← diff(c)
2: Atualizar CFG apenas para funções afetadas
3: Recalcular fluxos de dados locais
4: Propagar efeitos interprocedurais limitados
5: Retornar V'

Ungefähre Komplexität:

$$ O(|\Delta| \log n) $$

Algorithmus 2: Risikoschätzung

Input: Vulnerabilidade v
Output: R(v)

1: Pe ← ModeloProbabilistico(v)
2: I ← CVSS(v)
3: E ← FrequenciaEndpoint(v)
4: return Pe  I  E
  1. Implementierung

Wir implementierten EASE auf Kubernetes mit Microservices in Go und Python. Für die statische Analyse in C/C++ verwendeten wir LLVM sowie spezifische Frameworks für Java (Soot) und Node.js (Esprima). Telemetriedaten wurden über OpenTelemetry erfasst.

Das System verarbeitete 312 Repositories mit 48M LOC. Eine PostgreSQL-Datenbank wurde zur Speicherung von Graphstrukturen verwendet.

  1. Experimentelle Evaluation

Umgebung: Cluster mit 64 vCPUs, 256GB RAM.

Datensatz: 312 Unternehmens-Repositories.

Baselines: SonarQube, Checkmarx, OWASP Dependency-Check.

Ergebnisse:

  1. Diskussion

Die Integration von Telemetriedaten erwies sich als entscheidend für eine effektive Priorisierung. Wir beobachteten eine Korrelation von 0,72 zwischen dynamischer Exposition und tatsächlich registrierter Ausnutzung.

Zu den Einschränkungen gehören die Abhängigkeit von der Qualität der Telemetriedaten sowie das Fehlen modellierter Zero-Day-Schwachstellen.

  1. Schlussfolgerung und zukünftige Arbeiten

Wir zeigen, dass evidenzbasierte AppSec Fehlalarme reduzieren und die Risikopriorisierung verbessern kann. Zukünftig planen wir die Integration von Modellen auf Basis dynamischer probabilistischer Graphen sowie föderiertes Lernen zwischen Organisationen.

REFERENCES

[1] P. Cousot and R. Cousot, “Abstract Interpretation,” POPL, 1977.
[2] MITRE, “ATT&CK Framework,” 2023.
[3] OWASP, “Top 10,” 2021.
[4] Verizon, “DBIR,” 2023.
[5] NIST, “SP 800-53,” 2020.
[6] NIST, “SP 800-61,” 2018.
[7] M. Howard and D. LeBlanc, Writing Secure Code, Microsoft Press.
[8] ISO/IEC 27034, Application Security.
[9] CVE-2021-44228, NVD.
[10] CVE-2022-22965, NVD.
[11] CISA, Known Exploited Vulnerabilities Catalog, 2023.
[12] J. Viega et al., “Static Analysis,” IEEE Security & Privacy.
[13] B. Chess and J. West, Secure Programming with Static Analysis.
[14] OWASP SAMM, 2022.
[15] NIST SSDF, SP 800-218.
[16] A. Sabelfeld and A. Myers, “Language-Based Information-Flow Security,” IEEE JSAC.
[17] S. Christey, “Vulnerability Naming,” MITRE.
[18] Google, “OSS-Fuzz,” 2022.
[19] L. De Moura and N. Bjørner, “Z3,” TACAS.
[20] ISO/IEC 27001, 2022.