Indicatore di compromesso

Gli IoC svolgono un ruolo cruciale nelle routine operative dei team SOC, in quanto aiutano a rilevare tempestivamente le violazioni della sicurezza, gli accessi non autorizzati o altre attività dannose.
  • Uno studio del Ponemon Institute ha rivelato che le organizzazioni che sfruttano efficacemente gli IoC possono ridurre i tempi di risposta agli incidenti fino al 25%.
  • Una ricerca di Cybersecurity Ventures prevede che la spesa globale per i prodotti e i servizi di cybersecurity supererà cumulativamente i mille miliardi di dollari nei prossimi cinque anni, evidenziando la crescente enfasi sulle capacità avanzate di rilevamento e risposta alle minacce, compreso l'uso degli IoC.

Cosa sono gli indicatori di compromesso (IOC)?

Gli indicatori di compromissione sono essenzialmente le briciole di pane che gli aggressori lasciano dietro di sé e possono includere un'ampia gamma di dati, quali:

  1. URL o nomi di dominio: Indicativi di connessioni a siti phishing o a server di comando e controllo.
  2. Indirizzi IP: Notevole per la segnalazione di comunicazioni con fonti note di malintenzionati.
  3. Nomi di file: Significano alterazioni non autorizzate, potenzialmente da parte di un utente malintenzionato.
  4. Hashes dei file: Unici per pezzi specifici di malware o di software non autorizzato.

Vectra AI aiuta a identificare e analizzare questi IoC, consentendo ai team SOC di rispondere rapidamente alle minacce, mitigando i danni potenziali e rafforzando la postura di sicurezza dell'organizzazione.

Come trovare i CIO (Indicatori di compromesso)

È importante tenere l'orecchio teso e assicurarsi di essere al corrente di ogni nuovo compromesso annunciato. Ma è altrettanto importante essere in grado di agire sui nuovi indicatori di compromesso quando se ne viene a conoscenza. In questa sezione descriveremo i CIO comuni, cosa possono indicare, perché dovrebbero interessarvi e come potete cercare questi CIO nei metadati di rete.

CIO del dominio

Qualsiasi attore esterno deve essere in grado di gestire le violazioni dall'esterno della rete e i domini sono uno strumento chiave per la gestione di questo aspetto. Come abbiamo visto recentemente nell'exploit SUNBURST SolarWinds, le operazioni di Command & Control sono state eseguite attraverso domini del tipo appsync-api. eu-west-1[.]avsvmcloud[.]com. È anche uno strumento comune nei tentativi di phishing utilizzare nomi di dominio che imitano siti popolari per evitare sospetti nel loro obiettivo. Ad esempio, se si tenta di rubare le credenziali dell'account Outlook di qualcuno su phishing , si potrebbe utilizzare un dominio come outlook.com.enteryourpassword.tk per evitare sospetti.

Gli indicatori di compromissione dei domini (IOC) sono un forte segnale di compromissione, poiché questi domini sono stati registrati da un attore malintenzionato e trafficati per questo scopo esplicito. Se si nota una comunicazione verso un dominio IOC, ciò giustifica fortemente un'indagine.

Domini noti non validi

È possibile convertire facilmente un elenco di domini noti e dannosi da qualsiasi fonte in una query Recall . Abbiamo creato un file excel per eseguire questa operazione, che può essere richiesto a un ingegnere della sicurezza, con un elenco di questo tipo:

  • Dominio1[.]com
  • Baddomain2[.]com

Per prima cosa convertiamo questa query in una query Lucene: Resp_domain:(baddomain1.com OR baddomain2.com)

Quindi eseguire questa query sui metadati di iSession Stream

Domini sospettosamente familiari

  1. Create un elenco di domini comuni a cui accedono gli utenti della vostra rete. Ad esempio: facebook, gmail, outlook, la vostra intranet aziendale.  
  2. Cercate questi elementi nell'attività di Vectra Recall iSession. Ad esempio, Resp_domain( corpnet OR facebook OR gmail OR outlook OR office)
  3. Salva questa ricerca
  4. Creare una nuova visualizzazione "Tabella dati" con questa ricerca come fonte e dividere le righe per "Termine" e aggregare per "resp_domain" N.B. Si potrebbe anche dividere la riga per "Termini significativi", che mostrerà termini interessanti e insoliti, per ridurre il rumore. Per saperne di più: https: //www.elastic.co/guide/en/elasticsearch/reference/current/searchaggregations-bucket-significantterms-aggregation.html  
  5. Verrà visualizzato un elenco dei siti più frequentemente visitati che corrispondono alla ricerca effettuata. I domini legittimi dovrebbero apparire per primi. Passare il mouse sugli elementi legittimi e fare clic per escluderli.
  6. Salvate questa visualizzazione

