image

Witte Huis wil dat programmeurs 'memory safe' programmeertalen gebruiken

dinsdag 27 februari 2024, 10:04 door Redactie, 24 reacties

Het Witte Huis wil dat programmeurs en softwareleveranciers voor toekomstige software 'memory safe' programmeertalen gaan gebruiken, om zo allerlei soorten kwetsbaarheden te voorkomen. Volgens de Office of the National Cyber Director (ONCD) van het Witte Huis zijn hele klasse beveiligingslekken door middel van memory safe programmeertalen uit te bannen.

"Sommige van de beruchtste cybergebeurtenissen in de geschiedenis, de Morris-worm van 1988, de Slammer-worm van 2003, de Heartbleed-kwetsbaarheid in 2014, de Trident-exploit van 2016 en de Blastpass-exploit van 2023, waren in de pers breed uitgemeten cyberaanvallen die echte schade aan systemen veroorzaakten waar de samenleving elke dag op vertrouwt. Ze hadden allemaal deze hoofdoorzaak: memory safety kwetsbaarheden", zegt Anjana Rajan, Assistant National Cyber Director.

Het ONCD heeft een rapport gepubliceerd genaamd 'Back to the Building Blocks: A Path Toward Secure and Measurable Software' (pdf), waarin het belang van veilige software wordt beschreven en hoe memory safe programmeertalen hierbij helpen. Het Witte Huis stelt dat om het aanvalsoppervlak te verkleinen het nodig is om memory safety kwetsbaarheden te 'elimineren', aangezien dergelijke beveiligingslekken al jarenlang op grote schaal voorkomen. Het gaat dan bijvoorbeeld om buffer overflows, waardoor een aanvaller in het ergste gevalle willekeurige code op systemen kan uitvoeren.

Voorbeelden van memory unsafe programmeertalen zijn C en C++. De programmeertaal Rust wordt door het Witte Huis omschreven als een memoy safe programmeertaal. "Als land hebben we de mogelijkheid, en verantwoordelijk, om het aanvalsoppervlak in cyberspace te verkleinen en voorkomen dat gehele klasse aan kwetsbaarheden in het digitale ecosysteem terechtkomen, maar dat houdt in dat we het lastige probleem moeten aanpakken om naar memory safe programmeertalen te migreren", aldus National Cyber Director Harry Coker. Hoogleraren, beveiligingsexperts en softwarebedrijven zijn blij met de oproep.

Reacties (24)
27-02-2024, 10:49 door johanw
De Biden regering zou niet moeten micro managen op dit niveau.
27-02-2024, 11:07 door Bitje-scheef
Door johanw: De Biden regering zou niet moeten micro managen op dit niveau.

Sommige zaken worden niet goed opgepakt door de "industrie" zelf. Dan wordt je gedwongen vanuit politieke besturing of later zelfs wettelijke verplichting. Ik vind dit niet zo vreemd, aangezien ik het liever zie dat het goed opgepakt zou worden. Maar dat kost natuurlijk weer centjes. Verplicht je het voor iedereen dan komt niemand er onder uit en creëer je een gelijk speelveld.
27-02-2024, 11:24 door Anoniem
Programmeren in Assembly (en C) wordt dus verboden als het aan Biden ligt. Leuk als je low-level bezig moet.

Je "Hallo world" zal natuurlijk wel veel veiliger zijn.
27-02-2024, 11:26 door Anoniem
Het gaat dan bijvoorbeeld om buffer overflows, waardoor een aanvaller in het ergste gevalle willekeurige code op systemen kan uitvoeren.
SELinux beschermt je tegen bufferoverflows e.d. De grootste problemen zitten denk ik bij de drivers. Wat dat betreft heeft Rust al zijn intrede in Linux gemaakt. Windows weet ik niet. Volgens mij zou het Witte Huis dit OS zo wie zo moeten verbieden voor de overheid en hier in Nederland ook.
27-02-2024, 11:30 door Anoniem
Dus ze kunnen straks nooit meer een nieuw OS gebruiken. allemaal geschreven met C en C++
27-02-2024, 11:37 door Anoniem
Waarom is Java niet genoemd?
Dat lijkt mij net zo stevig.
27-02-2024, 11:39 door Anoniem
Door johanw: De Biden regering zou niet moeten micro managen op dit niveau.
En waarom niet?????
27-02-2024, 11:42 door Anoniem
Is Java ook niet zo'n 'safe' programmeertaal, en zie wat er een gedoe mee is?
27-02-2024, 13:17 door Anoniem
Door Anoniem:
Het gaat dan bijvoorbeeld om buffer overflows, waardoor een aanvaller in het ergste gevalle willekeurige code op systemen kan uitvoeren.
SELinux beschermt je tegen bufferoverflows e.d. De grootste problemen zitten denk ik bij de drivers. Wat dat betreft heeft Rust al zijn intrede in Linux gemaakt. Windows weet ik niet. Volgens mij zou het Witte Huis dit OS zo wie zo moeten verbieden voor de overheid en hier in Nederland ook.

