O documento descreve uma solução de análise transparente de malware com suporte de hardware. A solução reconstrói fluxos de controle e gráficos de chamada usando registradores de hardware para monitorar desvios de fluxo. Isso permite a análise de malware evasivo sem a necessidade de injetar código ou emular o sistema. Os resultados demonstraram que a abordagem foi capaz de reconstruir com sucesso fluxos de malware reais.
Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos M...Humberto Marchezi
Slides apresentam um ambiente de desenvolvimento estilo IDE para robos móveis. O código escrito nesse ambiente é executado pelo servidor de robô do projeto Player Stage e pode funcionar num robô real também.
Proposta para Aceleração de Desempenho de Algoritmos de Visão Computacional e...André Curvello
Slides da apresentação da minha defesa de mestrado na Pós-Graduação em Engenharia Elétrica da Escola de Engenharia de São Carlos, da USP.
O tema do meu mestrado é aceleração de desempenho de algoritmos de visão computacional em sistemas embarcados usando aceleração via OpenGL em GPUs embarcadas.
Near-memory & In-Memory Detection of Fileless MalwareMarcus Botacin
My keynote at the Brazilian Security Symposium (SBSeg), as part of the Computer Forensics Workshop (WFC), talking about fileless malware, the challenges for antivirus detection, and new detection strategies. I present the prototype of a hardware AV with integrated signature matching to decrease the performance penalty imposed by software-only AVs.
Mais conteúdo relacionado
Semelhante a XVII SBSEG: Análise Transparente de Malware com Suporte por Hardware
Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos M...Humberto Marchezi
Slides apresentam um ambiente de desenvolvimento estilo IDE para robos móveis. O código escrito nesse ambiente é executado pelo servidor de robô do projeto Player Stage e pode funcionar num robô real também.
Proposta para Aceleração de Desempenho de Algoritmos de Visão Computacional e...André Curvello
Slides da apresentação da minha defesa de mestrado na Pós-Graduação em Engenharia Elétrica da Escola de Engenharia de São Carlos, da USP.
O tema do meu mestrado é aceleração de desempenho de algoritmos de visão computacional em sistemas embarcados usando aceleração via OpenGL em GPUs embarcadas.
Near-memory & In-Memory Detection of Fileless MalwareMarcus Botacin
My keynote at the Brazilian Security Symposium (SBSeg), as part of the Computer Forensics Workshop (WFC), talking about fileless malware, the challenges for antivirus detection, and new detection strategies. I present the prototype of a hardware AV with integrated signature matching to decrease the performance penalty imposed by software-only AVs.
GPThreats-3: Is Automated Malware Generation a Threat?Marcus Botacin
My talk about generating malware automatically using GPT-3, the differences for ChatGPT, limits, and possibilities. Multiple malware variants are generated and submitted to Antivirus (AV) scans. We also present a defense perspective on how defenders can use aritificial intelligence to deobfuscate malware samples.
[HackInTheBOx] All You Always Wanted to Know About AntivirusesMarcus Botacin
My talk at the HackInTheBox security conference Amsterdam 2023 about the reverse engineering of AV engines, covering signatures, whitelists, blocklists, kernel drivers, hooking, and much more.
[Usenix Enigma\ Why Is Our Security Research Failing? Five Practices to Change!Marcus Botacin
My talk at the USENIX Enigma 2023 discussing challenges and pitfalls in malware research. I discuss 5 aspects to change, from diversity of research work to reproducibility crisis.
In this talk, I cover the basic idea of hardware-assisted, two-level architectures for security monitoring and its applications to the malware detection problem. I propose detection triggers involving branch predictor, MMU, memory controller, co-processors, and FPGAs.
Talk presented at the Real Time systems group seminar series at the University of York.
How do we detect malware? A step-by-step guideMarcus Botacin
Slides from my talk at Texas A&M University (TAMU) seminar series (2002), where I present a landscape of the malware detection pipeline currently used by the industry and how academia can contribute to that. I present new solutions ranging from the use of ML, sandbox solutions, and hardware support for the development of more performance-efficient Antivirus.
Among Viruses, Trojans, and Backdoors:Fighting Malware in 2022Marcus Botacin
My talk at Federal University of Minas Gerais (UFMG) to present some aspects of modern malware research and some of my contributions to the field (derived from my PhD defense). I cover all steps of a detection pipelines: threat hunting, malware triage, sandbox execution, threat intelligence, and endpoint protection.
On the Malware Detection Problem: Challenges & Novel ApproachesMarcus Botacin
Marcus Botacin's PhD Defense at Federal University of Paraná (UFPR).
Advisor: Dr André Grégio
Co-Advisor: Paulo de Geus
Evaluation Committee:
Dr Leigh Metcalf, Dr Leyla Bilge, Daniel Alfonso Oliveira
All You Need to Know to Win a Cybersecurity Adversarial Machine Learning Comp...Marcus Botacin
Describing our experience in the MLSec competition for the seminar series of the University of Waikato. Presenteed by Fabricio Ceschin and Marcus Botacin from the Federal University of Paraná.
Near-memory & In-Memory Detection of Fileless MalwareMarcus Botacin
Proposal of a hardware-based AV embedded within the memory controller to mitigate the performance penalty when searching for fileless malware samples. Presented at 2020 MEMSYS.
Does Your Threat Model Consider Country and Culture? A Case Study of Brazilia...Marcus Botacin
My talk at USENIX ENIGMA 2021 about Brazilian Financial Malware. It encompasses desktop and mobile environments, analyzed both statically and dynamically.
On the Security of Application Installers & Online Software RepositoriesMarcus Botacin
My presentation for the DIMVA 2020 conference about the security of application installers. I show the operation dynamics of the repositories and reverse engineer some application installers to show their vulnerabilities, such as to man-in-the-middle attacks.
Towards Malware Decompilation and ReassemblyMarcus Botacin
I present RevEngE, the Reverse Engineering Engine, a PoC for the debug-based decompilation approach. Presentation given at Reverse Engineering (ROOTS) confence in Vienna, Austria, 20219.
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