image

FBI hekelt softwareleveranciers over buffer overflows: onvergeeflijke fout

woensdag 12 februari 2025, 16:45 door Redactie, 6 reacties

De FBI en het Amerikaanse cyberagentschap CISA hebben uitgehaald naar softwareleveranciers die in hun producten nog steeds buffer overflows hebben zitten. Dit zijn volgens de Amerikaanse overheidsdiensten 'onvergeeflijke fouten' die de nationale veiligheid van de VS in gevaar brengen en waar al twintig jaar allerlei oplossingen voor bestaan. Toch blijft er software op de markt komen met buffer overflows, wat in het ergste geval tot gecompromitteerde systemen kan leiden.

"Buffer overflow-kwetsbaarheden doen zich voor wanneer aanvallers informatie benaderen of schrijven naar het verkeerde deel van het computergeheugen, bijvoorbeeld buiten de geheugenbuffer", aldus de FBI en het CISA. In het ergste geval kan een aanvaller zo zijn eigen code op het systeem uitvoeren. De Amerikaanse overheidsdiensten stellen dat het gebruik van onveilige programmeer practices die tot buffer overflows kunnen leiden, met name het gebruik van 'memory unsafe' programmeertalen, een onacceptabel risico voor de nationale en economische veiligheid van de Verenigde Staten vormen.

In een vandaag verschenen 'Secure by Design Alert' roepen de FBI en het CISA softwareleveranciers op om bewezen mitigaties toe te passen om buffer overflows te voorkomen. Klanten moeten daarnaast veilige software eisen die over dergelijke mitigaties beschikken. In de waarschuwing geven de overheidsdiensten ook advies aan softwareleveranciers, zoals het gebruik van 'memory-safe' programmeertalen waar mogelijk, het grondig onderzoeken van de oorzaak van gevonden kwetsbaarheden en het uitvoeren van security-audits.

"De community van softwareontwikkelaars beschikt over twintig jaar aan uitgebreide kennis en effectieve oplossingen voor buffer overflows. Helaas blijven veel softwareleveranciers klanten aan producten met deze kwetsbaarheden blootstellen", aldus de FBI en het CISA (pdf).

Reacties (6)
Vandaag, 17:00 door Anoniem
Ik vraag me al langer af wanneer software leveranciers de verantwoordelijkheid niet meer kunnen afschuiven...

Mogelijk alleen bij open source omdat je als klant dan zelf onderzoek kan doen.
Vandaag, 17:49 door Anoniem
10 procent van alle programmeurs zijn goede programmeurs.
Helaas denkt 90 procent dat zij tot die 10 procent behoort.

Zie ook: Sturgeons's Law.
Vandaag, 19:50 door Wim ten Brink
Een buffer overflow komt in principe maar bij een paar programmeertalen voor. We praten dan over C, C++, Assembly en COBOL. (En mogelijk een paar andere talen met slechte compilers.) Er zijn al veel technieken ontwikkeld die dit kunnen voorkomen en sommige technieken zijn zelfs ingebouwd in diverse compilers. Daarnaast zijn virtuele machines steeds populairder aan het worden (Java, LLVM, .NET) die hier ook veel bescherming kunnen bieden.
-
Het probleem is echter dat betere en veiligere programma's ook meer tijd vragen om te ontwikkelen. Daaronder dus niet alleen het schrijven van de code, maar ook het testen en code analyses. En tijd is geld, he? Als het 4 uur extra kost op een project van 80 uur dan praten we over een prijsverhoging van 5%. Met een uurloon van 50 euro per uur is dat toch 250 euro extra.
Dus worden er keuzes gemaakt door management. Ze zetten er gewoon goedkopere ontwikkelaars op, bijvoorbeeld door outsourcing. Of stel minder hoge eisen en riskeer dus dit soort problemen.
Het probleem zit dan ook niet bij de programmeurs maar bij management.
Vandaag, 21:13 door Anoniem
Door Wim ten Brink: Een buffer overflow komt in principe maar bij een paar programmeertalen voor. We praten dan over C, C++, Assembly en COBOL.
COBOL? Weet je het zeker?

Ik moet zeggen dat ik niet bepaald bij ben in wat daar voor ontwikkelingen hebben plaatsgevonden, maar toen ik ooit COBOL-programmeur was in een mainframe-omgeving werkten dat met vaste veldlengtes en nagenoeg altijd vaste recordlengtes, had een programma een al bij compilatie vast ingedeelde "working storage" waar geen dynamische allocatie in de loop van de uitvoering van het programma aan te pas kwam, en de controle of je tabel-elementen buiten de bovengrens van een tabel benaderde was automatisch als je de betreffende compiler-optie gebruikte. Record-layouts die je definieerde werden op runtime over de IO-buffers gelegd door de COBOL-runtime, je had gewoon na het lezen die velden tot je beschikking. Er kon echt wel van alles misgaan als je aan het ontwikkelen en het testen was, maar buffer overflows zaten daar simpelweg niet bij, volgens mij heb ik pas kennis gemaakt met dat verschijnsel toen ik in andere talen leerde programmeren.

Maar mogelijk ben ik niet bij, is dat ouderwets COBOL en heeft men allerlei moderne mogelijkheden toegevoegd die de deur hebben open gezet voor buffer overflows. Hoe dan ook, al is er een shitload aan terechte kritiek die je kan hebben op COBOL, het verrast me dat buffer overflows daarbij genoemd worden.
Vandaag, 21:50 door Anoniem
Door Anoniem: 10 procent van alle programmeurs zijn goede programmeurs.
Helaas denkt 90 procent dat zij tot die 10 procent behoort.

Zie ook: Sturgeons's Law.

Dat is niet wat Sturgeon's Law zegt:

The Revelation
Ninety percent of everything is crud.

Corollary 1
The existence of immense quantities of trash in science fiction is admitted and it is regrettable; but it is no more unnatural than the existence of trash anywhere.

Corollary 2
The best science fiction is as good as the best fiction in any field.

https://en.wikipedia.org/wiki/Sturgeon%27s_law

(Theodore Sturgeon was een science fiction schrijver en recencent.)
Vandaag, 22:07 door Anoniem

De FBI en het Amerikaanse cyberagentschap CISA hebben uitgehaald naar softwareleveranciers die in hun producten nog steeds buffer overflows hebben zitten
Wat een domme tekst. Er zitten geen buffer overflows in programma's !! Buffer overflows kunnen gecreëerd worden wanneer er wordt geprobeerd om data in een buffer te schrijven die daarvoor te klein is. Gelukkig wordt dat in de rest van de tekst wel duidelijk.
SELinux kan een bufferoverloop nauwkeurig afhandelen maar beter is om een memory-safe programmeertaal te gebruiken maar dat is niet altijd mogelijk.
Reageren
Ondersteunde bbcodes
Bold: [b]bold text[/b]
Italic: [i]italic text[/i]
Underline: [u]underlined text[/u]
Quote: [quote]quoted text[/quote]
URL: [url]https://www.security.nl[/url]
Config: [config]config text[/config]
Code: [code]code text[/code]

Je bent niet en reageert "Anoniem". Dit betekent dat Security.NL geen accountgegevens (e-mailadres en alias) opslaat voor deze reactie. Je reactie wordt niet direct geplaatst maar eerst gemodereerd. Als je nog geen account hebt kun je hier direct een account aanmaken. Wanneer je Anoniem reageert moet je altijd een captchacode opgeven.