Un sistema per analizzare il traffico senza decrittografarlo. Questo metodo è chiamato semplicemente “apprendimento automatico”. Si è scoperto che se un volume molto grande di traffico vario viene immesso in ingresso a uno speciale classificatore, il sistema può rilevare con un altissimo grado di probabilità le azioni di codice dannoso all'interno del traffico crittografato.

Le minacce online sono cambiate e sono diventate più intelligenti. Recentemente, il concetto stesso di attacco e difesa è cambiato. Il numero di eventi sulla rete è aumentato in modo significativo. Gli attacchi sono diventati più sofisticati e gli hacker hanno una portata più ampia.
Secondo le statistiche Cisco, nell'ultimo anno gli aggressori hanno triplicato il numero di malware che utilizzano per le loro attività, o meglio, la crittografia per nasconderli. Dalla teoria è noto che l’algoritmo di crittografia “corretto” non può essere violato. Per capire cosa si nasconde all'interno del traffico crittografato, è necessario decrittografarlo conoscendo la chiave, oppure provare a decrittografarlo utilizzando vari trucchi, oppure hackerando direttamente o utilizzando qualche tipo di vulnerabilità nei protocolli crittografici.

Un quadro delle minacce di rete del nostro tempo
Apprendimento automatico
Conosci la tecnologia di persona! Prima di parlare di come funziona la stessa tecnologia di decrittazione basata sull’apprendimento automatico, è necessario capire come funziona la tecnologia delle reti neurali.
Il Machine Learning è un'ampia sottosezione dell'intelligenza artificiale che studia metodi per costruire algoritmi in grado di apprendere. Questa scienza ha lo scopo di creare modelli matematici per “addestrare” un computer. Lo scopo dell’apprendimento è prevedere qualcosa. Nella comprensione umana, chiamiamo questo processo la parola "saggezza". La saggezza si manifesta nelle persone che vivono da molto tempo (un bambino di 2 anni non può essere saggio). Quando ci rivolgiamo ai compagni più anziani per un consiglio, diamo loro alcune informazioni sull'evento (dati di input) e chiediamo loro aiuto. A loro volta, ricordano tutte le situazioni della vita che sono in qualche modo correlate al tuo problema (base di conoscenza) e, sulla base di questa conoscenza (dati), ci danno una sorta di previsione (consiglio). Questo tipo di consiglio cominciò a essere chiamato previsione perché la persona che dà il consiglio non sa con certezza cosa accadrà, ma presume solo. L'esperienza di vita mostra che una persona può avere ragione o può avere torto.
Non dovresti confrontare le reti neurali con l'algoritmo di ramificazione (if-else). Queste sono cose diverse e ci sono differenze fondamentali. L’algoritmo di ramificazione ha una chiara “comprensione” di cosa fare. Lo dimostrerò con degli esempi.
Compito. Determina lo spazio di frenata di un'auto in base alla marca e all'anno di produzione.
Un esempio dell'algoritmo di ramificazione. Se un'auto è di marca 1 ed è stata rilasciata nel 2012, il suo spazio di frenata è di 10 metri, altrimenti se l'auto è di marca 2 ed è stata rilasciata nel 2011, e così via.
Un esempio di rete neurale. Raccogliamo dati sugli spazi di frenata delle auto negli ultimi 20 anni. Per marca e anno compiliamo una tabella nella forma “marca-anno di costruzione-distanza di frenata”. Forniamo questa tabella alla rete neurale e iniziamo ad insegnarla. La formazione viene effettuata come segue: forniamo dati alla rete neurale, ma senza percorso di frenata. Il neurone cerca di prevedere quale sarà lo spazio di frenata in base alla tabella caricata al suo interno. Prevede qualcosa e chiede all'utente "Ho ragione?" Prima della domanda, crea una quarta colonna, la colonna delle ipotesi. Se ha ragione scrive 1 nella quarta colonna, se ha torto scrive 0. La rete neurale passa all'evento successivo (anche se ha commesso un errore). È così che la rete apprende e una volta completata la formazione (è stato raggiunto un certo criterio di convergenza), inviamo i dati sull'auto che ci interessa e finalmente otteniamo una risposta.
Per eliminare la questione del criterio di convergenza, spiegherò che si tratta di una formula statistica derivata matematicamente. Un esempio lampante di due diverse formule di convergenza. Rosso – convergenza binaria, blu – convergenza normale.

