November 25, 2024

PAPERS

A volte la vita ti colpirà alla testa con un mattone

Suggerimenti per ridurre al minimo le vulnerabilità nelle app Web e mobili

Troppe organizzazioni eseguono app Web e mobili a cui sono vulnerabili attacchi mirati. Potrebbero utilizzare librerie e componenti software senza patch, potrebbero accedere a informazioni di identificazione personale (PII) non crittografate o potrebbero semplicemente essere stati sviluppati in modo tale che la sicurezza non sia stata inserita nella pipeline di sviluppo del software.

Secondo Bola Rotibi, direttore di ricerca presso CCS Insight, il motivo le applicazioni web sono così spesso vulnerabili dipende dal modo in cui operano i team di sviluppo. “Ci sono troppi vulnerabilità di sicurezza di base perché i team di sviluppo e, siamo onesti, i loro revisori della sicurezza, si lasciano completamente aperti”, afferma.

Ad esempio, non coprire le tracce nelle posizioni delle cartelle comuni in cui sono conservate le informazioni sensibili è come lasciando la porta aperta agli hacker. “Si disconnette nel posizione di sicurezza tra le diverse squadre presentano lacune che possono essere sfruttate. Per troppe organizzazioni, c’è ancora troppo poca condivisione delle politiche di sicurezza o della lista di controllo delle vulnerabilità comuni su cui i team sono regolarmente scoperti”, afferma Rotibi.

Bisogno di velocità

Se L’ultimo sondaggio di GitLab su 4.500 sviluppatori di software è tutto da seguire, i test sono la ragione principale dei ritardi nel rilascio del nuovo codice. Ma test approfonditi sono essenziali se le organizzazioni vogliono ridurre al minimo il rischio di rilasciare codice non sicuro che potrebbe essere sfruttato da un attore malintenzionato.

Aneddoticamente, gli sviluppatori che hanno preso parte al sondaggio hanno ritenuto di dover “spostare a sinistra” in termini di posizione in materia di sicurezza. In altre parole, gli sviluppatori stanno iniziando a riconoscere la necessità di diventare più esperti di sicurezza e applicare le migliori pratiche di sicurezza alla loro codifica.

Incoraggiare gli sviluppatori a dedicare più tempo a pensare alla sicurezza del software che scrivono non può avvenire isolatamente, soprattutto se le richieste del business richiedono un’elevata cadenza nei rilasci di nuove funzionalità digitali, ma gli atteggiamenti stanno cambiando

Il test delle vulnerabilità nel codice deve essere integrato in tutte le fasi del processo di sviluppo del software. Alcuni esperti consigliano di inviare il codice per i test esterni prima di attivare le nuove funzionalità.

“Se non lo fai [carry out] test di penetrazione esterni, stai andando verso il disastro”, avverte Roy Castleman, amministratore delegato di EC-MSP, una società di supporto IT con sede a Londra per le piccole e medie imprese (PMI).

Incoraggiare gli sviluppatori a dedicare più tempo a pensare alla sicurezza del software che scrivono non può avvenire isolatamente, soprattutto se le richieste dell’azienda richiedono un’elevata cadenza nei rilasci di nuove funzionalità digitali. Ma gli atteggiamenti stanno cambiando.

Priorità aziendali

“Come imprenditori, sappiamo molto poco del funzionamento interno dei nostri sistemi. È importante fidarsi del proprio team e, in questo caso, è più importante verificare. La tua squadra potrebbe essere eccellente marketing e designer, ma la sicurezza è un gioco completamente diverso. Anche quando hai un team di sicurezza che lavora per te, è fondamentale che le cose vengano ricontrollate”, afferma Castleman.

Uno studio dell’analista Forrester rivela che mentre sicurezza delle applicazioni i difetti sono prolifici, la direzione sta almeno riconoscendo il problema. Le organizzazioni hanno iniziato a rendersi conto che la soluzione non risiede solo nei team di sicurezza, ma anche negli sviluppatori, notano gli autori di Forrester’s Sicurezza dello stato dell’applicazione, 2021 rapporto.

La ricerca di Forrester mostra che per il 28% dei responsabili delle decisioni in materia di sicurezza, il miglioramento della sicurezza delle applicazioni è una delle principali priorità tattiche per la sicurezza IT nel prossimo anno: questa è l’iniziativa più citata. Secondo lo studio, il 21% dei responsabili delle decisioni in materia di sicurezza prevede di dare priorità all’integrazione della sicurezza nei processi di sviluppo.

Forrester afferma che strumenti di sicurezza delle applicazioni ben implementati possono ridurre il divario tra sviluppatori e professionisti della sicurezza. Ciò consente agli sviluppatori di affrontare senza problemi i problemi di sicurezza senza lasciare le proprie pipeline di sviluppo. Un esempio di pipeline di sviluppo e distribuzione di software con sicurezza integrata viene utilizzato da Domino’s Pizza per mantenere un’elevata qualità del codice e garantire che la sicurezza IT non ostacoli il ritmo dello sviluppo del software.

Una pipeline per lo sviluppo, la distribuzione e le operazioni sicure del software

Domino’s Pizza adotta un approccio ibrido allo sviluppo del software, il che significa che la sicurezza delle applicazioni collega il codice sviluppato internamente e il software sviluppato esternamente.