Het Wiite Huis moet in Nederland een OS verbieden?
27-02-2024, 13:52 door Anoniem
Bij JavaScript: Voorkom geheugenlekken door geheugentoewijzing en dealtoewijzing goed te beheren.
Zorg ervoor dat u ongebruikt geheugen vrijgeeft wanneer het niet langer nodig is.

Gebruik efficiënte datastructuren en algoritmen om het geheugengebruik te optimaliseren.
Vermijd het maken van onnodige objecten of variabelen.

Implementeer technieken voor foutafhandeling en geheugenbeheer om geheugengerelateerde problemen,
zoals fouten bij onvoldoende geheugen, te voorkomen.

Controleer en analyseer regelmatig het geheugengebruik in uw JavaScript-code met behulp van tools,
zoals Chrome DevTools of Node.js tools voor geheugenprofilering.
(gebruik ook retire.js voor af te voeren libraries met kwetsbaarheden).

Volg bovenstaande richtlijnen,

luntrus
27-02-2024, 13:55 door Anoniem
Alle vrijheden worden aan banden gelegd en de te gebruiken algoritmen worden dwingend verplicht.

Men wil een volledige gemonitorde en gesurveilleerde globale maatschappij.

Dat staat in de steigers.
27-02-2024, 14:36 door Anoniem
Door Anoniem: Bij JavaScript: Voorkom geheugenlekken door geheugentoewijzing en dealtoewijzing goed te beheren.
Zorg ervoor dat u ongebruikt geheugen vrijgeeft wanneer het niet langer nodig is.

Gebruik efficiënte datastructuren en algoritmen om het geheugengebruik te optimaliseren.
Vermijd het maken van onnodige objecten of variabelen.

Implementeer technieken voor foutafhandeling en geheugenbeheer om geheugengerelateerde problemen,
zoals fouten bij onvoldoende geheugen, te voorkomen.

Controleer en analyseer regelmatig het geheugengebruik in uw JavaScript-code met behulp van tools,
zoals Chrome DevTools of Node.js tools voor geheugenprofilering.
(gebruik ook retire.js voor af te voeren libraries met kwetsbaarheden).

Volg bovenstaande richtlijnen,

luntrus
Met bovenstaande richtlijnen kun je elke programmeertaal veilig maken.
27-02-2024, 15:13 door Briolet - Bijgewerkt: 27-02-2024, 15:17
Door Anoniem: Dus ze kunnen straks nooit meer een nieuw OS gebruiken. allemaal geschreven met C en C++

Dat ligt er aan wat Biden met "Toekomstige software" bedoelt. Als een verdere ontwikkeling van bestaande software bedoeld wordt, is dit inderdaad een zeer grote opgave. Denk maar aan onze belastingdienst die ook vasthoud aan een oude programmeertaal omdat je anders alles opnieuw moet schrijven.

Ik zie ook niet snel gebeuren dat je een heel OS herschrijft. Maar ik kan me wel herinneren dat de Mac vroeger op Pascal code draaide en langzaam zijn ze code door objective-C gaan vervangen. En nu wordt dat weer langzaam door Swift vervangen. Dus nieuwe modules in MacOs worden nu al in een geheugen veilige taal geschreven. Het zou ook snellere code opleveren dan Objective-C, wat nog een goede reden voor de overstap is.
27-02-2024, 15:55 door Anoniem
Windows, Linux, FreeBSD en IOS zijn voornamelijk geschreven in C. Daar gaat zo'n oproep weinig aan veranderen.
27-02-2024, 16:01 door Anoniem
Met kunstmatige intelligentie zou het gemakkelijker moeten worden om nieuwe software te schrijven met andere progammeertalen.
27-02-2024, 16:22 door Anoniem
Door Anoniem: Bij JavaScript: Voorkom geheugenlekken door geheugentoewijzing en dealtoewijzing goed te beheren. .......
Volg bovenstaande richtlijnen,

luntrus

Je hebt helemaal gelijk, het probleem is dat de programmeurs jouw en meerdere best-practices niet lezen, laat staan opvolgen. Door gebruik te maken van een taal die geheugenbeheer voor je doet is er in ieder geval een flinke hackbare hobbel overwonnen.
27-02-2024, 16:44 door Anoniem
Is er ook iemand van de bovenstaande "beste stuurlui" die desbetreffende PDF daadwerkelijk heeft gelezen? ;-)
27-02-2024, 17:38 door Anoniem
Door Anoniem: Is er ook iemand van de bovenstaande "beste stuurlui" die desbetreffende PDF daadwerkelijk heeft gelezen? ;-)

