I sistemi di cybersecurity legacy, molti dei quali progettati oltre dieci anni fa, non tengono conto della nuova generazione di capacità degli attaccanti e di vulnerabilità, né della dipendenza dalla configurazione umana, che è il tallone d’Achille di molto software.  

A questa nuova realtà si sta rispondendo con il concetto di sviluppo software chiamato security by default, un complemento necessario ai principi Secure by Design definiti dalla U.S. Cybersecurity & Infrastructure Security Agency (CISA).  

I principi Secure by Design pongono l’accento sulla sicurezza integrata in tutte le fasi di progettazione e sviluppo del software. La security by default garantisce che un prodotto sia intrinsecamente sicuro fin dal primo utilizzo. Non è necessaria alcuna configurazione complessa, perché le funzionalità di sicurezza fondamentali, come logging sicuro e autorizzazione, sono preconfigurate. 

Le minacce si evolvono e accelerano 

Fino a poco tempo fa, la maggior parte dei sistemi aveva un “raggio d’azione” limitato. Protetti dai firewall, erano circoscritti, quindi l’accesso era ristretto a pochi utenti selezionati all’interno di un’organizzazione. Gli attaccanti non disponevano di un campo aperto in cui muoversi alla ricerca di punti deboli. Non potevano automatizzare gli attacchi e l’intero processo di attacco, dall’individuazione di una vulnerabilità alla sua trasformazione in un exploit fino al deployment dell’attacco, richiedeva almeno settimane, e spesso mesi.  

Questo limitava non solo la velocità degli attacchi, ma anche la loro portata. Gli attaccanti dovevano prendere di mira le organizzazioni una alla volta, individuando modi per aggirare controlli specifici. Il tasso complessivo degli attacchi era basso e, anche quando si verificavano, l’impatto era relativamente contenuto a causa del tempo e dell’impegno che gli attaccanti dovevano investire. 

Correlato: 8 best practice per la riduzione della superficie di attacco nelle organizzazioni

Quando parliamo di “un panorama delle minacce informatiche in evoluzione”, siamo quasi di fronte a un eufemismo, perché l’evoluzione, naturale o persino tecnica, non è mai stata così rapida. In pochi anni si è trasformata in una sorta di Thunderdome digitale, un’arena che mette in pericolo chi è poco protetto come mai prima d’ora.  

Questo perché gli attaccanti sono riusciti a sfruttare tre sviluppi chiave: 

  • Gli attaccanti di oggi possono trasformare rapidamente le vulnerabilità in armi, e gli strumenti di intelligenza artificiale lo rendono ancora più semplice. Sono finiti i tempi delle lunghe finestre di divulgazione. Strumenti di scansione automatizzata ed exploit kit facilmente reperibili nel dark web consentono anche agli attaccanti meno tecnici di entrare nel mondo del malware. Gli attacchi zero-day sono una preoccupazione crescente, poiché gli attaccanti diventano più agili nello sfruttare le vulnerabilità prima che esista una patch. 
  • L’adozione del cloud ha creato una superficie di attacco più ampia, poiché l’infrastruttura cloud distribuita rende difficile proteggere e monitorare i dati. Il modello di responsabilità condivisa per la sicurezza tra provider cloud e utenti può generare vulnerabilità se è configurato in modo errato o non pienamente compreso. Inoltre, le applicazioni cloud spesso si basano su API per la comunicazione, che possono introdurre vulnerabilità se non adeguatamente protette. 
  • Le misure di sicurezza tradizionali, come firewall e antivirus, non riescono a tenere il passo. I firewall possono essere aggirati tramite social engineering, mentre gli antivirus faticano a rilevare minacce zero-day completamente nuove. L’approccio alla sicurezza basato sul perimetro è superato nell’era del cloud, in cui i principi Secure by Design devono essere implementati in tutta l’infrastruttura IT. 

Gli attori malevoli sono pronti a sondare i punti deboli o a lanciare attacchi nel momento stesso in cui un prodotto viene attivato. Per questo, quel prodotto deve disporre di solide difese zero-day già operative nell’istante in cui viene acceso e connesso alla rete dell’organizzazione. 

Correlato: I principi Secure by Design sono più importanti che mai

I tre pilastri della security by default 

Una corretta esecuzione della security by default si fonda su tre pilastri fondamentali. 

Sicurezza shift-left 

Shift-left si concentra sull’individuazione precoce delle vulnerabilità nel processo di sviluppo. Gli sviluppatori devono scrivere codice sicuro, evitando le insidie comuni individuate in risorse come OWASP Top 10 (vulnerabilità di sicurezza delle applicazioni web) e CWE Top 25 (debolezze comuni del software).  

Un’analogia è la medicina preventiva, in cui buone pratiche di benessere e vaccinazioni possono proteggere una persona dalle malattie. Concentrandosi fin dall’inizio su pratiche di codifica sicura, gli sviluppatori integrano immunità e resilienza direttamente nel software. 

Applicare configurazioni sicure 

Quando gli esseri umani configurano il loro nuovo software, gli hacker esultano. Per eliminare gli errori di configurazione, i provider software devono applicare configurazioni sicure per impostazione predefinita. Ciò include l’autenticazione a più fattori (MFA) o il single sign-on (SSO), evitando credenziali hard-coded (password o token) o configurazioni predefinite con vulnerabilità già note agli attaccanti. 

