Il panorama della programmazione software sta cambiando, e le agenzie governative statunitensi stanno spingendo per un’evoluzione fondamentale nel modo in cui vengono sviluppati i programmi. La Cybersecurity and Infrastructure Security Agency (CISA) e il Federal Bureau of Investigation (FBI) hanno recentemente intensificato i loro sforzi per convincere i produttori di software ad abbandonare linguaggi di programmazione “non sicuri per la memoriaâ€, come C e C++. Questo appello non è sorprendente, considerando che le vulnerabilità legate alla gestione della memoria rappresentano una delle principali minacce per la sicurezza informatica.
L’importanza della sicurezza della memoria
Secondo un rapporto pubblicato da CISA, le vulnerabilità legate alla memoria costituiscono il 70% delle vulnerabilità di sicurezza. Queste problematiche derivano dalla necessità per gli sviluppatori di gestire manualmente l’allocazione e l’uso della memoria. Errori inevitabili possono portare a vulnerabilità di sicurezza come buffer overflow (sovraccarico del buffer) e use after free (uso dopo la liberazione), che possono consentire a malintenzionati di prendere il controllo di software, sistemi e dati.
Il rapporto, intitolato Product Security Bad Practices (Pratiche di Sicurezza dei Prodotti), avverte i produttori di software che sviluppare nuove linee di prodotto utilizzando linguaggi non sicuri per la memoria è rischioso e può compromettere la sicurezza nazionale, economica e della salute pubblica. Pertanto, CISA raccomanda l’adozione di linguaggi di programmazione sicuri per la memoria, come Rust, Java, C#, Go, Python e Swift. Questi linguaggi offrono protezioni integrate contro errori comuni legati alla gestione della memoria, rendendoli più sicuri fin dalle fondamenta.
La sfida della transizione
Nonostante le raccomandazioni, la transizione da C a Rust o ad altri linguaggi sicuri per la memoria non è semplice. La migrazione delle basi di codice esistenti richiede un notevole impegno in termini di tempo e risorse. Come ha osservato Linus Torvalds, creatore del kernel Linux, il dibattito su Rust rispetto a C ha assunto toni quasi religiosi, con molti sviluppatori esperti in C riluttanti ad apprendere un linguaggio completamente diverso.
La difficoltà non risiede solo nella curva di apprendimento; convertire grandi basi di codice esistenti in linguaggi sicuri per la memoria può essere un compito arduo e complesso. Inoltre, i linguaggi sicuri per la memoria possono comportare rallentamenti delle prestazioni rispetto a C e C++, il che rappresenta un deterrente significativo per le aziende che cercano efficienza e velocità nello sviluppo software.
Costi e benefici
Le aziende devono affrontare anche i costi associati alla sostituzione degli strumenti di sviluppo esistenti, dei debugger e dei framework di test necessari per supportare i nuovi linguaggi. Integrare nuovi programmi con codice e librerie esistenti rappresenta un ulteriore ostacolo.
Tuttavia, CISA insiste affinché le aziende elaborino piani dettagliati per la transizione entro il 1° gennaio 2026. L’agenzia sostiene che i benefici a lungo termine in termini di riduzione delle vulnerabilità e miglioramento della sicurezza superano l’investimento iniziale richiesto.
In un contesto aziendale dove le decisioni sono spesso guidate dal profitto a breve termine, investire oggi per risparmiare nel 2027 può sembrare poco allettante. Tuttavia, esperti del settore avvertono che ignorare queste vulnerabilità potrebbe portare a costi ben più elevati in futuro, sia in termini economici che reputazionali.
Il futuro della programmazione
La transizione verso linguaggi sicuri per la memoria è considerata una buona idea da molti esperti nel campo della sicurezza informatica. Tuttavia, ci si aspetta che questo cambiamento avvenga lentamente. Le aziende e gli sviluppatori non hanno ancora motivazioni sufficienti per compiere questo passo decisivo. Seppur necessario, l’adeguamento ai nuovi standard potrebbe richiedere anni; probabilmente non vedremo una diffusione significativa di questi linguaggi prima del prossimo decennio.
In sintesi, mentre le agenzie governative continuano a spingere per una maggiore sicurezza nel software attraverso l’adozione di pratiche più sicure nella programmazione, il cammino verso una maggiore sicurezza informatica è irto di sfide pratiche ed economiche. La strada da percorrere è lunga, ma i risultati potrebbero rivelarsi fondamentali per il futuro della tecnologia e della sicurezza informatica globale.
Fonte: https://www.theregister.com/2024/11/08/the_us_government_wants_developers/
Source: Read More