SMOV: protecting programs against buffer overflow in hardware

Detalhes bibliográficos
Autor(a) principal: Antonio Lemos Maia Neto
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