Distribuzioni di probabilità binomiali e normali
Per renderlo più chiaro, poni la domanda "Qual è la probabilità di incontrare un dinosauro?" Ci sono 2 possibili risposte qui. Opzione 1 – molto piccola (grafico blu). Opzione 2 – riunione o meno (grafico rosso).
Naturalmente, un computer non è una persona e apprende in modo diverso. Esistono 2 tipi di addestramento del cavallo di ferro: apprendimento basato sui casi и apprendimento deduttivo.
Insegnare per precedenti è un modo di insegnare utilizzando le leggi matematiche. I matematici raccolgono tabelle statistiche, traggono conclusioni e caricano il risultato nella rete neurale, una formula per il calcolo.
Apprendimento deduttivo: l'apprendimento avviene interamente nel neurone (dalla raccolta dei dati alla loro analisi). Qui viene formata una tabella senza formula, ma con statistiche.
Un’ampia panoramica della tecnologia richiederebbe un altro paio di dozzine di articoli. Per ora, questo sarà sufficiente per la nostra comprensione generale.
Neuroplasticità
In biologia esiste un concetto del genere: neuroplasticità. La neuroplasticità è la capacità dei neuroni (cellule cerebrali) di agire “in base alla situazione”. Ad esempio, una persona che ha perso la vista sente meglio i suoni, gli odori e percepisce gli oggetti. Ciò si verifica a causa del fatto che la parte del cervello (parte dei neuroni) responsabile della visione ridistribuisce il proprio lavoro ad altre funzionalità.
Un esempio lampante di neuroplasticità nella vita è il lecca-lecca BrainPort.
Nel 2009, l'Università del Wisconsin a Madison ha annunciato il rilascio di un nuovo dispositivo che sviluppava l'idea di un "display linguistico": si chiamava BrainPort. BrainPort funziona secondo il seguente algoritmo: il segnale video viene inviato dalla fotocamera al processore, che controlla lo zoom, la luminosità e altri parametri dell'immagine. Converte anche i segnali digitali in impulsi elettrici, assumendo sostanzialmente le funzioni della retina.

Lecca lecca BrainPort con occhiali e fotocamera

BrainPort al lavoro

Lo stesso con un computer. Se la rete neurale rileva un cambiamento nel processo, si adatta ad esso. Questo è il vantaggio principale delle reti neurali rispetto ad altri algoritmi: l’autonomia. Una sorta di umanità.
Analisi del traffico crittografato
L'analisi del traffico crittografato fa parte del sistema Stealthwatch. Stealthwatch rappresenta l'ingresso di Cisco nelle soluzioni di monitoraggio e analisi della sicurezza che sfruttano i dati di telemetria aziendale provenienti dall'infrastruttura di rete esistente.
Stealthwatch Enterprise si basa sugli strumenti Flow Rate License, Flow Collector, Management Console e Flow Sensor.

Interfaccia Cisco Stealthwatch
Il problema con la crittografia è diventato molto acuto a causa del fatto che è stato crittografato molto più traffico. In precedenza, solo il codice veniva crittografato (per lo più), ma ora tutto il traffico è crittografato e separare i dati “puliti” dai virus è diventato molto più difficile. Un esempio lampante è WannaCry, che ha utilizzato Tor per nascondere la propria presenza online.

Visualizzazione della crescita della crittografia del traffico sulla rete

La crittografia in macroeconomia
Il sistema Encrypted Traffic Analytics (ETA) è necessario proprio per lavorare con il traffico crittografato senza decrittografarlo. Gli aggressori sono intelligenti e utilizzano algoritmi di crittografia resistenti alla crittografia e violarli non è solo un problema, ma anche estremamente costoso per le organizzazioni.
Il sistema funziona come segue. Un po' di traffico arriva all'azienda. Rientra nel TLS (transport layer security). Diciamo che il traffico è crittografato. Stiamo cercando di rispondere a una serie di domande sul tipo di connessione stabilita.

