SlideShare uma empresa Scribd logo
1 de 36
Baixar para ler offline
Parte I Parte II Parte III
An´alise Transparente de Malware com Suporte
por Hardware
Marcus Botacin1, Andr´e Gr´egio1,2, Paulo L´ıcio de Geus1
1Instituto de Computac¸˜ao - UNICAMP
{marcus,paulo}@lasca.ic.unicamp.br
2Universidade Federal do Paran´a (UFPR)
gregio@inf.ufpr.br
09 de Novembro de 2016
An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
T´opicos
1 Parte I
Introduc¸˜ao
Trabalhos Relacionados
2 Parte II
Fundamentos
Proposta
Implementac¸˜ao
Resultados
3 Parte III
Considerac¸˜oes Finais
Conclus˜oes e Agradecimentos
An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Introduc¸˜ao
T´opicos
1 Parte I
Introduc¸˜ao
Trabalhos Relacionados
2 Parte II
Fundamentos
Proposta
Implementac¸˜ao
Resultados
3 Parte III
Considerac¸˜oes Finais
Conclus˜oes e Agradecimentos
An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Introduc¸˜ao
Panorama
Malware
Ameac¸as persistentes.
Propagac¸˜ao crescente de exemplares.
Uso de t´ecnicas de anti-an´alise.
Cen´ario Atual
Packers e ofuscac¸˜ao.
Detecc¸˜ao de efeitos colaterais de emulac¸˜ao.
Detecc¸˜ao de injec¸˜ao de c´odigo em runtime.
Objetivos
Desenvolvimento de soluc¸˜ao de an´alise transparente.
An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Trabalhos Relacionados
T´opicos
1 Parte I
Introduc¸˜ao
Trabalhos Relacionados
2 Parte II
Fundamentos
Proposta
Implementac¸˜ao
Resultados
3 Parte III
Considerac¸˜oes Finais
Conclus˜oes e Agradecimentos
An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Trabalhos Relacionados
Trabalhos Relacionados
Hardware Virtual Machines (HVM)
Monitoramento Externo.
Exige escrita de hypervisor.
System Management Mode (SMM)
Monitoramento a partir da BIOS.
Exige reescrita da BIOS.
Monitores de Performance
Focados em Efeitos Colaterais.
Limitac¸˜oes de implementac¸˜ao.
An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Trabalhos Relacionados
Implementac¸˜oes Atuais
Kbouncer, ROPecker, CFIMon, e outros
Focados em ROP.
Injec¸˜ao de c´odigo.
Base Est´atica.
Implementac¸˜ao como extens˜ao ou m´odulo.
Proposta
Soluc¸˜ao Modular.
Sem injec¸˜ao de c´odigo.
Reconstruc¸˜ao de fluxos.
An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Fundamentos
T´opicos
1 Parte I
Introduc¸˜ao
Trabalhos Relacionados
2 Parte II
Fundamentos
Proposta
Implementac¸˜ao
Resultados
3 Parte III
Considerac¸˜oes Finais
Conclus˜oes e Agradecimentos
An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Fundamentos
Monitorac¸˜ao de branch
Definic¸˜ao
Recurso do processador.
Armazenamento em registradores ou em mem´oria.
Dividido em LBR/BTS e PEBS.
Funcionamento
Interrupc¸˜ao ao atingir threshold.
Filtragem de ac¸˜oes e por privil´egio.
Acesso via kernel.
An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Fundamentos
Monitorac¸˜ao de branch
LBR/BTS
JNE,JMP,CALL,RET.
Tratamento de Excec¸˜oes.
Usado por soluc¸˜oes que tratam ROP.
PEBS
Cache hit/miss, branches predicted.
Usado por soluc¸˜oes que tratam efeitos colaterais.
An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Proposta
T´opicos
1 Parte I
Introduc¸˜ao
Trabalhos Relacionados
2 Parte II
Fundamentos
Proposta
Implementac¸˜ao
Resultados
3 Parte III
Considerac¸˜oes Finais
Conclus˜oes e Agradecimentos
An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Proposta
Proposta de soluc¸˜ao.
Funcionamento
Threshold de 1 desvio.
Interrupc¸˜ao para isolamento de processos.
Introspecc¸˜ao de sistema para obtenc¸˜ao de contexto.
Dump da mem´oria de instruc¸˜oes para reconstruir fluxo de
controle.
Modelo de Ameac¸as
N´ıvel de usu´ario.
Single-Core.
Chamadas de API do sistema.
Sistema Operacional moderno.
An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Implementac¸˜ao
T´opicos
1 Parte I
Introduc¸˜ao
Trabalhos Relacionados
2 Parte II
Fundamentos
Proposta
Implementac¸˜ao
Resultados
3 Parte III
Considerac¸˜oes Finais
Conclus˜oes e Agradecimentos
An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Implementac¸˜ao
Implementac¸˜ao
Captura de Dados
Model Specific Register (MSR) exige driver de kernel.
Tratamento de Interrupc¸˜oes
Local Vector Table (LVT).
HalpPerfInterruptHandler hook.
Non Maskable Interrupt (NMI).
Arquitetura
Cliente-Servidor.
Captura system-wide.
Cliente implementa pol´ıticas e isolamento.
An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Implementac¸˜ao
Implementac¸˜ao
Identificac¸˜ao de Processos
PsGetCurrentProcessId
Acesso `a mem´oria
ReadProcessMemory.
Bibliotecas Carregadas
GetModuleHandle
Disassembly
LibOpcodes
Capstone
An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Implementac¸˜ao
Introspecc¸˜ao.
Tabela : Exemplo do efeito do mecanismo de aleatorizac¸˜ao de enderec¸os
(ASLR) sobre os m´odulos dinˆamicos em duas inicializac¸˜oes consecutivas
do SO.
M´odulo Enderec¸o M´odulo Enderec¸o
ntdll.dll 0xBAF80000 ntdll.dll 0x987B0000
KERNEL32.DLL 0xB9610000 KERNEL32.DLL 0x98670000
KERNELBASE.dll 0xB8190000 KERNELBASE.dll 0x958C0000
NETAPI32.dll 0xB6030000 NETAPI32.dll 0x93890000
An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Implementac¸˜ao
Introspecc¸˜ao.
Tabela : Exemplos de offsets das func¸˜oes de biblioteca ntdll.dll
Fun¸c˜ao Offset
NtCreateProcess 0x3691
NtCreateProcessEx 0x30B0
NtCreateProfile 0x36A1
NtCreateProfileEx 0x36B1
NtCreateResourceManager 0x36C1
NtCreateSemaphore 0x36D1
NtCreateSymbolicLinkObject 0x36E1
NtCreateThread 0x30C0
NtCreateThreadEx 0x36F1
An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Implementac¸˜ao
Introspecc¸˜ao.
Figura : Diagrama de funcionamento do mecanismo de introspecc¸˜ao para
associac¸˜ao de nomes de func¸˜oes a enderec¸os de m´odulos.
An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Implementac¸˜ao
Disassembly.
Figura : Identificac¸˜ao de um bloco de c´odigo atrav´es de duas instruc¸˜oes
de desvio consecutivas.
An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Implementac¸˜ao
Disassembly.
Listagem 1 : Exemplo de buffer de instruc¸˜oes obtido a partir dos
enderec¸os fornecidos pelo mecanismo BTS.
1  x f f x15x0ax11x00x00x48x8dx0d x9f x11x00
x00
Listagem 2 : Convers˜ao das instruc¸˜oes do buffer para opcodes.
1 0x1000 ( s i z e =6) c a l l QWORD PTR [ r i p+0x110a ]
2 0x1006 ( s i z e =7) l e a rcx , [ r i p+0x119f ]
An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Resultados
T´opicos
1 Parte I
Introduc¸˜ao
Trabalhos Relacionados
2 Parte II
Fundamentos
Proposta
Implementac¸˜ao
Resultados
3 Parte III
Considerac¸˜oes Finais
Conclus˜oes e Agradecimentos
An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Resultados
Testes - CG.
Listagem 3 : C´odigo de exemplo para a reconstruc¸˜ao do CG.
1 scanf (”%d”,&n) ;
2 scanf (”%s ” , v a l ) ;
3 f o r ( i =0; i <n ; i++)
4 p r i n t f (”%s n ” , v a l ) ;
An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Resultados
Testes - CG.
Figura : Visualizac¸˜ao completa de trecho do CG.
Figura : Visualizac¸˜ao do CG reduzido.
An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Resultados
Testes - CFG.
Listagem 4 : C´odigo de exemplo para a reconstruc¸˜ao do CFG.
1 a=0;
2 scanf (”%d”,&n) ;
3 f o r ( i =0; i <n ; i++)
4 i f ( i %2==0)
5 a++
6 e l s e
7 a−−
8 p r i n t f (”%dn ” , a )
An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Resultados
Testes - CFG.
Figura : CFG reconstru´ıdo a partir da execuc¸˜ao do c´odigo de exemplo.
An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Resultados
Exemplares Reais.
Tabela : Comparac¸˜ao entre exemplares evasivos reais em execuc¸˜ao em
nossa soluc¸˜ao e em outra sandbox.
Amostra (MD5) BehEMOT Esta Soluc¸˜ao
f03c0df1f046197019e12f3b41ad8fb2  
2b647bdf374a2d047561212c603f54ea  
7a4b29df077d16c1c186f57403a94356  
340573dd85cf72cdce68c9ddf7abcce6  
An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Resultados
Discuss˜ao.
CFG
Branch determina o bloco.
Desvios reais - n˜ao ´e afetado por desalinhamento.
Online Disassembly permite avaliar c´odigo gerado em runtime.
Desafios
N´ıvel de Abstrac¸˜ao (semantic gap).
Interpretac¸˜ao de desvios n˜ao tomados.
Perda do controle quando em kernel.
An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Resultados
Discuss˜ao.
Portabilidade
Soluc¸˜ao Port´avel.
Recurso do processador.
T´ecnicas independentes de plataforma.
Depende de Bibliotecas.
An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Resultados
Overhead.
Habilitac¸˜ao do Mecanismo
1%.
Coleta de dados
14%.
Introspecc¸˜ao
26%.
Disassembly
26%.
An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Resultados
Overhead.
Comparac¸˜ao
Esta Soluc¸˜aoa: 43%.
Ether: 72%.
MAVMM: 100%.
a
disassembly offline
Reduzindo o Overhead
Disassembly offline.
Uso de m´ultiplos n´ucleos.
Uso de banco de dados de c´odigo.
An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Considerac¸˜oes Finais
T´opicos
1 Parte I
Introduc¸˜ao
Trabalhos Relacionados
2 Parte II
Fundamentos
Proposta
Implementac¸˜ao
Resultados
3 Parte III
Considerac¸˜oes Finais
Conclus˜oes e Agradecimentos
An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Considerac¸˜oes Finais
An´alise dos Resultados
Sumarizac¸˜ao
Exemplares aplicam t´ecnicas de anti-an´alise.
Soluc¸˜oes precisam ser transparentes.
Mecanismos existentes tem grande custo de desenvolvimento.
Mecanismo de monitorac¸˜ao de Branch pode ser utilizado.
An´alise ´e transparente.
Custo de desenvolvimento ´e baixo (kernel driver).
Overhead compar´avel ao estado-da-arte.
Validac¸˜ao com exemplares reais.
An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Considerac¸˜oes Finais
Limitac¸˜oes e Trabalhos Futuros
Limitac¸˜oes
An´alise em kernel.
Uso de APIs do sistema.
Maior granularidade do que HVM e SMM.
Trabalhos Futuros
Aplicac¸˜ao a clusterizac¸˜ao de exemplares de malware evasivos.
An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Conclus˜oes e Agradecimentos
T´opicos
1 Parte I
Introduc¸˜ao
Trabalhos Relacionados
2 Parte II
Fundamentos
Proposta
Implementac¸˜ao
Resultados
3 Parte III
Considerac¸˜oes Finais
Conclus˜oes e Agradecimentos
An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Conclus˜oes e Agradecimentos
Conclus˜oes
Conclus˜oes
Mecanismos de an´alise transparente precisam ser
desenvolvidos.
Uso dos monitores de performance como meio transparente.
Reconstruc¸˜ao de fluxos (CG e CFG) ´e vi´avel.
An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Conclus˜oes e Agradecimentos
Agradecimentos
CNPq, pelo financiamento via Proj. MCTI/CNPq/Universal-A
edital 14/2014 (Processo 444487/2014-0)
CAPES, pelo financiamento via Proj. FORTE - Forense Digital
Tempestiva e Eficiente (Processo: 23038.007604/2014-69).
Instituto de Computac¸˜ao/Unicamp
Departamento de Inform´atica/UFPR
Contato:
marcus@lasca.ic.unicamp.br
paulo@lasca.ic.unicamp.br
gregio@inf.ufpr.br
An´alise Transparente de Malware com Suporte por Hardware SBSeg’16

Mais conteúdo relacionado

Semelhante a XVII SBSEG: Análise Transparente de Malware com Suporte por Hardware

Semelhante a XVII SBSEG: Análise Transparente de Malware com Suporte por Hardware (20)

Criando microsserviços em PHP
Criando microsserviços em PHPCriando microsserviços em PHP
Criando microsserviços em PHP
 
ava facul uva unijorge (146).pdf
ava facul uva unijorge (146).pdfava facul uva unijorge (146).pdf
ava facul uva unijorge (146).pdf
 
Relatorio urna
Relatorio urnaRelatorio urna
Relatorio urna
 
Palestra - FACSENAC - De Hacker e louco, todo mundo tem um pouco
Palestra - FACSENAC - De Hacker e louco, todo mundo tem um poucoPalestra - FACSENAC - De Hacker e louco, todo mundo tem um pouco
Palestra - FACSENAC - De Hacker e louco, todo mundo tem um pouco
 
Facsenac - De hacker e louco, todo mundo tem um pouco
Facsenac - De hacker e louco, todo mundo tem um poucoFacsenac - De hacker e louco, todo mundo tem um pouco
Facsenac - De hacker e louco, todo mundo tem um pouco
 
Sistemas de Automação I - Interrupções
Sistemas de Automação I - InterrupçõesSistemas de Automação I - Interrupções
Sistemas de Automação I - Interrupções
 
[CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl
[CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl[CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl
[CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl
 
Tech g-buster
Tech   g-busterTech   g-buster
Tech g-buster
 
SIC_201_VRSJ
SIC_201_VRSJSIC_201_VRSJ
SIC_201_VRSJ
 
Testes de Software - Módulo 1
Testes de Software - Módulo 1Testes de Software - Módulo 1
Testes de Software - Módulo 1
 
Apostila Visualg
Apostila VisualgApostila Visualg
Apostila Visualg
 
White Paper - Antivirus é eficiente para a proteção de redes industriais?
White Paper - Antivirus é eficiente para a proteção de redes industriais?White Paper - Antivirus é eficiente para a proteção de redes industriais?
White Paper - Antivirus é eficiente para a proteção de redes industriais?
 
Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos M...
Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos M...Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos M...
Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos M...
 
Manual dicas tecnicasavancadasdesenvolvimentosoftwareclp
Manual dicas tecnicasavancadasdesenvolvimentosoftwareclpManual dicas tecnicasavancadasdesenvolvimentosoftwareclp
Manual dicas tecnicasavancadasdesenvolvimentosoftwareclp
 
Aula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdfAula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdf
 
Monitoramento de malware em Windows NT 6.x - 64bits
Monitoramento de malware em Windows NT 6.x - 64bitsMonitoramento de malware em Windows NT 6.x - 64bits
Monitoramento de malware em Windows NT 6.x - 64bits
 
Apostila supervisorio indusoft ind371
Apostila supervisorio indusoft ind371Apostila supervisorio indusoft ind371
Apostila supervisorio indusoft ind371
 
Proposta para Aceleração de Desempenho de Algoritmos de Visão Computacional e...
Proposta para Aceleração de Desempenho de Algoritmos de Visão Computacional e...Proposta para Aceleração de Desempenho de Algoritmos de Visão Computacional e...
Proposta para Aceleração de Desempenho de Algoritmos de Visão Computacional e...
 
Pentest conisli07
Pentest conisli07Pentest conisli07
Pentest conisli07
 
3.0018.01.01 manual dicas_tecnicasavancadasdesenvolvimentosoftwareclp
3.0018.01.01 manual dicas_tecnicasavancadasdesenvolvimentosoftwareclp3.0018.01.01 manual dicas_tecnicasavancadasdesenvolvimentosoftwareclp
3.0018.01.01 manual dicas_tecnicasavancadasdesenvolvimentosoftwareclp
 

Mais de Marcus Botacin

Mais de Marcus Botacin (20)

Machine Learning by Examples - Marcus Botacin - TAMU 2024
Machine Learning by Examples - Marcus Botacin - TAMU 2024Machine Learning by Examples - Marcus Botacin - TAMU 2024
Machine Learning by Examples - Marcus Botacin - TAMU 2024
 
Near-memory & In-Memory Detection of Fileless Malware
Near-memory & In-Memory Detection of Fileless MalwareNear-memory & In-Memory Detection of Fileless Malware
Near-memory & In-Memory Detection of Fileless Malware
 
GPThreats-3: Is Automated Malware Generation a Threat?
GPThreats-3: Is Automated Malware Generation a Threat?GPThreats-3: Is Automated Malware Generation a Threat?
GPThreats-3: Is Automated Malware Generation a Threat?
 
[HackInTheBOx] All You Always Wanted to Know About Antiviruses
[HackInTheBOx] All You Always Wanted to Know About Antiviruses[HackInTheBOx] All You Always Wanted to Know About Antiviruses
[HackInTheBOx] All You Always Wanted to Know About Antiviruses
 
[Usenix Enigma\ Why Is Our Security Research Failing? Five Practices to Change!
[Usenix Enigma\ Why Is Our Security Research Failing? Five Practices to Change![Usenix Enigma\ Why Is Our Security Research Failing? Five Practices to Change!
[Usenix Enigma\ Why Is Our Security Research Failing? Five Practices to Change!
 
Hardware-accelerated security monitoring
Hardware-accelerated security monitoringHardware-accelerated security monitoring
Hardware-accelerated security monitoring
 
How do we detect malware? A step-by-step guide
How do we detect malware? A step-by-step guideHow do we detect malware? A step-by-step guide
How do we detect malware? A step-by-step guide
 
Among Viruses, Trojans, and Backdoors:Fighting Malware in 2022
Among Viruses, Trojans, and Backdoors:Fighting Malware in 2022Among Viruses, Trojans, and Backdoors:Fighting Malware in 2022
Among Viruses, Trojans, and Backdoors:Fighting Malware in 2022
 
Extraindo Caracterı́sticas de Arquivos Binários Executáveis
Extraindo Caracterı́sticas de Arquivos Binários ExecutáveisExtraindo Caracterı́sticas de Arquivos Binários Executáveis
Extraindo Caracterı́sticas de Arquivos Binários Executáveis
 
On the Malware Detection Problem: Challenges & Novel Approaches
On the Malware Detection Problem: Challenges & Novel ApproachesOn the Malware Detection Problem: Challenges & Novel Approaches
On the Malware Detection Problem: Challenges & Novel Approaches
 
All You Need to Know to Win a Cybersecurity Adversarial Machine Learning Comp...
All You Need to Know to Win a Cybersecurity Adversarial Machine Learning Comp...All You Need to Know to Win a Cybersecurity Adversarial Machine Learning Comp...
All You Need to Know to Win a Cybersecurity Adversarial Machine Learning Comp...
 
Near-memory & In-Memory Detection of Fileless Malware
Near-memory & In-Memory Detection of Fileless MalwareNear-memory & In-Memory Detection of Fileless Malware
Near-memory & In-Memory Detection of Fileless Malware
 
Does Your Threat Model Consider Country and Culture? A Case Study of Brazilia...
Does Your Threat Model Consider Country and Culture? A Case Study of Brazilia...Does Your Threat Model Consider Country and Culture? A Case Study of Brazilia...
Does Your Threat Model Consider Country and Culture? A Case Study of Brazilia...
 
Integridade, confidencialidade, disponibilidade, ransomware
Integridade, confidencialidade, disponibilidade, ransomwareIntegridade, confidencialidade, disponibilidade, ransomware
Integridade, confidencialidade, disponibilidade, ransomware
 
An Empirical Study on the Blocking of HTTP and DNS Requests at Providers Leve...
An Empirical Study on the Blocking of HTTP and DNS Requests at Providers Leve...An Empirical Study on the Blocking of HTTP and DNS Requests at Providers Leve...
An Empirical Study on the Blocking of HTTP and DNS Requests at Providers Leve...
 
On the Security of Application Installers & Online Software Repositories
On the Security of Application Installers & Online Software RepositoriesOn the Security of Application Installers & Online Software Repositories
On the Security of Application Installers & Online Software Repositories
 
UMLsec
UMLsecUMLsec
UMLsec
 
The Internet Banking [in]Security Spiral: Past, Present, and Future of Online...
The Internet Banking [in]Security Spiral: Past, Present, and Future of Online...The Internet Banking [in]Security Spiral: Past, Present, and Future of Online...
The Internet Banking [in]Security Spiral: Past, Present, and Future of Online...
 
Análise do Malware Ativo na Internet Brasileira: 4 anos depois. O que mudou?
Análise do Malware Ativo na Internet Brasileira: 4 anos depois. O que mudou?Análise do Malware Ativo na Internet Brasileira: 4 anos depois. O que mudou?
Análise do Malware Ativo na Internet Brasileira: 4 anos depois. O que mudou?
 
Towards Malware Decompilation and Reassembly
Towards Malware Decompilation and ReassemblyTowards Malware Decompilation and Reassembly
Towards Malware Decompilation and Reassembly
 

XVII SBSEG: Análise Transparente de Malware com Suporte por Hardware

  • 1. Parte I Parte II Parte III An´alise Transparente de Malware com Suporte por Hardware Marcus Botacin1, Andr´e Gr´egio1,2, Paulo L´ıcio de Geus1 1Instituto de Computac¸˜ao - UNICAMP {marcus,paulo}@lasca.ic.unicamp.br 2Universidade Federal do Paran´a (UFPR) gregio@inf.ufpr.br 09 de Novembro de 2016 An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
  • 2. Parte I Parte II Parte III T´opicos 1 Parte I Introduc¸˜ao Trabalhos Relacionados 2 Parte II Fundamentos Proposta Implementac¸˜ao Resultados 3 Parte III Considerac¸˜oes Finais Conclus˜oes e Agradecimentos An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
  • 3. Parte I Parte II Parte III Introduc¸˜ao T´opicos 1 Parte I Introduc¸˜ao Trabalhos Relacionados 2 Parte II Fundamentos Proposta Implementac¸˜ao Resultados 3 Parte III Considerac¸˜oes Finais Conclus˜oes e Agradecimentos An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
  • 4. Parte I Parte II Parte III Introduc¸˜ao Panorama Malware Ameac¸as persistentes. Propagac¸˜ao crescente de exemplares. Uso de t´ecnicas de anti-an´alise. Cen´ario Atual Packers e ofuscac¸˜ao. Detecc¸˜ao de efeitos colaterais de emulac¸˜ao. Detecc¸˜ao de injec¸˜ao de c´odigo em runtime. Objetivos Desenvolvimento de soluc¸˜ao de an´alise transparente. An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
  • 5. Parte I Parte II Parte III Trabalhos Relacionados T´opicos 1 Parte I Introduc¸˜ao Trabalhos Relacionados 2 Parte II Fundamentos Proposta Implementac¸˜ao Resultados 3 Parte III Considerac¸˜oes Finais Conclus˜oes e Agradecimentos An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
  • 6. Parte I Parte II Parte III Trabalhos Relacionados Trabalhos Relacionados Hardware Virtual Machines (HVM) Monitoramento Externo. Exige escrita de hypervisor. System Management Mode (SMM) Monitoramento a partir da BIOS. Exige reescrita da BIOS. Monitores de Performance Focados em Efeitos Colaterais. Limitac¸˜oes de implementac¸˜ao. An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
  • 7. Parte I Parte II Parte III Trabalhos Relacionados Implementac¸˜oes Atuais Kbouncer, ROPecker, CFIMon, e outros Focados em ROP. Injec¸˜ao de c´odigo. Base Est´atica. Implementac¸˜ao como extens˜ao ou m´odulo. Proposta Soluc¸˜ao Modular. Sem injec¸˜ao de c´odigo. Reconstruc¸˜ao de fluxos. An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
  • 8. Parte I Parte II Parte III Fundamentos T´opicos 1 Parte I Introduc¸˜ao Trabalhos Relacionados 2 Parte II Fundamentos Proposta Implementac¸˜ao Resultados 3 Parte III Considerac¸˜oes Finais Conclus˜oes e Agradecimentos An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
  • 9. Parte I Parte II Parte III Fundamentos Monitorac¸˜ao de branch Definic¸˜ao Recurso do processador. Armazenamento em registradores ou em mem´oria. Dividido em LBR/BTS e PEBS. Funcionamento Interrupc¸˜ao ao atingir threshold. Filtragem de ac¸˜oes e por privil´egio. Acesso via kernel. An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
  • 10. Parte I Parte II Parte III Fundamentos Monitorac¸˜ao de branch LBR/BTS JNE,JMP,CALL,RET. Tratamento de Excec¸˜oes. Usado por soluc¸˜oes que tratam ROP. PEBS Cache hit/miss, branches predicted. Usado por soluc¸˜oes que tratam efeitos colaterais. An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
  • 11. Parte I Parte II Parte III Proposta T´opicos 1 Parte I Introduc¸˜ao Trabalhos Relacionados 2 Parte II Fundamentos Proposta Implementac¸˜ao Resultados 3 Parte III Considerac¸˜oes Finais Conclus˜oes e Agradecimentos An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
  • 12. Parte I Parte II Parte III Proposta Proposta de soluc¸˜ao. Funcionamento Threshold de 1 desvio. Interrupc¸˜ao para isolamento de processos. Introspecc¸˜ao de sistema para obtenc¸˜ao de contexto. Dump da mem´oria de instruc¸˜oes para reconstruir fluxo de controle. Modelo de Ameac¸as N´ıvel de usu´ario. Single-Core. Chamadas de API do sistema. Sistema Operacional moderno. An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
  • 13. Parte I Parte II Parte III Implementac¸˜ao T´opicos 1 Parte I Introduc¸˜ao Trabalhos Relacionados 2 Parte II Fundamentos Proposta Implementac¸˜ao Resultados 3 Parte III Considerac¸˜oes Finais Conclus˜oes e Agradecimentos An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
  • 14. Parte I Parte II Parte III Implementac¸˜ao Implementac¸˜ao Captura de Dados Model Specific Register (MSR) exige driver de kernel. Tratamento de Interrupc¸˜oes Local Vector Table (LVT). HalpPerfInterruptHandler hook. Non Maskable Interrupt (NMI). Arquitetura Cliente-Servidor. Captura system-wide. Cliente implementa pol´ıticas e isolamento. An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
  • 15. Parte I Parte II Parte III Implementac¸˜ao Implementac¸˜ao Identificac¸˜ao de Processos PsGetCurrentProcessId Acesso `a mem´oria ReadProcessMemory. Bibliotecas Carregadas GetModuleHandle Disassembly LibOpcodes Capstone An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
  • 16. Parte I Parte II Parte III Implementac¸˜ao Introspecc¸˜ao. Tabela : Exemplo do efeito do mecanismo de aleatorizac¸˜ao de enderec¸os (ASLR) sobre os m´odulos dinˆamicos em duas inicializac¸˜oes consecutivas do SO. M´odulo Enderec¸o M´odulo Enderec¸o ntdll.dll 0xBAF80000 ntdll.dll 0x987B0000 KERNEL32.DLL 0xB9610000 KERNEL32.DLL 0x98670000 KERNELBASE.dll 0xB8190000 KERNELBASE.dll 0x958C0000 NETAPI32.dll 0xB6030000 NETAPI32.dll 0x93890000 An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
  • 17. Parte I Parte II Parte III Implementac¸˜ao Introspecc¸˜ao. Tabela : Exemplos de offsets das func¸˜oes de biblioteca ntdll.dll Fun¸c˜ao Offset NtCreateProcess 0x3691 NtCreateProcessEx 0x30B0 NtCreateProfile 0x36A1 NtCreateProfileEx 0x36B1 NtCreateResourceManager 0x36C1 NtCreateSemaphore 0x36D1 NtCreateSymbolicLinkObject 0x36E1 NtCreateThread 0x30C0 NtCreateThreadEx 0x36F1 An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
  • 18. Parte I Parte II Parte III Implementac¸˜ao Introspecc¸˜ao. Figura : Diagrama de funcionamento do mecanismo de introspecc¸˜ao para associac¸˜ao de nomes de func¸˜oes a enderec¸os de m´odulos. An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
  • 19. Parte I Parte II Parte III Implementac¸˜ao Disassembly. Figura : Identificac¸˜ao de um bloco de c´odigo atrav´es de duas instruc¸˜oes de desvio consecutivas. An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
  • 20. Parte I Parte II Parte III Implementac¸˜ao Disassembly. Listagem 1 : Exemplo de buffer de instruc¸˜oes obtido a partir dos enderec¸os fornecidos pelo mecanismo BTS. 1 x f f x15x0ax11x00x00x48x8dx0d x9f x11x00 x00 Listagem 2 : Convers˜ao das instruc¸˜oes do buffer para opcodes. 1 0x1000 ( s i z e =6) c a l l QWORD PTR [ r i p+0x110a ] 2 0x1006 ( s i z e =7) l e a rcx , [ r i p+0x119f ] An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
  • 21. Parte I Parte II Parte III Resultados T´opicos 1 Parte I Introduc¸˜ao Trabalhos Relacionados 2 Parte II Fundamentos Proposta Implementac¸˜ao Resultados 3 Parte III Considerac¸˜oes Finais Conclus˜oes e Agradecimentos An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
  • 22. Parte I Parte II Parte III Resultados Testes - CG. Listagem 3 : C´odigo de exemplo para a reconstruc¸˜ao do CG. 1 scanf (”%d”,&n) ; 2 scanf (”%s ” , v a l ) ; 3 f o r ( i =0; i <n ; i++) 4 p r i n t f (”%s n ” , v a l ) ; An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
  • 23. Parte I Parte II Parte III Resultados Testes - CG. Figura : Visualizac¸˜ao completa de trecho do CG. Figura : Visualizac¸˜ao do CG reduzido. An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
  • 24. Parte I Parte II Parte III Resultados Testes - CFG. Listagem 4 : C´odigo de exemplo para a reconstruc¸˜ao do CFG. 1 a=0; 2 scanf (”%d”,&n) ; 3 f o r ( i =0; i <n ; i++) 4 i f ( i %2==0) 5 a++ 6 e l s e 7 a−− 8 p r i n t f (”%dn ” , a ) An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
  • 25. Parte I Parte II Parte III Resultados Testes - CFG. Figura : CFG reconstru´ıdo a partir da execuc¸˜ao do c´odigo de exemplo. An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
  • 26. Parte I Parte II Parte III Resultados Exemplares Reais. Tabela : Comparac¸˜ao entre exemplares evasivos reais em execuc¸˜ao em nossa soluc¸˜ao e em outra sandbox. Amostra (MD5) BehEMOT Esta Soluc¸˜ao f03c0df1f046197019e12f3b41ad8fb2 2b647bdf374a2d047561212c603f54ea 7a4b29df077d16c1c186f57403a94356 340573dd85cf72cdce68c9ddf7abcce6 An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
  • 27. Parte I Parte II Parte III Resultados Discuss˜ao. CFG Branch determina o bloco. Desvios reais - n˜ao ´e afetado por desalinhamento. Online Disassembly permite avaliar c´odigo gerado em runtime. Desafios N´ıvel de Abstrac¸˜ao (semantic gap). Interpretac¸˜ao de desvios n˜ao tomados. Perda do controle quando em kernel. An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
  • 28. Parte I Parte II Parte III Resultados Discuss˜ao. Portabilidade Soluc¸˜ao Port´avel. Recurso do processador. T´ecnicas independentes de plataforma. Depende de Bibliotecas. An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
  • 29. Parte I Parte II Parte III Resultados Overhead. Habilitac¸˜ao do Mecanismo 1%. Coleta de dados 14%. Introspecc¸˜ao 26%. Disassembly 26%. An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
  • 30. Parte I Parte II Parte III Resultados Overhead. Comparac¸˜ao Esta Soluc¸˜aoa: 43%. Ether: 72%. MAVMM: 100%. a disassembly offline Reduzindo o Overhead Disassembly offline. Uso de m´ultiplos n´ucleos. Uso de banco de dados de c´odigo. An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
  • 31. Parte I Parte II Parte III Considerac¸˜oes Finais T´opicos 1 Parte I Introduc¸˜ao Trabalhos Relacionados 2 Parte II Fundamentos Proposta Implementac¸˜ao Resultados 3 Parte III Considerac¸˜oes Finais Conclus˜oes e Agradecimentos An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
  • 32. Parte I Parte II Parte III Considerac¸˜oes Finais An´alise dos Resultados Sumarizac¸˜ao Exemplares aplicam t´ecnicas de anti-an´alise. Soluc¸˜oes precisam ser transparentes. Mecanismos existentes tem grande custo de desenvolvimento. Mecanismo de monitorac¸˜ao de Branch pode ser utilizado. An´alise ´e transparente. Custo de desenvolvimento ´e baixo (kernel driver). Overhead compar´avel ao estado-da-arte. Validac¸˜ao com exemplares reais. An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
  • 33. Parte I Parte II Parte III Considerac¸˜oes Finais Limitac¸˜oes e Trabalhos Futuros Limitac¸˜oes An´alise em kernel. Uso de APIs do sistema. Maior granularidade do que HVM e SMM. Trabalhos Futuros Aplicac¸˜ao a clusterizac¸˜ao de exemplares de malware evasivos. An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
  • 34. Parte I Parte II Parte III Conclus˜oes e Agradecimentos T´opicos 1 Parte I Introduc¸˜ao Trabalhos Relacionados 2 Parte II Fundamentos Proposta Implementac¸˜ao Resultados 3 Parte III Considerac¸˜oes Finais Conclus˜oes e Agradecimentos An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
  • 35. Parte I Parte II Parte III Conclus˜oes e Agradecimentos Conclus˜oes Conclus˜oes Mecanismos de an´alise transparente precisam ser desenvolvidos. Uso dos monitores de performance como meio transparente. Reconstruc¸˜ao de fluxos (CG e CFG) ´e vi´avel. An´alise Transparente de Malware com Suporte por Hardware SBSeg’16
  • 36. Parte I Parte II Parte III Conclus˜oes e Agradecimentos Agradecimentos CNPq, pelo financiamento via Proj. MCTI/CNPq/Universal-A edital 14/2014 (Processo 444487/2014-0) CAPES, pelo financiamento via Proj. FORTE - Forense Digital Tempestiva e Eficiente (Processo: 23038.007604/2014-69). Instituto de Computac¸˜ao/Unicamp Departamento de Inform´atica/UFPR Contato: marcus@lasca.ic.unicamp.br paulo@lasca.ic.unicamp.br gregio@inf.ufpr.br An´alise Transparente de Malware com Suporte por Hardware SBSeg’16