Dissertação

RIP-ROP: uma proteção contra ataques de execução de código arbitrário baseados em Return-Oriented Programming

ReturnOriented Programming (ROP) é o nome de uma técnica usada para o desenvolvimento de códigos maliciosos que vem sendo amplamente utilizada para forçar a execução de códigos arbitrários em aplicações vulneráveis. Ela baseiase na interligação de pequenas frações de código pertencentes aos próprios...

ver descrição completa

Autor principal: Ferreira, Mateus Felipe Tymburibá
Outros Autores: http://lattes.cnpq.br/5863316017246857
Grau: Dissertação
Idioma: por
Publicado em: Universidade Federal do Amazonas 2015
Assuntos:
Acesso em linha: http://tede.ufam.edu.br/handle/tede/4125
id oai:https:--tede.ufam.edu.br-handle-:tede-4125
recordtype dspace
spelling oai:https:--tede.ufam.edu.br-handle-:tede-41252017-04-19T19:51:18Z RIP-ROP: uma proteção contra ataques de execução de código arbitrário baseados em Return-Oriented Programming Ferreira, Mateus Felipe Tymburibá Feitosa, Eduardo Luzeiro http://lattes.cnpq.br/5863316017246857 http://lattes.cnpq.br/5939944067207881 Return-Oriented Programming PIP-ROP CIÊNCIAS EXATAS E DA TERRA: CIÊNCIA DA COMPUTAÇÃO ReturnOriented Programming (ROP) é o nome de uma técnica usada para o desenvolvimento de códigos maliciosos que vem sendo amplamente utilizada para forçar a execução de códigos arbitrários em aplicações vulneráveis. Ela baseiase na interligação de pequenas frações de código pertencentes aos próprios processos atacados, o que permite a superação de proteções largamente difundidas, como aquela oferecida pelo bit de execução (NX/XD). Em função de seu vasto emprego em investidas contra sistemas computacionais modernos, proteções contra exploits baseados em ROP têm sido extensamente estudadas. Apesar disso, ainda não se conhece uma solução capaz de aliar eficácia contra todas as modalidades de ROP, eficiência computacional e viabilidade de emprego na proteção de aplicações. Com o intuito de facilitar o entendimento desses requisitos, bem como das implicações inerentes a métodos de proteção contra ataques ROP, este trabalho oferece um levantamento bibliográfico do estado da arte envolvendo esse tema. Para isso, são propostas neste trabalho: (i) métricas para avaliação e comparação de proteções contra ataques ROP e (ii) taxonomias para classificação dessas proteções em função das estratégias de bloqueio e das abordagens de implementação utilizadas em cada solução. Esta dissertação provê ainda um novo método de proteção contra ataques de execução de código arbitrário baseados em ROP que busca abarcar os requisitos de eficácia, eficiência e viabilidade. Demonstrou-se que, através do controle da frequência de instruções de desvio indireto executadas pelas aplicações, é possível distinguir ataques ROP de códigos autênticos e, assim, evitar a sua consolidação. Em um framework de instrumentação binária dinâmica, foi desenvolvido um protótipo – denominado RIP-ROP – destinado a ambientes Windows, Linux, Android e OSX. Experimentos realizados com códigos maliciosos disponíveis em repositórios públicos de exploits confirmaram a viabilidade do modelo proposto para a proteção de aplicações reais. Além disso, o custo computacional imposto pelo RIP-ROP é comparável e, em alguns casos, inferior àquele alcançado por proteções correlatas. ReturnOriented Programming (ROP) is the name of a technique used for the development of malicious code that has been widely used to force execution of arbitrary code on vulnerable applications. It is based on the interconnection of small fractions of code belonging to attacked processes, which allows overcoming protections widely disseminated, such as that offered by the execute bit (NX/XD). Because of its wide use in attacks against modern computing systems, protections against ROP based exploits have been widely studied. Nevertheless, it is still not known a solution capable of combining efficacy against all forms of ROP, computational efficiency and feasibility of the employment on applications protection. In order to facilitate the understanding of these requirements and the inherent implications for methods of protection against ROP attacks, this work offers a bibliographic survey of the state of the art about this subject. For this, we propose in this paper: (i) metrics for evaluation and comparison of protections against ROP attacks and (ii) taxonomies to classify these protections depending on blocking strategies and implementation approaches used in each solution. This dissertation also provides a new method of protection against arbitrary code execution attacks based on ROP that seeks to encompass the requirements of effectiveness, efficiency and viability. It was demonstrated that by controlling the frequency of indirect branch instructions performed by applications it is possible to distinguish ROP attacks from authentic codes and thus prevent their consolidation. In a dynamic binary instrumentation framework, it was developed a prototype – named RIPROP – for Windows, Linux, Android and OSX environments. Experiments conducted with malicious codes available in public repositories of exploits confirmed the feasibility of the proposed model for the protection of real applications. In addition, the computational cost imposed by RIPROP is comparable and in some cases lower than that achieved by related protections. CAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível Superior 2015-06-17T20:45:51Z 2014-08-06 Dissertação FERREIRA, Mateus Felipe Tymburibá. RIP-ROP: uma proteção contra ataques de execução de código arbitrário baseados em Return-Oriented Programming. 2014. 108 f. Dissertação (Mestrado em Informática) - Universidade Federal do Amazonas, Manaus, 2014. http://tede.ufam.edu.br/handle/tede/4125 por Acesso Aberto application/pdf Universidade Federal do Amazonas Instituto de Computação Brasil UFAM Programa de Pós-graduação em Informática
institution TEDE - Universidade Federal do Amazonas
collection TEDE-UFAM
language por
topic Return-Oriented Programming
PIP-ROP
CIÊNCIAS EXATAS E DA TERRA: CIÊNCIA DA COMPUTAÇÃO
spellingShingle Return-Oriented Programming
PIP-ROP
CIÊNCIAS EXATAS E DA TERRA: CIÊNCIA DA COMPUTAÇÃO
Ferreira, Mateus Felipe Tymburibá
RIP-ROP: uma proteção contra ataques de execução de código arbitrário baseados em Return-Oriented Programming
topic_facet Return-Oriented Programming
PIP-ROP
CIÊNCIAS EXATAS E DA TERRA: CIÊNCIA DA COMPUTAÇÃO
description ReturnOriented Programming (ROP) é o nome de uma técnica usada para o desenvolvimento de códigos maliciosos que vem sendo amplamente utilizada para forçar a execução de códigos arbitrários em aplicações vulneráveis. Ela baseiase na interligação de pequenas frações de código pertencentes aos próprios processos atacados, o que permite a superação de proteções largamente difundidas, como aquela oferecida pelo bit de execução (NX/XD). Em função de seu vasto emprego em investidas contra sistemas computacionais modernos, proteções contra exploits baseados em ROP têm sido extensamente estudadas. Apesar disso, ainda não se conhece uma solução capaz de aliar eficácia contra todas as modalidades de ROP, eficiência computacional e viabilidade de emprego na proteção de aplicações. Com o intuito de facilitar o entendimento desses requisitos, bem como das implicações inerentes a métodos de proteção contra ataques ROP, este trabalho oferece um levantamento bibliográfico do estado da arte envolvendo esse tema. Para isso, são propostas neste trabalho: (i) métricas para avaliação e comparação de proteções contra ataques ROP e (ii) taxonomias para classificação dessas proteções em função das estratégias de bloqueio e das abordagens de implementação utilizadas em cada solução. Esta dissertação provê ainda um novo método de proteção contra ataques de execução de código arbitrário baseados em ROP que busca abarcar os requisitos de eficácia, eficiência e viabilidade. Demonstrou-se que, através do controle da frequência de instruções de desvio indireto executadas pelas aplicações, é possível distinguir ataques ROP de códigos autênticos e, assim, evitar a sua consolidação. Em um framework de instrumentação binária dinâmica, foi desenvolvido um protótipo – denominado RIP-ROP – destinado a ambientes Windows, Linux, Android e OSX. Experimentos realizados com códigos maliciosos disponíveis em repositórios públicos de exploits confirmaram a viabilidade do modelo proposto para a proteção de aplicações reais. Além disso, o custo computacional imposto pelo RIP-ROP é comparável e, em alguns casos, inferior àquele alcançado por proteções correlatas.
author_additional Feitosa, Eduardo Luzeiro
author_additionalStr Feitosa, Eduardo Luzeiro
format Dissertação
author Ferreira, Mateus Felipe Tymburibá
author2 http://lattes.cnpq.br/5863316017246857
author2Str http://lattes.cnpq.br/5863316017246857
title RIP-ROP: uma proteção contra ataques de execução de código arbitrário baseados em Return-Oriented Programming
title_short RIP-ROP: uma proteção contra ataques de execução de código arbitrário baseados em Return-Oriented Programming
title_full RIP-ROP: uma proteção contra ataques de execução de código arbitrário baseados em Return-Oriented Programming
title_fullStr RIP-ROP: uma proteção contra ataques de execução de código arbitrário baseados em Return-Oriented Programming
title_full_unstemmed RIP-ROP: uma proteção contra ataques de execução de código arbitrário baseados em Return-Oriented Programming
title_sort rip-rop: uma proteção contra ataques de execução de código arbitrário baseados em return-oriented programming
publisher Universidade Federal do Amazonas
publishDate 2015
url http://tede.ufam.edu.br/handle/tede/4125
_version_ 1831969237266071552
score 11.753735