Come funziona il sistema di analisi del traffico crittografato (ETA).
Per rispondere a queste domande utilizziamo l'apprendimento automatico in questo sistema. Viene presa una ricerca da Cisco e sulla base di questi studi viene creata una tabella da 2 risultati: traffico dannoso e "buono". Naturalmente non sappiamo con certezza quale tipo di traffico sia entrato direttamente nel sistema in questo momento, ma possiamo tracciare la storia del traffico sia all’interno che all’esterno dell’azienda utilizzando i dati provenienti dalla scena mondiale. Alla fine di questa fase, otteniamo un'enorme tabella con i dati.
Sulla base dei risultati dello studio, vengono identificati i tratti caratteristici: alcune regole che possono essere scritte in forma matematica. Queste regole varieranno notevolmente in base a diversi criteri: la dimensione dei file trasferiti, il tipo di connessione, il paese da cui proviene questo traffico, ecc. Come risultato del lavoro, l'enorme tavolo si è trasformato in un insieme di mucchi di formule. Ce ne sono meno, ma questo non è sufficiente per un lavoro confortevole.
Successivamente, viene applicata la tecnologia di apprendimento automatico - convergenza delle formule e in base al risultato della convergenza otteniamo un trigger - un interruttore, dove quando i dati vengono emessi otteniamo un interruttore (flag) nella posizione sollevata o abbassata.
La fase risultante è l'ottenimento di una serie di trigger che coprivano il 99% del traffico.

Fasi di ispezione del traffico in ETA
Come risultato del lavoro, viene risolto un altro problema: un attacco dall'interno. Non c'è più bisogno che le persone al centro filtrino manualmente il traffico (mi sto annegando a questo punto). In primo luogo, non è più necessario spendere molti soldi per un amministratore di sistema competente (continuo ad affogarmi). In secondo luogo, non vi è alcun pericolo di hacking dall'interno (almeno parzialmente).

Concetto obsoleto di Man-in-the-Middle
Ora, scopriamo su cosa si basa il sistema.
Il sistema opera su 4 protocolli di comunicazione: TCP/IP – Protocollo di trasferimento dati Internet, DNS – server dei nomi di dominio, TLS – protocollo di sicurezza del livello di trasporto, SPLT (SpaceWire Physical Layer Tester) – tester di comunicazione del livello fisico.

Protocolli funzionanti con ETA
Il confronto viene effettuato confrontando i dati. Secondo i protocolli TCP/IP Viene verificata la reputazione dei siti web (cronologia di navigazione, scopo della creazione, ecc.). Grazie al protocollo DNS, possiamo rifiutare gli indirizzi web "non validi". Il protocollo TLS utilizza le impronte digitali dei siti web e verifica l'indirizzo del sito confrontandolo con il database del Computer Emergency Response Team (CERT). La fase finale della verifica della connessione è la verifica a livello fisico. I dettagli di questa fase non sono specificati, ma in sostanza consiste nella verifica delle curve di trasmissione dati sinusoidali e cosinusoidali tramite oscilloscopi. In altre parole, lo scopo della connessione viene determinato dalla struttura della richiesta a livello fisico.
Come risultato del funzionamento del sistema, possiamo ottenere dati dal traffico crittografato. Esaminando i pacchetti, possiamo leggere quante più informazioni possibili dai campi non crittografati del pacchetto stesso. Ispezionando il pacchetto a livello fisico, scopriamo le caratteristiche del pacchetto (parzialmente o completamente). Inoltre, non dimenticare la reputazione dei siti. Se la richiesta proviene da una fonte .onion, non dovresti fidarti. Per facilitare il lavoro con questo tipo di dati è stata creata una mappa dei rischi.

Risultato del lavoro dell'ETA
E tutto sembra andare bene, ma parliamo di implementazione della rete.
Implementazione fisica dell'ETA
Qui emergono una serie di sfumature e sottigliezze. In primo luogo, quando si crea questo tipo di file
reti con software di alto livello, è necessaria la raccolta dei dati. Raccogliere i dati manualmente completamente
selvaggio, ma implementare un sistema di risposta è già più interessante. In secondo luogo, i dati
dovrebbero essercene molti, il che significa che i sensori di rete installati devono funzionare
non solo in modo autonomo, ma anche in modo finemente sintonizzato, il che crea una serie di difficoltà.

