2min

Programmeertalen die niet over geïntegreerde memory security-functies beschikken moeten zo weinig mogelijk worden gebruikt voor het ontwikkelen van applicaties. Dit stelt de Amerikaanse National Security Agency (NSA) in een recent uitgebracht advies.

Volgens de Amerikaanse veiligheidsdienst wordt het memory-beheer van applicaties een steeds grotere aanvalsvector. Cybercriminelen kunnen problemen met het memory-beheer van applicaties misbruiken om toegang te krijgen tot gevoelige informatie en het uitvoeren van niet-geautoriseerde code.

De NSA ziet de grootste risico’s in de onderliggende code van applicaties met traditionele programmeertalen als C en C++. Deze talen zouden ontwikkelaars veel vrijheid en flexibiliteit geven, maar ook foutgevoelig zijn op het gebied van memory-beheer.

Ontwikkelaars zouden bij het programmeren met deze talen checks moeten uitvoeren op memory-referenties. Kleine fouten in dit proces kunnen echter tot op memory gebaseerde kwetsbaarheden leiden die makkelijk te misbruiken zijn.

Overstap naar moderne programmeertalen

Tools voor software-analyse kunnen veel fouten ontdekken en bescherming bieden tegen dergelijke kwetsbaarheden. Desondanks is code zelden waterdicht. Daarom beveelt de NSA ontwikkelaars aan om programmeertalen te gebruiken die geïntegreerde memory security-functies bieden en de meeste risico’s rondom memory-beheer voorkomen en oplossen.

De NSA noemt hiervoor programmeertalen als C#, Go, Java, Ruby, Rust en Swift. Volgens de NSA kunnen ontwikkelaars met deze programmeertalen OS-configuraties makkelijker verstevigen en verdedigingsopties gebruiken als toolanalyses.

De Amerikaanse veiligheidsdienst geeft aan dat het bedrijven wil gaan helpen bij de overstap van traditionele programmeertalen naar modernere talen met ondersteuning voor memory security. Verdere details over de initiatieven zijn op dit moment onbekend.

Tip: Databescherming wordt steeds meer workload-specifiek (en software-defined)