Sicurezza informatica

Svuotare la “nebbia del più” nella sicurezza informatica

mm
Aggiungi Unite.AI alle tue fonti preferite su Google

Al RSA Conference di San Francisco questo mese, è stata presentata una vasta gamma di soluzioni nuove e innovative dall’industria della sicurezza informatica. Uno stand dopo l’altro ha affermato di essere lo strumento che salverà la tua organizzazione da attori malintenzionati che rubano i tuoi beni o ti ricattano per milioni di dollari.

Dopo averci pensato a lungo, sono giunto alla conclusione che il nostro settore è perso. Perduto nel brodo di rilevamento e risposta con un’infinità di sciocchezze che affermano che i tuoi problemi scompariranno se aggiungi solo un altro strato. Sommersi in una nebbia di investimenti tecnologici, personale, strumenti e livelli di infrastruttura, le aziende hanno creato un labirinto in cui non possono più vedere il bosco a causa degli alberi quando si tratta di identificare e prevenire gli attori minacciosi. Questi strumenti, destinati a proteggere gli asset digitali, stanno invece causando frustrazione sia per i team di sicurezza che per quelli di sviluppo attraverso carichi di lavoro aumentati e strumenti incompatibili. La “nebbia del più” non funziona. Ma, francamente, non ha mai funzionato.

Gli attacchi informatici iniziano e finiscono nel codice. È così semplice. O hai una falla di sicurezza o una vulnerabilità nel codice, o il codice è stato scritto senza considerare la sicurezza. In ogni caso, ogni attacco o titolo che leggi, proviene dal codice. E sono gli sviluppatori di software che affrontano il problema nella sua interezza. Ma gli sviluppatori non sono formati sulla sicurezza e, francamente, potrebbero non esserlo mai. Quindi implementano vecchi strumenti di ricerca del codice che semplicemente cercano pattern nel codice. E abbiate paura di ciò che chiedete perché, di conseguenza, ricevono un uragano di allarmi, inseguendo falsi positivi e fantasmi per la maggior parte della giornata. In effetti, gli sviluppatori spendono fino a un terzo del loro tempo inseguendo falsi positivi e vulnerabilità. Solo concentrandosi sulla prevenzione le aziende possono realmente iniziare a rafforzare i loro programmi di sicurezza e gettare le basi per una cultura guidata dalla sicurezza.

Trovare e risolvere a livello di codice

Si dice spesso che la prevenzione è meglio della cura, e questo detto si applica particolarmente alla sicurezza informatica. È per questo che, anche con vincoli economici più stretti, le aziende continuano a investire e a inserire sempre più strumenti di sicurezza, creando molteplici barriere all’ingresso per ridurre la probabilità di attacchi informatici di successo. Ma nonostante l’aggiunta di sempre più livelli di sicurezza, gli stessi tipi di attacchi continuano a verificarsi. È arrivato il momento per le organizzazioni di adottare una prospettiva fresca – una in cui ci concentriamo sul problema a livello radice – trovando e risolvendo le vulnerabilità nel codice.

Le applicazioni spesso servono come punto di ingresso principale per i cybercriminali che cercano di sfruttare le debolezze e ottenere l’accesso non autorizzato ai dati sensibili. Alla fine del 2020, è emersa la compromissione di SolarWinds e gli investigatori hanno trovato un processo di compilazione compromesso che ha permesso agli attaccanti di iniettare codice maligno nel software di monitoraggio della rete Orion. Questo attacco ha sottolineato la necessità di proteggere ogni passaggio del processo di compilazione del software. Implementando misure di sicurezza delle applicazioni robuste, o AppSec, le organizzazioni possono mitigare il rischio di violazioni della sicurezza. Per farlo, le aziende devono adottare una mentalità “shift left”, portando metodi preventivi e predittivi allo stadio di sviluppo.

Mentre questo non è un’idea del tutto nuova, presenta alcuni svantaggi. Uno dei principali svantaggi è il tempo di sviluppo e i costi aumentati. Implementare misure di AppSec complete può richiedere risorse e competenze significative, portando a cicli di sviluppo più lunghi e spese più elevate. Inoltre, non tutte le vulnerabilità rappresentano un alto rischio per l’organizzazione. La possibilità di falsi positivi da parte degli strumenti di rilevamento porta anche a frustrazione tra gli sviluppatori. Ciò crea un divario tra il business, gli ingegneri e i team di sicurezza, i cui obiettivi potrebbero non allinearsi. Tuttavia, l’intelligenza artificiale generativa potrebbe essere la soluzione che chiude questo divario una volta per tutte.

Entrare nell’era dell’AI

