- -

Instrumentación del emulador QEMU para análisis dinámico de software de sistema

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

Compartir/Enviar a

Citas

Estadísticas

  • Estadisticas de Uso

Instrumentación del emulador QEMU para análisis dinámico de software de sistema

Mostrar el registro sencillo del ítem

Ficheros en el ítem

dc.contributor.advisor Ripoll Ripoll, José Ismael es_ES
dc.contributor.author David, Horia-Mihai es_ES
dc.date.accessioned 2020-09-22T09:12:25Z
dc.date.available 2020-09-22T09:12:25Z
dc.date.created 2020-07-14
dc.date.issued 2020-09-22 es_ES
dc.identifier.uri http://hdl.handle.net/10251/150525
dc.description.abstract [ES] En los últimos años las técnicas de análisis dinámico como el fuzzing han demostrado ser maneras efectivas de descubrir fallos críticos en los sistemas software modernos. La implementación de estas técnicas requiere de mecanismos de instrumentación, que permitan analizar el comportamineto de programas así como modificarlos para realizar experimentos. El presente trabajo expondrá las técnicas de instrumentación de software existentes y hará un breve estudio del estado del arte sobre su aplicación en el descubrimiento de fallos de seguridad en sistemas software. Se hará incapié en la importancia de QEMU para la instrumentación de software de sistema (SO, firmware...) en oposición a la instrumentación de procesos comunes en un sistema operativo. A modo de ejercicio práctico, se modificará el código del emulador de sistema completo QEMU para implementar una técnica \textit{inline} de instrumentación del flujo de código y de los accesos a memoria, que servirá a modo de prueba de concepto para demostrar el tipo de instrumentación requerido para aplicar técnicas de análisis dinámico al software de sistema. Las modificaciones realizadas se explicarán detalladamente, así como aquellos detalles internos de implementación de una versión reciente de QEMU que son necesarios para su compresión. Estos detalles no están documentados, y se han obtenido mediante el estudio del código fuente de {QEMU, pues es un proyecto de código abierto. es_ES
dc.description.abstract [EN] In recent years, dynamic program analysis techniques like fuzzing have proven to be effective for discovering critical security flaws in modern software systems. The implementation of these techniques require software instrumentation mechanisms for the analysis and modification of software behaviour. This paper outlines current software instrumentation techniques and performs a brief state of the art analysis of their application in the discovery of security-critical software flaws. It is also the aim of this paper to highlight the importance of the QEMU emulator in the instrumentation of system software (OS, firmware...), as opposed to that of common processes running on top of an operating system. As a practical exercise, the QEMU full system emulator is patched in order to implement inline instrumentation of the execution flow and memory accesses. This serves as a proof of concept for how to implement the instrumentation required for full-system dynamic binary analysis. The modifications performed to a recent verstion of the QEMU codebase (v 4.2.0) are explained in detail, together with the required background knowledge about QEMU internal implementation details, most of which are undocumented. es_ES
dc.description.abstract [CA] En els últims anys les tècniques d’anàlisi dinàmica com el fuzzing han demostrat ser maneres efectives de descobrir fallades crítiques en els sistemes programari moderns. La implementació d’estes tècniques requerix de mecanismes d’instrumentació, que permeten analitzar el comportamineto de programes així com modificar-los per a realitzar experiments. El present treball exposarà les tècniques d’instrumentació de programari existents i farà un breu estudi de l’estat de l’art sobre la seua aplicació en el descobriment de fallades de seguretat en sistemes programari. Es recalcarà en la importància de QEMU per a la instrumentació de programari de sistema (SOTA, firmware... ) en oposició a la instrumentació de processos comuns en un sistema operatiu. A manera d’exercici pràctic, es modificarà el codi de l’emulador de sistema complet QEMU per a implementar una tècnica d’instrumentació del flux de codi i dels accessos a memòria, que servirà a manera de prova de concepte per a demostrar el tipus d’instrumentació requerit per a aplicar tècniques d’anàlisi dinàmica al programari de sistema. Les modificacions realitzades s’explicaran detalladament, així com aquells detalls interns d’implementació d’una versió recent de QEMU que són necessaris per a la seua compressió. Estos detalls no estan documentats, i s’han obtenidomediante l’estudi del codi font de QEMU, perquè és un projecte de codi obert. es_ES
dc.format.extent 52 es_ES
dc.language Español es_ES
dc.publisher Universitat Politècnica de València es_ES
dc.rights Reserva de todos los derechos es_ES
dc.subject Instrumentación Dinámica es_ES
dc.subject QEMU es_ES
dc.subject Emulación es_ES
dc.subject Análisis de software es_ES
dc.subject Dynamic Binary Analysis es_ES
dc.subject Instrumentation es_ES
dc.subject Program Analysis 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 Instrumentación del emulador QEMU para análisis dinámico de software de sistema 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 David, H. (2020). Instrumentación del emulador QEMU para análisis dinámico de software de sistema. http://hdl.handle.net/10251/150525 es_ES
dc.description.accrualMethod TFGM es_ES
dc.relation.pasarela TFGM\129953 es_ES


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

Mostrar el registro sencillo del ítem