Addio a C e C ++ La raccomandazione del governo degli Stati Uniti per linguaggi di programmazione sicuri in memoria

Il governo degli Stati Uniti raccomanda di evitare l'uso di C o C++ nella programmazione degli strumenti per ottenere risultati migliori. Ecco la lista delle alternative raccomandate.

“`html

La NSA ha aggiornato l’elenco dei linguaggi di programmazione sicuri

NSA lista dei linguaggi di programmazione sicuri per la memoria

In un recente rapporto, l’Ufficio della Casa Bianca per il Direttore Nazionale della Sicurezza Informatica (ONCD) ha avanzato una coraggiosa raccomandazione alla comunità della programmazione: smettere di utilizzare C e C++ e iniziare ad utilizzare “linguaggi di programmazione sicuri per la memoria.” 🛡️💻 Questo passo è considerato un passaggio cruciale per salvaguardare le fondamenta del cyberspazio e si allinea con il piano di cybersecurity del Presidente Biden.

Allora, cosa significa esattamente “sicuro per la memoria”? Si riferisce alla difesa contro difetti e vulnerabilità legate all’accesso alla memoria. Esempi di tali problemi includono puntatori appesi e overflow di buffer. Java, con i suoi controlli di runtime per la rilevazione degli errori, rientra nella categoria dei linguaggi sicuri per la memoria. D’altra parte, sia C che C++ supportano l’aritmetica dei puntatori non vincolata senza controllo dei limiti, che li espone a problemi di sicurezza della memoria.

Per aiutare gli sviluppatori ad adottare pratiche sicure per la memoria, l’Agenzia per la Sicurezza Nazionale (NSA) ha compilato un elenco di linguaggi di programmazione raccomandati. Ecco i loro suggerimenti, in ordine sparso:

  • Go
  • Rust
  • C#
  • Swift
  • Java
  • Ruby
  • Python
  • Delphi/Object Pascal
  • Ada

Questi linguaggi hanno funzionalità e caratteristiche che promuovono la sicurezza della memoria, rendendoli meno inclini a vulnerabilità di sicurezza causate da problemi legati alla memoria. Scegliere uno di questi linguaggi all’inizio di un progetto può migliorare significativamente la sicurezza del software risultante.

Secondo un’analisi del 2019 degli ingegneri per la sicurezza di Microsoft, quasi il 70% delle vulnerabilità di sicurezza sono state causate da problemi di sicurezza della memoria. La ricerca di Google nel 2020 sui problemi del browser Chromium ha prodotto una statistica simile. Considerando questi dati, diventa evidente perché l’ONCD sta spingendo per un passaggio ai linguaggi di programmazione sicuri per la memoria.

🔒🏢 Il rapporto ONCD sottolinea l’importanza che le grandi istituzioni e le entità governative giocano un ruolo significativo nella sicurezza informatica. Sostiene che la sicurezza informatica non dovrebbe essere solo responsabilità delle piccole organizzazioni e degli individui. In questa ottica, il rapporto identifica l’uso di C e C++ come linguaggi di programmazione “non sicuri” a causa della loro associazione con vulnerabilità di sicurezza della memoria. Sebbene il rapporto si astenga dal suggerire un linguaggio di sostituzione specifico, sottolinea che esistono “dozzine di linguaggi di programmazione sicuri per la memoria che possono – e dovrebbero – essere utilizzati” al loro posto.

Il rapporto non si ferma alle raccomandazioni sui linguaggi. Chiede anche un miglioramento delle metriche di sicurezza del software. Implementando pratiche di misurazione migliori, i fornitori di tecnologia possono prevedere e affrontare i rischi in modo proattivo, riducendo le possibilità che le vulnerabilità sfuggano alle maglie della rete.

In definitiva, il rapporto dell’ONCD è un appello per l’intera comunità della programmazione a dare priorità alla sicurezza della memoria. Che tu sia uno sviluppatore che lavora su sistemi critici o una piccola startup, adottare passi per integrare linguaggi di programmazione sicuri per la memoria nel tuo processo di sviluppo del software è una parte essenziale per costruire software sicuri per design.


Domande Frequenti

Q: Perché C e C++ sono considerati linguaggi di programmazione “non sicuri”? A: C e C++ consentono l’aritmetica dei puntatori non vincolata, che può causare vulnerabilità di sicurezza della memoria. Questi linguaggi mancano di salvaguardie integrate e controlli contro problemi comuni legati alla memoria, come puntatori appesi e overflow di buffer.

Q: Quali sono i vantaggi dei linguaggi di programmazione sicuri per la memoria? A: I linguaggi di programmazione sicuri per la memoria, come Go, Rust e Java, dispongono di funzionalità e meccanismi che prevengono o mitigano le vulnerabilità legate alla memoria. Offrono controlli integrati e restrizioni per garantire un uso più sicuro della memoria, riducendo la probabilità di difetti di sicurezza.

Q: Passare a linguaggi di programmazione sicuri per la memoria influenzerà i progetti esistenti? A: Cambiare linguaggio di programmazione per progetti esistenti può essere un processo complesso e che richiede tempo. Dipende principalmente da fattori come dimensione del progetto, complessità del codice e competenze del team. Tuttavia, incorporare linguaggi di programmazione sicuri per la memoria sin dall’inizio in nuovi progetti può migliorare significativamente la sicurezza del software.

Q: Ci sono linguaggi di programmazione sicuri per la memoria specificamente raccomandati per diverse applicazioni? A: La scelta del linguaggio di programmazione dipende dai requisiti specifici e dai vincoli di ciascuna applicazione. Mentre linguaggi come Go e Rust sono adatti per la programmazione a livello di sistema, linguaggi come Python e Ruby eccellono nello sviluppo web. Considera le esigenze del tuo progetto e consulta risorse specifiche del linguaggio per prendere una decisione informata.

“““html


🔍 Per ulteriori approfondimenti e informazioni relative ai linguaggi di programmazione sicuri per la memoria e alla cybersecurity, consulta queste preziose risorse:

  1. Python Continua a Regnare Sovrano sul Mercato del Lavoro
  2. I CEO di Meta, TikTok, Snap e Discord si Recano al Congresso per Discutere della Sicurezza Online dei Bambini
  3. Rapporto Tecnico Finale dell’ONCD

📚 Ricordati di rimanere informato e aggiornato sulle ultime tendenze e migliori pratiche nel mondo della programmazione e della cybersecurity!


Deanna Ritchie
Editore Responsabile presso ENBLE

Deanna è un’editor presso ENBLE con oltre 20 anni di esperienza nella gestione e sviluppo dei contenuti. In precedenza, è stata Caporedattore di Startup Grind e Calendar, nonché editor presso Entrepreneur Media. La sua passione per la tecnologia e la sua competenza nel settore la rendono una risorsa preziosa per rimanere al passo con gli ultimi progressi nella tecnologia informatica e nella programmazione.


Hai incontrato delle sfide legate alla sicurezza della memoria nel tuo percorso di programmazione? Condividi le tue esperienze e pensieri nei commenti qui sotto! Cerchiamo insieme di ottenere uno spazio cibernetico più sicuro e protetto! 🚀

Non dimenticare di condividere questo articolo con i tuoi colleghi sviluppatori per diffondere la consapevolezza sull’importanza dei linguaggi di programmazione sicuri per la memoria. Insieme possiamo creare un futuro digitale più sicuro. 🌐💪

“`