Gli esperti di Palo Alto Networks analizzano le criticità del Shift-Left e offrono consigli su come agire per evitare falle nei sistemi di sicurezza

La “Shift-Left Security” è il concetto secondo cui misure di sicurezza, aree di interesse e implicazioni dovrebbero avvenire “prima”, rispetto a quanto si fa abitualmente. Difatto il termine “Shift-Left” si riferisce al ciclo di vita dello sviluppo del software (SDLC) che descrive le fasi del processo seguito dagli sviluppatori per creare un’applicazione. Spesso il Shift-Left è rappresentato come una linea temporale orizzontale, caratterizzata da momenti concettuali e di codifica che “avviano” il ciclo sul lato sinistro. Quindi, spostare un processo all’inizio significa spostarlo “a sinistra”.

Perché la sicurezza Shift-Left è importante nella cybersecurity?

Con gli attuali sviluppi le nuove architetture delle applicazioni offrono a programmatori e team di prodotto grandissime velocità. Tuttavia hanno anche aumentato le sfide in termini di normativa e controllo. La sicurezza, per tenere il passo con la rapida crescita e l’agilità dei cicli di sviluppo, deve essere sufficientemente flessibile da supportare un’ampia gamma di soluzioni cloud. L’unico denominatore comune di questi nuovi flussi è il codice alla base di tutto, dall’applicazione all’infrastruttura, che è aperto e riutilizzato dagli sviluppatori. Per questo motivo, portare la sicurezza “a sinistra”, nella fase di codifica, significa prevedere la sicurezza sin dall’inizio, riducendo così il rischio di exploit da parte dei cybercriminali e gli impatti su migliaia di applicazioni.

L’importanza di questa definizione

Come molte parole della cybersecurity, numerosi vendor trattano la sicurezza shift-left come “l’unico elemento necessario per essere protetti”, come se fosse una panacea per tutti i problemi. In realtà, questo concetto ostacola l’approccio Zero Trust, poiché presume fiducia implicita nei confronti dello sviluppatore e delle sue capacità di codifica. Inoltre, mancano comprensione e pratiche standard per lo sviluppo delle applicazioni in un moderno reparto DevOps, in particolare per quanto riguarda la catena di fornitura del codice (pacchetti open source e drift) o gli strumenti di integrazione (Git, CI/CD, ecc.) e questo crea dei rischi. Ad esempio, se l’archivio dati di un’azienda è liberamente accessibile su Internet, e ritiene non sia un problema perché le informazioni sono crittografate, dovrà essere consapevole del fatto che i criminali informatici potranno farne una copia e, successivamente, lavorare per decifrarle.

I fattori da considerare quando si adottala sicurezza Shift-Left

Introdurre la Security Shift-Left all’interno di un programma SDLC è una priorità a cui i dirigenti dovrebbero prestare attenzione. La portata pervasiva dei team di sviluppo, che non solo creano applicazioni business-critical, ma ne gestiscono ogni fase, rappresenta un livello di controllo e influenza straordinari. Estendere la sicurezza a tutti i flussi di lavoro dei team di sviluppo è il concetto della sicurezza Shift-Left, ma sarebbe estremamente rischioso abbandonare o screditare le misure di protezione delle fasi successive o “lato destro”. La sicurezza deve essere presente lungo l’intero ciclo di vita, dalla creazione del codice allo staging della distribuzione circostante, fino all’applicazione e all’ambiente che la gestisce.

Domande da porsi per l’adozione di Shift-Left

Ecco alcune domande da porsi per un’adozione della sicurezza Shift-Left di successo:

  • Come inserire tutte le fasi SDLC nel programma di sicurezza, senza creare un enorme sovraccarico di nuovi strumenti da imparare per ogni livello? Come consentire al team di sviluppo di correggere semplici errori di sicurezza senza ritardare o bloccare la loro capacità di rilasciare applicazioni e aggiornamenti critici?
  • È necessario integrarsi negli strumenti e nei flussi di lavoro utilizzati dal team di sviluppo per codificare, aggregare, testare e distribuire. Come raggiungere questo risultato rispondendo alle esigenze sopra elencate?
  • Supponendo che qualcosa venga distribuito in modo non sicuro, come inviare la richiesta di correzione nel flusso di lavoro, includendo automaticamente le modifiche alla codifica?
  • Esistono piattaforme in grado di gestire la sicurezza Shift-Left, di proteggere l’ambiente di runtime e di alimentare operazioni di security, governance e conformità? I flussi di lavoro degli infrastructure architect sono in grado di fornire visibilità, protezione e livelli di auditing per l’intero panorama applicativo?