Esplorare l'osservabilità tramite la valutazione della sicurezza
Inoltre, l'osservabilità è essenziale per il monitoraggio e la valutazione della sicurezza, in quanto semplifica il rilevamento e la risposta agli eventi imprevisti di sicurezza. L'osservabilità della sicurezza include il monitoraggio di modelli anomali che indicano potenziali minacce, l'identificazione delle vulnerabilità nel software e l'infrastruttura sottostante e le attività di controllo nell'ambiente monitorato. L'azienda citata nello scenario di esempio è stata soggetta a diversi attacchi alla sicurezza, che si sarebbero potuti impedire o almeno mitigare applicando i principi di osservabilità della sicurezza. In questa unità vengono illustrati alcuni delle modalità più comuni per l’applicazione di tali principi.
Come applicare i principi di osservabilità della sicurezza?
Le tecniche di sicurezza che fanno parte della strategia DevSecOps possono essere raggruppate in due categorie principali, a seconda che si concentrino sulla prevenzione delle violazioni o che facciano parte dell'approccio alla violazione presunta. Le fasi di pianificazione, sviluppo e recapito di DevOps si concentrano principalmente sulla prevenzione delle violazioni utilizzando tecniche quali modelli di minaccia, ciclo di vita dello sviluppo della sicurezza, revisioni dei codici, test di sicurezza per applicazioni statiche (SAST), test di sicurezza per applicazioni dinamiche (DAST) e analisi della composizione software (SCA). Nella fase operativa, è comune combinare la prevenzione delle violazioni e presupporre tecniche di violazione, tra cui esercizi di gioco di guerra, test di penetrazione del sito live, monitoraggio della sicurezza e valutazione della sicurezza.
Gli esercizi di gioco di guerra sono eventi in cui due squadre, denominate rosso e blu, hanno il compito di valutare la sicurezza di un determinato ambiente. La squadra rossa assume il ruolo di attaccante. Tenta di emulare attacchi reali al fine di individuare lacune nella sicurezza e usarli al fine di dimostrarne il potenziale impatto. La squadra blu assume il ruolo di difensore. L'obiettivo è rilevare e rispondere agli attacchi della squadra rossa .
I test live di penetrazione del sito sono eseguiti da professionisti della sicurezza autorizzati che tentano attivamente di sfruttare le vulnerabilità nell'ambiente di destinazione. L'obiettivo è identificare, valutare e correggere tali vulnerabilità prima che siano soggette ad attacchi effettivi.
Il monitoraggio della sicurezza e la valutazione della sicurezza sono componenti integrali dell'osservabilità della sicurezza devOps, contribuendo congiuntamente all'identificazione, all'analisi e alla risposta continua e proattiva a eventi e vulnerabilità correlati alla sicurezza. Il monitoraggio della sicurezza segue in gran parte lo stesso approccio di quello applicabile al monitoraggio delle prestazioni, raccogliendo dati telemetrici in tempo reale, ad esempio metriche, log e tracce per monitorare la sicurezza complessiva dei carichi di lavoro. La valutazione della sicurezza si basa su tali dati telemetrici per valutare la sicurezza dei sistemi informativi, delle applicazioni e dell'infrastruttura aziendali al fine di identificare le vulnerabilità, valutare i rischi e fornire raccomandazioni utili alla loro correzione.
È comune usare a questo scopo una soluzione dedicata che implementa la funzionalità SIEM (Security Information and Event Management), ad esempio Microsoft Sentinel ospitata nel cloud. Microsoft Sentinel combina i dati telemetrici provenienti da un'ampia gamma di database di origine, correlandoli automaticamente e cercando di rintracciare dei modelli attraverso l’utilizzo di intelligenza artificiale e apprendimento automatico.
È inoltre possibile sfruttare le funzionalità integrate nelle piattaforme Microsoft DevOps, ad esempio GitHub o Azure DevOps. In particolare, GitHub offre molti strumenti che implementano il monitoraggio e la valutazione della sicurezza, ad esempio GitHub Advanced Security.
Dependabot analizza automaticamente il software ospitato su repository per individuare eventuali dipendenze esterne, cercando vulnerabilità note nel database consultivo di GitHub. Nel caso in cui tali vulnerabilità vengano rilevate, Dependabot genera automaticamente richieste pull per eseguirne l'aggiornamento a versioni non vulnerabili.
GitHub Advanced Security combina diverse caratteristiche e funzionalità di sicurezza che migliorano i flussi di lavoro di distribuzione del software, inclusi analisi del codice, analisi segreta e verifica delle dipendenze. Ad esempio, l'analisi del codice di sicurezza prende in esame il codice sorgente ospitato nel repository, rilevando vulnerabilità di sicurezza ed errori di programmazione.
Si integra con GitHub Actions, consentendo l'analisi automatica e continua del codice come parte dei flussi di lavoro CI/CD.