Cloud Computing Forensics, elementi di data security e protection
Nel precedente articolo abbiamo esplorato in dettaglio “Cloud Computing Forensics: peculiarità e indicazioni metodologiche“. Ora ci concentriamo sugli aspetti legati alla sicurezza e alla forensics del cloud computing, affrontando come queste due discipline, pur avendo obiettivi distinti, possano integrarsi per garantire una protezione più efficace delle risorse e dei dati nell’ambiente cloud.
Il cambio di paradigma del cloud computing elimina la dipendenza dai server locali, consente la fruizione delle applicazioni senza soluzione di continuità e offre un’elevata disponibilità di capacità di calcolo e memorizzazione. Inoltre, offre scalabilità, flessibilità ed economicità. Di conseguenza, la sicurezza del cloud riveste un ruolo qualificante.
Principali minacce e punti deboli della sicurezza del cloud computing
Le statistiche sugli incidenti informatici che riguardano il cloud rilevano che le principali minacce riguardano l’abuso di credenziali, il cryptomining, i ransomware, il data exfiltration e gli attacchi DOS, mentre i punti deboli della sicurezza del cloud sono rappresentati da credenziali d’accesso deboli o con privilegi elevati, errori di configurazione, vulnerabilità del software di terze parti.
Le organizzazioni che affidano i loro servizi essenziali al cloud computing devono pretendere un modello che contempli il controllo degli accessi, l’adozione di tecniche di crittografia e il monitoraggio continuo del traffico di rete. Inoltre, devono verificare che sia presente una policy di accesso robusta, una gestione proattiva delle patch, gli audit di sicurezza, la valutazione delle vulnerabilità, un sistema di rilevamento delle intrusioni e gli strumenti SIEM. In sintesi, una strategia di sicurezza del cloud si fonda sulla fiducia, garantisce la protezione dei dati e il rispetto dei requisiti legali e degli standard settoriali.
Sicurezza e protezione dei dati nel cloud: gli elementi chiave per una strategia efficace
I principali elementi per la sicurezza e protezione dei dati nel cloud sono riepilogati di seguito:
- Confidenzialità: l’accesso ai dati è consentito solo agli utenti autorizzati;
- Integrità: i dati devono rimanere integri e nel formato originale;
- Disponibilità: gli utenti autorizzati devono fruire di un accesso affidabile;
- Privacy: i dati privati devono essere protetti dagli accessi non autorizzati;
- Data encryption: garantire la confidenzialità e la privacy tramite la crittografia dei dati;
- Identity and access management (IAM): garantire un accesso sicuro alle risorse cloud attraverso un sistema di gestione dell’autenticazione e delle autorizzazioni;
- Information protection: classificazione e protezione dei dati sensibili;
- Shared responsibility model: identificare il modello di distribuzione della responsabilità tra provider e organizzazione;
- Malicious insiders: mitigare il rischio insider;
- Intentional data remanence: implementare la rimozione sicura dei dati dallo storage;
- Business continuity plan: prevedere strategie di data backup e data recovery;
- Data segregation/multi-tenant services: distribuire più copie di dati su storage diversi;
- Data loss prevention (DLP): implementare politiche contro la perdita o il furto dei dati
- Data protection compliance recommendations: adottare policy per la compliance normativa.
La conduzione di un’indagine digitale deve necessariamente tenere conto di queste proprietà per un duplice motivo: da un lato serve a individuare le criticità o le vulnerabilità di un sistema cloud, dall’altro agevola la ricerca delle evidenze, come vedremo nel seguito.
Cloud computing forensics
Il cloud computing ha visto il progressivo spostamento di servizi, applicazioni e dati su infrastrutture di elaborazione e storage ubicate presso soggetti terzi rispetto ai loro utenti, gestori o proprietari. Ovviamente, anche i sistemi cloud possono essere oggetto di attività illecite, o essere a loro volta utilizzati per compiere attività di tale genere, per cui è necessario saper effettuare l’analisi forense in questi ambienti, determinare le attività eseguite su di essi o mediante essi, le modalità con cui sono state compiute e il soggetto cui sono riconducibili, ovvero comprendere i diversi livelli di responsabilità nei contenziosi di natura contrattualistica.
La specificità dei sistemi cloud, come la distribuzione e la duplicazione di dati e delle componenti applicative, o anche l’elevato livello di virtualizzazione e segmentazione, richiede specifiche metodologie di analisi forense che rendono difficilmente applicabili, se non inadatte, le metodologie sviluppate per l’analisi dei sistemi on-premise. Queste ultime sono infatti basate sul presupposto che sia possibile accedere, senza restrizioni, ai sistemi e ai dati, ipotesi che non valgono nel cloud computing.
La cloud computing forensics si pone l’obiettivo di sviluppare metodologie e strumenti per l’analisi forense dei sistemi cloud: «Cloud Computing forensic science is the application of scientific principles, technological practices and derived and proven methods to process past cloud computing events through identification, collection, preservation, examination and reporting of digital data for the purpose of facilitating the reconstruction of these events».
La letteratura scientifica prevede una sequenza di attività distinte: l’identificazione (identification) delle potenziali fonti di prova digitale, la raccolta (collection) e/o l’acquisizione (acquisition) di tali fonti, la conservazione (preservation), l’analisi (analysis) e, infine, la presentazione (reporting) dei risultati ottenuti.
Ogniuna di queste fasi è ben definita dagli standard ISO/IEC 27037:2012 “Guidelines for identification, collection, acquisition, and preservation of digital evidence” e ISO/IEC 27042:2015 “Guidelines for the analysis and interpretation of digital evidence” (a cui si rimanda per un maggiore approfondimento), ma non indicano le specifiche procedure da adottare per l’attuazione delle varie fasi in un determinato contesto. Pertanto, devono essere definite, tenendo conto delle specificità dei sistemi basati sul cloud computing, affinché sia garantito il rispetto dei requisiti che caratterizzano sia la prova digitale (autenticità e integrità), sia il procedimento e gli strumenti di analisi forense (affidabilità, ripetibilità e giustificabilità dei risultati ottenuti).
Tipicamente un sistema cloud è formato da diversi sottosistemi: i client utilizzati per accedere ai servizi, le risorse virtualizzate che erogano tali servizi, le risorse fisiche utilizzate per la gestione di quelle virtualizzate e la rete che permette l’interconnessione. Mentre per la prima categoria e l’ultima categoria esistono processi consolidati (cd. Computer forensics e Network forensics), per le risorse virtualizzate e gli ambienti che le ospitano occorre sviluppare procedure specifiche. Inoltre, essendo ciascuno di tali sottosistemi diverso dagli altri, richiedono l’applicazione di procedure di analisi ulteriormente personalizzate che potremmo definire “sartoriali”.
Identification nel contesto del cloud computing
Con il termine Identification si intende “the process involving the search for, recognition and documentation of potential digital evidence”, ovvero la ricerca, l’individuazione e la documentazione delle potenziali fonti di prova digitale. Nel contesto del cloud computing consente di individuare le risorse fisiche e virtualizzate, compresi i dati di utilizzo (p.e. i file di log, il controllo degli accessi e le attività degli utenti), potenziali fonti di prova digitale.
L’identificazione richiede:
- la conoscenza dell’ubicazione delle risorse: per poterle localizzare all’interno del eco-sistema cloud e identificare il provider,
- la comprensione delle modalità di accesso e fruizione delle risorse: per poterle interrogare e acquisire da remoto o on-premise,
- il formato e la codifica dei dati: per poterli correttamente decodificare e interpretare ai fini dell’analisi (crittografia);
- inoltre, poiché ogni sottosistema può essere distribuito da un fornitore diverso e con tecnologia diversa, occorre conoscere gli account con privilegi admin, i servizi oggetto di indagine, la tipologia, i servizi di management, monitoring e security abilitati e la mappatura dei provider.
L’identificazione non è di semplice attuazione perché occorre fare i conti con una serie di criticità:
- indeterminazione del posizionamento delle risorse e dei dati. Il principio cardine su cui si basa il cloud computing è la flessibilità, ovvero la possibilità di replicare e migrare i dati e le risorse virtualizzate sulle varie risorse fisiche facenti parte del sistema cloud. Questo principio diventa un problema in fase di identificazione, ma può essere in parte risolto acquisendo preliminarmente:
- i log di sistema per rintracciare le risorse all’interno dell’infrastruttura;
- i tag utilizzati per etichettare i dati e le risorse di un determinato utente;
- i service level agreements per comprendere gli obblighi contrattuali e le eventuali clausole che incidono sulla localizzazione o l’ubicazione geografica.
- decentramento delle risorse e dei dati. Generalmente, le risorse e i dati non sono memorizzati in un’unica risorsa per consentirne un’ottimale disponibilità. Per ricostruire la cronologia delle localizzazioni occorre acquisire i log del framework deputati alla registrazione delle operazioni relative all’utilizzo e alla memorizzazione dei dati.
- inaccessibilità fisica del sistema. Le risorse fisiche sono spesso inaccessibili, pertanto è necessario rivolgersi al provider per accedere alle risorse virtuali. I principali provider si stanno attrezzando per queste necessità, offrono soluzioni per l’estrazione della memoria volatile e per la realizzazione di copie del componente virtuale d’interesse.
- cifratura dei dati. La necessità di mantenere adeguati livelli di riservatezza dei dati in un ambiente multi-tenancy di solito è soddisfatta mediante l’uso di tecniche di cifratura. Le chiavi di cifratura possono essere gestite dal provider, sottoforma di servizio, oppure direttamente dall’utente.
Per superare alcune delle criticità esposte, è opportuno che il forenser proceda a:
- acquisire le credenziali o il token degli account con privilegi admin per accedere all’ambiente cloud dall’esterno;
- identificare i log del servizio d’interesse e dei servizi cloud correlati;
- individuare eventuali client utilizzati per accedere alla gestione dei cloud services;
- chiedere la collaborazione del provider (a meno che non sia parte in causa del contenzioso) per acquisire le informazioni che non sono accessibili dall’esterno;
- documentarsi sulle specifiche dell’ambiente da analizzare per non trovarsi impreparati nelle fasi successive;
- acquisire le tipologie di servizi oggetto di indagine e dei servizi di supporto abilitati (identity and access management, detection and response, network application protection, data protection, compliance and auditing, ecc.);
- identificare le regioni/zone che ospitano le virtual machine o le istanze (repliche);
- leggere il contratto di fornitura tra utente e provider per comprendere l’oggetto del servizio di cloud, la configurazione del servizio e i service-level agreement.
Collection & Acquisition – Tecniche e strumenti per la raccolta e l’acquisizione di prove digitali negli ambienti cloud
Con la voce Collection si intende “the process of gathering items that contain potential digital evidence”, ovvero il sequestro di dispositivi che contengono delle potenziali prove digitali; mentre con il termine Acquisition si intende “the process of creating a copy of data within a defined set”, ovvero la creazione di una copia dei dati che costituiscono delle potenziali prove digitali.
Nel caso specifico, il sequestro è virtuale e potrebbe essere realizzato attraverso la disabilitazione delle utenze admin /user (oppure con il cambio password), l’inibizione dell’accesso agli utenti e il blocco delle VM, delle istanze e dei servizi (a meno che non siano servizi critici), mentre l’acquisizione consente di realizzare una copia delle risorse virtualizzate e dei dati correlati individuati durante la fase di identificazione.
Nei sistemi fisici la copia dei relativi supporti di memoria è realizzata connettendo il dispositivo ad un sistema di acquisizione mediante il quale è creata la copia. Gli ambienti cloud si caratterizzano per l’inaccessibilità fisica delle risorse, la volatilità delle risorse virtualizzate e l’uso di meccanismi di replicazione; pertanto, occorre utilizzare metodologie specifiche.
Per risolvere il problema dell’inaccessibilità è necessario acquisire i dati direttamente dall’infrastruttura del provider e, successivamente, essere trasferiti all’esterno del sistema cloud mediante un canale sicuro. Innanzitutto, occorre tenere presente che la realizzazione di questa modalità di acquisizione potrebbero presentarsi problemi di natura legale (transnazionalità), organizzative (interfacciarsi con il provider), tecnica (utilizzo di tecnologie costose e tempistiche ristrette) e forense (violazione di normative).
A riguardo possono essere utilizzate le seguenti tecniche:
- uso delle interfacce applicative (API): i dati vengono acquisiti tramite software che si interfaccia con il sistema cloud attraverso le API (Application Programming Interface) per ottenere una copia delle risorse virtualizzate o dei dati di interesse (per i servizi di tipo SaaS).
- creazione di una copia della macchina virtuale o del container: questa operazione può essere realizzata direttamente dal forenser, tramite pannello di gestione, oppure delegata all’amministratore del cloud (per gli altri servizi di tipo IaaS, CaaS, PaaS, FaaS).
- utilizzo dei tools di controllo: generalmente i provider offrono strumenti di gestione delle risorse e dei dati accessibili mediante web. Questi tools di controllo consentono di acquisire oltre alla copia della macchina virtuale o del servizio cloud oggetto di indagine, diversi altri dati utili alla digital forensics, per esempio i file di configurazione delle risorse virtuali, i file di log generati dalla piattaforma, i log relativi agli accessi da parte dell’utente, ecc.
- uso dei dati per detection & response: i provider usano tools di monitoring e response per garantire che i loro servizi siano conformi a determinati standard di sicurezza e alle normative vigenti; tali strumenti rappresentano un’ottima fonte di prova e quindi devono essere acquisiti.
- live forensics: le piattaforme di virtualizzazione offrono strumenti per l’analisi delle macchine virtuali in esecuzione. Questi strumenti possono essere utilizzati, insieme ai tradizionali strumenti di live forensics, per estrarre varie informazioni direttamente da una macchina virtuale in esecuzione senza perturbarne lo stato.
- snapshot dello stato: le macchine virtuali consentono di effettuare lo snapshot, ossia il salvataggio dello stato di una macchina in esecuzione. Questi può contenere diverse informazioni utili quali: i processi in esecuzione, il contenuto della memoria, le sessioni di rete aperte, gli utenti collegati alla macchina virtuale.
Come è noto, i servizi di tipo IaaS e PaaS si basano su risorse virtuali e, per definizione, volatili, pertanto, potrebbero essere facilmente rimosse durante l’acquisizione. Una soluzione a questa criticità è l’utilizzo dello snapshotting già indicato. Ciò presuppone che le risorse di interesse siano individuate in anticipo rispetto alla necessità di acquisizione, prima che vengano rimosse.
Inoltre, occorre tenere conto della duplicazione dei dati. I sistemi cloud sfruttano i meccanismi di replicazione dei dati per offrire adeguati livelli di prestazioni e disponibilità di servizio. La presenza di più repliche dello stesso insieme di dati può causare dei problemi durante l’acquisizione, in quanto i meccanismi di sincronizzazione delle repliche richiedono una congrua quantità di tempo per propagare le modifiche a tutte le altre repliche presenti nel sistema. Pertanto, è necessario che la procedura di acquisizione si interfacci con il gestore delle repliche in modo da ottenere la versione più recente dei dati. Inoltre, è necessario impedire che una qualunque replica venga aggiornata durante l’acquisizione tramite dei meccanismi, se presenti, di lock globali.
Infine, occorre considerare l’aspetto della crittografia. In questi casi dobbiamo prevedere anche l’acquisizione dei client da cui si è avuto accesso al cloud, per acquisire le chiavi di decifratura, ovvero chiedere al cloud provider, nel caso ne fosse provvisto.
Spesso quest’attività è delegata agli specialisti del cloud presso il provider che non hanno quella formazione e sensibilità necessaria per raccogliere e conservare meticolosamente le evidenze in conformità agli standard forensi, preservandone l’integrità e l’autenticità per potenziali procedimenti legali; pertanto, è necessario formarli o affiancarli durante la fase di acquisizione.
Di seguito un elenco, non esaustivo, di tools utilizzabili per l’acquisizione dalle piattaforme cloud: Cado, Google Cloud Forensics Utils, CloudTrail (AWS), Azure Security Center, Azure Activity Log (Azure), Cloud Monitoring (GCP), Magnet AXIOM cloud, Cellebrite UFED cloud analyzer, Mandiant CloudLens, AccessData cloud extractor, Oxygen forensic cloud extractor, ecc.
Preservation – Preservare l’integrità delle prove digitali negli ambienti cloud
Con la voce Preservation si intende “the process to maintain and safeguard the integrity and/or original condition of the potential digital evidence”, ovvero la preservazione dell’integrità delle potenziali prove digitali. Dunque, la conservazione di un’acquisizione forense deve garantire l’integrità dei dati, ovvero mantenere le stesse condizioni dell’acquisizione. Lo strumento più utilizzato nella digital forensics a tale scopo è il calcolo dei codici hash crittografici, ma per raggiungere lo stesso obiettivo nel contesto cloud occorre considerare alcune criticità:
- duplicazione: la replica dei dati può creare problemi anche in questa fase nel caso in cui non ci siano meccanismi di lock globale, come visto per l’acquisizione.
- volatilità: la volatilità crea potenziali criticità in quanto impedisce di preservare lo stato dei dati memorizzati su di esse. L’unica soluzione è creare uno snapshot del sistema.
- multi-tenancy: i sistemi cloud si caratterizzano per la condivisione delle risorse tra vari utenti. Questa caratteristica solitamente è compresa nei meccanismi di virtualizzazione, per cui le risorse di ogni utente sono accessibili solo a lui (segregazione), ma non sempre ciò accade, per cui occorre fare attenzione che non vi siano file system o memorie condivise tra più utenti.
Non esiste una soluzione unica a questi problemi, ma è possibile ridurli formando una dettagliata documentazione delle fasi di acquisizione e conservazione e, inoltre, utilizzando meccanismi di firma digitale con marca temporale per cristallizzare il momento dell’esecuzione.
Analysis & Presentation – Analisi e presentazione delle prove digitali negli ambienti cloud
La fase di Analysis consente “the identification and evaluation of items of evidence from a source of potential digital evidence”, ovvero l’individuazione e la valutazione di prove digitali, partendo da una sorgente di potenziali prove digitali. Con il termine Presentation si identifica il processo che “includes describing the actions performed (…) and other aspects of the forensic process”, ovvero che comprende la descrizione delle azioni effettuate, nonché altri aspetti del procedimento seguito nell’analisi forense. In altri termini, è la presentazione dei risultati.
L’analisi delle evidenze digitali deve essere in grado di individuare e valutare le potenziali prove. Un sistema cloud è caratterizzato dalla presenza di diversi sottosistemi che interagiscono tra loro. Questa integrazione può essere complessa perché le risorse di interesse sono distribuite su diversi dispositivi. Inoltre, un provider può avvalersi di servizi erogati da altri, creando una catena di dipendenze che determina la presenza di possibili potenziali prove su più sistemi cloud.
Risulta determinante effettuare l’integrazione delle diverse fonti di prova per realizzare la ricostruzione completa degli eventi. Alcune soluzioni per effettuare adeguatamente tale integrazione si basano sull’uso di aggregatori dei file di log distinti ed aventi formato eterogeneo.
Spesso è necessario redigere la cosiddetta linea temporale (timeline), ovvero la sequenza degli eventi ordinati cronologicamente in base all’istante della loro occorrenza (timestamp) per ricostruire la successione di eventi verificatisi in un sistema cloud. Poiché gli eventi possono essere generati da dispositivi distinti, è necessario inserire nella stessa linea temporale eventi provenienti da dispositivi diversi. Ciò può essere influito negativamente dalla possibile mancata sincronizzazione degli orologi di sistema oppure dalla difficoltà di associare l’evento a una determinata risorsa. Sarebbe opportuno utilizzare sistemi di logging sicuro.
Inoltre, si può ripresentare il problema della cifratura dei dati. In questa fase le ricadute sono ulteriormente onerose a causa dell’impossibilità di decodificare dati e, quindi, una ricostruzione incompleta degli eventi verificatisi sul sistema.
Integrare la cloud computing forensics nella strategia di sicurezza del cloud: sfide e soluzioni per un approccio proattivo e reattivo
L’esposizione delle peculiarità del cloud computing, e delle criticità specifiche di questo ambiente di erogazione dei servizi ICT, ha evidenziato la necessità di scegliere e adottare una metodologia di analisi forense specifica per questi sistemi. Le procedure forensi devono adattarsi ai diversi modelli di erogazione e distribuzione dei servizi, garantendo l’integrità delle evidenze raccolte. La rapida evoluzione degli ambienti cloud richiede un’acquisizione e conservazione tempestiva, per evitare lacune nello svolgimento dell’iter. La solidità della credibilità delle prove si basa sulla loro conservazione sicura.
Dall’analisi emerge chiaramente che vi siano criticità importanti da dover affrontare durante un’indagine digitale. Tra questi, particolare rilievo assumono quelli dovuti alla volatilità delle risorse virtualizzate, quelli determinati dall’inaccessibilità delle risorse fisiche, quelli causati dall’uso di tecniche di cifratura dei dati e, infine, la giurisdizione dei provider. In alcuni casi è fondamentale ottenere il coinvolgimento e il supporto del provider, a meno che non sia una controparte del contenzioso, e sfruttare le tecnologie di detection e response presenti.
Spesso non si distingue l’ambito della Cloud Security da quello della Cloud Forensics. Sono due domini distinti: la cloud security si concentra sulle misure proattive per proteggere i dati e le risorse, tra cui la sicurezza della rete, la crittografia dei dati e il controllo degli accessi, mira a prevenire l’accesso non autorizzato, le violazioni dei dati e le potenziali minacce; la Cloud Forensics, d’altra parte, è un approccio reattivo che indaga e analizza incidenti, violazioni o attività non autorizzate, aiutando le organizzazioni a imparare dalle violazioni e a migliorare il proprio livello di sicurezza.
La sicurezza del cloud e la digital forensics condividono alcune tecniche, ma l’analisi forense aderisce rigorosamente alle linee guida legali per l’ammissibilità in tribunale. In una strategia di sicurezza completa è essenziale integrare l’analisi forense per affrontare efficacemente le minacce alla sicurezza come le violazioni dei dati, gli attacchi DDoS e la cattiva condotta degli insider. Pertanto, è indispensabile individuare delle modalità che incentivino i provider all’adozione di procedure che agevolino la produzione e l’acquisizione di evidenze, superando le resistenze che possono frenarne il coinvolgimento e, contemporaneamente, formare i professionisti della sicurezza cloud alla metodologia forense, per evitare che durante un incidente si perdano delle evidenze importanti.
Infine, va ricordato che la cloud forensics presenta problemi di natura giuridica dovuti all’allocazione di risorse virtuali e dati su risorse fisiche ubicate in diversi paesi che devono essere opportunamente approfonditi in altre sedi, al fine di stimolare la ricerca di soluzioni adeguate.
Questo articolo è stato estratto dal white paper “Cloud Computing Forensics: Peculiarità e Indicazioni Metodologiche” disponibile in maniera libera e gratuita al seguente link: https://www.ictsecuritymagazine.com/pubblicazioni/cloud-computing-forensics-peculiarita-e-indicazioni-metodologiche/
Articolo a cura di Vincenzo Calabrò
È laureato in Ingegneria Informatica ed in Sicurezza Informatica presso le Università di Roma La Sapienza e di Milano. Ha indirizzato la sua formazione nei settori della Cyber Security e Digital Forensics ottenendo i diplomi di perfezionamento in Data Protection e Data Governance; Criminalità Informatica e Investigazioni Digitali e Big Data, Artificial Intelligence.
Ha, altresì, conseguito l’Advanced Cybersecurity Graduate Certificate alla School of Engineering della Stanford University; Professional Certificates in Information Security; Incident Response Process; Digital Forensics e Cybersecurity Engineering and Software Assurance presso il Software Engineering Institute della Carnegie Mellon University.
Dal 1992 è nei ruoli del Ministero dell’Interno ove ricopre lincarico di Funzionario alla Sicurezza CIS. In tale veste contribuisce alla valutazione dei rischi cyber, all’implementazione delle misure di sicurezza e la risoluzione di incidenti informatici. Inoltre, offre consulenza tecnica nel campo della Digital Forensics per l’Autorità giudiziaria, la Polizia giudiziaria e gli Studi legali.
Dal 2017 è Professore a contratto di Tecnologie per la Sicurezza Informatica presso alcune Università ove sviluppa le tematiche di Attack and Defense Strategies quali il penetration testing, la risk analysis, l’information security assessment, l’incident response e la digital forensics. Infine, è Autore di alcuni articoli e saggi sui temi della Sicurezza Informatica e
dell’Informatica Giuridica consultabili su https://www.vincenzocalabro.it