SlideShare a Scribd company logo
1 of 17
Download to read offline
Conjunto de Instruções
 em Buffer OverFlow
Pedro Filho           Leandro Almeida

     Universidade Federal da Paraíba
Programa de Pós-graduação em Informática
      Arquitetura de Computadores
SOFTWARE

INSTRUÇÕES

HARDWARE
Instruções de Chamada de
      Procedimento
Armazenamento do Endereço de
         Retorno
   Registrador
      Início do procedimento chamado



        Pilha
Pilha
Buffer OverFlow
 “Ocorre quando uma quantidade
de bytes é copiado para uma área
 de memória que não comporta o
             mesmo.
Desta forma, os dados excedentes
podem sobrescrever registradores
 ou outras variáveis.” [Hugo Reinaldo]
EXEMPLO 1
Buffer OverFlow Simples
Buffer OverFlow
char nome[4];              int idade;

  L      E      O 0         2 0
Entrada: LEO idade: 20
char nome[4];              int idade;

  L      E      O O          A 0
Entrada: LEOOA idade: 65
EXEMPLO 2
Buffer OverFlow com escrita
de dados no endereço de
retorno
EXEMPLO 3
Buffer OverFlow com escrita
de dados no endereço de
retorno e execução de
comandos arbitrários
char buffer[100];



Frame Pointer - FP

Endereço de Retorno

Parâmetros da Função
DATA
 EXECUTION
PREVENTION
DEP
- Hardware
   - Marca áreas de memória como
não executável
   - Bit NX (No eXecute)
- Software
   - Verifica quando uma exceção é
gerada
ADDRESS
     SPACE
    LAYOUT
RANDOMIZATION
ASLR
Randomiza as regiões de memória,
dificultando a descoberta para o
atacante

Módulo - GRSECURITY
Referências
[1] Aleph1 - Smashing The Stack For Fun And Profit. Acessado em
22/11/2011. Disponível em:
http://www.phrack.org/issues.html?id=14&issue=49

[2] ARANHA, Diego. Tomando o controle de programas vulneráveis a
buffer overflow. Acessado em 22/11/2011. Disponível em:
http://www.cic.unb.br/~pedro/trabs/buffer_overflow.htm

[3] Piromsopa, K.; Enbody, R.J. Buffer-Overflow Protection: The Theory .
Electro/information Technology, 2006 IEEE International Conference on

[4] Chongkyung Kil; et al . Address Space Layout Permutation (ASLP):
Towards Fine-Grained Randomization of Commodity Software. Computer
Security Applications Conference, 2006. ACSAC '06. 22nd Annual

[5] ANLEY, Chris; et al . The Shellcoder's Handbook - Discovering and
Exploiting Security Holes. Second Edition. Wiley Publising - 2007

More Related Content

Viewers also liked

Viewers also liked (7)

Introducao aula-i
Introducao aula-iIntroducao aula-i
Introducao aula-i
 
ArquiteturaRisc_GabiCoelho
ArquiteturaRisc_GabiCoelhoArquiteturaRisc_GabiCoelho
ArquiteturaRisc_GabiCoelho
 
Ac16 conjunto de instruções v2
Ac16   conjunto de instruções v2Ac16   conjunto de instruções v2
Ac16 conjunto de instruções v2
 
Modelo de von neumann melhorado
Modelo de von neumann melhoradoModelo de von neumann melhorado
Modelo de von neumann melhorado
 
John von neumann
John von neumannJohn von neumann
John von neumann
 
Arquitetura de-computadores
Arquitetura de-computadoresArquitetura de-computadores
Arquitetura de-computadores
 
Modelo de von neumann
Modelo de von neumannModelo de von neumann
Modelo de von neumann
 

Similar to Apresentação

Buffer overflow slide prontos.pptx
Buffer overflow slide prontos.pptxBuffer overflow slide prontos.pptx
Buffer overflow slide prontos.pptxJomarRich
 
9 - segurança - ataques buffer-injection
9 - segurança -  ataques buffer-injection9 - segurança -  ataques buffer-injection
9 - segurança - ataques buffer-injectionAndre Peres
 
Introdução a Exploração de Software
Introdução a Exploração de SoftwareIntrodução a Exploração de Software
Introdução a Exploração de SoftwareKaique Bonato
 
Slide curso metasploit
Slide curso metasploitSlide curso metasploit
Slide curso metasploitRoberto Soares
 
Python e Linux para a criação de ferramentas para pentest
Python e Linux para a criação de ferramentas para pentestPython e Linux para a criação de ferramentas para pentest
Python e Linux para a criação de ferramentas para pentestEdson Celio
 
