De maker van C++ heeft kritiek geuit op het afdwingen van veilige programmeertalen

Bjarne Stroustrup, de maker van de programmeertaal C++, heeft bezwaar aangetekend tegen de conclusies die in het rapport van de NSA zijn gemaakt, waarin organisaties werd aanbevolen om afstand te nemen van programmeertalen zoals C en C++, die het geheugenbeheer aan de ontwikkelaar overlaten, ten gunste van talen zoals C#, Go, Java, Ruby, Rust en Swift, die automatische geheugenbeheer bieden of veilige geheugencontroles tijdens de compilatie uitvoeren.

Volgens Stroustrup overtreffen de in het NSA-rapport genoemde veilige talen C++ in belangrijke toepassingen niet, zoals hij het ziet. In het bijzonder behandelen de in de afgelopen jaren ontwikkelde basisrichtlijnen voor het gebruik van C++ (C++ Core Guidelines) methoden voor veilig programmeren en schrijven ze voor dat middelen worden gebruikt die veilige omgang met types en resources waarborgen. Ontwikkelaars die dergelijke strenge veiligheidsgaranties niet nodig hebben, krijgen de mogelijkheid om oude ontwikkelingsmethoden voort te zetten.

Stroustrup is van mening dat een goede statische analyzer die voldoet aan de aanbevelingen van de C++ Core Guidelines, de noodzakelijke veiligheidsgaranties voor C++-code kan bieden met aanzienlijk lagere kosten dan de overstap naar nieuwe veilige programmeertalen. Bijvoorbeeld, de meeste aanbevelingen van de Core Guidelines zijn al geïmplementeerd in de statische analyzer en het profiel voor veilige omgang met geheugen in Microsoft Visual Studio. Een deel van de aanbevelingen is ook verwerkt in de statische analyzer Clang tidy.

Ook bekritiseert hij de nadruk van het NSA-rapport alleen op geheugenproblemen, terwijl veel andere problemen van programmeertalen die de veiligheid en betrouwbaarheid beïnvloeden, onbenoemd blijven. Stroustrup beschouwt veiligheid als een breder begrip, waarvan verschillende aspecten kunnen worden bereikt door een combinatie van code-stijl, bibliotheken en statische analyzers. Voor het beheren van regels die de veilige omgang met types en resources waarborgen, wordt voorgesteld om annotaties in de code en compileropties te gebruiken.

In applicaties waar prestaties belangrijker zijn dan veiligheid, biedt deze aanpak de mogelijkheid om beveiligingsmiddelen selectief toe te passen, alleen daar waar dat nodig is. Beveiligingsverhogende tools kunnen ook gedeeltelijk worden toegepast, bijvoorbeeld door in eerste instantie te beperken tot regels voor het controleren van bereiken en initialisatie, en vervolgens de code geleidelijk aan te passen voor strengere eisen.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster