SMOV: protecting programs against buffer overflow in hardware

dc.creatorAntonio Lemos Maia Neto
dc.date.accessioned2019-08-10T02:51:46Z
dc.date.accessioned2025-09-09T00:21:19Z
dc.date.available2019-08-10T02:51:46Z
dc.date.issued2015-02-24
dc.description.abstractA 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.
dc.identifier.urihttps://hdl.handle.net/1843/ESBF-9WVNB8
dc.languagePortuguês
dc.publisherUniversidade Federal de Minas Gerais
dc.rightsAcesso Aberto
dc.subjectComputação
dc.subjectComputadores Medidas de segurança
dc.subjectRedes de computadores Medidas de segurança
dc.subject.otherBuffer-overflow
dc.subject.otherSecurity
dc.subject.otherComputer Architectures
dc.titleSMOV: protecting programs against buffer overflow in hardware
dc.typeDissertação de mestrado
local.contributor.advisor-co1Omar Paranaiba Vilela Neto
local.contributor.advisor1Leonardo Barbosa e Oliveira
local.contributor.referee1Omar Paranaiba Vilela Neto
local.contributor.referee1Antonio Otavio Fernandes
local.contributor.referee1Ricardo Augusto Rabelo Oliveira
local.contributor.referee1Sergio Vale Aguiar Campos
local.description.resumoEstouro 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.
local.publisher.initialsUFMG

Arquivos

Pacote original

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
antoniolemosmaianeto.pdf
Tamanho:
2.26 MB
Formato:
Adobe Portable Document Format