Amerikaanse regering roept op tot overstap van C en C++ naar Rust voor betere beveiliging
Rust als veilige programmeertaal
De programmeertaal Rust wint steeds meer terrein als een betrouwbare en veilige alternatief voor de traditionele talen C en C++. Dit wordt bevestigd door een recent technisch rapport van het Nationale Cybersecurity Centrum (NCSC) van het Witte Huis, dat pleit voor een dringende overstap naar veilige programmeertalen als een nationale strategie om de aanvalsvectoren in het digitale ecosysteem te verkleinen.
Het rapport, getiteld Back to the Building Blocks: A Path Toward Secure and Measurable Software, stelt dat veel van de ernstigste kwetsbaarheden van de afgelopen decennia, zoals Heartbleed (2014) en BLASTPASS (2023), voortkomen uit beveiligingsfouten in het geheugenbeheer, typisch voor talen zoals C en C++.
Rust, de nieuwe standaard voor veilige programmering
Rust biedt een hoge programmatuur met garanties voor beveiliging tijdens de compilatie, waardoor fouten zoals buffer-overflows, dangling pointers en race conditions worden vermeden. Deze robuuste architectuur heeft niet alleen de aandacht getrokken van de technische gemeenschap, maar ook van overheidsinstanties die aanvallen willen voorkomen in plaats van erop te reageren.
Volgens Harry Coker, directeur van Nationale Cybersecurity, “hebben we de verantwoordelijkheid om de aanvalsvectoren in cyberspace te verkleinen, en dat betekent dat we veilige programmeertalen moeten adopteren.”
FFmpeg versus Rav1d: wanneer Rust de video-standaard uitdaagt
Recentelijk kwam de spanning tussen prestaties en beveiliging aan de oppervlakte in de videoprocessing. FFmpeg, een van de meest gebruikte open-source projecten wereldwijd voor multimedia codering en decodering, heeft openlijk twijfels geuit over de incentives die Prossimo — een initiatief dat projecten in Rust stimuleert — biedt om de prestaties van de nieuwe AV1-decoder “rav1d” te verbeteren.
Rav1d is een veilige herimplementatie in Rust van de succesvolle “dav1d” in C. Hoewel rav1d slechts 5% langzamer is, heeft Prossimo een beloning van 20.000 dollar aangeboden aan degene die deze kloof kan dichten, wat door FFmpeg als een indirecte kritiek werd opgevat: “Rust is zo goed dat je ervoor betaald wordt om het net zo snel te maken als C,” was hun ironische reactie.
Witte Huis steunt de verandering
Dit debat is niet enkel een kwestie voor ontwikkelaars, maar het NCSC heeft deze kwestie centraal gesteld in de nationale cybersecuritystrategie. Het rapport erkent dat C en C++ nog steeds zullen bestaan in legacy-systemen, maar pleit voor een hybride aanpak om kritieke bibliotheken geleidelijk naar veilige talen zoals Rust te migreren.
De Biden-administratie beschouwt deze overgang als een fundamentele stap om hele klassen van fouten te verminderen. De Cybersecurity and Infrastructure Security Agency (CISA), de NSA en de FBI hebben zelfs richtlijnen gepubliceerd die fabrikanten en softwareleveranciers aanmoedigen om “veiligheidsroadmaps voor geheugen te definiëren.”
Verder dan alleen taal: hardware en formele methoden
Het rapport verkent ook aanvullende alternatieven wanneer Rust of andere talen niet haalbaar zijn, zoals in bepaalde embedded of ruimte-taken. In deze gevallen wordt er ingezet op technieken zoals geheugenbeschermende hardware (bijv. Memory Tagging Extensions – MTE – of architecturen zoals CHERI) of formele wiskundige verificatiemethoden voor de code.
Metrics en kwaliteitsmetingen
Een ander belangrijk punt uit het rapport is de behoefte aan betere objectieve kwaliteitsmetingen van software. Het NCSC stelt voor om metrics te ontwikkelen die het risico van een softwarecomponent kunnen evalueren, kwetsbaarheden kunnen anticiperen en beslissingen over aankoop of investering kunnen begeleiden.
Momenteel beschikken de meeste organisaties niet over de nodige tools om te beoordelen of een bibliotheek of digitaal product voldoet aan minimale cybersecuritystandaarden. Deze informatiekloof bemoeilijkt het eisen van kwaliteit van de aangeschafte software en houdt de aanwezigheid van kritieke bugs erin in stand.
Een kans voor de industrie
De overheidsinzet voor Rust en veilige programmering opent een historische kans voor de software-industrie. Van grote bedrijven tot open-source projecten kunnen profiteren van nieuwe eisen, publieke incentives en marktf vertrouwen.
Zoals het rapport concludeert: “Er zijn geen zilveren kogels in cybersecurity, maar de kracht ligt in het afstemmen van de huidige middelen op de ambities van morgen.”