Parlando con Computer Weekly prima del virtual di quest’anno Sicurezza informatica Europa evento, Lee Whatford, chief information security officer (CISO) di Domino’s Pizza, ha descritto il processo DevSecOps dell’azienda, che si basa su un modello di sicurezza che fornisce supervisione e visibilità attraverso la pipeline di sviluppo e distribuzione del software, con eventuali problemi risolti durante il test del prodotto.

“Abbiamo sviluppatori di piattaforme interne e una terza parte che si occupa dello sviluppo di applicazioni”, afferma, aggiungendo che se il codice viene sviluppato internamente o dalla società di sviluppo software esterna, gli sviluppatori interni hanno il potere di garantire che il codice prodotto sia sicuro.

L’azienda ha sviluppato un modello di sicurezza che offre supervisione e visibilità. Il modello copre contenitori e il infrastruttura di sicurezzae incorpora governance, competenze e visibilità. Fornendo un livello di visibilità, Whatford afferma che gli sviluppatori sono in grado di migliorare la loro conoscenza e consapevolezza della sicurezza, il che consente loro di codificare in modo più sicuro.

Discutendo della sfida di incorporare una mentalità di sicurezza nel processo di sviluppo del software, afferma: “Nella pipeline di sviluppo del software, il passo più importante è lavorare il più vicino possibile al processo di sviluppo del software. Gli sviluppatori devono essere agili per il business, quindi dobbiamo lavorare al ritmo, pur mantenendo controlli ed equilibri su come eseguono l’infrastruttura e distribuiscono il codice”.

Whatford afferma che questi controlli e contrappesi assicurano che gli sviluppatori non pubblichino accidentalmente codice nel posto sbagliato. Il modello di sicurezza fornisce efficacemente un terreno di gioco in cui sviluppare e distribuire il codice in modo sicuro, senza violare il processo agile di sviluppo e distribuzione del software.

L’automazione è ampiamente utilizzata nella fase di sviluppo del software, per testare le vulnerabilità delle applicazioni e rifiutare automaticamente il codice che non supera determinati criteri di test. Queste scansioni automatiche valutano i rischi per la sicurezza. Ad esempio, il codice in fase di test potrebbe presentare un livello medio di rischio di vulnerabilità. Per Whatford, questo rifiuto automatico aiuta a rafforzare il messaggio di formazione sulla sicurezza. “Significa che il codice dello sviluppatore non può passare attraverso la pipeline di sviluppo software e l’ambiente di produzione”, afferma.

Sul lato dell’infrastruttura IT, la pubblicazione del codice viene automatizzata tramite un’altra pipeline. Ciò garantisce che i team di sviluppo delle applicazioni e dell’infrastruttura possano lavorare efficacemente insieme ai team delle operazioni IT. Tale segregazione dei compiti in termini di controlli di sicurezza è richiesta da Domino’s Pizza per rispettare le with Standard di pagamento con carta PCI DSS.

Whatford afferma che Domino’s Pizza sta maturando il suo modello di sicurezza, aggiungendo processi più dettagliati. L’obiettivo è quello di avere un insieme di regole dal punto di vista delle operazioni che imponga a sicuro per progettazione approccio.

“Se abbiamo visibilità di ciò che sta accadendo e abbiamo una linea di base di ciò che è buono, possiamo individuare rapidamente anomalie e configurazioni errate”, afferma, aggiungendo che ciò consentirà a Domino’s Pizza di dare priorità ai problemi e risolvere rapidamente gravi rischi per la sicurezza. “Quando ci sono un milione di cose da fare, si tratta di governance e gestione del rischio aziendale. Dobbiamo dare la priorità alle correzioni”, aggiunge Whatford.

Domino’s Pizza ha ora iniziato a implementare la risoluzione automatica dei problemi di configurazione IT, sulla base di una base di riferimento minima di configurazioni ad alta priorità.

Cambiare atteggiamento

Per sua stessa natura, quando si codificano manualmente le applicazioni, c’è una maggiore possibilità che il programmatore possa introdurre nuove vulnerabilità. Ma se il sondaggio GitLab può essere considerato una cartina di tornasole degli atteggiamenti degli sviluppatori, gli sviluppatori di software stanno iniziando ad assumersi maggiori responsabilità per la sicurezza.

“Per tutti coloro che si preoccupano di soddisfare le aspettative dei clienti, siano essi all’interno o all’esterno dell’organizzazione, una delle priorità principali dovrebbe essere quella di ridurre i rischi nelle applicazioni web sviluppate”

Bola Rotibi, CCS Insight

Per gli sviluppatori con cui ha parlato GitLab, i metodi comuni utilizzati per migliorare la sicurezza del codice includono revisioni del codice, analisi del codice statico e monitoraggio delle applicazioni live, insieme a scansioni di sicurezza di librerie e contenitori open source e analisi dei rischi nella fase di progettazione del progetto.

Per Whatford di Domino’s Pizza, la codifica sicura inizia con un modello di sicurezza, che gli sviluppatori possono utilizzare insieme ai test automatizzati, per assicurarsi di scrivere codice pulito e sicuro e capire perché la suite di test sta rifiutando il software che inviano. Questo è un processo di apprendimento: man mano che sviluppano applicazioni più sicure, è meno probabile che gli strumenti rifiutino il loro codice.

È questa idea di cercare di ridurre gli errori di codifica di cui gli sviluppatori di software devono prestare attenzione. Rotibi di CCS Insight afferma: “Per tutti coloro che si preoccupano di soddisfare le aspettative dei clienti, sia all’interno che all’esterno dell’organizzazione, una delle priorità principali dovrebbe essere quella di ridurre i rischi nelle applicazioni web sviluppate”.