SlideShare uma empresa Scribd logo
1 de 35
Baixar para ler offline
Parte I Parte II Parte III
VoiDbg: Projeto e Implementac¸˜ao de um
Debugger Transparente para Inspec¸˜ao de
Aplicac¸˜oes Protegidas
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
VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
Parte I Parte II Parte III
T´opicos
1 Parte I
Introduc¸˜ao
Requisitos
Implementac¸˜oes
Trabalhos Relacionados
2 Parte II
Fundamentos
Proposta
Implementac¸˜ao
Resultados
3 Parte III
Considerac¸˜oes Finais
Conclus˜oes e Agradecimentos
VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
Parte I Parte II Parte III
Introduc¸˜ao
T´opicos
1 Parte I
Introduc¸˜ao
Requisitos
Implementac¸˜oes
Trabalhos Relacionados
2 Parte II
Fundamentos
Proposta
Implementac¸˜ao
Resultados
3 Parte III
Considerac¸˜oes Finais
Conclus˜oes e Agradecimentos
VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
Parte I Parte II Parte III
Introduc¸˜ao
Panorama
Debuggers
Inspec¸˜ao.
Validac¸˜ao.
Descoberta de Falhas.
Cen´ario Atual
Injec¸˜ao de c´odigo.
Efeitos Colaterais.
Anti-an´alise.
Objetivos
Desenvolvimento de soluc¸˜ao transparente.
VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
Parte I Parte II Parte III
Requisitos
T´opicos
1 Parte I
Introduc¸˜ao
Requisitos
Implementac¸˜oes
Trabalhos Relacionados
2 Parte II
Fundamentos
Proposta
Implementac¸˜ao
Resultados
3 Parte III
Considerac¸˜oes Finais
Conclus˜oes e Agradecimentos
VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
Parte I Parte II Parte III
Requisitos
Requisitos
Execuc¸˜ao em pequenos passos
Granularidade
Exige mais que probing.
Identificac¸˜ao de estados
Previsibilidade.
Inspec¸˜ao de estados
Obtenc¸˜ao de contexto.
VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
Parte I Parte II Parte III
Implementac¸˜oes
T´opicos
1 Parte I
Introduc¸˜ao
Requisitos
Implementac¸˜oes
Trabalhos Relacionados
2 Parte II
Fundamentos
Proposta
Implementac¸˜ao
Resultados
3 Parte III
Considerac¸˜oes Finais
Conclus˜oes e Agradecimentos
VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
Parte I Parte II Parte III
Implementac¸˜oes
Implementac¸˜oes Atuais
Suporte de sistema operacional
APIs de sistema (ptrace).
Detect´avel pela pr´opria API.
Injec¸˜ao de c´odigo/emulac¸˜ao
Frida, DynamoRIO, Valgrind.
Efeitos colaterais.
Suporte de Hardware
OllyDbg.
Hardware-breakpoints.
Detecc¸˜ao de registradores.
VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
Parte I Parte II Parte III
Implementac¸˜oes
Evas˜ao de an´alise
Evas˜ao de ptrace
Listagem 1 : Detecc¸˜ao de uso do ptrace.
1 i f ( ptrace (PTRACE TRACEME, 0 , NULL, 0) == −1)
2 p r i n t f (” debugged ! n ”) ;
Evas˜ao no ambiente Windows
Listagem 2 : Identificac¸˜ao de debug.
1 i f ( IsDebuggerPresent () )
2 p r i n t f (” debuggedn ”) ;
3 e l s e
4 p r i n t f (”NO DBGn ”) ;
VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
Parte I Parte II Parte III
Trabalhos Relacionados
T´opicos
1 Parte I
Introduc¸˜ao
Requisitos
Implementac¸˜oes
Trabalhos Relacionados
2 Parte II
Fundamentos
Proposta
Implementac¸˜ao
Resultados
3 Parte III
Considerac¸˜oes Finais
Conclus˜oes e Agradecimentos
VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
Parte I Parte II Parte III
Trabalhos Relacionados
Trabalhos Relacionados
Inspec¸˜ao de c´odigo
Construc¸˜oes de alto-n´ıvel (POO).
Sistemas distribu´ıdos, grids, GPUs.
An´alise de malware
Hardware Virtual Machines (HVM).
System Management Mode (SMM).
An´alise Transparente (Quantos ?).
Abordagens n˜ao-tradicionais
Anti-Debug.
VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
Parte I Parte II Parte III
Fundamentos
T´opicos
1 Parte I
Introduc¸˜ao
Requisitos
Implementac¸˜oes
Trabalhos Relacionados
2 Parte II
Fundamentos
Proposta
Implementac¸˜ao
Resultados
3 Parte III
Considerac¸˜oes Finais
Conclus˜oes e Agradecimentos
VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas 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.
Funcionamento
Interrupc¸˜ao ao atingir threshold.
Filtragem de ac¸˜oes e por privil´egio.
Acesso via kernel.
Branch
JNE,JMP,CALL,RET.
Tratamento de Excec¸˜oes.
VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
Parte I Parte II Parte III
Proposta
T´opicos
1 Parte I
Introduc¸˜ao
Requisitos
Implementac¸˜oes
Trabalhos Relacionados
2 Parte II
Fundamentos
Proposta
Implementac¸˜ao
Resultados
3 Parte III
Considerac¸˜oes Finais
Conclus˜oes e Agradecimentos
VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas 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.
Atendendo os Requistos
Granularidade: Branch a Branch.
Identificac¸˜ao de Estado: Interrupc¸˜ao.
Contexto: Introspecc¸˜ao.
Modelo de Ameac¸as
N´ıvel de usu´ario.
Single-Core.
VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
Parte I Parte II Parte III
Proposta
Fluxo de An´alise.
Figura : Fluxo de execuc¸˜ao de um programa monitorado.
VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
Parte I Parte II Parte III
Proposta
Recursos de Inspec¸˜ao
Criac¸˜ao de um novo processo para ser inspecionado;
Inspec¸˜ao de um processo corrente;
Suspens˜ao de um processo;
Retomada de um processo;
Identificac¸˜ao do estado atual (func¸˜oes/bibliotecas);
Avanc¸o ao pr´oximo bloco;
Leitura de valores de mem´oria;
Leitura das bibliotecas carregadas;
Inspec¸˜ao de registradores de contexto;
Integrac¸˜ao com outras soluc¸˜oes de debuggers.
VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
Parte I Parte II Parte III
Implementac¸˜ao
T´opicos
1 Parte I
Introduc¸˜ao
Requisitos
Implementac¸˜oes
Trabalhos Relacionados
2 Parte II
Fundamentos
Proposta
Implementac¸˜ao
Resultados
3 Parte III
Considerac¸˜oes Finais
Conclus˜oes e Agradecimentos
VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas 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
Non Maskable Interrupt (NMI).
Suspens˜ao de processos
SuspendThread.
DebugActiveProcess.
SuspendProcess.
VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
Parte I Parte II Parte III
Implementac¸˜ao
Implementac¸˜ao
Identificac¸˜ao de Processos
PsGetCurrentProcessId
Step-Into vs. Step-Over
Filtragem de ac¸˜oes intermedi´arias.
Acesso `a mem´oria
ReadProcessMemory.
Bibliotecas Carregadas
GetModuleHandle
Contexto
GetThreadContext
VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas 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.
VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
Parte I Parte II Parte III
Resultados
T´opicos
1 Parte I
Introduc¸˜ao
Requisitos
Implementac¸˜oes
Trabalhos Relacionados
2 Parte II
Fundamentos
Proposta
Implementac¸˜ao
Resultados
3 Parte III
Considerac¸˜oes Finais
Conclus˜oes e Agradecimentos
VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
Parte I Parte II Parte III
Resultados
Testes.
Figura : Suspens˜ao de processo.
Figura : Criac¸˜ao de Processo.
VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
Parte I Parte II Parte III
Resultados
Testes.
Figura : Branch-by-branch steps.
Figura : Introspecc¸˜ao no enderec¸o alvo.
VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
Parte I Parte II Parte III
Resultados
Testes.
Figura : Leitura de Mem´oria.
Figura : Bibliotecas Carregadas.
VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
Parte I Parte II Parte III
Resultados
Testes.
Figura : Registradores de contexto.
VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
Parte I Parte II Parte III
Resultados
Integrac¸˜ao com GDB.
Listagem 3 : Porc¸˜ao de c´odigo ASM.
1 i n t main ()
2 asm {mov eax ,1}
3 asm {mov ecx ,2}
4 asm {mov edx ,3}
5 asm {mov ebx ,4}
Figura : Integrac¸˜ao com GDB.
VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
Parte I Parte II Parte III
Resultados
Detecc¸˜ao por Aplicac¸˜oes Reais.
Figura : Detecc¸˜ao de debugger por uma aplicac¸˜ao leg´ıtima.
VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
Parte I Parte II Parte III
Resultados
Detecc¸˜ao por Aplicac¸˜oes Reais.
Figura : Uso do VoiDbg (dir.) com a aplicac¸˜ao leg´ıtima protegida (esq.).
VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
Parte I Parte II Parte III
Considerac¸˜oes Finais
T´opicos
1 Parte I
Introduc¸˜ao
Requisitos
Implementac¸˜oes
Trabalhos Relacionados
2 Parte II
Fundamentos
Proposta
Implementac¸˜ao
Resultados
3 Parte III
Considerac¸˜oes Finais
Conclus˜oes e Agradecimentos
VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
Parte I Parte II Parte III
Considerac¸˜oes Finais
An´alise dos Resultados
Sumarizac¸˜ao
Aplicac¸˜oes Protegidas.
Soluc¸˜oes precisam ser transparentes.
Mecanismo de monitorac¸˜ao de Branch pode ser utilizado.
An´alise ´e transparente.
Validac¸˜ao com exemplares benignos reais.
VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas 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.
Trabalhos Futuros
Expans˜ao das informac¸˜oes de contexto.
Ampliac¸˜ao da integrac¸˜ao com ferramentas.
Aplicac¸˜ao a exemplares de malware evasivos.
VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
Parte I Parte II Parte III
Conclus˜oes e Agradecimentos
T´opicos
1 Parte I
Introduc¸˜ao
Requisitos
Implementac¸˜oes
Trabalhos Relacionados
2 Parte II
Fundamentos
Proposta
Implementac¸˜ao
Resultados
3 Parte III
Considerac¸˜oes Finais
Conclus˜oes e Agradecimentos
VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas 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 ´e vi´avel.
Modos de implementac¸˜ao de recursos de inspec¸˜ao precisam
ser estudados.
VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas 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
VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16

Mais conteúdo relacionado

Mais procurados

Automação de Testes: Ferramentas e Aplicação com Integração Contínua
Automação de Testes: Ferramentas e Aplicação com Integração ContínuaAutomação de Testes: Ferramentas e Aplicação com Integração Contínua
Automação de Testes: Ferramentas e Aplicação com Integração ContínuaGabriela Patuci
 
TDC 2014 - Trilha de Testes - Palestra "Quando meus testes terminam, se os b...
TDC 2014  - Trilha de Testes - Palestra "Quando meus testes terminam, se os b...TDC 2014  - Trilha de Testes - Palestra "Quando meus testes terminam, se os b...
TDC 2014 - Trilha de Testes - Palestra "Quando meus testes terminam, se os b...Welington Monteiro
 
Ferramentas open source para auxiliar os testes de software
Ferramentas open source para auxiliar os testes de softwareFerramentas open source para auxiliar os testes de software
Ferramentas open source para auxiliar os testes de softwareJeremias Araujo
 
3 engenharia de software
3   engenharia de software3   engenharia de software
3 engenharia de softwareFelipe Bugov
 
PDC - Testes - Usando o Testlink
PDC - Testes - Usando o TestlinkPDC - Testes - Usando o Testlink
PDC - Testes - Usando o Testlinkslides_teltools
 
Pesquisa Ferramentas e Gestão de Testes de Software
Pesquisa Ferramentas e Gestão de Testes de SoftwarePesquisa Ferramentas e Gestão de Testes de Software
Pesquisa Ferramentas e Gestão de Testes de SoftwareJoão Júnior
 
Introdução a testes unitários automatizados com JUnit e NUnit
Introdução a testes unitários automatizados com JUnit e NUnitIntrodução a testes unitários automatizados com JUnit e NUnit
Introdução a testes unitários automatizados com JUnit e NUnitelliando dias
 
Testes Unitários/Integrados
Testes Unitários/IntegradosTestes Unitários/Integrados
Testes Unitários/IntegradosGiovanni Bassi
 
Introdução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IIntrodução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IJoão Lourenço
 
ASP.NET Core + Middlewares - TDC 2019 - Florianópolis-SC
ASP.NET Core + Middlewares - TDC 2019 - Florianópolis-SCASP.NET Core + Middlewares - TDC 2019 - Florianópolis-SC
ASP.NET Core + Middlewares - TDC 2019 - Florianópolis-SCRenato Groff
 
Introdução a testes unitários com jUnit
Introdução a testes unitários com jUnitIntrodução a testes unitários com jUnit
Introdução a testes unitários com jUnitLeonardo Soares
 
Implementando Testes Unitários em Java - Manoel Pimentel
Implementando Testes Unitários em Java - Manoel PimentelImplementando Testes Unitários em Java - Manoel Pimentel
Implementando Testes Unitários em Java - Manoel PimentelManoel Pimentel Medeiros
 
TDC 2014 Floripa - Melhorando sua Estratégia de Testes Automatizados
TDC 2014 Floripa - Melhorando sua Estratégia de Testes AutomatizadosTDC 2014 Floripa - Melhorando sua Estratégia de Testes Automatizados
TDC 2014 Floripa - Melhorando sua Estratégia de Testes AutomatizadosStefan Teixeira
 
Instrumentando aplicações Go com Prometheus
Instrumentando aplicações Go com PrometheusInstrumentando aplicações Go com Prometheus
Instrumentando aplicações Go com PrometheusAndré Carvalho
 
TDC2017 Aplicação de Estimativa de Custo e Esforço em Teste de Software com APT
TDC2017 Aplicação de Estimativa de Custo e Esforço em Teste de Software com APTTDC2017 Aplicação de Estimativa de Custo e Esforço em Teste de Software com APT
TDC2017 Aplicação de Estimativa de Custo e Esforço em Teste de Software com APTJeremias Araujo
 
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...Claudinei Brito Junior
 
Verificação, validação e teste de software ágil
Verificação, validação e teste de software ágilVerificação, validação e teste de software ágil
Verificação, validação e teste de software ágilGilberto Gampert
 
Introdução a testes de sofwtare
Introdução a testes de sofwtareIntrodução a testes de sofwtare
Introdução a testes de sofwtareFernando Palma
 

Mais procurados (20)

Automação de Testes: Ferramentas e Aplicação com Integração Contínua
Automação de Testes: Ferramentas e Aplicação com Integração ContínuaAutomação de Testes: Ferramentas e Aplicação com Integração Contínua
Automação de Testes: Ferramentas e Aplicação com Integração Contínua
 
TDC 2014 - Trilha de Testes - Palestra "Quando meus testes terminam, se os b...
TDC 2014  - Trilha de Testes - Palestra "Quando meus testes terminam, se os b...TDC 2014  - Trilha de Testes - Palestra "Quando meus testes terminam, se os b...
TDC 2014 - Trilha de Testes - Palestra "Quando meus testes terminam, se os b...
 
Ferramentas open source para auxiliar os testes de software
Ferramentas open source para auxiliar os testes de softwareFerramentas open source para auxiliar os testes de software
Ferramentas open source para auxiliar os testes de software
 
3 engenharia de software
3   engenharia de software3   engenharia de software
3 engenharia de software
 
PDC - Testes - Usando o Testlink
PDC - Testes - Usando o TestlinkPDC - Testes - Usando o Testlink
PDC - Testes - Usando o Testlink
 
Pesquisa Ferramentas e Gestão de Testes de Software
Pesquisa Ferramentas e Gestão de Testes de SoftwarePesquisa Ferramentas e Gestão de Testes de Software
Pesquisa Ferramentas e Gestão de Testes de Software
 
Aula - Teste de Software
Aula - Teste de SoftwareAula - Teste de Software
Aula - Teste de Software
 
Introdução a testes unitários automatizados com JUnit e NUnit
Introdução a testes unitários automatizados com JUnit e NUnitIntrodução a testes unitários automatizados com JUnit e NUnit
Introdução a testes unitários automatizados com JUnit e NUnit
 
Testes Unitários/Integrados
Testes Unitários/IntegradosTestes Unitários/Integrados
Testes Unitários/Integrados
 
Introdução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IIntrodução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade I
 
ASP.NET Core + Middlewares - TDC 2019 - Florianópolis-SC
ASP.NET Core + Middlewares - TDC 2019 - Florianópolis-SCASP.NET Core + Middlewares - TDC 2019 - Florianópolis-SC
ASP.NET Core + Middlewares - TDC 2019 - Florianópolis-SC
 
Introdução a testes unitários com jUnit
Introdução a testes unitários com jUnitIntrodução a testes unitários com jUnit
Introdução a testes unitários com jUnit
 
Implementando Testes Unitários em Java - Manoel Pimentel
Implementando Testes Unitários em Java - Manoel PimentelImplementando Testes Unitários em Java - Manoel Pimentel
Implementando Testes Unitários em Java - Manoel Pimentel
 
TDC 2014 Floripa - Melhorando sua Estratégia de Testes Automatizados
TDC 2014 Floripa - Melhorando sua Estratégia de Testes AutomatizadosTDC 2014 Floripa - Melhorando sua Estratégia de Testes Automatizados
TDC 2014 Floripa - Melhorando sua Estratégia de Testes Automatizados
 
Instrumentando aplicações Go com Prometheus
Instrumentando aplicações Go com PrometheusInstrumentando aplicações Go com Prometheus
Instrumentando aplicações Go com Prometheus
 
TDC2017 Aplicação de Estimativa de Custo e Esforço em Teste de Software com APT
TDC2017 Aplicação de Estimativa de Custo e Esforço em Teste de Software com APTTDC2017 Aplicação de Estimativa de Custo e Esforço em Teste de Software com APT
TDC2017 Aplicação de Estimativa de Custo e Esforço em Teste de Software com APT
 
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
 
Testes Funcionais
Testes FuncionaisTestes Funcionais
Testes Funcionais
 
Verificação, validação e teste de software ágil
Verificação, validação e teste de software ágilVerificação, validação e teste de software ágil
Verificação, validação e teste de software ágil
 
Introdução a testes de sofwtare
Introdução a testes de sofwtareIntrodução a testes de sofwtare
Introdução a testes de sofwtare
 

Semelhante a XVII SBSEG: VoiDbg: Projeto e Implementação de um Debugger Transparente para Inspeção de Aplicações Protegidas

XVII SBSEG: Análise Transparente de Malware com Suporte por Hardware
XVII SBSEG: Análise Transparente de Malware com Suporte por HardwareXVII SBSEG: Análise Transparente de Malware com Suporte por Hardware
XVII SBSEG: Análise Transparente de Malware com Suporte por HardwareMarcus Botacin
 
Android DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimentoAndroid DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimentoiMasters
 
XVII SBSEG: Detecção de ataques por ROP em tempo real assistida por hardware
XVII SBSEG: Detecção de ataques por ROP em tempo real assistida por hardwareXVII SBSEG: Detecção de ataques por ROP em tempo real assistida por hardware
XVII SBSEG: Detecção de ataques por ROP em tempo real assistida por hardwareMarcus Botacin
 
Aula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdfAula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdfMichaelArrais1
 
Eng.ª do Software - 9. Verificação e validação
Eng.ª do Software - 9. Verificação e validaçãoEng.ª do Software - 9. Verificação e validação
Eng.ª do Software - 9. Verificação e validaçãoManuel Menezes de Sequeira
 
Aula 03 de engenharia de software uespi 2011-1
Aula 03 de engenharia de software uespi 2011-1Aula 03 de engenharia de software uespi 2011-1
Aula 03 de engenharia de software uespi 2011-1Erivelton Silva Rocha
 
plano_de_projeto_controlart_final
plano_de_projeto_controlart_finalplano_de_projeto_controlart_final
plano_de_projeto_controlart_finaluserrx
 
plano_de_projeto_controlart_rascunho
plano_de_projeto_controlart_rascunhoplano_de_projeto_controlart_rascunho
plano_de_projeto_controlart_rascunhouserrx
 
Teste de Software - Bluesoft Labs
Teste de Software - Bluesoft Labs Teste de Software - Bluesoft Labs
Teste de Software - Bluesoft Labs Ricardo Machado
 
Análise Estática de Código
Análise Estática de CódigoAnálise Estática de Código
Análise Estática de CódigoRicardo Terra
 
Application Insights - GDG-SP - Setembro/2016
Application Insights - GDG-SP - Setembro/2016Application Insights - GDG-SP - Setembro/2016
Application Insights - GDG-SP - Setembro/2016Renato Groff
 
Ferramentas Case de Teste
Ferramentas Case de TesteFerramentas Case de Teste
Ferramentas Case de TesteBeatriz Marques
 
Metodologia para-analise-e-certificacao-de-rp-ibp
Metodologia para-analise-e-certificacao-de-rp-ibpMetodologia para-analise-e-certificacao-de-rp-ibp
Metodologia para-analise-e-certificacao-de-rp-ibpAlfredo Martins
 
Conceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidadeConceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidaderzauza
 
GESTÃO DE DEMANDAS DE TESTE E ANÁLISE DE PADRÕES COM TEXT MINING
GESTÃO DE DEMANDAS DE TESTE E ANÁLISE DE PADRÕES COM TEXT MININGGESTÃO DE DEMANDAS DE TESTE E ANÁLISE DE PADRÕES COM TEXT MINING
GESTÃO DE DEMANDAS DE TESTE E ANÁLISE DE PADRÕES COM TEXT MININGMarcos Lottermann
 

Semelhante a XVII SBSEG: VoiDbg: Projeto e Implementação de um Debugger Transparente para Inspeção de Aplicações Protegidas (20)

XVII SBSEG: Análise Transparente de Malware com Suporte por Hardware
XVII SBSEG: Análise Transparente de Malware com Suporte por HardwareXVII SBSEG: Análise Transparente de Malware com Suporte por Hardware
XVII SBSEG: Análise Transparente de Malware com Suporte por Hardware
 
Android DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimentoAndroid DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimento
 
XVII SBSEG: Detecção de ataques por ROP em tempo real assistida por hardware
XVII SBSEG: Detecção de ataques por ROP em tempo real assistida por hardwareXVII SBSEG: Detecção de ataques por ROP em tempo real assistida por hardware
XVII SBSEG: Detecção de ataques por ROP em tempo real assistida por hardware
 
Aula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdfAula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdf
 
Eng.ª do Software - 9. Verificação e validação
Eng.ª do Software - 9. Verificação e validaçãoEng.ª do Software - 9. Verificação e validação
Eng.ª do Software - 9. Verificação e validação
 
Aula 03 de engenharia de software uespi 2011-1
Aula 03 de engenharia de software uespi 2011-1Aula 03 de engenharia de software uespi 2011-1
Aula 03 de engenharia de software uespi 2011-1
 
plano_de_projeto_controlart_final
plano_de_projeto_controlart_finalplano_de_projeto_controlart_final
plano_de_projeto_controlart_final
 
plano_de_projeto_controlart_rascunho
plano_de_projeto_controlart_rascunhoplano_de_projeto_controlart_rascunho
plano_de_projeto_controlart_rascunho
 
Teste de Software - Bluesoft Labs
Teste de Software - Bluesoft Labs Teste de Software - Bluesoft Labs
Teste de Software - Bluesoft Labs
 
Análise Estática de Código
Análise Estática de CódigoAnálise Estática de Código
Análise Estática de Código
 
Aula 05
Aula 05Aula 05
Aula 05
 
pentester 2.pdf
pentester 2.pdfpentester 2.pdf
pentester 2.pdf
 
Subm_SamuelPereira_FINAL
Subm_SamuelPereira_FINALSubm_SamuelPereira_FINAL
Subm_SamuelPereira_FINAL
 
SIC_201_VRSJ
SIC_201_VRSJSIC_201_VRSJ
SIC_201_VRSJ
 
Application Insights - GDG-SP - Setembro/2016
Application Insights - GDG-SP - Setembro/2016Application Insights - GDG-SP - Setembro/2016
Application Insights - GDG-SP - Setembro/2016
 
Rbt Group At Promise V3
Rbt Group At Promise V3Rbt Group At Promise V3
Rbt Group At Promise V3
 
Ferramentas Case de Teste
Ferramentas Case de TesteFerramentas Case de Teste
Ferramentas Case de Teste
 
Metodologia para-analise-e-certificacao-de-rp-ibp
Metodologia para-analise-e-certificacao-de-rp-ibpMetodologia para-analise-e-certificacao-de-rp-ibp
Metodologia para-analise-e-certificacao-de-rp-ibp
 
Conceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidadeConceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidade
 
GESTÃO DE DEMANDAS DE TESTE E ANÁLISE DE PADRÕES COM TEXT MINING
GESTÃO DE DEMANDAS DE TESTE E ANÁLISE DE PADRÕES COM TEXT MININGGESTÃO DE DEMANDAS DE TESTE E ANÁLISE DE PADRÕES COM TEXT MINING
GESTÃO DE DEMANDAS DE TESTE E ANÁLISE DE PADRÕES COM TEXT MINING
 

Mais de Marcus Botacin

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 2024Marcus Botacin
 
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 MalwareMarcus Botacin
 
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?Marcus Botacin
 
[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 AntivirusesMarcus Botacin
 
[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!Marcus Botacin
 
Hardware-accelerated security monitoring
Hardware-accelerated security monitoringHardware-accelerated security monitoring
Hardware-accelerated security monitoringMarcus Botacin
 
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 guideMarcus Botacin
 
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 2022Marcus Botacin
 
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áveisMarcus Botacin
 
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 ApproachesMarcus Botacin
 
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...Marcus Botacin
 
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 MalwareMarcus Botacin
 
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...Marcus Botacin
 
Integridade, confidencialidade, disponibilidade, ransomware
Integridade, confidencialidade, disponibilidade, ransomwareIntegridade, confidencialidade, disponibilidade, ransomware
Integridade, confidencialidade, disponibilidade, ransomwareMarcus Botacin
 
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...Marcus Botacin
 
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 RepositoriesMarcus Botacin
 
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...Marcus Botacin
 
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?Marcus Botacin
 
Towards Malware Decompilation and Reassembly
Towards Malware Decompilation and ReassemblyTowards Malware Decompilation and Reassembly
Towards Malware Decompilation and ReassemblyMarcus 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
 

Último

EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIAEAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIAMarcio Venturelli
 
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdfFrom_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdfRodolpho Concurde
 
Apostila e caderno de exercicios de WORD
Apostila e caderno de exercicios de  WORDApostila e caderno de exercicios de  WORD
Apostila e caderno de exercicios de WORDRONDINELLYRAMOS1
 
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)Alessandro Almeida
 
Entrevistas, artigos, livros & citações de Paulo Pagliusi
Entrevistas, artigos, livros & citações de Paulo PagliusiEntrevistas, artigos, livros & citações de Paulo Pagliusi
Entrevistas, artigos, livros & citações de Paulo PagliusiPaulo Pagliusi, PhD, CISM
 
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINASCOI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINASMarcio Venturelli
 
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Dirceu Resende
 
Palestras sobre Cibersegurança em Eventos - Paulo Pagliusi
Palestras sobre Cibersegurança em Eventos - Paulo PagliusiPalestras sobre Cibersegurança em Eventos - Paulo Pagliusi
Palestras sobre Cibersegurança em Eventos - Paulo PagliusiPaulo Pagliusi, PhD, CISM
 
O futuro e o impacto da tecnologia nas salas de aulas
O futuro e o impacto da tecnologia  nas salas de aulasO futuro e o impacto da tecnologia  nas salas de aulas
O futuro e o impacto da tecnologia nas salas de aulasAurioOliveira6
 

Último (9)

EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIAEAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
 
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdfFrom_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
 
Apostila e caderno de exercicios de WORD
Apostila e caderno de exercicios de  WORDApostila e caderno de exercicios de  WORD
Apostila e caderno de exercicios de WORD
 
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
 
Entrevistas, artigos, livros & citações de Paulo Pagliusi
Entrevistas, artigos, livros & citações de Paulo PagliusiEntrevistas, artigos, livros & citações de Paulo Pagliusi
Entrevistas, artigos, livros & citações de Paulo Pagliusi
 
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINASCOI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
 
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
 
Palestras sobre Cibersegurança em Eventos - Paulo Pagliusi
Palestras sobre Cibersegurança em Eventos - Paulo PagliusiPalestras sobre Cibersegurança em Eventos - Paulo Pagliusi
Palestras sobre Cibersegurança em Eventos - Paulo Pagliusi
 
O futuro e o impacto da tecnologia nas salas de aulas
O futuro e o impacto da tecnologia  nas salas de aulasO futuro e o impacto da tecnologia  nas salas de aulas
O futuro e o impacto da tecnologia nas salas de aulas
 

XVII SBSEG: VoiDbg: Projeto e Implementação de um Debugger Transparente para Inspeção de Aplicações Protegidas

  • 1. Parte I Parte II Parte III VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas 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 VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
  • 2. Parte I Parte II Parte III T´opicos 1 Parte I Introduc¸˜ao Requisitos Implementac¸˜oes Trabalhos Relacionados 2 Parte II Fundamentos Proposta Implementac¸˜ao Resultados 3 Parte III Considerac¸˜oes Finais Conclus˜oes e Agradecimentos VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
  • 3. Parte I Parte II Parte III Introduc¸˜ao T´opicos 1 Parte I Introduc¸˜ao Requisitos Implementac¸˜oes Trabalhos Relacionados 2 Parte II Fundamentos Proposta Implementac¸˜ao Resultados 3 Parte III Considerac¸˜oes Finais Conclus˜oes e Agradecimentos VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
  • 4. Parte I Parte II Parte III Introduc¸˜ao Panorama Debuggers Inspec¸˜ao. Validac¸˜ao. Descoberta de Falhas. Cen´ario Atual Injec¸˜ao de c´odigo. Efeitos Colaterais. Anti-an´alise. Objetivos Desenvolvimento de soluc¸˜ao transparente. VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
  • 5. Parte I Parte II Parte III Requisitos T´opicos 1 Parte I Introduc¸˜ao Requisitos Implementac¸˜oes Trabalhos Relacionados 2 Parte II Fundamentos Proposta Implementac¸˜ao Resultados 3 Parte III Considerac¸˜oes Finais Conclus˜oes e Agradecimentos VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
  • 6. Parte I Parte II Parte III Requisitos Requisitos Execuc¸˜ao em pequenos passos Granularidade Exige mais que probing. Identificac¸˜ao de estados Previsibilidade. Inspec¸˜ao de estados Obtenc¸˜ao de contexto. VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
  • 7. Parte I Parte II Parte III Implementac¸˜oes T´opicos 1 Parte I Introduc¸˜ao Requisitos Implementac¸˜oes Trabalhos Relacionados 2 Parte II Fundamentos Proposta Implementac¸˜ao Resultados 3 Parte III Considerac¸˜oes Finais Conclus˜oes e Agradecimentos VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
  • 8. Parte I Parte II Parte III Implementac¸˜oes Implementac¸˜oes Atuais Suporte de sistema operacional APIs de sistema (ptrace). Detect´avel pela pr´opria API. Injec¸˜ao de c´odigo/emulac¸˜ao Frida, DynamoRIO, Valgrind. Efeitos colaterais. Suporte de Hardware OllyDbg. Hardware-breakpoints. Detecc¸˜ao de registradores. VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
  • 9. Parte I Parte II Parte III Implementac¸˜oes Evas˜ao de an´alise Evas˜ao de ptrace Listagem 1 : Detecc¸˜ao de uso do ptrace. 1 i f ( ptrace (PTRACE TRACEME, 0 , NULL, 0) == −1) 2 p r i n t f (” debugged ! n ”) ; Evas˜ao no ambiente Windows Listagem 2 : Identificac¸˜ao de debug. 1 i f ( IsDebuggerPresent () ) 2 p r i n t f (” debuggedn ”) ; 3 e l s e 4 p r i n t f (”NO DBGn ”) ; VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
  • 10. Parte I Parte II Parte III Trabalhos Relacionados T´opicos 1 Parte I Introduc¸˜ao Requisitos Implementac¸˜oes Trabalhos Relacionados 2 Parte II Fundamentos Proposta Implementac¸˜ao Resultados 3 Parte III Considerac¸˜oes Finais Conclus˜oes e Agradecimentos VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
  • 11. Parte I Parte II Parte III Trabalhos Relacionados Trabalhos Relacionados Inspec¸˜ao de c´odigo Construc¸˜oes de alto-n´ıvel (POO). Sistemas distribu´ıdos, grids, GPUs. An´alise de malware Hardware Virtual Machines (HVM). System Management Mode (SMM). An´alise Transparente (Quantos ?). Abordagens n˜ao-tradicionais Anti-Debug. VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
  • 12. Parte I Parte II Parte III Fundamentos T´opicos 1 Parte I Introduc¸˜ao Requisitos Implementac¸˜oes Trabalhos Relacionados 2 Parte II Fundamentos Proposta Implementac¸˜ao Resultados 3 Parte III Considerac¸˜oes Finais Conclus˜oes e Agradecimentos VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
  • 13. Parte I Parte II Parte III Fundamentos Monitorac¸˜ao de branch Definic¸˜ao Recurso do processador Armazenamento em registradores ou em mem´oria. Funcionamento Interrupc¸˜ao ao atingir threshold. Filtragem de ac¸˜oes e por privil´egio. Acesso via kernel. Branch JNE,JMP,CALL,RET. Tratamento de Excec¸˜oes. VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
  • 14. Parte I Parte II Parte III Proposta T´opicos 1 Parte I Introduc¸˜ao Requisitos Implementac¸˜oes Trabalhos Relacionados 2 Parte II Fundamentos Proposta Implementac¸˜ao Resultados 3 Parte III Considerac¸˜oes Finais Conclus˜oes e Agradecimentos VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
  • 15. 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. Atendendo os Requistos Granularidade: Branch a Branch. Identificac¸˜ao de Estado: Interrupc¸˜ao. Contexto: Introspecc¸˜ao. Modelo de Ameac¸as N´ıvel de usu´ario. Single-Core. VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
  • 16. Parte I Parte II Parte III Proposta Fluxo de An´alise. Figura : Fluxo de execuc¸˜ao de um programa monitorado. VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
  • 17. Parte I Parte II Parte III Proposta Recursos de Inspec¸˜ao Criac¸˜ao de um novo processo para ser inspecionado; Inspec¸˜ao de um processo corrente; Suspens˜ao de um processo; Retomada de um processo; Identificac¸˜ao do estado atual (func¸˜oes/bibliotecas); Avanc¸o ao pr´oximo bloco; Leitura de valores de mem´oria; Leitura das bibliotecas carregadas; Inspec¸˜ao de registradores de contexto; Integrac¸˜ao com outras soluc¸˜oes de debuggers. VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
  • 18. Parte I Parte II Parte III Implementac¸˜ao T´opicos 1 Parte I Introduc¸˜ao Requisitos Implementac¸˜oes Trabalhos Relacionados 2 Parte II Fundamentos Proposta Implementac¸˜ao Resultados 3 Parte III Considerac¸˜oes Finais Conclus˜oes e Agradecimentos VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
  • 19. 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 Non Maskable Interrupt (NMI). Suspens˜ao de processos SuspendThread. DebugActiveProcess. SuspendProcess. VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
  • 20. Parte I Parte II Parte III Implementac¸˜ao Implementac¸˜ao Identificac¸˜ao de Processos PsGetCurrentProcessId Step-Into vs. Step-Over Filtragem de ac¸˜oes intermedi´arias. Acesso `a mem´oria ReadProcessMemory. Bibliotecas Carregadas GetModuleHandle Contexto GetThreadContext VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
  • 21. 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. VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
  • 22. Parte I Parte II Parte III Resultados T´opicos 1 Parte I Introduc¸˜ao Requisitos Implementac¸˜oes Trabalhos Relacionados 2 Parte II Fundamentos Proposta Implementac¸˜ao Resultados 3 Parte III Considerac¸˜oes Finais Conclus˜oes e Agradecimentos VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
  • 23. Parte I Parte II Parte III Resultados Testes. Figura : Suspens˜ao de processo. Figura : Criac¸˜ao de Processo. VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
  • 24. Parte I Parte II Parte III Resultados Testes. Figura : Branch-by-branch steps. Figura : Introspecc¸˜ao no enderec¸o alvo. VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
  • 25. Parte I Parte II Parte III Resultados Testes. Figura : Leitura de Mem´oria. Figura : Bibliotecas Carregadas. VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
  • 26. Parte I Parte II Parte III Resultados Testes. Figura : Registradores de contexto. VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
  • 27. Parte I Parte II Parte III Resultados Integrac¸˜ao com GDB. Listagem 3 : Porc¸˜ao de c´odigo ASM. 1 i n t main () 2 asm {mov eax ,1} 3 asm {mov ecx ,2} 4 asm {mov edx ,3} 5 asm {mov ebx ,4} Figura : Integrac¸˜ao com GDB. VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
  • 28. Parte I Parte II Parte III Resultados Detecc¸˜ao por Aplicac¸˜oes Reais. Figura : Detecc¸˜ao de debugger por uma aplicac¸˜ao leg´ıtima. VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
  • 29. Parte I Parte II Parte III Resultados Detecc¸˜ao por Aplicac¸˜oes Reais. Figura : Uso do VoiDbg (dir.) com a aplicac¸˜ao leg´ıtima protegida (esq.). VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
  • 30. Parte I Parte II Parte III Considerac¸˜oes Finais T´opicos 1 Parte I Introduc¸˜ao Requisitos Implementac¸˜oes Trabalhos Relacionados 2 Parte II Fundamentos Proposta Implementac¸˜ao Resultados 3 Parte III Considerac¸˜oes Finais Conclus˜oes e Agradecimentos VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
  • 31. Parte I Parte II Parte III Considerac¸˜oes Finais An´alise dos Resultados Sumarizac¸˜ao Aplicac¸˜oes Protegidas. Soluc¸˜oes precisam ser transparentes. Mecanismo de monitorac¸˜ao de Branch pode ser utilizado. An´alise ´e transparente. Validac¸˜ao com exemplares benignos reais. VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
  • 32. 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. Trabalhos Futuros Expans˜ao das informac¸˜oes de contexto. Ampliac¸˜ao da integrac¸˜ao com ferramentas. Aplicac¸˜ao a exemplares de malware evasivos. VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
  • 33. Parte I Parte II Parte III Conclus˜oes e Agradecimentos T´opicos 1 Parte I Introduc¸˜ao Requisitos Implementac¸˜oes Trabalhos Relacionados 2 Parte II Fundamentos Proposta Implementac¸˜ao Resultados 3 Parte III Considerac¸˜oes Finais Conclus˜oes e Agradecimentos VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
  • 34. 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 ´e vi´avel. Modos de implementac¸˜ao de recursos de inspec¸˜ao precisam ser estudados. VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16
  • 35. 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 VoiDbg: Projeto e Implementac¸˜ao de um Debugger Transparente para Inspec¸˜ao de Aplicac¸˜oes Protegidas SBSeg’16