- -

Buscador de 'Gadgets' ROP para la construcción de 'payloads' para ARM

RiuNet: Repositorio Institucional de la Universidad Politécnica de Valencia

Compartir/Enviar a

Citas

Estadísticas

  • Estadisticas de Uso

Buscador de 'Gadgets' ROP para la construcción de 'payloads' para ARM

Mostrar el registro sencillo del ítem

Ficheros en el ítem

dc.contributor.advisor Ripoll Ripoll, José Ismael es_ES
dc.contributor.author Vañó García, Fernando es_ES
dc.date.accessioned 2015-09-03T15:24:04Z
dc.date.available 2015-09-03T15:24:04Z
dc.date.created 2015-07-17
dc.date.issued 2015-09-03 es_ES
dc.identifier.uri http://hdl.handle.net/10251/54231
dc.description.abstract [ES] A partir de la aparici´on de la t´ecnica de protecci´on NX (Non eXecutable), la inyecci´on de c´odigo como m´etodo de ejecuci´on de payloads se vio seriamente limitada. Como consecuencia, los atacantes desarrollaron nuevas estrategias para explotar las vulnerabilidades de los procesos remotos. Una de las t´ecnicas m´as importantes es ROP (Return Oriented Programming), la cual permite “reorganizar” el c´odigo del propio proceso que est´a en ejecuci´on para ejecutar lo que el atacante desea. El presente trabajo aborda la implementaci´on de un programa en lenguaje C que, dado un fichero ejecutable ELF de la arquitectura ARM, localice, en el mismo, todos aquellos fragmentos de c´odigo (denominados Gadgets en ROP) que pueden ser utilizados para elaborar un payload. El objetivo, por tanto, es ofrecer una herramienta que muestre los gadgets disponibles para la elaboraci´on de payloads, as´ı como la automatizaci´on de un payload espec´ıfico que ejecute un shell de Linux. Se ponen en pr´actica conocimientos avanzados de los sistemas operativos (convenio de llamadas a funciones), el lenguaje ensamblador de la arquitectura ARM, la explotaci´on de fallos de programaci´on (buffer overflow) y la estructura de los ficheros ejecutables ELF. es_ES
dc.description.abstract [CA] A partir de la aparici´on de la t´ecnica de protecci´on NX (Non eXecutable), la inyecci´on de c´odigo como m´etodo de ejecuci´on de payloads se vio seriamente limitada. Como consecuencia, los atacantes desarrollaron nuevas estrategias para explotar las vulnerabilidades de los procesos remotos. Una de las t´ecnicas m´as importantes es ROP (Return Oriented Programming), la cual permite “reorganizar” el c´odigo del propio proceso que est´a en ejecuci´on para ejecutar lo que el atacante desea. El presente trabajo aborda la implementaci´on de un programa en lenguaje C que, dado un fichero ejecutable ELF de la arquitectura ARM, localice, en el mismo, todos aquellos fragmentos de c´odigo (denominados Gadgets en ROP) que pueden ser utilizados para elaborar un payload. El objetivo, por tanto, es ofrecer una herramienta que muestre los gadgets disponibles para la elaboraci´on de payloads, as´ı como la automatizaci´on de un payload espec´ıfico que ejecute un shell de Linux. Se ponen en pr´actica conocimientos avanzados de los sistemas operativos (convenio de llamadas a funciones), el lenguaje ensamblador de la arquitectura ARM, la explotaci´on de fallos de programaci´on (buffer overflow) y la estructura de los ficheros ejecutables ELF. es_ES
dc.description.abstract [EN] From the appearance of protection technique NX (Non eXecutable), code injection as a method of payloads execution was seriously limited. As a consequence, attackers developed new strategies to exploit the vulnerabilities of remote processes. One of the most important techniques is ROP (Return Oriented Programming), which allows attackers to reorganize the code of the process itself that is running in order to execute what the attacker wants. This paper deals with the implementation of a program written in C language that, given a ELF executable file of the ARM architecture, locates in it all those code snippets (called Gadgets in ROP) which can be used to prepare a payload. The goal, therefore, is to provide a tool which shows all available gadgets for the production of payloads, as well as the automation of an specific payload which executes a Linux shell. Advanced knowledge of operating systems (calling convention), the assembly language of the ARM architecture, exploitation of programming errors (buffer overflow), and the ELF executable files structure are put into practice. es_ES
dc.format.extent 54 es_ES
dc.language Español es_ES
dc.publisher Universitat Politècnica de València es_ES
dc.rights Reconocimiento - Compartir igual (by-sa) es_ES
dc.subject ARM es_ES
dc.subject ROP es_ES
dc.subject Return es_ES
dc.subject Oriented es_ES
dc.subject Programming es_ES
dc.subject ELF es_ES
dc.subject Exploit es_ES
dc.subject.classification ARQUITECTURA Y TECNOLOGIA DE COMPUTADORES es_ES
dc.subject.other Grado en Ingeniería Informática-Grau en Enginyeria Informàtica es_ES
dc.title Buscador de 'Gadgets' ROP para la construcción de 'payloads' para ARM es_ES
dc.type Proyecto/Trabajo fin de carrera/grado es_ES
dc.rights.accessRights Abierto es_ES
dc.contributor.affiliation Universitat Politècnica de València. Departamento de Informática de Sistemas y Computadores - Departament d'Informàtica de Sistemes i Computadors es_ES
dc.contributor.affiliation Universitat Politècnica de València. Escola Tècnica Superior d'Enginyeria Informàtica es_ES
dc.description.bibliographicCitation Vañó García, F. (2015). Buscador de 'Gadgets' ROP para la construcción de 'payloads' para ARM. http://hdl.handle.net/10251/54231. es_ES
dc.description.accrualMethod TFGM es_ES
dc.relation.pasarela TFGM\28156 es_ES


Este ítem aparece en la(s) siguiente(s) colección(ones)

Mostrar el registro sencillo del ítem