Tutti gli elementi rimasti in questa tabella di dati meritano un'ulteriore indagine e, se sono benigni, devono essere esclusi. All'inizio, potreste avere molte varianti interne del nome di dominio della vostra azienda. Ad esempio, in Vectra AI abbiamo un gran numero di domini interni Vectra AI come dev.vectrai.ai, HR assets in hr.vectra.ai ecc. È necessario eliminare efficacemente questi falsi positivi per ottenere dati validi e utilizzabili.

Dopo alcuni giorni di controllo manuale di questa visualizzazione, se si è soddisfatti dei risultati rimanenti, è opportuno trasformare questa ricerca in un modello personalizzato salvando la ricerca sottostante e passando poi alla sezione "Gestione" dell'interfaccia utente di Detect. Nella scheda "Modelli personalizzati", trovare la nuova ricerca salvata e attivarla nella relativa maschera di modifica.

Indirizzi IP CIO

È possibile convertire facilmente un elenco di indirizzi IP cattivi conosciuti da qualsiasi fonte in una query Recall . Abbiamo creato un file excel per farlo, che potete ottenere da qualsiasi ingegnere della sicurezza, ma con un elenco come questo:

  • 192.0.2.1  
  • 192.0.2.2

Per prima cosa convertite questa query in una query Lucene: Id.orig_h:( 192.02.1 OR 192.02.2) OR Id.resp_h:( 192.02.1 OR 192.02.2)

Eseguire quindi questa query su iSession Metatada Stream.

Porti CIO

Utilizzo della porta Novità

La maggior parte dei software utilizza un insieme standard di porte esterne per comunicare. La presenza di nuove porte sulla rete può indicare l'installazione di un nuovo software nell'ambiente o, in alcuni casi, la comunicazione da parte di un host compromesso. Vectra AI crea rilevamenti a livello informativo che segnalano quando nell'ambiente vengono osservate nuove connessioni esterne.

È possibile che si desideri aggregare questi eventi utilizzando lo stream per monitorare se viene utilizzato un nuovo software sulla rete o potenzialmente se vengono creati canali C2 dannosi. Questi eventi sono per lo più causati da attività benigne degli utenti, ma se la vostra organizzazione ha una politica di limitazione delle applicazioni autorizzate, l'individuazione di nuove porte da sistemi esterni al vostro team di amministrazione IT può essere un segno di attività dannosa o, per lo meno, di una violazione della politica.

Picchi di utilizzo di porte non comuni

I picchi di attività di rete che coinvolgono porte non comuni possono essere significativi e giustificano ulteriori indagini, poiché questa porta potrebbe essere utilizzata da malware per comunicare. Un picco di attività richiede ulteriori indagini.

Il modo migliore per esaminare questa attività è una visualizzazione delle serie temporali. Ne abbiamo già creata una per voi in Vectra Recall chiamata "Hunting off Indicators: Spikes in Uncommon Port Usage - data"? Asse Y per il conteggio.

Di seguito è riportato un esempio di attività. Le porte più comuni sono state escluse e si possono notare due porte in uso con un chiaro picco. La porta 3283 è utilizzata per iChat, che è benigna e quindi può essere esclusa, ma la porta 40063 è nuova e potrebbe giustificare ulteriori indagini. È inoltre opportuno concentrarsi sui punti isolati, che indicano picchi di traffico che non sono stati riscontrati in nessun altro momento del periodo di ricerca.

Picchi nell'utilizzo di porte non comuni che mostrano IOC sulle porte

