Passa ai contenuti principali

Automatic extraction of attack techniques from cybersecurity reports

Maybe I should prove that I am not against AI and that I do use AI for my daily job.

In this post I will describe how I extracted MITRE ATT&CK techniques from an incident report automatically, by using Gemini (MITRE ATT&CK is a powerful framework for reasoning about attacks and I use this framework intensively in my Cybersecurity course).

First a bit of context. Yesterday I posted this note on the team of the course:


A recent technical report by Google is a concrete example of many of the concepts discussed in some of the recent lectures.

  • New attack campaigns are discovered by highly skilled organizations,
  • there is an infection chain leading to the final malware,
  • the infection chain may be composed of multiple obfuscated scripts downloaded and executed from different locations,
  • vulnerabilities that may or may not be publicly known at the time of their exploitation allow escalating privilege,
  • IoC and YARA rules are released for the benefit of the rest of the world
  • ...

The report does not follow the MITRE ATT&CK framework, but the terminology is clear and familiar to us.

Google Threat Intelligence Group (GTIG) has identified a new iOS full-chain exploit that leveraged multiple zero-day vulnerabilities to fully compromise devices....we believe the exploit chain to be called DarkSword. Since at least November 2025, GTIG has observed multiple commercial surveillance vendors and suspected state-sponsored actors utilizing DarkSword in distinct campaigns....DarkSword utilizes six different vulnerabilities to deploy final-stage payloads. GTIG has identified three distinct malware families deployed following a successful DarkSword compromise: GHOSTBLADE, GHOSTKNIFE, and GHOSTSABER.

...

The landing page on the website included JavaScript code using a mix of obfuscation techniques, and created a new IFrame that pulled in another resource at frame.html...it is a simple HTML file that dynamically injects a new script tag that loads in the main exploit loader, rce_loader.js. The loader performs some initialization used by subsequent stages, and fetches a remote code execution (RCE) exploit from the server

The Proliferation of DarkSord: iOS Exploit Chain Adopted by Multiple Threat Actors


This morning, I tried to automatically extract tactics and techniques from that report using Gemini. I quickly obtained a nicely formatted table. At first glance, the result seems OK in that it matches my understanding from a quick reading of the report.

Of course, one should rigorously assess precision (i.e. whether what has been extracted is indeed correct) and recall (i.e. whether everything has been extracted), but that would require a significant amount of effort. I think this workflow is more than sufficient for grasping the report's essentials and is indeed very useful.

At this link a spreadsheet with the extracted techniques and the prompt that I used.

Comments and criticisms more than welcome.

(UPDATE)

A clear example of the intrinsic limitations of AI. Limitations that make its usage in "autonomous" applications that require high reliability extremely dangerous and to be avoided.

I have added this prompt (bold mine):

construct also a table with one row for each exploited vulnerability. columns CVE-id (linked to the NVD website), cve name, brief summary of the vulnerability, whether it was exploited as a zero day

Gemini returned a table with all the 6 vulnerabilities exploited in this campaign, all marked as "exploited as a zero day" (zero day means unknown to the vendor and to the general public at the time of exploitation).

This is wrong. Only 4 of them were zero day at the time of their exploitation.

Commenti

Popular Posts

"Ingegneria deve essere difficile"

Il ritaglio di giornale qui sotto ricorda uno degli eventi più non-trovo-un-aggettivo-appropriato del mio periodo di studente di Ingegneria a Pisa. Ricordo che una mattina iniziò a spargersi la voce "hanno murato la porta del dipartimento!".  Andammo subito a vedere ed arrivammo un pò prima dei giornalisti che scattarono questa foto. La porta era murata, intonacata, pitturata di bianco e sovrastata da una scritta "INGEGNERIA DEVE ESSERE DIFFICILE". Le "E" di "INGEGNERIA" erano scritte al contrario perché era una sorta di "marchio di fabbrica" della facoltà di Ingegneria di Pisa. L'aula più grande, quella in cui pressoché tutti gli studenti seguivano i corsi dei primi anni, aveva infatti alcuni bellissimi "affreschi scherzosi" che furono fatti nel corso delle proteste studentesche di qualche anno prima ed in cui la parola "Ingegneria" era appuntoi scritta in quel modo. Si era anche già sparsa la voce di cosa era ...

