dj hack: distributed java hash crackerlsi.vc.ehu.es/pablogn/docencia/pfc/pfc-unai-gómez...dj hack:...

30
DJ HACK: Distributed Java HAsh craCKer Proyecto de fin de carrera dirigido por Pablo Gonz´ alez Nalda Unai G´ omez Velasco Depto. de Lenguajes y Sistemas Inform´ aticos 27 de septiembre de 2010

Upload: others

Post on 05-Jul-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DJ HACK: Distributed Java HAsh craCKerlsi.vc.ehu.es/pablogn/docencia/PFC/PFC-Unai-Gómez...DJ HACK: Distributed Java HAsh craCKer Proyecto de n de carrera dirigido por Pablo Gonz alez

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

Page 2: DJ HACK: Distributed Java HAsh craCKerlsi.vc.ehu.es/pablogn/docencia/PFC/PFC-Unai-Gómez...DJ HACK: Distributed Java HAsh craCKer Proyecto de n de carrera dirigido por Pablo Gonz alez

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

Page 3: DJ HACK: Distributed Java HAsh craCKerlsi.vc.ehu.es/pablogn/docencia/PFC/PFC-Unai-Gómez...DJ HACK: Distributed Java HAsh craCKer Proyecto de n de carrera dirigido por Pablo Gonz alez

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

Page 4: DJ HACK: Distributed Java HAsh craCKerlsi.vc.ehu.es/pablogn/docencia/PFC/PFC-Unai-Gómez...DJ HACK: Distributed Java HAsh craCKer Proyecto de n de carrera dirigido por Pablo Gonz alez

Contenidos

Conceptosgenerales

Diseno de DJHACK

Gestionfinanciera

Conclusiones

1 Conceptos generales

2 Diseno de DJ HACK

3 Gestion financiera

4 Conclusiones

4 / 30

Page 5: DJ HACK: Distributed Java HAsh craCKerlsi.vc.ehu.es/pablogn/docencia/PFC/PFC-Unai-Gómez...DJ HACK: Distributed Java HAsh craCKer Proyecto de n de carrera dirigido por Pablo Gonz alez

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

Page 6: DJ HACK: Distributed Java HAsh craCKerlsi.vc.ehu.es/pablogn/docencia/PFC/PFC-Unai-Gómez...DJ HACK: Distributed Java HAsh craCKer Proyecto de n de carrera dirigido por Pablo Gonz alez

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

Page 7: DJ HACK: Distributed Java HAsh craCKerlsi.vc.ehu.es/pablogn/docencia/PFC/PFC-Unai-Gómez...DJ HACK: Distributed Java HAsh craCKer Proyecto de n de carrera dirigido por Pablo Gonz alez

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

Page 8: DJ HACK: Distributed Java HAsh craCKerlsi.vc.ehu.es/pablogn/docencia/PFC/PFC-Unai-Gómez...DJ HACK: Distributed Java HAsh craCKer Proyecto de n de carrera dirigido por Pablo Gonz alez

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

Page 9: DJ HACK: Distributed Java HAsh craCKerlsi.vc.ehu.es/pablogn/docencia/PFC/PFC-Unai-Gómez...DJ HACK: Distributed Java HAsh craCKer Proyecto de n de carrera dirigido por Pablo Gonz alez

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

Page 10: DJ HACK: Distributed Java HAsh craCKerlsi.vc.ehu.es/pablogn/docencia/PFC/PFC-Unai-Gómez...DJ HACK: Distributed Java HAsh craCKer Proyecto de n de carrera dirigido por Pablo Gonz alez

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

Page 11: DJ HACK: Distributed Java HAsh craCKerlsi.vc.ehu.es/pablogn/docencia/PFC/PFC-Unai-Gómez...DJ HACK: Distributed Java HAsh craCKer Proyecto de n de carrera dirigido por Pablo Gonz alez

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

Page 12: DJ HACK: Distributed Java HAsh craCKerlsi.vc.ehu.es/pablogn/docencia/PFC/PFC-Unai-Gómez...DJ HACK: Distributed Java HAsh craCKer Proyecto de n de carrera dirigido por Pablo Gonz alez

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

Page 13: DJ HACK: Distributed Java HAsh craCKerlsi.vc.ehu.es/pablogn/docencia/PFC/PFC-Unai-Gómez...DJ HACK: Distributed Java HAsh craCKer Proyecto de n de carrera dirigido por Pablo Gonz alez

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

Page 14: DJ HACK: Distributed Java HAsh craCKerlsi.vc.ehu.es/pablogn/docencia/PFC/PFC-Unai-Gómez...DJ HACK: Distributed Java HAsh craCKer Proyecto de n de carrera dirigido por Pablo Gonz alez

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

Page 15: DJ HACK: Distributed Java HAsh craCKerlsi.vc.ehu.es/pablogn/docencia/PFC/PFC-Unai-Gómez...DJ HACK: Distributed Java HAsh craCKer Proyecto de n de carrera dirigido por Pablo Gonz alez

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

