$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Il cybercrimine continua a imporre oneri operativi e finanziari sostanziali alle organizzazioni del settore pubblico e privato. Nel 2023, le perdite segnalate dovute alla criminalità informatica negli Stati Uniti hanno superato i 12,5 miliardi didollari, evidenziando la portata e la persistenza delle attività dannose. In questo contesto, i Security Operations Center (SOC) fungono da unità operative principali responsabili di rilevare, analizzare e rispondere alle minacce in tempo reale.
La logica di rilevamento in molti flussi di lavoro SOC è implementata tramite meccanismi basati su regole all'interno delle piattaforme di Security Information and Event Management (SIEM), ampiamente utilizzate perché interpretabili, deterministiche e compatibili con i flussi di lavoro SOC esistenti. Tra i diversi tipi di regole, le regole SIEM basate sulla correlazione sono particolarmente importanti per identificare comportamenti di attacco che coprono più eventi, host e finestre temporali. All'interno di queste regole, le espressioni regolari (regex) funzionano come primitive di ricerca riutilizzabile: gli analisti le inseriscono in regole di rilevamento più ampie che aggiungono vincoli di campo, filtri specifici per piattaforma e logica di correlazione eventi, invece di distribuirli come rivelatori autonomi.
In pratica, gli analisti SOC spesso iniziano lo sviluppo delle regole con indicatori di compromissione (IOC) derivati dai rapporti di cyber threat intelligence (CTI) pubblicati da fornitori di sicurezza, ricercatori indipendenti o basi di conoscenza pubbliche come MITRE Adversarial Tactics, Techniques, and Common Knowledge (ATT&CK)2. Queste stringhe IOC possono includere percorsi di file, frammenti di riga di comando, chiavi di registro o altri artefatti strutturati osservati durante gliattacchi 3. Tradurre tali stringhe in pattern regex adatti alle regole di correlazione SIEM è un compito ricorrente nel flusso di lavoro di authoring delle regole.
Questo passaggio di traduzione rappresenta un collo di bottiglia operativo pratico. Creare pattern regex abbastanza generali da catturare variazioni significative ma abbastanza precisi da evitare abbinamenti indesiderati richiede competenze specializzate; piccoli errori sintattici o decisioni errate su quali componenti preservare o generalizzare possono rendere inefficace una regola di rilevamento altrimenti utile. Poiché questo lavoro è manuale, ripetitivo e orientato ai dettagli, può ritardare il dispiegamento del rilevamento per minacce emergenti, richiedere revisione da parte di analisti più esperti e contribuire al carico di lavoro degli analisti nelle impostazioni SOCoperative 4,5.
La sfida centrale nella traduzione IOC-regex è decidere quali parti di un IOC codificano un comportamento stabile e rilevante per l'attaccante e quindi debbano essere preservate, e quali parti riflettono variazioni specifiche per ambiente o host e dovrebbero essere generalizzate. Ad esempio, le radici canoniche del registro come HKEY_CLASSES_ROOT\CLSID, le directory di sistema come System32 e i nomi eseguibili noti come rundll32.exe devono tipicamente rimanere espliciti, mentre i percorsi dei profili utente, gli Identificatori di Sicurezza specifici per host (SID) e gli Identificatori Globalmente Unici (GUID) dovrebbero normalmente essere astratti. Fare questo in modo coerente tra tipi eterogenei di IOC è ciò che rende il compito di traduzione non banale. In tutto questo protocollo, ci riferiamo ai primi come componenti preservati o di gruppo di cattura, e ai secondi come componenti astratti o non di gruppo di cattura.
Lavori precedenti hanno esplorato l'estrazione automatizzata di intelligence sulle minacce da testi non strutturati utilizzando tecniche di elaborazione del linguaggio naturale e estrazionedi entità 6,7. Più recentemente, diversi studi hanno indagato la generazione diretta di regole di rilevamento a partire dai report CTI utilizzando grandi modelli linguistici (LLM)8. Questi approcci dimostrano che parti del flusso di lavoro di authoring delle regole possono essere supportate da modelli di linguaggio, ma di solito non si concentrano sul problema operativo specifico di generare pattern regex che preservino la semantica dei gruppi di cattura e rimangono adatti per la distribuzione successiva di SIEM. Linee di lavoro complementari hanno strutturato contenuti CTI per l'uso a valle in modi diversi, inclusi rappresentazioni basate su grafi di conoscenza come TINKER9 e generazione guidata da CTI di query di ricerca di log come ThreatRaptor10, che convertono CTI non strutturati in linguaggi di conoscenza strutturata o di query specifici per dominio invece che in pattern regex destinati all'incorporamento nelle regole di correlazione SIEM.
Parallelamente, studi precedenti hanno esplorato la sintesi automatica di regex utilizzando metodi basati su esempi, traduzione neurale e approcci generate-and-repair 11,12,13,14,15,16. Tuttavia, questi metodi sono generalmente progettati per contesti che si basano su ampi insiemi di esempi rappresentativi o descrizioni in linguaggio naturale piuttosto che su contesti di rilevamento guidati dall'IOC. Nei flussi di lavoro SOC, le stringhe IOC sono spesso scarse, strutturalmente eterogenee e strettamente legate alla semantica operativa. Questa discrepanza motiva un flusso di lavoro pensato per la traduzione IOC-regex piuttosto che l'affermazione che i metodi esistenti di generazione regex siano ampiamente inadeguati.
Il protocollo presentato qui si concentra specificamente sulla fase di traduzione IOC-re-regex del flusso di lavoro di rilevamento SOC. L'estrazione IOC è trattata come un input a monte che può derivare da analisi manuale, strumenti automatizzati o una combinazione di entrambi; il protocollo non tenta di generare regole SIEM complete. Al contrario, fornisce una procedura sistematica per convertire le stringhe IOC in pattern regex sintatticamente validi, semanticamente interpretabili e adatti al deployment operativo. L'attuale ambito IOC è deliberato: i percorsi dei file, le chiavi di registro e gli indicatori a riga di comando contengono sia componenti strutturali stabili che variabili beneficiano della generalizzazione regex, mentre indicatori atomici come indirizzi IP, domini e hash sono più naturalmente operativi tramite condizioni di corrispondenza esatta o ricerche in stile reputazione e quindi escono dall'ambito primario. All'interno di questi limiti, il protocollo è pensato per essere portatile su ambienti SOC che condividono formati di input e precondizioni degli strumenti comparabili.