Till innehåll på sidan

Sårbarhetsdetektering av programvara med maskininlärning

Sårbarheter i mjukvara är en kritisk säkerhetsutmaning i moderna system, och skadliga aktörer utnyttjar dem för att utgöra ihållande och föränderliga hot. År 2023 stod zero-day-sårbarheter för en betydande del av de framgångsrika attackerna, enligt ENISA [1]. Även åtgärdade sårbarheter utnyttjas framgångsrikt upp till två år efter att de har upptäckts, enligt CISA [2]. Dessa exploateringar leder till allvarliga konsekvenser, såsom dataintrång, stöld av inloggningsuppgifter och kompromettering av statliga och strategiska system [1].

Traditionella metoder för sårbarhetsdetektering, även om värdefulla, möter begränsningar i skalbarhet och detekteringsprecision för moderna mjukvarusystem. Under senare år har framstegen inom maskininlärningsmetoder för mjukvaruutveckling [3] gett nya perspektiv på att hantera denna utmaning. Maskininlärning har visat potential både som fristående detekteringsmetod och som förbättring av traditionella tillvägagångssätt [4].

Maskininlärningsmetoder som fristående ansats utnyttjar djupinlärningsarkitekturer för att identifiera mönster inom kodrepresentationer [5], vilket möjliggör detektering av olika sårbarheter [6]. När det kombineras med statisk och dynamisk analys kan maskininlärning förbättra analysens skalbarhet och precision [4].

Medan maskininlärningsbaserad sårbarhetsdetektering visar lovande resultat kvarstår flera utmaningar olösta. Maskininlärningens databeroende natur kräver högkvalitativ data, vars tillgänglighet är begränsad för säkerhetskritiska sektorer [4] och vars anpassning till produktionsmiljöer kan vara svår att uppnå [4]. Ett annat hinder är bristen på tolkningsbarhet i många maskininlärningsmodeller. Dessa systems ogenomskinlighet leder ofta till motstånd mot införande från intressenter [7], särskilt i miljöer som kräver regelefterlevnad [3].

I denna forskning strävar vi efter att förbättra state-of-the-art inom sårbarhetsdetektering, med särskilt fokus på samspelet mellan traditionell programanalys och maskininlärningsmetoder. Vårt fokus ligger på att undersöka hur programanalys kan informera och vägleda maskininlärningstekniker, hur maskininlärning kan förbättra traditionella analysprocesser, och hur man kan främja tillförlitligheten hos maskininlärningsbaserad detektering genom validering och tolkning. Denna forskning syftar till att bidra till både teoretisk förståelse och praktiska tillämpningar i säkerhetskritiska miljöer, och arbetar mot mer effektiva och pålitliga metoder för sårbarhetsdetektering.

Referenser

[1] European Union Agency for Cybersecurity (ENISA), “ENISA Threat Landscape 2024,” ENISA, 2024
[2] Cybersecurity and Infrastructure Security Agency (CISA) et al., “2023 Top Routinely Exploited Vulnerabilities,” Cybersecurity Advisory AA24-317A, 2024.
[3] R. Bommasani et al., “On the Opportunities and Risks of Foundation Models,” Jul. 12, 2022, arXiv: arXiv:2108.07258. doi: 10.48550/arXiv.2108.07258.
[4] M. Allamanis, E. T. Barr, P. Devanbu, and C. Sutton, “A Survey of Machine Learning for Big Code and Naturalness,” ACM Comput. Surv., vol. 51, 2018.
[5] B. Casey, J. C. S. Santos, and G. Perry, “A Survey of Source Code Representations for Machine Learning-Based Cybersecurity Tasks,” arXiv.org. [Online]. Available: https://arxiv.org/abs/2403.10646v1
[6] P. Chakraborty, K. K. Arumugam, M. Alfadel, M. Nagappan, and S. McIntosh, “Revisiting the Performance of Deep Learning-Based Vulnerability Detection on Realistic Datasets,” IIEEE Trans. Software Eng., vol. 50, no. 8, pp. 2163–2177, Aug. 2024, doi: 10.1109/TSE.2024.3423712.[7] D. Bhusal et al., “SoK: Modeling Explainability in Security Analytics for Interpretability, Trustworthiness, and Usability,” in Proceedings of the 18th International Conference on Availability, Reliability and Security, Benevento Italy: ACM, Aug. 2023, pp. 1–12. doi: 10.1145/3600160.3600193.

Forskare

Vivi Andersson
Vivi Andersson doktorand
Martin Monperrus
Martin Monperrus professor
Musard Balliu
Musard Balliu universitetslektor