NSA: Gebruik programmeertalen met geïntegreerde memory security-functies
Het Amerikaanse National Security Agency (NSA) roept softwareontwikkelaars op zo min mogelijk gebruik te maken van programmeertalen die niet beschikken over geïntegreerde functionaliteiten voor veilig memory-beheer. Zij zijn volgens de Amerikaanse veiligheidsdienst goed voor een groot deel van de kwetsbaarheden die aanvallers uitbuiten.
De NSA publiceert de 'Software Memory Safety' Cybersecurity Information Sheet. Het document zet uiteen hoe kwaadwillenden problemen met memory-beheer kunnen gebruiken om toegang te verkrijgen tot gevoelige informatie, ongeautoriseerd code kunnen uitvoeren op systemen en andere negatieve impact kunnen hebben. Zo blijkt uit cijfers van zowel Microsoft als Google dat veiligheidsproblemen met geheugen goed is voor ongeveer 70% van de kwetsbaarheden in hun software. Ook kan slecht memory-beheer leiden tot technische problemen, zoals incorrecte resultaten, teruglopende prestaties van applicaties en softwarematige crashes.
'Al tientallen jaren uitgebuit'
"Problemen met geheugenbeheer worden al tientallen jaren uitgebuit en komen nog steeds veel te vaak voor", stelt Neal Ziring, technisch directeur Cybersecurity bij de NSA. "We moeten consequent geheugenveilige talen en andere beveiligingen gebruiken bij het ontwikkelen van software om deze zwakheden van kwaadwillende cyberactoren te elimineren."
De NSA ziet de grootste risico's in applicaties die zijn geschreven in traditionele programmeertalen als C en C++. Deze bieden ontwikkelaars weliswaar veel vrijheid en flexibiliteit, maar zijn ook foutgevoelig. De NSA adviseert organisaties indien mogelijk programmeertalen te gebruiken die geïntegreerde memory security-functies bevatten. Denk hierbij aan C#, Go, Java, Ruby, Rust en Swift.
De 'Software Memory Safety' Cybersecurity Information Sheet is hier beschikbaar.