Uma ferramenta multiplataforma para prevenção de buffer overflow
Autor(a) principal: | |
---|---|
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_ |
1810085397337735168 |