What are Cloud Native Applications?

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.

 

Richiedi una Demo SCARICA L'EBOOK

What are Cloud Native Applications?

Struttura dell'applicazione cloud-native

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.

Tipi di minacce per le applicazioni cloud native

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.

Come proteggere l'applicazione cloud nativa

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:

  1. Applicare la sicurezza perimetrale a livello di funzioneLa frammentazione dell'applicazione in componenti più piccoli che possono essere richiamati, insieme all'uso di trigger basati su eventi provenienti da diverse fonti (come archiviazione, code di messaggi e database) significa che gli aggressori hanno più obiettivi e più attacchi vettori.

    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.

  2. Crea ruoli minimi adatti per ciascuna funzioneÈ necessario stabilire ruoli per le numerose interazioni tra le risorse native del cloud. La possibilità di assegnare un set univoco di autorizzazioni a ciascuna funzione serverless offre un'eccellente opportunità per migliorare ulteriormente AppSec.

    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.

  3. Secure applicazione DipendenzeLe funzioni spesso includono dipendenze, estratte da npm (Node.js), PyPI (Python), Maven (Java) o altri repository pertinenti. La protezione delle dipendenze dell'applicazione richiede l'accesso a un buon database e a strumenti automatizzati, inclusi strumenti di orchestrazione nativi per attivare la sicurezza dell'applicazione durante lo sviluppo. L'esecuzione continua di questi strumenti impedisce l'utilizzo di nuovi pacchetti vulnerabili e viene avvisato di nuovi problemi divulgati.
  4. Fai in modo che la sicurezza sia un problema di tutti

    Crea strette partnership tra sviluppatori, team DevOps e AppSec. Trova l'equilibrio in cui gli sviluppatori non possiedono la sicurezza, ma non sono nemmeno assolti dalla responsabilità, ad esempio la codifica sicura. Mark Collier, COO della OpenStack Foundation, è stato citato in un articolo su Bloomberg affermando che “il passaggio da monolitico/a cascata ad agile/DevOps riguarda più i processi e la psicologia organizzativa che le tecnologie da impiegare.

    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.

 

Proteggi l'applicazione Cloud Native con Check Point

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.

×
  Feedback
Questo sito web utilizza cookies per la sua funzionalità e per scopi di analisi e marketing. Continuando a utilizzare questo sito Web, accetti l'utilizzo dei cookies. Per ulteriori informazioni, leggere la nostra Informativa sui cookie.
OK