Vulnerabilidade Out-of-bounds-Write (CWE-787)
Vulnerabilidade Out-of-bounds-Write (CWE-787)Vulnerabilidade Out-of-bounds-Write (CWE-787)
Vulnerabilidade Out-of-bounds-Write (CWE-787)GuilhermeDutra48
 
Painel HHVM, Zephir, PHPNG
Painel HHVM, Zephir, PHPNGPainel HHVM, Zephir, PHPNG
Painel HHVM, Zephir, PHPNGiMasters
 
Logs, pra que te quero! @ PHP Community Summit by locaweb 2017
Logs, pra que te quero! @ PHP Community Summit by locaweb 2017Logs, pra que te quero! @ PHP Community Summit by locaweb 2017
Logs, pra que te quero! @ PHP Community Summit by locaweb 2017Gabriel Machado
 
Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014Getup Cloud
 
Comandos do Linux
Comandos do LinuxComandos do Linux
Comandos do LinuxJohn Godoi
 
Aula 004 noções de hardware
Aula 004   noções de hardwareAula 004   noções de hardware
Aula 004 noções de hardwareFlávio Freitas
 

Similar to Apresentação (20)

Processos (Linux)
Processos (Linux)Processos (Linux)
Processos (Linux)
 
Buffer overflow slide prontos.pptx
Buffer overflow slide prontos.pptxBuffer overflow slide prontos.pptx
Buffer overflow slide prontos.pptx
 
BUFFER OFFICIAL.pptx
BUFFER OFFICIAL.pptxBUFFER OFFICIAL.pptx
BUFFER OFFICIAL.pptx
 
9 - segurança - ataques buffer-injection
9 - segurança -  ataques buffer-injection9 - segurança -  ataques buffer-injection
9 - segurança - ataques buffer-injection
 
Introdução a Exploração de Software
Introdução a Exploração de SoftwareIntrodução a Exploração de Software
Introdução a Exploração de Software
 
PHP 5.3 - Introdução
PHP 5.3 - IntroduçãoPHP 5.3 - Introdução
PHP 5.3 - Introdução
 
Slide curso metasploit
Slide curso metasploitSlide curso metasploit
Slide curso metasploit
 
Python e Linux para a criação de ferramentas para pentest
Python e Linux para a criação de ferramentas para pentestPython e Linux para a criação de ferramentas para pentest
Python e Linux para a criação de ferramentas para pentest
 
Vulnerabilidade Out-of-bounds-Write (CWE-787)
Vulnerabilidade Out-of-bounds-Write (CWE-787)Vulnerabilidade Out-of-bounds-Write (CWE-787)
Vulnerabilidade Out-of-bounds-Write (CWE-787)
 
Painel HHVM, Zephir, PHPNG
Painel HHVM, Zephir, PHPNGPainel HHVM, Zephir, PHPNG
Painel HHVM, Zephir, PHPNG
 
Estrutura de Processos
Estrutura de ProcessosEstrutura de Processos
Estrutura de Processos
 
Logs, pra que te quero! @ PHP Community Summit by locaweb 2017
Logs, pra que te quero! @ PHP Community Summit by locaweb 2017Logs, pra que te quero! @ PHP Community Summit by locaweb 2017
Logs, pra que te quero! @ PHP Community Summit by locaweb 2017
 
Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014
 
Modern PHP
Modern PHPModern PHP
Modern PHP
 
Automação de Data Center
Automação de Data CenterAutomação de Data Center
Automação de Data Center
 
Ntop
NtopNtop
Ntop
 
Comandos do Linux
Comandos do LinuxComandos do Linux
Comandos do Linux
 
Aula 004 noções de hardware
Aula 004   noções de hardwareAula 004   noções de hardware
Aula 004 noções de hardware
 
Qcon Rio 2015 - Data Lakes Workshop
Qcon Rio 2015 - Data Lakes WorkshopQcon Rio 2015 - Data Lakes Workshop
Qcon Rio 2015 - Data Lakes Workshop
 
Data Lakes com Hadoop e Spark: Agile Analytics na prática
Data Lakes com Hadoop e Spark: Agile Analytics na práticaData Lakes com Hadoop e Spark: Agile Analytics na prática
Data Lakes com Hadoop e Spark: Agile Analytics na prática
 

More from Leandro Almeida (20)

D do s
D do sD do s
D do s
 
Segurança de-redes
Segurança de-redesSegurança de-redes
Segurança de-redes
 
