Programma di Analisi Del Malware:

Obiettivo degli insegnamenti

 

L'insegnamento si propone di fornire agli studenti gli strumenti teorici, metodologici e pratici che consentono l'analisi di programmi "malevoli" in formato eseguibile il cui codice è potenzialmente nascosto, offuscato o protetto. Con riferimento alle linee guida riportate nel documento: "ACM/IEEE-CS- Computer Science Curricula 2013", il corso contribuisce a coprire le seguenti aree e relativi obiettivi: Operating Systems (OS), Architecture and Organization (AR), Systems Fundamentals (SF).

Al termine dell'insegnamento lo studente sarà in grado di classificare i diversi tipi di malware e di saper valutare l'utilizzo di diverse tecniche di analisi per ricostruire il funzionamento e le operazioni di un qualsiasi programma, anche non preventivamente noto. Sarà inoltre in grado di applicare tecniche basate su sandbox, monitor, disassemblatori e debugger, superando eventuali meccanismi di protezione ed offuscamento ed inibendo i meccanismi di comunicazione e replicazione. Saprà integrare le varie e diverse conoscenze richeste dal lavoro di analisi dei programmi e formulare giudizi di merito sull'impatto e la pericolosità di programmi malevoli nei sistemi informatici interessati. Sarà in grado di comunicare efficacemente con i responsabili dei sistemi informativi, anche se non specializzati nel campo della sicurezza informatica. Sarà infine in grado di aggiornare autonomamente le proprie conoscenze per tenere conto della rapidissima evoluzione della tecnologia del malware.

      Programma sintetico (provvisorio)

 

  • Tecniche di base di Reverse Code Engineering "black box" e "white box".

    • Analisi statica del codice.

    • Uso di macchine virtuali.

    • Linguaggio Assembly Intel x86.

    • Utilizzo di Ghidra.

    • Ricostruzione di un programma ad alto livello dalle istruzioni Assembly.

    • Esercizi di analisi statica di malware per Windows.

 

  • Metodologia di RCE "gray box".

    • Uso di un debugger per l'analisi del codice.

    • Utilizzo di OllyDbg per l'analisi di eseguibili per Windows.

 

  • Funzionalità del malware.

    • Comportamento generale.

    • Operazioni di base: lancio, codifica dei dati, comunicazioni.

 

  • Meccanismi di protezione anti-RCE: anti-disassembler, anti-debugger, anti-sandboxing.

    • Programmi pacchettatori e contromisure.

    • Casi speciali: analisi di shellcode e analisi di codice ad oggetti.