Onjuiste premisse (x2). En wat wil je daar mee zeggen? Wees duidelijk.
27-02-2024, 17:52 door Anoniem
Door Anoniem:
Het gaat dan bijvoorbeeld om buffer overflows, waardoor een aanvaller in het ergste gevalle willekeurige code op systemen kan uitvoeren.
SELinux beschermt je tegen bufferoverflows e.d. De grootste problemen zitten denk ik bij de drivers. Wat dat betreft heeft Rust al zijn intrede in Linux gemaakt. Windows weet ik niet. Volgens mij zou het Witte Huis dit OS zo wie zo moeten verbieden voor de overheid en hier in Nederland ook.

U kunt gerust weer terug naar Windows. https://nl.hardware.info/nieuws/84956/microsoft-gaat-windows-11-kernelcode-herschrijven-in-rust-voor-betere-beveiliging-en-prestaties
28-02-2024, 07:43 door Anoniem
Door Anoniem:
Door Anoniem:
Het gaat dan bijvoorbeeld om buffer overflows, waardoor een aanvaller in het ergste gevalle willekeurige code op systemen kan uitvoeren.
SELinux beschermt je tegen bufferoverflows e.d. De grootste problemen zitten denk ik bij de drivers. Wat dat betreft heeft Rust al zijn intrede in Linux gemaakt. Windows weet ik niet. Volgens mij zou het Witte Huis dit OS zo wie zo moeten verbieden voor de overheid en hier in Nederland ook.

U kunt gerust weer terug naar Windows. https://nl.hardware.info/nieuws/84956/microsoft-gaat-windows-11-kernelcode-herschrijven-in-rust-voor-betere-beveiliging-en-prestaties
Wat een goede ontwikkeling. Iets soortgelijks is gaande met Linux:
https://www.zdnet.com/article/rust-in-linux-where-we-are-and-where-were-going-next/
Zodoende is er support voor Rust ingebouwd in de Linux kernel: https://www.kernel.org/doc/html/next/rust/index.html

Er zijn nog wel twee moeilijkheden die je moet onderkennen bij gebruik van Rust.
Hardware is niet altijd 'veilig', dus je ontkomt er niet aan om de borrow checker (die voor geheugenveiligheid zorgt in Rust) op plekken uit te zetten met een unsafe {} blok.
En Rust is geen object georiënteerde taal. Van C porten naar Rust gaat prima. Maar van C++ naar Rust is intensiever omdat je ontwikkelaars de paradigma's van OOP moeten omzetten naar die van Rust. Dat is geen straf de compiler geeft (anders dan C/C++) prachtige foutmeldingen met menselijk leesbare tips over wat er waar fout is en hoe ze het kunnen verbeteren.

Alleen mensen die vastgeroest zitten in C/C++ en daar alles al mee kunnen wat ze willen, leren niet graag een nieuwe taal als Rust waar ze 'opnieuw' moeten beginnen. Maar veiligheidstechnisch zijn memory safe talen een aanwinst voor de gehele IT-sector.
28-02-2024, 10:36 door Anoniem
Rust is ontworpen door een aantal ontwikkelaars met banden met Mozilla. Laten ze dus eerst maar de c++ code in firefox omzetten.
28-02-2024, 10:37 door Anoniem
Door Anoniem:
Door Anoniem:
Het gaat dan bijvoorbeeld om buffer overflows, waardoor een aanvaller in het ergste gevalle willekeurige code op systemen kan uitvoeren.
SELinux beschermt je tegen bufferoverflows e.d. De grootste problemen zitten denk ik bij de drivers. Wat dat betreft heeft Rust al zijn intrede in Linux gemaakt. Windows weet ik niet. Volgens mij zou het Witte Huis dit OS zo wie zo moeten verbieden voor de overheid en hier in Nederland ook.

U kunt gerust weer terug naar Windows. https://nl.hardware.info/nieuws/84956/microsoft-gaat-windows-11-kernelcode-herschrijven-in-rust-voor-betere-beveiliging-en-prestaties

Leuk gevonden "U kunt gerust"
28-02-2024, 16:08 door Anoniem
Door Anoniem: Rust is ontworpen door een aantal ontwikkelaars met banden met Mozilla. Laten ze dus eerst maar de c++ code in firefox omzetten.
Simpele, dat hebben ze al lang gedaan! En Firefox is daarmee niet alleen veiliger, maar ook sneller geworden!

https://blog.mozilla.org/en/products/firefox/firefox-quantum-beta-developer-edition/
https://blog.rust-lang.org/2017/11/14/Fearless-Concurrency-In-Firefox-Quantum.html
28-02-2024, 22:22 door Anoniem
Door Anoniem:
Door Anoniem: Rust is ontworpen door een aantal ontwikkelaars met banden met Mozilla. Laten ze dus eerst maar de c++ code in firefox omzetten.
Simpele, dat hebben ze al lang gedaan! En Firefox is daarmee niet alleen veiliger, maar ook sneller geworden!

https://blog.mozilla.org/en/products/firefox/firefox-quantum-beta-developer-edition/
https://blog.rust-lang.org/2017/11/14/Fearless-Concurrency-In-Firefox-Quantum.html
Wow cool. Dat wist ik niet. Toch maar weer Firefox proberen dan.
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.