Sfruttando la natura onnipresente dell’intelligenza artificiale generativa all’interno di AppSec, impareremo finalmente dal passato per prevedere e prevenire futuri attacchi. Ad esempio, puoi addestrare un modello linguistico grande o LLM su tutte le vulnerabilità di codice note, in tutte le loro varianti, per apprendere le caratteristiche essenziali di tutte. Queste vulnerabilità potrebbero includere problemi comuni come buffer overflow, attacchi di iniezione, o convalida di input impropria. Il modello apprenderà anche le differenze sottili per linguaggio, framework e libreria, nonché quali correzioni del codice sono efficaci. Il modello può quindi utilizzare queste conoscenze per scansionare il codice di un’organizzazione e trovare potenziali vulnerabilità che non sono state ancora identificate. Utilizzando il contesto intorno al codice, gli strumenti di scansione possono rilevare meglio le minacce reali. Ciò significa tempi di scansione brevi e meno tempo speso nell’inseguire e correggere falsi positivi, e una maggiore produttività per i team di sviluppo.

Gli strumenti di intelligenza artificiale generativa possono anche offrire correzioni di codice suggerite, automatizzando il processo di generazione di patch, riducendo significativamente il tempo e lo sforzo necessari per correggere le vulnerabilità nei codici sorgente. Addestrando modelli su vasti repository di codici sorgente sicuri e best practice, gli sviluppatori possono sfruttare snippet di codice generati dall’AI che aderiscono agli standard di sicurezza e evitano vulnerabilità comuni. Questo approccio proattivo non solo riduce la probabilità di introdurre falli di sicurezza, ma accelera anche il processo di sviluppo fornendo agli sviluppatori componenti di codice pre-testati e validati.

Questi strumenti possono anche adattarsi a diversi linguaggi di programmazione e stili di codifica, rendendoli strumenti versatili per la sicurezza del codice in vari ambienti. Possono migliorare nel tempo continuando ad addestrarsi con nuovi dati e feedback, portando a una generazione di patch più efficace e affidabile.

L’elemento umano

È essenziale notare che, anche se le correzioni del codice possono essere automatizzate, la supervisione e la convalida umana sono ancora cruciali per garantire la qualità e la correttezza delle patch generate. Mentre gli strumenti avanzati e gli algoritmi svolgono un ruolo significativo nell’identificazione e nella mitigazione delle vulnerabilità di sicurezza, l’esperienza umana, la creatività e l’intuizione rimangono indispensabili per garantire efficacemente la sicurezza delle applicazioni.

Gli sviluppatori sono ultimately responsabili della scrittura di codice sicuro. La loro comprensione delle best practice di sicurezza, degli standard di codifica e delle potenziali vulnerabilità è fondamentale per garantire che le applicazioni siano costruite con la sicurezza in mente fin dall’inizio. Integrando programmi di formazione e sensibilizzazione sulla sicurezza nel processo di sviluppo, le organizzazioni possono dotare gli sviluppatori di strumenti per identificare e affrontare proattivamente le questioni di sicurezza, riducendo la probabilità di introdurre vulnerabilità nel codice sorgente.

Inoltre, una comunicazione efficace e una collaborazione tra diverse parti interessate all’interno di un’organizzazione sono essenziali per il successo di AppSec. Mentre le soluzioni di intelligenza artificiale possono aiutare a “chiudere il divario” tra sviluppo e operazioni di sicurezza, richiede una cultura di collaborazione e responsabilità condivisa per costruire applicazioni più resilienti e sicure.

In un mondo in cui il panorama delle minacce è in costante evoluzione, è facile sentirsi sopraffatti dalla vasta gamma di strumenti e tecnologie disponibili nello spazio della sicurezza informatica. Tuttavia, concentrandosi sulla prevenzione e trovando le vulnerabilità nel codice, le organizzazioni possono ridurre il “grassso” del loro attuale stack di sicurezza, risparmiando un’amount esponenziale di tempo e denaro nel processo. A livello radice, tali soluzioni saranno in grado non solo di trovare vulnerabilità note e di correggere vulnerabilità zero-day, ma anche di prevenire vulnerabilità pre-zero-day prima che si verifichino. Potremmo finalmente stare al passo, se non superare, gli attori minacciosi in evoluzione.

Stuart McClure ha oltre 30 anni di esperienza in tutti gli aspetti della sicurezza informatica, compresi ingegneria, sviluppo di prodotti, marketing, vendite, customer success e leadership esecutiva, tra cui Global CTO per McAfee/Intel, fondazione di Cylance e Foundstone come Fondatore/CEO/Presidente/CTO e creazione delle pratiche di sicurezza informatica per Kaiser Permanente e Ernst & Young. Stuart è l'autore fondatore del libro di hacking di sicurezza informatica #1, Hacking Exposed, che consente ai difensori di comprendere gli strumenti, le tecniche e le procedure degli hacker per prevenire gli attacchi informatici. Stuart ha conseguito il suo B.A. in Psicologia e Filosofia con enfasi in Informatica presso CU Boulder.