I tecnici di Microsoft hanno presentato oggi CyberBattleSim, un esperimento realizzato in Python che mira a concentrare l’attenzione sugli strumenti che i criminali informatici hanno oggi a disposizione per attivare i cosiddetti movimenti laterali per aggredire sistemi aziendali mission-critical o che comunque contengono dati particolarmente importanti partendo da una sola macchina.
Con l’espressione “movimenti laterali” si fa comunemente riferimento alle operazioni che vengono poste in essere da aggressori in carne ed ossa o procedure automatizzate per attaccare altri sistemi collegati alla stessa rete una volta compromessa una macchina a essa collegata. Abbiamo detto che per evitare spiacevoli conseguenze è sempre fondamentale segmentare la rete proteggendo i sistemi che gestiscono informazioni riservate e dati sensibili.
Allo stesso tempo svolge un ruolo cruciale la corretta gestione dei permessi assegnati agli account degli utenti: Sicurezza informatica, come difendersi dalle minacce più moderne in ufficio e in azienda.
Il progetto CyberBattleSim pubblicato su GitHub crea un ambiente di rete simulato (nessuna operazione viene ovviamente effettuata sulla rete locale “reale”) e grazie al codice basato sul toolkit OpenAI Gym viene intavolato un attacco che sfrutta le informazioni raccolte di volta in volta dall’intelligenza artificiale.
Si prenda come esempio lo schema in figura: l’aggressore è riuscito a far breccia nell’altrui rete aziendale sfruttando il sistema Windows 7 a sinistra. Si pensi all’apertura di un allegato malevolo da parte di un collaboratore o un dipendente.
CyberBattleSim mostra come l’intelligenza artificiale, grazie all’utilizzo di una serie di algoritmi per il machine learning, riesca a farsi strada nella LAN sferrando dapprima un attacco via SMB (sfruttando una lacuna del protocollo per la condivisione dei file e delle cartelle) su una macchina Windows 8 quindi riuscendo a effettuare il login su un sistema Windows 7 sfruttando le credenziali memorizzate nella cache.
Il successivo movimento laterale si concretizza con un attacco a un server IIS facendo leva su una vulnerabilità nota. Da ultimo, una volta assunto il controllo di tale macchina, il componente malevolo estrae le credenziali di accesso per un server SQL.
Il modello presentato da Microsoft si ispira alla sfida capture the flag nell’ambito della sicurezza informatica: un riconoscimento maggiore e più “punti” vengono assegnati a colui che conquista un sistema importante nell’ambito di una rete locale.
La simulazione CyberBattleSim permette di impersonificare l’aggressore e allo stesso tempo rappresenta una sfida per gli esperti di sicurezza chiamati a intercettare rapidamente i movimenti laterali posti in essere da un ipotetico codice malevolo.
Quanto realizzato è un po’ uno “spot” per Microsoft Defender 365 e per Azure Sentinel, soluzioni che aiutano a rilevare e stroncare sul nascere eventuali attacchi come quelli descritti.
Effettuando alcuni test utilizzando il codice sviluppato dai tecnici dell’azienda di Redmond ci si accorgerà che in alcuni casi l’aggressore, anche utilizzando routine del tutto automatizzate e governate dall’intelligenza artificiale, può dover mettere in campo centinaia di test e tentativi per giungere eventualmente all’obiettivo.
Attività di questo genere fanno scattare nel “mondo reale” messaggi di allerta da parte delle soluzioni XDR (Extended Detection and Response) usate in azienda: il mercato ne offre tantissime e di diversi produttori. Il problema è che l’algoritmo può essere largamente ottimizzato e Microsoft spiega che il punto è far crescere di pari passo l’intelligenza delle piattaforme capaci di offrire una risposta adeguata agli attacchi.
L’approccio usato da CyberBattleSim è volutamente astratto per fare in modo che il codice sviluppato da Microsoft non possa essere utilizzato per lanciare aggressioni reali.
“Con CyberBattleSim stiamo solo grattando la superficie di quello che crediamo abbia un enorme potenziale per l’applicazione del concetto di “reinforcement learning” alla sicurezza“, spiega William Blum (Microsoft 365 Defender Research Team).
Il reinforcement learning è una tecnica di apprendimento automatico che punta a realizzare agenti autonomi in grado di scegliere azioni da compiere per il conseguimento di determinati obiettivi tramite interazione con l’ambiente in cui sono immersi. “Invitiamo i ricercatori e i data scientist a costruire nuovi progetti a partire dal nostro esperimento. Crediamo che questo lavoro possa essere esteso e ispirare modi nuovi e innovativi per affrontare i problemi legati alla sicurezza informatica“.