Sensori e sistema Stealthwatch
Installare un sensore è una cosa, ma configurarlo è un compito completamente diverso. Per configurare i sensori esiste un complesso che opera secondo la seguente topologia: ISR = Cisco Integrated Services Router; ASR = Router dei servizi di aggregazione Cisco; CSR = router per servizi cloud Cisco; WLC = controller LAN wireless Cisco; IE = Switch Ethernet industriale Cisco; ASA = Cisco Adaptive Security Appliance; FTD = soluzione di difesa dalle minacce Cisco Firepower; WSA = Web Security Appliance; ISE = Motore dei servizi di identità

Monitoraggio completo che tiene conto di tutti i dati telemetrici
Gli amministratori di rete iniziano a sperimentare aritmie dal numero di parole "Cisco" nel paragrafo precedente. Il prezzo di questo miracolo non è piccolo, ma non è di questo che parliamo oggi...
Il comportamento dell'hacker sarà modellato come segue. Stealthwatch monitora attentamente l'attività di ogni dispositivo sulla rete ed è in grado di creare uno schema di comportamento normale. Inoltre, questa soluzione fornisce informazioni approfondite sui comportamenti inappropriati noti. La soluzione utilizza circa 100 diversi algoritmi di analisi o euristiche che affrontano diversi tipi di comportamento del traffico come scansione, frame di allarme host, accessi a forza bruta, sospetta acquisizione di dati, sospetta perdita di dati, ecc. Gli eventi di sicurezza elencati rientrano nella categoria degli allarmi logici di alto livello. Alcuni eventi di sicurezza possono anche attivare autonomamente un allarme. Pertanto, il sistema è in grado di correlare più incidenti anomali isolati e metterli insieme per determinare il possibile tipo di attacco, nonché collegarlo a un dispositivo e un utente specifici (Figura 2). In futuro, l'incidente potrà essere studiato nel tempo e tenendo conto dei dati telemetrici associati. Ciò costituisce nella migliore delle ipotesi un'informazione contestuale. I medici che esaminano un paziente per capire cosa c’è che non va non guardano i sintomi isolatamente. Guardano il quadro generale per fare una diagnosi. Allo stesso modo, Stealthwatch cattura ogni attività anomala sulla rete e la esamina in modo olistico per inviare allarmi sensibili al contesto, aiutando così i professionisti della sicurezza a dare priorità ai rischi.

Rilevamento di anomalie utilizzando la modellazione del comportamento
La distribuzione fisica della rete è simile alla seguente:

Opzione di implementazione della rete di filiali (semplificata)

Opzione di distribuzione della rete di filiali
La rete è stata dispiegata, ma la questione del neurone rimane aperta. Hanno organizzato una rete di trasmissione dati, installato sensori sulle soglie e avviato un sistema di raccolta delle informazioni, ma il neurone non ha preso parte alla questione. Ciao.
Rete neurale multistrato
Il sistema analizza il comportamento degli utenti e dei dispositivi per rilevare infezioni dannose, comunicazioni con server di comando e controllo, fughe di dati e applicazioni potenzialmente indesiderate in esecuzione nell'infrastruttura dell'organizzazione. Esistono più livelli di elaborazione dei dati in cui una combinazione di intelligenza artificiale, apprendimento automatico e tecniche di statistica matematica aiutano la rete ad apprendere autonomamente la propria normale attività in modo da poter rilevare attività dannose.
La pipeline di analisi della sicurezza della rete, che raccoglie dati di telemetria da tutte le parti della rete estesa, compreso il traffico crittografato, è una caratteristica unica di Stealthwatch. Sviluppa in modo incrementale la comprensione di ciò che è "anomalo", quindi classifica i singoli elementi effettivi dell'"attività di minaccia" e infine esprime un giudizio finale sul fatto che il dispositivo o l'utente siano stati effettivamente compromessi. La capacità di mettere insieme piccoli pezzi che insieme costituiscono la prova per prendere una decisione finale sul fatto che un bene sia stato compromesso passa attraverso un'analisi e una correlazione molto attente.
Questa capacità è importante perché un'azienda tipica può ricevere un numero enorme di allarmi ogni giorno ed è impossibile indagare su ognuno di essi perché i professionisti della sicurezza dispongono di risorse limitate. Il modulo di machine learning elabora grandi quantità di informazioni quasi in tempo reale per identificare gli incidenti critici con un elevato livello di sicurezza ed è anche in grado di fornire chiare linee d'azione per una rapida risoluzione.
Diamo uno sguardo più da vicino alle numerose tecniche di machine learning utilizzate da Stealthwatch. Quando un incidente viene inviato al motore di machine learning di Stealthwatch, passa attraverso un funnel di analisi della sicurezza che utilizza una combinazione di tecniche di machine learning supervisionate e non supervisionate.

