De maker van de C++-taal bekritiseerde een NSA-rapport over veilige programmeertalen

bjarne stroustrup

Bjarne Stroustrup reageert op de aanbeveling van de NSA en is in tegenspraak met de C++-classificatie

Bjarne Stroustrup, de maker van de C++-taal, bezwaar heeft gemaakt tegen de bevindingen van het NSA-rapport, waarin werd aanbevolen dat organisaties afstappen van het gebruik van programmeertalen zoals C en C++, die het geheugenbeheer naar de ontwikkelaar verschuiven, ten gunste van talen als C#, Go, Java, Ruby, Rust en Swift die geheugenbeheer automatisch of geheugenveiligheidscontroles uitvoeren tijdens het compileren.

Volgens Stroustrup, de in het NSA-rapport genoemde beveiligde talen zijn niet echt superieur aan C++ in belangrijke toepassingen vanuit uw oogpunt.

De NSA adviseert organisaties om te overwegen een strategische wijziging door te voeren in de programmeertalen die ze gebruiken. bieden weinig of geen inherente geheugenbescherming, zoals C/C++, aan een geheugenveilige taal
wanneer het mogelijk is

In het bijzonder hijDe basisrichtlijnen voor C++, die de afgelopen jaren zijn ontwikkeld, methoden voor veilig programmeren en het gebruik van hulpmiddelen voorschrijven die zorgen voor veilig werken met soorten en middelen. Ontwikkelaars die niet zulke sterke beveiligingsgaranties nodig hebben, kunnen echter oudere ontwikkelmethoden blijven gebruiken.

Stroustrup vindt dat een goede statische analysator die voldoet aan de C++ Core-richtlijnen kan de nodige beveiligingsgaranties bieden voor C++-code tegen veel lagere kosten dan overstappen op nieuwe veilige programmeertalen.

De meeste kernrichtlijnen zijn bijvoorbeeld al geïmplementeerd in de Microsoft Visual Studio Static Analyzer en Memory-Safe Profile. Sommige van de aanbevelingen worden ook in aanmerking genomen in de Clang statische statische analysator.

Het NSA-rapport kreeg ook kritiek omdat het zich alleen op geheugenproblemen richtte., waardoor veel andere programmeertaalproblemen die van invloed zijn op beveiliging en betrouwbaarheid onopgelost blijven.

Helaas is een groot deel van het C++-gebruik ook in het verre verleden blijven hangen, waarbij verbeteringen worden genegeerd, waaronder manieren om de beveiliging drastisch te verbeteren. Als ik nu een van die "veilige" talen zou beschouwen als superieur aan C ++ voor het scala aan toepassingen waarin ik geïnteresseerd ben, zou ik de ondergang van C / C ++ niet als een slechte zaak beschouwen, maar dat is niet het geval .

Bjarne Stroustrup is het er niet mee eens dat de NSA-publicatie het idee van het beschermen van software beperkt tot het beschermen van geheugen. Eigenlijk is dit aspect een gemene deler van alle publicaties die adviseren om C of C++ te dumpen ten gunste van de Rust-taal voor de veiligheidsgaranties van de software die verschillende grote bedrijven (Microsoft, Amazon, enz.) erkennen.

"Er is geen eenduidige definitie van 'beveiliging' en we kunnen verschillende soorten beveiliging bereiken door een combinatie van programmeerstijlen, ondersteuningsbibliotheken en het gebruik van statische analyse", zegt hij. Bjarne Stroustrup suggereert dus dat wat uit C++ kan worden gehaald op het gebied van softwarebeveiliging onder andere afhangt van de ontwikkelaar en in het bijzonder van de kennis van de tools die de taal biedt, zijn beheersing van de compiler, enz.

Stroustrup beschouwt beveiliging als een breder concept, waarvan de verschillende facetten kunnen worden bereikt door een combinatie van coderingsstijl, bibliotheken en statische analysers. Om de opname van regels te controleren die de veiligheid van het werken met typen en bronnen waarborgen, wordt voorgesteld om codeannotaties en compileropties te gebruiken.

In toepassingen waarbij prestaties belangrijker zijn dan beveiliging, maakt deze benadering selectief gebruik van tools mogelijk die alleen beveiliging garanderen waar dat nodig is. Beveiligingsverbeteringstools kunnen ook gedeeltelijk worden toegepast, zoals eerst de regels voor bereikcontrole en initialisatie beperken en vervolgens de code geleidelijk aanpassen aan strengere vereisten.

Tot slot, als u geïnteresseerd bent om meer te weten te komen over de publicatie van de maker van C++, kunt u de details raadplegen in de volgende link.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.