Repositório Digital

A- A A+

Estudo da vulnerabilidade de Heap Overflow e medidas de proteção

.

Estudo da vulnerabilidade de Heap Overflow e medidas de proteção

Mostrar registro completo

Estatísticas

Título Estudo da vulnerabilidade de Heap Overflow e medidas de proteção
Outro título Study of heap overflow vulnerability and protective measures
Autor Coimbra, Júlio Francisco Monteiro
Orientador Weber, Raul Fernando
Data 2011
Nível Graduação
Instituição Universidade Federal do Rio Grande do Sul. Instituto de Informática. Curso de Ciência da Computação: Ênfase em Ciência da Computação: Bacharelado.
Assunto Seguranca : Computadores
[en] Buffer overflow
[en] Exploit
[en] Heap overflow
[en] Heap overrun
[en] Vulnerability
Resumo Este trabalho tem por objetivo o estudo da vulnerabilidade Heap Overflow, também chamada de Heap Overrun, e das medidas de proteção adotadas para impedir esta vulnerabilidade. Devido o funcionamento do Heap Overflow ser altamente dependente do hardware e do sistema operacional, este estudo é focado na arquitetura i386 e no sistema operacional Linux/Unix. Inicialmente são vistos conceitos iniciais importantes para o entendimento desta vulnerabilidade, como conceitos sobre Heap Overflow, sobre o sistema Linux, sobre processos e a estrutura de um processo na memória e sobre Shellcodes. Após isto, são descritos os dois grupos de ataques de Heap Overflow: o primeiro grupo consiste em alterar conteúdo de blocos adjacentes da memória Heap e o segundo grupo consiste em alteração das informações de gerenciamento da memória Heap. É dada uma maior ênfase no estudo do segundo grupo fazendo um estudo do alocador de memória dinâmica do Linux e a descrição da exploração do Heap Overflow usando a macro unlink(). Também são descritas medidas de proteção implementadas de modo a evitar o Heap Overflow como modificações implementadas nas versões mais atuais da biblioteca Glibc, mecanismos de hardware e software, implementações no compilador e no sistema operacional, uso de programas auxiliares e cuidados que o programador deve ter para evitar a vulnerabilidade. Por fim, é descrita de forma mais resumida a estrutura da memória Heap do Sistema Operacional Windows e a maneira que é explorada a vulnerabilidade Heap Overflow neste sistema, comparando com os conceitos estudados de forma mais detalhada no sistema operacional Linux. É verificado que devido aos conceitos de implementação da memória Heap terem tido muitas semelhanças, a vulnerabilidade ocorre de forma semelhante no sistema Windows, da mesma forma que ocorre em outros sistemas operacionais que utilizam os mesmos conceitos.
Abstract This work aims to study the Heap Overflow vulnerability, also called Heap Overrun, and the protective measures taken to prevent this vulnerability. Because the operation of the Heap Overflow is highly dependent on the hardware and operating system, this study focuses on the i386 architecture and operating system Linux / Unix. Initially are seen important basic concepts for understanding the operation of this vulnerability, as concepts about Heap Overflow, about the Linux system, about processes and the structure of a process in memory and about Shellcodes. After this, the two groups of Heap Overflow attacks are described: the first group is that changes the contents of adjacent blocks of Heap memory and the second group consist in alteration of the information management of heap memory. Greater emphasis is given to the study of the second group by a study of the dynamic memory allocator of Linux and the description of the exploit of Heap Overflow using the macro unlink(). It also describes protective measures implemented to prevent the Heap Overflow as changes implemented in the most updated versions of Glibc library, mechanisms of hardware and software, implementations in the compiler and in the operating system, use of auxiliary programs and care that the developer should take to avoid the vulnerability. Finally, the structure of the Heap memory of the Windows OS is described more shortly, as well as how the vulnerability is exploited in this system, in comparison to the concepts studied in more detail in the Linux operating System. It is found that, due to the concepts of implementation of Heap memory have many similarities, the vulnerability occurs similarly in the Windows system, in the same way as occurs in other operating systems that use the same concepts.
Tipo Trabalho de conclusão de graduação
URI http://hdl.handle.net/10183/36924
Arquivos Descrição Formato
000819136.pdf (728.8Kb) Texto completo Adobe PDF Visualizar/abrir

Este item está licenciado na Creative Commons License

Este item aparece na(s) seguinte(s) coleção(ões)


Mostrar registro completo

Percorrer



  • O autor é titular dos direitos autorais dos documentos disponíveis neste repositório e é vedada, nos termos da lei, a comercialização de qualquer espécie sem sua autorização prévia.
    Projeto gráfico elaborado pelo Caixola - Clube de Criação Fabico/UFRGS Powered by DSpace software, Version 1.8.1.