Automatisierte CVE-Berichtsanalyse mit LLMs zur signaturbasierten Schwachstellenerkennung
Art der Arbeit: Bachelorarbeit
Fachlicher Hintergrund:
Operational Technology (OT) umfasst die Hardware und Software, die durch direkte Überwachung und Steuerung von physischen Geräten, Prozessen und Ereignissen in industriellen Umgebungen Veränderungen erkennt oder verursacht. Mit der zunehmenden Digitalisierung und Vernetzung industrieller Abläufe ist die Sicherung von OT-Systemen von größter Bedeutung. Cyber-Bedrohungen, die auf OT-Systeme abzielen, können die Produktion stören, die Sicherheit gefährden und zu erheblichen finanziellen Verlusten führen. In den vergangenen Jahren ist die OT immer stärker in den Fokus von Angreifern geraten. OT ist für die Aufrechterhaltung alltäglicher Prozesse lebensnotwendig. So wurden beispielsweise einige Angriffe auf Wasserversorger publik.
In der OT werden häufig Microcontroller eingesetzt. Diese werden in der Regel von einer direkt auf Hardware aufsetzenden Firmware "angetrieben". Bei deren Entwicklung werden dabei regerlmäßig und häufig Libraries verwendet. Für einige davon werden im Laufe der Zeit Sicherheitslücken gefunden und sie werden früher oder später auf der CVE Liste geführt. Ein vernünftiges Update-Management ist sehr selten anzutreffen. In dieser Situation hilft es, wenn man vorhandene Geräte betrachtet und deren interne Funktion versteht. Dazu wird die Firmware zunächst extrahiert und anschließend Reverse-Engineering betrieben. Die verwendeten Libraries und von CVE-Meldungen betroffenen Libraries können mittels Signaturen erkannt werden.
In einer Masterarbeit hat sich gezeigt, dass die Erkennung von Libraries mittels Signaturen recht brauchbare Ergebnisse liefert. Es ist aber auch offensichtlich geworden, dass der Prozess von der CVE-Meldung zur Signatur und dann automatischen Prüfung recht umständlich manuell durchzuführen ist. CVEs werden dafür manuell auf die Nennung von Libraries hin untersucht. Der Source-Code von Libraries, die in einer CVE-Meldung genannt werden, wird dann beschafft. Dabei ist die Version vor dem Patch und die danach von Bedeutung. Aus dem Source-Code werden mithilfe von verschiedenen Compilern verschiedene Firmware-Fragmente für unterschiedliche Architekturen und mit unterschiedlichen Compiler-Optionen erzeugt, die als Grundlage für die Signaturerkennung mittels YARA dienen.
Aufgabenbeschreibung:
Die zuletzt genannten manuellen Arbeitsschritte sollen mithilfe von LLMs automatisiert werden. Dazu müssen CVE-Meldungen analysiert werden. Anschließend muss die relevante Stelle im Source-Code gefunden werden. Daraus wird dann eine Signatur erzeugt.
Dabei könnten beispielsweise folgende Fragen relevant werden:
- Wie gut funktioniert das Erkennen von relevanten CVEs? (Welche CVEs deuten auf Libs mit Updates hin?)
- Lassen sich Schwachstellen im Code automatisch anhand der CVEs mit Hilfe von LLMs finden? Wie gut kann der Code gefunden werden?
- Wie gut lässt sich Code für verschiedene Architekturen (CPUs) erzeugen?
- Wie gut lässt sich Code mit verschiedenen Compilern erzeugen?
- Wie gut lässt sich Code mit verschiedenen Compiler-Optionen erzeugen?
In der Arbeit sollen Teilaspekte automatisiert werden.
Mögliche Arbeitsschritte:
- Einarbeitung LLMs, Firmware-Programmierung, CVE-Beschreibungen
- Auswahl Beispiel-Libraries für Tests (Ground Truth)
- Festlegung von Qualitätsfaktoren zur Evaluation der Ergebnisse
- Konzeption
- Nutzung und eventuell Trainieren eines LLMs zum Auffinden der CVE-Meldungen, die auf Schwachstellen in Libraries hinweisen
- LLM benutzen, um fehlerhafte Codestellen zu finden
- Experiment
- Beispielcode für verschiedene Architekturen und Compiler und Optionen erzeugen lassen
- Signaturen erzeugen und Testen
- Auswertung
Die genaue Festlegung des Themas erfolgt in Abstimmung mit den Betreuern unter Berücksichtigung eventuell schon an andere Studenten vergebener Themengebiete. Eine gemeinsame Bearbeitung verschiedener Teilthemen durch mehrere Studenten ist unter Umständen möglich.
Literatur und Ressourcen:
- Masterarbeit: Ahmed, Md Towhidul. “Hardware Security - Automated firmware analysis of OT devices for known vulnerabilities.” Universität Rostock (2025)
- YARA - The Pattern Matching Swiss Knife for Malware Researchers. virustotal.github.io/yara/.
- Barchuk, Bogdan, and Kyrylo Volkov. "Limitations of modern vulnerability scanners and CVE Systems." Authorea Preprints (2025).
- Threatt, Andrew Kyle. "Some Analysis of Common Vulnerabilities and Exposures (CVE) Data from the National Vulnerability Database (NVD)." (2024).
- ZeMicheal, T., Chen, H., Davis, S., Allen, R., Demoret, M., & Song, A. (2024). LLM agents for vulnerability identification and verification of CVEs.
Betreuer: Dr. Thomas Mundt (thomas.mundt@uni-rostock.de)
Voraussetzungen: Keine besonderen, Programmierkenntnisse in einer höheren Programmiersprache sind von Vorteil.