Page 16: DJ HACK: Distributed Java HAsh craCKerlsi.vc.ehu.es/pablogn/docencia/PFC/PFC-Unai-Gómez...DJ HACK: Distributed Java HAsh craCKer Proyecto de n de carrera dirigido por Pablo Gonz alez

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

Page 17: DJ HACK: Distributed Java HAsh craCKerlsi.vc.ehu.es/pablogn/docencia/PFC/PFC-Unai-Gómez...DJ HACK: Distributed Java HAsh craCKer Proyecto de n de carrera dirigido por Pablo Gonz alez

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

Page 18: DJ HACK: Distributed Java HAsh craCKerlsi.vc.ehu.es/pablogn/docencia/PFC/PFC-Unai-Gómez...DJ HACK: Distributed Java HAsh craCKer Proyecto de n de carrera dirigido por Pablo Gonz alez

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

Page 19: DJ HACK: Distributed Java HAsh craCKerlsi.vc.ehu.es/pablogn/docencia/PFC/PFC-Unai-Gómez...DJ HACK: Distributed Java HAsh craCKer Proyecto de n de carrera dirigido por Pablo Gonz alez

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

Page 20: DJ HACK: Distributed Java HAsh craCKerlsi.vc.ehu.es/pablogn/docencia/PFC/PFC-Unai-Gómez...DJ HACK: Distributed Java HAsh craCKer Proyecto de n de carrera dirigido por Pablo Gonz alez

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

Page 21: DJ HACK: Distributed Java HAsh craCKerlsi.vc.ehu.es/pablogn/docencia/PFC/PFC-Unai-Gómez...DJ HACK: Distributed Java HAsh craCKer Proyecto de n de carrera dirigido por Pablo Gonz alez

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

Page 22: DJ HACK: Distributed Java HAsh craCKerlsi.vc.ehu.es/pablogn/docencia/PFC/PFC-Unai-Gómez...DJ HACK: Distributed Java HAsh craCKer Proyecto de n de carrera dirigido por Pablo Gonz alez

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

Page 23: DJ HACK: Distributed Java HAsh craCKerlsi.vc.ehu.es/pablogn/docencia/PFC/PFC-Unai-Gómez...DJ HACK: Distributed Java HAsh craCKer Proyecto de n de carrera dirigido por Pablo Gonz alez

Contenidos

Conceptosgenerales

Diseno de DJHACK

Gestionfinanciera

Recursos humanos

Recursos materiales

Presupuesto final

Conclusiones

Recursos materiales hardware

23 / 30

Page 24: DJ HACK: Distributed Java HAsh craCKerlsi.vc.ehu.es/pablogn/docencia/PFC/PFC-Unai-Gómez...DJ HACK: Distributed Java HAsh craCKer Proyecto de n de carrera dirigido por Pablo Gonz alez

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

Page 25: DJ HACK: Distributed Java HAsh craCKerlsi.vc.ehu.es/pablogn/docencia/PFC/PFC-Unai-Gómez...DJ HACK: Distributed Java HAsh craCKer Proyecto de n de carrera dirigido por Pablo Gonz alez

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

Page 26: DJ HACK: Distributed Java HAsh craCKerlsi.vc.ehu.es/pablogn/docencia/PFC/PFC-Unai-Gómez...DJ HACK: Distributed Java HAsh craCKer Proyecto de n de carrera dirigido por Pablo Gonz alez

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

Page 27: DJ HACK: Distributed Java HAsh craCKerlsi.vc.ehu.es/pablogn/docencia/PFC/PFC-Unai-Gómez...DJ HACK: Distributed Java HAsh craCKer Proyecto de n de carrera dirigido por Pablo Gonz alez

Contenidos

Conceptosgenerales

Diseno de DJHACK

Gestionfinanciera

Conclusiones

1 Conceptos generales

2 Diseno de DJ HACK

3 Gestion financiera

4 Conclusiones

27 / 30

Page 28: DJ HACK: Distributed Java HAsh craCKerlsi.vc.ehu.es/pablogn/docencia/PFC/PFC-Unai-Gómez...DJ HACK: Distributed Java HAsh craCKer Proyecto de n de carrera dirigido por Pablo Gonz alez

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

Page 29: DJ HACK: Distributed Java HAsh craCKerlsi.vc.ehu.es/pablogn/docencia/PFC/PFC-Unai-Gómez...DJ HACK: Distributed Java HAsh craCKer Proyecto de n de carrera dirigido por Pablo Gonz alez

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

Page 30: DJ HACK: Distributed Java HAsh craCKerlsi.vc.ehu.es/pablogn/docencia/PFC/PFC-Unai-Gómez...DJ HACK: Distributed Java HAsh craCKer Proyecto de n de carrera dirigido por Pablo Gonz alez

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