XVII SBSEG: Análise Transparente de Malware com Suporte por Hardware
-
Upload
marcus-botacin -
Category
Technology
-
view
58 -
download
0
Transcript of XVII SBSEG: Análise Transparente de Malware com Suporte por Hardware
Parte I Parte II Parte III
Analise Transparente de Malware com Suportepor Hardware
Marcus Botacin1, Andre Gregio1,2, Paulo Lıcio de Geus1
1Instituto de Computacao - UNICAMP{marcus,paulo}@lasca.ic.unicamp.br
2Universidade Federal do Parana (UFPR)[email protected]
09 de Novembro de 2016
Analise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Topicos
1 Parte IIntroducaoTrabalhos Relacionados
2 Parte IIFundamentosPropostaImplementacaoResultados
3 Parte IIIConsideracoes FinaisConclusoes e Agradecimentos
Analise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Introducao
Topicos
1 Parte IIntroducaoTrabalhos Relacionados
2 Parte IIFundamentosPropostaImplementacaoResultados
3 Parte IIIConsideracoes FinaisConclusoes e Agradecimentos
Analise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Introducao
Panorama
MalwareAmeacas persistentes.Propagacao crescente de exemplares.Uso de tecnicas de anti-analise.
Cenario AtualPackers e ofuscacao.Deteccao de efeitos colaterais de emulacao.Deteccao de injecao de codigo em runtime.
ObjetivosDesenvolvimento de solucao de analise transparente.
Analise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Trabalhos Relacionados
Topicos
1 Parte IIntroducaoTrabalhos Relacionados
2 Parte IIFundamentosPropostaImplementacaoResultados
3 Parte IIIConsideracoes FinaisConclusoes e Agradecimentos
Analise 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 PerformanceFocados em Efeitos Colaterais.Limitacoes de implementacao.
Analise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Trabalhos Relacionados
Implementacoes Atuais
Kbouncer, ROPecker, CFIMon, e outrosFocados em ROP.Injecao de codigo.Base Estatica.Implementacao como extensao ou modulo.
PropostaSolucao Modular.Sem injecao de codigo.Reconstrucao de fluxos.
Analise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Fundamentos
Topicos
1 Parte IIntroducaoTrabalhos Relacionados
2 Parte IIFundamentosPropostaImplementacaoResultados
3 Parte IIIConsideracoes FinaisConclusoes e Agradecimentos
Analise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Fundamentos
Monitoracao de branch
DefinicaoRecurso do processador.Armazenamento em registradores ou em memoria.Dividido em LBR/BTS e PEBS.
FuncionamentoInterrupcao ao atingir threshold.Filtragem de acoes e por privilegio.Acesso via kernel.
Analise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Fundamentos
Monitoracao de branch
LBR/BTSJNE,JMP,CALL,RET.Tratamento de Excecoes.Usado por solucoes que tratam ROP.
PEBSCache hit/miss, branches predicted.Usado por solucoes que tratam efeitos colaterais.
Analise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Proposta
Topicos
1 Parte IIntroducaoTrabalhos Relacionados
2 Parte IIFundamentosPropostaImplementacaoResultados
3 Parte IIIConsideracoes FinaisConclusoes e Agradecimentos
Analise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Proposta
Proposta de solucao.
FuncionamentoThreshold de 1 desvio.Interrupcao para isolamento de processos.Introspeccao de sistema para obtencao de contexto.Dump da memoria de instrucoes para reconstruir fluxo decontrole.
Modelo de AmeacasNıvel de usuario.Single-Core.Chamadas de API do sistema.Sistema Operacional moderno.
Analise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Implementacao
Topicos
1 Parte IIntroducaoTrabalhos Relacionados
2 Parte IIFundamentosPropostaImplementacaoResultados
3 Parte IIIConsideracoes FinaisConclusoes e Agradecimentos
Analise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Implementacao
Implementacao
Captura de DadosModel Specific Register (MSR) exige driver de kernel.
Tratamento de InterrupcoesLocal Vector Table (LVT).HalpPerfInterruptHandler hook.Non Maskable Interrupt (NMI).
ArquiteturaCliente-Servidor.Captura system-wide.Cliente implementa polıticas e isolamento.
Analise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Implementacao
Implementacao
Identificacao de ProcessosPsGetCurrentProcessId
Acesso a memoriaReadProcessMemory.
Bibliotecas CarregadasGetModuleHandle
DisassemblyLibOpcodes
Capstone
Analise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Implementacao
Introspeccao.
Tabela : Exemplo do efeito do mecanismo de aleatorizacao de enderecos(ASLR) sobre os modulos dinamicos em duas inicializacoes consecutivasdo SO.
Modulo Endereco Modulo Enderecontdll.dll 0xBAF80000 ntdll.dll 0x987B0000KERNEL32.DLL 0xB9610000 KERNEL32.DLL 0x98670000KERNELBASE.dll 0xB8190000 KERNELBASE.dll 0x958C0000NETAPI32.dll 0xB6030000 NETAPI32.dll 0x93890000
Analise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Implementacao
Introspeccao.
Tabela : Exemplos de offsets das funcoes de biblioteca ntdll.dll
Funcao OffsetNtCreateProcess 0x3691NtCreateProcessEx 0x30B0NtCreateProfile 0x36A1NtCreateProfileEx 0x36B1NtCreateResourceManager 0x36C1NtCreateSemaphore 0x36D1NtCreateSymbolicLinkObject 0x36E1NtCreateThread 0x30C0NtCreateThreadEx 0x36F1
Analise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Implementacao
Introspeccao.
Figura : Diagrama de funcionamento do mecanismo de introspeccao paraassociacao de nomes de funcoes a enderecos de modulos.
Analise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Implementacao
Disassembly.
Figura : Identificacao de um bloco de codigo atraves de duas instrucoesde desvio consecutivas.
Analise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Implementacao
Disassembly.
Listagem 1 : Exemplo de buffer de instrucoes obtido a partir dosenderecos fornecidos pelo mecanismo BTS.
1 \ x f f \x15\ x0a\x11\x00\x00\x48\x8d\x0d\ x 9 f \x11\x00\x00
Listagem 2 : Conversao das instrucoes do buffer para opcodes.1 0 x1000 ( s i z e =6) c a l l QWORD PTR [ r i p +0x110a ]2 0 x1006 ( s i z e =7) l e a rcx , [ r i p +0x 1 1 9 f ]
Analise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Resultados
Topicos
1 Parte IIntroducaoTrabalhos Relacionados
2 Parte IIFundamentosPropostaImplementacaoResultados
3 Parte IIIConsideracoes FinaisConclusoes e Agradecimentos
Analise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Resultados
Testes - CG.
Listagem 3 : Codigo de exemplo para a reconstrucao do CG.1 s c a n f (”%d”,&n ) ;2 s c a n f (”% 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 ) ;
Analise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Resultados
Testes - CG.
Figura : Visualizacao completa de trecho do CG.
Figura : Visualizacao do CG reduzido.
Analise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Resultados
Testes - CFG.
Listagem 4 : Codigo de exemplo para a reconstrucao do CFG.1 a =0;2 s c a n f (”%d”,&n ) ;3 f o r ( i =0; i<n ; i ++)4 i f ( i %2==0)5 a++6 e l s e7 a−−8 p r i n t f (”%d\n ” , a )
Analise 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 execucao do codigo de exemplo.
Analise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Resultados
Exemplares Reais.
Tabela : Comparacao entre exemplares evasivos reais em execucao emnossa solucao e em outra sandbox.
Amostra (MD5) BehEMOT Esta Solucaof03c0df1f046197019e12f3b41ad8fb2 7 3
2b647bdf374a2d047561212c603f54ea 7 3
7a4b29df077d16c1c186f57403a94356 7 3
340573dd85cf72cdce68c9ddf7abcce6 7 3
Analise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Resultados
Discussao.
CFGBranch determina o bloco.Desvios reais - nao e afetado por desalinhamento.Online Disassembly permite avaliar codigo gerado em runtime.
DesafiosNıvel de Abstracao (semantic gap).Interpretacao de desvios nao tomados.Perda do controle quando em kernel.
Analise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Resultados
Discussao.
PortabilidadeSolucao Portavel.Recurso do processador.Tecnicas independentes de plataforma.Depende de Bibliotecas.
Analise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Resultados
Overhead.
Habilitacao do Mecanismo1%.
Coleta de dados14%.
Introspeccao26%.
Disassembly26%.
Analise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Resultados
Overhead.
ComparacaoEsta Solucaoa: 43%.Ether: 72%.MAVMM: 100%.
adisassembly offline
Reduzindo o OverheadDisassembly offline.Uso de multiplos nucleos.Uso de banco de dados de codigo.
Analise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Consideracoes Finais
Topicos
1 Parte IIntroducaoTrabalhos Relacionados
2 Parte IIFundamentosPropostaImplementacaoResultados
3 Parte IIIConsideracoes FinaisConclusoes e Agradecimentos
Analise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Consideracoes Finais
Analise dos Resultados
SumarizacaoExemplares aplicam tecnicas de anti-analise.Solucoes precisam ser transparentes.Mecanismos existentes tem grande custo de desenvolvimento.Mecanismo de monitoracao de Branch pode ser utilizado.Analise e transparente.Custo de desenvolvimento e baixo (kernel driver).Overhead comparavel ao estado-da-arte.Validacao com exemplares reais.
Analise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Consideracoes Finais
Limitacoes e Trabalhos Futuros
LimitacoesAnalise em kernel.Uso de APIs do sistema.Maior granularidade do que HVM e SMM.
Trabalhos FuturosAplicacao a clusterizacao de exemplares de malware evasivos.
Analise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Conclusoes e Agradecimentos
Topicos
1 Parte IIntroducaoTrabalhos Relacionados
2 Parte IIFundamentosPropostaImplementacaoResultados
3 Parte IIIConsideracoes FinaisConclusoes e Agradecimentos
Analise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Conclusoes e Agradecimentos
Conclusoes
ConclusoesMecanismos de analise transparente precisam serdesenvolvidos.Uso dos monitores de performance como meio transparente.Reconstrucao de fluxos (CG e CFG) e viavel.
Analise Transparente de Malware com Suporte por Hardware SBSeg’16
Parte I Parte II Parte III
Conclusoes e Agradecimentos
Agradecimentos
CNPq, pelo financiamento via Proj. MCTI/CNPq/Universal-Aedital 14/2014 (Processo 444487/2014-0)CAPES, pelo financiamento via Proj. FORTE - Forense DigitalTempestiva e Eficiente (Processo: 23038.007604/2014-69).Instituto de Computacao/UnicampDepartamento de Informatica/UFPR
Contato:[email protected]@lasca.ic.unicamp.br
Analise Transparente de Malware com Suporte por Hardware SBSeg’16