clÚster de alto rendimiento en un cloud · 2011-10-08 · propiamente dicha guardándola en un...
Post on 10-Feb-2020
2 Views
Preview:
TRANSCRIPT
UNIVERSIDAD DE ALMERÍA
CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD:EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH
Autor
Directores
Ingeniero en Informática
CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH
ÍNDICE
2
1. Introducción
2. Elastic Cluster
3. Pruebas de rendimiento
4. Ejemplo de aplicación: Criptoanálisis de funciones hash
5. Conclusiones
6. Publicaciones y trabajo futuro
CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 3
ÍNDICE
1. Introducción
2. Elastic Cluster
3. Pruebas de rendimiento
4. Ejemplo de aplicación: Criptoanálisis de funciones hash
5. Conclusiones
6. Publicaciones y trabajo futuro
CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 4
1. INTRODUCCIÓN
Modelos de computación
Influencia de las Tecnologías de la Información
CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 5
Computación en la nubeCloud Computing
Ofrecer recursos alojados en la red
Ventajas
Ahorro generalizado costesEscabilidadFiabilidadAbstracción del hardwareRecuperación ante desastresAlta disponibilidad y alto rendimientoIndependencia de la localizaciónEtc.
Desventajas
Tecnología prematuraSentimiento de inseguridadDependencia de conexión a InternetDependencia proveedores serviciosDegradación del servicio
1. INTRODUCCIÓN
CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 6
Computación en la nubeCloud Computing
TIPOS
Nubes públicas o externas
Nubes privadas o internas
Nubes híbridas
Nubes combinadas
Nubes comunitarias
1. INTRODUCCIÓN
CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 7
Computación en la nubeCloud Computing
Servicios ofrecidos
1. INTRODUCCIÓN
Herramientas Open Source
CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 8
Computación en la nubeCloud Computing
Arquitectura
Front-End Nodos Sistema ficheros
1. INTRODUCCIÓN
CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 9
ClústeresAgrupación de dos o más computadores que se encuentran interconectados y trabajan de forma conjunta.
Componentes
NodosAlmacenamientoSistema operativoConexiones de redMiddlewareEntornos de programación paralela
1. INTRODUCCIÓN
CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 10
Clústeres
Clasificación según sus características
Alto rendimiento Proporcionan altas prestaciones de capacidad de cómputo superior
Alta disponibilidadBrindan la máxima disponibilidad de los servicios que ofrecen
Alta eficienciaEnfocados a la ejecución de la mayor cantidad de tareas en el menor tiempo posible
1. INTRODUCCIÓN
CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 11
ClústeresFamilias y herramientas
Clúster Beowulf (Alto rendimiento)
Computación paralela en múltiples procesadores siguiendo paradigma cliente/servidor.Utilizan librerías de paso de mensaje (PVM, MPI, OpenMP)Implementaciones open source: MPICH, OpenMPI o LAM/MPI
Clúster alta disponibilidad con Linux Virtual Server (LVS)
Utilizados principalmente en granjas de servidores. Disponen balanceador de carga virtual (master y backup)
Clúster SSI (Single System Image)Ocultan la naturaleza heterogénea y distribución de los recursos Recurso unificado y sencillo.Herramientas: OpenMosix y Kerrighed
1. INTRODUCCIÓN
CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 12
Sistemas de alto rendimientoHPC, High Perfomance Computing
Clústeres
Relación coste - rendimiento
Espacio y gestión almacenamiento
Grid Computing oCloud Computing
Soluciones escalables, potentes y flexibles
Integrar sistemas heterogéneos
1. INTRODUCCIÓN
CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 13
1. INTRODUCCIÓN
Objetivo del proyectoImplementación de un clúster alto rendimiento
basado en el paradigma Cloud Computing
Cloud Computing
Infraestructura clúster
ELASTIC CLUSTER
CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 14
ÍNDICE
1. Introducción
2. Elastic Cluster
3. Pruebas de rendimiento
4. Ejemplo de aplicación: Criptoanálisis de funciones hash
5. Conclusiones
6. Publicaciones y trabajo futuro
CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 15
2. ELASTIC CLUSTER
Implementación de la infraestructura física
Puesta en marcha
CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 16
2. ELASTIC CLUSTER
Puesta en marchaImplementación de la nube
CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 17
2. ELASTIC CLUSTER
Puesta en marchaImplementación del clúster
Clúster Tipo Beowulf (Alto rendimiento)
Computación paralela programas en C
Implementación MPICH2 1.2.1
Conexiones SSH sin contraseña
Directorio compartido mediante NFS
CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 18
ÍNDICE
1. Introducción
2. Elastic Cluster
3. Pruebas de rendimiento
4. Ejemplo de aplicación: Criptoanálisis de funciones hash
5. Conclusiones
6. Publicaciones y trabajo futuro
5 SERVIDORES DELL R210 4 x INTEL XEON X340 - 2,40 GHz, 4GB RAM, 250 GB HDD
CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 19
Elastic ClusterFlexibilidad para desplegar clústeres adaptables a nuestras necesidades en tamaño y recursos, escalables, tolerantes a fallos y a un bajo coste.
NO TODO SON VENTAJAS PÉRDIDA RENDIMIENTO
Clúster Físico (PHC)5 servidores de 4 núcleosUbuntu Maverick Meerkat 10.10Mpich2 1.2.1
Clúster Máquinas virtuales (VMC)10 instancias de 2 núcleos 5 instancias de 4 núcleosUbuntu Lucid Lync 10.04 y Mpich2 1.2.1
20 procesadores sobre 5 servidores Dell R210
3. PRUEBAS DE RENDIMIENTO
CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 20
Pruebas rendimiento
Benchmark básico
Sistema ficheros: Escritura y lectura fichero disco secuencial 100MB
Memoria RAM: Escritura y lectura de un vector 1MB 1000 veces
3. PRUEBAS DE RENDIMIENTO
CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 21
Pruebas rendimiento
Benchmark básico
Potencia procesamiento: Calculo eficiencia del sistema (MPI Benchmark)
PHCEficiencia mayorSistema más estable
VMCPerdida rendimiento 8,07%debido a la capa de virtualización del cloud
3. PRUEBAS DE RENDIMIENTO
2 procesosn
Penalización media VMC: 27,29 %
Benchmark LU:
CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 22
Pruebas rendimiento
3. PRUEBAS DE RENDIMIENTO
Benchmark NPB (Nas Parallel Benchmarks)Conjunto de kernels y aplicaciones desarrolladas por la NASA para el estudio del rendimiento de supercomputadores paralelos (elevado número de comunicaciones).
n procesos2
Penalización media VMC: 19,89 %
Benchmark SP:
CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 23
Pruebas rendimiento
3. PRUEBAS DE RENDIMIENTO
Benchmark NPB (Nas Parallel Benchmarks)Conjunto de kernels y aplicaciones desarrolladas por la NASA para el estudio del rendimiento de supercomputadores paralelos (elevado número de comunicaciones).
CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 24
Pruebas rendimiento
Análisis de resultados
VMC muestra un comportamiento peor que PHC.
Benchmark NAS: A mayor número de comunicaciones entre procesos, peor rendimiento.
Penalización media del rendimiento del 23,59 %.
Elastic Cluster:
Desventaja: Penalización rendimiento entre 8,07 % y 23,59 %
Ventaja: Tecnología ideal para clústeres alto rendimiento adaptables a las necesidades del proyecto con un bajo coste
3. PRUEBAS DE RENDIMIENTO
CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 25
ÍNDICE
1. Introducción
2. Elastic Cluster
3. Pruebas de rendimiento
4. Ejemplo de aplicación: Criptoanálisis de funciones hash
5. Conclusiones
6. Publicaciones y trabajo futuro
CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 26
4. EJEMPLO DE APLICACIÓNCRIPTOANÁLISIS DE FUNCIONES HASH
Criptografía “Rama de las Matemáticas, la Informática y la Telemática, que hace uso de métodos y técnicas con el objeto principal de cifrar, y por tanto proteger, un mensaje o archivo por medio de un algoritmo, usando una o más claves”.
Funciones Hash Permiten calcular la huella (o resumen) que identifica de forma unívoca un determinado conjunto de datos.
MD5 SHA1
LM NTLM
CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 27
Criptoanálisis de funciones Hash
Ciencia encargada de buscar las vulnerabilidades de los criptosistemas
Principales tipos ataques
Ataque del cumpleaños
Tablas Rainbow
4. EJEMPLO DE APLICACIÓNCRIPTOANÁLISIS DE FUNCIONES HASH
Ubuntu Enterprise Cloud
CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 28
Ejemplo de aplicación: Fuerza bruta y tablas Rainbow
Se han utilizado dos entornos de trabajo
Elastic Cluster
GPGPU
Servidor MX DUAL AZServer Xenon con NVIDIA Tesla S10702 procesadores Quad Core Intel Xenon 2,66 GHz8 módulos de 2 GB de SDRAM y 2 discos duros SATA de 1 TB en RAID 14 tarjetas Tesla Procesador T10 con 960 núcleos de 1,44Gz cada unaModelo de programación paralela badado en GPU: CUDA
MPICH2
4. EJEMPLO DE APLICACIÓNCRIPTOANÁLISIS DE FUNCIONES HASH
Aplicación 1: Generación de Hashesint num_hash = 1000000000;
for(i=0; i<num_hash; i++){calcular_hash(cadena_texto, tamaño_cadena, hash);
}
29CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH
Elevada carga computacionalAltamente paralelizableFunciones MD5, SHA1 y LM OpenSSL
4. EJEMPLO DE APLICACIÓNCRIPTOANÁLISIS DE FUNCIONES HASH
Aplicación 2: Obtención del valor a partir del hash
30CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH
charset[37]={'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',' '};
6
Elastic Cluster
4. EJEMPLO DE APLICACIÓNCRIPTOANÁLISIS DE FUNCIONES HASH
Búsqueda de un hash MD5. Cadenas de 5 y 6 caracteres.
37 = 2.565.726.409combinaciones posibles
Aplicación 2: Obtención del valor a partir del hash
31CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH
charset[37]={'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',' '};
6
4. EJEMPLO DE APLICACIÓNCRIPTOANÁLISIS DE FUNCIONES HASH
Búsqueda de un hash MD5. Cadenas de 5 y 6 caracteres.
37 = 2.565.726.409combinaciones posibles
GPGPU - CUDA
32CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH
5 caracteres
6 caracteres
Resultados
4. EJEMPLO DE APLICACIÓNCRIPTOANÁLISIS DE FUNCIONES HASH
Aplicación 2: Obtención del valor a partir del hash
Aplicación 3: Generación de tablas Rainbow
33CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH
RainbowCrack Project
1. Generación de la Tabla Rainbow. En esta fase se crea la Tabla Rainbow propiamente dicha guardándola en un fichero de texto con el formato .rt.
2. Ordenación de Tabla Rainbow. En esta fase se ordena la tabla guardada en el fichero de texto. Esto es vital para la eficiencia de las Tablas Rainbow y por tanto obligatorio para el buen funcionamiento del algoritmo.
3. Ruptura de los hash. En esta fase se buscan los hash deseados en la tabla. En el caso de ser encontrados nos devuelve el resultado de la clave original.
4. EJEMPLO DE APLICACIÓNCRIPTOANÁLISIS DE FUNCIONES HASH
Aplicación 3: Generación de tablas Rainbow
34CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH
Elastic Cluster
4. EJEMPLO DE APLICACIÓNCRIPTOANÁLISIS DE FUNCIONES HASH
Espacio trabajo proceso
Tamaño tabla / num procesos
Aplicación 3: Generación de tablas Rainbow
35CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH
GPGPU - CUDA
4. EJEMPLO DE APLICACIÓNCRIPTOANÁLISIS DE FUNCIONES HASH
Aplicación 3: Generación de tablas Rainbow
36CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH
Resultados
Elastic Cluster supera los 56 millones de hashes/seg para la función MD5Rendimiento medio Cloud: 1770 % | Rendimiento medio CUDA 522%CUDA solución menos eficiente (penalizaciones por multitud de comunicaciones)
4. EJEMPLO DE APLICACIÓNCRIPTOANÁLISIS DE FUNCIONES HASH
CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 37
ÍNDICE
1. Introducción
2. Elastic Cluster
3. Pruebas de rendimiento
4. Ejemplo de aplicación: Criptoanálisis de funciones hash
5. Conclusiones
6. Publicaciones y trabajo futuro
CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 38
5. CONCLUSIONES
Es posible combinar la tecnología clúster y cloud computing para obtener una solución de altas prestaciones a un bajo coste.
Modelo Elastic Cluster permite adaptar la carga de trabajo ofreciendo una mejor disponibilidad y rendimiento.
El despliegue de una infraestructura cloud conlleva una pérdida de rendimiento, dependiendo del grado de paralelización.
Las implementaciones MPI y CUDA mejoran en gran medida el rendimiento de proyectos anteriores.
Tanto para la versión MPI como CUDA, es necesario un tiempo para iniciar el sistema, penalizando de forma importante la generación de un número pequeño de hashes. Para un número elevado de hashes son las mejores soluciones.
CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 39
5. CONCLUSIONES
Es posible romper una contraseña alfanumérica cifrada de cinco caracteres en menos de cuatro segundos, y dos minutos para una contraseña de seis caracteres.
CUDA ofrece mejores resultados para implementaciones de fuerza bruta, mientras que el clúster virtual lo supera con creces en la generación de tablas rainbow.
CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 40
ÍNDICE
1. Introducción
2. Elastic Cluster
3. Pruebas de rendimiento
4. Ejemplo de aplicación: Criptoanálisis de funciones hash
5. Conclusiones
6. Publicaciones y trabajo futuro
CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 41
6. PUBLICACIONES Y TRABAJO FUTURO
PUBLICACIONES
“Processing Cryptanalysis of Hash Functions using Graphics Processing Units”
Second International Conference on Parallel, Distributed, Grid an Cloud Computing for Engineering.Ajaccio 12-15 Abril 2011
ISSN 1759-3433
JDARE’11 - VIII Jornadas para el Desarrollo de Grandes Aplicaciones de Red. Universidad de Alicante Estado: ACEPTADO.Publicación: Noviembre 2011
“Evaluación del Rendimiento de Clústeres en Entornos Cloud Computing”
CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 42
6. PUBLICACIONES Y TRABAJO FUTURO
TRABAJO FUTURO
Utilizar Elastic Cluster en problemas que necesiten altos requisitos de procesamiento:
Estudio e implementación de un sistema capaz de auditar comunicaciones seguras https (X.509). Generación de certificados falsos con la misma firma MD5.
Implementación de un clúster virtual en una arquitectura de nube pública o híbrida y realización de estudio comparativo de rendimientos.
CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD:EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH
Autor
Directores
GRACIAS POR SU ATENCIÓN
UNIVERSIDAD DE ALMERÍAIngeniero en Informática
top related