Funzionalità di apprendimento automatico multilivello
Livello 1. Rilevamento di anomalie e modellazione della fiducia
A questo livello, il 99% del traffico viene scartato utilizzando rilevatori statistici di anomalie. Questi sensori insieme formano modelli complessi di ciò che è normale e ciò che, al contrario, è anormale. Tuttavia, ciò che è anormale non è necessariamente dannoso. Gran parte di ciò che accade sulla tua rete non ha nulla a che fare con la minaccia: è semplicemente strano. È importante classificare tali processi senza tener conto del comportamento minaccioso. Per questo motivo, i risultati di tali rilevatori vengono ulteriormente analizzati al fine di catturare comportamenti strani che possano essere spiegati e attendibili. Alla fine, solo una piccola parte dei thread e delle richieste più importanti arriva ai livelli 2 e 3. Senza l’uso di tali tecniche di apprendimento automatico, i costi operativi per separare il segnale dal rumore sarebbero troppo elevati.
Rilevamento anomalie. Il primo passaggio nel rilevamento delle anomalie utilizza tecniche statistiche di machine learning per separare il traffico statisticamente normale da quello anomalo. Più di 70 rilevatori individuali elaborano i dati di telemetria che Stealthwatch raccoglie sul traffico che passa attraverso il perimetro della rete, separando il traffico DNS (Domain Name System) interno dai dati del server proxy, se presenti. Ogni richiesta viene elaborata da più di 70 rilevatori, ciascuno dei quali utilizza il proprio algoritmo statistico per formare una valutazione delle anomalie rilevate. Questi punteggi vengono combinati e vengono utilizzati più metodi statistici per produrre un unico punteggio per ogni singola query. Questo punteggio aggregato viene quindi utilizzato per separare il traffico normale da quello anomalo.
Modellare la fiducia. Successivamente, le richieste simili vengono raggruppate e il punteggio di anomalia aggregato per tali gruppi viene determinato come media a lungo termine. Nel corso del tempo, vengono analizzate più query per determinare la media a lungo termine, riducendo così i falsi positivi e i falsi negativi. I risultati del modello di fiducia vengono utilizzati per selezionare un sottoinsieme di traffico il cui punteggio di anomalia supera una soglia determinata dinamicamente per passare al livello di elaborazione successivo.
Livello 2. Classificazione degli eventi e modellazione degli oggetti
A questo livello i risultati ottenuti nelle fasi precedenti vengono classificati e assegnati a specifici eventi dannosi. Gli eventi vengono classificati in base al valore assegnato dai classificatori di machine learning per garantire un tasso di precisione costante superiore al 90%. Tra loro:
- modelli lineari basati sul lemma di Neyman-Pearson (la legge della distribuzione normale dal grafico all'inizio dell'articolo)
- supportare macchine vettoriali che utilizzano l'apprendimento multivariato
- reti neurali e algoritmo della foresta casuale.
Questi eventi di sicurezza isolati vengono quindi associati a un singolo endpoint nel tempo. È in questa fase che viene formata una descrizione della minaccia, sulla base della quale viene creato un quadro completo di come l'aggressore in questione è riuscito a ottenere determinati risultati.
Classificazione degli eventi. Il sottoinsieme statisticamente anomalo del livello precedente viene distribuito in 100 o più categorie utilizzando classificatori. La maggior parte dei classificatori si basa sul comportamento individuale, sulle relazioni di gruppo o sul comportamento su scala globale o locale, mentre altri possono essere piuttosto specifici. Ad esempio, il classificatore potrebbe indicare traffico C&C, un'estensione sospetta o un aggiornamento software non autorizzato. In base ai risultati di questa fase si forma un insieme di eventi anomali nel sistema di sicurezza, classificati in determinate categorie.
Modellazione di oggetti. Se la quantità di prove a sostegno dell’ipotesi che un particolare oggetto sia dannoso supera la soglia di materialità, viene determinata una minaccia. Gli eventi rilevanti che hanno influenzato la definizione di minaccia sono associati a tale minaccia e diventano parte di un modello discreto a lungo termine dell'oggetto. Man mano che le prove si accumulano nel tempo, il sistema identifica nuove minacce quando viene raggiunta la soglia di materialità. Questo valore di soglia è dinamico e viene regolato in modo intelligente in base al livello di rischio di minaccia e ad altri fattori. Successivamente, la minaccia viene visualizzata nel pannello informativo dell'interfaccia web e viene trasferita al livello successivo.
Livello 3. Modellazione delle relazioni
Lo scopo della modellazione delle relazioni è quello di sintetizzare i risultati ottenuti ai livelli precedenti da una prospettiva globale, tenendo conto non solo del contesto locale ma anche globale dell’incidente rilevante. È in questa fase che puoi determinare quante organizzazioni hanno subito un simile attacco per capire se era rivolto specificamente a te o fa parte di una campagna globale e sei stato semplicemente scoperto.
Gli incidenti vengono confermati o scoperti. Un incidente verificato implica una confidenza compresa tra il 99 e il 100% perché le tecniche e gli strumenti associati sono stati precedentemente osservati in azione su scala più ampia (globale). Gli incidenti rilevati sono unici e fanno parte di una campagna altamente mirata. I risultati passati vengono condivisi con una linea di condotta nota, risparmiando tempo e risorse nella risposta. Sono dotati degli strumenti investigativi necessari per capire chi ti ha attaccato e in che misura la campagna stava prendendo di mira il tuo business digitale. Come si può immaginare, il numero di incidenti confermati supera di gran lunga il numero di quelli rilevati per il semplice motivo che gli incidenti confermati non comportano molti costi per gli aggressori, mentre gli incidenti rilevati sì.
costosi perché devono essere nuovi e personalizzati. Creando la capacità di identificare incidenti confermati, gli aspetti economici del gioco si sono finalmente spostati a favore dei difensori, dando loro un netto vantaggio.