Le fasi sopra descritte sono state:

  • Creare un istogramma di date con 24 ore di dati di iSession, con il conteggio delle connessioni come asse delle ordinate.
  • Dividere i dati in una serie separata per porta rispondente (id.resp_p)
  • Filtrare le porte molto comuni, ad esempio 80/443, ecc.
  • Set a minimum threshold of activity to reduce the noise from minor ports by expanding “advanced” and setting {“min_doc_count”:X}, where X would depend on the size of activity on your network, we have set this as 5,000 connections by default.

Dovreste cercare di duplicare questa visualizzazione e aggiornare la query di ricerca con le porte che sapete essere sicure all'interno della vostra organizzazione. (N.B. Se si tenta di modificare la visualizzazione predefinita di Recall , le modifiche apportate verranno sovrascritte).

Allo stesso modo, anche un picco di trasferimento di dati da una porta non comune è qualcosa che vale la pena di controllare e di assicurarsi che sia sicuro.

Il funzionamento è analogo a quello del conteggio del traffico, ma occorre impostare l'asse delle ordinate in modo che mostri i dati totali inviati. Abbiamo creato una visualizzazione chiamata "Hunting off Indicators: Spikes in Uncommon Port Usage - data" che può essere utilizzata come punto di partenza.

Vedere anche il link alla sezione Protocolli su porte non standard.

Nomi dei file CIO

I file dannosi possono essere trasportati in rete tramite SMB o altri protocolli e quindi essere eseguiti sugli host di destinazione tramite processi remoti o social engineering. Il monitoraggio di specifiche estensioni di file dannosi che possono essere utilizzate da attori malintenzionati può individuare casi in cui i file vengono trasferiti per scopi nefasti.

Il flusso dei metadati dei file SMB in Vectra Recall mostra ogni nome di file con cui si è interagito e questi dati possono essere analizzati per trovare dati che potrebbero essere sospetti.

Vi sono due esempi specifici che descriviamo qui, ma il vostro chilometraggio può variare.

  • Nomi di file sospetti
  • Percorsi sospetti

Nomi di file sospetti

I nomi dei file scritti dagli utenti tendono a contenere parole inglesi vere e proprie, mentre per esperienza i nomi dei file possono essere deboli indicatori di compromissione.

Esempi di questi sono:

  • Nomi di file molto lunghi, ad es. TotallyNotMalwareactuallyThisVeryMuchIsMalware.jpg
  • File senza vocali, ad esempio dwtdfh.doc

Ma ricerche come queste possono essere molto rumorose senza un contesto organizzativo.

È possibile cercare nomi di file come questi utilizzando ricerche con espressioni regolari (regex). Queste ricerche possono essere piuttosto lente, per cui si consiglia di eseguire inizialmente una ricerca su 15 minuti, per poi ampliare l'intervallo di tempo una volta ridotto il rumore.

To search for file names of 50 characters of longer, you would run the following search. name:/.{50,}/

You could use similar logic for files without vowels, searching with: name:/.\[bcdfghjklmnpqrstvwxyz]{4,}../

