Cosa significa “Spostare la sicurezza a sinistra?”

0
174
SWKStock/Shutterstock.com

“Sposta sicurezza a sinistra” si riferisce a un modello di sviluppo del software che considera pienamente la sicurezza fin dall'inizio. Fino a poco tempo fa, la sicurezza tendeva a giungere alla fine del processo sotto forma di un audit di go-live. Ciò impedisce la visibilità della tua posizione di sicurezza generale, consentendo alle minacce di passare inosservate.

Il concetto di spostamento a sinistra è una parte vitale di DevSecOps, l'espansione DevOps che considera la sicurezza un componente di prima classe. Tenta di affrontare la disconnessione tra sviluppatori, team operativi ed esperti di sicurezza, incoraggiando tutte le parti interessate a pensare quotidianamente al quadro più ampio della sicurezza.

Progettare per la sicurezza

Considerare la sicurezza all'inizio rende più probabile che ti ritroverai con un sistema a tenuta stagna. Lasciarlo a un team dedicato alla fine aumenta la probabilità che trascuri problemi sepolti in profondità all'interno dei percorsi del codice.

Spostare la sicurezza a sinistra ne riconosce adeguatamente l'importanza e rende più persone responsabili della sua attuazione. Gli sviluppatori dovrebbero essere consapevoli delle implicazioni generali sulla sicurezza del loro codice, senza fare affidamento sugli audit di un team dedicato. Questo non vuol dire che un team separato sia completamente ridondante: una revisione pre-lancio è comunque una buona idea, ma dovrebbe richiedere meno tempo se la sicurezza è già integrata dall'inizio.

L'approccio modificato aiuta a promuovere una cultura DevOps produttiva. La collaborazione tra i team viene migliorata discutendo in parallelo di sviluppo e sicurezza, invece di muoversi attraverso un rigido flusso lineare.

Pubblicità

Gli sviluppatori devono essere consapevoli dell'app e del contesto di sicurezza a livello di organizzazione in cui opererà il loro codice. Alcune misure di sicurezza, come la crittografia avanzata della password e la verifica della chiave, sono già di fatto predefinite; altri, come la scansione attiva delle vulnerabilità e il controllo pervasivo degli eventi, variano in modo significativo tra le organizzazioni. Potrebbero essere omessi dai nuovi sviluppatori che non hanno familiarità con gli standard di sicurezza del progetto.

Anche gli addetti alla sicurezza devono comprendere la prospettiva del team di sviluppo. L'implementazione delle misure di sicurezza più rigorose può aggiungere complessità al codice, aumentando la tempistica del progetto. Ciò riguarda i team di gestione dei progetti e le parti interessate aziendali, che beneficiano anche di una migliore visibilità sulla posizione di sicurezza dell'app.

Oltre ai componenti software, devi anche considerare il tuo stack di rete e tutti i dispositivi fisici nella tua infrastruttura. I prodotti IoT in particolare possono presentare punti deboli unici che danno agli aggressori un punto d'appoggio nel tuo sistema. Anche le persone che sovrintendono a questi sistemi devono essere informate delle tue linee guida di sicurezza.

Come spostare a sinistra?

Spostare a sinistra non è&#8217 ;t qualcosa che accade durante la notte. Un cambiamento efficace dipende da un cambiamento di mentalità all'interno dell'organizzazione. Potresti passare un pomeriggio a discutere di sicurezza in un discorso a quattro mani, ma a meno che non vengano attuate, testate e ripetute modifiche, non starai meglio di quanto non fossi al mattino.

Prima di tutto, è importante definire i requisiti di sicurezza fondamentali per il tuo sistema. Un insieme chiaramente documentato di basi tecniche, routine procedurali e linee di base di conformità mette tutti sulla stessa pagina, indipendentemente dal fatto che provengano da “dev,” “sec,” o “ops.” Come punto di partenza puoi utilizzare gli standard più diffusi della community come le linee guida OWASP.

Quindi, guarda il tuo processo esistente. Dove si inserisce la sicurezza? Se è il tuo primo tentativo di spostare la sicurezza a sinistra, potresti scoprire che la sicurezza si trova molto a destra. Analizza il tuo processo per identificare dove potrebbe inserirsi la sicurezza. In quali discussioni dovrebbe apparire la sicurezza?

Pubblicità

Vuoi che questo avvenga il prima possibile, ma la posizione esatta varia in base all'organizzazione. In un mondo ideale, la sicurezza verrà presa in considerazione una volta che la funzionalità del progetto sarà stata completamente esaminata, ma prima che sia stata selezionata un'architettura tecnica stabile. Questo ti dà la flessibilità di fare scelte attente alla sicurezza senza preoccuparti di dover ricominciare quando le specifiche saranno decise.

