Sempre più frequentemente, in ogni ambito dell’Information Security, si sente parlare di APT e Advanced Persistent Threat: due termini che richiamano alla mente famosi gruppi hacker e attacchi informatici devastanti condotti su larga scala ai danni di grandi organizzazioni e target mirati.
Indice degli argomenti
Cos’è una APT
L’acronimo APT, Advanced Persistent Threat, rappresenta una minaccia portata avanti da un avversario dotato di notevole expertise tecnico e grandi risorse, in grado di effettuare attacchi su vasta scala, utilizzando molteplici vettori, e per periodi di tempo molto estesi.
La maggior parte delle APT, ma non tutte, sono gestite da gruppi organici a stati sovrani.
Per comprendere meglio cosa sia una APT occorre analizzare nel dettaglio le singole componenti dell’acronimo:
- Advanced: l’avversario dietro la minaccia è avanzato, cioè dotato sia di elevate competenze tecniche sia di cospicue risorse tecnologiche ed economiche. Questo significa che per gli attacchi è in grado utilizzare non solo software pubblicamente disponibili ma anche creati ad hoc, più versatili e complessi da rilevare. Inoltre, per raccogliere informazioni sui propri obiettivi il gruppo potrebbe servirsi di tool estremamente sofisticati, e, potenzialmente, anche appoggiarsi ai servizi di intelligence del paese di provenienza;
- Persistent: l’avversario non è guidato da una mentalità predatoria e opportunistica mirata al raggiungimento di obiettivi immediati. L’approccio è persistente, mantenere l’accesso ai sistemi per il più lungo tempo possibile è un fattore chiave di ogni APT. Maggiore il tempo speso all’interno dell’infrastruttura bersaglio senza venire identificati, maggiori saranno le possibilità di pivoting e movimento laterale, maggiori saranno le informazioni raccolte, il guadagno per l’attaccante e il danno per la vittima;
- Threat: questa è una minaccia organizzata, dotata di scopi, volontà ben precisa e visione strategica. Non è un tool automatico che effettua attacchi a strascico sperando di ottenere qualcosa, uno script kiddie senza meta, o un hacktivist con degli ideali.
La definizione secondo il National Institute of Standards and Technology è disponibile qui per chi volesse approfondire in maniera più dettagliata.
I bersagli delle APT
Una APT richiede ingenti risorse, tecnologie, e tempi molto lunghi, ha quindi costi estremamente elevati.
Questa considerazione è fondamentale per capire quali siano le vittime prescelte per attacchi simili: perché ci sia un ritorno sugli investimenti positivo, i bersagli delle APT devono sempre essere di alto profilo come stati sovrani o grandi imprese.
È importante sottolineare come le piccole e medie imprese non siano però al sicuro da eventuali attacchi ricollegabili a delle APT.
Le PMI spesso fanno parte della supply-chain di grosse imprese, ma non ne condividono gli elevati standard di sicurezza. Questo, agli occhi degli attori dietro le APT, le rende un perfetto punto d’appoggio da cui iniziare l’infiltrazione risalendo la filiera fino ad arrivare al vero obiettivo strategico.
I settori interessati dalle APT sono molteplici: nell’immagine sottostante si può vedere una recente statistica di FireEye con le percentuali delle industrie colpite.
In cima alla lista finanza e commercio, seguite dall’accoglienza, la tecnologia e intrattenimento/media.
Infatti, per quanto riguarda l’area EMEA, il 57% delle vittime colpite in passato da APT è stato nuovamente bersaglio degli stessi gruppi o di altri molto simili per obiettivi e TTP (Tecniche, Tattiche, e Procedure).
Il dato è perfino più alto nelle Americhe, con il 63%, e nell’area APAC, con un incredibile 78% di retargeting.
Il fine ultimo delle APT
La maggioranza dei gruppi che sponsorizzano le APT ha come obiettivo l’ottenimento di informazioni, di proprietà intellettuale, di brevetti, di segreti industriali e/o militari con lo scopo di ottenere un vantaggio competitivo in ambito commerciale o geopolitico.
Alcune APT hanno invece un movente puramente economico-finanziario: basti pensare al gruppo denominato FIN7, che in un periodo dal 2015 al 2018 ha rubato asset finanziari, carte di debito e di credito ed effettuato bonifici non autorizzati arrivando a colpire oltre 130 aziende.
Altre Advanced Persistent Threats, soprattutto quelle mirate alle realtà industriali, mirano al sabotaggio se non alla distruzione di infrastrutture critiche. Un esempio è il recente attacco che, utilizzando il malware Triton, ha rischiato di infliggere irreversibili danni fisici ad alcuni impianti petrolchimici dell’Arabia Saudita.
Ciclo di vita di una APT
Come ci ricorda l’acronimo, stiamo parlando di minacce persistenti che hanno un ciclo di vita estremamente dilatato nel tempo.
Alcuni APT sono noti per essere rimasti attivi per periodi incredibilmente lunghi. Un esempio è il gruppo noto come APT1 (o People’s Liberation Army Unit 61398, tra gli altri alias), che secondo Dell SecureWorks sarebbe dietro l’attacco Shady RAT, durato per più di 5 anni e mirato a diversi stati sovrani, organizzazioni internazionali e sovranazionali.
È fondamentale, quindi, data la lunga attività di queste minacce, comprenderne il ciclo di vita per capire meglio come operino.
Questa comprensione è uno degli aspetti cruciali quando si vuole produrre threat intelligence mirata agli APT.
Diversi studi accademici e aziende leader nell’industria della cyber security hanno fornito una loro rappresentazione di questo ciclo di vita.
Personalmente trovo che quella prodotta da Mandiant sia la più chiara e versatile: la trovate illustrata del diagramma sottostante.
Ricognizione iniziale
Questa fase iniziale consiste nella raccolta di più informazioni possibili da parte del gruppo dietro l’APT sulla vittima.
Questa raccolta può avvenire attraverso l’utilizzo di tool automatizzati di OSINT presenti sul mercato (un esempio tra tutti, il software open source Maltego), strumenti realizzati ad hoc, e social engineering.
Nomi, numeri di telefono, indirizzi e-mail, organigrammi, informazioni riguardanti i sistemi informatici, elenchi fornitori – qualunque informazione raccolta potrebbe rivelarsi utile per poi iniziare l’attacco vero e proprio.
Compromissione iniziale
Questa è la fase in cui l’APT si introduce nel network della vittima.
Uno dei metodi più utilizzati per fare ciò è attraverso lo spear phishing e l’invio di allegati e link contenenti codice malevolo, principalmente via e-mail, ma anche attraverso social network e messaggistica istantanea.
Altri vettori che possono venire utilizzati sono di tipo watering hole. In questo caso, il codice malevolo viene inserito dall’APT in siti che la vittima visita spesso, come ad esempio quelli di fornitori nella sua supply chain. Questi siti sono identificati nella prima fase, quella di raccolta di informazioni.
Alternativamente questa compromissione iniziale può avvenire attraverso l’attacco a web server o simili infrastrutture che si interfacciano con reti pubbliche.
Creazione di un punto d’appoggio
Il network è ormai compromesso e l’obiettivo immediato dell’attaccante non è l’accesso ai dati, ma il potersi garantire l’accesso futuro, permanente, a uno o più computer all’interno del network.
Questo avviene attraverso l’inserimento di backdoor, ad esempio le molto comuni Gh0st RAT e Poison Ivy. Più avanzato il gruppo dietro l’APT, maggiore la probabilità che le backdoor siano complesse, che stabiliscano comunicazioni criptate e non siano commodity pubbliche, bensì soluzioni sviluppate ad hoc.
Privilege escalation
In questa fase l’intruso che ha un accesso limitato al sistema tenterà di ottenere maggiori privilegi per avere accesso a più dati o ad altri sistemi.
Esistono decine di sistemi per ottenere privilegi maggiori, in questa fase il gruppo dietro l’APT si comporta come qualunque intruso o red team.
Tenterà di ottenere un “dump” delle password da un computer, da un server, o da un Domain Controller.
Quindi proverà a “crackare” gli hash delle password o di effettuare un attacco di tipo “pass-the-hash” per effettuare l’autenticazione utilizzando non la password, ma l’hash stesso.
Altri esempi comuni di privilege escalation comprendono l’acquisizione di client VPN, certificati PKI, o altre risorse simili utili ad accedere a dati o sistemi di interesse.
Ricognizione interna
In questa fase l’attaccante tenterà di raccogliere più informazioni possibili sull’ambiente e l’architettura interna al network.
La maggior parte degli attori APT utilizza comandi di sistema per effettuare questo tipo di ricognizione (ad esempio i comandi ‘net’ in ambiente Windows).
I dati maggiormente ricercati sono i documenti oppure i contenuti delle e-mail, per questo file server, e-mail server e domain controllers sono alcuni tra i bersagli più comuni della ricognizione.
Movimento laterale (o pivoting)
Nella maggior parte dei casi i primi sistemi a cui l’intruso ha accesso non contengono le informazioni ricercate e di maggior valore (sempre che la vittima abbia un’architettura di defense in depth ragionevole). Quindi per l’attore APT è necessario cercare accesso ad altri sistemi.
Spesso vengono utilizzate credenziali recuperate con i metodi accennati prima per installare malware su altri computer del network attraverso l’uso ad esempio di PsExec e/o del Task Scheduler (comando ‘at’), sempre per rimanere in ambito Windows.
Mantenimento della presenza
Questa è una fase critica e che definisce il concetto di APT: l’intruso tenterà di assicurarsi un sempre maggiore ed invisibile accesso, dall’esterno del network, ai sistemi presenti nell’infrastruttura compromessa.
Generalmente ciò avviene attraverso l’inserimento di backdoor aggiuntive rispetto a quelle già utilizzate, all’installazione di molteplici famiglie di malware su diversi sistemi. L’obiettivo ultimo è garantire elevatissima, ed invisibile, ridondanza ai propri accessi non autorizzati.
In alcuni casi, specialmente quando gli attori APT prendono possesso di certificati PKI, client VPN, o credenziali valide, questi saranno in grado di mascherarsi da utenti legittimi del network senza dover neanche più ricorrere alle backdoor.
Completamento della missione
La maggior parte degli APT ha come obiettivo il furto di informazioni, quando queste informazioni sono state raccolte, queste vengono compresse prima di venire esfiltrate.
Tipicamente viene utilizzato WinRar, mentre in minor misura ZIP e 7-ZIP per comprimere i documenti.
Gli archivi compressi vengono frequentemente protetti da password prima di essere trasferiti. I trasferimenti avvengono in svariati modi, dall’utilizzo di FTP, a NC e NCAT, alle backdoor preinstallate.
Come affrontare le APT
In quanto minacce avanzate, le APT sono per definizione estremamente complesse da mitigare.
Esistono però delle soluzioni di buon senso che, se implementate correttamente, possono rendere la vita estremamente difficile ai nostri avversari.
Ovviamente la presenza di una robusta security posture, una revisione periodica delle policy, delle procedure, delle linee guida, della compliance agli standard sono prerequisiti imprescindibili e fondamentali per poter poi implementare in modo organico i suggerimenti qui sotto elencati.
Possiamo dividere queste soluzioni nelle quattro macroaree qui sotto elencate.
Questa lista di precauzioni non vuole essere esaustiva né completa, è solo la raccolta delle best practice consigliate dalla maggioranza degli analisti quando si ha a che fare con la mitigazione di APT.
Logging
Auditing e logging sono fondamentali per permettere ai team di incident response e successivamente ai team forensi di lavorare nel migliore dei modi.
Va garantito il logging di:
- attività di logon e logoff, come le operazioni dei ticket di servizio Kerberos;
- eventi di esecuzione dei processi, come ad esempio il logging della riga di comando;
- accessi e modifiche al servizio directory, utile per individuare potenziali DCSync e DCShadow in ambiente AD;
- attività PowerShell come Scriptblock e Module;
- logging delle richieste ed eventi DNS;
- accessi remoti e connessioni VPN;
- load balancers, incluso il capturing degli header XFF;
- accesso e autenticazione a servizi cloud (AWS, Azure, Office 365).
Account Hardening
L’applicazione dei principi di least privilege, separation of duties e need-to-know diventa ancora più importante quando si parla di APT.
Vanno limitati i privilegi degli account degli utenti e degli account di servizio, i privilegi amministrativi non dovrebbero mai essere necessari per effettuare lavori di routine.
Vanno utilizzati i gruppi di sicurezza Utenti protetti per gli account ad altri privilegi, quelli critici e quelli sensibili.
Quando è necessario accesso amministrativo via RDP agli endpoint è consigliato usare sistemi sicuri, come ad esempio le feature di restricted admin.
Implementare ed utilizzare PAW (workstation con accesso con privilegi) isolate.
Active Directory Hardening
Una revisione delle architetture a foresta è fondamentale. Occorre concentrarsi sulla direzione del trust e sui relativi controlli, come ad esempio l’autenticazione selettiva, il SID filtering, e disabilitare la full delegation Kerberos.
Endpoint Hardening
Gli endpoint utente sono quelli che tipicamente vengono compromessi per primi, attraverso essi gli utenti malevoli, nel nostro caso quelli dietro le APT, si insinuano nei network vittima.
Il primo passo è configurare le impostazioni dei criteri di sicurezza per proteggere gli utenti da codice malevolo che potrebbero ricevere via e-mail o come documento. (ad esempio bloccando l’embedding OLE di specifiche estensioni come .py,.iqy,rb.)
Disabilitare protocolli e funzionalità deprecate, come ad esempio SMB v1.0 o PowerShell v2.0, disabilitare l’autenticazione WDigest.
Inoltre, è fondamentale segmentare il network a livello di endpoint, anche attraverso l’uso di host-based firewall, incluso Windows Firewall. Questo servirà a rendere molto più complesso sia il movimento laterale sia la propagazione di eventuali malware.
APT: un mondo in continua evoluzione
Il mondo delle APT è in continua evoluzione, a cadenza quasi mensile vengono scoperti nuovi attori e nuove vittime.
Parlare e diffondere informazioni sulle Advanced Persistent Threats è uno dei migliori modi per combatterle, infatti solo portando il grande pubblico e i decision maker a conoscenza dei rischi ed identificando correttamente le minacce si può pensare di poter prevenire, mitigare e rispondere agli attacchi.