Le applicazioni cloud-native sono progettate appositamente per deployment e il funzionamento in un ambiente cloud. Sono costituiti da piccoli microservizi indipendenti, come funzioni serverless e contenitori, e utilizzano servizi forniti dai provider cloud e da partner terzi tramite API, il tutto sfruttando il cloud per stabilità, scalabilità e ripristino automatizzati. La creazione di applicazioni cloud-native consente ai team di sviluppo di concentrarsi sull'implementazione di architetture ottimizzate per la scalabilità del cloud.
Le applicazioni cloud-native hanno una struttura nuova e distinta che influenza il modo in cui gli aggressori si avvicinano a queste applicazioni, modificando il panorama delle minacce. Man mano che gli aggressori cambiano il loro approccio e si spostano verso attacchi di sesta generazione, i professionisti e gli sviluppatori della sicurezza devono adattare di conseguenza il modo in cui difendono le applicazioni cloud-native.
Devono dedicare più tempo e risorse a queste nuove minacce per prevenirle al meglio per la loro organizzazione. Le risorse devono essere allocate strategicamente, ma bisogna prima capire quali sono le minacce più probabili in questo nuovo panorama di minacce.
I servizi di elaborazione nelle applicazioni cloud-native sono progettati per essere effimeri e tendono ad avere una durata di vita breve. Questo è uno dei tanti attributi che rendono l'applicazione cloud nativa intrinsecamente più sicura. Gli aggressori non sono in grado di raggiungere facilmente una presenza a lungo termine nel tuo sistema e devono, quindi, cambiare tattica. Una strategia risultante è l'attacco del Giorno della Marmotta in cui un attaccante crea un attacco molto più breve che ruba, ad esempio, solo alcuni numeri di carta di credito e poi ripete. Gli aggressori sfruttano la scalabilità automatica dell'applicazione nativa del cloud per superarne la natura effimera.
Un altro approccio è l'attacco Upstream , o Poisoning the Well, in cui gli aggressori mirano a ottenere una maggiore persistenza a lungo termine nell'applicazione. Le applicazioni native del cloud tendono a comprendere molti moduli e librerie. Una singola funzione serverless può includere decine di migliaia di righe di codice provenienti da un'ampia gamma di origini diverse dal lavoro degli sviluppatori. Gli utenti malintenzionati lavorano per includere codice dannoso in progetti comuni. Quindi, dopo aver avvelenato il pozzo, il codice dannoso nella tua applicazione cloud può chiamare casa, ricevere istruzioni e provocare il caos.
Fortunatamente, le applicazioni cloud native tendono ad essere più difficili da attaccare. Tuttavia, trattandosi di un nuovo tipo di architettura, presentano nuove sfide per la sicurezza e gli sviluppatori devono agire per mitigare i rischi. Di seguito sono riportate alcune best practice per proteggere l'applicazione cloud-native:
Oltre a garantire che i servizi API Web e applicazione Protection (WAAP) siano avanzati per soddisfare i requisiti di prossima generazione, un'altra best practice di sicurezza nativa del cloud consiste nell'applicare la sicurezza perimetrale anche a livello di funzione. Prestare particolare attenzione alle funzioni attivate da un tipo di origine diverso.
Quando si esegue IAM con la granularità delle funzioni, IAM diventa uno strumento AppSec. Dedica del tempo alla creazione di ruoli minimi adatti per ciascuna delle tue funzioni. Inoltre, assicurati che ciascuna delle tue funzioni venga eseguita con il set di privilegi più piccolo possibile, in modo che il danno da eventuali buchi che scivolano sia minimo.
Se ne parla da diversi anni e non scomparirà presto. È un grosso problema che le aziende devono affrontare e ci vorranno anni per arrivarci, perché si tratta di un cambiamento generazionale nella filosofia".
È importante che i team colmino tempestivamente le lacune, anche se ciò è contrario al normale comportamento del DNA aziendale poiché il cloud nativo richiede un approccio diverso nel modo in cui le organizzazioni gestiscono la sicurezza e lo sviluppo. Questo crea una reale opportunità per i reparti di facilitare questo cambiamento e avere un impatto reale.
Le operazioni devono creare pipeline che consentano agli sviluppatori di lavorare alla velocità del serverless e di distribuire comunque l'applicazione in modo realistico e sicuro.
Questi sono solo alcuni dei tanti aspetti relativi alla sicurezza a cui bisogna pensare quando si migra verso applicazioni native del cloud e microservervices. Ogni giorno vengono progettati nuovi strumenti per ottimizzare questa transizione e creare maggiore visibilità, osservabilità, sicurezza e threat prevention. Per ulteriori informazioni su come affrontare la sicurezza nativa del cloud, fare riferimento alla guida alle soluzioniCloud Security di Check Point Software.