TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Estouro Buffet

Artigo: Estouro Buffet. Pesquise 862.000+ trabalhos acadêmicos

Por:   •  22/3/2015  •  831 Palavras (4 Páginas)  •  285 Visualizações

Página 1 de 4

Universidade Federal do Rio de Janeiro

Instituto de Matem´atica

Departamento de Ciˆencia da Computa¸c˜ao

Grupo de Resposta a Incidentes de Seguran¸ca

Rio de Janeiro, RJ - Brasil

Buffer Overflow

Uma introdu¸c˜ao te´orica

GRIS-2011-A-001

Raphael Duarte Paiva

Thiago Fonseca Boche(Revis˜ao)

Pedro Philippe Costa Rosanes(Revis˜ao)

A vers˜ao mais recente deste documento pode ser obtida na p´agina oficial do GRIS: http:

//www.gris.dcc.ufrj.br.

GRIS - Grupo de Resposta a Incidentes de Seguran¸ca

Av. Brigadeiro Trompowski, s/n°

CCMN – Bloco F1 - Decania

Cidade Universit´aria - Rio de Janeiro/RJ

CEP: 21949-900

Telefone: +55 (21) 2598-9491

Este documento ´e Copyright©2011 GRIS. Ele pode ser livremente copiado desde que sejam

respeitadas as seguintes condi¸c˜oes:

E permitido fazer e distribuir c´opias inalteradas deste documento, completo ou em partes, ´

contanto que esta nota de copyright e distribui¸c˜ao seja mantida em todas as c´opias, e que a distribui¸c˜ao

n˜ao tenha fins comerciais. Se este documento for distribu´ıdo apenas em parte, instru¸c˜oes

de como obtˆe-lo por completo devem ser inclu´ıdas. E vedada a distribui¸c˜ao de vers˜oes modificadas ´

deste documento, bem como a comercializa¸c˜ao de c´opias, sem a permiss˜ao expressa do GRIS.

Embora todos os cuidados tenham sido tomados na prepara¸c˜ao deste documento, o GRIS n˜ao

garante a corre¸c˜ao absoluta das informa¸c˜oes nele contidas, nem se responsabiliza por eventuais

consequˆencias que possam advir do seu uso.

1.2 Buffer - o que ´e?

Em computa¸c˜ao, um buffer ´e uma regi˜ao tempor´aria da mem´oria onde s˜ao guardados

dados para serem transportados de um lugar para o outro.

Uma aplica¸c˜ao frequente de um buffer ´e quando dados s˜ao capturados de um dis- ¨

positivo de entrada (um teclado ou mouse, por exemplo) e enviados `a um dispositivo

de sa´ıda(monitor, impressora).

Exemplo:

Digamos que o usu´ario est´a em uma aplica¸c˜ao de terminal, onde tudo o que ele

digita, ´e impresso na tela.

2

O processo de imprimir o que o usu´ario digita, simplificadamente, segue um padr˜ao

parecido com o seguinte:

1. O Usu´ario aperta uma tecla.

2. Um buffer pr´eviamente programado

para tal fim, armazena o

dado vindo da entrada padr˜ao

(o teclado).

3. O dado contido no buffer ´e ent˜ao

copiado para uma vari´avel

interna do sistema, em seguida,

processado para se tornar leg´ıvel `a sa´ıda padr˜ao (geralmente usa-se um padr˜ao

de codifica¸c˜ao de caracteres, como a tabela ASCII, por exemplo).

4. O dado ´e ent˜ao, copiado para

a sa´ıda padr˜ao e, consequente- ¨

mente, impresso na tela do terminal.

Buffers tamb´em s˜ao utilizados em aplica¸c˜

1.4 Buffer Overflow - Uma vis˜ao geral

O buffer overflow ´e um erro de programa¸c˜ao que pode resultar em execu¸c˜ao errˆonea

de um programa, acesso indevido `a ´areas de mem´oria, termina¸c˜ao do programa

ou uma poss´ıvel falha de seguran¸ca em um sistema.

Tecnicamente falando, um buffer overflow consiste em um processo de armazenar,

em um buffer de tamanho fixo, dados maiores que o seu tamanho.

Exemplo:

Imagine que um programa declara duas estruturas de dados adjacentes na mem´oria

do computador: um vetor de caracteres de 8 bytes, A, e um inteiro de 2 bytes,

B, enche A de zeros e B recebe o n´umero 9, como no seguinte esquema:

Agora imagine

...

Baixar como (para membros premium)  txt (5.9 Kb)  
Continuar por mais 3 páginas »
Disponível apenas no TrabalhosGratuitos.com