Prima di iniziare lo sviluppo, fornisci a tutti una panoramica del sistema& #8217;s modello di sicurezza. Responsabilità dello sviluppo di vedere implementati gli standard tecnici mentre i team operativi assicurano che gli ambienti di produzione aderiscano alle linee di base concordate.

Aggiunta di strumenti

Durante e dopo lo sviluppo, il codice deve essere verificato, interrogato e scansionato per assicurarsi che funzioni effettivamente come previsto. Hai bisogno di un modo per verificare che il codice e i componenti dell'infrastruttura possiedano le qualità che hai specificato.

Fortunatamente, gli strumenti di sicurezza si stanno muovendo di pari passo con le metodologie che aiuta a facilitare. La scansione automatica delle vulnerabilità consente agli sviluppatori di verificare che il codice sia sicuro senza aumentare il tempo che impiegano a scriverlo. Allo stesso modo, la scansione delle dipendenze di terze parti utilizzate nei progetti aiuta a difendersi dall'ondata crescente di attacchi alla catena di approvvigionamento.

Puoi utilizzare la nuova generazione di strumenti di test fuzz API per condurre scansioni di sicurezza dei tuoi endpoint attivi. Questi possono aiutare a scoprire problemi che si manifestano solo in scenari specifici, migliorando la copertura dei test di sicurezza.

Un altro aspetto degli strumenti riguarda l'esperienza quotidiana degli sviluppatori. L'utilizzo di linter e plug-in nell'editor fornisce un feedback immediato riga per riga, segnalando i problemi nel momento in cui inseriscono il codice. Un'efficace strategia di revisione e unione garantisce che ogni modifica abbia più occhi.

Pubblicità

Automatizza il maggior numero possibile di controlli. Ciò riduce le perdite di tempo e aiuterà a mantenere i membri del team a bordo. L'aggiunta di complessità al processo potrebbe portare alla frustrazione, spingendo infine gli sviluppatori a cercare modi per eludere i controlli di sicurezza.

I vantaggi dello spostamento a sinistra

h2>

Le organizzazioni che si spostano con successo a sinistra traggono vantaggio da un atteggiamento di sicurezza migliorato che è più gestibile nel tempo. Ne risulta una cultura attenta alla sicurezza in cui tutti comprendono i controlli del sistema e il motivo per cui sono presenti.

Spostare la sicurezza a sinistra può anche migliorare la qualità del codice e portare a progetti architetturali più avanzati. Introdurre la sicurezza fin dall'inizio può scoprire strategie alternative che risolvono problemi più ampi rispetto alla sola sicurezza. Promuove anche pratiche di sviluppo moderne incoraggiando l'uso di strumenti automatizzati.

Il modello può anche alleviare le pressioni del giorno di rilascio. Non c'è nessuna folle corsa per verificare le soluzioni prima che vengano pubblicate, poiché saranno state continuamente valutate durante il processo di sviluppo. Trovare i problemi prima tende a renderli più facili e meno costosi da risolvere. Se viene rilevato un problema di sicurezza in fase di sviluppo, può essere risolto in sicurezza senza alcun impatto sui dati dei clienti.

Riepilogo

“Spostamento a sinistra” si riferisce all'elevazione della posizione della sicurezza nel ciclo di vita dello sviluppo del software a una priorità e un riferimento continuo. Sfida la percezione che la sicurezza sia spesso un ripensamento, valutata frettolosamente appena prima del lancio di un nuovo sistema.

Affrontare la sicurezza sin dal primo giorno ti dà maggiore tranquillità, più collaborazione tra i membri del team e prima scoperta di problemi. Non inseguirai problemi di sicurezza a fine giornata, poiché verranno visualizzati durante la pianificazione, lo sviluppo o la revisione del codice. Questo aiuta le versioni a scorrere in modo fluido e sicuro.

Pubblicità

Lo spostamento a sinistra della sicurezza si adatta bene ad altri concetti moderni come le metodologie cloud-native e le procedure DevOps. Tutti ti aiutano a creare software più resiliente in un lasso di tempo più breve senza compromettere l'esperienza degli sviluppatori. Con gli attacchi informatici in aumento, dedicare del tempo a integrare meglio la sicurezza nel processo di sviluppo ti aiuterà a difendere i tuoi dati e i tuoi clienti dalle minacce emergenti.