Uma ferramenta multiplataforma para prevenção de buffer overflow

Detalhes bibliográficos
Autor(a) principal: Mello, Paulo Estima
Data de Publicação: 2009
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Biblioteca Digital de Teses e Dissertações da UFRGS
Texto Completo: http://hdl.handle.net/10183/156420
Resumo: Este trabalho apresenta um método para prevenir as vulnerabilidades causadas por erros de programação insegura que, normalmente, é resultado da solução de um problema proposto ou do desenvolvimento de funcionalidade sem levar em consideração a segurança do sistema como um todo. Os erros de programação (no contexto da segurança de um sistema e não apenas da sua funcionalidade) são normalmente frutos da ignorância do programador sobre as vulnerabilidades apresentadas pelas suas ferramentas para construção de programas. O estado da arte é brevemente apresentado demonstrando as soluções atuais em termos de proteção contra ataques de buffer overflow baseado em pilha. Soluções em tempo de compilação e pós-compilação por parte do sistema operacional são as mais comuns. Neste escopo é demonstrada a solução proposta por um protótipo funcional que valida o modelo para uma série de aplicações em duas plataformas diferentes (Windows e Linux). A solução converge a instrumentação de aplicações com o uso de um repositório de endereços de retorno para prevenir o retorno de funções a endereços não legalmente especificados. Testes do protótipo foram realizados em ambas as plataformas e mostraram a eficácia do protótipo prevenindo falhas em casos reais de buffer overflow baseado em pilha.
id URGS_e31c92666289603ee0b6f7b557c11cfb
oai_identifier_str oai:www.lume.ufrgs.br:10183/156420
network_acronym_str URGS
network_name_str Biblioteca Digital de Teses e Dissertações da UFRGS
repository_id_str 1853
spelling Mello, Paulo EstimaWeber, Raul Fernando2017-03-29T02:25:20Z2009http://hdl.handle.net/10183/156420001016896Este trabalho apresenta um método para prevenir as vulnerabilidades causadas por erros de programação insegura que, normalmente, é resultado da solução de um problema proposto ou do desenvolvimento de funcionalidade sem levar em consideração a segurança do sistema como um todo. Os erros de programação (no contexto da segurança de um sistema e não apenas da sua funcionalidade) são normalmente frutos da ignorância do programador sobre as vulnerabilidades apresentadas pelas suas ferramentas para construção de programas. O estado da arte é brevemente apresentado demonstrando as soluções atuais em termos de proteção contra ataques de buffer overflow baseado em pilha. Soluções em tempo de compilação e pós-compilação por parte do sistema operacional são as mais comuns. Neste escopo é demonstrada a solução proposta por um protótipo funcional que valida o modelo para uma série de aplicações em duas plataformas diferentes (Windows e Linux). A solução converge a instrumentação de aplicações com o uso de um repositório de endereços de retorno para prevenir o retorno de funções a endereços não legalmente especificados. Testes do protótipo foram realizados em ambas as plataformas e mostraram a eficácia do protótipo prevenindo falhas em casos reais de buffer overflow baseado em pilha.This paper presents a method to prevent the vulnerabilities caused by insecure programming which, usually, is an outcome of taking into account only the solution of a proposed problem or the development of new functionalities disregarding security on development of the system as a whole. The programming mistakes (in the context of the system security despite the system's functionality) are usually a result of the unawareness of the programmed about the vulnerabilities contained on the tools they use to develop software. The state of the art is briefly presented showing the current solutions related to preventing buffer overflows based on stack. Both compile time and post-compilation solutions (usually as part of the operating system) are the most widely used. In this work the proposed solution is demonstrated by a functional prototype which validates the model for a set of applications in two different platforms (Windows and Linux). The solution converges process instrumentation with a return address repository to prevent a function from returning to an address not legally specified. Testes of the prototype were performed in both platforms previously mentioned and have proved the correctness of the prototype by actually preventing exploitation on real case scenarios of real world applications.application/pdfporSeguranca : ComputadoresTolerancia : Falhas : SoftwareSecurityInstrumentationBuffer overflowProgramming errorUma ferramenta multiplataforma para prevenção de buffer overflowA Multiplatform tool to prevent buffer overflows info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPrograma de Pós-Graduação em ComputaçãoPorto Alegre, BR-RS2009mestradoinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSORIGINAL001016896.pdf001016896.pdfTexto completoapplication/pdf1125195http://www.lume.ufrgs.br/bitstream/10183/156420/1/001016896.pdf29b7cba2719b64ec8e44ff762444d0d2MD51TEXT001016896.pdf.txt001016896.pdf.txtExtracted Texttext/plain126147http://www.lume.ufrgs.br/bitstream/10183/156420/2/001016896.pdf.txt71bce9836fb745713565388a57d43917MD52THUMBNAIL001016896.pdf.jpg001016896.pdf.jpgGenerated Thumbnailimage/jpeg1056http://www.lume.ufrgs.br/bitstream/10183/156420/3/001016896.pdf.jpg37c89270c777703d9401f31dba69a25aMD5310183/1564202018-10-25 09:11:41.162oai:www.lume.ufrgs.br:10183/156420Biblioteca Digital de Teses e Dissertaçõeshttps://lume.ufrgs.br/handle/10183/2PUBhttps://lume.ufrgs.br/oai/requestlume@ufrgs.br||lume@ufrgs.bropendoar:18532018-10-25T12:11:41Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false
dc.title.pt_BR.fl_str_mv Uma ferramenta multiplataforma para prevenção de buffer overflow
dc.title.alternative.en.fl_str_mv A Multiplatform tool to prevent buffer overflows
title Uma ferramenta multiplataforma para prevenção de buffer overflow
spellingShingle Uma ferramenta multiplataforma para prevenção de buffer overflow
Mello, Paulo Estima
Seguranca : Computadores
Tolerancia : Falhas : Software
Security
Instrumentation
Buffer overflow
Programming error
title_short Uma ferramenta multiplataforma para prevenção de buffer overflow
title_full Uma ferramenta multiplataforma para prevenção de buffer overflow
title_fullStr Uma ferramenta multiplataforma para prevenção de buffer overflow
title_full_unstemmed Uma ferramenta multiplataforma para prevenção de buffer overflow
title_sort Uma ferramenta multiplataforma para prevenção de buffer overflow
author Mello, Paulo Estima
author_facet Mello, Paulo Estima
author_role author
dc.contributor.author.fl_str_mv Mello, Paulo Estima
dc.contributor.advisor1.fl_str_mv Weber, Raul Fernando
contributor_str_mv Weber, Raul Fernando
dc.subject.por.fl_str_mv Seguranca : Computadores
Tolerancia : Falhas : Software
topic Seguranca : Computadores
Tolerancia : Falhas : Software
Security
Instrumentation
Buffer overflow
Programming error
dc.subject.eng.fl_str_mv Security
Instrumentation
Buffer overflow
Programming error
description Este trabalho apresenta um método para prevenir as vulnerabilidades causadas por erros de programação insegura que, normalmente, é resultado da solução de um problema proposto ou do desenvolvimento de funcionalidade sem levar em consideração a segurança do sistema como um todo. Os erros de programação (no contexto da segurança de um sistema e não apenas da sua funcionalidade) são normalmente frutos da ignorância do programador sobre as vulnerabilidades apresentadas pelas suas ferramentas para construção de programas. O estado da arte é brevemente apresentado demonstrando as soluções atuais em termos de proteção contra ataques de buffer overflow baseado em pilha. Soluções em tempo de compilação e pós-compilação por parte do sistema operacional são as mais comuns. Neste escopo é demonstrada a solução proposta por um protótipo funcional que valida o modelo para uma série de aplicações em duas plataformas diferentes (Windows e Linux). A solução converge a instrumentação de aplicações com o uso de um repositório de endereços de retorno para prevenir o retorno de funções a endereços não legalmente especificados. Testes do protótipo foram realizados em ambas as plataformas e mostraram a eficácia do protótipo prevenindo falhas em casos reais de buffer overflow baseado em pilha.
publishDate 2009
dc.date.issued.fl_str_mv 2009
dc.date.accessioned.fl_str_mv 2017-03-29T02:25:20Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10183/156420
dc.identifier.nrb.pt_BR.fl_str_mv 001016896
url http://hdl.handle.net/10183/156420
identifier_str_mv 001016896
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:Biblioteca Digital de Teses e Dissertações 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 Biblioteca Digital de Teses e Dissertações da UFRGS
collection Biblioteca Digital de Teses e Dissertações da UFRGS
bitstream.url.fl_str_mv http://www.lume.ufrgs.br/bitstream/10183/156420/1/001016896.pdf
http://www.lume.ufrgs.br/bitstream/10183/156420/2/001016896.pdf.txt
http://www.lume.ufrgs.br/bitstream/10183/156420/3/001016896.pdf.jpg
bitstream.checksum.fl_str_mv 29b7cba2719b64ec8e44ff762444d0d2
71bce9836fb745713565388a57d43917
37c89270c777703d9401f31dba69a25a
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)
repository.mail.fl_str_mv lume@ufrgs.br||lume@ufrgs.br
_version_ 1800309102080950272