El creador de C++ va criticar la imposició de llenguatges de programació segurs

Bjarne Stroustrup, el creador del llenguatge C++, ha publicat objeccions a les conclusions de l'informe de la NSA, que recomanava que les organitzacions s'allunyin dels llenguatges de programació com C i C++, que deixen la gestió de la memòria al desenvolupador, a favor dels llenguatges. ​​com ara C#, Go, Java, Ruby, Rust i Swift, que proporcionen una gestió automàtica de la memòria o realitzen comprovacions de seguretat de memòria en temps de compilació.

Segons Stroustrup, els llenguatges segurs esmentats a l'informe de la NSA no són de fet superiors a C++ en les aplicacions que són importants des del seu punt de vista. En particular, les recomanacions bàsiques per a l'ús de C++ (C++ Core Guidelines), desenvolupades en els darrers anys, cobreixen mètodes de programació segurs i prescriuen l'ús d'eines que garanteixin un treball segur amb tipus i recursos. Això deixa l'opció als desenvolupadors que no requereixen garanties de seguretat tan estrictes de continuar utilitzant mètodes de desenvolupament antics.

Stroustrup creu que un bon analitzador estàtic que segueix les directrius bàsiques de C++ pot proporcionar les garanties necessàries per a la seguretat del codi C++ a un cost significativament menor que la migració a nous llenguatges de programació segurs. Per exemple, la majoria de les directrius bàsiques ja estan implementades a l'analitzador estàtic i al perfil de seguretat de memòria inclòs a Microsoft Visual Studio. També es tenen en compte algunes recomanacions a l'analitzador estàtic ordenat de Clang.

L'informe de la NSA també va ser criticat per centrar-se només en problemes de memòria, deixant de banda molts altres problemes de llenguatge de programació que afecten la seguretat i la fiabilitat. Stroustrup considera la seguretat com un concepte més ampli, les diferents 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 en el codi i les opcions del compilador.

En aplicacions on el rendiment és més important que la seguretat, aquest enfocament permet l'aplicació selectiva de característiques que garanteixen la seguretat només on és necessària. Les eines de seguretat també es poden aplicar de manera fragmentària, com ara començar amb regles de comprovació i d'inicialització de rang, i després adaptant el codi a requisits més estrictes.

Font: opennet.ru

Afegeix comentari