Detecting rootkit infestations is a complicated security problem faced by modern organizations. Many possible solutions to this have been proposed in the last decade, but various drawbacks prevent these approaches from being ideal solutions. In this thesis, we present Blacksheep a detection tool for utilizing a crowd of similar machines to detect rootkit infestations. In particular we focus on kernel rootkits infecting the Windows operating system. We propose a novel technique to detect kernel rootkits based on the analysis of physical memory dumps acquired from a set of machines. These memory dumps are compared with each others and the results of these comparisons are used to classify them in infected and non-infected. Three different comparisons are performed: code comparison, kernel entry point comparison and data comparison. Their results are used by two different analyses: a trained classification and an untrained classification. The trained classifier relies on a set of memory dumps manually flagged as having been acquired from machines in a non-infected state. The goal of this analysis is to classify a set of memory dumps as having come from infected or non-infected machines. The untrained classifier generates a hierarchy of clusters of memory dumps based on their similarity. The aim of this analysis is to separate the analyzed memory dumps into subsets based on the state of the machines which they have been taken from. As part of our investigation into Windows kernel rootkits, much research was needed to be done in two main areas: the internals of the Windows kernel itself and the methods to acquire and analyze dumps of the physical memory and copies of the swap area. Part of our contribution is the summary of these researches. We have tested Blacksheep on two sets of memory dumps acquired from differently configured machines infected with eight different rootkits. Some of the analyses performed by Blacksheep achieve a 100% detection rate, with no false positives in both sets. Others are able to give interesting information about the behaviors of the analyzed rootkits.

La rilevazione delle infezioni da rootkit è un problema affrontato da diverse organizzazioni moderne. Negli ultimi anni diversi approcci a questo problema sono stati proposti, ma vari inconvenienti rendono tali soluzioni di difficile applicazione. Questa tesi descrive Blacksheep, un tool per la rilevazione di rootkit che opera su di un insieme di macchine configurate in modo simile. In particolare il nostro lavoro si è concentrato verso i rootkit del kernel del sistema operativo Windows. Questo lavoro presenta una tecnica innovativa per rilevare i rootkit del kernel basata sull'analisi di copie della memoria fisica acquisite da un insieme di computer. Le copie acquisite sono confrontate fra di loro e i risultati di questi confronti sono usati per classificare i computer, da cui sono state ottenute, in infetti e non infetti. Blacksheep confronta tre diversi aspetti del kernel dei sistemi analizzati: il codice eseguito, i puntatori usati come punti di ingresso e le strutture dati allocate. I risultati di questi confronti sono utilizzati per effettuare due differenti analisi: una classificazione supervisionata ed una non supervisionata. La classificazione supervisionata si basa su un insieme di copie della memoria che sono state manualmente indicate come acquisite da computer non infetti. Lo scopo di questa classificazione è quello di dividere l'insieme dei computer analizzati in due gruppi: quello dei computer infetti e quello dei computer non infetti. La classificazione non supervisionata genera una gerarchia di cluster dei computer analizzati basata sulla loro somiglianza. Lo scopo di questa analisi è quello di separare le copie della memoria in base allo stato dei computer dalle quali sono state acquisite. Durante i nostri studi riguardo ai rootkit del kernel di Windows, molta ricerca è stata svolta su due aspetti: i meccanismi interni del kernel di Windows e i metodi per acquisire ed analizzare copie della memoria fisica e dell'aria di swap. I risultati della nostra ricerca in queste due aree sono parte del contributo di questo lavoro. Le analisi effettuate da Blacksheep sono state sperimentate su due insiemi di computer con diverse configurazioni, infettati da otto diversi rootkit. Con alcune delle analisi svolte da Blacksheep è stato possibile identificare il 100% delle infezioni senza falsi positivi in entrambi gli insiemi. Altre analisi sono state in grado di dare interessanti informazioni riguardo ai comportamenti dei rootkit analizzati.

Blacksheep: a tool for kernel rootkit detection, based on physical memory crowdsourced analysis

BIANCHI, ANTONIO
2010/2011

Abstract

