Mostrar el registro sencillo del í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 |