La cyber kill chain e il penetration testing sono due concetti chiave nel campo della sicurezza informatica, fondamentali per comprendere e affrontare le minacce cibernetiche in modo efficace.
Cos’è la cyber kill chain
Il concetto di cyber kill chain è stato pubblicato per la prima volta dalla Lockheed Martin, principale industria americana del settore Difesa, nel white paper: “Intelligence-Driven Computer Network Defense Informed by Analysis of Adversary Campaigns and Intrusion Kill Chains”, di Eric M. Hutchins, Michael J. Cloppert e Rohan M. Amin.
La cyber kill chain è un modello di attacco cyber che serve ad agevolare i difensori nello sviluppo di tecniche di mitigazione dei rischi al fine di ostacolare efficacemente un ipotetico intruder nel suo lavoro. Il modello ha anche lo scopo di agevolare la “prioritizzazione” degli investimenti nelle nuove tecnologie.
La cyber kill chain è adattamento all’ambito cyber di un concetto militare e ha uno scopo prevalentemente difensivo.
Cos’è il penetration testing
Il penetration testing invece è una pratica metodica in cui esperti di sicurezza, noti come penetration tester (o pen-tester), simulano attacchi informatici contro i sistemi di un’organizzazione per identificare vulnerabilità prima che possano essere sfruttate da malintenzionati. Utilizzando strumenti e tecniche simili a quelli degli attaccanti reali, i penetration tester eseguono test approfonditi per valutare la sicurezza di un sistema e fornire raccomandazioni per migliorare la postura di sicurezza complessiva attraverso la stesura di dettagliati report. In sintesi, mentre la Cyber Kill Chain fornisce un modello strutturato delle fasi di un attacco informatico, il Penetration Testing rappresenta un approccio pratico che simula un attacco informatico per identificare eventuali vulnerbilità e punti di debolezza presenti nelle infrastrutture ICT di una organizzazione.
Nei prossimi paragrafi, si illustreranno le caratteristiche peculiari sia della Cyber Kill Chain che dei Penetration testing al fine di identificare similarità e punti di contatto.
L’analisi della cyber kill chain
L’analisi della cyber kill chain permette di capire come un avversario per raggiungere il suo obiettivo debba riuscire a progredire attraverso tutta la catena, mettendo bene in evidenza quali azioni di mitigazione siano efficaci per interrompere la cyber kill chain stessa. Nella figura riportata qui di seguito vengono illustrate le fasi della cyber kill chain che sono poi descritte in dettaglio.
Reconnaissance (Perlustrazione)
Nella prima fase, nota come Reconnaissance, l’attaccante raccoglie informazioni sul proprio obiettivo attraverso tecniche che possono essere suddivise in due tipi: ricognizione passiva e ricognizione attiva.
La ricognizione passiva consiste nel raccogliere informazioni senza interagire direttamente con i sistemi dell’obiettivo. Ciò potrebbe includere:
- Monitoraggio delle informazioni disponibili pubblicamente: gli attaccanti potrebbero esaminare piattaforme di social media, siti web aziendali, forum online e altre fonti per raccogliere dettagli sull’obiettivo, come nomi dei dipendenti, titoli di lavoro, struttura organizzativa, tecnologie in uso ed eventi imminenti.
- Intelligence open-source (OSINT): gli attaccanti sfruttano fonti di dati disponibili pubblicamente come motori di ricerca, database WHOIS e registri pubblici per raccogliere informazioni sull’infrastruttura dell’obiettivo, la topologia della rete, le registrazioni dei domini e altro ancora.
- Sniffing di rete: gli attaccanti possono monitorare passivamente il traffico di rete per analizzarne la struttura, identificare vulnerabilità e raccogliere informazioni sui dispositivi e servizi connessi.
Nella ricognizione attiva, dove il rischio di essere scoperti o comunque di allarmare i sistemi di intrusione è molto alta, vi è una interazione diretta con i sistemi o le reti obiettivo.
Tale raccolta di informazioni include:
- Scansione delle porte: gli attaccanti utilizzano strumenti specializzati per scansionare la rete dell’obiettivo alla ricerca di porte aperte, che possono fornire informazioni sui servizi in esecuzione sulla rete e potenziali punti di ingresso per l’exploit.
- Scansione delle vulnerabilità: gli attaccanti eseguono una scansione dei sistemi dell’obiettivo per individuare vulnerabilità note che possono essere sfruttate per ottenere accesso non autorizzato.
- Ingegneria sociale: gli attaccanti manipolano individui all’interno dell’organizzazione target per estrarre informazioni sensibili. Ciò potrebbe comportare email di phishing, chiamate telefoniche mendaci o infiltrazioni fisiche.
Weaponization (Armamento)
Questa fase comporta la creazione e la preparazione dell’effettivo strumento o payload dannoso che verrà utilizzato nell’attacco. Gli attaccanti identificano vulnerabilità nel software, nei sistemi operativi, nelle applicazioni o nei protocolli di rete. Queste vulnerabilità vengono quindi sfruttate per lo sviluppo di exploit, che consentono di eseguire codice arbitrario e ottenere accesso non autorizzato, per iniettare malware, adattato a specifici obiettivi e all’ambiente di destinazione.
Una volta sviluppati gli exploit o il malware, gli attaccanti costruiscono il payload, ovvero l’involucro con il pezzo di codice maligno al suo interno. Vengono inoltre usate tecniche per oscurare o crittografare il payload al fine di sfuggire alla rilevazione da parte dei meccanismi di sicurezza come software antivirus e sistemi di rilevamento delle intrusioni.
Delivery (Consegna)
La fase di “Delivery” si riferisce allo stadio in cui gli attaccanti consegnano il payload al sistema bersaglio. Questa fase è cruciale poiché segna il punto di ingresso iniziale nell’ambiente del bersaglio. Vengono utilizzati vari metodi per consegnare il payload tra cui; allegati email, link dannosi, siti web compromessi, supporti rimovibili (come le chiavette USB).
In particolare:
- Allegati email: le email di phishing sono un metodo molto diffuso per consegnare malware. Gli aggressori inviano email contenenti allegati mascherati da documenti legittimi, come PDF o documenti di Word, che contengono macro dannose o malware incorporati.
- Link dannosi: gli aggressori possono anche utilizzare email o piattaforme di messaggistica per distribuire link a siti web dannosi. Questi siti web potrebbero ospitare malware o pagine di phishing progettate per ingannare gli utenti e ottenere informazioni sensibili.
- Social engineering: gli aggressori spesso si affidano a tattiche di ingegneria sociale per ingannare gli utenti a scaricare ed eseguire file compromessi. Possono impersonare entità fidate, creare urgenza o offrire incentivi allettanti per persuadere le vittime a compiere azioni che facilitano la consegna del payload.
- Download drive-by: in un attacco di download drive-by, il malware viene scaricato e installato automaticamente sul sistema di un utente quando visita un sito web compromesso o dannoso. Questo tipo di attacco sfrutta spesso vulnerabilità nei browser web o nei plugin del browser.
- Accesso fisico: in alcuni casi, gli aggressori possono consegnare fisicamente il payload piazzando chiavette USB o altri dispositivi di archiviazione infetti in luoghi target. Gli utenti ignari rischiano quindi di collegare questi dispositivi ai loro sistemi, introducendo malware senza saperlo.
Exploitation (sfruttamento)
La fase di Exploitation nella cyber kill chain è dove gli aggressori sfruttano le vulnerabilità scoperte durante le fasi precedenti per ottenere un accesso non autorizzato al sistema bersaglio. Questa fase è critica poiché consente agli aggressori di portare a termine i loro obiettivi. In questa fase vi sono l’esecuzione degli Exploit, l’elevazione di privilegi, la persistenza, il movimento laterale e l’esfiltrazione o manipolazione dei dati. Nell’esecuzione degli Exploit viene sfruttata la vulnerabilità identificata in precedenza consentendo così all’attaccante di bypassare i controlli di sicurezza per poi poter dare inizio alla fase di Privilege Escalation, nella quale, dopo aver ottenuto l’accesso iniziale, si cerca di ottenere livelli di accesso più elevati all’interno del sistema o della rete. Gli attaccanti mirano poi a mantenere l’accesso al sistema compromesso più a lungo possibile. Possono stabilire backdoor, creare account utente o installare malware persistente per garantire un accesso continuo anche se il punto di ingresso iniziale viene scoperto e mitigato.
Nel caso in cui, dopo aver avuto l’accesso ad un sistema, gli attaccanti riescono anche ad avere/effettuare l’accesso su altri sistemi nella stessa rete si ha quella che viene chiamato Lateral Movement. Con l’accesso ai sistemi bersaglio, gli aggressori possono esfiltrare dati sensibili, manipolare file o compiere altre attività dannose, a seconda dei loro obiettivi. L’esfiltrazione dei dati comporta il furto di informazioni preziose, mentre la manipolazione dei dati può comportare l’alterazione o l’eliminazione di dati per fini di sabotaggio o estorsione.
Installation (installazione)
Dopo aver consegnato il malware, si passa alla fase di installazione, durante la quale il codice dannoso si inserisce nei sistemi target, sfruttando spesso vulnerabilità software o ingegneria sociale per ottenere l’esecuzione.
Questo processo avviene in modo silenzioso e furtivo, permettendo al malware di stabilirsi all’interno dell’ambiente senza attirare l’attenzione degli utenti o dei sistemi di sicurezza. Una volta completata l’installazione, il malware è pronto a essere attivato e a eseguire le istruzioni degli aggressori.
Command & Control (C2 o C&C, Comando e Controllo)
La fase di Command & Control (C2) permette di mantenere una comunicazione e un controllo costanti tra i sistemi compromessi e gli attaccanti. Gli aggressori stabiliscono canali di comunicazione segreti, trasmettono comandi remoti per eseguire azioni dannose, esfiltrano dati sensibili ai server e mantengono l’accesso remoto ai sistemi compromessi per il monitoraggio e la manipolazione. Utilizzando tecniche di elusione e aggiornando le infrastrutture, cercano di eludere la rilevazione e la mitigazione che richiede monitoraggio costante, contromisure avanzate e risposta rapida agli incidenti per isolare le infrastrutture degli aggressori andando a risultare in questo modo, un processo costoso.
Actions on Objectives (azioni sugli obiettivi)
In questa fase gli aggressori mirano a conseguire il loro obiettivo finale, che rappresenta il culmine delle loro attività di attacco. Questo obiettivo può essere molto diversificato e dipende dalle motivazioni degli aggressori. Ad esempio, potrebbero cercare di rubare dati sensibili, danneggiare l’operatività dell’organizzazione, estorcere denaro o altre risorse, o persino diffondere disinformazione. In questa fase, gli aggressori lavorano per massimizzare il successo del loro attacco, utilizzando tutte le risorse a loro disposizione per ottenere il massimo vantaggio possibile o causare il massimo danno all’organizzazione bersaglio.
Ogni fase può essere a sua volta suddivisa in diversi step, più o meno numerosi.
Naturalmente il modello sviluppato dalla Lockheed Martin per scopi difensivi può e viene impiegato anche per scopi offensivi, soprattutto in relazione alle prime fasi di reconnaissance e weaponization.
Naturalmente esistono tante varianti della cyber kill chain, sviluppate da diverse società, ma l’obiettivo è sempre lo stesso ovvero aiutare a capire il modus operandi dell’attaccante allo scopo di capire come sconfiggerlo o, più in generale, come moderare i rischi.
I metodi di contrasto alle varie fasi della kill chain
Essendo il modello di cyber kill chain sviluppato dalla Lockheed Martin un modello in ottica difensiva, vengono anche definite le cosiddette linee di azione (“courses of action”), ovvero i metodi di contrasto alle varie fasi della kill chain che l’organizzaizone deve implementare.
Queste sono:
- Detect (individuare): adottare strumenti che permettono di individuare l’attaccante;
- Deny (negare): impedire che un evento avverso avvenga nuovamente;
- Disrupt (interruzione): interrompere il traffico instaurato dall’aggressore;
- Degrade (declassare): rallentare le azioni dell’attaccante, ridurne i privilegi e/o gli effetti;
- Deceive (ingannare): depistare l’attacco offrendo all’attacante informazioni ad hoc facilmente attaccabili per distoglierlo dal reale obiettivo;
- Destroy (distruggere): passare al contrattacco.
Le fasi del Penetration Testing
Il Penetration Testing, come detto in precedenza, è una pratica metodica nel campo della cybersecurity in cui esperti di sicurezza, noti come penetration tester, simulano attacchi informatici contro i sistemi di un’azienda per identificare e correggere vulnerabilità prima che possano essere sfruttate da malintenzionati. Questa attività è svolta con il consenso dell’organizzazione interessata e mira a valutare la resistenza di un sistema o di una rete alle intrusioni e agli accessi non autorizzati. Solitamente le persone a conoscenza dell’attacco simulato sono poche, questo al fine di rendere la simulazione il più realistica possibile ed evitare che vi possa essere una preparazione anche solo temporanea per il periodo di pen-testing. Attraverso simulazioni controllate, i penetration tester cercano di individuare punti deboli nei sistemi, nelle applicazioni o nelle infrastrutture di rete che potrebbero essere utilizzati per compromettere la sicurezza dell’organizzazione.
Di seguito vi è una breve descrizione delle fasi del pen-testing:
Ricognizione
In questa fase vi è la raccolta di informazioni sulle infrastrutture, le applicazioni e le configurazioni di rete dell’organizzazione al fine di identificare potenziali punti di ingresso per gli attaccanti.
Tale raccolta può avvenire in maniera passiva dove le informazioni sono spesso ottenute da fonti pubbliche grazie alla open-source intelligence (OSINT), ovvero attingendo alla documentazione pubblica, articoli, notizie, social media del target e account github dei dipendenti, o in maniera attiva dove le informazioni sono raccolte direttamente dai sistemi oggetto del pen-testing.
Scansione
Durante la fase di scansione, i pen tester applicano le informazioni raccolte nella fase precedente per individuare le vulnerabilità del sistema che possono essere sfruttate. Ad esempio, possono impiegare strumenti come Nmap per esaminare le porte aperte e identificare potenziali punti di ingresso per il malware. Nel caso di un test di social engineering, il team di valutazione potrebbe ideare un’articolata trama o “pretesto” da utilizzare in un attacco di phishing al fine di ottenere le credenziali dei dipendenti.
Durante questo stadio, i pen tester mettono alla prova la capacità delle misure di sicurezza nel reagire agli attacchi. Per esempio, potrebbero inviare del traffico ambiguo al firewall aziendale per valutarne la risposta. Le informazioni acquisite vengono quindi utilizzate per modellare le strategie successive e ridurre al minimo il rischio di rilevamento durante il proseguimento del test.
Exploitation
Il team di test avvia l’effettivo processo di attacco, dove i pen tester possono eseguire una serie di attacchi mirati in base al sistema bersaglio, alle vulnerabilità individuate e allo scopo del test. Alcuni dei tipi di attacchi più comunemente testati includono:
- SQL injection: questo tipo di attacco coinvolge l’inserimento di codice malformato nei campi di input di una pagina web o di un’applicazione al fine di ottenere l’accesso a dati sensibili.
- Cross-site scripting (XSS): qui, i pen tester cercano di inserire codice dannoso nel sito web di un’azienda per sfruttare vulnerabilità.
- Social Engineering: questa tattica coinvolge l’utilizzo di phishing, baiting, pretexting o altre tecniche per indurre i dipendenti a compromettere la sicurezza della rete.
- Attacchi di forza bruta: in questo caso, i pen tester cercano di accedere a un sistema attraverso l’uso di script che generano e testano un gran numeroa di password fino a trovare quella corretta.
- Attacchi MITM (Man In The Middle): qui, i pen tester intercettano il traffico tra due dispositivi o utenti per rubare informazioni sensibili o installare malware.
Mantenimento dell’accesso
Questa fase implica il mantenimento dell’accesso ottenuto durante l’exploitation, consentendo agli esperti di sicurezza di valutare la persistenza degli attaccanti all’interno del sistema. Attraverso questo processo, si cerca di capire quanto tempo un attaccante potrebbe rimanere all’interno del sistema senza essere rilevato e quali azioni potrebbe compiere durante questo periodo. In questa fase, l’obiettivo del pen tester è mantenere l’accesso e aumentare i propri privilegi eludendo le misure di sicurezza. I pen tester fanno tutto questo per imitare le advanced persistend threat, o APT, ossia le minacce avanzate e persistenti, che possono nascondersi in un sistema per settimane, mesi o anni prima di essere rilevate.
Documentazione
Dopo la conclusione dell’attacco simulato, i pen tester procedono con la pulizia di ogni traccia lasciata durante l’operazione, che potrebbe includere la rimozione dei trojan backdoor installati o il ripristino delle configurazioni originali. Questa procedura mira a garantire che eventuali vulnerabilità o exploit utilizzati durante il test non siano sfruttabili da attaccanti reali per compromettere la sicurezza della rete.
Successivamente, i pen tester redigono un report dettagliato sull’attacco, che solitamente include un’analisi delle vulnerabilità scoperte, gli exploit impiegati, le strategie utilizzate per eludere le misure di sicurezza e una documentazione delle azioni eseguite nel sistema. Il report può anche contenere raccomandazioni per la risoluzione delle vulnerabilità individuate. Tali informazioni sono preziose per il team di sicurezza interno, che può utilizzarle per potenziare le difese della rete contro potenziali attacchi reali.
Come si può notare, le fasi del pen testing sono molto simili a quelle della cyber kill chain, almeno per le prime fasi, anche se, per ovvi motivi, il pen tester non porta mai a compimento l’attacco per evitare di provocare danni reali all’organizzazione.
I pen test possono essere eseguite a diversi livelli di profondità, possono essere di vario tipo (es. white box, black box, grey box, threath lead pentesting,..) e hanno costi diversi che possono essere in alcuni casi molto elevati.
Dall’altro canto, però, è sicuramente la metodica che offre i migliori risultati perché di fatto simula un attaccante reale.
Per tale motivo, la decisione su dove effettuare un pentest e la modalità/profondità del test è una scelta risk-based, ovvero un’organizzazione deve valutare i rischi ICT e di Sicurezza presenti sui propri asset ICT e privilegiare l’esecuzione di tali analisi sui quelli per lei più critici.
Conclusioni
Come indicato in precedenza, la cyber kill chain è un modello nato per scopi difensivi, ma nel tempo è diventato di fatto un modello anche per chi intende attaccare le infrastrutture di un’organizzazione. Nel tempo il modello iniziale si è evoluto ed è stato costantemente migliorato.
Il pen testing è una metodica che negli ultimi tempi è diventata molto utilizzata e richiesta. Molte autorità nazionali ed europee stanno iniziando a chiedere, come requisito normativo cogente, di effettuare dei pen test sui sistemi critici di un’organizzazione indicando anche la frequenza con cui devono essere effettuati e, il alcuni casi, anche la tipologie di pen test da effettuare.
Utilizzare il modello della cyber kill chain nei pen test ne aumenta sicuramente l’efficacia e offre anche l’indubbio vantaggio di “standardizzare” in un qualche modo i pen test garantendo in un qualche modo risultati confrontabili tra pen test effettuati da pen-tester diversi sulla stessa infrastruttura.
Quest’ultimo aspetto è molto rilevante per le Autorità nel mondo, nonché per gli enti di standardizzazione, che da anni stanno cercando di emettere degli standard e delle norme per regolarizzare le attività di pen testing visto che, come detto prima, in alcuni settori, quale ad esempio finance, tali attività sono diventate dei requisiti normativi cogenti.