Detecting rootkit infestations is a complicated security problem faced by modern organizations. Many possible solutions to this have been proposed in the last decade, but various drawbacks prevent these approaches from being ideal solutions. In this thesis, we present Blacksheep a detection tool for utilizing a crowd of similar machines to detect rootkit infestations. In particular we focus on kernel rootkits infecting the Windows operating system. We propose a novel technique to detect kernel rootkits based on the analysis of physical memory dumps acquired from a set of machines. These memory dumps are compared with each others and the results of these comparisons are used to classify them in infected and non-infected. Three different comparisons are performed: code comparison, kernel entry point comparison and data comparison. Their results are used by two different analyses: a trained classification and an untrained classification. The trained classifier relies on a set of memory dumps manually flagged as having been acquired from machines in a non-infected state. The goal of this analysis is to classify a set of memory dumps as having come from infected or non-infected machines. The untrained classifier generates a hierarchy of clusters of memory dumps based on their similarity. The aim of this analysis is to separate the analyzed memory dumps into subsets based on the state of the machines which they have been taken from. As part of our investigation into Windows kernel rootkits, much research was needed to be done in two main areas: the internals of the Windows kernel itself and the methods to acquire and analyze dumps of the physical memory and copies of the swap area. Part of our contribution is the summary of these researches. We have tested Blacksheep on two sets of memory dumps acquired from differently configured machines infected with eight different rootkits. Some of the analyses performed by Blacksheep achieve a 100% detection rate, with no false positives in both sets. Others are able to give interesting information about the behaviors of the analyzed rootkits.
ING V - Scuola di Ingegneria dell'Informazione
23-apr-2012
2010/2011
La rilevazione delle infezioni da rootkit è un problema affrontato da diverse organizzazioni moderne. Negli ultimi anni diversi approcci a questo problema sono stati proposti, ma vari inconvenienti rendono tali soluzioni di difficile applicazione. Questa tesi descrive Blacksheep, un tool per la rilevazione di rootkit che opera su di un insieme di macchine configurate in modo simile. In particolare il nostro lavoro si è concentrato verso i rootkit del kernel del sistema operativo Windows. Questo lavoro presenta una tecnica innovativa per rilevare i rootkit del kernel basata sull'analisi di copie della memoria fisica acquisite da un insieme di computer. Le copie acquisite sono confrontate fra di loro e i risultati di questi confronti sono usati per classificare i computer, da cui sono state ottenute, in infetti e non infetti. Blacksheep confronta tre diversi aspetti del kernel dei sistemi analizzati: il codice eseguito, i puntatori usati come punti di ingresso e le strutture dati allocate. I risultati di questi confronti sono utilizzati per effettuare due differenti analisi: una classificazione supervisionata ed una non supervisionata. La classificazione supervisionata si basa su un insieme di copie della memoria che sono state manualmente indicate come acquisite da computer non infetti. Lo scopo di questa classificazione è quello di dividere l'insieme dei computer analizzati in due gruppi: quello dei computer infetti e quello dei computer non infetti. La classificazione non supervisionata genera una gerarchia di cluster dei computer analizzati basata sulla loro somiglianza. Lo scopo di questa analisi è quello di separare le copie della memoria in base allo stato dei computer dalle quali sono state acquisite. Durante i nostri studi riguardo ai rootkit del kernel di Windows, molta ricerca è stata svolta su due aspetti: i meccanismi interni del kernel di Windows e i metodi per acquisire ed analizzare copie della memoria fisica e dell'aria di swap. I risultati della nostra ricerca in queste due aree sono parte del contributo di questo lavoro. Le analisi effettuate da Blacksheep sono state sperimentate su due insiemi di computer con diverse configurazioni, infettati da otto diversi rootkit. Con alcune delle analisi svolte da Blacksheep è stato possibile identificare il 100% delle infezioni senza falsi positivi in entrambi gli insiemi. Altre analisi sono state in grado di dare interessanti informazioni riguardo ai comportamenti dei rootkit analizzati.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
thesis_poli.pdf

non accessibile

Descrizione: Testo della tesi
Dimensione 3.69 MB
Formato Adobe PDF
3.69 MB Adobe PDF   Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/44041