Perché studiare Analisi Matematica???

Un mio caro amico mi ha scritto: ...sono con mia figlia che studia Analisi 1...A cosa serve, al giorno d'oggi, studiare Analisi (a parte sfoltire i ranghi degli aspiranti ingegneri)? Riporto la mia risposta di seguito, forse può "motivare" qualche altro studente. ... Per un ingegnere la matematica è fondamentale perché è un linguaggio ; ed è il linguaggio essenziale per trattare gli argomenti che dovrà affrontare come ingegnere; non sono importanti i contenuti specifici; è importante, anzi fondamentale, che riesca a capirli, ricostruirli etc. ad esempio, chi deve usare l'inglese, lo usa perché in un modo o nell'altro lo conosce; nessuno di noi ha usato esattamente le frasi o i dialoghi o le regole che ha incontrato negli esercizi di inglese o di tedesco; nella matematica è lo stesso; non sono importanti i limiti, le serie, i teoremi di cauchy o che so io; ma se uno non è in grado di capire quel linguaggio allora non sarà in grado di capire davvero quas...

One must write correctly. One must explain oneself clearly.

The title of this blog says it all. It is a deep truth of fundamental importance in every profession . I have always tried hard to convince students of this fact. Explaining things clearly and correctly, whether in written or in spoken form, is hard .  It takes a lot of time and experience. Most importantly, some people may have more innate talent. Others may have fewer. However, the first step is to convince oneself of the importance of this fact. Otherwise, the battle is lost before it has begun. I have come to believe that many students have a problem in this respect, as they do not realize how important it is to be clear and correct in our own language. They either believe that technical skills are all that is needed, or that they will magically become perfectly understandable to everyone at some unspecified point in the future. This is definitely not the case. Consequently, they will encounter many unexpected and challenging obstacles in their professional careers. Writing...

Cose che racconto nei corsi (e che poi si verificano) - UPDATED

Reti di Calcolatori e Principi di Cybersecurity , intorno alla fine di settembre: " Il DNS è una infrastruttura critica per il funzionamento della società. Pensiamo a cosa accadrebbe se si bloccasse completamente la risoluzione di alcuni nomi. " Il 20 ottobre 2025 molti servizi Internet usati da molti milioni di utenti in tutto il mondo si sono bloccati o sono diventati lentissimi. Tra questi Apple Music, Airbnb, Spotify, Reddit, Perplexity AI, Duolingo, Goodreads, Fortnite, Apple TV, Mc Donald's App, Signal e molti altri (compresi alcuni servizi della pubblica amministrazione UK). Tutti questi servizi dipendono in tutto o in parte da funzionalità software in Amazon Web Services (AWS), uno dei principali fornitori di servizi cloud al mondo. AWS è composto internamente da molti servizi software. Il motivo scatenante del blocco globale è stato un problema nella risoluzione DNS del nome di un particolare servizio usato internamente in AWS. Cybersecurity , corso aziendale i...

Come si formula una domanda

Molto spesso gli studenti che devono fare una domanda generano una quantità elevatissima di parole che cercano di trasportare 4 concetti molto diversi tra loro: Domanda mirata a chiarire il dubbio Motivo per il quale è sorto il dubbio (ad esempio, slide ambigua o esperienza personale) Descrizione di uno scenario di esempio per chiarire la domanda Informazioni sullo scenario di esempio che sono del tutto inutili per la domanda L'effetto più frequente è che chi riceve la domanda non capisce o deve fare un grande sforzo per capire. Un effetto accessorio molto frequente è che chi formula la domanda non genera una "grande impressione" in chi la riceve. E' molto, molto, molto importante acquisire la capacità di distinguere questi concetti e di rifletterne la separazione in ciò che si dice o si scrive. Non è importante solo per il corso di reti, è importante sempre. In qualsiasi attività professionale. E' parte essenziale della capacità di esprimersi in modo c...