"Given enough eyeballs, all bugs are shallow" - Linus's Law suggereert dat open source code veiliger is omdat iedereen het kan bekijken. Maar de realiteit is complexer. Recent ontdekte kwetsbaarheden in de Linux kernel bestonden soms meer dan 10 jaar voordat ze werden gevonden.
De schaal van het probleem
De Linux kernel bestaat uit meer dan 30 miljoen regels code, geschreven door duizenden ontwikkelaars over drie decennia. Elke nieuwe release voegt honderdduizenden regels toe. In 2025 alleen al werden meer dan 80.000 commits gemerged. Deze enorme schaal maakt het onmogelijk voor elk paar ogen om elke regel te controleren.
Recente voorbeelden tonen de ernst van het probleem. CVE-2024-1086, een use-after-free bug in netfilter, bestond sinds 2014 - tien jaar lang onopgemerkt. De Dirty Pipe vulnerability (CVE-2022-0847) zat vijf jaar in de kernel voordat het werd ontdekt en bood root access aan elke lokale gebruiker.
Kernel statistieken
In 2025 werden gemiddeld 75-100 CVE's per maand toegewezen aan de Linux kernel. Veel hiervan zijn bugs die jaren bestonden voordat ze werden gevonden en gerapporteerd.
Waarom blijven bugs verborgen?
1. Complexiteit van de codebase
De kernel bevat subsystemen die alleen door een handvol experts volledig worden begrepen. Drivers voor obscure hardware, specifieke filesystems, en netwerk protocol implementaties worden vaak alleen beoordeeld door hun originele auteurs. Als zij iets missen, ziet niemand anders het.
2. Legacy code en technische schuld
Code geschreven in de jaren '90 voldoet niet aan moderne security standaarden. Refactoring is riskant en tijdrovend. Veel oude code blijft dus onaangeroerd zolang het "werkt" - ook al bevat het potentiële kwetsbaarheden.
3. Race conditions en timing bugs
Sommige bugs manifesteren zich alleen onder specifieke omstandigheden - bepaalde hardware, specifieke timing, of ongewone workloads. Deze zijn bijna onmogelijk te vinden met code review alleen en vereisen uitgebreide runtime testing die niet altijd plaatsvindt.
4. Beperkte security auditing resources
Professionele security audits zijn duur en tijdrovend. Hoewel bedrijven als Google en Red Hat investeren in kernel security, is de capaciteit beperkt vergeleken met de omvang van de codebase.
Wat wordt eraan gedaan?
Moderne security initiatieven
- Kernel Self Protection Project (KSPP): Hardening van de kernel tegen exploits
- Syzkaller: Google's kernel fuzzer vindt maandelijks tientallen bugs
- Rust in de kernel: Memory-safe taal voor nieuwe drivers
- Static analysis tools: Geautomatiseerde code scanning
- Bug bounty programma's: Financiële incentives voor onderzoekers
Implicaties voor gebruikers
De belangrijkste les voor eindgebruikers is dat geen enkel systeem 100% veilig is - ook Linux niet. Dit betekent niet dat Linux onveilig is; integendeel, het open source model zorgt ervoor dat bugs wel worden gevonden en gepatcht, vaak sneller dan bij closed-source alternatieven.
Wat je als gebruiker moet doen:
- Houd je systeem up-to-date met de nieuwste security patches
- Gebruik een LTS (Long Term Support) kernel voor stabiliteit
- Beperk aanvalsoppervlak door onnodige services uit te schakelen
- Implementeer defense-in-depth met meerdere beveiligingslagen