DJ HACK: Distributed Java HAsh craCKerlsi.vc.ehu.es/pablogn/docencia/PFC/PFC-Unai-Gómez...DJ HACK:...
Transcript of DJ HACK: Distributed Java HAsh craCKerlsi.vc.ehu.es/pablogn/docencia/PFC/PFC-Unai-Gómez...DJ HACK:...
DJ HACK: Distributed Java HAshcraCKer
Proyecto de fin de carrera dirigido por PabloGonzalez Nalda
Unai Gomez Velasco
Depto. de Lenguajes y Sistemas Informaticos
27 de septiembre de 2010
Contenidos
Conceptosgenerales
Diseno de DJHACK
Gestionfinanciera
Conclusiones
Introduccion
Objetivo: desarrollo de una aplicacion capaz de realizarataques hash criptograficos mediante entornos distribuidos.
Finalidad: Proporcionar una herramienta sencilla perocompleta para realizar auditorıas.
2 / 30
Contenidos
Conceptosgenerales
Diseno de DJHACK
Gestionfinanciera
Conclusiones
Contenidos de la presentacion
1 Conceptos generales
2 Diseno de DJ HACK
3 Gestion financiera
4 Conclusiones
3 / 30
Contenidos
Conceptosgenerales
Diseno de DJHACK
Gestionfinanciera
Conclusiones
1 Conceptos generales
2 Diseno de DJ HACK
3 Gestion financiera
4 Conclusiones
4 / 30
Contenidos
Conceptosgenerales
Diseno de DJHACK
Gestionfinanciera
Conclusiones
Conceptos basicos de la fuerza bruta
Definicion: Metodologıa encargada de la ruptura declaves mediante la comprobacion de todas lascombinaciones posibles.
Elementos:
Longitud la clave =⇒ n
Alfabeto =⇒ b
Complejidad: bn combinaciones posibles
5 / 30
Contenidos
Conceptosgenerales
Diseno de DJHACK
Algoritmo de fuerzabruta
Conceptosgenerales en DJHACK
Desarrollo delalgoritmo de fuerzabruta
Implantacion deJPPF
Estructuras
Topologıa de red
Adaptacion deJPPF
MemoryDataProvider
Implantacion deHazelcast
Tolerancias
Pool de conexiones
Seguridad
Red
Aplicacion
Herramientas
Gestionfinanciera
Conclusiones
1 Conceptos generales
2 Diseno de DJ HACK
3 Gestion financiera
4 Conclusiones
6 / 30
Contenidos
Conceptosgenerales
Diseno de DJHACK
Algoritmo de fuerzabruta
Conceptosgenerales en DJHACK
Desarrollo delalgoritmo de fuerzabruta
Implantacion deJPPF
Estructuras
Topologıa de red
Adaptacion deJPPF
MemoryDataProvider
Implantacion deHazelcast
Tolerancias
Pool de conexiones
Seguridad
Red
Aplicacion
Herramientas
Gestionfinanciera
Conclusiones
Diseno del algoritmo de la fuerza bruta
Finalidad: La generacion de combinaciones
Metodologıas posibles de implantacion
RecursividadIteracion
7 / 30
Contenidos
Conceptosgenerales
Diseno de DJHACK
Algoritmo de fuerzabruta
Conceptosgenerales en DJHACK
Desarrollo delalgoritmo de fuerzabruta
Implantacion deJPPF
Estructuras
Topologıa de red
Adaptacion deJPPF
MemoryDataProvider
Implantacion deHazelcast
Tolerancias
Pool de conexiones
Seguridad
Red
Aplicacion
Herramientas
Gestionfinanciera
Conclusiones
Conceptos
Las palabras clave en la explicacion del proyecto son:
Palabra matematica: Array en baselongitudDiccionario
Intervalo: El numero mınimo de palabras a procesar.
Palabra auxiliar: Palabras de corte a desplegar
8 / 30
Contenidos
Conceptosgenerales
Diseno de DJHACK
Algoritmo de fuerzabruta
Conceptosgenerales en DJHACK
Desarrollo delalgoritmo de fuerzabruta
Implantacion deJPPF
Estructuras
Topologıa de red
Adaptacion deJPPF
MemoryDataProvider
Implantacion deHazelcast
Tolerancias
Pool de conexiones
Seguridad
Red
Aplicacion
Herramientas
Gestionfinanciera
Conclusiones
Generacion de palabras auxiliares
Se debe de establecer:
1 Un intervalo
2 La longitud de la palabra
3 El alfabeto a utilizar
Realiza una suma sucesiva en base a la longitud del alfabeto
Se obtiene un conjunto de palabras auxiliares
9 / 30
Contenidos
Conceptosgenerales
Diseno de DJHACK
Algoritmo de fuerzabruta
Conceptosgenerales en DJHACK
Desarrollo delalgoritmo de fuerzabruta
Implantacion deJPPF
Estructuras
Topologıa de red
Adaptacion deJPPF
MemoryDataProvider
Implantacion deHazelcast
Tolerancias
Pool de conexiones
Seguridad
Red
Aplicacion
Herramientas
Gestionfinanciera
Conclusiones
Estructuras en JPPF
JPPF se compone de dos estructuras de datos elementales:
task o tarea
Job o trabajo
10 / 30
Contenidos
Conceptosgenerales
Diseno de DJHACK
Algoritmo de fuerzabruta
Conceptosgenerales en DJHACK
Desarrollo delalgoritmo de fuerzabruta
Implantacion deJPPF
Estructuras
Topologıa de red
Adaptacion deJPPF
MemoryDataProvider
Implantacion deHazelcast
Tolerancias
Pool de conexiones
Seguridad
Red
Aplicacion
Herramientas
Gestionfinanciera
Conclusiones
Topologıa de la red en JPPF
11 / 30
Contenidos
Conceptosgenerales
Diseno de DJHACK
Algoritmo de fuerzabruta
Conceptosgenerales en DJHACK
Desarrollo delalgoritmo de fuerzabruta
Implantacion deJPPF
Estructuras
Topologıa de red
Adaptacion deJPPF
MemoryDataProvider
Implantacion deHazelcast
Tolerancias
Pool de conexiones
Seguridad
Red
Aplicacion
Herramientas
Gestionfinanciera
Conclusiones
Adaptacion de JPPF a DJ HACK
12 / 30
Contenidos
Conceptosgenerales
Diseno de DJHACK
Algoritmo de fuerzabruta
Conceptosgenerales en DJHACK
Desarrollo delalgoritmo de fuerzabruta
Implantacion deJPPF
Estructuras
Topologıa de red
Adaptacion deJPPF
MemoryDataProvider
Implantacion deHazelcast
Tolerancias
Pool de conexiones
Seguridad
Red
Aplicacion
Herramientas
Gestionfinanciera
Conclusiones
Instalacion del MemoryDataProvider
Elementos comunes a todas las tareas, no tienen porque transmitirse constantemente.
Alfabeto
Intervalo
Longitud de las claves
Uso del proveedor de datos en memoria.
Despliegue y serializacion de objetos, en el envıo de untrabajo
Agiliza el trafico de la red
13 / 30
Contenidos
Conceptosgenerales
Diseno de DJHACK
Algoritmo de fuerzabruta
Conceptosgenerales en DJHACK
Desarrollo delalgoritmo de fuerzabruta
Implantacion deJPPF
Estructuras
Topologıa de red
Adaptacion deJPPF
MemoryDataProvider
Implantacion deHazelcast
Tolerancias
Pool de conexiones
Seguridad
Red
Aplicacion
Herramientas
Gestionfinanciera
Conclusiones
Adaptacion de JPPF a DJ HACK
14 / 30
Contenidos
Conceptosgenerales
Diseno de DJHACK
Algoritmo de fuerzabruta
Conceptosgenerales en DJHACK
Desarrollo delalgoritmo de fuerzabruta
Implantacion deJPPF
Estructuras
Topologıa de red
Adaptacion deJPPF
MemoryDataProvider
Implantacion deHazelcast
Tolerancias
Pool de conexiones
Seguridad
Red
Aplicacion
Herramientas
Gestionfinanciera
Conclusiones
Tolerancia a fallos
Posible caıda total de la red, implica:
Eliminacion del mapa distribuido de Hazelcast
Solucion: Conexion con la base de datos por nodo.
Problemas de concurrencia entre procesos.Soluciones:
Sincronizacion entre procesos, implica, rendimientolento.Pool de conexiones
15 / 30
Contenidos
Conceptosgenerales
Diseno de DJHACK
Algoritmo de fuerzabruta
Conceptosgenerales en DJHACK
Desarrollo delalgoritmo de fuerzabruta
Implantacion deJPPF
Estructuras
Topologıa de red
Adaptacion deJPPF
MemoryDataProvider
Implantacion deHazelcast
Tolerancias
Pool de conexiones
Seguridad
Red
Aplicacion
Herramientas
Gestionfinanciera
Conclusiones
Pool de conexiones
Problematica: Datos relevantes al descubierto
16 / 30
Contenidos
Conceptosgenerales
Diseno de DJHACK
Algoritmo de fuerzabruta
Conceptosgenerales en DJHACK
Desarrollo delalgoritmo de fuerzabruta
Implantacion deJPPF
Estructuras
Topologıa de red
Adaptacion deJPPF
MemoryDataProvider
Implantacion deHazelcast
Tolerancias
Pool de conexiones
Seguridad
Red
Aplicacion
Herramientas
Gestionfinanciera
Conclusiones
Seguridad en la red
17 / 30
Contenidos
Conceptosgenerales
Diseno de DJHACK
Algoritmo de fuerzabruta
Conceptosgenerales en DJHACK
Desarrollo delalgoritmo de fuerzabruta
Implantacion deJPPF
Estructuras
Topologıa de red
Adaptacion deJPPF
MemoryDataProvider
Implantacion deHazelcast
Tolerancias
Pool de conexiones
Seguridad
Red
Aplicacion
Herramientas
Gestionfinanciera
Conclusiones
Mecanismos de seguridad
Autenticacion de usuario mediante digestores.
Encriptacion PBE de parametros de acceso a la base dedatos
RSA
18 / 30
Contenidos
Conceptosgenerales
Diseno de DJHACK
Algoritmo de fuerzabruta
Conceptosgenerales en DJHACK
Desarrollo delalgoritmo de fuerzabruta
Implantacion deJPPF
Estructuras
Topologıa de red
Adaptacion deJPPF
MemoryDataProvider
Implantacion deHazelcast
Tolerancias
Pool de conexiones
Seguridad
Red
Aplicacion
Herramientas
Gestionfinanciera
Conclusiones
Diagrama de red
19 / 30
Contenidos
Conceptosgenerales
Diseno de DJHACK
Algoritmo de fuerzabruta
Conceptosgenerales en DJHACK
Desarrollo delalgoritmo de fuerzabruta
Implantacion deJPPF
Estructuras
Topologıa de red
Adaptacion deJPPF
MemoryDataProvider
Implantacion deHazelcast
Tolerancias
Pool de conexiones
Seguridad
Red
Aplicacion
Herramientas
Gestionfinanciera
Conclusiones
Herramientas y funcionalidades extra
Capacidad de realizar ataques por diccionario
Hasheo de claves
Creacion automatizada de nodos y servidores
Monitorizacion del cluster en tipo real
Multiplexacion de puertos TPC
20 / 30
Contenidos
Conceptosgenerales
Diseno de DJHACK
Gestionfinanciera
Recursos humanos
Recursos materiales
Presupuesto final
Conclusiones
1 Conceptos generales
2 Diseno de DJ HACK
3 Gestion financiera
4 Conclusiones
21 / 30
Contenidos
Conceptosgenerales
Diseno de DJHACK
Gestionfinanciera
Recursos humanos
Recursos materiales
Presupuesto final
Conclusiones
Recursos humanos
Concepto Tasa estandar Tasa horas extra
Desarrollador 5,30 e/hora 7,15 e/hora
22 / 30
Contenidos
Conceptosgenerales
Diseno de DJHACK
Gestionfinanciera
Recursos humanos
Recursos materiales
Presupuesto final
Conclusiones
Recursos materiales hardware
23 / 30
Contenidos
Conceptosgenerales
Diseno de DJHACK
Gestionfinanciera
Recursos humanos
Recursos materiales
Presupuesto final
Conclusiones
Recursos materiales
Concepto Coste unitario Num. De licencias
MS Project 2010 775,00 e 1MS Visio 2010 330,00 e 1Antivirus Nod32 39.95 e 2Kubuntu Linux 0,00 e 2Apache Ant 0,00 e 4NetBeans 6.9.1 0,00 e 1MySQL Sever 5.1 0,00 e 1MySQL GUI Tools 0,00 e 1IPTools 1.98 0,00 e 1
Cuadro: Recursos materiales (Software).
24 / 30
Contenidos
Conceptosgenerales
Diseno de DJHACK
Gestionfinanciera
Recursos humanos
Recursos materiales
Presupuesto final
Conclusiones
Recursos materiales II
Concepto Coste unitario Num. De licencias
TeXnicCenter 1.0 0,00 e 1Ghostscript 8.71 0,00 e 1GWView 4.9 0,00 e 1MiKTeX 0,00 e 1Gimp 2.6 0,00 e 1Biblioteca Swing 0,00 e 1Biblioteca Jasypt 0,00 e 1JPPF Framework 0,00 e 1Hazelcast Framework 0,00 e 1
Cuadro: Recursos materiales (Software).
25 / 30
Contenidos
Conceptosgenerales
Diseno de DJHACK
Gestionfinanciera
Recursos humanos
Recursos materiales
Presupuesto final
Conclusiones
Presupuesto
Concepto ImporteRecursos de trabajo 4706,4 eRecursos materiales 57,90 eAmortizaciones 214,38 eTotal 4.978,68 e
Gastos Generales (10 %) 497,86 eBeneficio (15 %) 746,81 eSubtotal 6.223,35 eIVA (18 %) 1.120,21 eTotal 7.343,56
Cuadro: Presupuesto
26 / 30
Contenidos
Conceptosgenerales
Diseno de DJHACK
Gestionfinanciera
Conclusiones
1 Conceptos generales
2 Diseno de DJ HACK
3 Gestion financiera
4 Conclusiones
27 / 30
Contenidos
Conceptosgenerales
Diseno de DJHACK
Gestionfinanciera
Conclusiones
Resultados: viabilidad de un desarrollo tecnico enlos ataques de fuerza bruta distribuidos
Se ha construido una aplicacion capaz de
realizar ataques de fuerza bruta en entornos distribuidosde manera sencilla
realizar ataques de diccionario
crear cada componente del grid forma personalizada ytotalmente automatizada
encriptar todas sus comunicaciones con la finalidad deproteger sus datos
proveer de multiplexacion de puertos TCP para entornoscon cortafuegos
monitorizar y modificar cualquier propiedad de loscomputadores que esten conectados a el online
28 / 30
DJ HACK: Distributed JavaHAsh craCKer
Proyecto de fin de carrera dirigido porPablo Gonzalez Nalda
Unai Gomez Velasco
Depto. de Lenguajes y Sistemas Informaticos
27 de septiembre de 2010
Contenidos
Conceptosgenerales
Diseno de DJHACK
Gestionfinanciera
Conclusiones
Contenidos de la presentacion
1 Conceptos generales
2 Diseno de DJ HACK
3 Gestion financiera
4 Conclusiones
30 / 30