Connect with us

Svuotare la “nebbia del più” nella sicurezza informatica

Sicurezza informatica

Svuotare la “nebbia del più” nella sicurezza informatica

mm

Alla RSA Conference a San Francisco questo mese, è stata presentata una gamma sconcertante di soluzioni nuove e calde 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 le tue cose o ti ricattano per milioni di dollari.

Dopo molte considerazioni, sono giunto alla conclusione che il nostro settore è perso. Perduto nel brodo di rilevamento e risposta con innumerevoli sciocchezze che affermano che i tuoi problemi scompariranno non appena aggiungi un altro livello. Sommerso in una nebbia di investimenti tecnologici, personale, strumenti e livelli di infrastruttura, le aziende hanno ora formato un labirinto in cui non possono più vedere il bosco per gli alberi quando si tratta di identificare e prevenire gli attori minacciosi. Gli strumenti, destinati a proteggere gli asset digitali, stanno invece causando frustrazione per entrambi i team di sicurezza e 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 un difetto di sicurezza o una vulnerabilità nel codice, o il codice è stato scritto senza tenere presente la sicurezza. In ogni caso, ogni attacco o titolo che leggi, proviene dal codice. E sono gli sviluppatori di software che affrontano il problema pieno. Ma gli sviluppatori non sono addestrati alla sicurezza e, francamente, potrebbero non esserlo mai. Quindi implementano strumenti di ricerca del codice alla vecchia maniera che semplicemente cercano pattern nel codice. E abbiate paura di ciò che chiedete perché, di conseguenza, ricevono un uragano di allarmi, inseguendo falsi bersagli 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 correggere a livello di codice

Si dice spesso che la prevenzione è meglio della cura, e questo adagio è particolarmente vero nella 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 riusciti. 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 correggendo le vulnerabilità nel codice.

Le applicazioni spesso servono come punto di ingresso principale per i cybercriminali che cercano di sfruttare le debolezze e di ottenere l’accesso non autorizzato ai dati sensibili. Alla fine del 2020, è emerso il compromesso di SolarWinds e gli investigatori hanno scoperto 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 costruzione 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.

Sebbene non sia un’idea del tutto nuova, essa presenta alcuni svantaggi. Uno dei principali svantaggi è l’aumento del tempo e dei costi di sviluppo. L’implementazione di 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 alla frustrazione tra gli sviluppatori. Ciò crea un divario tra i team aziendali, di ingegneria e di sicurezza, i cui obiettivi potrebbero non allinearsi. Ma l’intelligenza artificiale generativa potrebbe essere la soluzione che chiude questo divario una volta per tutte.

Entrare nell’era dell’IA

Sfruttando la natura onnipresente dell’IA generativa all’interno di AppSec, impareremo finalmente dal passato per prevedere e prevenire futuri attacchi. Ad esempio, è possibile addestrare un modello di linguaggio 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 non corretta. 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 aumento della 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 notevolmente il tempo e lo sforzo necessari per correggere le vulnerabilità nel codice. Addestrando i modelli su vasti repository di codice sicuro e migliori pratiche, gli sviluppatori possono sfruttare snippet di codice generati dall’IA che aderiscono agli standard di sicurezza e evitano vulnerabilità comuni. Questo approccio proattivo non solo riduce la probabilità di introdurre difetti di sicurezza, ma accelera anche il processo di sviluppo fornendo agli sviluppatori componenti di codice pre-testati e convalidati.

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 poiché continuano ad addestrarsi con nuovi dati e feedback, portando a una generazione di patch più efficace e affidabile.

L’elemento umano

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

Gli sviluppatori sono ultimamente responsabili della scrittura di codice sicuro. La loro comprensione delle migliori pratiche 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 empowerment gli sviluppatori per identificare e affrontare proattivamente le questioni di sicurezza, riducendo la probabilità di introdurre vulnerabilità nel codice.

Inoltre, una comunicazione efficace e una collaborazione tra diverse parti interessate all’interno di un’organizzazione sono essenziali per il successo di AppSec. Sebbene le soluzioni di intelligenza artificiale possano aiutare a “chiudere il divario” tra lo sviluppo e le operazioni di sicurezza, ci vuole 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 essere sopraffatti dal volume di strumenti e tecnologie disponibili nello spazio della sicurezza informatica. Tuttavia, concentrandosi sulla prevenzione e trovando le vulnerabilità nel codice, le organizzazioni possono tagliare il “grasso” del loro stack di sicurezza esistente, risparmiando una quantità esponenziale di tempo e denaro nel processo. A livello radice, tali soluzioni saranno in grado di trovare non solo vulnerabilità note e correggere vulnerabilità zero-day, ma anche 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.