Attenzione sviluppatori: C e C++ non sono sicuri, dice la Casa Bianca

La Casa Bianca esorta gli sviluppatori a evitare C e C++, preferendo linguaggi "memory-safe".

Avatar di Valerio Porcu

a cura di Valerio Porcu

Senior Editor

La Casa Bianca, attraverso l'Ufficio del Direttore Nazionale per la Sicurezza Informatica (ONCD), consiglia agli sviluppatori di utilizzare linguaggi di programmazione "memory-safe", escludendo C e C++ dal processo. Questa mossa fa parte della strategia di cybersecurity del presidente Biden e mira a garantire la sicurezza delle fondamenta della cyberspace.

Sicuramente risulta come minimo una sorpresa vedere il governo statunitense che dà consigli ai programmatori, per di più mettendo alla gogna due tra i linguaggi più usati al mondo. Sono infatti al nono e al decimo posto della classifica elaborata da Statista; ma la posizione reale è più alta visto che questa lista include HTML come linguaggio di programmazione, quando invece è un linguaggio di MarkUp.

I linguaggi di programmazione "memory-safe", a cui fa riferimento il governo guidato da Joe Biden, offrono una protezione dai bug e dalle vulnerabilità legate all'accesso alla memoria, contrastando problemi come i buffer overflow e i dangling pointers. Java è considerato un linguaggio "memory-safe" grazie ai suoi controlli di rilevamento degli errori durante l'esecuzione, ma C e C++ permettono entrambi puntatori arbitrari con indirizzi di memoria diretti e nessuna verifica dei limiti.

Il report evidenzia che circa il 70% delle vulnerabilità di sicurezza segnalate dagli ingegneri di sicurezza di Microsoft nel 2019 e da Google nel 2020 sono state causate da problemi di "memory safety". Questo ha portato a identificare C e C++ come linguaggi non sicuri in quanto non hanno meccanismi per prevenire quel tipo di problema. 

L'obiettivo del rapporto è trasferire la responsabilità della cybersecurity non solo a individui e piccole imprese, ma anche a organizzazioni più grandi, aziende tecnologiche e infine al governo. In altre parole, anche chi crea i linguaggi di programmazione dovrebbe fare la sua parte. Se questa dottrina dovesse evolversi, potremmo presto assistere a veri e propri divieti su questo o quel linguaggio. 

Immagine di copertina: rmbarricarte