Trabajo De Fin De Grado Herramienta Para La Detección De Contenido Oculto En Redes P2P
Total Page:16
File Type:pdf, Size:1020Kb
UNIVERSIDAD CARLOS III DE MADRID ESCUELA POLITÉCNICA SUPERIOR GRADO EN INGENIERÍA INFORMÁTICA Trabajo de Fin de Grado Herramienta para la detección de contenido oculto en redes P2P Autor: Adrián Alonso González Tutor: Jorge Blasco Alís Septiembre de 2012 Agradecimientos Justo ahora no puedo evitar acordarme de todo el esfuerzo y trabajo dedicado a lo largo de los cuatro años que ha durado mi formación universitaria. Ha sido un camino difícil y lleno de obstáculos pero gracias a ciertas personas he podido seguir adelante y este es el momento de agradecérselo. En primer lugar quiero agradecerle a mi familia todo el apoyo que me han dado, ya que siempre han estado ahí para preguntarme cómo me iba todo, para ayudarme en esos momentos difíciles y para animarme a seguir adelante. Gracias a mis abuelos, a mis tíos, a mis primos y sobre todo a mi madre, sin ellos no sería lo que soy. Tampoco puedo olvidarme de mis amigos, los cuales me han aportado muchísimo en multitud de facetas de mi vida y a día de hoy lo siguen haciendo. Sin ellos habría tirado la toalla en muchas ocasiones pero siempre conseguían sacarme una sonrisa y animarme para que siguiera adelante. Todos y cada uno de ellos son importantísimos para mí pero hay una persona sin la cual, mi vida no sería igual. A esa persona le quiero dar las gracias por muchos motivos, gracias por preocuparte de como avanzaba con el proyecto, gracias por aguantar mis etapas de agobio y mis frustraciones, gracias por animarme en los malos momentos, pero sobre todo, gracias por ser como eres. También me gustaría agradecerle a mis compañeros de universidad los buenos momentos pasados, las cosas que aprendí de a ellos y a que hayan hecho más llevaderos estos cuatro años. No podría olvidarme además de dar las gracias a todos los profesores que he tenido a lo largo de la carrera, gracias a todos y cada uno de ellos he podido aprender muchas cosas y en definitiva formarme en lo que siempre había querido. Por último dar las gracias a mi tutor, Jorge por todo el apoyo que me ha brindado. Gracias a su guía hemos conseguido que este proyecto haya sido un éxito y que todo el esfuerzo invertido haya valido la pena, sin ti nada de esto habría sido posible. Gracias a todos y lo siento si me he dejado alguien. Termina una etapa de mi vida que siempre recordaré con mucho cariño pero empieza otra que seguro será igual o más enriquecedora. Mi futuro comienza hoy. III IV Índice Índice de Ilustraciones ................................................................................................. IX Índice de tablas ........................................................................................................... XI Índice de casos de uso ............................................................................................... XIII Índice de requisitos....................................................................................................XIV Índice de pruebas .......................................................................................................XV Abstract ...................................................................................................................... 16 Capitulo 1: Introducción ............................................................................................. 21 1.1 Motivación del proyecto ............................................................................................ 21 1.2 Objetivos del proyecto ............................................................................................... 25 1.3 Estructura del documento.......................................................................................... 26 Capitulo 2: Análisis ..................................................................................................... 28 2.1 Estado de la Cuestión ................................................................................................. 28 2.1.1 Redes P2P ....................................................................................................................... 28 2.1.1.1 Clasificación de redes P2P .......................................................................................... 31 2.1.1.2 Ejemplos de redes P2P ............................................................................................... 33 2.1.2 Esteganografía ................................................................................................................ 37 2.1.2.1 Técnicas .................................................................................................................... 37 2.1.2.2 Generación del esteganograma ................................................................................. 39 2.1.3 Estegoanálisis ................................................................................................................. 40 2.1.3.1 Análisis visual ............................................................................................................ 41 2.1.3.2 Análisis estructural .................................................................................................... 42 2.1.3.3 Análisis estadístico ..................................................................................................... 44 2.1.4 Estudio de las acciones .................................................................................................... 45 2.2 Alternativas de diseño ............................................................................................... 46 2.2.1 Aspectos de interfaz ........................................................................................................ 46 2.2.1.1 Aplicación con interfaz de usuario gráfica .................................................................. 46 2.2.1.2 Aplicación con interfaz de línea de comandos ............................................................ 47 2.2.2 Decisión de la alternativa de diseño ................................................................................ 48 2.3 Casos de uso .............................................................................................................. 48 2.4 Requisitos .................................................................................................................. 52 2.4.1 Requisitos funcionales..................................................................................................... 53 2.4.2 Requisitos no funcionales ................................................................................................ 58 2.4.2.1 Requisitos de interfaz ................................................................................................ 58 2.4.2.2 Requisitos de comprobación ...................................................................................... 59 2.4.2.3 Requisitos de aceptación de pruebas ......................................................................... 59 2.4.2.4 Requisitos de mantenimiento .................................................................................... 60 2.4.3 Matriz de trazabilidad requisitos-casos de uso ................................................................. 60 2.5 Marco regulador ........................................................................................................ 60 2.6 Restricciones .............................................................................................................. 61 2.7 Plan de pruebas ......................................................................................................... 61 2.7.1 Formato del catálogo de pruebas .................................................................................... 61 V 2.7.2 Catálogo de pruebas de aceptación ................................................................................. 61 2.7.3 Matriz de trazabilidad pruebas-requisitos........................................................................ 64 Capitulo 3: Diseño ...................................................................................................... 66 3.1 Arquitectura de la aplicación ..................................................................................... 66 3.2 Patrón ........................................................................................................................ 67 3.3 Componentes ............................................................................................................. 68 3.3.1 Búsqueda ........................................................................................................................ 69 3.3.2 Descarga ......................................................................................................................... 73 3.3.3 Informes ......................................................................................................................... 77 3.3.4 Detectores ...................................................................................................................... 78 3.3.5 Acciones ......................................................................................................................... 83 3.3.6 Útiles .............................................................................................................................. 89 3.3.7 Principal .......................................................................................................................... 93 3.4 Diagramas de secuencia ............................................................................................. 96 3.4.1 Operación de búsqueda .................................................................................................