El creador del llenguatge C++ va criticar un informe de la NSA sobre llenguatges de programació segurs

bjarne-stroustrup

Bjarne Stroustrup respon a la recomanació de la NSA i contradiu la classificació de C++

Bjarne Stroustrup, el creador del llenguatge C++, va publicar objeccions a les troballes de l'informe de la NSA, que recomanava que les organitzacions s'allunyessin de l'ús de llenguatges de programació com C i C++, que traslladen la gestió de la memòria al desenvolupador, a favor dels llenguatges com C#, Go, Java, Ruby, Rust i Swift que brinden administració de memòria automàtica o fan comprovacions de seguretat de la memòria en temps de compilació.

Segons Stroustrup, els llenguatges segurs esmentats a l'informe de la NSA no són realment superiors a C++ en aplicacions importants des del punt de vista.

La NSA aconsella a les organitzacions que considerin fer un canvi estratègic dels llenguatges de programació que proporcionar poca o cap protecció de memòria inherent, com C/C++, a un llenguatge segur per a la memòria
quan sigui possible

En particular, les Directrius bàsiques de C++, que s'han desenvolupat en els darrers anys, cobreixen mètodes per a una programació segura i prescriuen l'ús d'eines que garanteixen una feina segura amb tipus i recursos. Tot i això, els desenvolupadors que no requereixen garanties de seguretat tan sòlides poden continuar utilitzant mètodes de desenvolupament més antics.

Stroustrup creu que un bon analitzador estàtic que compleixi amb les Directrius principals de C++ pot proporcionar les garanties de seguretat necessàries per al codi C++ a un cost molt menor que canviar nous llenguatges de programació segurs.

Per exemple, la majoria de les directrius principals ja estan implementades a l'analitzador estàtic i el perfil segur per a la memòria de Microsoft Visual Studio. Algunes de les recomanacions també es tenen en compte a l'analitzador estàtic Clang tidy.

L'informe de la NSA també va ser criticat per centrar-se només en problemes de memòria, deixant sense abordar gaires altres problemes del llenguatge de programació que afecten la seguretat i la confiança.

Malauradament, gran part de l'ús de C++ també està encallat en el distant passat, ignorant les millores, incloses les formes de millorar dràsticament la seguretat. Ara, si consideréssiu qualsevol d'aquests llenguatges «segurs» superiors a C++ per a la gamma d'usos que m'interessen, no consideraria la desaparició de C/C++ com una cosa dolenta, però aquest no és el cas.

Bjarne Stroustrup no està d'acord amb el fet que la publicació de la NSA limita la noció de protegir el programari a protegir la memòria. En realitat, aquest aspecte és un denominador comú de totes les publicacions que aconsellen rebutjar C o C++ a favor del llenguatge Rust per les garanties de seguretat del programari que diverses grans empreses (Microsoft, Amazon, etc.) ho reconeixen.

"No hi ha una definició única de 'seguretat' i podem aconseguir una varietat de tipus de seguretat mitjançant una combinació d'estils de programació, biblioteques de suport i aprofitament de l'anàlisi estàtica", diu. Bjarne Stroustrup suggereix així que allò que es pot obtenir de C++ en termes de seguretat del programari depèn, entre altres coses, del desenvolupador i, en particular, del coneixement de les eines que ofereix el llenguatge, el seu domini del compilador, etc.

Stroustrup veu la seguretat com un concepte més ampli, les diverses facetes del qual es poden aconseguir mitjançant una combinació d'estil de codificació, biblioteques i analitzadors estàtics. Per controlar la inclusió de regles que garanteixin la seguretat de treballar amb tipus i recursos, es proposa utilitzar anotacions al codi i opcions del compilador.

En aplicacions on el rendiment és més important que la seguretat, aquest enfocament permet l'ús selectiu d'eines que garanteixen la seguretat només on cal. Les eines de millora de la seguretat també es poden aplicar parcialment, com ara limitar primer les regles de verificació i inicialització del rang i després adaptar gradualment el codi a requisits més estrictes.

Finalment si estàs interessat a poder conèixer més sobre la publicació del creador de C++, pots consultar els detalls al següent enllaç.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.