L’applicazione di configurazioni sicure garantisce una sicurezza coerente in tutti i deployment, indipendentemente dall’esperienza dell’utente o dalle competenze tecniche. Inoltre semplifica l’esperienza utente, perché non è necessario prendere decisioni di configurazione.  

Proteggere la supply chain del software 

Come nella produzione automobilistica e aerospaziale, lo sviluppo software moderno è diventato una catena di montaggio, che dipende in larga misura da librerie di terze parti e codice open source. Nell’ambito della security by default, gli sviluppatori devono prestare grande attenzione alla sicurezza di questi componenti, affinché non introducano vulnerabilità. 

Correlato: Il Secure by Design Pledge: un impegno per creare un futuro digitale più sicuro

Misurare la security by default 

Oggi un provider può sfruttare strumentazione e telemetria per monitorare le prestazioni delle funzionalità di security by default. Se il prodotto è on-premises, l’abilitazione della telemetria comporterà l’apertura di varchi in un firewall per consentire ai dati di uscire dalla rete dell’utente. Se è nel cloud, è più semplice permettere alla telemetria di tornare al provider.  

In entrambi i casi, si tratta di consenso reciproco: l’utente del software deve abilitare la telemetria predefinita affinché il provider possa osservare il comportamento del software e verificare se i controlli di sicurezza integrati vengono implementati. Fortunatamente, questo significa anche che l’utente non deve intervenire per abilitare le funzionalità di sicurezza. Un provider può farlo da remoto, se dispone del consenso del cliente. 

Anticipare l’evoluzione delle minacce

Anche i professionisti della cybersecurity più preparati e motivati dipendono comunque dai dati e dagli insight di cui dispongono. Ad esempio, gli elenchi tradizionali di vulnerabilità come OWASP Top 10 e CWE Top 25 sono fondamentali per la consapevolezza della sicurezza, ma presentano limiti: 

  • Gli aggiornamenti degli elenchi lasciano comunque una finestra di vulnerabilità tra scoperta e mitigazione. Gli attaccanti sfruttano questo divario prendendo di mira vulnerabilità “anomale” non ancora incluse negli elenchi. 
  • Gli elenchi tradizionali si concentrano sulle vulnerabilità note, lasciando le organizzazioni esposte ai “known unknown”, cioè debolezze con potenziale di sfruttamento ma non ancora identificate. 

 Detto questo, l’AI e il machine learning promettono di rivoluzionare la security by default colmando queste lacune:  

  • Gli algoritmi di machine learning possono analizzare enormi quantità di dati di sicurezza per individuare pattern e prevedere potenziali vulnerabilità, incluse quelle non ancora presenti negli elenchi tradizionali.  
  • Analizzando le tendenze degli exploit e il comportamento del software, il machine learning può individuare le debolezze “known unknown” con una maggiore probabilità di essere sfruttate, anche se sono ancora non documentate.  

Integrare l’AI nell’SDLC 

L’AI e il machine learning possono anche trasformare il modo in cui i principi di security by default vengono incorporati nei cicli di sviluppo software: 

  •  Rilevamento automatizzato delle vulnerabilità: gli strumenti di AI possono analizzare continuamente il codice alla ricerca di vulnerabilità, note e sconosciute, in modo che possano essere affrontate nelle prime fasi di un SDLC. 
  • Modellazione proattiva della sicurezza: analizzando i pattern di attacco, l’AI può prevedere le minacce; ciò consente una modellazione proattiva della sicurezza per creare software con difese integrate contro tali minacce. 
  • Assistenza intelligente agli sviluppatori: l’AI può analizzare il codice e fornire ai team di sviluppo suggerimenti in tempo reale sulle pratiche di codifica sicura.  

Security by default tramite software autoriparante   

Uno degli obiettivi per gli sviluppatori attenti alla security by default è creare software con la capacità innata di autoidentificare proattivamente le vulnerabilità e correggerle. Questo concetto si ispira agli algoritmi genetici utilizzati nella produzione per consentire ai sistemi di auto-ottimizzarsi e migliorare nel tempo. 

Questo trasformerà la “security by default” da un concetto statico a una funzionalità dinamica, automonitorata e autoriparante, integrata nel software enterprise. Le conferirà la capacità di correggere le proprie vulnerabilità, contrastare le minacce e persino segnalare nuovi attacchi ai propri sviluppatori. 

Correlato: Demo pratica: proteggere tutti gli endpoint con contromisure UEM sicure

Passi nella giusta direzione 

Non molto tempo fa, ho scritto della necessità di una “partnership pubblico-privata in cui settore industriale e governo collaborino per risolvere il problema della sicurezza digitale”. La creazione dei principi Secure by Design e gli sforzi della CISA e dei leader del settore per promuoverli rappresentano un grande passo avanti nella costruzione di una difesa collaborativa contro le minacce informatiche, tanto urgente quanto necessaria. 

Spetta comunque ai singoli provider software e sviluppatori mettere in pratica queste misure. Seguire le pratiche di security by default svolge un ruolo essenziale nello sviluppo e nella distribuzione di software più sicuro e nel conquistare una posizione di vantaggio nella battaglia della cybersecurity.