Addestramento multilivello di un sistema di connessione neurale basato su ETA
Mappa del rischio globale
La mappa del rischio globale viene creata attraverso l’analisi applicata da algoritmi di apprendimento automatico a uno dei set di dati più grandi del suo genere nel settore. Fornisce ampie statistiche comportamentali relative ai server su Internet, anche se sconosciuti. Tali server sono associati ad attacchi e potrebbero essere coinvolti o utilizzati come parte di un attacco in futuro. Non si tratta di una “lista nera”, ma di un quadro completo del server in questione dal punto di vista della sicurezza. Queste informazioni contestuali sull'attività di questi server consentono ai rilevatori e ai classificatori di apprendimento automatico di Stealthwatch di prevedere con precisione il livello di rischio associato alle comunicazioni con tali server.
È possibile visualizzare le carte disponibili .

Mappa del mondo che mostra 460 milioni Indirizzi IP
Ora la rete impara e si oppone per proteggere la tua rete.
Finalmente è stata trovata la panacea?
Sfortunatamente, no. Per esperienza di lavoro con il sistema, posso dire che ci sono 2 problemi globali.
Problema 1. Prezzo. L'intera rete è distribuita su un sistema Cisco. Questo è sia bene che male. Il lato positivo è che non devi preoccuparti di installare un sacco di connettori come D-Link, MikroTik, ecc. Lo svantaggio è l’enorme costo del sistema. Considerando la situazione economica del business russo, attualmente solo un ricco proprietario di una grande azienda o banca può permettersi questo miracolo.
Problema 2: formazione. Non ho scritto nell'articolo il periodo di addestramento della rete neurale, ma non perché non esista, ma perché impara continuamente e non possiamo prevedere quando imparerà. Naturalmente esistono strumenti di statistica matematica (prendiamo la stessa formulazione del criterio di convergenza di Pearson), ma queste sono mezze misure. Abbiamo la possibilità di filtrare il traffico, e anche in questo caso solo a condizione che l'attacco sia già stato padroneggiato e conosciuto.
Nonostante questi 2 problemi, abbiamo fatto un grande passo avanti nello sviluppo della sicurezza delle informazioni in generale e della protezione della rete in particolare. Questo fatto può essere motivante per lo studio delle tecnologie di rete e delle reti neurali, che rappresentano ora una direzione molto promettente.
Fonte: habr.com
