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

Detalhes bibliográficos
Autor(a) principal: Coimbra, Júlio Francisco Monteiro
Data de Publicação: 2011
Tipo de documento: Trabalho de conclusão de curso
Idioma: por
Título da fonte: Repositório Institucional da UFRGS
Texto Completo: http://hdl.handle.net/10183/36924
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.
id UFRGS-2_b3de5547e52cfc3d3a0aaab5d74a6fb3
oai_identifier_str oai:www.lume.ufrgs.br:10183/36924
network_acronym_str UFRGS-2
network_name_str Repositório Institucional da UFRGS
repository_id_str
spelling Coimbra, Júlio Francisco MonteiroWeber, Raul Fernando2012-01-26T01:20:02Z2011http://hdl.handle.net/10183/36924000819136Este 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.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.application/pdfporSeguranca : ComputadoresHeap overflowHeap overrunBuffer overflowExploitVulnerabilityEstudo da vulnerabilidade de Heap Overflow e medidas de proteçãoStudy of heap overflow vulnerability and protective measures info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPorto Alegre, BR-RS2011Ciência da Computação: Ênfase em Ciência da Computação: Bachareladograduaçãoinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSTEXT000819136.pdf.txt000819136.pdf.txtExtracted Texttext/plain130936http://www.lume.ufrgs.br/bitstream/10183/36924/2/000819136.pdf.txtacac8a43df2eb59ce5593baac4b5d8efMD52ORIGINAL000819136.pdf000819136.pdfTexto completoapplication/pdf728899http://www.lume.ufrgs.br/bitstream/10183/36924/1/000819136.pdf1f6bd6e40bff86a3fccd125ccd3ffe1fMD51THUMBNAIL000819136.pdf.jpg000819136.pdf.jpgGenerated Thumbnailimage/jpeg1059http://www.lume.ufrgs.br/bitstream/10183/36924/3/000819136.pdf.jpg3ce6666ad6aa164c5e2a762170a5e6f2MD5310183/369242018-10-05 08:40:57.646oai:www.lume.ufrgs.br:10183/36924Repositório de PublicaçõesPUBhttps://lume.ufrgs.br/oai/requestopendoar:2018-10-05T11:40:57Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false
dc.title.pt_BR.fl_str_mv Estudo da vulnerabilidade de Heap Overflow e medidas de proteção
dc.title.alternative.en.fl_str_mv Study of heap overflow vulnerability and protective measures
title Estudo da vulnerabilidade de Heap Overflow e medidas de proteção
spellingShingle Estudo da vulnerabilidade de Heap Overflow e medidas de proteção
Coimbra, Júlio Francisco Monteiro
Seguranca : Computadores
Heap overflow
Heap overrun
Buffer overflow
Exploit
Vulnerability
title_short Estudo da vulnerabilidade de Heap Overflow e medidas de proteção
title_full Estudo da vulnerabilidade de Heap Overflow e medidas de proteção
title_fullStr Estudo da vulnerabilidade de Heap Overflow e medidas de proteção
title_full_unstemmed Estudo da vulnerabilidade de Heap Overflow e medidas de proteção
title_sort Estudo da vulnerabilidade de Heap Overflow e medidas de proteção
author Coimbra, Júlio Francisco Monteiro
author_facet Coimbra, Júlio Francisco Monteiro
author_role author
dc.contributor.author.fl_str_mv Coimbra, Júlio Francisco Monteiro
dc.contributor.advisor1.fl_str_mv Weber, Raul Fernando
contributor_str_mv Weber, Raul Fernando
dc.subject.por.fl_str_mv Seguranca : Computadores
topic Seguranca : Computadores
Heap overflow
Heap overrun
Buffer overflow
Exploit
Vulnerability
dc.subject.eng.fl_str_mv Heap overflow
Heap overrun
Buffer overflow
Exploit
Vulnerability
description 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.
publishDate 2011
dc.date.issued.fl_str_mv 2011
dc.date.accessioned.fl_str_mv 2012-01-26T01:20:02Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10183/36924
dc.identifier.nrb.pt_BR.fl_str_mv 000819136
url http://hdl.handle.net/10183/36924
identifier_str_mv 000819136
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRGS
instname:Universidade Federal do Rio Grande do Sul (UFRGS)
instacron:UFRGS
instname_str Universidade Federal do Rio Grande do Sul (UFRGS)
instacron_str UFRGS
institution UFRGS
reponame_str Repositório Institucional da UFRGS
collection Repositório Institucional da UFRGS
bitstream.url.fl_str_mv http://www.lume.ufrgs.br/bitstream/10183/36924/2/000819136.pdf.txt
http://www.lume.ufrgs.br/bitstream/10183/36924/1/000819136.pdf
http://www.lume.ufrgs.br/bitstream/10183/36924/3/000819136.pdf.jpg
bitstream.checksum.fl_str_mv acac8a43df2eb59ce5593baac4b5d8ef
1f6bd6e40bff86a3fccd125ccd3ffe1f
3ce6666ad6aa164c5e2a762170a5e6f2
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)
repository.mail.fl_str_mv
_version_ 1815447071956664320