SMOV: protecting programs against buffer overflow in hardware
Autor(a) principal: | |
---|---|
Data de Publicação: | 2015 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Repositório Institucional da UFMG |
Texto Completo: | http://hdl.handle.net/1843/ESBF-9WVNB8 |
Resumo: | Estouro de Arranjos (Buffer Overflow BOF) continua a ser uma das principais vulnerabilidades encontradas em software. Ano passado, a comunidade de Segurança da Informação foi surpreendida quando pesquisadores revelaram uma vulnerabilidade de BOF no OpenSSL.Linguagens de programação como C e C++, amplamente usadas para desenvolvimento de sistemas e em uma grande variedade de aplicações, não proveem Verificação de Limites de Arranjos (Array Bound Checks ABCs) nativamente. Existem inúmeras propostas quevisam a proteção de memória para essas linguagens, através de soluções baseadas em software ou hardware. Ainda assim, entretanto, essas técnicas acabam por comprometer o desempenho dos programas, o que não é uma solução ideal para o problema. Este trabalho apresenta uma nova abordagem para alcançar verificação de limites de arranjos e acesso à memória (quando permitido) através de uma única instrução. Nós discutimos como ela pode ser implementada em arquiteturas com tamanho variável de instruções e disponibilizamosuma implementação de referência. |
id |
UFMG_0881f2fbfa547532bb392ff61b1a6560 |
---|---|
oai_identifier_str |
oai:repositorio.ufmg.br:1843/ESBF-9WVNB8 |
network_acronym_str |
UFMG |
network_name_str |
Repositório Institucional da UFMG |
repository_id_str |
|
spelling |
Leonardo Barbosa e OliveiraOmar Paranaiba Vilela NetoOmar Paranaiba Vilela NetoAntonio Otavio FernandesRicardo Augusto Rabelo OliveiraSergio Vale Aguiar CamposAntonio Lemos Maia Neto2019-08-10T02:51:46Z2019-08-10T02:51:46Z2015-02-24http://hdl.handle.net/1843/ESBF-9WVNB8Estouro de Arranjos (Buffer Overflow BOF) continua a ser uma das principais vulnerabilidades encontradas em software. Ano passado, a comunidade de Segurança da Informação foi surpreendida quando pesquisadores revelaram uma vulnerabilidade de BOF no OpenSSL.Linguagens de programação como C e C++, amplamente usadas para desenvolvimento de sistemas e em uma grande variedade de aplicações, não proveem Verificação de Limites de Arranjos (Array Bound Checks ABCs) nativamente. Existem inúmeras propostas quevisam a proteção de memória para essas linguagens, através de soluções baseadas em software ou hardware. Ainda assim, entretanto, essas técnicas acabam por comprometer o desempenho dos programas, o que não é uma solução ideal para o problema. Este trabalho apresenta uma nova abordagem para alcançar verificação de limites de arranjos e acesso à memória (quando permitido) através de uma única instrução. Nós discutimos como ela pode ser implementada em arquiteturas com tamanho variável de instruções e disponibilizamosuma implementação de referência.A Buffer Overflow (BOF) continues to be among the top causes of software vulnerabilities. Last year the security world was taken by surprise when researches unveiled a BOF in OpenSSL. Languages like C and C++, widely used for systems development and for a large variety of applications, do not provide native Array-Bound Checks (ABC). A myriadof proposals endeavor memory protection for such languages by employing both softwareand hardware-based solutions. Due to numerous reasons, none of them have yet reached the mainstream. In this work, we propose a novel approach to achieve an arrays bound-check and a memory access (when allowed) within a single instruction. We discuss how it can be implemented on variable-length ISAs and provide a reference implementation.Universidade Federal de Minas GeraisUFMGComputaçãoComputadores Medidas de segurançaRedes de computadores Medidas de segurançaBuffer-overflowSecurityComputer ArchitecturesSMOV: protecting programs against buffer overflow in hardwareinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/openAccessporreponame:Repositório Institucional da UFMGinstname:Universidade Federal de Minas Gerais (UFMG)instacron:UFMGORIGINALantoniolemosmaianeto.pdfapplication/pdf2367717https://repositorio.ufmg.br/bitstream/1843/ESBF-9WVNB8/1/antoniolemosmaianeto.pdfcb8783d2ae8e1178d9966269509ddf30MD51TEXTantoniolemosmaianeto.pdf.txtantoniolemosmaianeto.pdf.txtExtracted texttext/plain77828https://repositorio.ufmg.br/bitstream/1843/ESBF-9WVNB8/2/antoniolemosmaianeto.pdf.txt0a62b417d80febdda283664cf2e962c8MD521843/ESBF-9WVNB82019-11-14 06:21:50.152oai:repositorio.ufmg.br:1843/ESBF-9WVNB8Repositório de PublicaçõesPUBhttps://repositorio.ufmg.br/oaiopendoar:2019-11-14T09:21:50Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG)false |
dc.title.pt_BR.fl_str_mv |
SMOV: protecting programs against buffer overflow in hardware |
title |
SMOV: protecting programs against buffer overflow in hardware |
spellingShingle |
SMOV: protecting programs against buffer overflow in hardware Antonio Lemos Maia Neto Buffer-overflow Security Computer Architectures Computação Computadores Medidas de segurança Redes de computadores Medidas de segurança |
title_short |
SMOV: protecting programs against buffer overflow in hardware |
title_full |
SMOV: protecting programs against buffer overflow in hardware |
title_fullStr |
SMOV: protecting programs against buffer overflow in hardware |
title_full_unstemmed |
SMOV: protecting programs against buffer overflow in hardware |
title_sort |
SMOV: protecting programs against buffer overflow in hardware |
author |
Antonio Lemos Maia Neto |
author_facet |
Antonio Lemos Maia Neto |
author_role |
author |
dc.contributor.advisor1.fl_str_mv |
Leonardo Barbosa e Oliveira |
dc.contributor.advisor-co1.fl_str_mv |
Omar Paranaiba Vilela Neto |
dc.contributor.referee1.fl_str_mv |
Omar Paranaiba Vilela Neto |
dc.contributor.referee2.fl_str_mv |
Antonio Otavio Fernandes |
dc.contributor.referee3.fl_str_mv |
Ricardo Augusto Rabelo Oliveira |
dc.contributor.referee4.fl_str_mv |
Sergio Vale Aguiar Campos |
dc.contributor.author.fl_str_mv |
Antonio Lemos Maia Neto |
contributor_str_mv |
Leonardo Barbosa e Oliveira Omar Paranaiba Vilela Neto Omar Paranaiba Vilela Neto Antonio Otavio Fernandes Ricardo Augusto Rabelo Oliveira Sergio Vale Aguiar Campos |
dc.subject.por.fl_str_mv |
Buffer-overflow Security Computer Architectures |
topic |
Buffer-overflow Security Computer Architectures Computação Computadores Medidas de segurança Redes de computadores Medidas de segurança |
dc.subject.other.pt_BR.fl_str_mv |
Computação Computadores Medidas de segurança Redes de computadores Medidas de segurança |
description |
Estouro de Arranjos (Buffer Overflow BOF) continua a ser uma das principais vulnerabilidades encontradas em software. Ano passado, a comunidade de Segurança da Informação foi surpreendida quando pesquisadores revelaram uma vulnerabilidade de BOF no OpenSSL.Linguagens de programação como C e C++, amplamente usadas para desenvolvimento de sistemas e em uma grande variedade de aplicações, não proveem Verificação de Limites de Arranjos (Array Bound Checks ABCs) nativamente. Existem inúmeras propostas quevisam a proteção de memória para essas linguagens, através de soluções baseadas em software ou hardware. Ainda assim, entretanto, essas técnicas acabam por comprometer o desempenho dos programas, o que não é uma solução ideal para o problema. Este trabalho apresenta uma nova abordagem para alcançar verificação de limites de arranjos e acesso à memória (quando permitido) através de uma única instrução. Nós discutimos como ela pode ser implementada em arquiteturas com tamanho variável de instruções e disponibilizamosuma implementação de referência. |
publishDate |
2015 |
dc.date.issued.fl_str_mv |
2015-02-24 |
dc.date.accessioned.fl_str_mv |
2019-08-10T02:51:46Z |
dc.date.available.fl_str_mv |
2019-08-10T02:51:46Z |
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/1843/ESBF-9WVNB8 |
url |
http://hdl.handle.net/1843/ESBF-9WVNB8 |
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.publisher.none.fl_str_mv |
Universidade Federal de Minas Gerais |
dc.publisher.initials.fl_str_mv |
UFMG |
publisher.none.fl_str_mv |
Universidade Federal de Minas Gerais |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UFMG instname:Universidade Federal de Minas Gerais (UFMG) instacron:UFMG |
instname_str |
Universidade Federal de Minas Gerais (UFMG) |
instacron_str |
UFMG |
institution |
UFMG |
reponame_str |
Repositório Institucional da UFMG |
collection |
Repositório Institucional da UFMG |
bitstream.url.fl_str_mv |
https://repositorio.ufmg.br/bitstream/1843/ESBF-9WVNB8/1/antoniolemosmaianeto.pdf https://repositorio.ufmg.br/bitstream/1843/ESBF-9WVNB8/2/antoniolemosmaianeto.pdf.txt |
bitstream.checksum.fl_str_mv |
cb8783d2ae8e1178d9966269509ddf30 0a62b417d80febdda283664cf2e962c8 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 |
repository.name.fl_str_mv |
Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG) |
repository.mail.fl_str_mv |
|
_version_ |
1803589335960780800 |