TCC
Buffer overflow: teoria e exploração
Carregando...
Notas
Data
Autores
Orientadores
Editores
Coorientadores
Membros de banca
Heimfarth, Tales
Correia, Luiz Henrique Andrade
Título da Revista
ISSN da Revista
Título de Volume
Editor
Faculdade, Instituto ou Escola
Departamento
Programa de Pós-Graduação
Agência de fomento
Tipo de impacto
Áreas Temáticas da Extenção
Objetivos de Desenvolvimento Sustentável
Dados abertos
Resumo
Este trabalho é um estudo sobre buffer overflow, no qual são apresentadas
as arquiteturas de software e de hardware que permeiam o problema. É fornecida
uma explicação sobre as arquiteturas de processadores Intel 64 e IA-32, bem como
o sistema operacional Linux. Estes ambientes foram utilizados para o desenvolvimento
e exploração do tema. O problema é detalhado e alguns estudos de casos
são mostrados, exemplificando sua exploração. Basicamente consiste no transbordamento
durante a escrita em regiões de memória ou arrays. Há o interesse
em mostrar o quanto o descaso para com a segurança computacional durante o
desenvolvimento de software pode ser perigoso para um ambiente computacional.
Comenta-se sobre algumas ferramentas existentes para a prevenção do buffer overflow,
que podem ser usadas no sistema operacional Linux. As ferramentas são
aplicadas em contextos diferentes e possuem um certo nível de segurança; as ferramentas
abrangidas são: Libsafe, StackGuard, StackShield, ProPolice e PaX. O
grande problema do buffer overflow, de um modo geral, são enganos cometidos
durante a fase de desenvolvimento. Nos experimentos, foi possível invadir um sistema
através de ataques em arquiteturas 32 bits através dos seguintes modos de
sobrescrita: endereço de retorno e endereço base do frame da função que faz a
chamada, e ponteiro de função. Já em arquiteturas 64 bits, não foi possível explorar
a falha.
Abstract
This work is a study about buffer overflow, presenting the architectures of
the software and hardware involved. It explains the architectures of the Intel 64
and IA-32 processors, as well as the Linux operating system. These environments
were used for the development and exploration of buffer overflow. The problem
is detailed and some studies cases shown, exemplifying your exploitation. Basically,
buffer overflow occurs during writing in memory regions or arrays. There
is interest in show how negligence with computing security during software development
can be dangerous for computing environments. The study comments
about some of the existing tools to prevent buffer overflow on the Linux operating
system. These tools are applied to different contexts and have some level of security;
the tools examined are: Libsafe, StackGuard, StackShield, ProPolice and
PaX. The larger problem of buffer overflow is mistakes made during development
phase. In experiments, it was possible to invade a 32 bits system through attacks in
the following overwriting modes: return address and base pointer frame of calling
function, and function pointer. On the other hand, it was not possible to exploit the
fault in a 64 bits system.
Descrição
Área de concentração
Agência de desenvolvimento
Palavra chave
Marca
Objetivo
Procedência
Impacto da pesquisa
Resumen
Palavras-chave
ISBN
DOI
Citação
MATEUS, H. F. V. Buffer overflow: teoria e exploração. 2011. 83 p. Monografia (Graduação em Ciência da Computação) – Universidade Federal de Lavras, Lavras, 2011.
