Upload
vanlien
View
228
Download
0
Embed Size (px)
Citation preview
Trabajo Fin de Grado – Grado en Ingeniería InformáticaEscuela de Ingeniería y Arquitectura
Universidad de Zaragoza
Evaluación de algoritmos de fuzzy hashing para similitud entre procesos
Director: Ricardo J. Rodríguez
Septiembre de 2017
Curso 16/17
Iñaki Abadía Osta
Ponente: José Merseguer Hernáiz
Contenidos
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 2 / 29
1 Introducción
2 Ejecutables y procesos Windows
4 Herramienta ProcessFuzzyHash
5 Experimentación
6 Trabajo relacionado
7 Conclusiones y líneas futuras
Contenidos
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 2 / 29
Situación actual malware
Funciones de hash criptográfico
Funciones de fuzzy hash
Contribución
1 Introducción
2 Ejecutables y procesos Windows
4 Herramienta ProcessFuzzyHash
5 Experimentación
6 Trabajo relacionado
7 Conclusiones y líneas futuras
Contenidos
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 2 / 29
1 Introducción
2 Ejecutables y procesos Windows
4 Herramienta ProcessFuzzyHash
5 Experimentación
6 Trabajo relacionado
7 Conclusiones y líneas futuras
Ejecutables Windows
Procesos Windows
Contenidos
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 2 / 29
1 Introducción
2 Ejecutables y procesos Windows
4 Herramienta ProcessFuzzyHash
5 Experimentación
6 Trabajo relacionado
7 Conclusiones y líneas futuras
Arquitectura
Ejecución
Contenidos
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 2 / 29
1 Introducción
2 Ejecutables y procesos Windows
4 Herramienta ProcessFuzzyHash
5 Experimentación
6 Trabajo relacionado
7 Conclusiones y líneas futuras
Entorno de pruebas
Resultados
Contenidos
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 2 / 29
1 Introducción
2 Ejecutables y procesos Windows
4 Herramienta ProcessFuzzyHash
5 Experimentación
6 Trabajo relacionado
7 Conclusiones y líneas futuras
Herramientas
Publicaciones
Contenidos
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 2 / 29
1 Introducción
2 Ejecutables y procesos Windows
4 Herramienta ProcessFuzzyHash
5 Experimentación
6 Trabajo relacionado
7 Conclusiones y líneas futuras
Conclusiones
Trabajo futuro
Situación actual software malicioso (malware)
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 3 / 29
Introducción
Malware nuevo2008-2017
* Imágenes tomadas de [AT17]
Situación actual software malicioso (malware)
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 3 / 29
Introducción
Malware nuevo2008-2017
Malware en circulación2008-2017
* Imágenes tomadas de [AT17]
Situación actual software malicioso (malware)
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 3 / 29
Introducción
Malware nuevo2008-2017
Malware en circulación2008-2017
* Imágenes tomadas de [AT17]
85% Windows
Respuesta a incidentes
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 4 / 29
Introducción
* Imágenes tomadas de [AT17]
Respuesta a incidentes
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 4 / 29
Introducción
* Imágenes tomadas de [AT17]
Curso habitual de los eventos
Respuesta a incidentes
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 4 / 29
Introducción
* Imágenes tomadas de [AT17]
Alguien se da cuenta de que hay una máquina comprometida
Curso habitual de los eventos
Respuesta a incidentes
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 4 / 29
Introducción
* Imágenes tomadas de [AT17]
Alguien se da cuenta de que hay una máquina comprometidaSe da la alerta
Curso habitual de los eventos
Respuesta a incidentes
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 4 / 29
Introducción
* Imágenes tomadas de [AT17]
Alguien se da cuenta de que hay una máquina comprometidaSe da la alertaNecesidad de averiguar si la máquina está realmente comprometida
Curso habitual de los eventos
Respuesta a incidentes
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 4 / 29
Introducción
* Imágenes tomadas de [AT17]
Alguien se da cuenta de que hay una máquina comprometidaSe da la alertaNecesidad de averiguar si la máquina está realmente comprometidaAnálisis de la máquina
Curso habitual de los eventos
Respuesta a incidentes
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 4 / 29
Introducción
* Imágenes tomadas de [AT17]
Alguien se da cuenta de que hay una máquina comprometidaSe da la alertaNecesidad de averiguar si la máquina está realmente comprometidaAnálisis de la máquina
Curso habitual de los eventos
Análisis de la máquina
Respuesta a incidentes
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 4 / 29
Introducción
* Imágenes tomadas de [AT17]
Alguien se da cuenta de que hay una máquina comprometidaSe da la alertaNecesidad de averiguar si la máquina está realmente comprometidaAnálisis de la máquina
Curso habitual de los eventos
Extracción del volcado de memoria
Análisis de la máquina
Respuesta a incidentes
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 4 / 29
Introducción
* Imágenes tomadas de [AT17]
Alguien se da cuenta de que hay una máquina comprometidaSe da la alertaNecesidad de averiguar si la máquina está realmente comprometidaAnálisis de la máquina
Curso habitual de los eventos
Extracción del volcado de memoriaAnálisis del volcado
Cálculo de hashes
Análisis de la máquina
Funciones de hash criptográfico
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 5 / 29
Introducción
Funciones de hash criptográfico
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 5 / 29
Introducción
Contraseñas
Integridad
Uso
IrreversibleEvitar colisionesEfecto cascada
Propiedades
Funciones de hash criptográfico
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 5 / 29
Introducción
MD5 2ae4f65fc262c0120b037438d05883f8SHA1 fcbab2d91923161bc46022a2b16ce50e8420fdecTiger df81bf2a909edc6e76f0118a372a19f3f89233f4a5c5a3f6RipeMD128 b259ecc284326e3773c596e14bff2d0675d4320a
Ejemplos
Contraseñas
Integridad
Uso
IrreversibleEvitar colisionesEfecto cascada
Propiedades
Funciones de fuzzy hash
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 6 / 29
Introducción
Evitan efecto cascadaEvitan efecto cascadaEquivalencia = colisiones
Propiedades
Detección de spamCopyright
Uso
ssdeepnilsimsa
Ejemplos
Funciones de fuzzy hash
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 6 / 29
Introducción
Evitan efecto cascadaEvitan efecto cascadaEquivalencia = colisiones
Propiedades
Detección de spamCopyright
Uso
ssdeepnilsimsa
Ejemplos
MD5
Funciones de fuzzy hash
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 6 / 29
Introducción
Evitan efecto cascadaEvitan efecto cascadaEquivalencia = colisiones
Propiedades
Detección de spamCopyright
Uso
ssdeepnilsimsa
Ejemplos
Original: 2ae4f65fc262c0120b037438d05883f8
MD5
Funciones de fuzzy hash
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 6 / 29
Introducción
Evitan efecto cascadaEvitan efecto cascadaEquivalencia = colisiones
Propiedades
Detección de spamCopyright
Uso
ssdeepnilsimsa
Ejemplos
Original: 2ae4f65fc262c0120b037438d05883f8Alterado: faf3e0b7e3008463714c7bf779a014a8
MD5
Funciones de fuzzy hash
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 6 / 29
Introducción
Evitan efecto cascadaEvitan efecto cascadaEquivalencia = colisiones
Propiedades
Detección de spamCopyright
Uso
ssdeepnilsimsa
Ejemplos
Original: 2ae4f65fc262c0120b037438d05883f8Alterado: faf3e0b7e3008463714c7bf779a014a8
MD5
ssdeep
Funciones de fuzzy hash
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 6 / 29
Introducción
Evitan efecto cascadaEvitan efecto cascadaEquivalencia = colisiones
Propiedades
Detección de spamCopyright
Uso
ssdeepnilsimsa
Ejemplos
Original: 2ae4f65fc262c0120b037438d05883f8Alterado: faf3e0b7e3008463714c7bf779a014a8
MD5
Original:49152:oKPDou/1fcThWebCqvWb/zIEqqG1H8ATR0qeuZEqv8eGYWb/zIEJGd8A90KZE2vJKl
ssdeep
Funciones de fuzzy hash
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 6 / 29
Introducción
Evitan efecto cascadaEvitan efecto cascadaEquivalencia = colisiones
Propiedades
Detección de spamCopyright
Uso
ssdeepnilsimsa
Ejemplos
Original: 2ae4f65fc262c0120b037438d05883f8Alterado: faf3e0b7e3008463714c7bf779a014a8
MD5
Original:49152:oKPDou/1fcThWebCqvWb/zIEqqG1H8ATR0qeuZEqv8eGYWb/zIEJGd8A90KZE2vJKlAlterado:49152:gKPDou/1fcThWebCqvWb/zIEqqG1H8ATR0qeuZEqv8eGYWb/zIEJGd8A90KZE2vJKo
ssdeep
Funciones de fuzzy hash
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 6 / 29
Introducción
Evitan efecto cascadaEvitan efecto cascadaEquivalencia = colisiones
Propiedades
Detección de spamCopyright
Uso
ssdeepnilsimsa
Ejemplos
Original: 2ae4f65fc262c0120b037438d05883f8Alterado: faf3e0b7e3008463714c7bf779a014a8
MD5
Original:49152:oKPDou/1fcThWebCqvWb/zIEqqG1H8ATR0qeuZEqv8eGYWb/zIEJGd8A90KZE2vJKlAlterado:49152:gKPDou/1fcThWebCqvWb/zIEqqG1H8ATR0qeuZEqv8eGYWb/zIEJGd8A90KZE2vJKo
ssdeep
98%
Contribución
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 7 / 29
Introducción
Contribución
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 7 / 29
Introducción
Herramienta ProcessFuzzyHash
Calcular fuzzy hashes de procesos
Comparar fuzzy hashes de procesos
Contribución
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 7 / 29
Introducción
Herramienta ProcessFuzzyHash
Calcular fuzzy hashes de procesos
Comparar fuzzy hashes de procesos
Estudio y evaluación de algoritmos de
fuzzy hashing
Centrado en Windows
Ejecutables Windows
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 8 / 29
Ejecutables y procesos Windows
Ejecutables Windows
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 8 / 29
Ejecutables y procesos Windows
Formato PE
Estándar de cabeceras de ficheros
ejecutables (EXE, OBJ, SCR, etc.)
Ejecutables Windows
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 8 / 29
Ejecutables y procesos Windows
Formato PE
Estándar de cabeceras de ficheros
ejecutables (EXE, OBJ, SCR, etc.)
Estructura
CabecerasTabla de seccionesEspacio de secciones
Ejecutables Windows
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 8 / 29
Ejecutables y procesos Windows
Formato PE
Estándar de cabeceras de ficheros
ejecutables (EXE, OBJ, SCR, etc.)
Estructura
CabecerasTabla de seccionesEspacio de secciones
Secciones
Código (R)Datos (R)Datos (R/W)Recursos (R)…
Procesos Windows
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 9 / 29
Ejecutables y procesos Windows
Procesos Windows
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 9 / 29
Ejecutables y procesos Windows
Contenedor de hilos
Procesos Windows
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 9 / 29
Ejecutables y procesos Windows
Contenedor de hilos
Ejecutable disco ≠ memoria Carga en memoriaAddress Space Layout Randomization
Plugin de Volatility
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 10 / 29
Herramienta ProcessFuzzyHash
Plugin de Volatility
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 10 / 29
Herramienta ProcessFuzzyHash
Volatility
Plugin de Volatility
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 10 / 29
Herramienta ProcessFuzzyHash
Python 2
Volatility
Plugin de Volatility
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 10 / 29
Herramienta ProcessFuzzyHash
Python 2Framework para análisis de memoria volátil
The Volatility FoundationComunidad
Volatility
Plugin de Volatility
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 10 / 29
Herramienta ProcessFuzzyHash
Python 2Framework para análisis de memoria volátil
The Volatility FoundationComunidad
Volatility
Algunos plugins de Volatility
Plugin de Volatility
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 10 / 29
Herramienta ProcessFuzzyHash
Python 2Framework para análisis de memoria volátil
The Volatility FoundationComunidad
Volatility
pslist: Muestra el listado de procesos en ejecución
Algunos plugins de Volatility
Plugin de Volatility
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 10 / 29
Herramienta ProcessFuzzyHash
Python 2Framework para análisis de memoria volátil
The Volatility FoundationComunidad
Volatility
pslist: Muestra el listado de procesos en ejecucióndumpregistry: Extrae un volcado del registro Windows
Algunos plugins de Volatility
Plugin de Volatility
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 10 / 29
Herramienta ProcessFuzzyHash
Python 2Framework para análisis de memoria volátil
The Volatility FoundationComunidad
Volatility
pslist: Muestra el listado de procesos en ejecucióndumpregistry: Extrae un volcado del registro Windowsvboxinfo: Muestra información de un volcado de una VM VBox
Algunos plugins de Volatility
Arquitectura – diagrama de clases
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 11 / 29
Herramienta ProcessFuzzyHash
Arquitectura – diagrama de clases
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 11 / 29
Herramienta ProcessFuzzyHash
Dcfldd (BBH)Sdhash (SIF)TLSH (LSH)Ssdeep (CTPH)
Facade
Arquitectura – diagrama de clases
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 11 / 29
Herramienta ProcessFuzzyHash
Dcfldd (BBH)Sdhash (SIF)TLSH (LSH)Ssdeep (CTPH)
Facade
Mayor diversidadImplementación en Python
Criterio
Arquitectura – diagrama de sistema
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 12 / 29
Herramienta ProcessFuzzyHash
Arquitectura – diagrama de sistema
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 12 / 29
Herramienta ProcessFuzzyHash
Apoyo en plugins:procdump: Extrae procesos de memoriamemdump: Extrae todas las páginas de memoria en uso
Extracción de procesos
Arquitectura – flujo generación
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 13 / 29
Herramienta ProcessFuzzyHash
Arquitectura – flujo comparación
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 14 / 29
Herramienta ProcessFuzzyHash
Ejecución – salida de generación
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 15 / 29
Herramienta ProcessFuzzyHash
Ejecución – salida de generación
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 15 / 29
Herramienta ProcessFuzzyHash
$ python vol.py --plugins=ProcessFuzzyHash/ -f vmcore.elf \> --profile=Win10x86_15063 processfuzzyhash -A ssdeep -S pe\> -N VBoxService,winlogon,services
Ejecución
Ejecución – salida de generación
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 15 / 29
Herramienta ProcessFuzzyHash
$ python vol.py --plugins=ProcessFuzzyHash/ -f vmcore.elf \> --profile=Win10x86_15063 processfuzzyhash -A ssdeep -S pe\> -N VBoxService,winlogon,services
Ejecución
Volatility Foundation Volatility Framework 2.6
Name PID Create Time Section Algorithm Hashwinlogon.exe 500 131483892000 pe SSDeep 6144:pzP/qv...8ciJQdsyJqjservices.exe 544 131483892003 pe SSDeep 6144:Q/6kXE...jXd5VBoxService 1060 131483892039 pe SSDeep 12288:K/oDR...CxuexSQ
Salida
Ejecución – salida de comparación
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 16 / 29
Herramienta ProcessFuzzyHash
Ejecución – salida de comparación
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 16 / 29
Herramienta ProcessFuzzyHash
$ python vol.py --plugins=ProcessFuzzyHash/ -f vmcore.elf \> --profile=Win10x86_15063 processfuzzyhash -A ssdeep -S pe -N svchost \> -c '768:9n3SsSfvrOtOHW4CO5LTiMRMxVKPhPDjRWWm:d3BGrOtO2NO5LTiqUVKP5/zm'
Ejecución
Ejecución – salida de comparación
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 16 / 29
Herramienta ProcessFuzzyHash
$ python vol.py --plugins=ProcessFuzzyHash/ -f vmcore.elf \> --profile=Win10x86_15063 processfuzzyhash -A ssdeep -S pe -N svchost \> -c '768:9n3SsSfvrOtOHW4CO5LTiMRMxVKPhPDjRWWm:d3BGrOtO2NO5LTiqUVKP5/zm'
Ejecución
Volatility Foundation Volatility Framework 2.6Hash A Hash B Algorithm Score768:9n3Ss...qUVKP5/zm 768:9n3SsS...qDVKP5/0m ssdeep 94768:9n3Ss...qUVKP5/zm 768:9n3SsS...q5VKP5/0m ssdeep 94768:9n3Ss...qUVKP5/zm 768:9n3SsS...qUVKP5/zm ssdeep 100768:9n3Ss...qUVKP5/zm 768:9n3SsS...qFVKP5/zm ssdeep 97768:9n3Ss...qUVKP5/zm 768:9n3SsS...qMVKP5/zm ssdeep 100768:9n3Ss...qUVKP5/zm 768:9n3SsS...qAVKP5/zm ssdeep 97...
Salida
Entorno de pruebas
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 17 / 29
Experimentación
Entorno de pruebas
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 17 / 29
Experimentación
Ubuntu 16.04 x64Intel Core i7-4720HQ @ 2.60GHz12GiB RAMSSD SATA3HDD @ 5400 RPM USB 3.0
Máquina host
Entorno de pruebas
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 17 / 29
Experimentación
Ubuntu 16.04 x64Intel Core i7-4720HQ @ 2.60GHz12GiB RAMSSD SATA3HDD @ 5400 RPM USB 3.0
Máquina host
Windows 7 32 (x86) y 64 bits (x64)Windows 10 32 (x86) y 64 bits (x64)
Máquinas Virtuales
Entorno de pruebas
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 17 / 29
Experimentación
Ubuntu 16.04 x64Intel Core i7-4720HQ @ 2.60GHz12GiB RAMSSD SATA3HDD @ 5400 RPM USB 3.0
Máquina host
Windows 7 32 (x86) y 64 bits (x64)Windows 10 32 (x86) y 64 bits (x64)
Máquinas Virtuales
Sistema operativo (winlogon, svchost, explorer)Software adicional:
Navegador Web (IE, Edge, Chrome, Firefox)Lector de PDF (Acrobat Reader)
Malware:POS RAM Scrapper (ALINA)
Procesos
Entorno de pruebas
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 17 / 29
Experimentación
Ubuntu 16.04 x64Intel Core i7-4720HQ @ 2.60GHz12GiB RAMSSD SATA3HDD @ 5400 RPM USB 3.0
Máquina host
Windows 7 32 (x86) y 64 bits (x64)Windows 10 32 (x86) y 64 bits (x64)
Máquinas Virtuales
Sistema operativo (winlogon, svchost, explorer)Software adicional:
Navegador Web (IE, Edge, Chrome, Firefox)Lector de PDF (Acrobat Reader)
Malware:POS RAM Scrapper (ALINA)
Procesos
Se van a considerar 4 casos
Resultados – caso A
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 18 / 29
Experimentación
ALIN
A
Acr
oRd3
2
chro
me
expl
orer
firef
ox
iexp
lore
svch
ost
win
logo
n0
50
100
Rat
io d
e si
mil
itu
d
ALIN
A
Acr
oRd3
2
chro
me
expl
orer
firef
ox
iexp
lore
svch
ost
win
logo
n0
50
100
Rat
io d
e si
mil
itud
ALIN
A
Acr
oRd3
2
chro
me
expl
orer
firef
ox
iexp
lore
svch
ost
win
logo
n0
50
100
Rat
io d
e si
mil
itud
ALIN
A
Acr
oRd3
2
chro
me
expl
orer
firef
ox
iexp
lore
svch
ost
win
logo
n0
50
100
Rat
io d
e si
mil
itud
ALIN
A
Acr
oRd3
2
chro
me
expl
orer
firef
ox
iexp
lore
svch
ost
win
logo
n0
50
100
Rat
io d
e si
mil
itud
Win7-x86-.text
Win7-x64-.text Win7-x64-pe
Win7-x86-pe
Win7-x86-.rsrc
Misma máquina, mismo ejecutable, distinta ejecución
Resultados – caso B
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 19 / 29
Experimentación
x86-.text
x64-.text x64-pe
x86-pe
x86-.rsrc
Mismo programa y arquitectura, distinto SO
ALIN
A
Acr
oRd3
2
chro
me
expl
orer
firef
ox
svch
ost
win
logo
n0
50
100
Rat
io d
e si
mil
itu
d
ALIN
A
Acr
oRd3
2
chro
me
expl
orer
firef
ox
svch
ost
win
logo
n0
50
100
Rat
io d
e si
mil
itu
d
ALIN
A
Acr
oRd3
2
chro
me
expl
orer
firef
ox
svch
ost
win
logo
n0
50
100
Rat
io d
e si
mil
itu
d
ALIN
A
Acr
oRd3
2
chro
me
expl
orer
firef
ox
svch
ost
win
logo
n0
50
100
Rat
io d
e si
mil
itu
d
ALIN
A
Acr
oRd3
2
chro
me
expl
orer
firef
ox
svch
ost
win
logo
n0
50
100
Rat
io d
e si
mil
itu
d
win7-.text win7-pe
win10-.text
ALIN
A
Acr
oRd3
2
Mic
roso
ftEdg
e
chro
me
expl
orer
firef
ox
svch
ost
win
logo
n0
50
100
Rat
io d
e si
mil
itud
win7-.rsrc
ALIN
A
Acr
oRd3
2
Mic
roso
ftEdg
e
chro
me
expl
orer
firef
ox
svch
ost
win
logo
n0
50
100
Rat
io d
e si
mil
itud
Resultados – caso C
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 20 / 29
Experimentación
win10-pe
Mismo programa y SO, distinta arquitectura
ALIN
A
Acr
oRd3
2
chro
me
expl
orer
firef
ox
iexp
lore
svch
ost
win
logo
n0
50
100
Rat
io d
e si
mil
itu
d
ALIN
A
Acr
oRd3
2
chro
me
expl
orer
firef
ox
iexp
lore
svch
ost
win
logo
n0
50
100
Rat
io d
e si
mil
itu
d
ALIN
A
Acr
oRd3
2
chro
me
expl
orer
firef
ox
iexp
lore
svch
ost
win
logo
n0
50
100
Rat
io d
e si
mil
itu
d
Resultados – caso D
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 21 / 29
Experimentación
Win7-x86-.text
Win7-x64-.text Win7-x64-pe
Win7-x86-pe
Win7-x86-.rsrc
Mismo programa y misma máquina, distinta versión
chrom e firefox0
50
100
Rat
io d
e si
mil
itud
chrom e firefox0
50
100
Rat
io d
e si
mil
itud
chrom e firefox0
50
100
Rat
io d
e si
mil
itud
chrom e firefox0
50
100
Rat
io d
e si
mil
itud
chrom e firefox0
50
100
Rat
io d
e si
mil
itud
Herramientas y publicaciones
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 22 / 29
Trabajo relacionado
Herramientas y publicaciones
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 22 / 29
Trabajo relacionado
Malfunction: Análisis de funcionesBinwally: Detección de cambios entre versiones de software
Herramientas
Herramientas y publicaciones
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 22 / 29
Trabajo relacionado
Malfunction: Análisis de funcionesBinwally: Detección de cambios entre versiones de software
Herramientas
[SBAAN16] Evaluación de algoritmos fuzzy hash[NMAM+16] Análisis estático de ejecutables[AS15] Malware → JPEG. Clusterización.
Publicaciones
Conclusiones
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 23 / 29
Conclusiones y líneas futuras
Conclusiones
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 23 / 29
Conclusiones y líneas futuras
Mejor algoritmo: dcfldd (BBH)TLSH (LSH) irregularSdhash (SIF) y ssdeep (CTPH) similar (ssdeep más ceros)
Conclusiones
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 23 / 29
Conclusiones y líneas futuras
Mejor algoritmo: dcfldd (BBH)TLSH (LSH) irregularSdhash (SIF) y ssdeep (CTPH) similar (ssdeep más ceros)
Mejor sección: datos sólo lecturaSección de código en segundo lugar, ejecutable completo últimoSección de código en x64 casi como datos lecturaVariaciones en código muy dependiente del programa
Conclusiones
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 23 / 29
Conclusiones y líneas futuras
Mejor algoritmo: dcfldd (BBH)TLSH (LSH) irregularSdhash (SIF) y ssdeep (CTPH) similar (ssdeep más ceros)
Mejor sección: datos sólo lecturaSección de código en segundo lugar, ejecutable completo últimoSección de código en x64 casi como datos lecturaVariaciones en código muy dependiente del programa
ProgramasALINA no supera el 50%Procesos de sistema dan resultados excelentescaso AVersiones del mismo software varían mucho salvo en datos de lectura
Líneas futuras
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 24 / 29
Conclusiones y líneas futuras
Líneas futuras
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 24 / 29
Conclusiones y líneas futuras
Independencia de otros plugins
Líneas futuras
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 24 / 29
Conclusiones y líneas futuras
Independencia de otros plugins
Paralelización completa
Líneas futuras
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 24 / 29
Conclusiones y líneas futuras
Independencia de otros plugins
Paralelización completa
Implementación de más algoritmos
Líneas futuras
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 24 / 29
Conclusiones y líneas futuras
Independencia de otros plugins
Paralelización completa
Implementación de más algoritmos
Extender herramienta para hash de otras
partes de la cabecera
Líneas futuras
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 24 / 29
Conclusiones y líneas futuras
Independencia de otros plugins
Paralelización completa
Implementación de más algoritmos
Extender herramienta para hash de otras
partes de la cabecera
Estudiar otras partes de un proceso
Líneas futuras
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 24 / 29
Conclusiones y líneas futuras
Independencia de otros plugins
Paralelización completa
Implementación de más algoritmos
Extender herramienta para hash de otras
partes de la cabecera
Estudiar otras partes de un proceso
Evaluación de rendimiento de algoritmos
Líneas futuras
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 24 / 29
Conclusiones y líneas futuras
Independencia de otros plugins
Paralelización completa
Implementación de más algoritmos
Extender herramienta para hash de otras
partes de la cabecera
Estudiar otras partes de un proceso
Evaluación de rendimiento de algoritmos
Ampliar a más tipos de malware
Trabajo Fin de Grado – Grado en Ingeniería InformáticaEscuela de Ingeniería y Arquitectura
Universidad de Zaragoza
Evaluación de algoritmos de fuzzy hashing para similitud entre procesos
Director: Ricardo J. Rodríguez
Septiembre de 2017
Curso 16/17
Iñaki Abadía Osta
Ponente: José Merseguer Hernáiz
Horas de trabajo
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 26 / 29
Anexos
w. 06 w. 07 w. 08 w. 09 w. 10 w. 11 w. 12 w. 13 w. 14 w. 15 w. 16 w. 17 w. 18 w. 19 w. 20 w. 21 w. 22 w. 23 w. 24 w. 25 w. 26 w. 27 w. 28 w. 29 w. 30 w. 31 w. 32 w. 33 w. 34
Lanzamiento
Planificación del diseño
Planificación de implementación
Planificación de memoria
Reunión final
Estado del Arte
Algoritmos de Fuzzy Hash
Volatility
Plugins de Volatility
Arquitectura de alto nivel
Arquitectura de implementación
Plugin de Volatility
Algoritmos de Fuzzy Hash
Preparación de entorno
Extracción de hashes
Comparación de hashes
LaTeX setup
Redacción
Figuras
Reuniones
Investigación
Aprendizaje
Diseño
Implementación
Experimentación
Memoria
Horas de trabajo
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 27 / 29
Anexos
Aprendizaje
Diseño e Implemen tación
Experimentación
Investigación
Memoria
Reuniones
Tare
as
0 10 20 30 40 50 60 70 80 90 100
Horas
15
30.5
55
72.5
90.5
37.5
Horas de trabajo
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 27 / 29
Anexos
Aprendizaje
Diseño e Implemen tación
Experimentación
Investigación
Memoria
Reuniones
Tare
as
0 10 20 30 40 50 60 70 80 90 100
Horas
15
30.5
55
72.5
90.5
37.5
Total: 301 horas
Bibliografía I
I. Abadía Osta Evaluación de algoritmos de fuzzy hashing para similitud entre processos 28 / 29
Anexos
[AT17] AV-TEST. Malware statistics. https://www.av-test.org/en/statistics/malware/, 2017. [Online; accedido 26 de Julio de 2017].
[SBAAN16] N. Sarantinos, C. Benzaïd, O. Arabiat, and A. Al-Nemrat. ForensicMalware Analysis: The Value of Fuzzy Hashing Algorithms in IdentifyingSimilarities. In 2016 IEEE Trustcom/BigDataSE/ISPA, pages 1782-1787, Aug2016.
[NMAM+16] A. P. Namanya, Q. K. A. Mirza, H. Al-Mohannadi, I. U. Awan, and J. F. P. Disso. Detection of Malicious Portable Executables Using EvidenceCombinational Theory with Fuzzy Hashing. In 2016 IEEE 4th International Conference on Future Internet of Things and Cloud (FiCloud), pages 91-98, Aug2016.
[AS15] M. Arefkhani and M. Soryani. Malware clustering using image processing hashes. In 2015 9th Iranian Conference on Machine Vision and Image Processing (MVIP), pages 214-218, Nov 2015.
Trabajo Fin de Grado – Grado en Ingeniería InformáticaEscuela de Ingeniería y Arquitectura
Universidad de Zaragoza
Evaluación de algoritmos de fuzzy hashing para similitud entre procesos
Director: Ricardo J. Rodríguez
Septiembre de 2017
Curso 16/17
Iñaki Abadía Osta
Ponente: José Merseguer Hernáiz