Return to search

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

Submitted by Geyciane Santos (geyciane_thamires@hotmail.com) on 2015-06-17T15:20:30Z
No. of bitstreams: 1
Dissertação - Mateus Felipe Tymburibá Ferreira.pdf: 4435693 bytes, checksum: da80cc7a540a306b4bc52b8792ffe9e1 (MD5) / Approved for entry into archive by Divisão de Documentação/BC Biblioteca Central (ddbc@ufam.edu.br) on 2015-06-17T20:44:52Z (GMT) No. of bitstreams: 1
Dissertação - Mateus Felipe Tymburibá Ferreira.pdf: 4435693 bytes, checksum: da80cc7a540a306b4bc52b8792ffe9e1 (MD5) / Approved for entry into archive by Divisão de Documentação/BC Biblioteca Central (ddbc@ufam.edu.br) on 2015-06-17T20:45:51Z (GMT) No. of bitstreams: 1
Dissertação - Mateus Felipe Tymburibá Ferreira.pdf: 4435693 bytes, checksum: da80cc7a540a306b4bc52b8792ffe9e1 (MD5) / Made available in DSpace on 2015-06-17T20:45:51Z (GMT). No. of bitstreams: 1
Dissertação - Mateus Felipe Tymburibá Ferreira.pdf: 4435693 bytes, checksum: da80cc7a540a306b4bc52b8792ffe9e1 (MD5)
Previous issue date: 2014-08-06 / CAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível Superior / 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. / 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.

Identiferoai:union.ndltd.org:IBICT/oai:http://localhost:tede/4125
Date06 August 2014
CreatorsFerreira, Mateus Felipe Tymburibá
ContributorsFeitosa, Eduardo Luzeiro
PublisherUniversidade Federal do Amazonas, Programa de Pós-graduação em Informática, UFAM, Brasil, Instituto de Computação
Source SetsIBICT Brazilian ETDs
LanguagePortuguese
Detected LanguageEnglish
Typeinfo:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis
Formatapplication/pdf
Sourcereponame:Biblioteca Digital de Teses e Dissertações da UFAM, instname:Universidade Federal do Amazonas, instacron:UFAM
Rightsinfo:eu-repo/semantics/openAccess
Relation-312656415484870643, 600, 600, 4163267508810754609

Page generated in 0.0026 seconds