Unidade2 projeto lógico da rede
Unidade2   projeto lógico da redeUnidade2   projeto lógico da rede
Unidade2 projeto lógico da rede
 
Roteiro cups
Roteiro cupsRoteiro cups
Roteiro cups
 
Roteiro sambaswat
Roteiro sambaswatRoteiro sambaswat
Roteiro sambaswat
 
Roteiro samba
Roteiro sambaRoteiro samba
Roteiro samba
 
Unidade6 roteiro pentest
Unidade6 roteiro pentestUnidade6 roteiro pentest
Unidade6 roteiro pentest
 
Roteiro vsftpd
Roteiro vsftpdRoteiro vsftpd
Roteiro vsftpd
 
Roteiro sshd
Roteiro sshdRoteiro sshd
Roteiro sshd
 
Roteiro nfs
Roteiro nfsRoteiro nfs
Roteiro nfs
 
Unidade5 roteiro footprint
Unidade5 roteiro footprintUnidade5 roteiro footprint
Unidade5 roteiro footprint
 
Unidade5 footprint
Unidade5 footprintUnidade5 footprint
Unidade5 footprint
 
Unidade8 roteiro
Unidade8 roteiroUnidade8 roteiro
Unidade8 roteiro
 
Unidade 8 ieee802-11i
Unidade 8   ieee802-11iUnidade 8   ieee802-11i
Unidade 8 ieee802-11i
 
Unidade4 cripto
Unidade4 criptoUnidade4 cripto
Unidade4 cripto
 
Roteiro dns
Roteiro dnsRoteiro dns
Roteiro dns
 
Unidade 6 servico dns
Unidade 6   servico dnsUnidade 6   servico dns
Unidade 6 servico dns
 
Roteiro web
Roteiro webRoteiro web
Roteiro web
 
Unidade7 roteiro
Unidade7 roteiroUnidade7 roteiro
Unidade7 roteiro
 
Unidade 7 cripto
Unidade 7  criptoUnidade 7  cripto
Unidade 7 cripto
 

Apresentação

  • 1. Conjunto de Instruções em Buffer OverFlow Pedro Filho Leandro Almeida Universidade Federal da Paraíba Programa de Pós-graduação em Informática Arquitetura de Computadores
  • 3. Instruções de Chamada de Procedimento
  • 4. Armazenamento do Endereço de Retorno Registrador Início do procedimento chamado Pilha
  • 6. Buffer OverFlow “Ocorre quando uma quantidade de bytes é copiado para uma área de memória que não comporta o mesmo. Desta forma, os dados excedentes podem sobrescrever registradores ou outras variáveis.” [Hugo Reinaldo]
  • 8. Buffer OverFlow char nome[4]; int idade; L E O 0 2 0 Entrada: LEO idade: 20 char nome[4]; int idade; L E O O A 0 Entrada: LEOOA idade: 65
  • 9. EXEMPLO 2 Buffer OverFlow com escrita de dados no endereço de retorno
  • 10.
  • 11. EXEMPLO 3 Buffer OverFlow com escrita de dados no endereço de retorno e execução de comandos arbitrários
  • 12. char buffer[100]; Frame Pointer - FP Endereço de Retorno Parâmetros da Função
  • 14. DEP - Hardware - Marca áreas de memória como não executável - Bit NX (No eXecute) - Software - Verifica quando uma exceção é gerada
  • 15. ADDRESS SPACE LAYOUT RANDOMIZATION
  • 16. ASLR Randomiza as regiões de memória, dificultando a descoberta para o atacante Módulo - GRSECURITY
  • 17. Referências [1] Aleph1 - Smashing The Stack For Fun And Profit. Acessado em 22/11/2011. Disponível em: http://www.phrack.org/issues.html?id=14&issue=49 [2] ARANHA, Diego. Tomando o controle de programas vulneráveis a buffer overflow. Acessado em 22/11/2011. Disponível em: http://www.cic.unb.br/~pedro/trabs/buffer_overflow.htm [3] Piromsopa, K.; Enbody, R.J. Buffer-Overflow Protection: The Theory . Electro/information Technology, 2006 IEEE International Conference on [4] Chongkyung Kil; et al . Address Space Layout Permutation (ASLP): Towards Fine-Grained Randomization of Commodity Software. Computer Security Applications Conference, 2006. ACSAC '06. 22nd Annual [5] ANLEY, Chris; et al . The Shellcoder's Handbook - Discovering and Exploiting Security Holes. Second Edition. Wiley Publising - 2007