-->

Intelligenza Artificiale

A un certo punto non fu più la biologia a dominare il destino dell'uomo, ma il prodotto del suo cervello: la cultura.
Cosicché: "Le uniche leggi della materia sono quelle che la nostra mente deve architettare e le uniche leggi della mente sono architettate per essa dalla materia".
JAMES CLERK MAXWELL

Analisi Statica e Dinamica Malware


Spiegazione delle analisi statistiche e dinamiche di ML per il rilevamento Malware

Analisi statica e dinamica

L'analisi statica e dinamica del malware con l'ausilio del machine learning (ML) è una pratica avanzata per identificare, classificare e rilevare codici malevoli in modo automatizzato e preciso.
Di seguito, spiego in dettaglio come funziona il processo di analisi statica e dinamica utilizzando machine learning, e il ruolo di strumenti come YARA e PDE.

Analisi Statica

L'analisi statica consiste nell'esaminare un file malware senza eseguirlo.
Questa tecnica analizza il codice del malware, i binari, le librerie e le risorse del programma per rilevare anomalie.

Come funziona con il machine learning: Nell'analisi statica, si estraggono caratteristiche dal file binario (ad esempio, funzioni, chiamate di sistema, hash delle sezioni, stringhe, API utilizzate) che possono essere utilizzate come input per un modello di machine learning.
  • Feature Extraction: Caratteristiche rilevanti vengono estratte da file binari o assembly, come frequenza delle istruzioni, pattern di stringhe e importazioni di librerie.
  • Addestramento del modello: Si utilizzano dataset di malware noti e file benigni per addestrare un modello ML (ad esempio, Random Forest, Support Vector Machine, o Reti Neurali). Il modello impara a distinguere i pattern associati ai file dannosi da quelli benigni.
  • Rilevamento (Detection): Una volta addestrato, il modello ML analizza nuovi file, classificandoli come dannosi o benigni in base alle loro caratteristiche.

Analisi Dinamica

L'analisi dinamica implica l'esecuzione del file in un ambiente controllato (ad esempio, una sandbox) per osservare il suo comportamento.
Viene monitorato l'intero flusso di esecuzione, le chiamate di sistema, le modifiche ai file, al registro di sistema, al traffico di rete e così via.

Come funziona con il machine learning:
  • Raccolta di dati comportamentali: Durante l'esecuzione, vengono registrati numerosi comportamenti come le interazioni con il file system, le modifiche al registro di sistema, i processi creati e il traffico di rete.
  • Feature Extraction: Le informazioni raccolte sono trasformate in caratteristiche che possono essere utilizzate da un modello ML. Queste possono includere sequenze di chiamate di sistema, comportamenti di rete e modifiche a risorse del sistema.
  • Addestramento del modello: Il modello ML viene addestrato con dataset di esempi di esecuzioni di malware noti e software benigni, imparando a riconoscere comportamenti sospetti o pericolosi.
  • Rilevamento (Detection): Il modello addestrato è in grado di rilevare file che mostrano comportamenti simili a quelli del malware, anche se non corrispondono esattamente a una firma statica nota.

Processo di Addestramento (Training)

L'addestramento dei modelli ML per l'analisi del malware avviene in diverse fasi:

  • Raccolta dei dati: Si raccolgono dataset di malware (spesso da fonti pubbliche o rilevati in azienda) e file benigni.
  • Preprocessing: I dati vengono puliti e preparati per il modello. Nel caso dell'analisi statica, questo può includere la decodifica di file binari, la decompilazione o l'estrazione di stringhe. Per l'analisi dinamica, include il filtraggio e la trasformazione dei dati comportamentali.
  • Feature Extraction: Le caratteristiche distintive vengono estratte dai dati e utilizzate per addestrare il modello.
  • Addestramento: Il modello ML è addestrato con algoritmi supervisionati o non supervisionati per imparare a riconoscere le caratteristiche distintive del malware.
  • Validazione e Testing: Il modello viene testato su set di dati separati per assicurarsi che sia in grado di generalizzare e rilevare malware in ambienti reali.

Rilevamento (Detection)

Durante la fase di rilevamento, il modello addestrato può essere implementato all'interno di sistemi di sicurezza per monitorare i file in entrata e in uscita, l'esecuzione di processi, e le comunicazioni di rete.
In base alle caratteristiche del file o del comportamento osservato, il sistema segnala o blocca le minacce.