Questa ricerca è un'espressione regolare, con la logica dell'espressione regolare contenuta nelle barre in avanti /

  • .* = corrisponde a qualsiasi percorso
  • \\ = backslash per indicare l'inizio di un nome di file
  • [bcdfghjklmnpqrstvwxyz]{{4,} = 4 o più consonanti in fila
  • . = punto fermo (che indica l'inizio dell'estensione)
  • .* = corrisponde a qualsiasi estensione

È inoltre possibile eseguire ricerche simili in metadata_httpsessioninfo per monitorare il traffico http non crittografato.

Utilizzando la ricerca di cui sopra, si dovrebbe cercare di rimuovere qualsiasi nome di file comune che si sa non essere dannoso. Ad esempio, se un server di aggiornamento Microsoft aggiunge file a una cartella specifica con un nome di file lungo, è possibile escludere tali file dalla ricerca con un filtro di esclusione. Una volta rimossi questi falsi positivi dalla rete, se compaiono, è necessario espandere l'intervallo di tempo della ricerca all'intero periodo di conservazione. Se i file coinvolti sono pochi e si ritiene che siano importanti per la sicurezza, è opportuno trasformare la ricerca in un modello personalizzato e avviare i rilevamenti per questi nomi di file.

Percorsi di file sospetti

Alcuni percorsi potrebbero essere sospetti sulla vostra rete e giustificare un'indagine; per questo è necessario utilizzare una ricerca simile a quella effettuata per l'esempio dei nomi di file sospetti di cui sopra.

È necessario raccogliere un elenco di percorsi di file che si sa che riguardano la propria organizzazione e creare una ricerca per monitorare gli accessi ad essi. Per questo esempio, ci concentriamo sugli accessi ai file in /App/Data/Roaming/.

La ricerca da eseguire è: nome:/ /App/Data/Roaming/.*/

Questa ricerca corrisponderà a tutti gli accessi ai file in quella directory. Nel nostro sistema, abbiamo avuto molti accessi legittimi da 2 server di aggiornamento. Per ridurre il rumore di questa ricerca, individuare i server legittimi che si prevede accedano alla cartella in questione e fare clic sull'icona di rimpicciolimento accanto al suo IP per escludere le richieste di quel server.

Ja3 e Hassh

Ja3 e Hassh sono metodi di fingerprinting in grado di riconoscere l'origine dell'attività SSL o SSH rispettivamente sulla base delle informazioni disponibili dai pacchetti in chiaro inviati prima del completamento dell'handshake di crittografia.

Ja3

Ja3 è un metodo per creare impronte digitali SSL/TLS che possono essere utilizzate per riconoscere il client o il server in una determinata sessione. Ad esempio, un client Tor standard avrà un'impronta digitale Ja3 di e7d705a3286e19ea42f587b344ee6865.

Le impronte digitali Ja3 possono indicare l'attività svolta dalla stessa applicazione su più client e possono anche essere utilizzate per verificare i CIO. Non si tratta di una soluzione infallibile, poiché è possibile per gli aggressori avanzati alterare le impronte digitali sottostanti. Ad esempio, per verificare se l'attività di TOR è stata vista sulla vostra rete, andate al flusso metadata_ssl* e cercate: Ja3:e7d705a3286e19ea42f587b344ee6865

Per saperne di più su Ja3 è possibile consultare il profilo github, il repository di impronte digitali Ja3 gestito dalla comunità; l'elenco delle impronte digitali JA3 di Malicius è disponibile su abuse.ch.

Hassh e HasshServer

Hassh utilizza una logica simile a quella di Ja3 nelle connessioni SSH, creando impronte digitali delle connessioni SSH, che possono essere utilizzate per individuare i casi in cui un client specifico ha comunicato via SSH con più server diversi e per vedere se qualsiasi attività che appare è nuova.

Hassh è particolarmente utile in ambienti strettamente controllati. Se ci sono sezioni importanti in una rete, si può cercare specificamente nell'attività SSH di quella sottorete per vedere quali Hassh sono utilizzati lì. È necessario eseguire la dovuta diligenza su queste connessioni per assicurarsi che nessuna di queste attività sia dannosa, quindi ogni Hassh sicuro deve essere escluso dalla ricerca facendo clic sul pulsante accanto al campo. Alla fine, non si dovrebbero vedere nuovi Hassh in questa sottorete e quindi si potrebbe salvare questa ricerca e attivarla come modello personalizzato (da Gestione -> Modelli personalizzati nell'interfaccia utente di rilevamento).

Il profilo della comunità Github per Hassh elenca molti altri usi di questi dati.

Per migliorare la vostra posizione di sicurezza e garantire che la vostra organizzazione sia ben equipaggiata per rilevare e rispondere rapidamente alle minacce, il rilevamento degli IoC è essenziale. Vectra AI offre soluzioni avanzate che si integrano perfettamente con l'infrastruttura di sicurezza esistente, fornendo rilevamento in tempo reale e informazioni attuabili. Contattateci oggi stesso per rafforzare la vostra difesa informatica.

DOMANDE FREQUENTI

Cosa sono gli indicatori di compromissione (IoC)?

Come si possono rilevare gli IoC?

In che modo i team SOC utilizzano gli IoC?

Come vengono integrati gli IoC nell'intelligence delle minacce?

Con quale frequenza devono essere aggiornati gli IoC?

Perché gli IoC sono importanti per i team di sicurezza?

Quali sono gli esempi più comuni di IoC?

Qual è la differenza tra IoC e Indicatori di attacco (IoA)?

Gli IoC possono aiutare a prevedere gli attacchi futuri?

Esistono delle best practice per la gestione degli IoC?