Analys av felrättning i Linux-kärnan — i genomsnitt upptäcker man fel efter 2 år

Resultaten från studien av tid för upptäckte och åtgärdade fel i Linux-kärnans kod har publicerats. Uppgifterna har erhållits genom analys av 125 000 fel som märkts i Git-repo med taggen "Fixes:", som refererar till den commit där felet uppstod. Medel tiden för att upptäcka fel i kärnan var 2.1 år. Om vi endast ser på fel som åtgärdades under 2025, var denna siffra 2.8 år.

30% av felen åtgärdades av samma utvecklare som orsakade felen. 56.9% av felen åtgärdas inom ett år. 13.5% av felen förblev oupptäckta i mer än 5 år (om vi betraktar endast felen som åtgärdades under 2025 — 19.4%). På grund av ojämt fördelade data var den medeltida tiden för ett fel i kärnkoden 8 månader för urvalet från 2005 och 1 år för felen som åtgärdades under 2025. Det mest långvariga felet i koden var ett buffertöverskridande i ethtool, som åtgärdades efter 20.7 år.

Analys av buggfixar i Linux-kärnan - i genomsnitt upptäcker man buggar efter 2 år.

Dynamiken för felupptäckten skiljer sig tydligt från medelvärdet för vissa delsystem, till exempel i CAN-bussen och SCTP-stacken tar det i genomsnitt ungefär 4 år att identifiera problem, i IPv4-stacken — 3.6 år, USB och TTY — 3.5, Netfilter och nätverksstacken — 2.9, VM — 1.8, GPU — 1.4, BPF — 1.1 år.

Analys av buggfixar i Linux-kärnan - i genomsnitt upptäcker man buggar efter 2 år.

Tid för upptäckten korrelerar med typer av fel: medel tiden för att upptäcka fel relaterade till race conditions var 5.1 år, heltalsöverskridanden — 3.9, användning efter frigivning av minne — 3.2, buffertöverskridanden och minnesläckor — 3.1, referensräkning — 2.8, avdereferensiering av nullpekare och dödlägen — 2.2 år.

I den erhållna statistiken kan man också se påverkan av införandet av nya verktyg för automatisk felupptäckning, statisk analys och kodtestning, såsom Syzkaller, KASAN, KMSAN och KCSAN. Till exempel, 2010 registrerades inga felrättningar som upptäcktes inom ett år. Medan det under 2014 upptäcktes 31% av felen, 2018 — 54%, och 2022 — 69% av felen.

Den erhållna statistiken användes för att skapa maskininlärningsmodellen VulnBERT, som möjliggör förutsägelser om förekomsten av sårbarheter i commits. Vid testning på commits från 2024 års nivå nåddes en detektionsnoggrannhet på 92,2 % med en falsk positiv nivå på 1,2 % (till jämförelse identifierade den tidigare tillgängliga modellen CodeBERT 89,2 % av problemen med en falsk positiv nivå på 48,1 %).

Källa: opennet.ru

Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar 🔥 Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster