Core Concepts
Durch den Einsatz von Großsprachmodellen (LLMs) in verschiedenen Rollen (Entwickler und Tester) kann ein kollektiver Konsens über die Existenz und Klassifizierung von Sicherheitslücken in Code erreicht werden, was die Erkennungsleistung deutlich verbessert.
Abstract
Die Studie stellt einen Ansatz namens "Multi-role Consensus through LLMs Discussions" (MuCoLD) vor, um Großsprachmodelle (LLMs) als verschiedene Rollen in einem Codeverwaltungsprozess einzusetzen, um so ein kollektives Urteil über das Vorhandensein und die Klassifizierung von Sicherheitslücken zu erreichen.
Der Prozess besteht aus drei Stufen:
Initialisierung: Der Tester gibt eine erste Einschätzung ab, ob der Code eine Sicherheitslücke enthält oder nicht, und begründet diese kurz.
Diskussion: Tester und Entwickler tauschen sich iterativ aus, um unterschiedliche Perspektiven zu erörtern und zu einem gemeinsamen Konsens zu gelangen. Dabei stellen sie sich gegenseitig Fragen, um ihre Urteile zu überprüfen und zu verfeinern.
Schlussfolgerung: Basierend auf der finalen Einschätzung des Testers wird das Ergebnis festgehalten, da dieser in der Regel die Hauptverantwortung im Prüfprozess trägt.
Die Evaluierung zeigt, dass dieser Ansatz im Vergleich zu einem einzelnen Rollenmodell die Präzision um 4,73%, die Trefferquote um 58,9% und den F1-Wert um 28,1% verbessert. Der erhöhte Rechenaufwand durch die Diskussionsrunden wird als gerechtfertigt angesehen, da die Leistungssteigerung besonders bei Datensätzen mit höherem Anteil an Sicherheitslücken deutlich wird.
Stats
In der Studie wurde ein Datensatz mit C/C++-Codesegmenten verwendet, die sowohl verwundbare als auch nicht-verwundbare Stellen enthielten. Die Segmente wurden in vier Kategorien eingeteilt: Aufrufe von Bibliotheks-/API-Funktionen (FC), arithmetische Ausdrücke (AE), Array-Nutzung (AU) und Zeiger-Verwendung (PU).
Quotes
"Durch den Einsatz von Großsprachmodellen (LLMs) in verschiedenen Rollen (Entwickler und Tester) kann ein kollektiver Konsens über die Existenz und Klassifizierung von Sicherheitslücken in Code erreicht werden, was die Erkennungsleistung deutlich verbessert."