Parte I Parte II Parte III Detecc¸˜ ao de ataques por ROP em tempo real assistida por hardware Marcus Botacin 1 , Andr´ e Gr´ egio 1,2 , Paulo L´ ıcio de Geus 1 1 Instituto de Computac¸˜ ao - UNICAMP {marcus,paulo}@lasca.ic.unicamp.br 2 Universidade Federal do Paran´ a (UFPR) [email protected]09 de Novembro de 2016 Detecc¸˜ ao de ataques por ROP em tempo real assistida por hardware SBSeg’16
37
Embed
XVII SBSEG: Detecção de ataques por ROP em tempo real assistida por hardware
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Parte I Parte II Parte III
Deteccao de ataques por ROP em tempo realassistida por hardware
Marcus Botacin1, Andre Gregio1,2, Paulo Lıcio de Geus1
1Instituto de Computacao - UNICAMP{marcus,paulo}@lasca.ic.unicamp.br
<BLOCO>22 xor eax,eax23 xor eax,eax24 jmp 0x1062 <FIM DO BLOCO>
...
...
Figura : Blocos com instrucoes de desvios nas extremidades (em negrito)e janela deslizante de 16 instrucoes.
Deteccao de ataques por ROP em tempo real assistida por hardware SBSeg’16
Parte I Parte II Parte III
Polıticas de Integridade
Como Obter Instrucoes a partir de branches ?
Listagem 3 : 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 4 : 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 ]
Deteccao de ataques por ROP em tempo real assistida por hardware SBSeg’16
Parte I Parte II Parte III
Testes e Resultados
Topicos
1 Parte IIntroducaoROPTrabalhos RelacionadosMecanismos de MonitoracaoImplementacoes atuais
2 Parte IIPropostaPolıticas de IntegridadeTestes e Resultados
3 Parte IIIConsideracoes FinaisConclusoes e Agradecimentos
Deteccao de ataques por ROP em tempo real assistida por hardware SBSeg’16
Parte I Parte II Parte III
Testes e Resultados
Um exploit real
Tabela : Janela de instrucoes de desvio contendo 2 gadgets de 2 bytes e2 instrucoes.
FROM TO—- 0x7c346c0a
0x7c346c0b 0x7c37a1400x7c37a141 —-
Deteccao de ataques por ROP em tempo real assistida por hardware SBSeg’16
Parte I Parte II Parte III
Testes e Resultados
Um exploit real
Listagem 5 : Codigo legıtimo (alinhado) contendo uma sequencia debytes que pode ser abusada em um ataque (gadget).
1 7 c346c08 : f 2 0 f 58 c3 addsd %xmm3,%xmm02 7 c346c0c : 66 0 f 13 44 24 04 movlpd %xmm0, 0 x4(%esp )
Listagem 6 : Codigo desalinhado contendo o gadget realmente executado.1 0 x1000 ( s i z e =1) pop rax2 0 x1001 ( s i z e =1) r e t
Deteccao de ataques por ROP em tempo real assistida por hardware SBSeg’16
Parte I Parte II Parte III
Testes e Resultados
Um exploit real
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
iexplo mplayer soffice adobe superpi Exploit
De
nsid
ad
e
Aplicações
Densidade de desvios para diferentes aplicações
exploitbenign
Figura : Densidade de desvios em diferentes aplicacoes.Deteccao de ataques por ROP em tempo real assistida por hardware SBSeg’16
Parte I Parte II Parte III
Testes e Resultados
Overhead
Ativacao do Monitor1%.
Coleta de dados14% a 26%
Disassembly online40%.
Deteccao de ataques por ROP em tempo real assistida por hardware SBSeg’16
Parte I Parte II Parte III
Consideracoes Finais
Topicos
1 Parte IIntroducaoROPTrabalhos RelacionadosMecanismos de MonitoracaoImplementacoes atuais
2 Parte IIPropostaPolıticas de IntegridadeTestes e Resultados
3 Parte IIIConsideracoes FinaisConclusoes e Agradecimentos
Deteccao de ataques por ROP em tempo real assistida por hardware SBSeg’16
Parte I Parte II Parte III
Consideracoes Finais
Solucao Definitiva ?
Weird MachinesPage Fault ComputingELF Metadata ComputingLook up Tables Computing
Deteccao de ataques por ROP em tempo real assistida por hardware SBSeg’16
Parte I Parte II Parte III
Consideracoes Finais
Analise dos Resultados
SumarizacaoAtaques de Reuso cada vez mais frequente..Solucoes exigem recompilacao ou codigo estatico.Solucoes por hardware tem limitacoes de implementacao.Uso de BTS e disassembly dinamico e opcao.Diferentes heurısticas para diferentes construcoes.Nao temos solucao definitiva.Solucoes de monitoramento sempre serao necessarias.Podemos avancar estado-da-arte das implementacoes.
Deteccao de ataques por ROP em tempo real assistida por hardware SBSeg’16
Parte I Parte II Parte III
Consideracoes Finais
Limitacoes e Trabalhos Futuros
LimitacoesAnalise em kernel.Jump Oriented Programming (JOP).Loop Oriented Programming (LOP).POP+RET como substituto a CALL.
Trabalhos FuturosExpansao das analises.
Deteccao de ataques por ROP em tempo real assistida por hardware SBSeg’16
Parte I Parte II Parte III
Conclusoes e Agradecimentos
Topicos
1 Parte IIntroducaoROPTrabalhos RelacionadosMecanismos de MonitoracaoImplementacoes atuais
2 Parte IIPropostaPolıticas de IntegridadeTestes e Resultados
3 Parte IIIConsideracoes FinaisConclusoes e Agradecimentos
Deteccao de ataques por ROP em tempo real assistida por hardware SBSeg’16
Parte I Parte II Parte III
Conclusoes e Agradecimentos
Conclusoes
ConclusoesSolucao Baseada em BTS ao inves do LBR.Sem injecao de codigo.Monitoramento system wideDisassembly dinamico.
Deteccao de ataques por ROP em tempo real assistida 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