tecnolÓgico nacional de...
TRANSCRIPT
1
TECNOLOacuteGICO NACIONAL DE MEacuteXICO
INSTITUTO TECNOLOacuteGICO DE ACAPULCO
CRIPTOANAacuteLISIS A LA FUNCIOacuteN HASH DE UN SISTEMA
OPERATIVO NIVEL C1 EMPLEANDO UN CLUacuteSTER HPC
CON SOFTWARE DE USO LIBRE
TESIS
QUE PARA OBTENER EL TIacuteTULO DE
MAESTRO EN SISTEMAS COMPUTACIONALES
PRESENTA
ING GADDIEL FREDY FLORES ARTEAGA
DIRECTOR
DR EDUARDO DE LA CRUZ GAacuteMEZ
CODIRECTOR
MTI ELOY CADENA MENDOZA
ACAPULCO GRO Noviembre de 2019
i
El presente trabajo de tesis fue desarrollado en la Divisioacuten de Estudios de Posgrado e
Investigacioacuten del Instituto Tecnoloacutegico de Acapulco perteneciente al Programa
Nacional de Posgrados de Calidad (PNPC-CONACYT)
Con domicilio para recibir y oiacuter notificaciones en Av Instituto Tecnoloacutegico de Acapulco sn
Crucero del Cayaco Acapulco Guerrero Meacutexico CP 39905
Becario Gaddiel Fredy Flores Arteaga
CVU 851420
Nuacutem de apoyo 627006 Grado Maestriacutea
ii
Descargo de Responsabilidad Institucional
El que suscribe declara que el presente documento titulado ldquoCriptoanaacutelisis a la funcioacuten
hash de un sistema operativo nivel C1 empleando un cluacutester HPC con software de uso librerdquo es un
trabajo propio y original el cuaacutel no ha sido utilizado anteriormente en institucioacuten alguna para
propoacutesitos de evaluacioacuten publicacioacuten yo obtencioacuten de alguacuten grado acadeacutemico
Ademaacutes se han recogido todas las fuentes de informacioacuten utilizadas las cuales han sido
citadas en la seccioacuten de referencias bibliograacutefica de este trabajo
Nombre Ing Gaddiel Fredy Flores Arteaga Fecha y firma
iii
Dedicatoria
Este logro se lo dedico a mi toda mi familia que incondicionalmente siempre estaacute ahiacute
cuando los necesito A mis Padres especialmente dedicado a mi Madre que es un ejemplo de
esfuerzo para miacute sabe el camino complicado que he tenido que pasar para poder llegar a este
gratificante momento y siempre ha tenido una palabra que me alienta a no desmallar y seguir
adelante
Dedicado tambieacuten para mi hermano Uriel porque sin saberlo y a la distancia su apoyo y
confianza han sido un pilar fundamental para poder llegar a este momento
Adrielito hijo te dedico este logro por tu paciencia porque seacute que has tenido que pasar
tiempo con Papaacute en la escuela en lugar de estar en casa descansando o jugando despueacutes de salir
de tus clases gracias por soportarlo te amo y espero ser un ejemplo de esfuerzo y perseverancia
para ti
Los amo a todos
iv
Agradecimientos
Agradezco primero y ante todo a Dios todo se lo debo a Eacutel por derramar sus
bendiciones sobre miacute por acompantildearme en cada paso que doy y haber fortalecido mi corazoacuten e
iluminado mi mente Gracias Padre
A mi familia que ha estado ahiacute siempre a mi lado en los momentos maacutes oscuros y
difiacuteciles creyendo en miacute impulsaacutendome para alcanzar mis metas
Al Consejo Nacional de Ciencia y Tecnologiacutea por haberme apoyado econoacutemicamente
para la realizacioacuten de este proyecto
A mi director de tesis el Dr Eduardo de la Cruz Gaacutemez por su tiempo por su paciencia
por los valiosos aportes criacuteticas comentarios y sugerencias que realizoacute durante este proyecto
Al Departamento de Posgrado e Investigacioacuten del Instituto Tecnoloacutegico de Acapulco asiacute
como a toda la plantilla docente de la cual me llevo conocimiento y experiencias
enriquecedoras que sin lugar a dudas marcaron mi vida profesional
A la segunda generacioacuten muchas gracias Abejorros sin el apoyo mutuo durante el
tiempo que pasamos en las aulas y durante el desarrollo de los proyectos tal vez no lo
hubieacuteramos logrado
v
Resumen
El presente trabajo inicia con una breve introduccioacuten sobre la importancia que tiene la
seguridad en cualquier aspecto de la vida y sobre todo en el aacuterea laboral especiacuteficamente en el
aacuterea informaacutetica Posteriormente resalta coacutemo la criptografiacutea ha estado presente en momentos
importantes de la vida del ser humano sobre todo dentro del aacutembito militar en la cual ha sido
fundamental para permitir comunicaciones seguras Actualmente la criptografiacutea estaacute dentro de
nuestro diario vivir cuando realizamos transacciones en internet de manera segura Como parte de
la investigacioacuten en este trabajo se describen los tipos de criptografiacutea y criptoanaacutelisis tambieacuten se
analizan los niveles de seguridad de sistemas operativos asiacute como los meacutetodos de agrupamiento
de computadoras para implementar con la ayuda de esta herramienta de una manera maacutes raacutepida
criptoanaacutelisis a un sistema operativo con un nivel de seguridad C1
Palabras clave cluacutester seguridad criptoanaacutelisis
vi
Abstract
This work begins with a review of the importance of security in any aspect of life and
especially in the workplace specifically in the computer area Later this work speaks briefly about
how cryptography has been present at important moments in the life of the human being especially
in the military field in which it has been fundamental to allow secure communications Currently
cryptography is inside our daily life when we conduct transactions on the internet in a secure
manner As part of the research in this work the types of cryptography and cryptanalysis are
described as well as the security levels of operating systems and above all the main methods of
computers clustering to implement a system with a faster method of cryptanalysis in an operative
system with a security level C1
Keywords cluster security cryptanalysis
vii
Iacutendice de Contenido
Descargo de Responsabilidad Institucional ii
Dedicatoria iii
Agradecimientos iv
Resumen v
Abstract vi
Iacutendice de Contenido vii
Iacutendice de Figuras x
Iacutendice de Tablas xi
Capiacutetulo 1 Introduccioacuten 1 11 Antecedentes del problema 1
12 Planteamiento del Problema 4
13 Objetivos 6
131 Objetivo General 6
132 Objetivos Especiacuteficos 6
14 Justificacioacuten 7
15 Hipoacutetesis 7
16 Alcances y Limitaciones 8
17 Impacto Social Tecnoloacutegico Econoacutemico y Ambiental 8
171 Impacto social 8
172 Impacto ambiental 9
173 Impacto econoacutemico 10
18 Metodologiacutea a Utilizar 10
181 Anaacutelisis 10
182 Disentildeo 10
1821 Economiacutea 10
1822 Instalaciones 10
1823 Escalabilidad 11
1824 Red 11
1825 Software 11
1826 Almacenamiento 12
183 Implementacioacuten 12
1831 Software 12
1832 Hardware 13
1833 Recursos totales del cluacutester 13
19 Aseguramiento Teacutecnico ndash Material 13
191 Hardware 14
viii
1911 Equipo de coacutemputo 14
Capiacutetulo 2 Estado del Arte 16
Marco Teoacuterico 27 21 Seguridad de la Informacioacuten 27
211 Objetivo de la seguridad de la informacioacuten 27
212 Principios de la seguridad informaacutetica 28
213 Caracteriacutesticas de seguridad informaacutetica 28
214 Formas de Autenticacioacuten 29
215 Ciber-seguridad 29
22 Criptografiacutea 30
221 Tipos de Criptografiacuteas 30
2211 Tablas Hash 30
2212 Tipos de algoritmos Hash 31
22121 SHA - 1 (Secure Hash Algorithm) 31
22122 MD5 (Message Digest Algorithm) 31
22123 RIPEMD ndash 160 32
22124 Funcioacuten Merkle-Damgaringrd 32
2213 Cifrado simeacutetrico 32
22131 RC5 (Cifrado de Rivest) 33
22132 IDEA (International Data Encryption Algorithm) 33
22133 DES (Data Encryption Standard) 34
2214 Cifrado asimeacutetrico 35
22141 DSA (Digital Signature Algorithm - Algoritmo de Firma digital) 36
22142 RSA 37
2215 Cifrado hiacutebrido 38
23 Criptoanaacutelisis 38
24 Niveles de seguridad 39
241 Nivel D1 40
242 Nivel C1 40
243 Nivel C2 41
244 Nivel B1 42
245 Nivel B2 43
246 Nivel B3 44
247 Nivel A1 45
25 Sistemas Operativos 46
251 Windows 47
252 Registro de Windows 48
253 Administrador de cuentas de seguridad 49
2531 Identificador de Seguridad (SID Security Identifier) 50
254 Autenticacioacuten NTML 51
26 LINUX (ROCKS) 52
261 Escritorio 53
262 Paquete de Oficina 53
263 Organizador de archivos 54
27 Agrupamiento (Cluacutester) de Computadoras 55
271 Beowulf 56
ix
272 Mosix 56
273 OpenMosix 57
Capiacutetulo 3 Implementacioacuten de Cluacutester 59 31 Requisitos previos 59
311 Conexioacuten de los equipos y acceso a la red 59
312 Configuracioacuten de la BIOS 60
3121 ATAIDE Mode 60
3122 PXE 62
32 Instalacioacuten de Sistema Operativo Rocks 63
321 Configuracioacuten del teclado 70
33 Instalacioacuten de los nodos 70
331 Administracioacuten de nodos 72
332 Creacioacuten de cuentas de usuario 73
333 Configuracioacuten del directorio compartido 73
34 Operaciones baacutesicas de Rocks 74
Capiacutetulo 4 Metodologiacutea y Resultados 77 41 Obtener Archivo hash 77
42 Dar Formato al Hash 80
43 Evaluar la fuerza del Hash 80
44 Calcular la capacidad del equipo 82
45 Establecer Estrategia 87
451 Fuerza Bruta 87
4511 Cantidad de combinaciones posibles 88
452 Diccionario 90
453 Analizar los resultados 91
454 Personalizar ataques 91
Conclusioacuten 92
Trabajo Futuro 94 Propuesta de Trabajo a Futuro 94
Bibliografiacutea 96
Anexo 1 102
x
Iacutendice de Figuras
Figura 31 Esquema tiacutepico de configuracioacuten de un cluacutester xi
Figura 32 Imagen del Bios del equipo en la opcioacuten ldquodrive configurationrdquo 61
Figura 33 Bios ATAIDE Legacy Mode 61
Figura 34 Bios Boot PXE 62
Figura 35 Bios Boot device prioriry 63
Figura 36 Pantalla de Inicio de instalacioacuten de Rocks 64
Figura 37 Pantalla de seleccioacuten de Rolls 65
Figura 38 Listado de opciones de rolls para instalar 65
Figura 39 Informacioacuten baacutesica del cluacutester a instalar 66
Figura 310 Configuracioacuten Ethernet de la red privada 67
Figura 311 Configuracioacuten Ethernet de la red puacuteblica 67
Figura 312 Configuracioacuten de DNS y Gateway 68
Figura 313 Ingresar contrasentildea de usuario root 68
Figura 314 Configuracioacuten horaria 69
Figura 315 Particiones del disco duro 69
Figura 316 Pantalla para ingresar nodos 71
Figura 317 Indicador de insercioacuten de nuevos nodos 71
Figura 318 Comando qstat ndashf 74
Figura 319 Enviacuteo de trabajos por medio del comando qsub 75
Figura 320 Estado de los trabajos pendientes mostrados por qstat ndashf 75
Figura 321 Visualizacioacuten de la distribucioacuten de cargas en el cluacutester usando la herramienta
Ganglia 76
Figura 41 Arranque con LiveUSB KaliLinux 79
Figura 42 Resultado de la ejecucioacuten de la herramienta samdump2 80
Figura 43 Sistema de Ecuaciones tipo 119860119909 = 119887 Fuente Propia 84 Figura 44 Distribucioacuten de cargas del cluacutester 86
Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester 89
xi
Iacutendice de Tablas
Tabla 11 Costo del Proyecto 15
Tabla 41 Rendimiento de HP cluacutester (Fuente Elaboracioacuten propia) 86
Tabla 42 Resultados de criptoanaacutelisis de archivo SAM (Fuente Elaboracioacuten propia) 89
Tabla 43 Resultados de ejecucioacuten de programa en C para la obtencioacuten de nuacutemeros primos
(Fuente Elaboracioacuten propia) 90
1
Capiacutetulo 1 Introduccioacuten
11 Antecedentes del problema
Sin lugar a duda una de las herramientas maacutes importantes producida en el siglo XX ha sido
la computadora la cual ha provocado cambios vertiginosos en la sociedad y en el progreso de la
misma En la actualidad el entorno estaacute praacutecticamente controlado por las nuevas tecnologiacuteas que
a medida que transcurre el tiempo avanzan sin liacutemites y en ocasiones son utilizadas
incorrectamente provocando dantildeos de grandes dimensiones
Los trascendentales cambios operados en el mundo moderno caracterizados por su
constante desarrollo la acelerada globalizacioacuten de la economiacutea la acentuada dependencia a
almacenar grandes voluacutemenes de informacioacuten y los sistemas que la proveen aunado a grandes
inversiones de las empresas en conocimiento actual y futuro en sistemas de informacioacuten ademaacutes
del potencial que poseen las tecnologiacuteas para cambiar draacutesticamente las organizaciones y las
praacutecticas de negocio asiacute como crear nuevas oportunidades disentildear nuevas estructuras tecnoloacutegicas
basadas en informacioacuten la convierte en un activo codiciable Tales avances hacen permanente el
riesgo en las tecnologiacuteas y nos llevan a pensar en la problemaacutetica sobre la seguridad informaacutetica
La proteccioacuten de datos documentos y control de acceso a la informacioacuten es un tema que
cada diacutea toma maacutes fuerza en las grandes compantildeiacuteas debido a las diferentes praacutecticas de
especialistas tecnoloacutegicos como los son los hackers y crackers que roban informacioacuten vital para
posteriormente sacar provecho de ella
2
ldquoDesde la aparicioacuten de los grandes sistemas aislados hasta nuestros diacuteas en los que el
trabajo en red es lo habitual los problemas derivados de la seguridad de la informacioacuten han ido
tambieacuten cambiando evolucionando pero estaacuten ahiacute y las soluciones han tenido que ir adaptaacutendose
a los nuevos requerimientos teacutecnicos Aumenta la sofisticacioacuten en el ataque y ello aumenta la
complejidad de la solucioacuten pero la esencia es la mismardquo (Mifsud 2012)
Dentro del mundo actual la informacioacuten es denominada un activo importante de una
institucioacuten la cual debe ser protegida para evitar su peacuterdida modificacioacuten o el uso inadecuado de
su contenido
El extraviacuteo o el mal uso de informacioacuten que para alguien es confidencial genera dantildeos y
repercusiones directas relacionadas a la integridad disponibilidad y confidencialidad de los
archivos y a su vez a los duentildeos de dicha informacioacuten
ldquoLa seguridad informaacutetica se distingue por tener dos propoacutesitos de seguridad la Seguridad
de la Informacioacuten y la Proteccioacuten de Datos estos se diferencian debido a que los datos son valores
numeacutericos que soportan la informacioacuten mientras que la informacioacuten es aquello que tiene un
significado para nosotrosrdquo (Gonzaacutelez Agudelo 2014)
La seguridad informaacutetica consiste en asegurar que los recursos del sistema de informacioacuten
(material informaacutetico o programas) de una organizacioacuten sean utilizados de la manera que se decidioacute
3
inicialmente y que el acceso a la informacioacuten alliacute contenida asiacute como su modificacioacuten soacutelo sea
posible a las personas que se encuentren acreditadas y dentro de los liacutemites de su autorizacioacuten
Actualmente hay mucha informacioacuten circulando en internet por ejemplo correos
electroacutenicos publicaciones en Twitter Facebook videos fotos comercio electroacutenico secretos de
estado militares o industriales Lamentablemente dicha red es puacuteblica e insegura dentro de la cual
existen usuarios bien intencionados y muchos mal intencionados Diariamente encontramos
noticias de sitios con intrusiones mal intencionadas (hackeados) clonacioacuten de tarjeta de creacutedito o
imaacutegenes adulteradas Todo lo anterior motiva la necesidad de proteger la informacioacuten a traveacutes de
mecanismos que impidan a los usuarios no autorizados acceder a dicha informacioacuten
4
12 Planteamiento del Problema
Los sistemas de informacioacuten actuales estaacuten relacionados completamente con la exposicioacuten
de su informacioacuten a entidades externas que son ajenas a la organizacioacuten o delegacioacuten a la que
pertenecen
Cuando no se conoce el alcance que tienen los sistemas informaacuteticos ni lo vulnerables que
pueden ser si son expuestos a Internet por los mismos empleados de la organizacioacuten puede darse
ldquofugardquo de informacioacuten hacia el exterior esto los hace vulnerables a eventos y amenazas que
conllevan a riesgos que pueden provocar peacuterdidas tangibles e intangibles las cuales se traducen
en peacuterdidas que en muchos de los casos por decir lo menos seraacuten monetarias
El portal espantildeol de estadiacutesticas statista muestra la cuota de mercado de los principales
sistemas operativos a nivel mundial a fecha de febrero de 2017 seguacuten el nuacutemero de instalaciones
(statista 2017) Windows 10 fue el segundo sistema operativo maacutes instalado con una cuota de
mercado de 253 Esto significa que alrededor de una de cada cuatro computadoras estaacute
gobernado por este sistema operativo Por su parte en el caso de Windows 7 el porcentaje se situacutea
por encima del 45 a pesar de que ya no se vende ninguacuten PC con este sistema operativo Hablando
de manera conjunta los sistemas operativos Windows cuentan con una cuota del mercado global
de 8857
La empresa de seguridad informaacutetica Britaacutenica Avecto informoacute en su Microsoft
Vulnerabilities Report 2017 (Avecto 2017) (reporte 2017 de vulnerabilidades de Windows) un
aumento de vulnerabilidades publicadas del 111 en los uacuteltimos 5 antildeos de las cuales 235 criacuteticas
5
fueron mitigadas removiendo permisos de administrador asiacute como otras muy importantes
enfocadas al Administrador de Cuentas de Seguridad (SAM Security Account Manager por sus
siglas en ingleacutes) la cual es una base de datos almacenada como un archivo del registro en Windows
y que almacena las contrasentildeas de los usuarios en un formato hash (Algoritmos que crean a partir
de una entrada una salida alfanumeacuterica de longitud fija)
6
13 Objetivos
131 Objetivo General A traveacutes de la implementacioacuten de un procedimiento de fuerza
bruta utilizando para ello un cluacutester de alto rendimiento asiacute como software de uso libre lograr
capacidad de procesamiento capaz de vulnerar un sistema de autenticacioacuten nivel C1
132 Objetivos Especiacuteficos
Analizar los diferentes niveles de seguridad de sistemas operativos
Analizar diferentes meacutetodos de criptoanaacutelisis para vulnerar el Administrador de
cuentas de seguridad
Estudiar las teacutecnicas de agrupamiento de computadoras (clustering) para la
obtencioacuten de mayor poder de procesamiento
Implementar un cluacutester de alto rendimiento en el Laboratorio de la Maestriacutea en
Sistemas Computacionales del Instituto Tecnoloacutegico de Acapulco para ejecutar
operaciones de coacutemputo distribuido
7
14 Justificacioacuten
Antes la seguridad de la informacioacuten se realizaba a traveacutes de medios fiacutesicos por ejemplo
una caja fuerte en la cual las personas resguardaban objetos o informacioacuten valiosa para ellos Con
la introduccioacuten de las computadoras y el uso de internet los usuarios comienzan a almacenar
informacioacuten importante dentro de sus equipos por lo que se considera indispensable el uso de
herramientas que brinden proteccioacuten a la informacioacuten que se encuentra resguardada dentro de
eacutestas Los usuarios informaacuteticos suelen enviar informacioacuten por la red en las empresas al realizar
traacutemites o enviar informes a socios jefes entre otros
El resguardo de informacioacuten siempre ha sido importante para los seres humanos con la
diferencia que anteriormente no se contaba con los avances tecnoloacutegicos que tenemos actualmente
puesto que con la introduccioacuten de internet y el uso de dispositivos electroacutenicos se tiene mayor
riesgo de la informacioacuten que en ellos se maneja
La proteccioacuten del contenido de los datos es una necesidad urgente en casi todos los aacutembitos
de la sociedad incluyendo los servicios puacuteblicos y privados por lo que la tecnologiacutea de la
seguridad de los sistemas de cifrado se encuentra de frente a verdaderos retos
15 Hipoacutetesis
A traveacutes de un de fuerza bruta como teacutecnica de criptoanaacutelisis y con la ayuda de una mayor
capacidad de procesamiento mediante la implementacioacuten de agrupamiento de computadoras
(cluacutester) de alto rendimiento seraacute posible encontrar alguna vulnerabilidad dentro del sistema de
administracioacuten de cuentas de seguridad de Windows server 2012
8
16 Alcances y Limitaciones
Esta tesis se centraraacute en el sistema operativo Windows como objeto de estudio al cual se
le realizaraacute el criptoanaacutelisis
La tesis se enfocaraacute en el meacutetodo Beowulf para realizar el agrupamiento de computadoras
asiacute como la distribucioacuten de software libre del sistema operativo Linux Rocks
El nuacutemero de equipos disponibles para poder realizar el agrupamiento es de 17
computadoras hasta lograr el poder de coacutemputo de 800 Gflops
17 Impacto Social Tecnoloacutegico Econoacutemico y Ambiental
La sostenibilidad del presente proyecto seraacute abordada a partir de los siguientes aspectos
171 Impacto social A veces se puede pensar que un cluacutester de alto rendimiento pudiera
no tener alguacuten impacto directo en el medio social pero si nos enfocamos a un punto de vista en
donde gracias a la capacidad de procesamiento de estas maacutequinas han sido parte fundamental en
el desarrollo de proyectos que inciden de manera directa en beneficio de la sociedad en la que
vivimos como lo es la medicina la fiacutesica quiacutemica
Este proyecto busca beneficiar a nuestra sociedad proveyendo su capacidad de
procesamiento en la buacutesqueda de alguna vulnerabilidad en el sistema operativo maacutes utilizado hoy
en diacutea como lo es Windows ademaacutes de que estaraacute disponible para la comunidad cientiacutefica y
9
estudiantil del Instituto Tecnoloacutegico de Acapulco para optimizar tiempo de caacutelculo en futuras
investigaciones
172 Impacto ambiental Green IT tambieacuten conocido como Green Computing o
traducido al espantildeol como Tecnologiacuteas Informaacuteticas Verdes es definido como el estudio y la
praacutectica de disentildear desarrollar usar y disponer de computadoras servidores y diferentes
perifeacutericos tales como monitores impresoras dispositivos de almacenamiento de redes y
comunicaciones eficientemente y efectivamente con un impacto miacutenimo o nulo en el medio
ambiente (Murugesan 2008)
Bajo la premisa anterior este proyecto hace uso de los equipos con los que cuenta
actualmente el laboratorio de la Maestriacutea en Sistemas Computacionales lo cual evitaraacute la
adquisicioacuten de equipo nuevo y por consecuencia desechar el equipo existente evitando desperdicio
electroacutenico Dicho equipo cuenta con un procesador Intel I3 de 4ta generacioacuten lo cual seguacuten el
portal electroacutenico Europa press
ldquoEsta nueva generacioacuten supone el mayor salto en cuanto ahorro energeacutetico de la historia
de Intel asiacute como una mejora en los graacuteficos y nuevas experiencias de usuariordquo (europa press
2013)
Teniendo como base estos dos puntos importantes como lo son la reutilizacioacuten de equipo
y utilizando procesadores de bajo consumo energeacutetico es como este proyecto busca contribuir de
manera positiva con el medio ambiente
10
173 Impacto econoacutemico Actualmente existe una gran necesidad de procesar grandes
cantidades de datos lo cual hace imprescindible disponer de maacutequinas con estas caracteriacutesticas sin
embargo su alta complejidad aunado al gran costo hace que en instituciones de caraacutecter puacuteblico
sea muy complicado conseguir recurso para este fin Sin embargo un cluacutester de alto rendimiento
reutilizaraacute equipo propio evitando asiacute gastos por concepto de adquisicioacuten de equipo siendo de
esta manera viable para instituciones de caraacutecter puacuteblico
18 Metodologiacutea a Utilizar
181 Anaacutelisis Despueacutes de analizar las diferentes metodologiacuteas de clustering se optoacute por
desarrollar e implementar un cluacutester de alto rendimiento (HPC)
182 Disentildeo
1821 Economiacutea Debido a las caracteriacutesticas del equipo con el cual cuenta el Laboratorios
de la Maestriacutea en Sistemas Computacionales los componentes utilizados para este proyecto son
considerados de uso comuacuten y de bajo costo lo cual los hace faacutecilmente reemplazables en caso de
fallo a un costo accesible El equipo es de la marca Acer Aspire modelos AXC-605-M021 lo cual
nos hace tener ventaja y respaldo del fabricante con respecto a hardware geneacuterico
1822 Instalaciones Un cluacutester requiere de un ambiente controlado Esto es una
habitacioacuten especial con sistema de enfriamiento capacidad suficiente de carga eleacutectrica control
de humedad y un ambiente libre de polvo Ademaacutes se deben considerar el peso del equipo sobre
el piso (ya sea falso o piso normal) Se recomienda colocarlo en los soacutetanos o en la plata baja de
edificios (Rocha Quezada Botello Rionda Vargas Feacutelix amp Munguiacutea Torres 2011)
11
En el laboratorio de la Maestriacutea en Sistemas Computacionales se cuenta con espacio que
reuniacutea la mayoriacutea de las caracteriacutesticas requeridas para este proyecto
1823 Escalabilidad Un cluacutester debe ser faacutecilmente escalable y a su vez confiable Por
tal motivo se ha utilizado equipo de marca lo cual nos proporciona maacutes de confiabilidad en su
desempentildeo y a su vez facilidad de aumentar el nuacutemero de equipos si en un futuro fuese necesario
agrandar este proyecto Se armoacute un cluacutester de cinco computadoras con procesadores Intel Core I3
de 64 bits en cada nodo La memoria incluida y perifeacutericos son faacuteciles de adquirir en el mercado
1824 Red En la parte de redes se utilizoacute un switch fast Ethernet con una velocidad de 1
Gbps el cual tiene tazas de transferencia raacutepida y el costo es notablemente maacutes econoacutemico que
uno de fibra oacuteptica
El cableado seleccionado fue el estaacutendar UTP de cobre con la norma Gigabit Ethernet de
IEEE 8023ab con la categoriacutea de cableado 6e que soporta tazas de transferencia de datos de
1000Base T (1 Gbps)
1825 Software
ldquoEl sistema operativo debe constar con servicios dedicados para compartir y respaldar
archivos asiacute como capacidad de acceder a los datos de trabajo raacutepidamente El sistema operativo
debe tambieacuten proveer servicios de monitoreo y reporte de fallas en el sistemardquo (Rocha Quezada
Botello Rionda Vargas Feacutelix amp Munguiacutea Torres 2011)
12
Existe una gran variedad de software para instalar cluacutester de alto rendimiento sin embargo
como se ha comentado con anterioridad el costo de adquisicioacuten debe ser accesible por tal motivo
se optoacute por una distribucioacuten con licencia GNU de Linux Rocks Cluster la cual es una distribucioacuten
sencilla de instalar y configurar en comparacioacuten con otras distribuciones analizadas dicha
distribucioacuten estaacute basada en CentOS que a su vez estaacute basada en la conocida distribucioacuten de Linux
Red Hat
1826 Almacenamiento Para este proyecto no se requeriraacute un gran espacio de
almacenamiento por tal motivo los equipos utilizados tanto maestro como esclavos mantuvieron
sus unidades de disco originales las cuales son de 1 TB de almacenamiento
183 Implementacioacuten La implementacioacuten del cluacutester de alto rendimiento fue realizada
dentro de las instalaciones del Laboratorio de la Maestriacutea en Sistemas Computacionales del
Instituto Tecnoloacutegico de Acapulco construido inicialmente para este proyecto de criptoanaacutelisis lo
cual requeriraacute suficiente capacidad de procesamiento para poder implementar ataques de fuerza
bruta a sistemas operativos Las caracteriacutesticas del cluacutester construido son
1831 Software El software instalado en cada uno de los nodos es el siguiente
bull Sistema operativo Rocks Cluacutester Linux 74 (64 bits)
bull Libreriacutea de manejo de mensajes Open-MPI 153
bull Software de monitoreo Ganglia
13
1832 Hardware El cluacutester estaacute compuesto de 17 equipos con las siguientes
caracteriacutesticas
bull Nodo Maestro y 16 Nodos Esclavos
- Procesador Intel Core I3 4150 (4 nuacutecleos) Memoria 6 GB Disco Duro SATA 1 TB
tarjeta de Red Gigabit Ethernet
El hardware adicional es el siguiente
bull Interconexioacuten de Red
bull Switch Cisco 26 puertos 1Gbps modelo SG200 Red interna
1833 Recursos totales del cluacutester
bull Nuacutecleos de unidades de procesamiento (cores) 68
bull Capacidad en memoria 92 GB
bull Capacidad en disco 17 TB
19 Aseguramiento Teacutecnico ndash Material
A continuacioacuten se muestra el desglose del equipo utilizado para la elaboracioacuten de un
cluacutester de alto rendimiento estos componentes consisten en Hardware y Software especializado
asiacute como los costos de produccioacuten y personal involucrados en la metodologiacutea y elaboracioacuten del
proyecto
Costos de Hardware
Costos de Software
14
191 Hardware En este punto se refleja el costo de los dispositivos y herramientas a nivel
fiacutesico las cuales sirvieron para la implementacioacuten del proyecto cluacutester de alto rendimiento Cabe
resaltar que el equipo utilizado forma parte del inventario actual del Laboratorio motivo por el
cual su utilizacioacuten no causoacute erogacioacuten alguna sin embargo la investigacioacuten de costos se realizoacute
con la finalidad que el lector pueda establecer comparativas y buscar alternativas en caso de ajuste
de presupuesto
1911 Equipo de coacutemputo El equipo de coacutemputo utilizado consta de diecisiete
computadoras las cuales serviraacuten una para Nodo Maestro y las dieciseacuteis restantes como Nodos
Esclavos
La descripcioacuten de estos equipos se muestra en la tabla a continuacioacuten mostrando los costos
de todos los equipos utilizados dentro del proyecto
15
Tabla 11 Costo del Proyecto
Modelo
Cantidad
Caracteriacutesticas
Costos
PC - Acer AXC-
605
17
Procesador Intel Core i3
Pantalla 156rdquo
Disco duro 1TB HDD
RAM 6GB
Salida HDMI
Tarjeta de graacuteficos INTEGRADA
Lector de CD
Los costos en el mercado de una PC de
escritorio con estas caracteriacutesticas tiene un
valor aproximado de $600000 pesos
(Moneda nacional Mexicana)
Switch Cisco
Gigabit Ethernet
1
Modelo SG200 de 26 puertos
Costo en el mercado alrededor de
$2000000 pesos MN
Total
12200000 pesos MN
16
Capiacutetulo 2 Estado del Arte
Tiacutetulo del Trabajo Introduccioacuten a la Criptografiacutea
Autor Gibraacuten Granados Paredes
Fecha Julio 2010
Lugar Ciudad de Meacutexico
Publicado en Coordinacioacuten de Publicaciones Digitales DGSCA-UNAM
httpwwwrevistaunammxvol7num7art55int55htm
Siacutentesis Cuando se desea tener seguridad hablando en aacutembitos informaacuteticos la
criptografiacutea es una herramienta muy uacutetil el autor lo entiende tambieacuten como un medio para
garantizar las propiedades de confidencialidad integridad y disponibilidad de los recursos de un
sistema
Con la criptografiacutea se puede garantizar las propiedades de integridad y confidencialidad
pero hay que saber coacutemo utilizarla para ello es importante tener claros los conceptos baacutesicos que
estaacuten detraacutes de los sistemas criptograacuteficos modernos Estos conceptos van desde entender queacute es
la criptografiacutea coacutemo estaacute clasificada entender el funcionamiento baacutesico de algunos sistemas de
cifrado y conocer coacutemo se forman los documentos digitales como firmas y sobres digitales
Resultados El autor realiza un viaje por un gran nuacutemero de conceptos utilizados en
criptografiacutea el inicio y la clasificacioacuten de la misma asiacute como la criptografiacutea claacutesica y moderna y
analiza de manera breve algunos meacutetodos de cifrado maacutes comunes
17
Tiacutetulo del Trabajo Criptoanaacutelisis sobre meacutetodos claacutesicos de cifrado
Autores Sebastiaacuten Goacutemez Juan David Arias Diego Agudelo
Fecha 2 de mayo 2013
Lugar Ciudad de Meacutexico
Publicado en Scientia et Technica Antildeo XVII No 50 abril de 2012
Siacutentesis Los algoritmos criptograacuteficos utilizados desde la antigua Roma hasta nuestros
diacuteas son meacutetodos que convierten un mensaje de texto plano a cifrado al proceso inverso se le
conoce como descifrar Este artiacuteculo realiza un estudio de algunas teacutecnicas de encriptacioacuten claacutesicas
del siglo pasado como lo son el cifrado de Cesar y el cifrado de Vigeneacutere asiacute como muestra
teacutecnicas baacutesicas y modernas de criptoanaacutelisis basadas en la teoriacutea de la informacioacuten y estadiacutestica
como lo son la entropiacutea y el ataque de maacutexima correlacioacuten Las teacutecnicas de criptoanaacutelisis descritas
anteriormente pueden ser usadas en otros meacutetodos de cifrado siempre y cuando esteacuten presentes las
mismas debilidades
Resultados Los autores implementaron en lenguajes de programacioacuten Python un
algoritmo para el caacutelculo de entropiacutea para diferentes longitudes de clave Para la implementacioacuten
de los algoritmos de cifrado y descifrado de Vigeneacutere y de maacutexima correlacioacuten utilizaron lenguaje
de programacioacuten C++ Se probaron los meacutetodos anteriormente descritos sobre textos planos de
diferentes longitudes logrando un resultado de 9385 de efectividad en promedio
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de dos de los
algoritmos de encriptacioacuten maacutes antiguos y baacutesicos pero sobre todo que conociendo los meacutetodos
de criptoanaacutelisis me permitiraacuten analizar debilidades y fortalezas de algoritmos
18
Tiacutetulo del Trabajo ULTRACOM Computacioacuten de Alto Rendimiento para Criptoanaacutelisis
Autor Antonio Castro Lechtaler Alejandro Repetto Martiacuten Bianchi Marcelo Cipriano
Alejandro Arroyo Arzubi Ceacutesar Cicerchia Eduardo Malvacio
Fecha octubre 2014
Lugar Buenos Aires Argentina
Publicado en XX Congreso Argentino de Ciencias de la Computacioacuten (Buenos Aires
2014)
Siacutentesis La generacioacuten de nuacutemeros primos fundamentales para la produccioacuten de claves
el anaacutelisis de secuencias pseudo-aleatorias los procesos de verificacioacuten y validacioacuten de algoritmos
de seguridad en un sentido geneacuterico requieren enormes cantidades de procesamiento Los
procesos relacionados con la matemaacutetica criptograacutefica se caracterizan por la alta necesidad de
coacutemputo El objetivo de ULTRACOM es desarrollar una computacioacuten distribuida multipropoacutesito
que permita como primera aplicacioacuten real el anaacutelisis la validacioacuten y la ejecucioacuten de pruebas de
estreacutes sobre sistemas criptograacuteficos El presente trabajo de investigacioacuten detalla el proceso de
desarrollo de ULTRACOM y muestra un ejemplo de su implementacioacuten en una versioacuten Beta Para
ello toman como entrada dos versiones del algoritmo Trivium Utilizando la misma
infraestructura y sin desarrollo extra se prueban grandes voluacutemenes de claves y vectores de
inicializacioacuten de los algoritmos en busca de secuencias deacutebiles de menor longitud que la de la
buscada
Resultados El equipo implementoacute una versioacuten beta de la plataforma ULTRACOM
comprobando la factibilidad y viabilidad teacutecnica de la generalizacioacuten de la infraestructura de
computacioacuten distribuida en grilla (malla) BOINC Este avance permite extender los horizontes de
BOINC y habilita la posibilidad de obtener la capacidad de coacutemputo de alto rendimiento a bajo
19
costo Concluyeron que ULTRACOM es un proyecto viable escalable y de alto impacto para la
evaluacioacuten y validacioacuten de algoritmos criptograacuteficos
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento y la
implementacioacuten de una arquitectura de computacioacuten distribuida y una vez siendo factible su
desarrollo utilizar su poder de coacutemputo atacando a traveacutes de un algoritmo un sistema criptograacutefico
20
Tiacutetulo del Trabajo Criptografiacutea Cuaacutentica
Autor M Baig
Fecha 2010
Lugar Barcelona Espantildea
Siacutentesis En este artiacuteculo el autor realiza una breve introduccioacuten a la criptografiacutea claacutesica y
la relacioacuten que existe con la teoriacutea de la informacioacuten de Shannon la cual asegura que el cifrado
digital simeacutetrico es secreto y perfecto siempre y cuando se cumplan los tres requisitos
1 La llave ha de ser aleatoria
2 La llave debe usarse soacutelo una vez
3 La llave ha de ser tan larga como el mensaje y de un solo uso debe de estar en posesioacuten
tanto del emisor como del receptor
El punto 3 es el maacutes complicado de cumplir debido a la forma de compartir la llave entre
el emisor y receptor
Maacutes adelante en el artiacuteculo se hace un anaacutelisis sobre otra teacutecnica de criptografiacutea que es el
cifrado digital asimeacutetrico en la que se estudia coacutemo funcionan las llaves privadas y puacuteblicas asiacute
como el meacutetodo de criptograacutefico RSA
Resultados
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento maacutes profundo de
los meacutetodos de criptografiacutea simeacutetricos y asimeacutetricos especiacuteficamente el algoritmo asimeacutetrico
RSA
21
Tiacutetulo del Trabajo La Criptografiacutea Maderista en la Revolucioacuten Mexicana (1910-1911)
Criptoanaacutelisis de una carta cifrada por Gabriel Leyva Solano
Autor Roberto Narvaacuteez
Fecha 2011
Lugar Meacutexico DF
Siacutentesis Este trabajo aborda temas relacionados con las comunicaciones secretas del
movimiento revolucionario comandado por Francisco I Madero a partir de 1910 Se compone de
dos partes la primera es una breve resentildea criacutetica de ejemplos criptograacuteficos del maderismo que
fueron generados entre 1910 y 1911 la segunda describe paso a paso el criptoanaacutelisis que aplicoacute
el autor Roberto Narvaacuteez para desencriptar una carta parcialmente cifrada de Gabriel Leyva Solano
a Francisco I Madero
Resultados El propoacutesito general uacuteltimo es contribuir al conocimiento de la criptografiacutea
mexicana en el siglo XX En lo particular se trata de poner a disposicioacuten de los estudiosos el
contenido completo de la carta de Leyva Solano por primera vez despueacutes de 100 antildeos y al mismo
tiempo someter a la criacutetica teacutecnica e histoacuterica el procedimiento criptoanaliacutetico puesto en operacioacuten
para recuperar el texto plano
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de la teacutecnicas y
estudios realizados en nuestro paiacutes sobre formas y meacutetodos de encriptacioacuten durante la Revolucioacuten
Mexicana incluso mucho antes de la 2ordf Guerra mundial momento donde se registroacute un auge
importante dentro de la criptografiacutea moderna
22
Tiacutetulo de Tesis Anaacutelisis de la programacioacuten concurrente sobre la cpu y gpu en el
desarrollo de fractal build
Autor Joseacute Vicente Anilema Guadalupe
Fecha 2012
Lugar Riobamba Ecuador
Siacutentesis Este trabajo aborda temas relacionados con la geometriacutea euclidiana debido a que
el autor realiza una aplicacioacuten que crea paisajes fractales lo que significa crear un paisaje con una
misma figura geomeacutetrica Lo anterior se traduce en una necesidad de gran poder de coacutemputo para
realizar de una manera eficaz la tarea Dentro de la tesis el autor realiza diversos estudios
comparativos entre el procesamiento serializado realizado por una CPU (unidad central de
procesamiento) y procesamiento paralelizado realizado por una GPU (Unidad grafica de
procesamiento) a traveacutes de diversas herramientas para obtener el mejor aprovechamiento de los
recursos
Resultados El autor concluye que es necesario examinar los algoritmos a utilizar para que
estos puedan ser utilizados en coacutemputo paralelo Ademaacutes de que es necesario aprender ciertas
herramientas a utilizar para aprovechar al maacuteximo el coacutemputo distribuido y no desperdiciar el
poder de procesamiento muy superior que las GPUrsquos nos pueden brindar
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de la teacutecnicas y
estudios realizados para medir y comparar la velocidad de procesamiento de la unidad central de
procesamiento (CPU) y la unidad graacutefica de procesamiento (GPU) Asiacute como la medida en Flops
(Operaciones de punto flotante por segundo)
23
Tiacutetulo del Trabajo Arquitectura cluacutester de alto rendimiento utilizando herramientas de
software libre
Autores Leonardo Chiquiguanca Edyson Malla Freddy Ajila Rene Guamaacuten-Quincheacute
Fecha mayo 2015
Lugar Loja Ecuador
Siacutentesis Este trabajo aborda temas relacionados con la gran cantidad de datos que tienen
que procesar las universidades puacuteblicas dentro de sus investigaciones realizadas en diferentes aacutereas
como la ingenieriacutea medicina etc y la carencia de recursos econoacutemicos para obtener
supercomputadoras que procesen dicha informacioacuten Los autores proponen dentro de su
investigacioacuten la utilizacioacuten de equipo de coacutemputo existente dentro de su universidad y por medio
de software libre realizar agrupamiento de computadoras para poder lograr el procesamiento de
grandes voluacutemenes de datos de una manera accesible
Resultados Los autores concluyen que la mejor arquitectura para el agrupamiento
(cluacutester) de computadoras en ambientes universitarios es la arquitectura Beowulf debido a que la
implementaron en hardware convencional existente dentro de su campus universitario y que
ademaacutes usaron software libre mencionando que el poder de coacutemputo logrado fue muy cercano al
de una supercomputadora
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de las teacutecnicas
utilizadas en ambientes universitarios para la realizacioacuten de agrupamiento de computadoras y
sobre todo la optimizacioacuten de costos para realizar dicha tarea y tener como finalidad el lograr
mayor capacidad de procesamiento
24
Tiacutetulo de Tesis Desarrollo de un algoritmo de cifrado simeacutetrico de resumen
Autores Jonathan Dave Orjuela Navarrete
Antildeo 2008
Lugar Bogotaacute DC
Siacutentesis Esta tesis realiza un estudio de varios meacutetodos de criptografiacutea simeacutetrica para
posteriormente utilizando diferentes foacutermulas matemaacuteticas crear un algoritmo criptograacutefico
nuevo Dentro de la tesis utiliza dos meacutetodos para realizar pruebas a su algoritmo criptoanaacutelisis
diferencial y criptoanaacutelisis basado en fallos de hardware Dentro de los cuales hace un estudio
detallado de las teacutecnicas y herramientas de criptoanaacutelisis realizado a su algoritmo
Resultados El autor concluye de manera positiva con la realizacioacuten del algoritmo y de
manera satisfactoria con la realizacioacuten de criptoanaacutelisis a su algoritmo pudiendo demostrar la
fortaleza del algoritmo a traveacutes de ejemplo de cifrado con textos claro muy parecido y su
conversioacuten a cadenas completamente diferentes
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de criptoanaacutelisis diferencial y criptoanaacutelisis basado en fallos de hardware para la
evaluacioacuten de algoritmos de cifrado simeacutetrico de textos claros
25
Tiacutetulo del Trabajo Firt step in a Pc cluster development with openMosix
Autores Javier Bilbao Gorka Garate
Antildeo 2008
Lugar Bilbao Spain
Siacutentesis En este trabajo se afirma que es posible hacer maacutequinas de alta capacidad de
caacutelculo mediante la interconexioacuten de equipos con redes de alta velocidad A este tipo de sistemas
se les llama sistemas distribuidos y hoy en diacutea es la tecnologiacutea maacutes utilizada para resolver
problemas que requieren una gran capacidad de caacutelculo La agrupacioacuten de computadoras permite
que varias computadoras trabajen juntas para resolver los problemas de informaacutetica comuacuten Este
artiacuteculo centra su estudio en uno de los diferentes meacutetodos de agrupamiento de computadoras
openMosix El trabajo tambieacuten evaluacutea el cluacutester por dos casos de estudio donde se mejora el
tiempo de ejecucioacuten de los problemas resueltos
Resultados El autor del artiacuteculo concluye con la realizacioacuten satisfactoria de agrupamiento
de computadoras bajo el meacutetodo openMosix el cual uacutenicamente permite agrupamiento de la forma
SSI (Single System Image) que se refiere a que uacutenicamente se puede realizar el agrupamiento con
todos los nodos ejecutando un mismo sistema operativo
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de agrupamiento de computadoras openMosix ventajas desventajas y dificultades para
su implementacioacuten
26
Tiacutetulo del Trabajo Disentildeo e implementacioacuten de un cluacutester tipo Beowulf para el desarrollo
de coacutemputo cientiacutefico avanzado
Autores Edgar Rubeacuten Gonzaacutelez Ramiacuterez Abimael Rodriacuteguez Saacutenchez
Antildeo 2008
Lugar Instituto Politeacutecnico Nacional Meacutexico DF
Siacutentesis Este trabajo de tesis ha desarrollado e implementado una herramienta
computacional llamada Cluster Beowulf para mejorar la programacioacuten paralela Comenzando
con la memoria compartida y distribuida el autor implemento el agrupamiento tipo Beowulf
pensando en procesamiento paralelo la optimizacioacuten de las fuentes informaacuteticas El disentildeo se
construye mediante una distribucioacuten Linux Fedora Core 6 a 64 bits utilizando todas las ventajas
que ofrece el estaacutendar Gigabyt Ethernet La programacioacuten paralela fue desarrollada en lenguaje C
tanto para MPI como para OPENMP
Resultados El autor del artiacuteculo concluye que de acuerdo con los resultados el tiempo
de procesamiento se redujo con el uso muacuteltiples nuacutecleos mejoroacute hasta ocho veces gracias al
multihilo
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de agrupamiento de computadoras Beowulf y su implementacioacuten en sistemas operativos
de uso libre Linux distribucioacuten Fedora 6
27
Marco Teoacuterico
21 Seguridad de la Informacioacuten
La Seguridad de la Informacioacuten consiste y hace referencia a la proteccioacuten de cualquier
amenaza para salvaguardar los activos fijos y en especial toda informacioacuten de la cual estaacute basada
la continuidad de las operaciones de la empresa sean estas ocasionadas dentro o fuera de la misma
con esto se logra disminuir los dantildeos y perjuicios que estas amenazas causariacutean a la organizacioacuten
y a la vez aumentar las oportunidades de servicio hacia otras empresas
La Seguridad de la informacioacuten se consigue mediante la implementacioacuten de controles
efectivos que pueden ser normas manual de funciones buenas praacutecticas procedimientos
estructuras organizativas funciones de software y hardware planes de contingencia y herramientas
que se encargan de proteger la privacidad e integridad de la informacioacuten que se almacena en un
sistema informaacutetico Estos controles necesitan continuamente ser establecidos monitoreados
revisados y mejorados en donde sea necesario para asegurar que se cumplan los objetivos
especiacuteficos de seguridad en cada aacuterea de negocio de la organizacioacuten
La seguridad informaacutetica es en realidad una rama de la seguridad de la informacioacuten aunque
de forma praacutectica algunos autores suelen utilizar de manera indistinta ambos teacuterminos
211 Objetivo de la seguridad de la informacioacuten En la seguridad de la informacioacuten
sabiendo que dichos procesos de seguridad permiten proteger el recurso maacutes importante y valioso
de una organizacioacuten partiendo como principio fundamental los procesos de aseguramiento el
28
objetivo del proceso de seguridad informaacutetica es obtener un nivel aceptable de seguridad ya que
la informacioacuten es lo maacutes valioso que tiene una institucioacuten o empresa por lo tanto esta debe ser
protegida para que no sea vulnerable y utilizada para fines maliciosos
212 Principios de la seguridad informaacutetica
Confidencialidad Los datos solo deben ser conocidos y accedidos por quienes esteacuten
autorizados durante su almacenamiento procesamiento o trasmisioacuten Verificar y certificar que solo
los usuarios con accesos autorizados puedan acceder a la informacioacuten
Integridad Los datos solo pueden ser modificados y eliminados por quienes esteacuten
autorizados para ello es decir los sistemas y aplicaciones solo deben ser operados por personal
autorizado
Disponibilidad Los sistemas que almacenan datos e informacioacuten deben garantizar su
acceso cuando asiacute se requiera por quienes tengan derecho a ello
213 Caracteriacutesticas de seguridad informaacutetica
Control Solo los usuarios autorizados deciden cuaacutendo y coacutemo permitir el acceso a la
informacioacuten
Auditoriacutea Establece las acciones cuaacutendo las implementa y quieacuten las realiza sobre el
sistema
Autenticidad Define que la informacioacuten necesaria es correcta utilizable y vaacutelida en tiempo
y forma
No Repudio Su funcioacuten es evitar que alguna entidad que envioacute o recibioacute informacioacuten
alegue que no lo hizo
29
214 Formas de Autenticacioacuten
Contrasentildea Una contrasentildea es un tipo de seguridad informaacutetica ya que es una serie de
caracteres secretos que permiten a un usuario tener acceso a un archivo equipo de coacutemputo o
programa y negar el acceso a usuarios no autorizados
Certificado digital Es un tipo de seguridad informaacutetica que permite la firma digital
electroacutenica que garantiza teacutecnica y legalmente la identidad de una persona en Internet
Autenticacioacuten HTTP Tipo de seguridad informaacutetica que delega la autenticacioacuten de
usuarios a un servidor a traveacutes de Kerberos
215 Ciber-seguridad Con los avances tecnoloacutegicos y la demanda que ha causado en ello
existe un elevado iacutendice de informacioacuten personal y empresarial que circula y se mantiene en la red
por la utilizacioacuten del internet esto permite que toda informacioacuten quede expuesta a cualquier ataque
de ciber-delincuentes los cuales buscan la manera de vulnerar cualquier sistema para espiar robar
informacioacuten o hacer dantildeo de cualquier tipo por lo que se ha visto la necesidad de tomar medidas
de seguridad para salvaguardar la informacioacuten ya que es muy importante
La ciberseguridad es la proteccioacuten de los sistemas conectados a Internet incluidos el
hardware el software y los datos de los ciberataques En un contexto informaacutetico la seguridad
comprende la ciberseguridad y la seguridad fiacutesica ambas son utilizadas por las empresas para
proteger contra el acceso no autorizado a los centros de datos y otros sistemas de coacutemputo El
objetivo de la ciberseguridad es limitar el riesgo y proteger los activos de Tecnologiacuteas de
Informacioacuten de los atacantes con intenciones maliciosas La seguridad de la informacioacuten estaacute
30
disentildeada para mantener la confidencialidad integridad y disponibilidad de los datos es un
subconjunto de la ciberseguridad
22 Criptografiacutea
La Criptografiacutea tambieacuten llamada ldquoescritura ocultardquo tradicionalmente en el aacutembito de
criptografiacutea es donde se ocupan las teacutecnicas de cifrado o codificacioacuten que permiten alterar el
contenido de cierta informacioacuten o mensajes con el fin de hacerlos ininteligibles a receptores o
personas no autorizadas (Meneacutendez-Barzanallana 17)
Actualmente la criptografiacutea se encarga de analizar algoritmos protocolos y sistemas que
son utilizados para proveer seguridad a las comunicaciones informacioacuten y a las entidades que se
comunican entre siacute
221 Tipos de Criptografiacuteas
2211 Tablas Hash Un hash o funcioacuten hash toma un grupo de caracteres (llamado clave)
y lo asigna a un valor de cierta longitud (llamado valor hash o hash) El valor hash es representativo
de la cadena de caracteres original pero normalmente es maacutes pequentildeo que el original
El hash tambieacuten es utilizado en el cifrado y descifrado de firmas digitales La funcioacuten hash
transforma la firma digital luego tanto el valor hash como la firma se enviacutean al receptor El
receptor utiliza la misma funcioacuten hash para generar el valor hash y luego lo compara con el recibido
31
en el mensaje Si los valores hash son los mismos es probable que el mensaje se haya transmitido
sin errores
Un ejemplo de una funcioacuten hash se llama plegado(folding) Esta toma un valor original lo
divide en varias partes luego agrega las partes y usa los uacuteltimos cuatro diacutegitos restantes como
valor o clave hash
2212 Tipos de algoritmos Hash
22121 SHA - 1 (Secure Hash Algorithm) Es un algoritmo criptograacutefico de Hash
publicado por el gobierno de los Estados Unidos Genera un valor Hash de 160 bits a partir de una
secuencia de longitud arbitraria Es considerado lo suficientemente seguro para aplicaciones
praacutecticas pero hay disponibles versiones maacutes robustas SHA - 256 SHA - 384 y SHA - 512 que
generan valores Hash de 256 384 y 512 bits respectivamente estas versiones reemplazaraacuten a SHA
- 1 mientras se siga trabajando sobre ellas (Borghello 2009)
22122 MD5 (Message Digest Algorithm) En criptografiacutea MD5 es una funcioacuten hash
criptograacutefica ampliamente utilizada con un valor hash de 128 bits Como estaacutendar de Internet (RFC
1321) MD5 se ha empleado en una amplia variedad de aplicaciones de seguridad y tambieacuten se
usa comuacutenmente para verificar la integridad de los archivos Un hash MD5 generalmente se
expresa como un nuacutemero hexadecimal de 32 diacutegitos
MD5 es una versioacuten reforzada de MD4 Al igual que MD4 el hash MD5 fue inventado por
el profesor Ronald Rivest del Massachusetts Institute of Technology (MIT) Ademaacutes MD5 se
32
utilizoacute como modelo para SHA-1 ya que comparten muchas caracteriacutesticas comunes MD5 y
SHA-1 son los dos algoritmos hash maacutes utilizados en la actualidad aunque el uso de MD5 ha
disminuido ya que ahora se considera roto (Borghello 2009)
22123 RIPEMD ndash 160 Es una funcioacuten hash criptograacutefica basada en la construccioacuten
Merkle-Damgaringrd (MD) Se usa en el estaacutendar de Bitcoin Es una versioacuten reforzada del algoritmo
RIPEMD que produce un resumen de hash de 128 bits mientras que el algoritmo RIPEMD-160
produce una salida de 160 bits La funcioacuten de compresioacuten consta de 80 etapas formadas por 5
bloques que se ejecutan 16 veces cada uno Este patroacuten se ejecuta dos veces con los resultados
combinados en la parte inferior utilizando la adicioacuten del moacutedulo 32 (Borghello 2009)
22124 Funcioacuten Merkle-Damgaringrd La construccioacuten MD es una metodologiacutea para crear
funciones hash resistentes a colisiones a partir de funciones de compresioacuten unidireccionales Ralph
Merkle la propuso en el antildeo de 1979 en ldquoA certified Digital Signaturerdquo posterior a este estudio
Ivan Damgaringrd demostroacute de manera independiente que la estructura era soacutelida (Merkle amp
Damgaringrd sf)
2213 Cifrado simeacutetrico Los cifrados simeacutetricos son los cifrados criptograacuteficos maacutes
antiguos y maacutes utilizados En un cifrado simeacutetrico la clave que descifra el texto cifrado es la
misma (o puede derivarse faacutecilmente) de la clave que cifra el texto claro Esta clave a menudo se
conoce como la clave secreta Los cifrados simeacutetricos maacutes utilizados son DES y AES
La problemaacutetica que surge es la seguridad de la clave
33
El emisor cifra el mensaje con una clave
Enviacutea el mensaje cifrado de tal manera que nadie puede descifrarlo sin dicha clave
El receptor obtiene la clave y entonces puede descifrar el mensaje con la misma clave
que recibioacute del emisor
Algunos algoritmos de este tipo son
22131 RC5 (Cifrado de Rivest) Es un algoritmo de cifrado de bloque de clave simeacutetrica
disentildeado por Ron Rivest en 1994 Se destaca por ser simple raacutepido (debido a que usa solo
operaciones de coacutemputo primitivas como XOR o shift) y ademaacutes por consumir menos memoria
RC5 es un cifrado de bloques y aborda dos bloques de palabras a la vez Dependiendo del
tamantildeo del bloque de texto sin formato nuacutemero de rondas y tamantildeo de clave se pueden definir
varias instancias de RC5 y cada instancia se denota como RC5-w r b donde w = tamantildeo de
palabra en bits r = nuacutemero de rondas y b = tamantildeo de la clave en bytes (Pawar 2016)
Como se ha mencionado RC5 utiliza bloques de 2 palabras el tamantildeo del bloque de texto
sin formato puede ser de 32 64 o 128 bits
22132 IDEA (International Data Encryption Algorithm) Baacutesicamente es un algoritmo
de cifrado de bloque simeacutetrico El algoritmo asimeacutetrico utiliza la misma clave para el cifrado y
descifrado Un cifrado de bloque divide el mensaje en bloques cada uno de una longitud fija y
luego cifra cada bloque de forma independiente
34
El tamantildeo de bloque tiacutepico es de 16 bytes de 128 bits Un cifrado de bloque generalmente
operaraacute en bloques o rondas donde se aplica parte de la clave a la ronda Despueacutes de un cierto
nuacutemero de rondas digamos entre 10 y 16 se termina con el texto cifrado para ese bloque
El bloque de texto cifrado tiene exactamente el mismo tamantildeo que el bloque de texto sin
formato 16 bytes Para cada ronda se trabaja en el bloque utilizando una parte de la clave de
cifrado a la que se le llama la clave redonda Muacuteltiples claves redondas se derivan de la clave de
cifrado utilizando para esto un programa de claves
La programacioacuten de claves es un algoritmo que cambia XOR multiplica y realiza otros
tipos de operaciones en la clave de cifrado original para obtener estas claves redondas Bueno si
tengo un bloque de 16 bytes y tengo una clave de 128 bits que tambieacuten es de 16 bytes (Educba
2019)
22133 DES (Data Encryption Standard) El algoritmo DES es el algoritmo de seguridad
maacutes popular Es un algoritmo simeacutetrico lo que significa que se utilizan las mismas claves para
cifrar descifrar datos confidenciales La longitud de la clave es de 8 bytes (64 bits) Entonces
para cifrar descifrar datos el algoritmo DES utiliza una clave de 8 bytes pero 1 byte (8 bits) para
la verificacioacuten de paridad Es un algoritmo de cifrado de bloque por lo tanto el tamantildeo del bloque
de datos del algoritmo DES es de 64 bits Para cifrar descifrar datos el algoritmo DES utiliza la
estructura Feistel Entonces utiliza una ronda para cifrar descifrar datos Aunque el tamantildeo del
35
bloque de datos es de 64 bits el nuacutemero de rondas seraacute de 16 rondas asiacute mismo utilizaraacute diferentes
subclaves para cada ronda por lo tanto el nuacutemero de subclaves seraacute de 16 subclaves
Como se puede observar la clave efectiva es de 56 bits por consiguiente se tiene 256
combinaciones posibles por lo que la fuerza bruta se hace casi imposible (Sanjoy 2015)
2214 Cifrado asimeacutetrico Los cifrados asimeacutetricos tambieacuten se conocen como cifrados
con claves puacuteblicas y privadas Usan dos claves una para el cifrado de mensajes y la otra durante
el descifrado
Un intruso puede encriptar cualquier mensaje usando la clave puacuteblica conocida Los
cifrados asimeacutetricos son por lo tanto vulnerables a los ataques de texto sin formato Los cifrados
con encriptacioacuten de clave puacuteblica deben proporcionar seguridad contra tales ataques Despueacutes de
encriptar dos mensajes con la misma clave puacuteblica el intruso no puede distinguir queacute texto cifrado
estaacute conectado con queacute texto plano Ademaacutes un observador que analiza dos mensajes encriptados
usando el mismo algoritmo y la misma clave puacuteblica no puede distinguir sus textos cifrados
(Kowalczyk 2015)
Los cifrados asimeacutetricos son mucho maacutes lentos que los cifrados simeacutetricos (generalmente
mil veces maacutes lentos) Es una praacutectica comuacuten usar el cifrado de clave puacuteblica solo para establecer
la conexioacuten segura y negociar la nueva clave secreta que luego se utilizaraacute para proteger la
comunicacioacuten mediante cifrado simeacutetrico Ejemplos de este cifrado son
36
22141 DSA (Digital Signature Algorithm - Algoritmo de Firma digital) Es un estaacutendar
del Gobierno Federal de los Estados Unidos para firmas digitales Fue propuesto por el Instituto
Nacional de Estaacutendares y Tecnologiacutea (NIST) en agosto de 1991 para ser usado en su Estaacutendar de
Firma Digital (DSS) en el antildeo de 1993
La primera parte del algoritmo DSA es la generacioacuten de clave puacuteblica y clave privada que
puede describirse como
Se elige un nuacutemero primo q que se llama divisor primo
Se elige otro nuacutemero primo p de modo que pndash1 mod q = 0 p seraacute llamado moacutedulo
primo
Ahora se elige un nuacutemero entero g tal que 1 ltg ltp g q mod p = 1 g = h ((p
ndash 1) q) mod p q tambieacuten se llama moacutedulo de orden multiplicativo de g moacutedulo p
Se elige un nuacutemero entero tal que 0 ltx ltq
Se calcula y como g x mod p
Se empaqueta la clave puacuteblica como p q g y
Por uacuteltimo se empaqueta la clave privada como p q g x
La segunda parte del algoritmo DSA es la generacioacuten de firma y la verificacioacuten de firma
Para generar una firma de mensaje el remitente puede seguir estos pasos
Se genera el resumen del mensaje h utilizando un algoritmo hash como SHA1
Se genera un nuacutemero aleatorio k tal que 0 ltk ltq
37
Se calcula r como (g k mod p) mod q Si r = 0 seleccione una k diferente
Ahora se calcula i de modo que k i mod q = 1 i se llama el inverso multiplicativo modular
de k moacutedulo q
Se calcula s = i (h + r x) mod q Si s = 0 se selecciona una k diferente
Por uacuteltimo se empaqueta la firma digital como r s (Yang 2019)
22142 RSA Encriptacioacuten RSA encriptacioacuten Rivest-Shamir-Adleman tipo de
criptografiacutea de clave puacuteblica ampliamente utilizada para la encriptacioacuten de datos de correo
electroacutenico y otras transacciones digitales a traveacutes de Internet RSA lleva el nombre de sus
inventores Ronald L Rivest Adi Shamir y Leonard M Adleman quienes lo crearon mientras
trabajaban en la facultad del Instituto Tecnoloacutegico de Massachusetts (Simmons 2019)
En el sistema RSA un usuario elige de manera secreta un par de nuacutemeros primos p y q tan
grandes que factorizar el producto n = pq estaacute mucho maacutes allaacute de las capacidades informaacuteticas
proyectadas para la vida uacutetil de los cifrados A partir del antildeo 2000 los estaacutendares de seguridad del
gobierno de EE UU exigen que el moacutedulo tenga un tamantildeo de 1024 bits es decir p y q deben
tener un tamantildeo de aproximadamente 155 diacutegitos decimales por lo que n es aproximadamente un
nuacutemero de 310 diacutegitos Dado que los nuacutemeros duros maacutes grandes que actualmente se pueden
factorizar son solo la mitad de este tamantildeo y dado que la dificultad de factorizar se duplica
aproximadamente por cada tres diacutegitos adicionales en el moacutedulo se cree que los moacutedulos de 310
diacutegitos estaacuten a salvo de factorizar durante varias deacutecadas
38
2215 Cifrado hiacutebrido Es una teacutecnica comuacuten que combina diferentes funciones
criptograacuteficas como el cifrado de bloque Con el cifrado hiacutebrido se pueden cifrar datos firmarlos
o agregar un MAC y enviarlos en un objeto seguro (como una cadena o archivo) a traveacutes de un
canal de comunicacioacuten inseguro (sin un acuerdo clave entre dos partes)
En el sistema de cifrado hiacutebrido el texto plano (sin formato) se divide en tokens Luego
se calcula la longitud de cada ficha Los tokens y sus longitudes se almacenan en una matriz
Posteriormente se aplica el algoritmo Ceacutesar anidado sugerido El texto producido se almacena en
una matriz n x m llamada A Luego la transposicioacuten de esta matriz At se calcula utilizando
nuestra versioacuten revisada del cifrado de transposicioacuten para resolver el problema de secuenciacioacuten
A continuacioacuten el algoritmo RSA revisado se aplica en la matriz producida En el paso final se
aplica el formato de datos textuales usando el coacutedigo ASCII para producir el texto cifrado El
proceso de descifrado se realiza de la misma manera pero en orden inverso (Nahar amp Abu Abbas
2010)
23 Criptoanaacutelisis
El criptoanaacutelisis es el proceso de estudiar sistemas criptograacuteficos para buscar debilidades
o fugas de informacioacuten En general se considera que el criptoanaacutelisis explora las debilidades de
las matemaacuteticas subyacentes de un sistema criptograacutefico pero tambieacuten incluye la buacutesqueda de
debilidades en la implementacioacuten como ataques de canal lateral o entradas de entropiacutea deacutebiles
39
Su funcioacuten es la de conseguir obtener el significado de mensajes creados por medio de
criptografiacutea El objetivo principal del criptoanaacutelisis es opuesto al de la criptografiacutea Tiene como
finalidad encontrar la debilidad de las diferentes teacutecnicas criptograacuteficas para explotarla y de esta
manera reducir o eliminar la seguridad de la teacutecnica criptograacutefica Cualquier intento de
criptoanaacutelisis puede ser llamado ataque Una vez que un atacante logra romper la seguridad que
una teacutecnica criptograacutefica aportaba al sistema se dice que dicho sistema ha sido roto y por lo tanto
dicho ataque tuvo eacutexito
El criptoanaacutelisis es la investigacioacuten de sistemas texto cifrado y cifrados para revelar el
significado oculto o los detalles del sistema mismo El objetivo de este tipo de estudio es descubrir
los aspectos ocultos incluso si la clave o el algoritmo principal no se pueden descifrar Se necesita
una combinacioacuten exitosa de persistencia matemaacuteticas intuicioacuten curiosidad y una computadora
que funcione para hacer un buen criptoanalista Este tipo de ruptura de coacutedigo es extremadamente
importante especialmente en el mundo tecnoloacutegicamente dependiente de hoy El criptoanaacutelisis es
constantemente realizado por criptoacutegrafos que intentan obtener informacioacuten valiosa y por aquellos
que intentan descifrar el coacutedigo para revelar secretos (Security Degree Hub 2017)
24 Niveles de seguridad
Los niveles de seguridad de sistemas operativos son otorgados de acuerdo con el sistema
operativo que esteacute utilizando la empresa o institucioacuten ya sea puacuteblica privada gubernamental o no
gubernamental En el manual ldquoTrusted Computer System Evaluation Criteriardquo (United States
40
Government Department of Defense 1983) el Departamento de Defensa de los Estados Unidos
define los siguientes niveles
241 Nivel D1 Este nivel es el maacutes bajo de seguridad por lo tanto la norma establece que
el sistema no es confiable Esta divisioacuten contiene solo una clase Estaacute reservado para aquellos
sistemas que han sido evaluados pero que no cumplen con los requisitos para un nivel de
evaluacioacuten superior
242 Nivel C1 Un sistema de nivel C1 cumple nominalmente los requisitos de seguridad
discrecionales al proporcionar separacioacuten de usuarios y datos Incorpora alguna forma de controles
creiacutebles capaces de imponer limitaciones de acceso de manera individual es decir aparentemente
adecuados para permitir que los usuarios puedan proteger la informacioacuten privada o del proyecto y
evitar que otros usuarios lean o destruyan accidentalmente sus datos Se espera que el entorno de
nivel C1 sea uno de los usuarios cooperantes que procesan datos con el mismo nivel de
sensibilidad Los siguientes son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten
de nivel C1 son
Control de acceso discrecional por ejemplo listas de control de acceso (ACL)
usuario grupo
Por lo general para usuarios que estaacuten en el mismo nivel de seguridad
Proteccioacuten de nombre de usuario y contrasentildea y base de datos de autorizaciones
seguras (ADB)
Sistema operativo protegido y modo de operaciones del sistema
Comprobacioacuten perioacutedica de integridad de TCB
41
Mecanismos de seguridad probados sin derivaciones obvias
Documentacioacuten para la seguridad del usuario
Documentacioacuten para la seguridad de la administracioacuten de sistemas
Documentacioacuten para pruebas de seguridad
Documentacioacuten de disentildeo TCB
Tiacutepicamente para usuarios en el mismo nivel de seguridad
La certificacioacuten C1 es rara Los sistemas de ejemplo son versiones anteriores de
Unix IBM RACF
243 Nivel C2 Los sistemas de esta clase imponen un control de acceso discrecional maacutes
fino que los sistemas (C1) lo que hace que los usuarios sean individualmente responsables de sus
acciones a traveacutes de procedimientos de inicio de sesioacuten auditoriacutea de eventos relevantes para la
seguridad y aislamiento de recursos Los siguientes son requisitos miacutenimos para los sistemas
asignados a una clasificacioacuten de nivel C2
La proteccioacuten de objetos puede ser para un solo usuario Por ejemplo a traveacutes de
una base de datos ACL
La autorizacioacuten de acceso solo puede ser asignada por usuarios autorizados
Proteccioacuten de reutilizacioacuten de objetos (Por ejemplo para evitar la reasignacioacuten de
objetos eliminados de manera segura)
Procedimientos obligatorios de identificacioacuten y autorizacioacuten para los usuarios (Por
ejemplo Usuario Contrasentildea)
Auditoriacutea completa de eventos de seguridad (es decir fecha hora evento usuario
eacutexito falla ID de terminal)
42
Modo de operacioacuten del sistema protegido
Proteccioacuten adicional para la autorizacioacuten y los datos de auditoriacutea
Documentacioacuten como C1 maacutes informacioacuten sobre el examen de la informacioacuten de
auditoriacutea
Esta es una de las certificaciones maacutes comunes Los sistemas operativos de ejemplo
son VMS IBM OS 400 Windows NT Novell NetWare 411 Oracle 7 DG AOS
VS II
244 Nivel B1 Los sistemas de este nivel requieren todas las caracteriacutesticas requeridas
para el nivel C2 Ademaacutes debe estar presente una declaracioacuten informal del modelo de poliacutetica de
seguridad etiquetado de datos y control de acceso obligatorio sobre sujetos y objetos nombrados
La capacidad debe existir para etiquetar con precisioacuten la informacioacuten exportada Cualquier falla
identificada por la prueba debe ser eliminada Los siguientes son requisitos miacutenimos para los
sistemas asignados a una clasificacioacuten de nivel B1
Etiquetado obligatorio de seguridad y acceso de todos los objetos (Por ejemplo
archivos procesos dispositivos)
Comprobacioacuten de integridad de etiquetas (Por ejemplo mantenimiento de etiquetas
de sensibilidad cuando se exportan datos)
Auditoriacutea de objetos etiquetados
Control de acceso obligatorio para todas las operaciones
Capacidad para especificar el nivel de seguridad impreso en salida legible para
humanos (Por ejemplo impresoras)
43
Capacidad para especificar el nivel de seguridad en cualquier salida legible por
maacutequina
Auditoriacutea mejorada
Proteccioacuten mejorada del sistema operativo
Documentacioacuten mejorada
Los sistemas operativos de ejemplo son HP-UX BLS Cray Research Trusted
Unicos 80 Digital SEVMS Harris CS SX SGI Trusted IRIX
245 Nivel B2 En los sistemas de nivel B2 el TCB se basa en un modelo de poliacutetica de
seguridad formal claramente definido y documentado que requiere que la aplicacioacuten de control de
acceso discrecional y obligatoria que se encuentra en los sistemas de nivel B1 se extienda a todos
los sujetos y objetos en el sistema Ademaacutes se abordan los canales encubiertos El TCB debe
estructurarse cuidadosamente en elementos criacuteticos para la proteccioacuten y no criacuteticos para la
proteccioacuten La interfaz TCB estaacute bien definida y el disentildeo y la implementacioacuten TCB le permiten
someterse a pruebas maacutes exhaustivas y una revisioacuten maacutes completa Se fortalecen los mecanismos
de autenticacioacuten se proporciona una gestioacuten confiable de las instalaciones en forma de soporte
para las funciones de administrador y operador del sistema y se imponen estrictos controles de
gestioacuten de la configuracioacuten El sistema es relativamente resistente a la penetracioacuten Los siguientes
son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten de nivel B2
Notificacioacuten de cambios en el nivel de seguridad que afectan a los usuarios
interactivos
Etiquetas de dispositivos jeraacuterquicos
44
Acceso obligatorio a todos los objetos y dispositivos
Comunicaciones de ruta confiables entre usuario y sistema
Rastreo de canales de almacenamiento encubiertos
Modo de operaciones del sistema maacutes estricto en unidades independientes de varios
niveles
Anaacutelisis de canales encubiertos
Pruebas de seguridad mejoradas
Modelos formales de TCB
Versioacuten actualizacioacuten y anaacutelisis y revisioacuten de parches
Los sistemas de ejemplo son Honeywell Multics Cryptek VSLAN Trusted
XENIX
246 Nivel B3 El TCB debe satisfacer los requisitos del monitor de referencia para mediar
todos los accesos de los sujetos a los objetos ser a prueba de manipulaciones y ser lo
suficientemente pequentildeo como para ser sometido a anaacutelisis y pruebas Con este fin el TCB estaacute
estructurado para excluir el coacutedigo que no es esencial para la aplicacioacuten de la poliacutetica de seguridad
con una importante ingenieriacutea del sistema durante el disentildeo y la implementacioacuten del TCB dirigido
a minimizar su complejidad Se admite un administrador de seguridad los mecanismos de
auditoriacutea se ampliacutean para sentildealar eventos relevantes para la seguridad y se requieren
procedimientos de recuperacioacuten del sistema El sistema es altamente resistente a la penetracioacuten
Los siguientes son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten de clase
(B3)
45
ACL adicionalmente basadas en grupos e identificadores
Acceso de ruta confiable y autenticacioacuten
Anaacutelisis automaacutetico de seguridad
Modelos TCB maacutes formales
Auditoriacutea de eventos de auditoriacutea de seguridad
Recuperacioacuten confiable despueacutes de la caiacuteda del sistema y documentacioacuten relevante
Cero defectos de disentildeo en TCB y defectos miacutenimos de implementacioacuten
El uacutenico sistema operativo con certificacioacuten B3 es Getronics Wang Federal XTS-
300
247 Nivel A1 Los sistemas en el nivel A1 son funcionalmente equivalentes a los del nivel
B3 en que no se agregan caracteriacutesticas arquitectoacutenicas adicionales ni requisitos de poliacuteticas La
caracteriacutestica distintiva de los sistemas en este nivel es el anaacutelisis derivado de la especificacioacuten
formal del disentildeo y las teacutecnicas de verificacioacuten y el alto grado resultante de seguridad de que el
TCB se implementa correctamente Esta garantiacutea es de naturaleza de desarrollo comenzando con
un modelo formal de la poliacutetica de seguridad y una especificacioacuten formal de alto nivel del disentildeo
Independientemente del lenguaje de especificacioacuten particular o del sistema de verificacioacuten
utilizado existen los siguientes criterios importantes para la verificacioacuten del disentildeo de nivel A1
Meacutetodos formales y prueba de integridad de TCB
Estos son los uacutenicos sistemas con certificacioacuten A1 Boeing MLS LAN Gemini
Trusted Network Processor Honeywell SCOMP (United States Government
Department of Defense 1983)
46
25 Sistemas Operativos
Un sistema operativo actuacutea como intermediario entre el usuario de una computadora y el
hardware de la computadora El propoacutesito de un sistema operativo es proporcionar un entorno en
el que un usuario pueda ejecutar programas de manera conveniente y eficiente
Un sistema operativo es un software que administra el hardware de la computadora El
hardware debe proporcionar mecanismos apropiados para garantizar el correcto funcionamiento
del sistema informaacutetico y para evitar que los programas del usuario interfieran con el correcto
funcionamiento del sistema (Carretero Peacuterez de Miguel Anasagasti Garciacutea Carballeira amp Peacuterez
Costoya 2001)
Un sistema operativo es un programa que controla la ejecucioacuten de programas de aplicacioacuten
y actuacutea como una interfaz entre el usuario de una computadora y el hardware de la computadora
Una definicioacuten maacutes comuacuten es que el sistema operativo es el uacutenico programa que se ejecuta
en todo momento en la computadora (generalmente llamado kernel) y todo lo demaacutes son
programas de aplicacioacuten
Un sistema operativo se ocupa de la asignacioacuten de recursos y servicios como memoria
procesadores dispositivos e informacioacuten El sistema operativo incluye los programas para
administrar estos recursos como un controlador de traacutefico un programador un moacutedulo de
administracioacuten de memoria programas de E S y un sistema de archivos (Pawar 2016)
47
251 Windows Sistema operativo de la empresa Microsoft es un conjunto de programas
que administra los recursos de una computadora Windows empieza a trabajar cuando se enciende
o inicializa el equipo para gestionar el hardware empezando desde los niveles maacutes baacutesicos
Es importante conocer que los sistemas operativos funcionan tanto en las computadoras
como en diferentes dispositivos electroacutenicos que usan microprocesadores En este caso Windows
su versioacuten estaacutendar funciona con computadoras Microsoft domina el mercado de los sistemas
operativos debido a su comodidad se puede decir que eacuteste sistema operativo se encuentra
instalado en el 887 de los equipos de coacutemputo que cuentan con acceso a Internet en todo el
mundo
Se pueden mencionar algunas aplicaciones principales (que eacutestas tambieacuten pueden ser
desinstaladas por los usuarios o actualizadas sin que el sistema operativo se dantildee o deje de
funcionar) se encuentran el procesador de texto WordPad el navegador Internet Explorer el
reproductor multimedia Windows Media y el editor de imaacutegenes Paint
La principal novedad que aportoacute Windows desde sus oriacutegenes fue la facilidad para usarlo
y el atractivo visual De hecho su nombre (ldquoventanasrdquo) se debe a la forma en que el sistema
presenta a los usuarios los recursos con los que cuenta su computadora lo que facilita las tareas
cotidianas Windows tambieacuten suele recibir varias criacuteticas por sus problemas de seguridad y por
otros fallos
48
252 Registro de Windows El registro es una base de datos jeraacuterquica que contiene datos
que son criacuteticos para el funcionamiento de Windows y las aplicaciones y servicios que se ejecutan
en Windows Los datos estaacuten estructurados en un formato de aacuterbol Cada nodo en el aacuterbol se llama
clave Cada clave puede contener subclaves y entradas de datos llamadas valores A veces la
presencia de una clave es el uacutenico dato que requiere una aplicacioacuten otras veces una aplicacioacuten
abre una clave y usa los valores asociados con la clave (Microsoft Inc 2019) Una clave puede
tener cualquier nuacutemero de valores y los valores pueden tener cualquier forma El registro es
utilizado por
Autenticacioacuten
Nuacutecleo (Kernel)
Controladores de dispositivos
Servicios
SAM
Las carpetas del sistema se almacenaraacuten en distintas rutas de acceso dependiendo de la
versioacuten de Windows con la que se esteacute trabajando a continuacioacuten cuatro de los cinco archivos
que maacutes interesan a esta investigacioacuten se encuentran en la siguiente ubicacioacuten SystemRoot
System32 Config dentro de las siguientes sub llaves
SAM - HKEY LOCAL MACHINE SAM
SECURITY - HKEY LOCAL MACHINE SECURITY
SOFTWARE - HKEY LOCAL MACHINE SOFTWARE
SYSTEM - HKEY LOCAL MACHINE SYSTEM
49
253 Administrador de cuentas de seguridad El administrador de cuentas de seguridad
(SAM por sus siglas en ingleacutes) es una base de datos en donde se encuentran las cuentas de
seguridad Esto es utilizado por Windows para administrar las cuentas de usuario y contrasentildeas en
el formato hash
Las contrasentildeas nunca se almacenan en formato de texto claro Se almacenan en formato
de hash para protegerlas de los ataques La base de datos SAM se implementa como un archivo de
registro y las obtiene del kernel de Windows y mantiene un bloqueo exclusivo al archivo SAM
esto quiere decir que el archivo tiene cierta medida de seguridad para el almacenamiento de las
contrasentildeas (Hernandez 2013)
No es posible copiar el archivo SAM a otra ubicacioacuten en el caso de los ataques en liacutenea
Dado que el archivo SAM estaacute bloqueado con un bloqueo exclusivo al sistema de archivos no
puede ser copiado o movido mientras se ejecuta Windows El bloqueo no iniciaraacute hasta que la
excepcioacuten de la pantalla azul haya sido inicializada o el sistema operativo haya sido apagado Sin
embargo los archivos en formato hash de contrasentildeas fuera de liacutenea estaacuten disponibles para los
ataques de fuerza bruta el contenido del archivo SAM puede ser copiado o descargado utilizando
diversas teacutecnicas
Un identificador de seguridad (SID) es un valor uacutenico de longitud variable utilizado para
identificar a un usuario Cada cuenta tiene un SID uacutenico emitido por una autoridad como un
controlador de dominio de Windows y almacenado en una base de datos de seguridad Cada vez
50
que un usuario inicia sesioacuten el sistema recupera el SID para ese usuario de la base de datos y lo
coloca en el token de acceso para ese usuario El sistema usa el SID en el token de acceso para
identificar al usuario en todas las interacciones posteriores con la seguridad de Windows Cuando
se ha usado un SID como identificador uacutenico para un usuario o grupo no se puede volver a usar
para identificar a otro usuario o grupo
La seguridad de Windows usa SID en los siguientes elementos de seguridad
En descriptores de seguridad para identificar al propietario de un objeto y grupo
primario
En las entradas de control de acceso para identificar al usuario para quien el acceso
estaacute permitido denegado o auditado
En tokens de acceso para identificar al usuario y los grupos a los que pertenece
2531 Identificador de Seguridad (SID Security Identifier)
S - 1 - 5 - 21 - 3983109318 - 554656936 - 3066752241 - 1000
S - indica que es un string de SID
1 - el nivel de revisioacuten
5 - el identificador de valor de autoridad o authority value no siempre seraacute 5 Entre otros
valores que se pueden encontrar estaacuten los siguientes
51
0 - sin autoridad
1 - autoridad global
2 - autoridad local
3 - autoridad de creador
4 - autoridad no uacutenica
5 - autoridad NT
9 - autoridad de administrador de recursos
21 - 3983109318 - 554656936 - 3066752241 - es el dominio en el que se encuentra el
sistema o el identificador local de la computadora
1000 - ID uacutenico para cada cuenta aquiacute se encuentra el RID (Relative Identifier) Nuacutemero
de longitud variable cualquier grupo o usuario que se cree de manera diferente a la predeterminada
recibiraacute un RID de 1000 o superior En el caso de que el valor sea 500 responde a que este SID
representa la cuenta de un administrador el valor de 500 siempre seraacute el mismo en cualquier cuenta
de administrador a su vez el valor 501 representa el SID de una cuenta Invitado (Guest)
(Hernandez 2013)
254 Autenticacioacuten NTML NTLM (NT LAN Manager) es un protocolo empleado por
muchos productos de Microsoft para realizar la autenticacioacuten desafiacuteorespuesta por lo tanto es el
esquema de autenticacioacuten que por defecto usa Firewall de Microsoft y tambieacuten los productos del
servidor proxy
52
Este software fue desarrollado para afrontar el problema del trabajo con Tecnologiacuteas Java
en un entorno orientado a Microsoft Puesto que no se basa en ninguna especificacioacuten oficial de
protocolo por lo tanto no hay garantiacutea de que funciona correctamente en todos los casos Tambieacuten
ha estado en algunas instalaciones de Windows donde funcionoacute con eacutexito
La Autenticacioacuten NTLM se compone de dos protocolos protocolo de autenticacioacuten NTLM
y protocolo de autenticacioacuten LM Estos protocolos utilizan una metodologiacutea de hash diferente para
almacenar contrasentildeas de los usuarios en la base de datos SAM (Hernandez 2013) (Meneacutendez-
Barzanallana 17)
26 LINUX (ROCKS)
Rocks es una distribucioacuten para cluacutester de Linux de coacutedigo abierto que permite a los usuarios
finales construir de manera maacutes amigable cluacutesteres computacionales y muros de visualizacioacuten en
mosaico Cientos de investigadores de todo el mundo han utilizado Rocks para implementar su
propio cluacutester
Desde mayo de 2000 el grupo Rocks ha abordado las dificultades de implementar cluacutesteres
manejables Encaminados hacia un objetivo crear cluacutesters de manera maacutes sencilla Por sencilla
significa faacutecil de implementar administrar actualizar y escalar Este objetivo impulsa a los
creadores de esta herramienta a ayudar a entregar el poder computacional de los cluacutesteres a una
amplia gama de usuarios cientiacuteficos Estaacute claro que poner a disposicioacuten de una amplia gama de
53
cientiacuteficos plataformas de computacioacuten paralelas estables y manejables ayudaraacute enormemente a
mejorar el estado del arte en herramientas paralelas (Rocksclusters 2010)
261 Escritorio De todos los escritorios disponibles para el sistema operativo Linux
GNOME ha logrado convertirse en el maacutes eficiente estable y confiable sin dejar de ser sencillo
de usar De hecho la mayoriacutea de los usuarios independientemente de su experiencia pueden
trabajar con GNOME casi sin esfuerzo
Los usuarios que son nuevos tanto en Linux como en GNOME hariacutean mejor en conocer
los entresijos del escritorio que hacen que Linux no solo sea faacutecil sino tambieacuten divertido
Un entorno de escritorio agrupa programas que trabajan juntos para formar un espacio de
trabajo informaacutetico cohesivo unificado transparente e interactivo para los usuarios O para
decirlo de manera maacutes simple el entorno de escritorio es la interfaz de usuario para el sistema
operativo En el caso de GNOME ese sistema operativo es Linux Sin un entorno de escritorio su
uacutenica alternativa es una sesioacuten de Shell (liacutenea de comandos) basada en texto (Wallen 2019)
262 Paquete de Oficina Una suite ofimaacutetica es una coleccioacuten de software creada por el
mismo proveedor y disentildeada para ser utilizada para tareas rutinarias dentro de una organizacioacuten
Por lo general una suite ofimaacutetica incluye aplicaciones como procesamiento de texto hojas de
caacutelculo presentacioacuten correo electroacutenico toma de notas base de datos colaboracioacuten y otros tipos
de software relacionados En la mayoriacutea de los casos cada aplicacioacuten en la suite ofimaacutetica se puede
instalar por separado y todas las aplicaciones dentro de la suite admiten la interoperabilidad entre
54
siacute Microsoft Office Suite Lotus Live Notes y LibreOffice son todas suites de oficina de uso
comuacuten
263 Organizador de archivos Es una funcioacuten avanzada disentildeada para agrupar y
renombrar archivos usando sus atributos del sistema o meta atributos
Cada archivo tiene atributos del sistema como la fecha (Acceso Creado y Modificado) el
tipo de archivo (definido por extensioacuten) y asociado con la aplicacioacuten registrada de ese tipo de
archivo Estos atributos se pueden usar para generar un nuevo nombre de archivo o carpeta (grupo)
para cada archivo con el mismo atributo Ademaacutes de los atributos del sistema algunos archivos
en su mayoriacutea medios o imaacutegenes pueden contener metacampos como el nombre del artista el
tiacutetulo el nombre del aacutelbum y otros El Organizador de archivos tambieacuten usa estos metacampos
para agrupar archivos en una carpeta con el mismo atributo Por lo tanto el organizador de archivos
opera reglas de organizacioacuten de archivos que definen la jerarquiacutea de agrupacioacuten de carpetas y las
reglas de cambio de nombre de archivos
Asiacute como el conocido ldquoexplorador de Windowsrdquo Linux integra un organizador de archivos
y carpetas llamado NAUTILUS para realizar tareas de manejo de archivos como mover copiar
renombrar crear carpetas y de esta manera administrar nuestros dispositivos de almacenamiento
55
27 Agrupamiento (Cluacutester) de Computadoras
El agrupamiento (cluacutester) de computadoras estaacute conformado por una coleccioacuten de
computadoras autoacutenomas interconectadas trabajando unidas como un solo recurso de computacioacuten
integrado El concepto de agrupamiento de computadoras nacioacute cuando los pioneros de la
supercomputacioacuten intentaban difundir diferentes procesos entre varias computadoras para luego
poder recoger los resultados que dichos procesos debiacutean producir Con un hardware maacutes barato y
faacutecil de conseguir se pudo perfilar que podriacutean conseguirse resultados muy parecidos a los
obtenidos con aquellas maacutequinas mucho maacutes costosas (Chirinov 2003)
Un agrupamiento de computadoras se puede definir como el trabajo realizado por dos o
maacutes computadoras que en conjunto se encargan de proveer una determinada solucioacuten Tiene como
finalidad agrupar el poder de coacutemputo de los nodos implicados para proporcionar una mayor
escalabilidad disponibilidad y fiabilidad (Branch Bedoya amp Mesa Muacutenera 2008)
La escalabilidad es la capacidad de un equipo para hacer frente a voluacutemenes de trabajo
cada vez mayores sin por ello dejar de prestar un nivel de rendimiento aceptable
La disponibilidad y la fiabilidad se encuentran bastante relacionadas aunque difieren
ligeramente en algunos aspectos La disponibilidad es la calidad de estar presente y listo para su
uso mientras que la fiabilidad es la probabilidad de un correcto funcionamiento
56
Entre los tipos de agrupamiento maacutes comunes se pueden encontrar de alta disponibilidad
(ambiente a prueba de fallas) coacutemputo de alto desempentildeo (los procesos o las tareas dadas se
presentan como un solo sistema virtual) y escalamiento horizontal (se utiliza para proporcionar
una sola interfaz a un conjunto de recursos que pueden aumentar o disminuir arbitrariamente su
tamantildeo en un cierto periodo de tiempo) (Gonzaacutelez Ramiacuterez amp Rodriacuteguez Saacutenchez 2008)
271 Beowulf Es una clase de computadora masivamente paralela de altas prestaciones
principalmente construida a base de agrupamiento de componentes hardware estaacutendar (Llorens amp
Pentildea 2002) Consta de un conjunto de nodos minimalistas unidos por un medio de
comunicaciones econoacutemico Esto quiere decir que tienen lo miacutenimo para ejecutar su funcioacuten de
hecho los nodos por siacute solos no son capaces de ejecutar siquiera un sistema operativo (Nievas
Pino amp Arroyo) Se puede ver como una supercomputadora paralela construida con hardware
comercial de faacutecil adquisicioacuten que posee como sistema operativo Linux Los cluacutesters Beowulf son
extremadamente poderosos pero no son para todas las personas Su principal desventaja es que
requieren software disentildeado para poder aprovechar los recursos del cluacutester (Lizaacuterraga 2002)
272 Mosix Seguacuten Peacuterez (2001) la arquitectura Mosix estaacute basada en la misma ideologiacutea
de la arquitectura Beowulf Se basa en un conjunto de parches aplicados al nuacutecleo (kernel) de Linux
y que asignan a todo el grupo de nodos un espacio de direcciones y de procesos comuacuten gracias al
cual los procesos migran de uno a otro con el fin de equilibrar favorablemente la carga del sistema
global Es una herramienta disentildeada para realizar balanceo de carga en el agrupamiento de forma
totalmente transparente de manera tal que los nodos se comportan como una sola maacutequina y asiacute
incrementar el aprovechamiento de cada uno de los nodos (Chaacutevez y otros 1999) La principal
57
ventaja de Mosix frente a Beowulf se basa precisamente en esto Mosix da mejores respuestas que
Beowulf frente a la caiacuteda o insercioacuten de nodos A parte de esto Mosix permite un cambio constante
de aplicacioacuten o incluso el correr aplicaciones independientes de forma simultaacutenea
273 OpenMosix OpenMosix es una extensioacuten del proyecto Mosix Seguacuten Chirinov
(2003) la idea de este modelo es que la distribucioacuten de tareas en el cluacutester la determina OpenMosix
de forma dinaacutemica conforme se van creando tareas Cuando un nodo estaacute demasiado cargado las
tareas que se estaacuten ejecutando pueden migrar a cualquier otro nodo del cluacutester Asiacute desde que se
ejecuta una tarea hasta que eacutesta muere podraacute migrar de un nodo a otro sin que el proceso sufra
mayores cambios
Ademaacutes OpenMosix funciona a nivel de kernel por tanto puede conseguir toda la
informacioacuten que necesite para decidir que tanto estaacute cargado un sistema y queacute pasos se deben
seguir para aumentar el rendimiento ademaacutes puede realizar maacutes funciones que cualquier
aplicacioacuten a nivel de usuario
Despueacutes de elegir el tipo de cluacutester a utilizar se procede a elegir los elementos baacutesicos que
se emplearaacuten para implementar el cluacutester capacidad de procesamiento memoria espacio del disco
de cada nodo asiacute como tambieacuten el ancho de banda de la comunicacioacuten entre los nodos Se deberaacute
decidir cuaacuteles son importantes basaacutendose en la variedad de aplicaciones que se piensen ejecutar
en el cluacutester y de la cantidad de dinero que se disponga para construirlo
58
Bajo estos mismos paraacutemetros se debe escoger tambieacuten el tipo de red que interconectaraacute
los nodos (Turner 2004)
Luego se debe escoger el sistema operativo a utilizar Esta eleccioacuten dependeraacute mucho de
la maacutequina que se escoja Linux es siempre una opcioacuten en cualquier maacutequina y es la eleccioacuten maacutes
comuacuten Muchas de las herramientas necesarias para la implementacioacuten de un cluacutester han sido
desarrolladas bajo Linux Pero existen cluacutesters corriendo bajo Windows NT UNIX Solaris y AIX
59
Capiacutetulo 3 Implementacioacuten de Cluacutester
31 Requisitos previos
Antes de iniciar la instalacioacuten del FrontEnd es necesario asegurarse que las conexiones de
red de los equipos junto con la configuracioacuten de la BIOS de cada uno sean las correctas
311 Conexioacuten de los equipos y acceso a la red
Un cluacutester de alto desempentildeo funciona como un uacutenico equipo el cuaacutel comparte los recursos
de los nodos esclavos con el nodo maestro para ello es esencial la existencia de una red interna de
alta velocidad por medio de la cual se realice la comunicacioacuten entre el nodo maestro y los nodos
esclavos como se muestra en la Figura 31 El nodo maestro necesitaraacute 2 tarjetas de red de alta
Figura 31 Esquema tiacutepico de configuracioacuten de un cluacutester (Fuente Elaboracioacuten propia)
60
velocidad una para la comunicacioacuten interna y otra para la comunicacioacuten con redes externas El
sistema operativo Rocks asigna automaacuteticamente la interface ldquoeth0rdquo a la red interna del cluacutester y
la interface ldquoeth1rdquo a la red externa En caso de que Rocks sea incapaz de determinar cuaacutel es la red
externa debido a la falta de conexioacuten a internet estas podriacutean ser asignadas de manera incorrecta
por tal motivo se sugiere asegurar el nombre de cada una de las interfaces
Dado que Rocks no permite volverlas a asignar una vez finalizada la instalacioacuten es
necesario volver a reinstalarlo para poder solucionar este inconveniente
312 Configuracioacuten de la BIOS Para evitar problemas durante la instalacioacuten conviene
configurar correctamente la Bios
3121 ATAIDE Mode Algunos sistemas operativos puede que no sean capaces de
reconocer el controlador del disco duro como es en el caso de esta distribucioacuten de Rocks usada
Para evitar complicaciones de tener que antildeadir el controlador a mano lo mejor es habilitar el modo
ldquoLegacyrdquo de controlador de disco duro
61
Para ello se accede a la Bios pulsando F2 al encender el equipo se situacutea en la pestantildea
ldquoAdvancedrdquo y se selecciona ldquoDrive Configurationrdquo como se muestra en la Figura 32
Figura 32 Imagen del Bios del equipo en la opcioacuten ldquodrive configurationrdquo (Fuente Elaboracioacuten propia)
Figura 33 Bios ATAIDE Legacy Mode (Fuente Elaboracioacuten propia)
62
Dentro del menuacute se tiene que seleccionar el Modo ldquoLegacyrdquo en la opcioacuten ldquoATAIDE
Moderdquo como se muestra en la Figura 33 y para salir se guardan los cambios con F10
3122 PXE Al momento de instalar un nodo puede ocurrir falla al arrancar y aparecer
bootsplash (Reboot and Select proper device) Para evitarlo es necesario habilitar la opcioacuten de
PXE para que tome los archivos de instalacioacuten del nodo maestro a traveacutes de la red interna
En la Bios se selecciona la pestantildea ldquoBootrdquo y dentro de ese mismo menuacute se deshabilita
ldquoSilent bootrdquo y se habilita la opcioacuten de ldquoPXE boot to lanrdquo como se muestra en la Figura 34
Finalmente hay que verificar que en la secuencia de arranque (Figura 35) como primer
dispositivo sea desde red para que de esta manera inicie desde el PXE
Figura 34 Bios Boot PXE (Fuente Elaboracioacuten propia)
63
Se guardan los cambios antes de salir
32 Instalacioacuten de Sistema Operativo Rocks
Una vez configurados los equipos se enciende el equipo que seraacute el nodo maestro
(FrontEnd) en el cuaacutel previamente se ha modificado la secuencia de inicio del boot desde la Bios
de modo que al insertar el CD de Rocks eacuteste procederaacute a iniciar la instalacioacuten con la siguiente
pantalla que se muestra a continuacioacuten
Figura 35 Bios Boot device prioriry (Fuente Elaboracioacuten propia)
64
Para iniciar la instalacioacuten uacutenicamente se selecciona la opcioacuten ldquoInstall CentOS 7rdquo como se
muestra en la Figura 36 dando asiacute comienzo al proceso de instalacioacuten Tras finalizar un proceso
de carga en memoria Rocks mostraraacute un formulario en entorno graacutefico mediante el cual
procederemos a configurar el FrontEnd
Esta primera pantalla se muestra coacutemo se desea realizar la instalacioacuten puede realizarse
por medio de la descarga del sistema operativo (se requiere internet) En este caso como se muestra
en la Figura 37 dado que previamente se descargoacute el DVD completo se seleccionoacute ldquoCDDVD
based rollsrdquo
Figura 36 Pantalla de Inicio de instalacioacuten de Rocks (Fuente Elaboracioacuten propia)
65
A continuacioacuten Figura 38 se selecciona de la lista de Rolls aquellos que se desean instalar
Figura 37 Pantalla de seleccioacuten de Rolls (Fuente Elaboracioacuten propia)
Figura 38 Listado de opciones de rolls para instalar (Fuente Elaboracioacuten propia)
66
Tras presionar el botoacuten ldquoSubmitrdquo la siguiente pantalla (Figura 39) muestra formulario en
el que hay que indicar la informacioacuten baacutesica del cluacutester entre las cuales aparecen
Fully-Qualified Host Name Nombre con el que se conoceraacute en la red externa el cluacutester
Cluster Name Nombre utilizado para ser identificado dentro de las herramientas del cluacutester
Certificate Organization Locality State and Country Organizacioacuten a la que pertenece el
cluacutester la localidad el estado y la ciudad
Contact URL and LattitudeLongitude Contacto direccioacuten web y posicioacuten GPS
Figura 39 Informacioacuten baacutesica del cluacutester a instalar (Fuente Elaboracioacuten propia)
67
Una vez que se ingresa la informacioacuten al cluacutester se presiona el botoacuten ldquoListordquo y
posteriormente se podraacute cambiar la configuracioacuten baacutesica de la red interna del cluacutester En este caso
Figura 310 se dejoacute el valor por defecto una IP de clase B (1011116)
El siguiente paso es la configuracioacuten de la red externa (para tener acceso a internet) En
este punto se introducen los datos de la red externa a la que se encuentra conectado el nodo
maestro como se muestra en la Figura 311
Figura 310 Configuracioacuten Ethernet de la red privada (Fuente Elaboracioacuten propia)
Figura 311 Configuracioacuten Ethernet de la red puacuteblica (Fuente Elaboracioacuten propia)
68
Para terminar de configurar la red externa como se muestra en la Figura 312 se ingresa la
direccioacuten IP del Gateway y los DNS (Servidor de nombre de dominio) que va a usar para el acceso
a internet
Se continuacutea con el resto del formulario donde se introduce la contrasentildea para el usuario
root tal y como se muestran en la Figura 313
Figura 312 Configuracioacuten de DNS y Gateway (Fuente Elaboracioacuten propia)
Figura 313 Ingresar contrasentildea de usuario root (Fuente Elaboracioacuten propia)
69
Paso siguiente se procede a seleccionar la zona horaria como se muestra en la Figura 314
donde se encuentra ubicado el cluacutester asiacute como un servidor de donde podraacute obtener la zona horaria
automaacuteticamente en este caso se dejoacute el valor por default
En el formulario de la Figura 315 se selecciona la forma de particionar el disco duro
(automaacutetica manual) una vez seleccionado daraacute comienzo al proceso de instalacioacuten de manera
Figura 314 Configuracioacuten horaria (Fuente Elaboracioacuten propia)
Figura 315 Particiones del disco duro (Fuente Elaboracioacuten propia)
70
desatendida Cuando ha concluido la instalacioacuten el equipo se reiniciaraacute y se requeriraacute iniciar con
el usuario root y la contrasentildea establecida previamente
321 Configuracioacuten del teclado Debido a que el teclado por defecto estaacute en idioma
ingleacutes podriacutea provocar problemas al momento de escribir la contrasentildea u otros comandos
Seguacuten las pruebas realizadas aunque se cambie la configuracioacuten del teclado desde el menuacute
de preferencias uacutenicamente se mantiene dentro de la sesioacuten desde la que se ha cambiado dicha
opcioacuten (lo cual implica que la contrasentildea de usuario hay que introducirla seguacuten la distribucioacuten
inglesa)
33 Instalacioacuten de los nodos
Previo a la instalacioacuten de los nodos esclavos cada uno de los equipos fueron configurados
desde la Bios para que arranquen desde la red (seccioacuten 3122) Para ir antildeadiendo los nodos solo
se tiene que introducir el siguiente comando desde nuestro FrontEnd
$insert-ethers
A continuacioacuten como se muestra en la Figura 316 apareceraacute una ventana en la pantalla
en la cual se seleccionaraacute la opcioacuten ldquoComputerdquo
71
Una vez realizado este paso se procede a encender los equipos que funcionaraacuten como
nodos esclavos uno a uno
Se sugiere esperar a que cada nuevo equipo encendido esteacute marcado con un asterisco antes
de proceder a encender el siguiente como se muestra en la Figura 317 De esta manera se asegura
que cada nuevo nodo antildeadido posea el nombre y numeracioacuten deseada
Figura 316 Pantalla para ingresar nodos (Fuente Elaboracioacuten propia)
Figura 317 Indicador de insercioacuten de nuevos nodos (Fuente Elaboracioacuten propia)
72
Puede darse el caso de que un nodo no sea detectado automaacuteticamente eso indica que se
ha omitido alguacuten paso o parte de la configuracioacuten realizada hasta el momento es incorrecta En ese
caso comprobar lo siguiente
Que el nodo esclavo este correctamente conectado a la red interna
Que el FrontEnd (nodo maestro) tenga correctamente configurada la red interna y externa
Que el PXE esteacute habilitado en la Bios del nodo esclavo
331 Administracioacuten de nodos Algunos de los comandos maacutes uacutetiles para para la gestioacuten
de los nodos son los siguientes
Eliminar un nodo de la lista
Reinstalar un nodo
Listar los nodos ya instalados
Acceder a un nodo
$rocks remove host nombre_nodo
$rocks remove host nombre_nodo
$rocks set host boot nombre_nodo action=install
$rocks set host boot nombre_nodo action=install
$rocks list host
$rocks list host
$ssh nombre_nodo
$ssh nombre_nodo
73
Ejecutar un comando de manera remota a un nodo
332 Creacioacuten de cuentas de usuario Para agregar a un usuario hay que realizar los
siguientes pasos
1 Creacioacuten de la cuenta
$useradd nombre_usuario
2 Asignacioacuten de una contrasentildea
$passwd nombre_usuario
3 Sincronizacioacuten de la cuenta de usuario con el resto de nodos
$rocks-user-sync
333 Configuracioacuten del directorio compartido El directorio share es compartido por el
FrontEnd y el resto de nodos se localiza dentro del FrontEnd en la carpeta exports siendo la
carpeta share un enlace simboacutelico a esta uacuteltima
Al principio es posible que no se sincronicen correctamente los archivos introducidos en el
directorio debido a que la carpeta inicialmente estaacute vaciacutea por lo que para solucionar este
inconveniente puede usarse el comando siguiente para reiniciar dicho servicio
$ssh nombre_nodo lsquocomandorsquo
$ssh nombre_nodo lsquocomandorsquo
$cd
$export fs ndashrv
service nfs restart
$cd
$export fs ndashrv
service nfs restart
74
34 Operaciones baacutesicas de Rocks
Comandos y aplicaciones esenciales para el manejo del cluacutester
Ver que rolls estaacuten instalados
$rocks list roll
Visualizar el estado del sistema Figura 318
$qstat ndashf
Probar el sistema de colas para distribuir tareas a los nodos
Para ello se prueba que el SGE del cluacutester funcione enviaacutendole una serie de trabajos
mediante el comando qsub
En primer lugar se crea un fichero (pruebapl) que tenga permisos de ejecucioacuten con el
siguiente contenido
Figura 318 Comando qstat ndashf (Fuente Elaboracioacuten propia)
75
usrbinperl
for(my $i=0$ilt30$i++) sleep(2) print okn
Y se ejecuta con el siguiente comando
$ for ((i=1ilt=10i+=1)) do qsub pruebapl done
Al ejecutarse se puede comprobar que los trabajos se han mandado Figura 319
Y al realizar de nuevo un ldquoqstat ndashfrdquo Figura 320 se observa coacutemo se van realizando
Figura 319 Enviacuteo de trabajos por medio del comando qsub (Fuente Elaboracioacuten propia)
Figura 320 Estado de los trabajos pendientes mostrados por qstat ndashf (Fuente Elaboracioacuten propia)
76
Para ver la carga de trabajo en el cluacutester de manera global y de forma graacutefica se tiene que
ingresar en un navegador web en la siguiente direccioacuten httplocalhostganglia apareceraacute la
Figura 321
Figura 321 Visualizacioacuten de la distribucioacuten de cargas en el cluacutester usando la herramienta Ganglia (Fuente Elaboracioacuten propia)
77
Capiacutetulo 4 Metodologiacutea y Resultados
Una vez finalizada la instalacioacuten y puesta en operacioacuten del equipo se analizaron diferentes
metodologiacuteas de trabajo lo que implicoacute un trabajo arduo debido a que existen complicaciones
cuando se buscan temas relacionados a vulnerar sistemas operativos La realizacioacuten de este
proyecto estaacute basado en la metodologiacutea de Joshua Picolet ldquoCracking Methodologyrdquo (Picolet
2017)
41 Obtener Archivo hash
Se pueden vulnerar contrasentildeas de Windows de diferentes maneras Una de ellas es
mediante el acceso al archivo del Administrador de cuentas de seguridad (SAM) el cual se detalla
en el apartado 253 a traveacutes de la obtencioacuten de las contrasentildeas del sistema en su forma hash por
medio de herramientas diferentes Alternativamente las contrasentildeas se pueden leer desde la
memoria lo que tiene el beneficio adicional de recuperar las contrasentildeas en texto plano y evitar el
requisito de descifrado Para comprender los formatos que se observan cuando se descarguen
hashes del sistema de Windows se requiere una breve descripcioacuten de los diferentes formatos de
almacenamiento
Originalmente las contrasentildeas de Windows de menos de 15 caracteres se almacenaban en
el formato hash de Lan Manager (LM) Algunos sistemas operativos como Windows 2000 XP y
Server 2003 continuacutean usando estos hashes a menos que esteacuten deshabilitados por el usuario
Ocasionalmente un sistema operativo como Windows Vista puede almacenar el hash LM para la
compatibilidad con otros sistemas Seguacuten analistas incluye varias vulnerabilidades como dividir
78
la contrasentildea en dos bloques y permitir que cada uno se descifre de forma independiente Mediante
el uso de tablas Rainbow es trivial descifrar una contrasentildea almacenada en un hash LM
independientemente de la complejidad Este hash se almacena con la misma contrasentildea calculada
en el formato de hash NT como el que se muestra en el siguiente ejemplo
Ejemplo de un hash NTLM con el componente LM y NT
Administrator500611D6F6E763B902934544489FCC9192BB71ED1E7F2B60ED5A2
EDD28379D45C91
Los sistemas operativos Windows maacutes recientes como el Windows 8 y 10 usan el hash NT
En teacuterminos simples no hay una debilidad significativa en este hash que lo diferencie de cualquier
otra funcioacuten hash criptograacutefica Se requieren meacutetodos de descifrado como lo es la fuerza bruta o
ataque de diccionario para recuperar la contrasentildea si uacutenicamente se almacena en el formato NT
Ejemplo de un hash NTLM uacutenicamente con el componente NT (como se ve en los sistemas
Windows mas recientes
Administrator500NOPASSWORDEC054D40119570A4663
4350291AF0F72
Es importante sentildealar que la cadena NO PASSWORD es variable seguacuten la herramienta
que se utilice Otras pueden presentar esta informacioacuten como ceros rellenos o comuacutenmente puede
79
ver la cadena ldquoAAD3B435B51404EEAAD3B435B51404EErdquo en lugar de ninguna contrasentildea
Esto significa que el hash LM estaacute vaciacuteo y no estaacute almacenado
El archivo hash se encuentran en el directorio ldquoWindows System32 configrdquo y se
necesitan ambos archivos SAM y SYSTEM Ademaacutes tambieacuten se encuentran en el archivo de
registro HKEY_LOCAL_MACHINE SAM al que no se puede acceder durante el tiempo de
ejecucioacuten Finalmente las copias de seguridad se pueden encontrar a menudo en ldquoWindows
Repairrdquo (Peleus 2019)
Para extraer el archivo hash de un sistema operativo con un nivel de seguridad C1 existen
diferentes meacutetodos en esta ocasioacuten se procederaacute a iniciar el equipo objetivo con una distribucioacuten
de Linux desde una memoria USB como se muestra en la figura 41 para de esta manera ingresar
al directorio CWINDOWSSystem32Config directorio de ubicacioacuten de los archivos SAM y
SYSTEM que son los necesarios para obtener el archivo hash (Caballero 2018)
Figura 41 Arranque con LiveUSB KaliLinux (Fuente Elaboracioacuten propia)
80
42 Dar Formato al Hash
En este punto es donde se tiene que identificar el algoritmo con el que fueron encriptados
los archivos SAM y SYSTEM que se han obtenido en el punto anterior con la finalidad de
seleccionar el tratamiento que se les daraacute El algoritmo de encriptacioacuten del archivo SAM de
Windows 10 es NTLM y ademaacutes estaacute almacenado en un formato binario (ByteBleeder 2017) por
lo que fue necesario instalar la herramienta con licencia GNU samdump2 para obtener la syskey y
de esta manera poder extraer los hash desde el archivo SAM de Windows
En la figura 42 se han obtenido los hashes del archivo SAM donde se puede observar que
los usuarios Administrador e Invitado estaacuten deshabilitados ademaacutes de que existen tres cuentas de
usuario activas las cuales son Gad prueba y usuarioprueba cada una con su contrasentildea cifrada
en formato NTLM a la derecha del nombre de usuario la cuenta usuarioprueba fue a la que se le
realizoacute el anaacutelisis que se detalla posteriormente
43 Evaluar la fuerza del Hash
En criptografiacutea se dice que un algoritmo criptograacutefico se rompe si por alguacuten meacutetodo se
consigue reducir su fortaleza es decir reducir por ejemplo su entropiacutea de los 2256 bits teoacutericos a
Figura 42 Resultado de la ejecucioacuten de la herramienta samdump2 (Fuente Elaboracioacuten propia)
81
tan soacutelo 2255 por ejemplo El hecho de que se encuentre una colisioacuten no implica necesariamente
que un algoritmo se haya roto pues podriacutea haber sido realizado mediante fuerza bruta pero puede
ser una causa
Un ataque de colisioacuten significa que encuentro dos entradas diferentes que producen el
mismo resultado de un hash particular Este es generalmente el tipo de ataque maacutes faacutecil Es el tipo
de ataque que se conoce desde hace varios antildeos contra MD5
Dado que una utilidad importante de las funciones hash estaacute en las firmas digitales
encontrar colisiones puede facilitar falsificar firmas digitales Es decir dos mensajes distintos que
tengan un mismo resumen tienen ademaacutes la misma firma y un atacante puede reemplazar un
mensaje por el otro Un ejemplo de este ataque fue demostrado en 2008 por un grupo de
investigadores en Aacutemsterdam los cuales falsificaron un certificado raiacutez mediante el uso de un
ataque de colisioacuten contra el algoritmo MD5 (Preukschat 2015)
Un ataque previo a la imagen generalmente es mucho maacutes difiacutecil es encontrar otra entrada
que produzca el mismo resultado que un hash que ya se conoce
Para tratar de aclarar la diferencia aquiacute en un ataque de colisioacuten encuentro dos entradas A
y B que producen el mismo resultado En un ataque de preimagen comienzo a partir de alguacuten
resultado conocido X y encuentro una entrada que produciraacute X como resultado (Coffin 2015)
82
Para realizar esta evaluacioacuten se tomoacute como base la tabla del apeacutendice Hash craking
benchmark (Picolet 2017) el objetivo es observar el comportamiento y velocidad del Hash
mencionado cuando fue sometido a pruebas de criptoanaacutelisis Si se trata de un Hash lento se deberaacute
ser maacutes selectivo en queacute tipos de diccionarios y meacutetodos de criptoanaacutelisis se le debe aplicar Si es
un Hash raacutepido se puede ser maacutes libre con la estrategia de criptoanaacutelisis Este estudio busca
realizar una prueba de criptoanaacutelisis mostrando las diferencias entre el poder de procesamiento de
un cluacutester de 17 nodos contra una computadora personal por lo que no necesariamente se
implementaraacute el meacutetodo oacuteptimo para la realizacioacuten del criptoanaacutelisis
44 Calcular la capacidad del equipo
Con la informacioacuten de la evaluacioacuten de la fuerza del Hash obtenida en el apartado anterior en
este apartado se tiene que establecer la capacidad de la plataforma o plataformas que realizaraacuten
el criptoanaacutelisis
Para conocer la capacidad de procesamiento del cluacutester de alto rendimiento se utilizoacute la
herramienta Linpack Benchmark HPL es una implementacioacuten portaacutetil del Benchmark de alto
rendimiento LINPACK para equipos de coacutemputo distribuido Actualmente se utiliza para obtener
varios resultados en la lista actual de Top500 de HP cluacutesters (Dongarra 2010)
El Linpack Benchmark (HPL del Ingleacutes High-Performance Linpack Bench-mark) es un
software que resuelve un sistema lineal aleatorio de doble precisioacuten aritmeacutetica (64 bits) en equipos
de memoria distribuida El rendimiento muestra el nuacutemero de operaciones de punto flotante por
segundo logradas por el sistema (Petitet Whaley Dongarra amp Cleary 2008)
83
El HPL fue desarrollado en el Argone National Laboratory por Jack Don-garra en 1976 y
es uno de los maacutes usados en sistemas cientiacuteficos y de ingenieriacutea para el caacutelculo de prestaciones
Las principales caracteriacutesticas del algoritmo utilizado por el HPL son
Distribucioacuten ciacuteclica de datos de bloques de dos dimensiones
Variante derecha de la factorizacioacuten LU con pivoteo parcial (Teacutecnica de pivoteo
Dicta que el elemento pivote que debe escogerse es el mayor absolutamente de cada
columna)
Factorizacioacuten recursiva con pivoteo y reenviacuteo de columna
Distintas topologiacuteas virtuales de reenviacuteos
Algoritmo de reduccioacuten de reenviacuteo para ancho de banda (Castelloacute Gimeno 2014)
La resolucioacuten del sistema de ecuaciones se realiza del siguiente modo
1 Se crea un sistema de ecuaciones
(1)
119860119909 = 119887
(2)
119860 isin 119877119899119909119899
(3)
119909 119887 isin 119877119899
84
HPL calcula que la solucioacuten para un sistema de ecuaciones lineales se puede generalizar
como 119860119909 = 119887 donde 119860 es una matriz 119873 119909 119873 cuyos valores se generan aleatoriamente
119909 119910 119887 son vectores de tamantildeo 119873 Como se muestra en la Figura 43
2 Primero se calcula la factorizacioacuten 119871119880 con pivoteo parcial de los coeficientes 119899 y 119899 + 1
de la matriz [119860 119887]
(4)
119875119903[119860 119887] = [[119871119880] 119910]
(5)
119875119903 119871 119880 isin 119877119899119909119899
(6)
119910 isin 119877119899
El primer paso es la factorizacioacuten de la matriz 119860 en una matriz triangular superior 119880
y una matriz triangular inferior 119871 tal que 119860 = 119871119880 La factorizacioacuten se usa para calcular
el vector solucioacuten 119909
3 Una vez el pivoteo (representado por la permutacioacuten de la matriz 119875119903) y la factorizacioacuten
inferior se aplican sobre 119887 la solucioacuten se obtiene en un paso resolviendo el sistema
superior triangular
Figura 43 Sistema de Ecuaciones tipo 119860119909 = 119887 (Fuente Elaboracioacuten propia)
85
(7)
119880119909 = 119910
La matriz triangular inferior izquierda y el conjunto de pivotes no se devuelven en el
resultado Para la estabilidad numeacuterica el algoritmo de factorizacioacuten utiliza un pivote parcial de
fila
La implementacioacuten paralela de Linpack divide la matriz 119860 119873 119909 119873 en una cuadriacutecula de
procesos 119875 119909 119876 bidimensional y luego la divide en subgrupos de mosaicos 119873119861 119909 119873119861 (Petitet
Whaley Dongarra amp Cleary 2008)
Utilizando la herramienta HPL en esta investigacioacuten se obtuvieron los siguientes
resultados
La prueba abordoacute el ajuste de 119873 y la eficiencia obtenida en comparacioacuten con el rendimiento
maacuteximo Se determinoacute un valor para 119873 = 800000 aleatoriamente para ejecutar HPL en todo el
cluacutester Sin embargo el tiempo fue excesivo por lo tanto se determinoacute que este tamantildeo del
problema fue demasiado grande para el cluacutester Al realizar otros experimentos con valores maacutes
pequentildeos de 119873 se obtuvieron mejores resultados de rendimiento La Tabla 41 muestra el
rendimiento de HPL en GFlops para 119873 = 300000 400000 y 500000 Como se puede observar
en la Tabla 41 se obtuvo el mejor resultado de rendimiento 850 GFlops para 119873 = 500000 para
valores mayores de 119873 la distribucioacuten de cargas del cluacutester empieza a sobrepasar su capacidad como
se muestra en la Figura 44 y la vez su rendimiento disminuye Esto ocurre porque la cantidad de
memoria utilizada con las memorias intermedias de comunicacioacuten MPI es mayor de lo esperado
Por lo tanto es necesario dejar maacutes del 20 de la memoria para el sistema (Petitet Whaley
86
Dongarra amp Cleary 2008) Tambieacuten se realizaron pruebas usando solo un nodo de coacutemputo y el
rendimiento fue de 34 GFlops para 119873 = 20000
Tabla 41 Rendimiento de HP cluacutester (Fuente Elaboracioacuten propia)
Analizando la eficiencia obtenida para la ejecucioacuten de un solo nodo cuando 119873 = 20000
se obtuvo el 823 del rendimiento maacuteximo (el rendimiento maacuteximo para un solo nodo es 477
Gflops) Para todo el cluacutester el rendimiento maacuteximo seriacutea 119879119898119886119909 = 477 119909 17 =
8109 119866119891119897119900119901119904 aproximadamente
Figura 44 Distribucioacuten de cargas del cluacutester
0
500
1000
300000 400000 500000
Gflops
Gflops
87
La Figura 44 titulada ldquoDistribucioacuten de cargas del cluacutesterrdquo muestra la imagen de la
herramienta Ganglia de manera graacutefica a traveacutes de cuadros que variacutean de color dependiendo de la
carga que tenga cada uno de los nodos al momento de implementar la herramienta HPL De manera
inicial indica que el cluacutester tiene un total de 17 equipos de 4 cores cada uno eso da un total de 68
cores trabajando sin equipos inactivos Muestra tambieacuten una sobrecarga en el cluacutester y un
porcentaje promedio de 100 de uso en la uacuteltima hora
45 Establecer Estrategia
Esto significa uacutenicamente que en este apartado se realizaraacute una guiacutea baacutesica para procesar
los hashes obtenidos sin perder de vista que cada escenario a criptoanalizar es uacutenico en funcioacuten
de las circunstancias externas Como ya se ha mencionado anteriormente esta estrategia de
criptoanaacutelisis se ha planteado implementar dos meacutetodos los cuales son Fuerza Bruta y ataque de
diccionario sin importar si son o no los oacuteptimos debido a que se realizaraacute una comparativa de
capacidad de procesamiento
451 Fuerza Bruta Una vez que se han intentado varios meacutetodos y han fallado se puede
iniciar un ataque de fuerza bruta estaacutendar poniendo especial atencioacuten en la cantidad de siacutembolos
del alfabeto que puede usar el equipo a analizar Por encima de 8 caracteres esto generalmente no
tiene sentido debido a limitaciones de hardware y entropiacutea (complejidad de la contrasentildea) Una
contrasentildea de Windows seguacuten Microsoft (Microsoft Inc 2019) una contrasentildea de Windows debe
estaacute formada por
88
26 Caracteres mayuacutesculas de la ldquoArdquo a la ldquoZrdquo
26 Caracteres minuacutesculas de la ldquoardquo a la ldquozrdquo
10 Diacutegitos de base 10 (0 a 9)
32 Caracteres especiales (~$^amp_-+=|()[]ltgt)
94 Caracteres alfanumeacutericos en total
4511 Cantidad de combinaciones posibles Si se usa una clave numeacuterica (nuacutemeros del 0
al 9) existen 10 posibilidades de 4 diacutegitos de longitud que es la extensioacuten por defecto de los
teleacutefonos celulares Para 4 diacutegitos las combinaciones posibles seriacutean 10 mil 104 = 10000
(Labaca Castro 2014)
Por otro lado si tomamos un alfabeto de 26 letras mayuacutesculas y 26 minuacutesculas 10 nuacutemeros
y 10 caracteres especiales en total tenemos 72 diferentes posibilidades para un uacutenico caraacutecter Eso
significa que las combinaciones para una contrasentildea de 4 caracteres seriacutean 724 = 26873856
Baacutesicamente maacutes de 26 millones de combinaciones en una clave de 4 caracteres contra 10 mil en
una clave de 4 diacutegitos numeacutericos En este estudio se utiliza la contrasentildea de bloqueo descrita en el
apartado anterior que es de 94 combinaciones para cada caraacutecter teniendo una longitud de 7
caracteres por lo tanto seraacuten 947 = 64847759000000 de posibles combinaciones que
nuestros equipos deben explorar para obtener la contrasentildea correcta
Como se mencionoacute en el apartado 42 el usuario sobre el cual se realizoacute el criptoanaacutelisis
fue usuarioprueba el cual constaba de una contrasentildea de longitud 7 caracteres la cual despueacutes
de realizado el anaacutelisis y como se puede observar en la Figura 45
89
1 Anaacutelisis a usuario usuarioprueba
2 Nuacutemero de nodos en operacioacuten 17
3 Nuacutemero de procesos ejecutaacutendose de forma paralela 68
4 Tiempo de duracioacuten del anaacutelisis en el cluacutester 122727 horas
5 Contrasentildea criptoanalizada Pass7
Asiacute mismo en la Tabla 42 se muestra el resultado final y el tiempo de duracioacuten del
criptoanaacutelisis realizado al archivo SAM con el cluacutester y la computadora personal
Tabla 42 Resultados de criptoanaacutelisis de archivo SAM (Fuente Elaboracioacuten propia)
Nodos Nuacutecleos Tiempo de Procesamiento (Horas)
1 (PC) 4 1075316
17 (Cluacutester) 68 122727
1
2
3
4 5
Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester (Fuente Elaboracioacuten propia)
90
452 Diccionario Meacutetodo empleado para romper la seguridad de los sistemas basados en
contrasentildeas (password) en la que el atacante intenta dar con la clave adecuada probando todas (o
casi todas) las palabras posibles ingresadas previamente en un diccionario idiomaacutetico
Generalmente se emplean programas especiales que se encargan de ello
Este meacutetodo suele ser maacutes eficiente que el meacutetodo de fuerza bruta debido a que muchas
usuarios casi siempre suelen utilizar contrasentildeas con una o varias palabras existentes en su lengua
para que la contrasentildea no sea olvidada faacutecilmente y sea sencilla de recordar esto no es una praacutectica
recomendable (Alegsa 2018)
Para realizar este meacutetodo se utilizoacute un diccionario descargado de internet el cual contiene
10000000 de posibles contrasentildeas (g0tmi1k 2018)
Ademaacutes se ejecutoacute un programa creado en lenguaje C (Anexo 1) a traveacutes de la
implementacioacuten de las libreriacuteas MPI y open MPI propias de la arquitectura de cluacutester de
computadoras Este programa fue ejecutado en los mismos equipos descritos anteriormente para
obtener todos los nuacutemeros primos encontrados dentro de un intervalo dado En este caso el
intervalo dado fue de 10000000 con los siguientes resultados mostrados en la Tabla 43
Tabla 43 Resultados de ejecucioacuten de programa en C para la obtencioacuten de nuacutemeros primos (Fuente Elaboracioacuten
propia)
Nodos Nuacutecleos Tiempo de Procesamiento (Segs)
1 (PC) 4 5078
17 (Cluacutester) 68 00013
91
453 Analizar los resultados Posterior a realizar el criptoanaacutelisis y descifrar con eacutexito
una cantidad suficiente de hashes se analizan los resultados en busca de pistas o patrones Este
anaacutelisis puede ayudar a tener eacutexito en cualquier hash restante
454 Personalizar ataques Tomando como base el anaacutelisis de resultados realizado
previamente se disentildearaacuten diversas estrategias personalizadas que aprovechen las vulnerabilidades
conocidas o patrones Los ejemplos seriacutean ataques de maacutescara personalizados o reglas para
adaptarse al comportamiento o las preferencias del usuario objetivo
92
Conclusioacuten
El trabajo de investigacioacuten presentado parte de la necesidad de buscar alternativas para
explotar al maacuteximo la capacidad de procesamiento del equipo de coacutemputo que existe actualmente
dentro del inventario del Instituto Tecnoloacutegico de Acapulco asiacute como proveer una plataforma que
coadyuve a la investigacioacuten dentro del Instituto a traveacutes de implementar un cluacutester de coacutemputo
con capacidad para realizar proyectos en el aacuterea de ingenieriacutea y matemaacuteticas con el fin de optimizar
el tiempo de ejecucioacuten lo cual en un futuro se veraacute reflejado en ventajas para el desarrollo de la
regioacuten
La revisioacuten y anaacutelisis de informacioacuten en relacioacuten a cluacutesters es muy interesante pero a la
vez es compleja dado que involucra diferentes aspectos durante su evolucioacuten asiacute como diversas
metodologiacuteas para su formacioacuten e implementacioacuten Se considera de suma importancia para este
trabajo las revisiones efectuadas ya que son la base para la propuesta entregada
De acuerdo a las especificaciones teacutecnicas de los equipos informaacuteticos existentes dentro
del laboratorio de la Maestriacutea en Sistemas Computacionales y una vez que se realizoacute el anaacutelisis
de varios casos de eacutexito se propuso la metodologiacutea para implementacioacuten de un cluacutester homogeacuteneo
tipo Beowolf Este meacutetodo estaacute basado en otros que ya se han implementado bajo realidades
acadeacutemicas similares rescatando las etapas maacutes importantes de cada uno y complementaacutendolo con
los aportes personales se consideroacute que fue el oacuteptimo debido a que se implementoacute con hardware
convencional y herramientas de uso libre
93
El hecho de haber seleccionado un meacutetodo adecuado permitioacute superar gran parte los
problemas que presentaban las metodologiacuteas que fueron analizadas simplificoacute la implementacioacuten
del cluacutester y permitioacute el poder alcanzar una mayor estabilidad en su desempentildeo desde su etapa
inicial fue importante conocer el resultado en cada una de las etapas de implementacioacuten para
asegurar su desenvolvimiento en el futuro
Para integrar los equipos independientes a la arquitectura cluacutester se realizoacute el disentildeo de
una topologiacutea de red Gigabit Ethernet tipo estrella con un direccionamiento IP estaacutetico la
configuracioacuten de protocolos de comunicacioacuten remota sin autenticacioacuten la comparticioacuten de
archivos en red y la utilizacioacuten de aplicaciones de licencia GPL que permiten obtener el
funcionamiento similar a la de una supercomputadora
Haciendo uso de libreriacuteas de paso de mensajes (MPI) y el software John the Ripper para el
descifrado de contrasentildeas la arquitectura cluacutester implementada alcanzoacute una eficiencia de 885
de rendimiento en comparacioacuten con los recursos computacionales de un solo equipo con las
caracteriacutesticas de un nodo Ademaacutes otros de los proyectos ejecutados en la arquitectura cluacutester
para probar el rendimiento fue la ejecucioacuten de un programa para la deteccioacuten de nuacutemeros primos
dentro de un archivo de 10000000 de nuacutemeros obteniendo una eficiencia de maacutes de 99 gracias
a la distribucioacuten de tareas que proporcionan las libreriacuteas de paso de mensajes (MPI) dentro de la
arquitectura cluacutester
Con la implementacioacuten de la arquitectura cluacutester el laboratorio de la Maestriacutea en Sistemas
Computacionales podraacute dar soluciones potentes eficientes y econoacutemicas en los entornos de
94
investigacioacuten mejorando la capacidad de procesamiento en aplicaciones como evaluacioacuten de
algoritmos compresioacuten de archivos renderizacioacuten de imaacutegenes anaacutelisis de datos (big data) en un
tiempo relativamente bajo ideal para las necesidades educativas
La experiencia obtenida al realizar esta investigacioacuten y propuesta ha sido enriquecedora
tanto por la obtencioacuten de conocimiento en base a la historia evolucioacuten y arquitectura de cluacutesters
asiacute como la programacioacuten paralela y sus ventajas en diferentes proyectos desarrollados en todo el
mundo Igualmente la comparacioacuten entre cada uno de los modelos y meacutetodos resulta interesante
dado que existe un sinnuacutemero de ejemplos con caracteriacutesticas diferentes pero baacutesicamente con un
mismo objetivo final
Trabajo Futuro
El cluacutester implementado en el Laboratorio de la Maestriacutea en Sistemas computacionales del
Instituto Tecnoloacutegico de Acapulco puede ser utilizado en gran cantidad de aplicaciones dentro de
las diferentes aacutereas de investigacioacuten del Instituto asiacute como estar disponible para el Departamento
de Posgrado e Investigacioacuten como apoyo durante la realizacioacuten de tareas y proyectos dentro de las
aacutereas de Desarrollo de Sistemas Inteligentes asiacute como de Tecnologiacuteas Web
Propuesta de Trabajo a Futuro
Durante la realizacioacuten de este proyecto se observoacute la necesidad que existe dentro del
departamento de Investigacioacuten y Posgrado de equipos de alta capacidad de procesamiento para
realizar de una manera maacutes eficiente las investigaciones que se estaacuten llevando a cabo Una de ellas
es el ldquoSistema de apoyo al diagnoacutestico oportuno de Retinopatiacutea Diabeacuteticardquo en la cual a traveacutes del
entrenamiento de una red neuronal se clasificaraacuten y evaluaraacuten un nuacutemero de 3000 imaacutegenes para
95
demostrar la presencia de dicha enfermedad en pacientes del Instituto Estatal de Oftalmologiacutea
Actualmente se ha realizado una prueba de entrenamiento de dicha red neuronal con 70 imaacutegenes
obteniendo como resultado un tiempo clasificacioacuten y evaluacioacuten de 301532 horas en un equipo
con un procesador Core I7 con 8 GB en memoria RAM
96
Bibliografiacutea
Alegsa (01 de 01 de 2018) Alegsa Diccionario Informaacutetico Recuperado el 07 de 2019 de
Alegsa httpwwwalegsacomarDicataque_por_diccionariophp
Avecto (2017) Avecto Limited Recuperado el 10 de 08 de 2018 de AVECTO a Bomgar
Company wwwavectocom
Borghello C (2009) Seguridad de la Informacioacuten Recuperado el 11 de 2018 de Criptografiacutea de
la A-Z httpswwwsegu-infocomarproyectosp1_hashhtm
Branch Bedoya J amp Mesa Muacutenera A (Diciembre de 2008) Implementacioacuten de un cluster
homogeacuteneo para la resolucioacuten de problemas de alta complejidad computacional Avances
en Sistemas e Informaacutetica 5(3)
ByteBleeder (02 de 06 de 2017) Practical guide to NTLM Relaying in 2017 Obtenido de Github
httpsbyt3bl33d3rgithubiopractical-guide-to-ntlm-relaying-in-2017-aka-getting-a-
foothold-in-under-5-minuteshtml
Caballero A (26 de 06 de 2018) Hacking Eacutetico Recuperado el 03 de 2019 de John The Ripper
httpwwwreydescomdq=Recuperar_la_Contrasena_del_Administrador_utilizando_s
amdump2_y_John_The_Ripper
Carretero Peacuterez J de Miguel Anasagasti P Garciacutea Carballeira F amp Peacuterez Costoya F (2001)
Sistemas Operativos Una visioacuten aplicada (C F Madrid Ed) Madrid Espantildea
McGRAW-HillInteramericana
Castelloacute Gimeno A (30 de 07 de 2014) Universitat Jaume Recuperado el 10 de 2019 de
Evaluacioacuten de prestaciones mediante laaplicacioacuten HPL de clusters utilizandorCUDA
97
httprepositoriujiesxmluibitstreamhandle10234115082TFM_2014_CastelloGimen
oApdfsequence=1ampisAllowed=y
Chaacutevez J Echeverriacutea C Correa M Vaacutezquez E Suaacuterez M Maacutermol X Diacuteaz G (07 de
1999) Centro de Caacutelculo Cientiacutefico Recuperado el 01 de 05 de 2018 de Universidad de
Los Andes httpwwwcecalculavedocumentaciontutorialesbeowulfinformehtml
Chirinov R (2003) Nfinite9000 SL Recuperado el 26 de 04 de 2018 de Noticias 3D
httpswwwnoticias3dcomarticuloaspidarticulo=248amppag=4
Coffin J (23 de 07 de 2015) Quora Recuperado el 15 de 08 de 2019 de
httpswwwquoracomWhat-does-it-mean-when-a-hashing-algorithm-has-been-broken
Dongarra J (2010) Top500 Super computer sites Recuperado el 07 de 2019 de http
wwwtop500org
Educba (01 de 01 de 2019) Recuperado el 10 de 2019 de Educbaorg
httpswwweducbacomidea-algorithm
europa press (04 de 06 de 2013) Portal Tic Recuperado el 18 de 11 de 2018 de Europa Press
httpswwweuropapressesportalticgadgetsnoticia-cuarta-generacion-intel-core-mayor-
salto-cuanto-ahorro-energetico-20130604174722html
g0tmi1k (2018) github Recuperado el 05 de 2019 de github
httpsgithubcomdanielmiesslerSecListsblobmasterPasswordsCommon-
Credentials10-million-password-list-top-1000000txt
Gonzaacutelez Agudelo D (2014) El riesgo y la falta de politicas de seguridad informaacutetica una
amenaza en las empresas certificadas basc Recuperado el 20 de 05 de 2018 de
Universidad Militar Nueva Granada
httpsrepositoryunimilitareducobitstream10654122511ENSAYO20FINALpdf
98
Gonzaacutelez Ramiacuterez E amp Rodriacuteguez Saacutenchez A (2008) Disentildeo e implementacioacuten de un cluster
tipo BEOWULF para el desarrollo de coacutemputo cientiacutefico avanzado CdMx Mexico
Hernandez M (2013) Forensics Mexico Recuperado el 07 de 2018 de La importancia del
registro de Windows parte 1 httpforensicsmexicoblogspotcom201309la-
importancia-del-registro-de-windowshtml
Kowalczyk C (01 de 2015) Crypto-IT Recuperado el 11 de 2018 de Crypto-IT
httpwwwcrypto-itnetengasymmetricindexhtml
Labaca Castro R (13 de 06 de 2014) We live security Recuperado el 2019 de 08 de 07 de
Welivesecuritybyeset httpswwwwelivesecuritycomla-es20140613matematica-
claves-numerica-alfanumerica
Lizaacuterraga C (2002) Departamento de Fiacutesica Recuperado el 12 de 03 de 2018 de Universidad
de Sonora httpclustersfisicausonmx
Llorens E amp Pentildea M (2002) Recuperado el 04 de 2018 de Departament dArquitectura de
Computadors httppersonalsacupceduenricPFCBeowulfbeowulfhtml
Meneacutendez-Barzanallana R (07 de 08 de 17) Universidad de Murcia Recuperado el 11 de 2018
de Informaacutetica Aplicada a las Ciencias Sociales
httpswwwumesdocenciabarzanaIACCSSCriptografiahtml
Merkle R amp Damgaringrd I (sf) Numerenturorg Recuperado el 06 de 2019 de Para computar -
numerenturorg httpnumerenturorgfuncion-merkle-damgard
Microsoft Inc (02 de 05 de 2019) wwwmicrosoftcom Obtenido de Password must meet
complexity requirements httpsdocsmicrosoftcomes-eswindowssecuritythreat-
protectionsecurity-policy-settingspassword-must-meet-complexity-requirements
99
Mifsud E (26 de 03 de 2012) Introduccioacuten a la seguridad informaacutetica Recuperado el 07 de 05
de 2018 de Ministerio de educacioacuten cultura y deportes Gobierno de Espantildea
httprecursosticeducacionesobservatoriowebessoftwaresoftware-general1040-
introduccion-a-la-seguridad-informaticashowall=1
Murugesan S (01 de 02 de 2008) Researchgate doi101109MITP200810
Nahar K amp Abu Abbas O (01 de 2010) Researchgate Recuperado el 07 de 2019 de
Researchgate
httpswwwresearchgatenetpublication315492522_Hybrid_Cipher_System
Nievas F Pino O amp Arroyo R (sf) Los clusters como Plataforma de Procesamiento Paralelo
Recuperado el 25 de 04 de 2018 de
httpusuarioslycoseslacaraocultadescargasClusters_definitivo pdf
Pawar S (2016) A computer science portal for geeks Recuperado el 10 de 2018 de
Geeksforgeeks httpswwwgeeksforgeeksorgrc5-encryption-algorithm
Peleus (2019) NETSEC Recuperado el 08 de 2019 de httpsnetsecwsp=314
Peacuterez Tavera I (2014) Obtenido de Universidad Autonoma del Estado de Hidalgo
httpswwwuaehedumxscigeboletinprepa4n2e4html
Peacuterez M (2001) Recuperado el 15 de 04 de 2018 de
httpwwwdragonesorgBibliotecaArticulosArquitecturaParalela2pdf
Petitet A Whaley R C Dongarra J amp Cleary A (2008) HPL - A Portable Implementation of
the High-Performance Linpack Benchmark for Distributed-Memory Computers
Recuperado el 07 de 2019 de httpwwwnetliborgbenchmarkhpl
Picolet J (2017) Hash Crack Password Cracking Manual (Vol 2) Createspace Independent
Pub
100
Preukschat A (23 de 02 de 2015) Oro y Finanzas Recuperado el 07 de 2019 de
httpswwworoyfinanzascom201502que-es-colision-criptografia-bitcoin
Robbins D (2008) OpenMosix Recuperado el 22 de 04 de 2018 de the openMosix Project
httpopenmosixsourceforgenetintroduction_to_openmosixhtml
Rocha Quezada J d Botello Rionda S Vargas Feacutelix J M amp Munguiacutea Torres I A (Sep-Dic
de 2011) Disentildeo e implementacioacuten de un cluacutester de coacutemputo de alto rendimiento Acta
Universitaria 21(3) 24-33 Recuperado el 1 de 12 de 2018
Rocksclusters (01 de 01 de 2010) httpwwwrocksclustersorg Recuperado el 01 de 06 de 2018
de httpwwwrocksclustersorg httpwwwrocksclustersorg
Sanjoy K (01 de 01 de 2015) DZone Recuperado el 15 de 06 de 2019 de DZone
httpsdzonecomarticlessecurity-algorithms-des-algorithm
Security Degree Hub (01 de 2017) Security Degree Hub Recuperado el 13 de 02 de 2019 de
Security Degree Hub httpswwwsecuritydegreehubcomwhat-is-cryptanalysis
Simmons G (01 de 01 de 2019) Encyclopedia Britannica Recuperado el 08 de 2019 de
Encyclopedia Britannica httpswwwbritannicacomtopicRSA-encryption
statista (09 de 2017) Statista Obtenido de Statista Co httpsesstatistacom
Turner D (2004) Recuperado el 12 de 02 de 2018 de Ames Lab
httpwwwsclameslabgovProjectsparrallel_computingpara_intohtml
United States Government Department of Defense (1983) Trusted Computer System Evaluation
Criteria Rainbow Series
Universidad Internacional de Valencia (09 de Septiembre de 2016) Nuestros
expertosTecnologiacutea Recuperado el 27 de Abril de 2018 de Universidad Internacional de
Valencia httpswwwuniversidadviuesla-seguridad-informatica-puede-ayudarme
101
Wallen J (19 de 01 de 2019) Lifewire Recuperado el 13 de 06 de 2019 de Lifewire
httpswwwlifewirecomgnome-3-desktop-4175640
Yang H (01 de 02 de 2019) Herong Yang Recuperado el 15 de 06 de 2019 de Cryptography
Tutorials httpwwwherongyangcomCryptographyDSA-Introduction-What-Is-DSA-
Digital-Signature-Algorithmhtml
102
Anexo 1
Programa en Lenguaje C para la obtencioacuten de nuacutemeros primos utilizando libreriacuteas mpi
include ltcstdlibgt
include ltiostreamgt
include ltiomanipgt
include ltcmathgt
include ltctimegt
include mpih
using namespace std
int main ( int argc char argv[] )
int prime_number ( int n int id int p )
void timestamp ( )
int main ( int argc char argv[] )
int i
int id
int master = 0
int n
int n_factor
int n_hi
int n_lo
int p
int primes
int primes_part
double wtime
n_lo = 1
n_hi = 10000000
n_factor = 2
MPIInit ( argc argv )
p = MPICOMM_WORLDGet_size ( )
id = MPICOMM_WORLDGet_rank ( )
if ( id == master )
cout ltlt n
cout ltlt Cuenta primosn
cout ltlt C++MPI versionn
cout ltlt n
cout ltlt Programa para contar cantidad de primos para un N dadon
cout ltlt Corriendo en ltlt p ltlt procesosn
cout ltlt n
103
cout ltlt N S Tiempon
cout ltlt n
n = n_lo
while ( n lt= n_hi )
if ( id == master )
wtime = MPIWtime ( )
MPICOMM_WORLDBcast ( ampn 1 MPIINT master )
primes_part = prime_number ( n id p )
MPICOMM_WORLDReduce ( ampprimes_part ampprimes 1 MPIINT
MPISUM
master )
if ( id == master )
wtime = MPIWtime ( ) - wtime
cout ltlt ltlt setw(8) ltlt n
ltlt ltlt setw(8) ltlt primes
ltlt ltlt setw(14) ltlt wtime ltlt n
n = n n_factor
MPIFinalize ( )
if ( id == master )
cout ltlt n
cout ltlt PRIME_MPI - Procesos maestron
cout ltlt Finalizacion del calculo normaln
return 0
int prime_number ( int n int id int p )
int i
int j
int prime
int total
104
total = 0
for ( i = 2 + id i lt= n i = i + p )
prime = 1
for ( j = 2 j lt i j++ )
if ( ( i j ) == 0 )
prime = 0
break
total = total + prime
return total
void timestamp ( )
define TIME_SIZE 40
static char time_buffer[TIME_SIZE]
const struct tm tm
size_t len
time_t now
now = time ( NULL )
tm = localtime ( ampnow )
len = strftime ( time_buffer TIME_SIZE d B Y IMS p tm )
cout ltlt time_buffer ltlt n
return
undef TIME_SIZE
i
El presente trabajo de tesis fue desarrollado en la Divisioacuten de Estudios de Posgrado e
Investigacioacuten del Instituto Tecnoloacutegico de Acapulco perteneciente al Programa
Nacional de Posgrados de Calidad (PNPC-CONACYT)
Con domicilio para recibir y oiacuter notificaciones en Av Instituto Tecnoloacutegico de Acapulco sn
Crucero del Cayaco Acapulco Guerrero Meacutexico CP 39905
Becario Gaddiel Fredy Flores Arteaga
CVU 851420
Nuacutem de apoyo 627006 Grado Maestriacutea
ii
Descargo de Responsabilidad Institucional
El que suscribe declara que el presente documento titulado ldquoCriptoanaacutelisis a la funcioacuten
hash de un sistema operativo nivel C1 empleando un cluacutester HPC con software de uso librerdquo es un
trabajo propio y original el cuaacutel no ha sido utilizado anteriormente en institucioacuten alguna para
propoacutesitos de evaluacioacuten publicacioacuten yo obtencioacuten de alguacuten grado acadeacutemico
Ademaacutes se han recogido todas las fuentes de informacioacuten utilizadas las cuales han sido
citadas en la seccioacuten de referencias bibliograacutefica de este trabajo
Nombre Ing Gaddiel Fredy Flores Arteaga Fecha y firma
iii
Dedicatoria
Este logro se lo dedico a mi toda mi familia que incondicionalmente siempre estaacute ahiacute
cuando los necesito A mis Padres especialmente dedicado a mi Madre que es un ejemplo de
esfuerzo para miacute sabe el camino complicado que he tenido que pasar para poder llegar a este
gratificante momento y siempre ha tenido una palabra que me alienta a no desmallar y seguir
adelante
Dedicado tambieacuten para mi hermano Uriel porque sin saberlo y a la distancia su apoyo y
confianza han sido un pilar fundamental para poder llegar a este momento
Adrielito hijo te dedico este logro por tu paciencia porque seacute que has tenido que pasar
tiempo con Papaacute en la escuela en lugar de estar en casa descansando o jugando despueacutes de salir
de tus clases gracias por soportarlo te amo y espero ser un ejemplo de esfuerzo y perseverancia
para ti
Los amo a todos
iv
Agradecimientos
Agradezco primero y ante todo a Dios todo se lo debo a Eacutel por derramar sus
bendiciones sobre miacute por acompantildearme en cada paso que doy y haber fortalecido mi corazoacuten e
iluminado mi mente Gracias Padre
A mi familia que ha estado ahiacute siempre a mi lado en los momentos maacutes oscuros y
difiacuteciles creyendo en miacute impulsaacutendome para alcanzar mis metas
Al Consejo Nacional de Ciencia y Tecnologiacutea por haberme apoyado econoacutemicamente
para la realizacioacuten de este proyecto
A mi director de tesis el Dr Eduardo de la Cruz Gaacutemez por su tiempo por su paciencia
por los valiosos aportes criacuteticas comentarios y sugerencias que realizoacute durante este proyecto
Al Departamento de Posgrado e Investigacioacuten del Instituto Tecnoloacutegico de Acapulco asiacute
como a toda la plantilla docente de la cual me llevo conocimiento y experiencias
enriquecedoras que sin lugar a dudas marcaron mi vida profesional
A la segunda generacioacuten muchas gracias Abejorros sin el apoyo mutuo durante el
tiempo que pasamos en las aulas y durante el desarrollo de los proyectos tal vez no lo
hubieacuteramos logrado
v
Resumen
El presente trabajo inicia con una breve introduccioacuten sobre la importancia que tiene la
seguridad en cualquier aspecto de la vida y sobre todo en el aacuterea laboral especiacuteficamente en el
aacuterea informaacutetica Posteriormente resalta coacutemo la criptografiacutea ha estado presente en momentos
importantes de la vida del ser humano sobre todo dentro del aacutembito militar en la cual ha sido
fundamental para permitir comunicaciones seguras Actualmente la criptografiacutea estaacute dentro de
nuestro diario vivir cuando realizamos transacciones en internet de manera segura Como parte de
la investigacioacuten en este trabajo se describen los tipos de criptografiacutea y criptoanaacutelisis tambieacuten se
analizan los niveles de seguridad de sistemas operativos asiacute como los meacutetodos de agrupamiento
de computadoras para implementar con la ayuda de esta herramienta de una manera maacutes raacutepida
criptoanaacutelisis a un sistema operativo con un nivel de seguridad C1
Palabras clave cluacutester seguridad criptoanaacutelisis
vi
Abstract
This work begins with a review of the importance of security in any aspect of life and
especially in the workplace specifically in the computer area Later this work speaks briefly about
how cryptography has been present at important moments in the life of the human being especially
in the military field in which it has been fundamental to allow secure communications Currently
cryptography is inside our daily life when we conduct transactions on the internet in a secure
manner As part of the research in this work the types of cryptography and cryptanalysis are
described as well as the security levels of operating systems and above all the main methods of
computers clustering to implement a system with a faster method of cryptanalysis in an operative
system with a security level C1
Keywords cluster security cryptanalysis
vii
Iacutendice de Contenido
Descargo de Responsabilidad Institucional ii
Dedicatoria iii
Agradecimientos iv
Resumen v
Abstract vi
Iacutendice de Contenido vii
Iacutendice de Figuras x
Iacutendice de Tablas xi
Capiacutetulo 1 Introduccioacuten 1 11 Antecedentes del problema 1
12 Planteamiento del Problema 4
13 Objetivos 6
131 Objetivo General 6
132 Objetivos Especiacuteficos 6
14 Justificacioacuten 7
15 Hipoacutetesis 7
16 Alcances y Limitaciones 8
17 Impacto Social Tecnoloacutegico Econoacutemico y Ambiental 8
171 Impacto social 8
172 Impacto ambiental 9
173 Impacto econoacutemico 10
18 Metodologiacutea a Utilizar 10
181 Anaacutelisis 10
182 Disentildeo 10
1821 Economiacutea 10
1822 Instalaciones 10
1823 Escalabilidad 11
1824 Red 11
1825 Software 11
1826 Almacenamiento 12
183 Implementacioacuten 12
1831 Software 12
1832 Hardware 13
1833 Recursos totales del cluacutester 13
19 Aseguramiento Teacutecnico ndash Material 13
191 Hardware 14
viii
1911 Equipo de coacutemputo 14
Capiacutetulo 2 Estado del Arte 16
Marco Teoacuterico 27 21 Seguridad de la Informacioacuten 27
211 Objetivo de la seguridad de la informacioacuten 27
212 Principios de la seguridad informaacutetica 28
213 Caracteriacutesticas de seguridad informaacutetica 28
214 Formas de Autenticacioacuten 29
215 Ciber-seguridad 29
22 Criptografiacutea 30
221 Tipos de Criptografiacuteas 30
2211 Tablas Hash 30
2212 Tipos de algoritmos Hash 31
22121 SHA - 1 (Secure Hash Algorithm) 31
22122 MD5 (Message Digest Algorithm) 31
22123 RIPEMD ndash 160 32
22124 Funcioacuten Merkle-Damgaringrd 32
2213 Cifrado simeacutetrico 32
22131 RC5 (Cifrado de Rivest) 33
22132 IDEA (International Data Encryption Algorithm) 33
22133 DES (Data Encryption Standard) 34
2214 Cifrado asimeacutetrico 35
22141 DSA (Digital Signature Algorithm - Algoritmo de Firma digital) 36
22142 RSA 37
2215 Cifrado hiacutebrido 38
23 Criptoanaacutelisis 38
24 Niveles de seguridad 39
241 Nivel D1 40
242 Nivel C1 40
243 Nivel C2 41
244 Nivel B1 42
245 Nivel B2 43
246 Nivel B3 44
247 Nivel A1 45
25 Sistemas Operativos 46
251 Windows 47
252 Registro de Windows 48
253 Administrador de cuentas de seguridad 49
2531 Identificador de Seguridad (SID Security Identifier) 50
254 Autenticacioacuten NTML 51
26 LINUX (ROCKS) 52
261 Escritorio 53
262 Paquete de Oficina 53
263 Organizador de archivos 54
27 Agrupamiento (Cluacutester) de Computadoras 55
271 Beowulf 56
ix
272 Mosix 56
273 OpenMosix 57
Capiacutetulo 3 Implementacioacuten de Cluacutester 59 31 Requisitos previos 59
311 Conexioacuten de los equipos y acceso a la red 59
312 Configuracioacuten de la BIOS 60
3121 ATAIDE Mode 60
3122 PXE 62
32 Instalacioacuten de Sistema Operativo Rocks 63
321 Configuracioacuten del teclado 70
33 Instalacioacuten de los nodos 70
331 Administracioacuten de nodos 72
332 Creacioacuten de cuentas de usuario 73
333 Configuracioacuten del directorio compartido 73
34 Operaciones baacutesicas de Rocks 74
Capiacutetulo 4 Metodologiacutea y Resultados 77 41 Obtener Archivo hash 77
42 Dar Formato al Hash 80
43 Evaluar la fuerza del Hash 80
44 Calcular la capacidad del equipo 82
45 Establecer Estrategia 87
451 Fuerza Bruta 87
4511 Cantidad de combinaciones posibles 88
452 Diccionario 90
453 Analizar los resultados 91
454 Personalizar ataques 91
Conclusioacuten 92
Trabajo Futuro 94 Propuesta de Trabajo a Futuro 94
Bibliografiacutea 96
Anexo 1 102
x
Iacutendice de Figuras
Figura 31 Esquema tiacutepico de configuracioacuten de un cluacutester xi
Figura 32 Imagen del Bios del equipo en la opcioacuten ldquodrive configurationrdquo 61
Figura 33 Bios ATAIDE Legacy Mode 61
Figura 34 Bios Boot PXE 62
Figura 35 Bios Boot device prioriry 63
Figura 36 Pantalla de Inicio de instalacioacuten de Rocks 64
Figura 37 Pantalla de seleccioacuten de Rolls 65
Figura 38 Listado de opciones de rolls para instalar 65
Figura 39 Informacioacuten baacutesica del cluacutester a instalar 66
Figura 310 Configuracioacuten Ethernet de la red privada 67
Figura 311 Configuracioacuten Ethernet de la red puacuteblica 67
Figura 312 Configuracioacuten de DNS y Gateway 68
Figura 313 Ingresar contrasentildea de usuario root 68
Figura 314 Configuracioacuten horaria 69
Figura 315 Particiones del disco duro 69
Figura 316 Pantalla para ingresar nodos 71
Figura 317 Indicador de insercioacuten de nuevos nodos 71
Figura 318 Comando qstat ndashf 74
Figura 319 Enviacuteo de trabajos por medio del comando qsub 75
Figura 320 Estado de los trabajos pendientes mostrados por qstat ndashf 75
Figura 321 Visualizacioacuten de la distribucioacuten de cargas en el cluacutester usando la herramienta
Ganglia 76
Figura 41 Arranque con LiveUSB KaliLinux 79
Figura 42 Resultado de la ejecucioacuten de la herramienta samdump2 80
Figura 43 Sistema de Ecuaciones tipo 119860119909 = 119887 Fuente Propia 84 Figura 44 Distribucioacuten de cargas del cluacutester 86
Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester 89
xi
Iacutendice de Tablas
Tabla 11 Costo del Proyecto 15
Tabla 41 Rendimiento de HP cluacutester (Fuente Elaboracioacuten propia) 86
Tabla 42 Resultados de criptoanaacutelisis de archivo SAM (Fuente Elaboracioacuten propia) 89
Tabla 43 Resultados de ejecucioacuten de programa en C para la obtencioacuten de nuacutemeros primos
(Fuente Elaboracioacuten propia) 90
1
Capiacutetulo 1 Introduccioacuten
11 Antecedentes del problema
Sin lugar a duda una de las herramientas maacutes importantes producida en el siglo XX ha sido
la computadora la cual ha provocado cambios vertiginosos en la sociedad y en el progreso de la
misma En la actualidad el entorno estaacute praacutecticamente controlado por las nuevas tecnologiacuteas que
a medida que transcurre el tiempo avanzan sin liacutemites y en ocasiones son utilizadas
incorrectamente provocando dantildeos de grandes dimensiones
Los trascendentales cambios operados en el mundo moderno caracterizados por su
constante desarrollo la acelerada globalizacioacuten de la economiacutea la acentuada dependencia a
almacenar grandes voluacutemenes de informacioacuten y los sistemas que la proveen aunado a grandes
inversiones de las empresas en conocimiento actual y futuro en sistemas de informacioacuten ademaacutes
del potencial que poseen las tecnologiacuteas para cambiar draacutesticamente las organizaciones y las
praacutecticas de negocio asiacute como crear nuevas oportunidades disentildear nuevas estructuras tecnoloacutegicas
basadas en informacioacuten la convierte en un activo codiciable Tales avances hacen permanente el
riesgo en las tecnologiacuteas y nos llevan a pensar en la problemaacutetica sobre la seguridad informaacutetica
La proteccioacuten de datos documentos y control de acceso a la informacioacuten es un tema que
cada diacutea toma maacutes fuerza en las grandes compantildeiacuteas debido a las diferentes praacutecticas de
especialistas tecnoloacutegicos como los son los hackers y crackers que roban informacioacuten vital para
posteriormente sacar provecho de ella
2
ldquoDesde la aparicioacuten de los grandes sistemas aislados hasta nuestros diacuteas en los que el
trabajo en red es lo habitual los problemas derivados de la seguridad de la informacioacuten han ido
tambieacuten cambiando evolucionando pero estaacuten ahiacute y las soluciones han tenido que ir adaptaacutendose
a los nuevos requerimientos teacutecnicos Aumenta la sofisticacioacuten en el ataque y ello aumenta la
complejidad de la solucioacuten pero la esencia es la mismardquo (Mifsud 2012)
Dentro del mundo actual la informacioacuten es denominada un activo importante de una
institucioacuten la cual debe ser protegida para evitar su peacuterdida modificacioacuten o el uso inadecuado de
su contenido
El extraviacuteo o el mal uso de informacioacuten que para alguien es confidencial genera dantildeos y
repercusiones directas relacionadas a la integridad disponibilidad y confidencialidad de los
archivos y a su vez a los duentildeos de dicha informacioacuten
ldquoLa seguridad informaacutetica se distingue por tener dos propoacutesitos de seguridad la Seguridad
de la Informacioacuten y la Proteccioacuten de Datos estos se diferencian debido a que los datos son valores
numeacutericos que soportan la informacioacuten mientras que la informacioacuten es aquello que tiene un
significado para nosotrosrdquo (Gonzaacutelez Agudelo 2014)
La seguridad informaacutetica consiste en asegurar que los recursos del sistema de informacioacuten
(material informaacutetico o programas) de una organizacioacuten sean utilizados de la manera que se decidioacute
3
inicialmente y que el acceso a la informacioacuten alliacute contenida asiacute como su modificacioacuten soacutelo sea
posible a las personas que se encuentren acreditadas y dentro de los liacutemites de su autorizacioacuten
Actualmente hay mucha informacioacuten circulando en internet por ejemplo correos
electroacutenicos publicaciones en Twitter Facebook videos fotos comercio electroacutenico secretos de
estado militares o industriales Lamentablemente dicha red es puacuteblica e insegura dentro de la cual
existen usuarios bien intencionados y muchos mal intencionados Diariamente encontramos
noticias de sitios con intrusiones mal intencionadas (hackeados) clonacioacuten de tarjeta de creacutedito o
imaacutegenes adulteradas Todo lo anterior motiva la necesidad de proteger la informacioacuten a traveacutes de
mecanismos que impidan a los usuarios no autorizados acceder a dicha informacioacuten
4
12 Planteamiento del Problema
Los sistemas de informacioacuten actuales estaacuten relacionados completamente con la exposicioacuten
de su informacioacuten a entidades externas que son ajenas a la organizacioacuten o delegacioacuten a la que
pertenecen
Cuando no se conoce el alcance que tienen los sistemas informaacuteticos ni lo vulnerables que
pueden ser si son expuestos a Internet por los mismos empleados de la organizacioacuten puede darse
ldquofugardquo de informacioacuten hacia el exterior esto los hace vulnerables a eventos y amenazas que
conllevan a riesgos que pueden provocar peacuterdidas tangibles e intangibles las cuales se traducen
en peacuterdidas que en muchos de los casos por decir lo menos seraacuten monetarias
El portal espantildeol de estadiacutesticas statista muestra la cuota de mercado de los principales
sistemas operativos a nivel mundial a fecha de febrero de 2017 seguacuten el nuacutemero de instalaciones
(statista 2017) Windows 10 fue el segundo sistema operativo maacutes instalado con una cuota de
mercado de 253 Esto significa que alrededor de una de cada cuatro computadoras estaacute
gobernado por este sistema operativo Por su parte en el caso de Windows 7 el porcentaje se situacutea
por encima del 45 a pesar de que ya no se vende ninguacuten PC con este sistema operativo Hablando
de manera conjunta los sistemas operativos Windows cuentan con una cuota del mercado global
de 8857
La empresa de seguridad informaacutetica Britaacutenica Avecto informoacute en su Microsoft
Vulnerabilities Report 2017 (Avecto 2017) (reporte 2017 de vulnerabilidades de Windows) un
aumento de vulnerabilidades publicadas del 111 en los uacuteltimos 5 antildeos de las cuales 235 criacuteticas
5
fueron mitigadas removiendo permisos de administrador asiacute como otras muy importantes
enfocadas al Administrador de Cuentas de Seguridad (SAM Security Account Manager por sus
siglas en ingleacutes) la cual es una base de datos almacenada como un archivo del registro en Windows
y que almacena las contrasentildeas de los usuarios en un formato hash (Algoritmos que crean a partir
de una entrada una salida alfanumeacuterica de longitud fija)
6
13 Objetivos
131 Objetivo General A traveacutes de la implementacioacuten de un procedimiento de fuerza
bruta utilizando para ello un cluacutester de alto rendimiento asiacute como software de uso libre lograr
capacidad de procesamiento capaz de vulnerar un sistema de autenticacioacuten nivel C1
132 Objetivos Especiacuteficos
Analizar los diferentes niveles de seguridad de sistemas operativos
Analizar diferentes meacutetodos de criptoanaacutelisis para vulnerar el Administrador de
cuentas de seguridad
Estudiar las teacutecnicas de agrupamiento de computadoras (clustering) para la
obtencioacuten de mayor poder de procesamiento
Implementar un cluacutester de alto rendimiento en el Laboratorio de la Maestriacutea en
Sistemas Computacionales del Instituto Tecnoloacutegico de Acapulco para ejecutar
operaciones de coacutemputo distribuido
7
14 Justificacioacuten
Antes la seguridad de la informacioacuten se realizaba a traveacutes de medios fiacutesicos por ejemplo
una caja fuerte en la cual las personas resguardaban objetos o informacioacuten valiosa para ellos Con
la introduccioacuten de las computadoras y el uso de internet los usuarios comienzan a almacenar
informacioacuten importante dentro de sus equipos por lo que se considera indispensable el uso de
herramientas que brinden proteccioacuten a la informacioacuten que se encuentra resguardada dentro de
eacutestas Los usuarios informaacuteticos suelen enviar informacioacuten por la red en las empresas al realizar
traacutemites o enviar informes a socios jefes entre otros
El resguardo de informacioacuten siempre ha sido importante para los seres humanos con la
diferencia que anteriormente no se contaba con los avances tecnoloacutegicos que tenemos actualmente
puesto que con la introduccioacuten de internet y el uso de dispositivos electroacutenicos se tiene mayor
riesgo de la informacioacuten que en ellos se maneja
La proteccioacuten del contenido de los datos es una necesidad urgente en casi todos los aacutembitos
de la sociedad incluyendo los servicios puacuteblicos y privados por lo que la tecnologiacutea de la
seguridad de los sistemas de cifrado se encuentra de frente a verdaderos retos
15 Hipoacutetesis
A traveacutes de un de fuerza bruta como teacutecnica de criptoanaacutelisis y con la ayuda de una mayor
capacidad de procesamiento mediante la implementacioacuten de agrupamiento de computadoras
(cluacutester) de alto rendimiento seraacute posible encontrar alguna vulnerabilidad dentro del sistema de
administracioacuten de cuentas de seguridad de Windows server 2012
8
16 Alcances y Limitaciones
Esta tesis se centraraacute en el sistema operativo Windows como objeto de estudio al cual se
le realizaraacute el criptoanaacutelisis
La tesis se enfocaraacute en el meacutetodo Beowulf para realizar el agrupamiento de computadoras
asiacute como la distribucioacuten de software libre del sistema operativo Linux Rocks
El nuacutemero de equipos disponibles para poder realizar el agrupamiento es de 17
computadoras hasta lograr el poder de coacutemputo de 800 Gflops
17 Impacto Social Tecnoloacutegico Econoacutemico y Ambiental
La sostenibilidad del presente proyecto seraacute abordada a partir de los siguientes aspectos
171 Impacto social A veces se puede pensar que un cluacutester de alto rendimiento pudiera
no tener alguacuten impacto directo en el medio social pero si nos enfocamos a un punto de vista en
donde gracias a la capacidad de procesamiento de estas maacutequinas han sido parte fundamental en
el desarrollo de proyectos que inciden de manera directa en beneficio de la sociedad en la que
vivimos como lo es la medicina la fiacutesica quiacutemica
Este proyecto busca beneficiar a nuestra sociedad proveyendo su capacidad de
procesamiento en la buacutesqueda de alguna vulnerabilidad en el sistema operativo maacutes utilizado hoy
en diacutea como lo es Windows ademaacutes de que estaraacute disponible para la comunidad cientiacutefica y
9
estudiantil del Instituto Tecnoloacutegico de Acapulco para optimizar tiempo de caacutelculo en futuras
investigaciones
172 Impacto ambiental Green IT tambieacuten conocido como Green Computing o
traducido al espantildeol como Tecnologiacuteas Informaacuteticas Verdes es definido como el estudio y la
praacutectica de disentildear desarrollar usar y disponer de computadoras servidores y diferentes
perifeacutericos tales como monitores impresoras dispositivos de almacenamiento de redes y
comunicaciones eficientemente y efectivamente con un impacto miacutenimo o nulo en el medio
ambiente (Murugesan 2008)
Bajo la premisa anterior este proyecto hace uso de los equipos con los que cuenta
actualmente el laboratorio de la Maestriacutea en Sistemas Computacionales lo cual evitaraacute la
adquisicioacuten de equipo nuevo y por consecuencia desechar el equipo existente evitando desperdicio
electroacutenico Dicho equipo cuenta con un procesador Intel I3 de 4ta generacioacuten lo cual seguacuten el
portal electroacutenico Europa press
ldquoEsta nueva generacioacuten supone el mayor salto en cuanto ahorro energeacutetico de la historia
de Intel asiacute como una mejora en los graacuteficos y nuevas experiencias de usuariordquo (europa press
2013)
Teniendo como base estos dos puntos importantes como lo son la reutilizacioacuten de equipo
y utilizando procesadores de bajo consumo energeacutetico es como este proyecto busca contribuir de
manera positiva con el medio ambiente
10
173 Impacto econoacutemico Actualmente existe una gran necesidad de procesar grandes
cantidades de datos lo cual hace imprescindible disponer de maacutequinas con estas caracteriacutesticas sin
embargo su alta complejidad aunado al gran costo hace que en instituciones de caraacutecter puacuteblico
sea muy complicado conseguir recurso para este fin Sin embargo un cluacutester de alto rendimiento
reutilizaraacute equipo propio evitando asiacute gastos por concepto de adquisicioacuten de equipo siendo de
esta manera viable para instituciones de caraacutecter puacuteblico
18 Metodologiacutea a Utilizar
181 Anaacutelisis Despueacutes de analizar las diferentes metodologiacuteas de clustering se optoacute por
desarrollar e implementar un cluacutester de alto rendimiento (HPC)
182 Disentildeo
1821 Economiacutea Debido a las caracteriacutesticas del equipo con el cual cuenta el Laboratorios
de la Maestriacutea en Sistemas Computacionales los componentes utilizados para este proyecto son
considerados de uso comuacuten y de bajo costo lo cual los hace faacutecilmente reemplazables en caso de
fallo a un costo accesible El equipo es de la marca Acer Aspire modelos AXC-605-M021 lo cual
nos hace tener ventaja y respaldo del fabricante con respecto a hardware geneacuterico
1822 Instalaciones Un cluacutester requiere de un ambiente controlado Esto es una
habitacioacuten especial con sistema de enfriamiento capacidad suficiente de carga eleacutectrica control
de humedad y un ambiente libre de polvo Ademaacutes se deben considerar el peso del equipo sobre
el piso (ya sea falso o piso normal) Se recomienda colocarlo en los soacutetanos o en la plata baja de
edificios (Rocha Quezada Botello Rionda Vargas Feacutelix amp Munguiacutea Torres 2011)
11
En el laboratorio de la Maestriacutea en Sistemas Computacionales se cuenta con espacio que
reuniacutea la mayoriacutea de las caracteriacutesticas requeridas para este proyecto
1823 Escalabilidad Un cluacutester debe ser faacutecilmente escalable y a su vez confiable Por
tal motivo se ha utilizado equipo de marca lo cual nos proporciona maacutes de confiabilidad en su
desempentildeo y a su vez facilidad de aumentar el nuacutemero de equipos si en un futuro fuese necesario
agrandar este proyecto Se armoacute un cluacutester de cinco computadoras con procesadores Intel Core I3
de 64 bits en cada nodo La memoria incluida y perifeacutericos son faacuteciles de adquirir en el mercado
1824 Red En la parte de redes se utilizoacute un switch fast Ethernet con una velocidad de 1
Gbps el cual tiene tazas de transferencia raacutepida y el costo es notablemente maacutes econoacutemico que
uno de fibra oacuteptica
El cableado seleccionado fue el estaacutendar UTP de cobre con la norma Gigabit Ethernet de
IEEE 8023ab con la categoriacutea de cableado 6e que soporta tazas de transferencia de datos de
1000Base T (1 Gbps)
1825 Software
ldquoEl sistema operativo debe constar con servicios dedicados para compartir y respaldar
archivos asiacute como capacidad de acceder a los datos de trabajo raacutepidamente El sistema operativo
debe tambieacuten proveer servicios de monitoreo y reporte de fallas en el sistemardquo (Rocha Quezada
Botello Rionda Vargas Feacutelix amp Munguiacutea Torres 2011)
12
Existe una gran variedad de software para instalar cluacutester de alto rendimiento sin embargo
como se ha comentado con anterioridad el costo de adquisicioacuten debe ser accesible por tal motivo
se optoacute por una distribucioacuten con licencia GNU de Linux Rocks Cluster la cual es una distribucioacuten
sencilla de instalar y configurar en comparacioacuten con otras distribuciones analizadas dicha
distribucioacuten estaacute basada en CentOS que a su vez estaacute basada en la conocida distribucioacuten de Linux
Red Hat
1826 Almacenamiento Para este proyecto no se requeriraacute un gran espacio de
almacenamiento por tal motivo los equipos utilizados tanto maestro como esclavos mantuvieron
sus unidades de disco originales las cuales son de 1 TB de almacenamiento
183 Implementacioacuten La implementacioacuten del cluacutester de alto rendimiento fue realizada
dentro de las instalaciones del Laboratorio de la Maestriacutea en Sistemas Computacionales del
Instituto Tecnoloacutegico de Acapulco construido inicialmente para este proyecto de criptoanaacutelisis lo
cual requeriraacute suficiente capacidad de procesamiento para poder implementar ataques de fuerza
bruta a sistemas operativos Las caracteriacutesticas del cluacutester construido son
1831 Software El software instalado en cada uno de los nodos es el siguiente
bull Sistema operativo Rocks Cluacutester Linux 74 (64 bits)
bull Libreriacutea de manejo de mensajes Open-MPI 153
bull Software de monitoreo Ganglia
13
1832 Hardware El cluacutester estaacute compuesto de 17 equipos con las siguientes
caracteriacutesticas
bull Nodo Maestro y 16 Nodos Esclavos
- Procesador Intel Core I3 4150 (4 nuacutecleos) Memoria 6 GB Disco Duro SATA 1 TB
tarjeta de Red Gigabit Ethernet
El hardware adicional es el siguiente
bull Interconexioacuten de Red
bull Switch Cisco 26 puertos 1Gbps modelo SG200 Red interna
1833 Recursos totales del cluacutester
bull Nuacutecleos de unidades de procesamiento (cores) 68
bull Capacidad en memoria 92 GB
bull Capacidad en disco 17 TB
19 Aseguramiento Teacutecnico ndash Material
A continuacioacuten se muestra el desglose del equipo utilizado para la elaboracioacuten de un
cluacutester de alto rendimiento estos componentes consisten en Hardware y Software especializado
asiacute como los costos de produccioacuten y personal involucrados en la metodologiacutea y elaboracioacuten del
proyecto
Costos de Hardware
Costos de Software
14
191 Hardware En este punto se refleja el costo de los dispositivos y herramientas a nivel
fiacutesico las cuales sirvieron para la implementacioacuten del proyecto cluacutester de alto rendimiento Cabe
resaltar que el equipo utilizado forma parte del inventario actual del Laboratorio motivo por el
cual su utilizacioacuten no causoacute erogacioacuten alguna sin embargo la investigacioacuten de costos se realizoacute
con la finalidad que el lector pueda establecer comparativas y buscar alternativas en caso de ajuste
de presupuesto
1911 Equipo de coacutemputo El equipo de coacutemputo utilizado consta de diecisiete
computadoras las cuales serviraacuten una para Nodo Maestro y las dieciseacuteis restantes como Nodos
Esclavos
La descripcioacuten de estos equipos se muestra en la tabla a continuacioacuten mostrando los costos
de todos los equipos utilizados dentro del proyecto
15
Tabla 11 Costo del Proyecto
Modelo
Cantidad
Caracteriacutesticas
Costos
PC - Acer AXC-
605
17
Procesador Intel Core i3
Pantalla 156rdquo
Disco duro 1TB HDD
RAM 6GB
Salida HDMI
Tarjeta de graacuteficos INTEGRADA
Lector de CD
Los costos en el mercado de una PC de
escritorio con estas caracteriacutesticas tiene un
valor aproximado de $600000 pesos
(Moneda nacional Mexicana)
Switch Cisco
Gigabit Ethernet
1
Modelo SG200 de 26 puertos
Costo en el mercado alrededor de
$2000000 pesos MN
Total
12200000 pesos MN
16
Capiacutetulo 2 Estado del Arte
Tiacutetulo del Trabajo Introduccioacuten a la Criptografiacutea
Autor Gibraacuten Granados Paredes
Fecha Julio 2010
Lugar Ciudad de Meacutexico
Publicado en Coordinacioacuten de Publicaciones Digitales DGSCA-UNAM
httpwwwrevistaunammxvol7num7art55int55htm
Siacutentesis Cuando se desea tener seguridad hablando en aacutembitos informaacuteticos la
criptografiacutea es una herramienta muy uacutetil el autor lo entiende tambieacuten como un medio para
garantizar las propiedades de confidencialidad integridad y disponibilidad de los recursos de un
sistema
Con la criptografiacutea se puede garantizar las propiedades de integridad y confidencialidad
pero hay que saber coacutemo utilizarla para ello es importante tener claros los conceptos baacutesicos que
estaacuten detraacutes de los sistemas criptograacuteficos modernos Estos conceptos van desde entender queacute es
la criptografiacutea coacutemo estaacute clasificada entender el funcionamiento baacutesico de algunos sistemas de
cifrado y conocer coacutemo se forman los documentos digitales como firmas y sobres digitales
Resultados El autor realiza un viaje por un gran nuacutemero de conceptos utilizados en
criptografiacutea el inicio y la clasificacioacuten de la misma asiacute como la criptografiacutea claacutesica y moderna y
analiza de manera breve algunos meacutetodos de cifrado maacutes comunes
17
Tiacutetulo del Trabajo Criptoanaacutelisis sobre meacutetodos claacutesicos de cifrado
Autores Sebastiaacuten Goacutemez Juan David Arias Diego Agudelo
Fecha 2 de mayo 2013
Lugar Ciudad de Meacutexico
Publicado en Scientia et Technica Antildeo XVII No 50 abril de 2012
Siacutentesis Los algoritmos criptograacuteficos utilizados desde la antigua Roma hasta nuestros
diacuteas son meacutetodos que convierten un mensaje de texto plano a cifrado al proceso inverso se le
conoce como descifrar Este artiacuteculo realiza un estudio de algunas teacutecnicas de encriptacioacuten claacutesicas
del siglo pasado como lo son el cifrado de Cesar y el cifrado de Vigeneacutere asiacute como muestra
teacutecnicas baacutesicas y modernas de criptoanaacutelisis basadas en la teoriacutea de la informacioacuten y estadiacutestica
como lo son la entropiacutea y el ataque de maacutexima correlacioacuten Las teacutecnicas de criptoanaacutelisis descritas
anteriormente pueden ser usadas en otros meacutetodos de cifrado siempre y cuando esteacuten presentes las
mismas debilidades
Resultados Los autores implementaron en lenguajes de programacioacuten Python un
algoritmo para el caacutelculo de entropiacutea para diferentes longitudes de clave Para la implementacioacuten
de los algoritmos de cifrado y descifrado de Vigeneacutere y de maacutexima correlacioacuten utilizaron lenguaje
de programacioacuten C++ Se probaron los meacutetodos anteriormente descritos sobre textos planos de
diferentes longitudes logrando un resultado de 9385 de efectividad en promedio
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de dos de los
algoritmos de encriptacioacuten maacutes antiguos y baacutesicos pero sobre todo que conociendo los meacutetodos
de criptoanaacutelisis me permitiraacuten analizar debilidades y fortalezas de algoritmos
18
Tiacutetulo del Trabajo ULTRACOM Computacioacuten de Alto Rendimiento para Criptoanaacutelisis
Autor Antonio Castro Lechtaler Alejandro Repetto Martiacuten Bianchi Marcelo Cipriano
Alejandro Arroyo Arzubi Ceacutesar Cicerchia Eduardo Malvacio
Fecha octubre 2014
Lugar Buenos Aires Argentina
Publicado en XX Congreso Argentino de Ciencias de la Computacioacuten (Buenos Aires
2014)
Siacutentesis La generacioacuten de nuacutemeros primos fundamentales para la produccioacuten de claves
el anaacutelisis de secuencias pseudo-aleatorias los procesos de verificacioacuten y validacioacuten de algoritmos
de seguridad en un sentido geneacuterico requieren enormes cantidades de procesamiento Los
procesos relacionados con la matemaacutetica criptograacutefica se caracterizan por la alta necesidad de
coacutemputo El objetivo de ULTRACOM es desarrollar una computacioacuten distribuida multipropoacutesito
que permita como primera aplicacioacuten real el anaacutelisis la validacioacuten y la ejecucioacuten de pruebas de
estreacutes sobre sistemas criptograacuteficos El presente trabajo de investigacioacuten detalla el proceso de
desarrollo de ULTRACOM y muestra un ejemplo de su implementacioacuten en una versioacuten Beta Para
ello toman como entrada dos versiones del algoritmo Trivium Utilizando la misma
infraestructura y sin desarrollo extra se prueban grandes voluacutemenes de claves y vectores de
inicializacioacuten de los algoritmos en busca de secuencias deacutebiles de menor longitud que la de la
buscada
Resultados El equipo implementoacute una versioacuten beta de la plataforma ULTRACOM
comprobando la factibilidad y viabilidad teacutecnica de la generalizacioacuten de la infraestructura de
computacioacuten distribuida en grilla (malla) BOINC Este avance permite extender los horizontes de
BOINC y habilita la posibilidad de obtener la capacidad de coacutemputo de alto rendimiento a bajo
19
costo Concluyeron que ULTRACOM es un proyecto viable escalable y de alto impacto para la
evaluacioacuten y validacioacuten de algoritmos criptograacuteficos
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento y la
implementacioacuten de una arquitectura de computacioacuten distribuida y una vez siendo factible su
desarrollo utilizar su poder de coacutemputo atacando a traveacutes de un algoritmo un sistema criptograacutefico
20
Tiacutetulo del Trabajo Criptografiacutea Cuaacutentica
Autor M Baig
Fecha 2010
Lugar Barcelona Espantildea
Siacutentesis En este artiacuteculo el autor realiza una breve introduccioacuten a la criptografiacutea claacutesica y
la relacioacuten que existe con la teoriacutea de la informacioacuten de Shannon la cual asegura que el cifrado
digital simeacutetrico es secreto y perfecto siempre y cuando se cumplan los tres requisitos
1 La llave ha de ser aleatoria
2 La llave debe usarse soacutelo una vez
3 La llave ha de ser tan larga como el mensaje y de un solo uso debe de estar en posesioacuten
tanto del emisor como del receptor
El punto 3 es el maacutes complicado de cumplir debido a la forma de compartir la llave entre
el emisor y receptor
Maacutes adelante en el artiacuteculo se hace un anaacutelisis sobre otra teacutecnica de criptografiacutea que es el
cifrado digital asimeacutetrico en la que se estudia coacutemo funcionan las llaves privadas y puacuteblicas asiacute
como el meacutetodo de criptograacutefico RSA
Resultados
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento maacutes profundo de
los meacutetodos de criptografiacutea simeacutetricos y asimeacutetricos especiacuteficamente el algoritmo asimeacutetrico
RSA
21
Tiacutetulo del Trabajo La Criptografiacutea Maderista en la Revolucioacuten Mexicana (1910-1911)
Criptoanaacutelisis de una carta cifrada por Gabriel Leyva Solano
Autor Roberto Narvaacuteez
Fecha 2011
Lugar Meacutexico DF
Siacutentesis Este trabajo aborda temas relacionados con las comunicaciones secretas del
movimiento revolucionario comandado por Francisco I Madero a partir de 1910 Se compone de
dos partes la primera es una breve resentildea criacutetica de ejemplos criptograacuteficos del maderismo que
fueron generados entre 1910 y 1911 la segunda describe paso a paso el criptoanaacutelisis que aplicoacute
el autor Roberto Narvaacuteez para desencriptar una carta parcialmente cifrada de Gabriel Leyva Solano
a Francisco I Madero
Resultados El propoacutesito general uacuteltimo es contribuir al conocimiento de la criptografiacutea
mexicana en el siglo XX En lo particular se trata de poner a disposicioacuten de los estudiosos el
contenido completo de la carta de Leyva Solano por primera vez despueacutes de 100 antildeos y al mismo
tiempo someter a la criacutetica teacutecnica e histoacuterica el procedimiento criptoanaliacutetico puesto en operacioacuten
para recuperar el texto plano
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de la teacutecnicas y
estudios realizados en nuestro paiacutes sobre formas y meacutetodos de encriptacioacuten durante la Revolucioacuten
Mexicana incluso mucho antes de la 2ordf Guerra mundial momento donde se registroacute un auge
importante dentro de la criptografiacutea moderna
22
Tiacutetulo de Tesis Anaacutelisis de la programacioacuten concurrente sobre la cpu y gpu en el
desarrollo de fractal build
Autor Joseacute Vicente Anilema Guadalupe
Fecha 2012
Lugar Riobamba Ecuador
Siacutentesis Este trabajo aborda temas relacionados con la geometriacutea euclidiana debido a que
el autor realiza una aplicacioacuten que crea paisajes fractales lo que significa crear un paisaje con una
misma figura geomeacutetrica Lo anterior se traduce en una necesidad de gran poder de coacutemputo para
realizar de una manera eficaz la tarea Dentro de la tesis el autor realiza diversos estudios
comparativos entre el procesamiento serializado realizado por una CPU (unidad central de
procesamiento) y procesamiento paralelizado realizado por una GPU (Unidad grafica de
procesamiento) a traveacutes de diversas herramientas para obtener el mejor aprovechamiento de los
recursos
Resultados El autor concluye que es necesario examinar los algoritmos a utilizar para que
estos puedan ser utilizados en coacutemputo paralelo Ademaacutes de que es necesario aprender ciertas
herramientas a utilizar para aprovechar al maacuteximo el coacutemputo distribuido y no desperdiciar el
poder de procesamiento muy superior que las GPUrsquos nos pueden brindar
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de la teacutecnicas y
estudios realizados para medir y comparar la velocidad de procesamiento de la unidad central de
procesamiento (CPU) y la unidad graacutefica de procesamiento (GPU) Asiacute como la medida en Flops
(Operaciones de punto flotante por segundo)
23
Tiacutetulo del Trabajo Arquitectura cluacutester de alto rendimiento utilizando herramientas de
software libre
Autores Leonardo Chiquiguanca Edyson Malla Freddy Ajila Rene Guamaacuten-Quincheacute
Fecha mayo 2015
Lugar Loja Ecuador
Siacutentesis Este trabajo aborda temas relacionados con la gran cantidad de datos que tienen
que procesar las universidades puacuteblicas dentro de sus investigaciones realizadas en diferentes aacutereas
como la ingenieriacutea medicina etc y la carencia de recursos econoacutemicos para obtener
supercomputadoras que procesen dicha informacioacuten Los autores proponen dentro de su
investigacioacuten la utilizacioacuten de equipo de coacutemputo existente dentro de su universidad y por medio
de software libre realizar agrupamiento de computadoras para poder lograr el procesamiento de
grandes voluacutemenes de datos de una manera accesible
Resultados Los autores concluyen que la mejor arquitectura para el agrupamiento
(cluacutester) de computadoras en ambientes universitarios es la arquitectura Beowulf debido a que la
implementaron en hardware convencional existente dentro de su campus universitario y que
ademaacutes usaron software libre mencionando que el poder de coacutemputo logrado fue muy cercano al
de una supercomputadora
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de las teacutecnicas
utilizadas en ambientes universitarios para la realizacioacuten de agrupamiento de computadoras y
sobre todo la optimizacioacuten de costos para realizar dicha tarea y tener como finalidad el lograr
mayor capacidad de procesamiento
24
Tiacutetulo de Tesis Desarrollo de un algoritmo de cifrado simeacutetrico de resumen
Autores Jonathan Dave Orjuela Navarrete
Antildeo 2008
Lugar Bogotaacute DC
Siacutentesis Esta tesis realiza un estudio de varios meacutetodos de criptografiacutea simeacutetrica para
posteriormente utilizando diferentes foacutermulas matemaacuteticas crear un algoritmo criptograacutefico
nuevo Dentro de la tesis utiliza dos meacutetodos para realizar pruebas a su algoritmo criptoanaacutelisis
diferencial y criptoanaacutelisis basado en fallos de hardware Dentro de los cuales hace un estudio
detallado de las teacutecnicas y herramientas de criptoanaacutelisis realizado a su algoritmo
Resultados El autor concluye de manera positiva con la realizacioacuten del algoritmo y de
manera satisfactoria con la realizacioacuten de criptoanaacutelisis a su algoritmo pudiendo demostrar la
fortaleza del algoritmo a traveacutes de ejemplo de cifrado con textos claro muy parecido y su
conversioacuten a cadenas completamente diferentes
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de criptoanaacutelisis diferencial y criptoanaacutelisis basado en fallos de hardware para la
evaluacioacuten de algoritmos de cifrado simeacutetrico de textos claros
25
Tiacutetulo del Trabajo Firt step in a Pc cluster development with openMosix
Autores Javier Bilbao Gorka Garate
Antildeo 2008
Lugar Bilbao Spain
Siacutentesis En este trabajo se afirma que es posible hacer maacutequinas de alta capacidad de
caacutelculo mediante la interconexioacuten de equipos con redes de alta velocidad A este tipo de sistemas
se les llama sistemas distribuidos y hoy en diacutea es la tecnologiacutea maacutes utilizada para resolver
problemas que requieren una gran capacidad de caacutelculo La agrupacioacuten de computadoras permite
que varias computadoras trabajen juntas para resolver los problemas de informaacutetica comuacuten Este
artiacuteculo centra su estudio en uno de los diferentes meacutetodos de agrupamiento de computadoras
openMosix El trabajo tambieacuten evaluacutea el cluacutester por dos casos de estudio donde se mejora el
tiempo de ejecucioacuten de los problemas resueltos
Resultados El autor del artiacuteculo concluye con la realizacioacuten satisfactoria de agrupamiento
de computadoras bajo el meacutetodo openMosix el cual uacutenicamente permite agrupamiento de la forma
SSI (Single System Image) que se refiere a que uacutenicamente se puede realizar el agrupamiento con
todos los nodos ejecutando un mismo sistema operativo
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de agrupamiento de computadoras openMosix ventajas desventajas y dificultades para
su implementacioacuten
26
Tiacutetulo del Trabajo Disentildeo e implementacioacuten de un cluacutester tipo Beowulf para el desarrollo
de coacutemputo cientiacutefico avanzado
Autores Edgar Rubeacuten Gonzaacutelez Ramiacuterez Abimael Rodriacuteguez Saacutenchez
Antildeo 2008
Lugar Instituto Politeacutecnico Nacional Meacutexico DF
Siacutentesis Este trabajo de tesis ha desarrollado e implementado una herramienta
computacional llamada Cluster Beowulf para mejorar la programacioacuten paralela Comenzando
con la memoria compartida y distribuida el autor implemento el agrupamiento tipo Beowulf
pensando en procesamiento paralelo la optimizacioacuten de las fuentes informaacuteticas El disentildeo se
construye mediante una distribucioacuten Linux Fedora Core 6 a 64 bits utilizando todas las ventajas
que ofrece el estaacutendar Gigabyt Ethernet La programacioacuten paralela fue desarrollada en lenguaje C
tanto para MPI como para OPENMP
Resultados El autor del artiacuteculo concluye que de acuerdo con los resultados el tiempo
de procesamiento se redujo con el uso muacuteltiples nuacutecleos mejoroacute hasta ocho veces gracias al
multihilo
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de agrupamiento de computadoras Beowulf y su implementacioacuten en sistemas operativos
de uso libre Linux distribucioacuten Fedora 6
27
Marco Teoacuterico
21 Seguridad de la Informacioacuten
La Seguridad de la Informacioacuten consiste y hace referencia a la proteccioacuten de cualquier
amenaza para salvaguardar los activos fijos y en especial toda informacioacuten de la cual estaacute basada
la continuidad de las operaciones de la empresa sean estas ocasionadas dentro o fuera de la misma
con esto se logra disminuir los dantildeos y perjuicios que estas amenazas causariacutean a la organizacioacuten
y a la vez aumentar las oportunidades de servicio hacia otras empresas
La Seguridad de la informacioacuten se consigue mediante la implementacioacuten de controles
efectivos que pueden ser normas manual de funciones buenas praacutecticas procedimientos
estructuras organizativas funciones de software y hardware planes de contingencia y herramientas
que se encargan de proteger la privacidad e integridad de la informacioacuten que se almacena en un
sistema informaacutetico Estos controles necesitan continuamente ser establecidos monitoreados
revisados y mejorados en donde sea necesario para asegurar que se cumplan los objetivos
especiacuteficos de seguridad en cada aacuterea de negocio de la organizacioacuten
La seguridad informaacutetica es en realidad una rama de la seguridad de la informacioacuten aunque
de forma praacutectica algunos autores suelen utilizar de manera indistinta ambos teacuterminos
211 Objetivo de la seguridad de la informacioacuten En la seguridad de la informacioacuten
sabiendo que dichos procesos de seguridad permiten proteger el recurso maacutes importante y valioso
de una organizacioacuten partiendo como principio fundamental los procesos de aseguramiento el
28
objetivo del proceso de seguridad informaacutetica es obtener un nivel aceptable de seguridad ya que
la informacioacuten es lo maacutes valioso que tiene una institucioacuten o empresa por lo tanto esta debe ser
protegida para que no sea vulnerable y utilizada para fines maliciosos
212 Principios de la seguridad informaacutetica
Confidencialidad Los datos solo deben ser conocidos y accedidos por quienes esteacuten
autorizados durante su almacenamiento procesamiento o trasmisioacuten Verificar y certificar que solo
los usuarios con accesos autorizados puedan acceder a la informacioacuten
Integridad Los datos solo pueden ser modificados y eliminados por quienes esteacuten
autorizados para ello es decir los sistemas y aplicaciones solo deben ser operados por personal
autorizado
Disponibilidad Los sistemas que almacenan datos e informacioacuten deben garantizar su
acceso cuando asiacute se requiera por quienes tengan derecho a ello
213 Caracteriacutesticas de seguridad informaacutetica
Control Solo los usuarios autorizados deciden cuaacutendo y coacutemo permitir el acceso a la
informacioacuten
Auditoriacutea Establece las acciones cuaacutendo las implementa y quieacuten las realiza sobre el
sistema
Autenticidad Define que la informacioacuten necesaria es correcta utilizable y vaacutelida en tiempo
y forma
No Repudio Su funcioacuten es evitar que alguna entidad que envioacute o recibioacute informacioacuten
alegue que no lo hizo
29
214 Formas de Autenticacioacuten
Contrasentildea Una contrasentildea es un tipo de seguridad informaacutetica ya que es una serie de
caracteres secretos que permiten a un usuario tener acceso a un archivo equipo de coacutemputo o
programa y negar el acceso a usuarios no autorizados
Certificado digital Es un tipo de seguridad informaacutetica que permite la firma digital
electroacutenica que garantiza teacutecnica y legalmente la identidad de una persona en Internet
Autenticacioacuten HTTP Tipo de seguridad informaacutetica que delega la autenticacioacuten de
usuarios a un servidor a traveacutes de Kerberos
215 Ciber-seguridad Con los avances tecnoloacutegicos y la demanda que ha causado en ello
existe un elevado iacutendice de informacioacuten personal y empresarial que circula y se mantiene en la red
por la utilizacioacuten del internet esto permite que toda informacioacuten quede expuesta a cualquier ataque
de ciber-delincuentes los cuales buscan la manera de vulnerar cualquier sistema para espiar robar
informacioacuten o hacer dantildeo de cualquier tipo por lo que se ha visto la necesidad de tomar medidas
de seguridad para salvaguardar la informacioacuten ya que es muy importante
La ciberseguridad es la proteccioacuten de los sistemas conectados a Internet incluidos el
hardware el software y los datos de los ciberataques En un contexto informaacutetico la seguridad
comprende la ciberseguridad y la seguridad fiacutesica ambas son utilizadas por las empresas para
proteger contra el acceso no autorizado a los centros de datos y otros sistemas de coacutemputo El
objetivo de la ciberseguridad es limitar el riesgo y proteger los activos de Tecnologiacuteas de
Informacioacuten de los atacantes con intenciones maliciosas La seguridad de la informacioacuten estaacute
30
disentildeada para mantener la confidencialidad integridad y disponibilidad de los datos es un
subconjunto de la ciberseguridad
22 Criptografiacutea
La Criptografiacutea tambieacuten llamada ldquoescritura ocultardquo tradicionalmente en el aacutembito de
criptografiacutea es donde se ocupan las teacutecnicas de cifrado o codificacioacuten que permiten alterar el
contenido de cierta informacioacuten o mensajes con el fin de hacerlos ininteligibles a receptores o
personas no autorizadas (Meneacutendez-Barzanallana 17)
Actualmente la criptografiacutea se encarga de analizar algoritmos protocolos y sistemas que
son utilizados para proveer seguridad a las comunicaciones informacioacuten y a las entidades que se
comunican entre siacute
221 Tipos de Criptografiacuteas
2211 Tablas Hash Un hash o funcioacuten hash toma un grupo de caracteres (llamado clave)
y lo asigna a un valor de cierta longitud (llamado valor hash o hash) El valor hash es representativo
de la cadena de caracteres original pero normalmente es maacutes pequentildeo que el original
El hash tambieacuten es utilizado en el cifrado y descifrado de firmas digitales La funcioacuten hash
transforma la firma digital luego tanto el valor hash como la firma se enviacutean al receptor El
receptor utiliza la misma funcioacuten hash para generar el valor hash y luego lo compara con el recibido
31
en el mensaje Si los valores hash son los mismos es probable que el mensaje se haya transmitido
sin errores
Un ejemplo de una funcioacuten hash se llama plegado(folding) Esta toma un valor original lo
divide en varias partes luego agrega las partes y usa los uacuteltimos cuatro diacutegitos restantes como
valor o clave hash
2212 Tipos de algoritmos Hash
22121 SHA - 1 (Secure Hash Algorithm) Es un algoritmo criptograacutefico de Hash
publicado por el gobierno de los Estados Unidos Genera un valor Hash de 160 bits a partir de una
secuencia de longitud arbitraria Es considerado lo suficientemente seguro para aplicaciones
praacutecticas pero hay disponibles versiones maacutes robustas SHA - 256 SHA - 384 y SHA - 512 que
generan valores Hash de 256 384 y 512 bits respectivamente estas versiones reemplazaraacuten a SHA
- 1 mientras se siga trabajando sobre ellas (Borghello 2009)
22122 MD5 (Message Digest Algorithm) En criptografiacutea MD5 es una funcioacuten hash
criptograacutefica ampliamente utilizada con un valor hash de 128 bits Como estaacutendar de Internet (RFC
1321) MD5 se ha empleado en una amplia variedad de aplicaciones de seguridad y tambieacuten se
usa comuacutenmente para verificar la integridad de los archivos Un hash MD5 generalmente se
expresa como un nuacutemero hexadecimal de 32 diacutegitos
MD5 es una versioacuten reforzada de MD4 Al igual que MD4 el hash MD5 fue inventado por
el profesor Ronald Rivest del Massachusetts Institute of Technology (MIT) Ademaacutes MD5 se
32
utilizoacute como modelo para SHA-1 ya que comparten muchas caracteriacutesticas comunes MD5 y
SHA-1 son los dos algoritmos hash maacutes utilizados en la actualidad aunque el uso de MD5 ha
disminuido ya que ahora se considera roto (Borghello 2009)
22123 RIPEMD ndash 160 Es una funcioacuten hash criptograacutefica basada en la construccioacuten
Merkle-Damgaringrd (MD) Se usa en el estaacutendar de Bitcoin Es una versioacuten reforzada del algoritmo
RIPEMD que produce un resumen de hash de 128 bits mientras que el algoritmo RIPEMD-160
produce una salida de 160 bits La funcioacuten de compresioacuten consta de 80 etapas formadas por 5
bloques que se ejecutan 16 veces cada uno Este patroacuten se ejecuta dos veces con los resultados
combinados en la parte inferior utilizando la adicioacuten del moacutedulo 32 (Borghello 2009)
22124 Funcioacuten Merkle-Damgaringrd La construccioacuten MD es una metodologiacutea para crear
funciones hash resistentes a colisiones a partir de funciones de compresioacuten unidireccionales Ralph
Merkle la propuso en el antildeo de 1979 en ldquoA certified Digital Signaturerdquo posterior a este estudio
Ivan Damgaringrd demostroacute de manera independiente que la estructura era soacutelida (Merkle amp
Damgaringrd sf)
2213 Cifrado simeacutetrico Los cifrados simeacutetricos son los cifrados criptograacuteficos maacutes
antiguos y maacutes utilizados En un cifrado simeacutetrico la clave que descifra el texto cifrado es la
misma (o puede derivarse faacutecilmente) de la clave que cifra el texto claro Esta clave a menudo se
conoce como la clave secreta Los cifrados simeacutetricos maacutes utilizados son DES y AES
La problemaacutetica que surge es la seguridad de la clave
33
El emisor cifra el mensaje con una clave
Enviacutea el mensaje cifrado de tal manera que nadie puede descifrarlo sin dicha clave
El receptor obtiene la clave y entonces puede descifrar el mensaje con la misma clave
que recibioacute del emisor
Algunos algoritmos de este tipo son
22131 RC5 (Cifrado de Rivest) Es un algoritmo de cifrado de bloque de clave simeacutetrica
disentildeado por Ron Rivest en 1994 Se destaca por ser simple raacutepido (debido a que usa solo
operaciones de coacutemputo primitivas como XOR o shift) y ademaacutes por consumir menos memoria
RC5 es un cifrado de bloques y aborda dos bloques de palabras a la vez Dependiendo del
tamantildeo del bloque de texto sin formato nuacutemero de rondas y tamantildeo de clave se pueden definir
varias instancias de RC5 y cada instancia se denota como RC5-w r b donde w = tamantildeo de
palabra en bits r = nuacutemero de rondas y b = tamantildeo de la clave en bytes (Pawar 2016)
Como se ha mencionado RC5 utiliza bloques de 2 palabras el tamantildeo del bloque de texto
sin formato puede ser de 32 64 o 128 bits
22132 IDEA (International Data Encryption Algorithm) Baacutesicamente es un algoritmo
de cifrado de bloque simeacutetrico El algoritmo asimeacutetrico utiliza la misma clave para el cifrado y
descifrado Un cifrado de bloque divide el mensaje en bloques cada uno de una longitud fija y
luego cifra cada bloque de forma independiente
34
El tamantildeo de bloque tiacutepico es de 16 bytes de 128 bits Un cifrado de bloque generalmente
operaraacute en bloques o rondas donde se aplica parte de la clave a la ronda Despueacutes de un cierto
nuacutemero de rondas digamos entre 10 y 16 se termina con el texto cifrado para ese bloque
El bloque de texto cifrado tiene exactamente el mismo tamantildeo que el bloque de texto sin
formato 16 bytes Para cada ronda se trabaja en el bloque utilizando una parte de la clave de
cifrado a la que se le llama la clave redonda Muacuteltiples claves redondas se derivan de la clave de
cifrado utilizando para esto un programa de claves
La programacioacuten de claves es un algoritmo que cambia XOR multiplica y realiza otros
tipos de operaciones en la clave de cifrado original para obtener estas claves redondas Bueno si
tengo un bloque de 16 bytes y tengo una clave de 128 bits que tambieacuten es de 16 bytes (Educba
2019)
22133 DES (Data Encryption Standard) El algoritmo DES es el algoritmo de seguridad
maacutes popular Es un algoritmo simeacutetrico lo que significa que se utilizan las mismas claves para
cifrar descifrar datos confidenciales La longitud de la clave es de 8 bytes (64 bits) Entonces
para cifrar descifrar datos el algoritmo DES utiliza una clave de 8 bytes pero 1 byte (8 bits) para
la verificacioacuten de paridad Es un algoritmo de cifrado de bloque por lo tanto el tamantildeo del bloque
de datos del algoritmo DES es de 64 bits Para cifrar descifrar datos el algoritmo DES utiliza la
estructura Feistel Entonces utiliza una ronda para cifrar descifrar datos Aunque el tamantildeo del
35
bloque de datos es de 64 bits el nuacutemero de rondas seraacute de 16 rondas asiacute mismo utilizaraacute diferentes
subclaves para cada ronda por lo tanto el nuacutemero de subclaves seraacute de 16 subclaves
Como se puede observar la clave efectiva es de 56 bits por consiguiente se tiene 256
combinaciones posibles por lo que la fuerza bruta se hace casi imposible (Sanjoy 2015)
2214 Cifrado asimeacutetrico Los cifrados asimeacutetricos tambieacuten se conocen como cifrados
con claves puacuteblicas y privadas Usan dos claves una para el cifrado de mensajes y la otra durante
el descifrado
Un intruso puede encriptar cualquier mensaje usando la clave puacuteblica conocida Los
cifrados asimeacutetricos son por lo tanto vulnerables a los ataques de texto sin formato Los cifrados
con encriptacioacuten de clave puacuteblica deben proporcionar seguridad contra tales ataques Despueacutes de
encriptar dos mensajes con la misma clave puacuteblica el intruso no puede distinguir queacute texto cifrado
estaacute conectado con queacute texto plano Ademaacutes un observador que analiza dos mensajes encriptados
usando el mismo algoritmo y la misma clave puacuteblica no puede distinguir sus textos cifrados
(Kowalczyk 2015)
Los cifrados asimeacutetricos son mucho maacutes lentos que los cifrados simeacutetricos (generalmente
mil veces maacutes lentos) Es una praacutectica comuacuten usar el cifrado de clave puacuteblica solo para establecer
la conexioacuten segura y negociar la nueva clave secreta que luego se utilizaraacute para proteger la
comunicacioacuten mediante cifrado simeacutetrico Ejemplos de este cifrado son
36
22141 DSA (Digital Signature Algorithm - Algoritmo de Firma digital) Es un estaacutendar
del Gobierno Federal de los Estados Unidos para firmas digitales Fue propuesto por el Instituto
Nacional de Estaacutendares y Tecnologiacutea (NIST) en agosto de 1991 para ser usado en su Estaacutendar de
Firma Digital (DSS) en el antildeo de 1993
La primera parte del algoritmo DSA es la generacioacuten de clave puacuteblica y clave privada que
puede describirse como
Se elige un nuacutemero primo q que se llama divisor primo
Se elige otro nuacutemero primo p de modo que pndash1 mod q = 0 p seraacute llamado moacutedulo
primo
Ahora se elige un nuacutemero entero g tal que 1 ltg ltp g q mod p = 1 g = h ((p
ndash 1) q) mod p q tambieacuten se llama moacutedulo de orden multiplicativo de g moacutedulo p
Se elige un nuacutemero entero tal que 0 ltx ltq
Se calcula y como g x mod p
Se empaqueta la clave puacuteblica como p q g y
Por uacuteltimo se empaqueta la clave privada como p q g x
La segunda parte del algoritmo DSA es la generacioacuten de firma y la verificacioacuten de firma
Para generar una firma de mensaje el remitente puede seguir estos pasos
Se genera el resumen del mensaje h utilizando un algoritmo hash como SHA1
Se genera un nuacutemero aleatorio k tal que 0 ltk ltq
37
Se calcula r como (g k mod p) mod q Si r = 0 seleccione una k diferente
Ahora se calcula i de modo que k i mod q = 1 i se llama el inverso multiplicativo modular
de k moacutedulo q
Se calcula s = i (h + r x) mod q Si s = 0 se selecciona una k diferente
Por uacuteltimo se empaqueta la firma digital como r s (Yang 2019)
22142 RSA Encriptacioacuten RSA encriptacioacuten Rivest-Shamir-Adleman tipo de
criptografiacutea de clave puacuteblica ampliamente utilizada para la encriptacioacuten de datos de correo
electroacutenico y otras transacciones digitales a traveacutes de Internet RSA lleva el nombre de sus
inventores Ronald L Rivest Adi Shamir y Leonard M Adleman quienes lo crearon mientras
trabajaban en la facultad del Instituto Tecnoloacutegico de Massachusetts (Simmons 2019)
En el sistema RSA un usuario elige de manera secreta un par de nuacutemeros primos p y q tan
grandes que factorizar el producto n = pq estaacute mucho maacutes allaacute de las capacidades informaacuteticas
proyectadas para la vida uacutetil de los cifrados A partir del antildeo 2000 los estaacutendares de seguridad del
gobierno de EE UU exigen que el moacutedulo tenga un tamantildeo de 1024 bits es decir p y q deben
tener un tamantildeo de aproximadamente 155 diacutegitos decimales por lo que n es aproximadamente un
nuacutemero de 310 diacutegitos Dado que los nuacutemeros duros maacutes grandes que actualmente se pueden
factorizar son solo la mitad de este tamantildeo y dado que la dificultad de factorizar se duplica
aproximadamente por cada tres diacutegitos adicionales en el moacutedulo se cree que los moacutedulos de 310
diacutegitos estaacuten a salvo de factorizar durante varias deacutecadas
38
2215 Cifrado hiacutebrido Es una teacutecnica comuacuten que combina diferentes funciones
criptograacuteficas como el cifrado de bloque Con el cifrado hiacutebrido se pueden cifrar datos firmarlos
o agregar un MAC y enviarlos en un objeto seguro (como una cadena o archivo) a traveacutes de un
canal de comunicacioacuten inseguro (sin un acuerdo clave entre dos partes)
En el sistema de cifrado hiacutebrido el texto plano (sin formato) se divide en tokens Luego
se calcula la longitud de cada ficha Los tokens y sus longitudes se almacenan en una matriz
Posteriormente se aplica el algoritmo Ceacutesar anidado sugerido El texto producido se almacena en
una matriz n x m llamada A Luego la transposicioacuten de esta matriz At se calcula utilizando
nuestra versioacuten revisada del cifrado de transposicioacuten para resolver el problema de secuenciacioacuten
A continuacioacuten el algoritmo RSA revisado se aplica en la matriz producida En el paso final se
aplica el formato de datos textuales usando el coacutedigo ASCII para producir el texto cifrado El
proceso de descifrado se realiza de la misma manera pero en orden inverso (Nahar amp Abu Abbas
2010)
23 Criptoanaacutelisis
El criptoanaacutelisis es el proceso de estudiar sistemas criptograacuteficos para buscar debilidades
o fugas de informacioacuten En general se considera que el criptoanaacutelisis explora las debilidades de
las matemaacuteticas subyacentes de un sistema criptograacutefico pero tambieacuten incluye la buacutesqueda de
debilidades en la implementacioacuten como ataques de canal lateral o entradas de entropiacutea deacutebiles
39
Su funcioacuten es la de conseguir obtener el significado de mensajes creados por medio de
criptografiacutea El objetivo principal del criptoanaacutelisis es opuesto al de la criptografiacutea Tiene como
finalidad encontrar la debilidad de las diferentes teacutecnicas criptograacuteficas para explotarla y de esta
manera reducir o eliminar la seguridad de la teacutecnica criptograacutefica Cualquier intento de
criptoanaacutelisis puede ser llamado ataque Una vez que un atacante logra romper la seguridad que
una teacutecnica criptograacutefica aportaba al sistema se dice que dicho sistema ha sido roto y por lo tanto
dicho ataque tuvo eacutexito
El criptoanaacutelisis es la investigacioacuten de sistemas texto cifrado y cifrados para revelar el
significado oculto o los detalles del sistema mismo El objetivo de este tipo de estudio es descubrir
los aspectos ocultos incluso si la clave o el algoritmo principal no se pueden descifrar Se necesita
una combinacioacuten exitosa de persistencia matemaacuteticas intuicioacuten curiosidad y una computadora
que funcione para hacer un buen criptoanalista Este tipo de ruptura de coacutedigo es extremadamente
importante especialmente en el mundo tecnoloacutegicamente dependiente de hoy El criptoanaacutelisis es
constantemente realizado por criptoacutegrafos que intentan obtener informacioacuten valiosa y por aquellos
que intentan descifrar el coacutedigo para revelar secretos (Security Degree Hub 2017)
24 Niveles de seguridad
Los niveles de seguridad de sistemas operativos son otorgados de acuerdo con el sistema
operativo que esteacute utilizando la empresa o institucioacuten ya sea puacuteblica privada gubernamental o no
gubernamental En el manual ldquoTrusted Computer System Evaluation Criteriardquo (United States
40
Government Department of Defense 1983) el Departamento de Defensa de los Estados Unidos
define los siguientes niveles
241 Nivel D1 Este nivel es el maacutes bajo de seguridad por lo tanto la norma establece que
el sistema no es confiable Esta divisioacuten contiene solo una clase Estaacute reservado para aquellos
sistemas que han sido evaluados pero que no cumplen con los requisitos para un nivel de
evaluacioacuten superior
242 Nivel C1 Un sistema de nivel C1 cumple nominalmente los requisitos de seguridad
discrecionales al proporcionar separacioacuten de usuarios y datos Incorpora alguna forma de controles
creiacutebles capaces de imponer limitaciones de acceso de manera individual es decir aparentemente
adecuados para permitir que los usuarios puedan proteger la informacioacuten privada o del proyecto y
evitar que otros usuarios lean o destruyan accidentalmente sus datos Se espera que el entorno de
nivel C1 sea uno de los usuarios cooperantes que procesan datos con el mismo nivel de
sensibilidad Los siguientes son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten
de nivel C1 son
Control de acceso discrecional por ejemplo listas de control de acceso (ACL)
usuario grupo
Por lo general para usuarios que estaacuten en el mismo nivel de seguridad
Proteccioacuten de nombre de usuario y contrasentildea y base de datos de autorizaciones
seguras (ADB)
Sistema operativo protegido y modo de operaciones del sistema
Comprobacioacuten perioacutedica de integridad de TCB
41
Mecanismos de seguridad probados sin derivaciones obvias
Documentacioacuten para la seguridad del usuario
Documentacioacuten para la seguridad de la administracioacuten de sistemas
Documentacioacuten para pruebas de seguridad
Documentacioacuten de disentildeo TCB
Tiacutepicamente para usuarios en el mismo nivel de seguridad
La certificacioacuten C1 es rara Los sistemas de ejemplo son versiones anteriores de
Unix IBM RACF
243 Nivel C2 Los sistemas de esta clase imponen un control de acceso discrecional maacutes
fino que los sistemas (C1) lo que hace que los usuarios sean individualmente responsables de sus
acciones a traveacutes de procedimientos de inicio de sesioacuten auditoriacutea de eventos relevantes para la
seguridad y aislamiento de recursos Los siguientes son requisitos miacutenimos para los sistemas
asignados a una clasificacioacuten de nivel C2
La proteccioacuten de objetos puede ser para un solo usuario Por ejemplo a traveacutes de
una base de datos ACL
La autorizacioacuten de acceso solo puede ser asignada por usuarios autorizados
Proteccioacuten de reutilizacioacuten de objetos (Por ejemplo para evitar la reasignacioacuten de
objetos eliminados de manera segura)
Procedimientos obligatorios de identificacioacuten y autorizacioacuten para los usuarios (Por
ejemplo Usuario Contrasentildea)
Auditoriacutea completa de eventos de seguridad (es decir fecha hora evento usuario
eacutexito falla ID de terminal)
42
Modo de operacioacuten del sistema protegido
Proteccioacuten adicional para la autorizacioacuten y los datos de auditoriacutea
Documentacioacuten como C1 maacutes informacioacuten sobre el examen de la informacioacuten de
auditoriacutea
Esta es una de las certificaciones maacutes comunes Los sistemas operativos de ejemplo
son VMS IBM OS 400 Windows NT Novell NetWare 411 Oracle 7 DG AOS
VS II
244 Nivel B1 Los sistemas de este nivel requieren todas las caracteriacutesticas requeridas
para el nivel C2 Ademaacutes debe estar presente una declaracioacuten informal del modelo de poliacutetica de
seguridad etiquetado de datos y control de acceso obligatorio sobre sujetos y objetos nombrados
La capacidad debe existir para etiquetar con precisioacuten la informacioacuten exportada Cualquier falla
identificada por la prueba debe ser eliminada Los siguientes son requisitos miacutenimos para los
sistemas asignados a una clasificacioacuten de nivel B1
Etiquetado obligatorio de seguridad y acceso de todos los objetos (Por ejemplo
archivos procesos dispositivos)
Comprobacioacuten de integridad de etiquetas (Por ejemplo mantenimiento de etiquetas
de sensibilidad cuando se exportan datos)
Auditoriacutea de objetos etiquetados
Control de acceso obligatorio para todas las operaciones
Capacidad para especificar el nivel de seguridad impreso en salida legible para
humanos (Por ejemplo impresoras)
43
Capacidad para especificar el nivel de seguridad en cualquier salida legible por
maacutequina
Auditoriacutea mejorada
Proteccioacuten mejorada del sistema operativo
Documentacioacuten mejorada
Los sistemas operativos de ejemplo son HP-UX BLS Cray Research Trusted
Unicos 80 Digital SEVMS Harris CS SX SGI Trusted IRIX
245 Nivel B2 En los sistemas de nivel B2 el TCB se basa en un modelo de poliacutetica de
seguridad formal claramente definido y documentado que requiere que la aplicacioacuten de control de
acceso discrecional y obligatoria que se encuentra en los sistemas de nivel B1 se extienda a todos
los sujetos y objetos en el sistema Ademaacutes se abordan los canales encubiertos El TCB debe
estructurarse cuidadosamente en elementos criacuteticos para la proteccioacuten y no criacuteticos para la
proteccioacuten La interfaz TCB estaacute bien definida y el disentildeo y la implementacioacuten TCB le permiten
someterse a pruebas maacutes exhaustivas y una revisioacuten maacutes completa Se fortalecen los mecanismos
de autenticacioacuten se proporciona una gestioacuten confiable de las instalaciones en forma de soporte
para las funciones de administrador y operador del sistema y se imponen estrictos controles de
gestioacuten de la configuracioacuten El sistema es relativamente resistente a la penetracioacuten Los siguientes
son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten de nivel B2
Notificacioacuten de cambios en el nivel de seguridad que afectan a los usuarios
interactivos
Etiquetas de dispositivos jeraacuterquicos
44
Acceso obligatorio a todos los objetos y dispositivos
Comunicaciones de ruta confiables entre usuario y sistema
Rastreo de canales de almacenamiento encubiertos
Modo de operaciones del sistema maacutes estricto en unidades independientes de varios
niveles
Anaacutelisis de canales encubiertos
Pruebas de seguridad mejoradas
Modelos formales de TCB
Versioacuten actualizacioacuten y anaacutelisis y revisioacuten de parches
Los sistemas de ejemplo son Honeywell Multics Cryptek VSLAN Trusted
XENIX
246 Nivel B3 El TCB debe satisfacer los requisitos del monitor de referencia para mediar
todos los accesos de los sujetos a los objetos ser a prueba de manipulaciones y ser lo
suficientemente pequentildeo como para ser sometido a anaacutelisis y pruebas Con este fin el TCB estaacute
estructurado para excluir el coacutedigo que no es esencial para la aplicacioacuten de la poliacutetica de seguridad
con una importante ingenieriacutea del sistema durante el disentildeo y la implementacioacuten del TCB dirigido
a minimizar su complejidad Se admite un administrador de seguridad los mecanismos de
auditoriacutea se ampliacutean para sentildealar eventos relevantes para la seguridad y se requieren
procedimientos de recuperacioacuten del sistema El sistema es altamente resistente a la penetracioacuten
Los siguientes son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten de clase
(B3)
45
ACL adicionalmente basadas en grupos e identificadores
Acceso de ruta confiable y autenticacioacuten
Anaacutelisis automaacutetico de seguridad
Modelos TCB maacutes formales
Auditoriacutea de eventos de auditoriacutea de seguridad
Recuperacioacuten confiable despueacutes de la caiacuteda del sistema y documentacioacuten relevante
Cero defectos de disentildeo en TCB y defectos miacutenimos de implementacioacuten
El uacutenico sistema operativo con certificacioacuten B3 es Getronics Wang Federal XTS-
300
247 Nivel A1 Los sistemas en el nivel A1 son funcionalmente equivalentes a los del nivel
B3 en que no se agregan caracteriacutesticas arquitectoacutenicas adicionales ni requisitos de poliacuteticas La
caracteriacutestica distintiva de los sistemas en este nivel es el anaacutelisis derivado de la especificacioacuten
formal del disentildeo y las teacutecnicas de verificacioacuten y el alto grado resultante de seguridad de que el
TCB se implementa correctamente Esta garantiacutea es de naturaleza de desarrollo comenzando con
un modelo formal de la poliacutetica de seguridad y una especificacioacuten formal de alto nivel del disentildeo
Independientemente del lenguaje de especificacioacuten particular o del sistema de verificacioacuten
utilizado existen los siguientes criterios importantes para la verificacioacuten del disentildeo de nivel A1
Meacutetodos formales y prueba de integridad de TCB
Estos son los uacutenicos sistemas con certificacioacuten A1 Boeing MLS LAN Gemini
Trusted Network Processor Honeywell SCOMP (United States Government
Department of Defense 1983)
46
25 Sistemas Operativos
Un sistema operativo actuacutea como intermediario entre el usuario de una computadora y el
hardware de la computadora El propoacutesito de un sistema operativo es proporcionar un entorno en
el que un usuario pueda ejecutar programas de manera conveniente y eficiente
Un sistema operativo es un software que administra el hardware de la computadora El
hardware debe proporcionar mecanismos apropiados para garantizar el correcto funcionamiento
del sistema informaacutetico y para evitar que los programas del usuario interfieran con el correcto
funcionamiento del sistema (Carretero Peacuterez de Miguel Anasagasti Garciacutea Carballeira amp Peacuterez
Costoya 2001)
Un sistema operativo es un programa que controla la ejecucioacuten de programas de aplicacioacuten
y actuacutea como una interfaz entre el usuario de una computadora y el hardware de la computadora
Una definicioacuten maacutes comuacuten es que el sistema operativo es el uacutenico programa que se ejecuta
en todo momento en la computadora (generalmente llamado kernel) y todo lo demaacutes son
programas de aplicacioacuten
Un sistema operativo se ocupa de la asignacioacuten de recursos y servicios como memoria
procesadores dispositivos e informacioacuten El sistema operativo incluye los programas para
administrar estos recursos como un controlador de traacutefico un programador un moacutedulo de
administracioacuten de memoria programas de E S y un sistema de archivos (Pawar 2016)
47
251 Windows Sistema operativo de la empresa Microsoft es un conjunto de programas
que administra los recursos de una computadora Windows empieza a trabajar cuando se enciende
o inicializa el equipo para gestionar el hardware empezando desde los niveles maacutes baacutesicos
Es importante conocer que los sistemas operativos funcionan tanto en las computadoras
como en diferentes dispositivos electroacutenicos que usan microprocesadores En este caso Windows
su versioacuten estaacutendar funciona con computadoras Microsoft domina el mercado de los sistemas
operativos debido a su comodidad se puede decir que eacuteste sistema operativo se encuentra
instalado en el 887 de los equipos de coacutemputo que cuentan con acceso a Internet en todo el
mundo
Se pueden mencionar algunas aplicaciones principales (que eacutestas tambieacuten pueden ser
desinstaladas por los usuarios o actualizadas sin que el sistema operativo se dantildee o deje de
funcionar) se encuentran el procesador de texto WordPad el navegador Internet Explorer el
reproductor multimedia Windows Media y el editor de imaacutegenes Paint
La principal novedad que aportoacute Windows desde sus oriacutegenes fue la facilidad para usarlo
y el atractivo visual De hecho su nombre (ldquoventanasrdquo) se debe a la forma en que el sistema
presenta a los usuarios los recursos con los que cuenta su computadora lo que facilita las tareas
cotidianas Windows tambieacuten suele recibir varias criacuteticas por sus problemas de seguridad y por
otros fallos
48
252 Registro de Windows El registro es una base de datos jeraacuterquica que contiene datos
que son criacuteticos para el funcionamiento de Windows y las aplicaciones y servicios que se ejecutan
en Windows Los datos estaacuten estructurados en un formato de aacuterbol Cada nodo en el aacuterbol se llama
clave Cada clave puede contener subclaves y entradas de datos llamadas valores A veces la
presencia de una clave es el uacutenico dato que requiere una aplicacioacuten otras veces una aplicacioacuten
abre una clave y usa los valores asociados con la clave (Microsoft Inc 2019) Una clave puede
tener cualquier nuacutemero de valores y los valores pueden tener cualquier forma El registro es
utilizado por
Autenticacioacuten
Nuacutecleo (Kernel)
Controladores de dispositivos
Servicios
SAM
Las carpetas del sistema se almacenaraacuten en distintas rutas de acceso dependiendo de la
versioacuten de Windows con la que se esteacute trabajando a continuacioacuten cuatro de los cinco archivos
que maacutes interesan a esta investigacioacuten se encuentran en la siguiente ubicacioacuten SystemRoot
System32 Config dentro de las siguientes sub llaves
SAM - HKEY LOCAL MACHINE SAM
SECURITY - HKEY LOCAL MACHINE SECURITY
SOFTWARE - HKEY LOCAL MACHINE SOFTWARE
SYSTEM - HKEY LOCAL MACHINE SYSTEM
49
253 Administrador de cuentas de seguridad El administrador de cuentas de seguridad
(SAM por sus siglas en ingleacutes) es una base de datos en donde se encuentran las cuentas de
seguridad Esto es utilizado por Windows para administrar las cuentas de usuario y contrasentildeas en
el formato hash
Las contrasentildeas nunca se almacenan en formato de texto claro Se almacenan en formato
de hash para protegerlas de los ataques La base de datos SAM se implementa como un archivo de
registro y las obtiene del kernel de Windows y mantiene un bloqueo exclusivo al archivo SAM
esto quiere decir que el archivo tiene cierta medida de seguridad para el almacenamiento de las
contrasentildeas (Hernandez 2013)
No es posible copiar el archivo SAM a otra ubicacioacuten en el caso de los ataques en liacutenea
Dado que el archivo SAM estaacute bloqueado con un bloqueo exclusivo al sistema de archivos no
puede ser copiado o movido mientras se ejecuta Windows El bloqueo no iniciaraacute hasta que la
excepcioacuten de la pantalla azul haya sido inicializada o el sistema operativo haya sido apagado Sin
embargo los archivos en formato hash de contrasentildeas fuera de liacutenea estaacuten disponibles para los
ataques de fuerza bruta el contenido del archivo SAM puede ser copiado o descargado utilizando
diversas teacutecnicas
Un identificador de seguridad (SID) es un valor uacutenico de longitud variable utilizado para
identificar a un usuario Cada cuenta tiene un SID uacutenico emitido por una autoridad como un
controlador de dominio de Windows y almacenado en una base de datos de seguridad Cada vez
50
que un usuario inicia sesioacuten el sistema recupera el SID para ese usuario de la base de datos y lo
coloca en el token de acceso para ese usuario El sistema usa el SID en el token de acceso para
identificar al usuario en todas las interacciones posteriores con la seguridad de Windows Cuando
se ha usado un SID como identificador uacutenico para un usuario o grupo no se puede volver a usar
para identificar a otro usuario o grupo
La seguridad de Windows usa SID en los siguientes elementos de seguridad
En descriptores de seguridad para identificar al propietario de un objeto y grupo
primario
En las entradas de control de acceso para identificar al usuario para quien el acceso
estaacute permitido denegado o auditado
En tokens de acceso para identificar al usuario y los grupos a los que pertenece
2531 Identificador de Seguridad (SID Security Identifier)
S - 1 - 5 - 21 - 3983109318 - 554656936 - 3066752241 - 1000
S - indica que es un string de SID
1 - el nivel de revisioacuten
5 - el identificador de valor de autoridad o authority value no siempre seraacute 5 Entre otros
valores que se pueden encontrar estaacuten los siguientes
51
0 - sin autoridad
1 - autoridad global
2 - autoridad local
3 - autoridad de creador
4 - autoridad no uacutenica
5 - autoridad NT
9 - autoridad de administrador de recursos
21 - 3983109318 - 554656936 - 3066752241 - es el dominio en el que se encuentra el
sistema o el identificador local de la computadora
1000 - ID uacutenico para cada cuenta aquiacute se encuentra el RID (Relative Identifier) Nuacutemero
de longitud variable cualquier grupo o usuario que se cree de manera diferente a la predeterminada
recibiraacute un RID de 1000 o superior En el caso de que el valor sea 500 responde a que este SID
representa la cuenta de un administrador el valor de 500 siempre seraacute el mismo en cualquier cuenta
de administrador a su vez el valor 501 representa el SID de una cuenta Invitado (Guest)
(Hernandez 2013)
254 Autenticacioacuten NTML NTLM (NT LAN Manager) es un protocolo empleado por
muchos productos de Microsoft para realizar la autenticacioacuten desafiacuteorespuesta por lo tanto es el
esquema de autenticacioacuten que por defecto usa Firewall de Microsoft y tambieacuten los productos del
servidor proxy
52
Este software fue desarrollado para afrontar el problema del trabajo con Tecnologiacuteas Java
en un entorno orientado a Microsoft Puesto que no se basa en ninguna especificacioacuten oficial de
protocolo por lo tanto no hay garantiacutea de que funciona correctamente en todos los casos Tambieacuten
ha estado en algunas instalaciones de Windows donde funcionoacute con eacutexito
La Autenticacioacuten NTLM se compone de dos protocolos protocolo de autenticacioacuten NTLM
y protocolo de autenticacioacuten LM Estos protocolos utilizan una metodologiacutea de hash diferente para
almacenar contrasentildeas de los usuarios en la base de datos SAM (Hernandez 2013) (Meneacutendez-
Barzanallana 17)
26 LINUX (ROCKS)
Rocks es una distribucioacuten para cluacutester de Linux de coacutedigo abierto que permite a los usuarios
finales construir de manera maacutes amigable cluacutesteres computacionales y muros de visualizacioacuten en
mosaico Cientos de investigadores de todo el mundo han utilizado Rocks para implementar su
propio cluacutester
Desde mayo de 2000 el grupo Rocks ha abordado las dificultades de implementar cluacutesteres
manejables Encaminados hacia un objetivo crear cluacutesters de manera maacutes sencilla Por sencilla
significa faacutecil de implementar administrar actualizar y escalar Este objetivo impulsa a los
creadores de esta herramienta a ayudar a entregar el poder computacional de los cluacutesteres a una
amplia gama de usuarios cientiacuteficos Estaacute claro que poner a disposicioacuten de una amplia gama de
53
cientiacuteficos plataformas de computacioacuten paralelas estables y manejables ayudaraacute enormemente a
mejorar el estado del arte en herramientas paralelas (Rocksclusters 2010)
261 Escritorio De todos los escritorios disponibles para el sistema operativo Linux
GNOME ha logrado convertirse en el maacutes eficiente estable y confiable sin dejar de ser sencillo
de usar De hecho la mayoriacutea de los usuarios independientemente de su experiencia pueden
trabajar con GNOME casi sin esfuerzo
Los usuarios que son nuevos tanto en Linux como en GNOME hariacutean mejor en conocer
los entresijos del escritorio que hacen que Linux no solo sea faacutecil sino tambieacuten divertido
Un entorno de escritorio agrupa programas que trabajan juntos para formar un espacio de
trabajo informaacutetico cohesivo unificado transparente e interactivo para los usuarios O para
decirlo de manera maacutes simple el entorno de escritorio es la interfaz de usuario para el sistema
operativo En el caso de GNOME ese sistema operativo es Linux Sin un entorno de escritorio su
uacutenica alternativa es una sesioacuten de Shell (liacutenea de comandos) basada en texto (Wallen 2019)
262 Paquete de Oficina Una suite ofimaacutetica es una coleccioacuten de software creada por el
mismo proveedor y disentildeada para ser utilizada para tareas rutinarias dentro de una organizacioacuten
Por lo general una suite ofimaacutetica incluye aplicaciones como procesamiento de texto hojas de
caacutelculo presentacioacuten correo electroacutenico toma de notas base de datos colaboracioacuten y otros tipos
de software relacionados En la mayoriacutea de los casos cada aplicacioacuten en la suite ofimaacutetica se puede
instalar por separado y todas las aplicaciones dentro de la suite admiten la interoperabilidad entre
54
siacute Microsoft Office Suite Lotus Live Notes y LibreOffice son todas suites de oficina de uso
comuacuten
263 Organizador de archivos Es una funcioacuten avanzada disentildeada para agrupar y
renombrar archivos usando sus atributos del sistema o meta atributos
Cada archivo tiene atributos del sistema como la fecha (Acceso Creado y Modificado) el
tipo de archivo (definido por extensioacuten) y asociado con la aplicacioacuten registrada de ese tipo de
archivo Estos atributos se pueden usar para generar un nuevo nombre de archivo o carpeta (grupo)
para cada archivo con el mismo atributo Ademaacutes de los atributos del sistema algunos archivos
en su mayoriacutea medios o imaacutegenes pueden contener metacampos como el nombre del artista el
tiacutetulo el nombre del aacutelbum y otros El Organizador de archivos tambieacuten usa estos metacampos
para agrupar archivos en una carpeta con el mismo atributo Por lo tanto el organizador de archivos
opera reglas de organizacioacuten de archivos que definen la jerarquiacutea de agrupacioacuten de carpetas y las
reglas de cambio de nombre de archivos
Asiacute como el conocido ldquoexplorador de Windowsrdquo Linux integra un organizador de archivos
y carpetas llamado NAUTILUS para realizar tareas de manejo de archivos como mover copiar
renombrar crear carpetas y de esta manera administrar nuestros dispositivos de almacenamiento
55
27 Agrupamiento (Cluacutester) de Computadoras
El agrupamiento (cluacutester) de computadoras estaacute conformado por una coleccioacuten de
computadoras autoacutenomas interconectadas trabajando unidas como un solo recurso de computacioacuten
integrado El concepto de agrupamiento de computadoras nacioacute cuando los pioneros de la
supercomputacioacuten intentaban difundir diferentes procesos entre varias computadoras para luego
poder recoger los resultados que dichos procesos debiacutean producir Con un hardware maacutes barato y
faacutecil de conseguir se pudo perfilar que podriacutean conseguirse resultados muy parecidos a los
obtenidos con aquellas maacutequinas mucho maacutes costosas (Chirinov 2003)
Un agrupamiento de computadoras se puede definir como el trabajo realizado por dos o
maacutes computadoras que en conjunto se encargan de proveer una determinada solucioacuten Tiene como
finalidad agrupar el poder de coacutemputo de los nodos implicados para proporcionar una mayor
escalabilidad disponibilidad y fiabilidad (Branch Bedoya amp Mesa Muacutenera 2008)
La escalabilidad es la capacidad de un equipo para hacer frente a voluacutemenes de trabajo
cada vez mayores sin por ello dejar de prestar un nivel de rendimiento aceptable
La disponibilidad y la fiabilidad se encuentran bastante relacionadas aunque difieren
ligeramente en algunos aspectos La disponibilidad es la calidad de estar presente y listo para su
uso mientras que la fiabilidad es la probabilidad de un correcto funcionamiento
56
Entre los tipos de agrupamiento maacutes comunes se pueden encontrar de alta disponibilidad
(ambiente a prueba de fallas) coacutemputo de alto desempentildeo (los procesos o las tareas dadas se
presentan como un solo sistema virtual) y escalamiento horizontal (se utiliza para proporcionar
una sola interfaz a un conjunto de recursos que pueden aumentar o disminuir arbitrariamente su
tamantildeo en un cierto periodo de tiempo) (Gonzaacutelez Ramiacuterez amp Rodriacuteguez Saacutenchez 2008)
271 Beowulf Es una clase de computadora masivamente paralela de altas prestaciones
principalmente construida a base de agrupamiento de componentes hardware estaacutendar (Llorens amp
Pentildea 2002) Consta de un conjunto de nodos minimalistas unidos por un medio de
comunicaciones econoacutemico Esto quiere decir que tienen lo miacutenimo para ejecutar su funcioacuten de
hecho los nodos por siacute solos no son capaces de ejecutar siquiera un sistema operativo (Nievas
Pino amp Arroyo) Se puede ver como una supercomputadora paralela construida con hardware
comercial de faacutecil adquisicioacuten que posee como sistema operativo Linux Los cluacutesters Beowulf son
extremadamente poderosos pero no son para todas las personas Su principal desventaja es que
requieren software disentildeado para poder aprovechar los recursos del cluacutester (Lizaacuterraga 2002)
272 Mosix Seguacuten Peacuterez (2001) la arquitectura Mosix estaacute basada en la misma ideologiacutea
de la arquitectura Beowulf Se basa en un conjunto de parches aplicados al nuacutecleo (kernel) de Linux
y que asignan a todo el grupo de nodos un espacio de direcciones y de procesos comuacuten gracias al
cual los procesos migran de uno a otro con el fin de equilibrar favorablemente la carga del sistema
global Es una herramienta disentildeada para realizar balanceo de carga en el agrupamiento de forma
totalmente transparente de manera tal que los nodos se comportan como una sola maacutequina y asiacute
incrementar el aprovechamiento de cada uno de los nodos (Chaacutevez y otros 1999) La principal
57
ventaja de Mosix frente a Beowulf se basa precisamente en esto Mosix da mejores respuestas que
Beowulf frente a la caiacuteda o insercioacuten de nodos A parte de esto Mosix permite un cambio constante
de aplicacioacuten o incluso el correr aplicaciones independientes de forma simultaacutenea
273 OpenMosix OpenMosix es una extensioacuten del proyecto Mosix Seguacuten Chirinov
(2003) la idea de este modelo es que la distribucioacuten de tareas en el cluacutester la determina OpenMosix
de forma dinaacutemica conforme se van creando tareas Cuando un nodo estaacute demasiado cargado las
tareas que se estaacuten ejecutando pueden migrar a cualquier otro nodo del cluacutester Asiacute desde que se
ejecuta una tarea hasta que eacutesta muere podraacute migrar de un nodo a otro sin que el proceso sufra
mayores cambios
Ademaacutes OpenMosix funciona a nivel de kernel por tanto puede conseguir toda la
informacioacuten que necesite para decidir que tanto estaacute cargado un sistema y queacute pasos se deben
seguir para aumentar el rendimiento ademaacutes puede realizar maacutes funciones que cualquier
aplicacioacuten a nivel de usuario
Despueacutes de elegir el tipo de cluacutester a utilizar se procede a elegir los elementos baacutesicos que
se emplearaacuten para implementar el cluacutester capacidad de procesamiento memoria espacio del disco
de cada nodo asiacute como tambieacuten el ancho de banda de la comunicacioacuten entre los nodos Se deberaacute
decidir cuaacuteles son importantes basaacutendose en la variedad de aplicaciones que se piensen ejecutar
en el cluacutester y de la cantidad de dinero que se disponga para construirlo
58
Bajo estos mismos paraacutemetros se debe escoger tambieacuten el tipo de red que interconectaraacute
los nodos (Turner 2004)
Luego se debe escoger el sistema operativo a utilizar Esta eleccioacuten dependeraacute mucho de
la maacutequina que se escoja Linux es siempre una opcioacuten en cualquier maacutequina y es la eleccioacuten maacutes
comuacuten Muchas de las herramientas necesarias para la implementacioacuten de un cluacutester han sido
desarrolladas bajo Linux Pero existen cluacutesters corriendo bajo Windows NT UNIX Solaris y AIX
59
Capiacutetulo 3 Implementacioacuten de Cluacutester
31 Requisitos previos
Antes de iniciar la instalacioacuten del FrontEnd es necesario asegurarse que las conexiones de
red de los equipos junto con la configuracioacuten de la BIOS de cada uno sean las correctas
311 Conexioacuten de los equipos y acceso a la red
Un cluacutester de alto desempentildeo funciona como un uacutenico equipo el cuaacutel comparte los recursos
de los nodos esclavos con el nodo maestro para ello es esencial la existencia de una red interna de
alta velocidad por medio de la cual se realice la comunicacioacuten entre el nodo maestro y los nodos
esclavos como se muestra en la Figura 31 El nodo maestro necesitaraacute 2 tarjetas de red de alta
Figura 31 Esquema tiacutepico de configuracioacuten de un cluacutester (Fuente Elaboracioacuten propia)
60
velocidad una para la comunicacioacuten interna y otra para la comunicacioacuten con redes externas El
sistema operativo Rocks asigna automaacuteticamente la interface ldquoeth0rdquo a la red interna del cluacutester y
la interface ldquoeth1rdquo a la red externa En caso de que Rocks sea incapaz de determinar cuaacutel es la red
externa debido a la falta de conexioacuten a internet estas podriacutean ser asignadas de manera incorrecta
por tal motivo se sugiere asegurar el nombre de cada una de las interfaces
Dado que Rocks no permite volverlas a asignar una vez finalizada la instalacioacuten es
necesario volver a reinstalarlo para poder solucionar este inconveniente
312 Configuracioacuten de la BIOS Para evitar problemas durante la instalacioacuten conviene
configurar correctamente la Bios
3121 ATAIDE Mode Algunos sistemas operativos puede que no sean capaces de
reconocer el controlador del disco duro como es en el caso de esta distribucioacuten de Rocks usada
Para evitar complicaciones de tener que antildeadir el controlador a mano lo mejor es habilitar el modo
ldquoLegacyrdquo de controlador de disco duro
61
Para ello se accede a la Bios pulsando F2 al encender el equipo se situacutea en la pestantildea
ldquoAdvancedrdquo y se selecciona ldquoDrive Configurationrdquo como se muestra en la Figura 32
Figura 32 Imagen del Bios del equipo en la opcioacuten ldquodrive configurationrdquo (Fuente Elaboracioacuten propia)
Figura 33 Bios ATAIDE Legacy Mode (Fuente Elaboracioacuten propia)
62
Dentro del menuacute se tiene que seleccionar el Modo ldquoLegacyrdquo en la opcioacuten ldquoATAIDE
Moderdquo como se muestra en la Figura 33 y para salir se guardan los cambios con F10
3122 PXE Al momento de instalar un nodo puede ocurrir falla al arrancar y aparecer
bootsplash (Reboot and Select proper device) Para evitarlo es necesario habilitar la opcioacuten de
PXE para que tome los archivos de instalacioacuten del nodo maestro a traveacutes de la red interna
En la Bios se selecciona la pestantildea ldquoBootrdquo y dentro de ese mismo menuacute se deshabilita
ldquoSilent bootrdquo y se habilita la opcioacuten de ldquoPXE boot to lanrdquo como se muestra en la Figura 34
Finalmente hay que verificar que en la secuencia de arranque (Figura 35) como primer
dispositivo sea desde red para que de esta manera inicie desde el PXE
Figura 34 Bios Boot PXE (Fuente Elaboracioacuten propia)
63
Se guardan los cambios antes de salir
32 Instalacioacuten de Sistema Operativo Rocks
Una vez configurados los equipos se enciende el equipo que seraacute el nodo maestro
(FrontEnd) en el cuaacutel previamente se ha modificado la secuencia de inicio del boot desde la Bios
de modo que al insertar el CD de Rocks eacuteste procederaacute a iniciar la instalacioacuten con la siguiente
pantalla que se muestra a continuacioacuten
Figura 35 Bios Boot device prioriry (Fuente Elaboracioacuten propia)
64
Para iniciar la instalacioacuten uacutenicamente se selecciona la opcioacuten ldquoInstall CentOS 7rdquo como se
muestra en la Figura 36 dando asiacute comienzo al proceso de instalacioacuten Tras finalizar un proceso
de carga en memoria Rocks mostraraacute un formulario en entorno graacutefico mediante el cual
procederemos a configurar el FrontEnd
Esta primera pantalla se muestra coacutemo se desea realizar la instalacioacuten puede realizarse
por medio de la descarga del sistema operativo (se requiere internet) En este caso como se muestra
en la Figura 37 dado que previamente se descargoacute el DVD completo se seleccionoacute ldquoCDDVD
based rollsrdquo
Figura 36 Pantalla de Inicio de instalacioacuten de Rocks (Fuente Elaboracioacuten propia)
65
A continuacioacuten Figura 38 se selecciona de la lista de Rolls aquellos que se desean instalar
Figura 37 Pantalla de seleccioacuten de Rolls (Fuente Elaboracioacuten propia)
Figura 38 Listado de opciones de rolls para instalar (Fuente Elaboracioacuten propia)
66
Tras presionar el botoacuten ldquoSubmitrdquo la siguiente pantalla (Figura 39) muestra formulario en
el que hay que indicar la informacioacuten baacutesica del cluacutester entre las cuales aparecen
Fully-Qualified Host Name Nombre con el que se conoceraacute en la red externa el cluacutester
Cluster Name Nombre utilizado para ser identificado dentro de las herramientas del cluacutester
Certificate Organization Locality State and Country Organizacioacuten a la que pertenece el
cluacutester la localidad el estado y la ciudad
Contact URL and LattitudeLongitude Contacto direccioacuten web y posicioacuten GPS
Figura 39 Informacioacuten baacutesica del cluacutester a instalar (Fuente Elaboracioacuten propia)
67
Una vez que se ingresa la informacioacuten al cluacutester se presiona el botoacuten ldquoListordquo y
posteriormente se podraacute cambiar la configuracioacuten baacutesica de la red interna del cluacutester En este caso
Figura 310 se dejoacute el valor por defecto una IP de clase B (1011116)
El siguiente paso es la configuracioacuten de la red externa (para tener acceso a internet) En
este punto se introducen los datos de la red externa a la que se encuentra conectado el nodo
maestro como se muestra en la Figura 311
Figura 310 Configuracioacuten Ethernet de la red privada (Fuente Elaboracioacuten propia)
Figura 311 Configuracioacuten Ethernet de la red puacuteblica (Fuente Elaboracioacuten propia)
68
Para terminar de configurar la red externa como se muestra en la Figura 312 se ingresa la
direccioacuten IP del Gateway y los DNS (Servidor de nombre de dominio) que va a usar para el acceso
a internet
Se continuacutea con el resto del formulario donde se introduce la contrasentildea para el usuario
root tal y como se muestran en la Figura 313
Figura 312 Configuracioacuten de DNS y Gateway (Fuente Elaboracioacuten propia)
Figura 313 Ingresar contrasentildea de usuario root (Fuente Elaboracioacuten propia)
69
Paso siguiente se procede a seleccionar la zona horaria como se muestra en la Figura 314
donde se encuentra ubicado el cluacutester asiacute como un servidor de donde podraacute obtener la zona horaria
automaacuteticamente en este caso se dejoacute el valor por default
En el formulario de la Figura 315 se selecciona la forma de particionar el disco duro
(automaacutetica manual) una vez seleccionado daraacute comienzo al proceso de instalacioacuten de manera
Figura 314 Configuracioacuten horaria (Fuente Elaboracioacuten propia)
Figura 315 Particiones del disco duro (Fuente Elaboracioacuten propia)
70
desatendida Cuando ha concluido la instalacioacuten el equipo se reiniciaraacute y se requeriraacute iniciar con
el usuario root y la contrasentildea establecida previamente
321 Configuracioacuten del teclado Debido a que el teclado por defecto estaacute en idioma
ingleacutes podriacutea provocar problemas al momento de escribir la contrasentildea u otros comandos
Seguacuten las pruebas realizadas aunque se cambie la configuracioacuten del teclado desde el menuacute
de preferencias uacutenicamente se mantiene dentro de la sesioacuten desde la que se ha cambiado dicha
opcioacuten (lo cual implica que la contrasentildea de usuario hay que introducirla seguacuten la distribucioacuten
inglesa)
33 Instalacioacuten de los nodos
Previo a la instalacioacuten de los nodos esclavos cada uno de los equipos fueron configurados
desde la Bios para que arranquen desde la red (seccioacuten 3122) Para ir antildeadiendo los nodos solo
se tiene que introducir el siguiente comando desde nuestro FrontEnd
$insert-ethers
A continuacioacuten como se muestra en la Figura 316 apareceraacute una ventana en la pantalla
en la cual se seleccionaraacute la opcioacuten ldquoComputerdquo
71
Una vez realizado este paso se procede a encender los equipos que funcionaraacuten como
nodos esclavos uno a uno
Se sugiere esperar a que cada nuevo equipo encendido esteacute marcado con un asterisco antes
de proceder a encender el siguiente como se muestra en la Figura 317 De esta manera se asegura
que cada nuevo nodo antildeadido posea el nombre y numeracioacuten deseada
Figura 316 Pantalla para ingresar nodos (Fuente Elaboracioacuten propia)
Figura 317 Indicador de insercioacuten de nuevos nodos (Fuente Elaboracioacuten propia)
72
Puede darse el caso de que un nodo no sea detectado automaacuteticamente eso indica que se
ha omitido alguacuten paso o parte de la configuracioacuten realizada hasta el momento es incorrecta En ese
caso comprobar lo siguiente
Que el nodo esclavo este correctamente conectado a la red interna
Que el FrontEnd (nodo maestro) tenga correctamente configurada la red interna y externa
Que el PXE esteacute habilitado en la Bios del nodo esclavo
331 Administracioacuten de nodos Algunos de los comandos maacutes uacutetiles para para la gestioacuten
de los nodos son los siguientes
Eliminar un nodo de la lista
Reinstalar un nodo
Listar los nodos ya instalados
Acceder a un nodo
$rocks remove host nombre_nodo
$rocks remove host nombre_nodo
$rocks set host boot nombre_nodo action=install
$rocks set host boot nombre_nodo action=install
$rocks list host
$rocks list host
$ssh nombre_nodo
$ssh nombre_nodo
73
Ejecutar un comando de manera remota a un nodo
332 Creacioacuten de cuentas de usuario Para agregar a un usuario hay que realizar los
siguientes pasos
1 Creacioacuten de la cuenta
$useradd nombre_usuario
2 Asignacioacuten de una contrasentildea
$passwd nombre_usuario
3 Sincronizacioacuten de la cuenta de usuario con el resto de nodos
$rocks-user-sync
333 Configuracioacuten del directorio compartido El directorio share es compartido por el
FrontEnd y el resto de nodos se localiza dentro del FrontEnd en la carpeta exports siendo la
carpeta share un enlace simboacutelico a esta uacuteltima
Al principio es posible que no se sincronicen correctamente los archivos introducidos en el
directorio debido a que la carpeta inicialmente estaacute vaciacutea por lo que para solucionar este
inconveniente puede usarse el comando siguiente para reiniciar dicho servicio
$ssh nombre_nodo lsquocomandorsquo
$ssh nombre_nodo lsquocomandorsquo
$cd
$export fs ndashrv
service nfs restart
$cd
$export fs ndashrv
service nfs restart
74
34 Operaciones baacutesicas de Rocks
Comandos y aplicaciones esenciales para el manejo del cluacutester
Ver que rolls estaacuten instalados
$rocks list roll
Visualizar el estado del sistema Figura 318
$qstat ndashf
Probar el sistema de colas para distribuir tareas a los nodos
Para ello se prueba que el SGE del cluacutester funcione enviaacutendole una serie de trabajos
mediante el comando qsub
En primer lugar se crea un fichero (pruebapl) que tenga permisos de ejecucioacuten con el
siguiente contenido
Figura 318 Comando qstat ndashf (Fuente Elaboracioacuten propia)
75
usrbinperl
for(my $i=0$ilt30$i++) sleep(2) print okn
Y se ejecuta con el siguiente comando
$ for ((i=1ilt=10i+=1)) do qsub pruebapl done
Al ejecutarse se puede comprobar que los trabajos se han mandado Figura 319
Y al realizar de nuevo un ldquoqstat ndashfrdquo Figura 320 se observa coacutemo se van realizando
Figura 319 Enviacuteo de trabajos por medio del comando qsub (Fuente Elaboracioacuten propia)
Figura 320 Estado de los trabajos pendientes mostrados por qstat ndashf (Fuente Elaboracioacuten propia)
76
Para ver la carga de trabajo en el cluacutester de manera global y de forma graacutefica se tiene que
ingresar en un navegador web en la siguiente direccioacuten httplocalhostganglia apareceraacute la
Figura 321
Figura 321 Visualizacioacuten de la distribucioacuten de cargas en el cluacutester usando la herramienta Ganglia (Fuente Elaboracioacuten propia)
77
Capiacutetulo 4 Metodologiacutea y Resultados
Una vez finalizada la instalacioacuten y puesta en operacioacuten del equipo se analizaron diferentes
metodologiacuteas de trabajo lo que implicoacute un trabajo arduo debido a que existen complicaciones
cuando se buscan temas relacionados a vulnerar sistemas operativos La realizacioacuten de este
proyecto estaacute basado en la metodologiacutea de Joshua Picolet ldquoCracking Methodologyrdquo (Picolet
2017)
41 Obtener Archivo hash
Se pueden vulnerar contrasentildeas de Windows de diferentes maneras Una de ellas es
mediante el acceso al archivo del Administrador de cuentas de seguridad (SAM) el cual se detalla
en el apartado 253 a traveacutes de la obtencioacuten de las contrasentildeas del sistema en su forma hash por
medio de herramientas diferentes Alternativamente las contrasentildeas se pueden leer desde la
memoria lo que tiene el beneficio adicional de recuperar las contrasentildeas en texto plano y evitar el
requisito de descifrado Para comprender los formatos que se observan cuando se descarguen
hashes del sistema de Windows se requiere una breve descripcioacuten de los diferentes formatos de
almacenamiento
Originalmente las contrasentildeas de Windows de menos de 15 caracteres se almacenaban en
el formato hash de Lan Manager (LM) Algunos sistemas operativos como Windows 2000 XP y
Server 2003 continuacutean usando estos hashes a menos que esteacuten deshabilitados por el usuario
Ocasionalmente un sistema operativo como Windows Vista puede almacenar el hash LM para la
compatibilidad con otros sistemas Seguacuten analistas incluye varias vulnerabilidades como dividir
78
la contrasentildea en dos bloques y permitir que cada uno se descifre de forma independiente Mediante
el uso de tablas Rainbow es trivial descifrar una contrasentildea almacenada en un hash LM
independientemente de la complejidad Este hash se almacena con la misma contrasentildea calculada
en el formato de hash NT como el que se muestra en el siguiente ejemplo
Ejemplo de un hash NTLM con el componente LM y NT
Administrator500611D6F6E763B902934544489FCC9192BB71ED1E7F2B60ED5A2
EDD28379D45C91
Los sistemas operativos Windows maacutes recientes como el Windows 8 y 10 usan el hash NT
En teacuterminos simples no hay una debilidad significativa en este hash que lo diferencie de cualquier
otra funcioacuten hash criptograacutefica Se requieren meacutetodos de descifrado como lo es la fuerza bruta o
ataque de diccionario para recuperar la contrasentildea si uacutenicamente se almacena en el formato NT
Ejemplo de un hash NTLM uacutenicamente con el componente NT (como se ve en los sistemas
Windows mas recientes
Administrator500NOPASSWORDEC054D40119570A4663
4350291AF0F72
Es importante sentildealar que la cadena NO PASSWORD es variable seguacuten la herramienta
que se utilice Otras pueden presentar esta informacioacuten como ceros rellenos o comuacutenmente puede
79
ver la cadena ldquoAAD3B435B51404EEAAD3B435B51404EErdquo en lugar de ninguna contrasentildea
Esto significa que el hash LM estaacute vaciacuteo y no estaacute almacenado
El archivo hash se encuentran en el directorio ldquoWindows System32 configrdquo y se
necesitan ambos archivos SAM y SYSTEM Ademaacutes tambieacuten se encuentran en el archivo de
registro HKEY_LOCAL_MACHINE SAM al que no se puede acceder durante el tiempo de
ejecucioacuten Finalmente las copias de seguridad se pueden encontrar a menudo en ldquoWindows
Repairrdquo (Peleus 2019)
Para extraer el archivo hash de un sistema operativo con un nivel de seguridad C1 existen
diferentes meacutetodos en esta ocasioacuten se procederaacute a iniciar el equipo objetivo con una distribucioacuten
de Linux desde una memoria USB como se muestra en la figura 41 para de esta manera ingresar
al directorio CWINDOWSSystem32Config directorio de ubicacioacuten de los archivos SAM y
SYSTEM que son los necesarios para obtener el archivo hash (Caballero 2018)
Figura 41 Arranque con LiveUSB KaliLinux (Fuente Elaboracioacuten propia)
80
42 Dar Formato al Hash
En este punto es donde se tiene que identificar el algoritmo con el que fueron encriptados
los archivos SAM y SYSTEM que se han obtenido en el punto anterior con la finalidad de
seleccionar el tratamiento que se les daraacute El algoritmo de encriptacioacuten del archivo SAM de
Windows 10 es NTLM y ademaacutes estaacute almacenado en un formato binario (ByteBleeder 2017) por
lo que fue necesario instalar la herramienta con licencia GNU samdump2 para obtener la syskey y
de esta manera poder extraer los hash desde el archivo SAM de Windows
En la figura 42 se han obtenido los hashes del archivo SAM donde se puede observar que
los usuarios Administrador e Invitado estaacuten deshabilitados ademaacutes de que existen tres cuentas de
usuario activas las cuales son Gad prueba y usuarioprueba cada una con su contrasentildea cifrada
en formato NTLM a la derecha del nombre de usuario la cuenta usuarioprueba fue a la que se le
realizoacute el anaacutelisis que se detalla posteriormente
43 Evaluar la fuerza del Hash
En criptografiacutea se dice que un algoritmo criptograacutefico se rompe si por alguacuten meacutetodo se
consigue reducir su fortaleza es decir reducir por ejemplo su entropiacutea de los 2256 bits teoacutericos a
Figura 42 Resultado de la ejecucioacuten de la herramienta samdump2 (Fuente Elaboracioacuten propia)
81
tan soacutelo 2255 por ejemplo El hecho de que se encuentre una colisioacuten no implica necesariamente
que un algoritmo se haya roto pues podriacutea haber sido realizado mediante fuerza bruta pero puede
ser una causa
Un ataque de colisioacuten significa que encuentro dos entradas diferentes que producen el
mismo resultado de un hash particular Este es generalmente el tipo de ataque maacutes faacutecil Es el tipo
de ataque que se conoce desde hace varios antildeos contra MD5
Dado que una utilidad importante de las funciones hash estaacute en las firmas digitales
encontrar colisiones puede facilitar falsificar firmas digitales Es decir dos mensajes distintos que
tengan un mismo resumen tienen ademaacutes la misma firma y un atacante puede reemplazar un
mensaje por el otro Un ejemplo de este ataque fue demostrado en 2008 por un grupo de
investigadores en Aacutemsterdam los cuales falsificaron un certificado raiacutez mediante el uso de un
ataque de colisioacuten contra el algoritmo MD5 (Preukschat 2015)
Un ataque previo a la imagen generalmente es mucho maacutes difiacutecil es encontrar otra entrada
que produzca el mismo resultado que un hash que ya se conoce
Para tratar de aclarar la diferencia aquiacute en un ataque de colisioacuten encuentro dos entradas A
y B que producen el mismo resultado En un ataque de preimagen comienzo a partir de alguacuten
resultado conocido X y encuentro una entrada que produciraacute X como resultado (Coffin 2015)
82
Para realizar esta evaluacioacuten se tomoacute como base la tabla del apeacutendice Hash craking
benchmark (Picolet 2017) el objetivo es observar el comportamiento y velocidad del Hash
mencionado cuando fue sometido a pruebas de criptoanaacutelisis Si se trata de un Hash lento se deberaacute
ser maacutes selectivo en queacute tipos de diccionarios y meacutetodos de criptoanaacutelisis se le debe aplicar Si es
un Hash raacutepido se puede ser maacutes libre con la estrategia de criptoanaacutelisis Este estudio busca
realizar una prueba de criptoanaacutelisis mostrando las diferencias entre el poder de procesamiento de
un cluacutester de 17 nodos contra una computadora personal por lo que no necesariamente se
implementaraacute el meacutetodo oacuteptimo para la realizacioacuten del criptoanaacutelisis
44 Calcular la capacidad del equipo
Con la informacioacuten de la evaluacioacuten de la fuerza del Hash obtenida en el apartado anterior en
este apartado se tiene que establecer la capacidad de la plataforma o plataformas que realizaraacuten
el criptoanaacutelisis
Para conocer la capacidad de procesamiento del cluacutester de alto rendimiento se utilizoacute la
herramienta Linpack Benchmark HPL es una implementacioacuten portaacutetil del Benchmark de alto
rendimiento LINPACK para equipos de coacutemputo distribuido Actualmente se utiliza para obtener
varios resultados en la lista actual de Top500 de HP cluacutesters (Dongarra 2010)
El Linpack Benchmark (HPL del Ingleacutes High-Performance Linpack Bench-mark) es un
software que resuelve un sistema lineal aleatorio de doble precisioacuten aritmeacutetica (64 bits) en equipos
de memoria distribuida El rendimiento muestra el nuacutemero de operaciones de punto flotante por
segundo logradas por el sistema (Petitet Whaley Dongarra amp Cleary 2008)
83
El HPL fue desarrollado en el Argone National Laboratory por Jack Don-garra en 1976 y
es uno de los maacutes usados en sistemas cientiacuteficos y de ingenieriacutea para el caacutelculo de prestaciones
Las principales caracteriacutesticas del algoritmo utilizado por el HPL son
Distribucioacuten ciacuteclica de datos de bloques de dos dimensiones
Variante derecha de la factorizacioacuten LU con pivoteo parcial (Teacutecnica de pivoteo
Dicta que el elemento pivote que debe escogerse es el mayor absolutamente de cada
columna)
Factorizacioacuten recursiva con pivoteo y reenviacuteo de columna
Distintas topologiacuteas virtuales de reenviacuteos
Algoritmo de reduccioacuten de reenviacuteo para ancho de banda (Castelloacute Gimeno 2014)
La resolucioacuten del sistema de ecuaciones se realiza del siguiente modo
1 Se crea un sistema de ecuaciones
(1)
119860119909 = 119887
(2)
119860 isin 119877119899119909119899
(3)
119909 119887 isin 119877119899
84
HPL calcula que la solucioacuten para un sistema de ecuaciones lineales se puede generalizar
como 119860119909 = 119887 donde 119860 es una matriz 119873 119909 119873 cuyos valores se generan aleatoriamente
119909 119910 119887 son vectores de tamantildeo 119873 Como se muestra en la Figura 43
2 Primero se calcula la factorizacioacuten 119871119880 con pivoteo parcial de los coeficientes 119899 y 119899 + 1
de la matriz [119860 119887]
(4)
119875119903[119860 119887] = [[119871119880] 119910]
(5)
119875119903 119871 119880 isin 119877119899119909119899
(6)
119910 isin 119877119899
El primer paso es la factorizacioacuten de la matriz 119860 en una matriz triangular superior 119880
y una matriz triangular inferior 119871 tal que 119860 = 119871119880 La factorizacioacuten se usa para calcular
el vector solucioacuten 119909
3 Una vez el pivoteo (representado por la permutacioacuten de la matriz 119875119903) y la factorizacioacuten
inferior se aplican sobre 119887 la solucioacuten se obtiene en un paso resolviendo el sistema
superior triangular
Figura 43 Sistema de Ecuaciones tipo 119860119909 = 119887 (Fuente Elaboracioacuten propia)
85
(7)
119880119909 = 119910
La matriz triangular inferior izquierda y el conjunto de pivotes no se devuelven en el
resultado Para la estabilidad numeacuterica el algoritmo de factorizacioacuten utiliza un pivote parcial de
fila
La implementacioacuten paralela de Linpack divide la matriz 119860 119873 119909 119873 en una cuadriacutecula de
procesos 119875 119909 119876 bidimensional y luego la divide en subgrupos de mosaicos 119873119861 119909 119873119861 (Petitet
Whaley Dongarra amp Cleary 2008)
Utilizando la herramienta HPL en esta investigacioacuten se obtuvieron los siguientes
resultados
La prueba abordoacute el ajuste de 119873 y la eficiencia obtenida en comparacioacuten con el rendimiento
maacuteximo Se determinoacute un valor para 119873 = 800000 aleatoriamente para ejecutar HPL en todo el
cluacutester Sin embargo el tiempo fue excesivo por lo tanto se determinoacute que este tamantildeo del
problema fue demasiado grande para el cluacutester Al realizar otros experimentos con valores maacutes
pequentildeos de 119873 se obtuvieron mejores resultados de rendimiento La Tabla 41 muestra el
rendimiento de HPL en GFlops para 119873 = 300000 400000 y 500000 Como se puede observar
en la Tabla 41 se obtuvo el mejor resultado de rendimiento 850 GFlops para 119873 = 500000 para
valores mayores de 119873 la distribucioacuten de cargas del cluacutester empieza a sobrepasar su capacidad como
se muestra en la Figura 44 y la vez su rendimiento disminuye Esto ocurre porque la cantidad de
memoria utilizada con las memorias intermedias de comunicacioacuten MPI es mayor de lo esperado
Por lo tanto es necesario dejar maacutes del 20 de la memoria para el sistema (Petitet Whaley
86
Dongarra amp Cleary 2008) Tambieacuten se realizaron pruebas usando solo un nodo de coacutemputo y el
rendimiento fue de 34 GFlops para 119873 = 20000
Tabla 41 Rendimiento de HP cluacutester (Fuente Elaboracioacuten propia)
Analizando la eficiencia obtenida para la ejecucioacuten de un solo nodo cuando 119873 = 20000
se obtuvo el 823 del rendimiento maacuteximo (el rendimiento maacuteximo para un solo nodo es 477
Gflops) Para todo el cluacutester el rendimiento maacuteximo seriacutea 119879119898119886119909 = 477 119909 17 =
8109 119866119891119897119900119901119904 aproximadamente
Figura 44 Distribucioacuten de cargas del cluacutester
0
500
1000
300000 400000 500000
Gflops
Gflops
87
La Figura 44 titulada ldquoDistribucioacuten de cargas del cluacutesterrdquo muestra la imagen de la
herramienta Ganglia de manera graacutefica a traveacutes de cuadros que variacutean de color dependiendo de la
carga que tenga cada uno de los nodos al momento de implementar la herramienta HPL De manera
inicial indica que el cluacutester tiene un total de 17 equipos de 4 cores cada uno eso da un total de 68
cores trabajando sin equipos inactivos Muestra tambieacuten una sobrecarga en el cluacutester y un
porcentaje promedio de 100 de uso en la uacuteltima hora
45 Establecer Estrategia
Esto significa uacutenicamente que en este apartado se realizaraacute una guiacutea baacutesica para procesar
los hashes obtenidos sin perder de vista que cada escenario a criptoanalizar es uacutenico en funcioacuten
de las circunstancias externas Como ya se ha mencionado anteriormente esta estrategia de
criptoanaacutelisis se ha planteado implementar dos meacutetodos los cuales son Fuerza Bruta y ataque de
diccionario sin importar si son o no los oacuteptimos debido a que se realizaraacute una comparativa de
capacidad de procesamiento
451 Fuerza Bruta Una vez que se han intentado varios meacutetodos y han fallado se puede
iniciar un ataque de fuerza bruta estaacutendar poniendo especial atencioacuten en la cantidad de siacutembolos
del alfabeto que puede usar el equipo a analizar Por encima de 8 caracteres esto generalmente no
tiene sentido debido a limitaciones de hardware y entropiacutea (complejidad de la contrasentildea) Una
contrasentildea de Windows seguacuten Microsoft (Microsoft Inc 2019) una contrasentildea de Windows debe
estaacute formada por
88
26 Caracteres mayuacutesculas de la ldquoArdquo a la ldquoZrdquo
26 Caracteres minuacutesculas de la ldquoardquo a la ldquozrdquo
10 Diacutegitos de base 10 (0 a 9)
32 Caracteres especiales (~$^amp_-+=|()[]ltgt)
94 Caracteres alfanumeacutericos en total
4511 Cantidad de combinaciones posibles Si se usa una clave numeacuterica (nuacutemeros del 0
al 9) existen 10 posibilidades de 4 diacutegitos de longitud que es la extensioacuten por defecto de los
teleacutefonos celulares Para 4 diacutegitos las combinaciones posibles seriacutean 10 mil 104 = 10000
(Labaca Castro 2014)
Por otro lado si tomamos un alfabeto de 26 letras mayuacutesculas y 26 minuacutesculas 10 nuacutemeros
y 10 caracteres especiales en total tenemos 72 diferentes posibilidades para un uacutenico caraacutecter Eso
significa que las combinaciones para una contrasentildea de 4 caracteres seriacutean 724 = 26873856
Baacutesicamente maacutes de 26 millones de combinaciones en una clave de 4 caracteres contra 10 mil en
una clave de 4 diacutegitos numeacutericos En este estudio se utiliza la contrasentildea de bloqueo descrita en el
apartado anterior que es de 94 combinaciones para cada caraacutecter teniendo una longitud de 7
caracteres por lo tanto seraacuten 947 = 64847759000000 de posibles combinaciones que
nuestros equipos deben explorar para obtener la contrasentildea correcta
Como se mencionoacute en el apartado 42 el usuario sobre el cual se realizoacute el criptoanaacutelisis
fue usuarioprueba el cual constaba de una contrasentildea de longitud 7 caracteres la cual despueacutes
de realizado el anaacutelisis y como se puede observar en la Figura 45
89
1 Anaacutelisis a usuario usuarioprueba
2 Nuacutemero de nodos en operacioacuten 17
3 Nuacutemero de procesos ejecutaacutendose de forma paralela 68
4 Tiempo de duracioacuten del anaacutelisis en el cluacutester 122727 horas
5 Contrasentildea criptoanalizada Pass7
Asiacute mismo en la Tabla 42 se muestra el resultado final y el tiempo de duracioacuten del
criptoanaacutelisis realizado al archivo SAM con el cluacutester y la computadora personal
Tabla 42 Resultados de criptoanaacutelisis de archivo SAM (Fuente Elaboracioacuten propia)
Nodos Nuacutecleos Tiempo de Procesamiento (Horas)
1 (PC) 4 1075316
17 (Cluacutester) 68 122727
1
2
3
4 5
Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester (Fuente Elaboracioacuten propia)
90
452 Diccionario Meacutetodo empleado para romper la seguridad de los sistemas basados en
contrasentildeas (password) en la que el atacante intenta dar con la clave adecuada probando todas (o
casi todas) las palabras posibles ingresadas previamente en un diccionario idiomaacutetico
Generalmente se emplean programas especiales que se encargan de ello
Este meacutetodo suele ser maacutes eficiente que el meacutetodo de fuerza bruta debido a que muchas
usuarios casi siempre suelen utilizar contrasentildeas con una o varias palabras existentes en su lengua
para que la contrasentildea no sea olvidada faacutecilmente y sea sencilla de recordar esto no es una praacutectica
recomendable (Alegsa 2018)
Para realizar este meacutetodo se utilizoacute un diccionario descargado de internet el cual contiene
10000000 de posibles contrasentildeas (g0tmi1k 2018)
Ademaacutes se ejecutoacute un programa creado en lenguaje C (Anexo 1) a traveacutes de la
implementacioacuten de las libreriacuteas MPI y open MPI propias de la arquitectura de cluacutester de
computadoras Este programa fue ejecutado en los mismos equipos descritos anteriormente para
obtener todos los nuacutemeros primos encontrados dentro de un intervalo dado En este caso el
intervalo dado fue de 10000000 con los siguientes resultados mostrados en la Tabla 43
Tabla 43 Resultados de ejecucioacuten de programa en C para la obtencioacuten de nuacutemeros primos (Fuente Elaboracioacuten
propia)
Nodos Nuacutecleos Tiempo de Procesamiento (Segs)
1 (PC) 4 5078
17 (Cluacutester) 68 00013
91
453 Analizar los resultados Posterior a realizar el criptoanaacutelisis y descifrar con eacutexito
una cantidad suficiente de hashes se analizan los resultados en busca de pistas o patrones Este
anaacutelisis puede ayudar a tener eacutexito en cualquier hash restante
454 Personalizar ataques Tomando como base el anaacutelisis de resultados realizado
previamente se disentildearaacuten diversas estrategias personalizadas que aprovechen las vulnerabilidades
conocidas o patrones Los ejemplos seriacutean ataques de maacutescara personalizados o reglas para
adaptarse al comportamiento o las preferencias del usuario objetivo
92
Conclusioacuten
El trabajo de investigacioacuten presentado parte de la necesidad de buscar alternativas para
explotar al maacuteximo la capacidad de procesamiento del equipo de coacutemputo que existe actualmente
dentro del inventario del Instituto Tecnoloacutegico de Acapulco asiacute como proveer una plataforma que
coadyuve a la investigacioacuten dentro del Instituto a traveacutes de implementar un cluacutester de coacutemputo
con capacidad para realizar proyectos en el aacuterea de ingenieriacutea y matemaacuteticas con el fin de optimizar
el tiempo de ejecucioacuten lo cual en un futuro se veraacute reflejado en ventajas para el desarrollo de la
regioacuten
La revisioacuten y anaacutelisis de informacioacuten en relacioacuten a cluacutesters es muy interesante pero a la
vez es compleja dado que involucra diferentes aspectos durante su evolucioacuten asiacute como diversas
metodologiacuteas para su formacioacuten e implementacioacuten Se considera de suma importancia para este
trabajo las revisiones efectuadas ya que son la base para la propuesta entregada
De acuerdo a las especificaciones teacutecnicas de los equipos informaacuteticos existentes dentro
del laboratorio de la Maestriacutea en Sistemas Computacionales y una vez que se realizoacute el anaacutelisis
de varios casos de eacutexito se propuso la metodologiacutea para implementacioacuten de un cluacutester homogeacuteneo
tipo Beowolf Este meacutetodo estaacute basado en otros que ya se han implementado bajo realidades
acadeacutemicas similares rescatando las etapas maacutes importantes de cada uno y complementaacutendolo con
los aportes personales se consideroacute que fue el oacuteptimo debido a que se implementoacute con hardware
convencional y herramientas de uso libre
93
El hecho de haber seleccionado un meacutetodo adecuado permitioacute superar gran parte los
problemas que presentaban las metodologiacuteas que fueron analizadas simplificoacute la implementacioacuten
del cluacutester y permitioacute el poder alcanzar una mayor estabilidad en su desempentildeo desde su etapa
inicial fue importante conocer el resultado en cada una de las etapas de implementacioacuten para
asegurar su desenvolvimiento en el futuro
Para integrar los equipos independientes a la arquitectura cluacutester se realizoacute el disentildeo de
una topologiacutea de red Gigabit Ethernet tipo estrella con un direccionamiento IP estaacutetico la
configuracioacuten de protocolos de comunicacioacuten remota sin autenticacioacuten la comparticioacuten de
archivos en red y la utilizacioacuten de aplicaciones de licencia GPL que permiten obtener el
funcionamiento similar a la de una supercomputadora
Haciendo uso de libreriacuteas de paso de mensajes (MPI) y el software John the Ripper para el
descifrado de contrasentildeas la arquitectura cluacutester implementada alcanzoacute una eficiencia de 885
de rendimiento en comparacioacuten con los recursos computacionales de un solo equipo con las
caracteriacutesticas de un nodo Ademaacutes otros de los proyectos ejecutados en la arquitectura cluacutester
para probar el rendimiento fue la ejecucioacuten de un programa para la deteccioacuten de nuacutemeros primos
dentro de un archivo de 10000000 de nuacutemeros obteniendo una eficiencia de maacutes de 99 gracias
a la distribucioacuten de tareas que proporcionan las libreriacuteas de paso de mensajes (MPI) dentro de la
arquitectura cluacutester
Con la implementacioacuten de la arquitectura cluacutester el laboratorio de la Maestriacutea en Sistemas
Computacionales podraacute dar soluciones potentes eficientes y econoacutemicas en los entornos de
94
investigacioacuten mejorando la capacidad de procesamiento en aplicaciones como evaluacioacuten de
algoritmos compresioacuten de archivos renderizacioacuten de imaacutegenes anaacutelisis de datos (big data) en un
tiempo relativamente bajo ideal para las necesidades educativas
La experiencia obtenida al realizar esta investigacioacuten y propuesta ha sido enriquecedora
tanto por la obtencioacuten de conocimiento en base a la historia evolucioacuten y arquitectura de cluacutesters
asiacute como la programacioacuten paralela y sus ventajas en diferentes proyectos desarrollados en todo el
mundo Igualmente la comparacioacuten entre cada uno de los modelos y meacutetodos resulta interesante
dado que existe un sinnuacutemero de ejemplos con caracteriacutesticas diferentes pero baacutesicamente con un
mismo objetivo final
Trabajo Futuro
El cluacutester implementado en el Laboratorio de la Maestriacutea en Sistemas computacionales del
Instituto Tecnoloacutegico de Acapulco puede ser utilizado en gran cantidad de aplicaciones dentro de
las diferentes aacutereas de investigacioacuten del Instituto asiacute como estar disponible para el Departamento
de Posgrado e Investigacioacuten como apoyo durante la realizacioacuten de tareas y proyectos dentro de las
aacutereas de Desarrollo de Sistemas Inteligentes asiacute como de Tecnologiacuteas Web
Propuesta de Trabajo a Futuro
Durante la realizacioacuten de este proyecto se observoacute la necesidad que existe dentro del
departamento de Investigacioacuten y Posgrado de equipos de alta capacidad de procesamiento para
realizar de una manera maacutes eficiente las investigaciones que se estaacuten llevando a cabo Una de ellas
es el ldquoSistema de apoyo al diagnoacutestico oportuno de Retinopatiacutea Diabeacuteticardquo en la cual a traveacutes del
entrenamiento de una red neuronal se clasificaraacuten y evaluaraacuten un nuacutemero de 3000 imaacutegenes para
95
demostrar la presencia de dicha enfermedad en pacientes del Instituto Estatal de Oftalmologiacutea
Actualmente se ha realizado una prueba de entrenamiento de dicha red neuronal con 70 imaacutegenes
obteniendo como resultado un tiempo clasificacioacuten y evaluacioacuten de 301532 horas en un equipo
con un procesador Core I7 con 8 GB en memoria RAM
96
Bibliografiacutea
Alegsa (01 de 01 de 2018) Alegsa Diccionario Informaacutetico Recuperado el 07 de 2019 de
Alegsa httpwwwalegsacomarDicataque_por_diccionariophp
Avecto (2017) Avecto Limited Recuperado el 10 de 08 de 2018 de AVECTO a Bomgar
Company wwwavectocom
Borghello C (2009) Seguridad de la Informacioacuten Recuperado el 11 de 2018 de Criptografiacutea de
la A-Z httpswwwsegu-infocomarproyectosp1_hashhtm
Branch Bedoya J amp Mesa Muacutenera A (Diciembre de 2008) Implementacioacuten de un cluster
homogeacuteneo para la resolucioacuten de problemas de alta complejidad computacional Avances
en Sistemas e Informaacutetica 5(3)
ByteBleeder (02 de 06 de 2017) Practical guide to NTLM Relaying in 2017 Obtenido de Github
httpsbyt3bl33d3rgithubiopractical-guide-to-ntlm-relaying-in-2017-aka-getting-a-
foothold-in-under-5-minuteshtml
Caballero A (26 de 06 de 2018) Hacking Eacutetico Recuperado el 03 de 2019 de John The Ripper
httpwwwreydescomdq=Recuperar_la_Contrasena_del_Administrador_utilizando_s
amdump2_y_John_The_Ripper
Carretero Peacuterez J de Miguel Anasagasti P Garciacutea Carballeira F amp Peacuterez Costoya F (2001)
Sistemas Operativos Una visioacuten aplicada (C F Madrid Ed) Madrid Espantildea
McGRAW-HillInteramericana
Castelloacute Gimeno A (30 de 07 de 2014) Universitat Jaume Recuperado el 10 de 2019 de
Evaluacioacuten de prestaciones mediante laaplicacioacuten HPL de clusters utilizandorCUDA
97
httprepositoriujiesxmluibitstreamhandle10234115082TFM_2014_CastelloGimen
oApdfsequence=1ampisAllowed=y
Chaacutevez J Echeverriacutea C Correa M Vaacutezquez E Suaacuterez M Maacutermol X Diacuteaz G (07 de
1999) Centro de Caacutelculo Cientiacutefico Recuperado el 01 de 05 de 2018 de Universidad de
Los Andes httpwwwcecalculavedocumentaciontutorialesbeowulfinformehtml
Chirinov R (2003) Nfinite9000 SL Recuperado el 26 de 04 de 2018 de Noticias 3D
httpswwwnoticias3dcomarticuloaspidarticulo=248amppag=4
Coffin J (23 de 07 de 2015) Quora Recuperado el 15 de 08 de 2019 de
httpswwwquoracomWhat-does-it-mean-when-a-hashing-algorithm-has-been-broken
Dongarra J (2010) Top500 Super computer sites Recuperado el 07 de 2019 de http
wwwtop500org
Educba (01 de 01 de 2019) Recuperado el 10 de 2019 de Educbaorg
httpswwweducbacomidea-algorithm
europa press (04 de 06 de 2013) Portal Tic Recuperado el 18 de 11 de 2018 de Europa Press
httpswwweuropapressesportalticgadgetsnoticia-cuarta-generacion-intel-core-mayor-
salto-cuanto-ahorro-energetico-20130604174722html
g0tmi1k (2018) github Recuperado el 05 de 2019 de github
httpsgithubcomdanielmiesslerSecListsblobmasterPasswordsCommon-
Credentials10-million-password-list-top-1000000txt
Gonzaacutelez Agudelo D (2014) El riesgo y la falta de politicas de seguridad informaacutetica una
amenaza en las empresas certificadas basc Recuperado el 20 de 05 de 2018 de
Universidad Militar Nueva Granada
httpsrepositoryunimilitareducobitstream10654122511ENSAYO20FINALpdf
98
Gonzaacutelez Ramiacuterez E amp Rodriacuteguez Saacutenchez A (2008) Disentildeo e implementacioacuten de un cluster
tipo BEOWULF para el desarrollo de coacutemputo cientiacutefico avanzado CdMx Mexico
Hernandez M (2013) Forensics Mexico Recuperado el 07 de 2018 de La importancia del
registro de Windows parte 1 httpforensicsmexicoblogspotcom201309la-
importancia-del-registro-de-windowshtml
Kowalczyk C (01 de 2015) Crypto-IT Recuperado el 11 de 2018 de Crypto-IT
httpwwwcrypto-itnetengasymmetricindexhtml
Labaca Castro R (13 de 06 de 2014) We live security Recuperado el 2019 de 08 de 07 de
Welivesecuritybyeset httpswwwwelivesecuritycomla-es20140613matematica-
claves-numerica-alfanumerica
Lizaacuterraga C (2002) Departamento de Fiacutesica Recuperado el 12 de 03 de 2018 de Universidad
de Sonora httpclustersfisicausonmx
Llorens E amp Pentildea M (2002) Recuperado el 04 de 2018 de Departament dArquitectura de
Computadors httppersonalsacupceduenricPFCBeowulfbeowulfhtml
Meneacutendez-Barzanallana R (07 de 08 de 17) Universidad de Murcia Recuperado el 11 de 2018
de Informaacutetica Aplicada a las Ciencias Sociales
httpswwwumesdocenciabarzanaIACCSSCriptografiahtml
Merkle R amp Damgaringrd I (sf) Numerenturorg Recuperado el 06 de 2019 de Para computar -
numerenturorg httpnumerenturorgfuncion-merkle-damgard
Microsoft Inc (02 de 05 de 2019) wwwmicrosoftcom Obtenido de Password must meet
complexity requirements httpsdocsmicrosoftcomes-eswindowssecuritythreat-
protectionsecurity-policy-settingspassword-must-meet-complexity-requirements
99
Mifsud E (26 de 03 de 2012) Introduccioacuten a la seguridad informaacutetica Recuperado el 07 de 05
de 2018 de Ministerio de educacioacuten cultura y deportes Gobierno de Espantildea
httprecursosticeducacionesobservatoriowebessoftwaresoftware-general1040-
introduccion-a-la-seguridad-informaticashowall=1
Murugesan S (01 de 02 de 2008) Researchgate doi101109MITP200810
Nahar K amp Abu Abbas O (01 de 2010) Researchgate Recuperado el 07 de 2019 de
Researchgate
httpswwwresearchgatenetpublication315492522_Hybrid_Cipher_System
Nievas F Pino O amp Arroyo R (sf) Los clusters como Plataforma de Procesamiento Paralelo
Recuperado el 25 de 04 de 2018 de
httpusuarioslycoseslacaraocultadescargasClusters_definitivo pdf
Pawar S (2016) A computer science portal for geeks Recuperado el 10 de 2018 de
Geeksforgeeks httpswwwgeeksforgeeksorgrc5-encryption-algorithm
Peleus (2019) NETSEC Recuperado el 08 de 2019 de httpsnetsecwsp=314
Peacuterez Tavera I (2014) Obtenido de Universidad Autonoma del Estado de Hidalgo
httpswwwuaehedumxscigeboletinprepa4n2e4html
Peacuterez M (2001) Recuperado el 15 de 04 de 2018 de
httpwwwdragonesorgBibliotecaArticulosArquitecturaParalela2pdf
Petitet A Whaley R C Dongarra J amp Cleary A (2008) HPL - A Portable Implementation of
the High-Performance Linpack Benchmark for Distributed-Memory Computers
Recuperado el 07 de 2019 de httpwwwnetliborgbenchmarkhpl
Picolet J (2017) Hash Crack Password Cracking Manual (Vol 2) Createspace Independent
Pub
100
Preukschat A (23 de 02 de 2015) Oro y Finanzas Recuperado el 07 de 2019 de
httpswwworoyfinanzascom201502que-es-colision-criptografia-bitcoin
Robbins D (2008) OpenMosix Recuperado el 22 de 04 de 2018 de the openMosix Project
httpopenmosixsourceforgenetintroduction_to_openmosixhtml
Rocha Quezada J d Botello Rionda S Vargas Feacutelix J M amp Munguiacutea Torres I A (Sep-Dic
de 2011) Disentildeo e implementacioacuten de un cluacutester de coacutemputo de alto rendimiento Acta
Universitaria 21(3) 24-33 Recuperado el 1 de 12 de 2018
Rocksclusters (01 de 01 de 2010) httpwwwrocksclustersorg Recuperado el 01 de 06 de 2018
de httpwwwrocksclustersorg httpwwwrocksclustersorg
Sanjoy K (01 de 01 de 2015) DZone Recuperado el 15 de 06 de 2019 de DZone
httpsdzonecomarticlessecurity-algorithms-des-algorithm
Security Degree Hub (01 de 2017) Security Degree Hub Recuperado el 13 de 02 de 2019 de
Security Degree Hub httpswwwsecuritydegreehubcomwhat-is-cryptanalysis
Simmons G (01 de 01 de 2019) Encyclopedia Britannica Recuperado el 08 de 2019 de
Encyclopedia Britannica httpswwwbritannicacomtopicRSA-encryption
statista (09 de 2017) Statista Obtenido de Statista Co httpsesstatistacom
Turner D (2004) Recuperado el 12 de 02 de 2018 de Ames Lab
httpwwwsclameslabgovProjectsparrallel_computingpara_intohtml
United States Government Department of Defense (1983) Trusted Computer System Evaluation
Criteria Rainbow Series
Universidad Internacional de Valencia (09 de Septiembre de 2016) Nuestros
expertosTecnologiacutea Recuperado el 27 de Abril de 2018 de Universidad Internacional de
Valencia httpswwwuniversidadviuesla-seguridad-informatica-puede-ayudarme
101
Wallen J (19 de 01 de 2019) Lifewire Recuperado el 13 de 06 de 2019 de Lifewire
httpswwwlifewirecomgnome-3-desktop-4175640
Yang H (01 de 02 de 2019) Herong Yang Recuperado el 15 de 06 de 2019 de Cryptography
Tutorials httpwwwherongyangcomCryptographyDSA-Introduction-What-Is-DSA-
Digital-Signature-Algorithmhtml
102
Anexo 1
Programa en Lenguaje C para la obtencioacuten de nuacutemeros primos utilizando libreriacuteas mpi
include ltcstdlibgt
include ltiostreamgt
include ltiomanipgt
include ltcmathgt
include ltctimegt
include mpih
using namespace std
int main ( int argc char argv[] )
int prime_number ( int n int id int p )
void timestamp ( )
int main ( int argc char argv[] )
int i
int id
int master = 0
int n
int n_factor
int n_hi
int n_lo
int p
int primes
int primes_part
double wtime
n_lo = 1
n_hi = 10000000
n_factor = 2
MPIInit ( argc argv )
p = MPICOMM_WORLDGet_size ( )
id = MPICOMM_WORLDGet_rank ( )
if ( id == master )
cout ltlt n
cout ltlt Cuenta primosn
cout ltlt C++MPI versionn
cout ltlt n
cout ltlt Programa para contar cantidad de primos para un N dadon
cout ltlt Corriendo en ltlt p ltlt procesosn
cout ltlt n
103
cout ltlt N S Tiempon
cout ltlt n
n = n_lo
while ( n lt= n_hi )
if ( id == master )
wtime = MPIWtime ( )
MPICOMM_WORLDBcast ( ampn 1 MPIINT master )
primes_part = prime_number ( n id p )
MPICOMM_WORLDReduce ( ampprimes_part ampprimes 1 MPIINT
MPISUM
master )
if ( id == master )
wtime = MPIWtime ( ) - wtime
cout ltlt ltlt setw(8) ltlt n
ltlt ltlt setw(8) ltlt primes
ltlt ltlt setw(14) ltlt wtime ltlt n
n = n n_factor
MPIFinalize ( )
if ( id == master )
cout ltlt n
cout ltlt PRIME_MPI - Procesos maestron
cout ltlt Finalizacion del calculo normaln
return 0
int prime_number ( int n int id int p )
int i
int j
int prime
int total
104
total = 0
for ( i = 2 + id i lt= n i = i + p )
prime = 1
for ( j = 2 j lt i j++ )
if ( ( i j ) == 0 )
prime = 0
break
total = total + prime
return total
void timestamp ( )
define TIME_SIZE 40
static char time_buffer[TIME_SIZE]
const struct tm tm
size_t len
time_t now
now = time ( NULL )
tm = localtime ( ampnow )
len = strftime ( time_buffer TIME_SIZE d B Y IMS p tm )
cout ltlt time_buffer ltlt n
return
undef TIME_SIZE
ii
Descargo de Responsabilidad Institucional
El que suscribe declara que el presente documento titulado ldquoCriptoanaacutelisis a la funcioacuten
hash de un sistema operativo nivel C1 empleando un cluacutester HPC con software de uso librerdquo es un
trabajo propio y original el cuaacutel no ha sido utilizado anteriormente en institucioacuten alguna para
propoacutesitos de evaluacioacuten publicacioacuten yo obtencioacuten de alguacuten grado acadeacutemico
Ademaacutes se han recogido todas las fuentes de informacioacuten utilizadas las cuales han sido
citadas en la seccioacuten de referencias bibliograacutefica de este trabajo
Nombre Ing Gaddiel Fredy Flores Arteaga Fecha y firma
iii
Dedicatoria
Este logro se lo dedico a mi toda mi familia que incondicionalmente siempre estaacute ahiacute
cuando los necesito A mis Padres especialmente dedicado a mi Madre que es un ejemplo de
esfuerzo para miacute sabe el camino complicado que he tenido que pasar para poder llegar a este
gratificante momento y siempre ha tenido una palabra que me alienta a no desmallar y seguir
adelante
Dedicado tambieacuten para mi hermano Uriel porque sin saberlo y a la distancia su apoyo y
confianza han sido un pilar fundamental para poder llegar a este momento
Adrielito hijo te dedico este logro por tu paciencia porque seacute que has tenido que pasar
tiempo con Papaacute en la escuela en lugar de estar en casa descansando o jugando despueacutes de salir
de tus clases gracias por soportarlo te amo y espero ser un ejemplo de esfuerzo y perseverancia
para ti
Los amo a todos
iv
Agradecimientos
Agradezco primero y ante todo a Dios todo se lo debo a Eacutel por derramar sus
bendiciones sobre miacute por acompantildearme en cada paso que doy y haber fortalecido mi corazoacuten e
iluminado mi mente Gracias Padre
A mi familia que ha estado ahiacute siempre a mi lado en los momentos maacutes oscuros y
difiacuteciles creyendo en miacute impulsaacutendome para alcanzar mis metas
Al Consejo Nacional de Ciencia y Tecnologiacutea por haberme apoyado econoacutemicamente
para la realizacioacuten de este proyecto
A mi director de tesis el Dr Eduardo de la Cruz Gaacutemez por su tiempo por su paciencia
por los valiosos aportes criacuteticas comentarios y sugerencias que realizoacute durante este proyecto
Al Departamento de Posgrado e Investigacioacuten del Instituto Tecnoloacutegico de Acapulco asiacute
como a toda la plantilla docente de la cual me llevo conocimiento y experiencias
enriquecedoras que sin lugar a dudas marcaron mi vida profesional
A la segunda generacioacuten muchas gracias Abejorros sin el apoyo mutuo durante el
tiempo que pasamos en las aulas y durante el desarrollo de los proyectos tal vez no lo
hubieacuteramos logrado
v
Resumen
El presente trabajo inicia con una breve introduccioacuten sobre la importancia que tiene la
seguridad en cualquier aspecto de la vida y sobre todo en el aacuterea laboral especiacuteficamente en el
aacuterea informaacutetica Posteriormente resalta coacutemo la criptografiacutea ha estado presente en momentos
importantes de la vida del ser humano sobre todo dentro del aacutembito militar en la cual ha sido
fundamental para permitir comunicaciones seguras Actualmente la criptografiacutea estaacute dentro de
nuestro diario vivir cuando realizamos transacciones en internet de manera segura Como parte de
la investigacioacuten en este trabajo se describen los tipos de criptografiacutea y criptoanaacutelisis tambieacuten se
analizan los niveles de seguridad de sistemas operativos asiacute como los meacutetodos de agrupamiento
de computadoras para implementar con la ayuda de esta herramienta de una manera maacutes raacutepida
criptoanaacutelisis a un sistema operativo con un nivel de seguridad C1
Palabras clave cluacutester seguridad criptoanaacutelisis
vi
Abstract
This work begins with a review of the importance of security in any aspect of life and
especially in the workplace specifically in the computer area Later this work speaks briefly about
how cryptography has been present at important moments in the life of the human being especially
in the military field in which it has been fundamental to allow secure communications Currently
cryptography is inside our daily life when we conduct transactions on the internet in a secure
manner As part of the research in this work the types of cryptography and cryptanalysis are
described as well as the security levels of operating systems and above all the main methods of
computers clustering to implement a system with a faster method of cryptanalysis in an operative
system with a security level C1
Keywords cluster security cryptanalysis
vii
Iacutendice de Contenido
Descargo de Responsabilidad Institucional ii
Dedicatoria iii
Agradecimientos iv
Resumen v
Abstract vi
Iacutendice de Contenido vii
Iacutendice de Figuras x
Iacutendice de Tablas xi
Capiacutetulo 1 Introduccioacuten 1 11 Antecedentes del problema 1
12 Planteamiento del Problema 4
13 Objetivos 6
131 Objetivo General 6
132 Objetivos Especiacuteficos 6
14 Justificacioacuten 7
15 Hipoacutetesis 7
16 Alcances y Limitaciones 8
17 Impacto Social Tecnoloacutegico Econoacutemico y Ambiental 8
171 Impacto social 8
172 Impacto ambiental 9
173 Impacto econoacutemico 10
18 Metodologiacutea a Utilizar 10
181 Anaacutelisis 10
182 Disentildeo 10
1821 Economiacutea 10
1822 Instalaciones 10
1823 Escalabilidad 11
1824 Red 11
1825 Software 11
1826 Almacenamiento 12
183 Implementacioacuten 12
1831 Software 12
1832 Hardware 13
1833 Recursos totales del cluacutester 13
19 Aseguramiento Teacutecnico ndash Material 13
191 Hardware 14
viii
1911 Equipo de coacutemputo 14
Capiacutetulo 2 Estado del Arte 16
Marco Teoacuterico 27 21 Seguridad de la Informacioacuten 27
211 Objetivo de la seguridad de la informacioacuten 27
212 Principios de la seguridad informaacutetica 28
213 Caracteriacutesticas de seguridad informaacutetica 28
214 Formas de Autenticacioacuten 29
215 Ciber-seguridad 29
22 Criptografiacutea 30
221 Tipos de Criptografiacuteas 30
2211 Tablas Hash 30
2212 Tipos de algoritmos Hash 31
22121 SHA - 1 (Secure Hash Algorithm) 31
22122 MD5 (Message Digest Algorithm) 31
22123 RIPEMD ndash 160 32
22124 Funcioacuten Merkle-Damgaringrd 32
2213 Cifrado simeacutetrico 32
22131 RC5 (Cifrado de Rivest) 33
22132 IDEA (International Data Encryption Algorithm) 33
22133 DES (Data Encryption Standard) 34
2214 Cifrado asimeacutetrico 35
22141 DSA (Digital Signature Algorithm - Algoritmo de Firma digital) 36
22142 RSA 37
2215 Cifrado hiacutebrido 38
23 Criptoanaacutelisis 38
24 Niveles de seguridad 39
241 Nivel D1 40
242 Nivel C1 40
243 Nivel C2 41
244 Nivel B1 42
245 Nivel B2 43
246 Nivel B3 44
247 Nivel A1 45
25 Sistemas Operativos 46
251 Windows 47
252 Registro de Windows 48
253 Administrador de cuentas de seguridad 49
2531 Identificador de Seguridad (SID Security Identifier) 50
254 Autenticacioacuten NTML 51
26 LINUX (ROCKS) 52
261 Escritorio 53
262 Paquete de Oficina 53
263 Organizador de archivos 54
27 Agrupamiento (Cluacutester) de Computadoras 55
271 Beowulf 56
ix
272 Mosix 56
273 OpenMosix 57
Capiacutetulo 3 Implementacioacuten de Cluacutester 59 31 Requisitos previos 59
311 Conexioacuten de los equipos y acceso a la red 59
312 Configuracioacuten de la BIOS 60
3121 ATAIDE Mode 60
3122 PXE 62
32 Instalacioacuten de Sistema Operativo Rocks 63
321 Configuracioacuten del teclado 70
33 Instalacioacuten de los nodos 70
331 Administracioacuten de nodos 72
332 Creacioacuten de cuentas de usuario 73
333 Configuracioacuten del directorio compartido 73
34 Operaciones baacutesicas de Rocks 74
Capiacutetulo 4 Metodologiacutea y Resultados 77 41 Obtener Archivo hash 77
42 Dar Formato al Hash 80
43 Evaluar la fuerza del Hash 80
44 Calcular la capacidad del equipo 82
45 Establecer Estrategia 87
451 Fuerza Bruta 87
4511 Cantidad de combinaciones posibles 88
452 Diccionario 90
453 Analizar los resultados 91
454 Personalizar ataques 91
Conclusioacuten 92
Trabajo Futuro 94 Propuesta de Trabajo a Futuro 94
Bibliografiacutea 96
Anexo 1 102
x
Iacutendice de Figuras
Figura 31 Esquema tiacutepico de configuracioacuten de un cluacutester xi
Figura 32 Imagen del Bios del equipo en la opcioacuten ldquodrive configurationrdquo 61
Figura 33 Bios ATAIDE Legacy Mode 61
Figura 34 Bios Boot PXE 62
Figura 35 Bios Boot device prioriry 63
Figura 36 Pantalla de Inicio de instalacioacuten de Rocks 64
Figura 37 Pantalla de seleccioacuten de Rolls 65
Figura 38 Listado de opciones de rolls para instalar 65
Figura 39 Informacioacuten baacutesica del cluacutester a instalar 66
Figura 310 Configuracioacuten Ethernet de la red privada 67
Figura 311 Configuracioacuten Ethernet de la red puacuteblica 67
Figura 312 Configuracioacuten de DNS y Gateway 68
Figura 313 Ingresar contrasentildea de usuario root 68
Figura 314 Configuracioacuten horaria 69
Figura 315 Particiones del disco duro 69
Figura 316 Pantalla para ingresar nodos 71
Figura 317 Indicador de insercioacuten de nuevos nodos 71
Figura 318 Comando qstat ndashf 74
Figura 319 Enviacuteo de trabajos por medio del comando qsub 75
Figura 320 Estado de los trabajos pendientes mostrados por qstat ndashf 75
Figura 321 Visualizacioacuten de la distribucioacuten de cargas en el cluacutester usando la herramienta
Ganglia 76
Figura 41 Arranque con LiveUSB KaliLinux 79
Figura 42 Resultado de la ejecucioacuten de la herramienta samdump2 80
Figura 43 Sistema de Ecuaciones tipo 119860119909 = 119887 Fuente Propia 84 Figura 44 Distribucioacuten de cargas del cluacutester 86
Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester 89
xi
Iacutendice de Tablas
Tabla 11 Costo del Proyecto 15
Tabla 41 Rendimiento de HP cluacutester (Fuente Elaboracioacuten propia) 86
Tabla 42 Resultados de criptoanaacutelisis de archivo SAM (Fuente Elaboracioacuten propia) 89
Tabla 43 Resultados de ejecucioacuten de programa en C para la obtencioacuten de nuacutemeros primos
(Fuente Elaboracioacuten propia) 90
1
Capiacutetulo 1 Introduccioacuten
11 Antecedentes del problema
Sin lugar a duda una de las herramientas maacutes importantes producida en el siglo XX ha sido
la computadora la cual ha provocado cambios vertiginosos en la sociedad y en el progreso de la
misma En la actualidad el entorno estaacute praacutecticamente controlado por las nuevas tecnologiacuteas que
a medida que transcurre el tiempo avanzan sin liacutemites y en ocasiones son utilizadas
incorrectamente provocando dantildeos de grandes dimensiones
Los trascendentales cambios operados en el mundo moderno caracterizados por su
constante desarrollo la acelerada globalizacioacuten de la economiacutea la acentuada dependencia a
almacenar grandes voluacutemenes de informacioacuten y los sistemas que la proveen aunado a grandes
inversiones de las empresas en conocimiento actual y futuro en sistemas de informacioacuten ademaacutes
del potencial que poseen las tecnologiacuteas para cambiar draacutesticamente las organizaciones y las
praacutecticas de negocio asiacute como crear nuevas oportunidades disentildear nuevas estructuras tecnoloacutegicas
basadas en informacioacuten la convierte en un activo codiciable Tales avances hacen permanente el
riesgo en las tecnologiacuteas y nos llevan a pensar en la problemaacutetica sobre la seguridad informaacutetica
La proteccioacuten de datos documentos y control de acceso a la informacioacuten es un tema que
cada diacutea toma maacutes fuerza en las grandes compantildeiacuteas debido a las diferentes praacutecticas de
especialistas tecnoloacutegicos como los son los hackers y crackers que roban informacioacuten vital para
posteriormente sacar provecho de ella
2
ldquoDesde la aparicioacuten de los grandes sistemas aislados hasta nuestros diacuteas en los que el
trabajo en red es lo habitual los problemas derivados de la seguridad de la informacioacuten han ido
tambieacuten cambiando evolucionando pero estaacuten ahiacute y las soluciones han tenido que ir adaptaacutendose
a los nuevos requerimientos teacutecnicos Aumenta la sofisticacioacuten en el ataque y ello aumenta la
complejidad de la solucioacuten pero la esencia es la mismardquo (Mifsud 2012)
Dentro del mundo actual la informacioacuten es denominada un activo importante de una
institucioacuten la cual debe ser protegida para evitar su peacuterdida modificacioacuten o el uso inadecuado de
su contenido
El extraviacuteo o el mal uso de informacioacuten que para alguien es confidencial genera dantildeos y
repercusiones directas relacionadas a la integridad disponibilidad y confidencialidad de los
archivos y a su vez a los duentildeos de dicha informacioacuten
ldquoLa seguridad informaacutetica se distingue por tener dos propoacutesitos de seguridad la Seguridad
de la Informacioacuten y la Proteccioacuten de Datos estos se diferencian debido a que los datos son valores
numeacutericos que soportan la informacioacuten mientras que la informacioacuten es aquello que tiene un
significado para nosotrosrdquo (Gonzaacutelez Agudelo 2014)
La seguridad informaacutetica consiste en asegurar que los recursos del sistema de informacioacuten
(material informaacutetico o programas) de una organizacioacuten sean utilizados de la manera que se decidioacute
3
inicialmente y que el acceso a la informacioacuten alliacute contenida asiacute como su modificacioacuten soacutelo sea
posible a las personas que se encuentren acreditadas y dentro de los liacutemites de su autorizacioacuten
Actualmente hay mucha informacioacuten circulando en internet por ejemplo correos
electroacutenicos publicaciones en Twitter Facebook videos fotos comercio electroacutenico secretos de
estado militares o industriales Lamentablemente dicha red es puacuteblica e insegura dentro de la cual
existen usuarios bien intencionados y muchos mal intencionados Diariamente encontramos
noticias de sitios con intrusiones mal intencionadas (hackeados) clonacioacuten de tarjeta de creacutedito o
imaacutegenes adulteradas Todo lo anterior motiva la necesidad de proteger la informacioacuten a traveacutes de
mecanismos que impidan a los usuarios no autorizados acceder a dicha informacioacuten
4
12 Planteamiento del Problema
Los sistemas de informacioacuten actuales estaacuten relacionados completamente con la exposicioacuten
de su informacioacuten a entidades externas que son ajenas a la organizacioacuten o delegacioacuten a la que
pertenecen
Cuando no se conoce el alcance que tienen los sistemas informaacuteticos ni lo vulnerables que
pueden ser si son expuestos a Internet por los mismos empleados de la organizacioacuten puede darse
ldquofugardquo de informacioacuten hacia el exterior esto los hace vulnerables a eventos y amenazas que
conllevan a riesgos que pueden provocar peacuterdidas tangibles e intangibles las cuales se traducen
en peacuterdidas que en muchos de los casos por decir lo menos seraacuten monetarias
El portal espantildeol de estadiacutesticas statista muestra la cuota de mercado de los principales
sistemas operativos a nivel mundial a fecha de febrero de 2017 seguacuten el nuacutemero de instalaciones
(statista 2017) Windows 10 fue el segundo sistema operativo maacutes instalado con una cuota de
mercado de 253 Esto significa que alrededor de una de cada cuatro computadoras estaacute
gobernado por este sistema operativo Por su parte en el caso de Windows 7 el porcentaje se situacutea
por encima del 45 a pesar de que ya no se vende ninguacuten PC con este sistema operativo Hablando
de manera conjunta los sistemas operativos Windows cuentan con una cuota del mercado global
de 8857
La empresa de seguridad informaacutetica Britaacutenica Avecto informoacute en su Microsoft
Vulnerabilities Report 2017 (Avecto 2017) (reporte 2017 de vulnerabilidades de Windows) un
aumento de vulnerabilidades publicadas del 111 en los uacuteltimos 5 antildeos de las cuales 235 criacuteticas
5
fueron mitigadas removiendo permisos de administrador asiacute como otras muy importantes
enfocadas al Administrador de Cuentas de Seguridad (SAM Security Account Manager por sus
siglas en ingleacutes) la cual es una base de datos almacenada como un archivo del registro en Windows
y que almacena las contrasentildeas de los usuarios en un formato hash (Algoritmos que crean a partir
de una entrada una salida alfanumeacuterica de longitud fija)
6
13 Objetivos
131 Objetivo General A traveacutes de la implementacioacuten de un procedimiento de fuerza
bruta utilizando para ello un cluacutester de alto rendimiento asiacute como software de uso libre lograr
capacidad de procesamiento capaz de vulnerar un sistema de autenticacioacuten nivel C1
132 Objetivos Especiacuteficos
Analizar los diferentes niveles de seguridad de sistemas operativos
Analizar diferentes meacutetodos de criptoanaacutelisis para vulnerar el Administrador de
cuentas de seguridad
Estudiar las teacutecnicas de agrupamiento de computadoras (clustering) para la
obtencioacuten de mayor poder de procesamiento
Implementar un cluacutester de alto rendimiento en el Laboratorio de la Maestriacutea en
Sistemas Computacionales del Instituto Tecnoloacutegico de Acapulco para ejecutar
operaciones de coacutemputo distribuido
7
14 Justificacioacuten
Antes la seguridad de la informacioacuten se realizaba a traveacutes de medios fiacutesicos por ejemplo
una caja fuerte en la cual las personas resguardaban objetos o informacioacuten valiosa para ellos Con
la introduccioacuten de las computadoras y el uso de internet los usuarios comienzan a almacenar
informacioacuten importante dentro de sus equipos por lo que se considera indispensable el uso de
herramientas que brinden proteccioacuten a la informacioacuten que se encuentra resguardada dentro de
eacutestas Los usuarios informaacuteticos suelen enviar informacioacuten por la red en las empresas al realizar
traacutemites o enviar informes a socios jefes entre otros
El resguardo de informacioacuten siempre ha sido importante para los seres humanos con la
diferencia que anteriormente no se contaba con los avances tecnoloacutegicos que tenemos actualmente
puesto que con la introduccioacuten de internet y el uso de dispositivos electroacutenicos se tiene mayor
riesgo de la informacioacuten que en ellos se maneja
La proteccioacuten del contenido de los datos es una necesidad urgente en casi todos los aacutembitos
de la sociedad incluyendo los servicios puacuteblicos y privados por lo que la tecnologiacutea de la
seguridad de los sistemas de cifrado se encuentra de frente a verdaderos retos
15 Hipoacutetesis
A traveacutes de un de fuerza bruta como teacutecnica de criptoanaacutelisis y con la ayuda de una mayor
capacidad de procesamiento mediante la implementacioacuten de agrupamiento de computadoras
(cluacutester) de alto rendimiento seraacute posible encontrar alguna vulnerabilidad dentro del sistema de
administracioacuten de cuentas de seguridad de Windows server 2012
8
16 Alcances y Limitaciones
Esta tesis se centraraacute en el sistema operativo Windows como objeto de estudio al cual se
le realizaraacute el criptoanaacutelisis
La tesis se enfocaraacute en el meacutetodo Beowulf para realizar el agrupamiento de computadoras
asiacute como la distribucioacuten de software libre del sistema operativo Linux Rocks
El nuacutemero de equipos disponibles para poder realizar el agrupamiento es de 17
computadoras hasta lograr el poder de coacutemputo de 800 Gflops
17 Impacto Social Tecnoloacutegico Econoacutemico y Ambiental
La sostenibilidad del presente proyecto seraacute abordada a partir de los siguientes aspectos
171 Impacto social A veces se puede pensar que un cluacutester de alto rendimiento pudiera
no tener alguacuten impacto directo en el medio social pero si nos enfocamos a un punto de vista en
donde gracias a la capacidad de procesamiento de estas maacutequinas han sido parte fundamental en
el desarrollo de proyectos que inciden de manera directa en beneficio de la sociedad en la que
vivimos como lo es la medicina la fiacutesica quiacutemica
Este proyecto busca beneficiar a nuestra sociedad proveyendo su capacidad de
procesamiento en la buacutesqueda de alguna vulnerabilidad en el sistema operativo maacutes utilizado hoy
en diacutea como lo es Windows ademaacutes de que estaraacute disponible para la comunidad cientiacutefica y
9
estudiantil del Instituto Tecnoloacutegico de Acapulco para optimizar tiempo de caacutelculo en futuras
investigaciones
172 Impacto ambiental Green IT tambieacuten conocido como Green Computing o
traducido al espantildeol como Tecnologiacuteas Informaacuteticas Verdes es definido como el estudio y la
praacutectica de disentildear desarrollar usar y disponer de computadoras servidores y diferentes
perifeacutericos tales como monitores impresoras dispositivos de almacenamiento de redes y
comunicaciones eficientemente y efectivamente con un impacto miacutenimo o nulo en el medio
ambiente (Murugesan 2008)
Bajo la premisa anterior este proyecto hace uso de los equipos con los que cuenta
actualmente el laboratorio de la Maestriacutea en Sistemas Computacionales lo cual evitaraacute la
adquisicioacuten de equipo nuevo y por consecuencia desechar el equipo existente evitando desperdicio
electroacutenico Dicho equipo cuenta con un procesador Intel I3 de 4ta generacioacuten lo cual seguacuten el
portal electroacutenico Europa press
ldquoEsta nueva generacioacuten supone el mayor salto en cuanto ahorro energeacutetico de la historia
de Intel asiacute como una mejora en los graacuteficos y nuevas experiencias de usuariordquo (europa press
2013)
Teniendo como base estos dos puntos importantes como lo son la reutilizacioacuten de equipo
y utilizando procesadores de bajo consumo energeacutetico es como este proyecto busca contribuir de
manera positiva con el medio ambiente
10
173 Impacto econoacutemico Actualmente existe una gran necesidad de procesar grandes
cantidades de datos lo cual hace imprescindible disponer de maacutequinas con estas caracteriacutesticas sin
embargo su alta complejidad aunado al gran costo hace que en instituciones de caraacutecter puacuteblico
sea muy complicado conseguir recurso para este fin Sin embargo un cluacutester de alto rendimiento
reutilizaraacute equipo propio evitando asiacute gastos por concepto de adquisicioacuten de equipo siendo de
esta manera viable para instituciones de caraacutecter puacuteblico
18 Metodologiacutea a Utilizar
181 Anaacutelisis Despueacutes de analizar las diferentes metodologiacuteas de clustering se optoacute por
desarrollar e implementar un cluacutester de alto rendimiento (HPC)
182 Disentildeo
1821 Economiacutea Debido a las caracteriacutesticas del equipo con el cual cuenta el Laboratorios
de la Maestriacutea en Sistemas Computacionales los componentes utilizados para este proyecto son
considerados de uso comuacuten y de bajo costo lo cual los hace faacutecilmente reemplazables en caso de
fallo a un costo accesible El equipo es de la marca Acer Aspire modelos AXC-605-M021 lo cual
nos hace tener ventaja y respaldo del fabricante con respecto a hardware geneacuterico
1822 Instalaciones Un cluacutester requiere de un ambiente controlado Esto es una
habitacioacuten especial con sistema de enfriamiento capacidad suficiente de carga eleacutectrica control
de humedad y un ambiente libre de polvo Ademaacutes se deben considerar el peso del equipo sobre
el piso (ya sea falso o piso normal) Se recomienda colocarlo en los soacutetanos o en la plata baja de
edificios (Rocha Quezada Botello Rionda Vargas Feacutelix amp Munguiacutea Torres 2011)
11
En el laboratorio de la Maestriacutea en Sistemas Computacionales se cuenta con espacio que
reuniacutea la mayoriacutea de las caracteriacutesticas requeridas para este proyecto
1823 Escalabilidad Un cluacutester debe ser faacutecilmente escalable y a su vez confiable Por
tal motivo se ha utilizado equipo de marca lo cual nos proporciona maacutes de confiabilidad en su
desempentildeo y a su vez facilidad de aumentar el nuacutemero de equipos si en un futuro fuese necesario
agrandar este proyecto Se armoacute un cluacutester de cinco computadoras con procesadores Intel Core I3
de 64 bits en cada nodo La memoria incluida y perifeacutericos son faacuteciles de adquirir en el mercado
1824 Red En la parte de redes se utilizoacute un switch fast Ethernet con una velocidad de 1
Gbps el cual tiene tazas de transferencia raacutepida y el costo es notablemente maacutes econoacutemico que
uno de fibra oacuteptica
El cableado seleccionado fue el estaacutendar UTP de cobre con la norma Gigabit Ethernet de
IEEE 8023ab con la categoriacutea de cableado 6e que soporta tazas de transferencia de datos de
1000Base T (1 Gbps)
1825 Software
ldquoEl sistema operativo debe constar con servicios dedicados para compartir y respaldar
archivos asiacute como capacidad de acceder a los datos de trabajo raacutepidamente El sistema operativo
debe tambieacuten proveer servicios de monitoreo y reporte de fallas en el sistemardquo (Rocha Quezada
Botello Rionda Vargas Feacutelix amp Munguiacutea Torres 2011)
12
Existe una gran variedad de software para instalar cluacutester de alto rendimiento sin embargo
como se ha comentado con anterioridad el costo de adquisicioacuten debe ser accesible por tal motivo
se optoacute por una distribucioacuten con licencia GNU de Linux Rocks Cluster la cual es una distribucioacuten
sencilla de instalar y configurar en comparacioacuten con otras distribuciones analizadas dicha
distribucioacuten estaacute basada en CentOS que a su vez estaacute basada en la conocida distribucioacuten de Linux
Red Hat
1826 Almacenamiento Para este proyecto no se requeriraacute un gran espacio de
almacenamiento por tal motivo los equipos utilizados tanto maestro como esclavos mantuvieron
sus unidades de disco originales las cuales son de 1 TB de almacenamiento
183 Implementacioacuten La implementacioacuten del cluacutester de alto rendimiento fue realizada
dentro de las instalaciones del Laboratorio de la Maestriacutea en Sistemas Computacionales del
Instituto Tecnoloacutegico de Acapulco construido inicialmente para este proyecto de criptoanaacutelisis lo
cual requeriraacute suficiente capacidad de procesamiento para poder implementar ataques de fuerza
bruta a sistemas operativos Las caracteriacutesticas del cluacutester construido son
1831 Software El software instalado en cada uno de los nodos es el siguiente
bull Sistema operativo Rocks Cluacutester Linux 74 (64 bits)
bull Libreriacutea de manejo de mensajes Open-MPI 153
bull Software de monitoreo Ganglia
13
1832 Hardware El cluacutester estaacute compuesto de 17 equipos con las siguientes
caracteriacutesticas
bull Nodo Maestro y 16 Nodos Esclavos
- Procesador Intel Core I3 4150 (4 nuacutecleos) Memoria 6 GB Disco Duro SATA 1 TB
tarjeta de Red Gigabit Ethernet
El hardware adicional es el siguiente
bull Interconexioacuten de Red
bull Switch Cisco 26 puertos 1Gbps modelo SG200 Red interna
1833 Recursos totales del cluacutester
bull Nuacutecleos de unidades de procesamiento (cores) 68
bull Capacidad en memoria 92 GB
bull Capacidad en disco 17 TB
19 Aseguramiento Teacutecnico ndash Material
A continuacioacuten se muestra el desglose del equipo utilizado para la elaboracioacuten de un
cluacutester de alto rendimiento estos componentes consisten en Hardware y Software especializado
asiacute como los costos de produccioacuten y personal involucrados en la metodologiacutea y elaboracioacuten del
proyecto
Costos de Hardware
Costos de Software
14
191 Hardware En este punto se refleja el costo de los dispositivos y herramientas a nivel
fiacutesico las cuales sirvieron para la implementacioacuten del proyecto cluacutester de alto rendimiento Cabe
resaltar que el equipo utilizado forma parte del inventario actual del Laboratorio motivo por el
cual su utilizacioacuten no causoacute erogacioacuten alguna sin embargo la investigacioacuten de costos se realizoacute
con la finalidad que el lector pueda establecer comparativas y buscar alternativas en caso de ajuste
de presupuesto
1911 Equipo de coacutemputo El equipo de coacutemputo utilizado consta de diecisiete
computadoras las cuales serviraacuten una para Nodo Maestro y las dieciseacuteis restantes como Nodos
Esclavos
La descripcioacuten de estos equipos se muestra en la tabla a continuacioacuten mostrando los costos
de todos los equipos utilizados dentro del proyecto
15
Tabla 11 Costo del Proyecto
Modelo
Cantidad
Caracteriacutesticas
Costos
PC - Acer AXC-
605
17
Procesador Intel Core i3
Pantalla 156rdquo
Disco duro 1TB HDD
RAM 6GB
Salida HDMI
Tarjeta de graacuteficos INTEGRADA
Lector de CD
Los costos en el mercado de una PC de
escritorio con estas caracteriacutesticas tiene un
valor aproximado de $600000 pesos
(Moneda nacional Mexicana)
Switch Cisco
Gigabit Ethernet
1
Modelo SG200 de 26 puertos
Costo en el mercado alrededor de
$2000000 pesos MN
Total
12200000 pesos MN
16
Capiacutetulo 2 Estado del Arte
Tiacutetulo del Trabajo Introduccioacuten a la Criptografiacutea
Autor Gibraacuten Granados Paredes
Fecha Julio 2010
Lugar Ciudad de Meacutexico
Publicado en Coordinacioacuten de Publicaciones Digitales DGSCA-UNAM
httpwwwrevistaunammxvol7num7art55int55htm
Siacutentesis Cuando se desea tener seguridad hablando en aacutembitos informaacuteticos la
criptografiacutea es una herramienta muy uacutetil el autor lo entiende tambieacuten como un medio para
garantizar las propiedades de confidencialidad integridad y disponibilidad de los recursos de un
sistema
Con la criptografiacutea se puede garantizar las propiedades de integridad y confidencialidad
pero hay que saber coacutemo utilizarla para ello es importante tener claros los conceptos baacutesicos que
estaacuten detraacutes de los sistemas criptograacuteficos modernos Estos conceptos van desde entender queacute es
la criptografiacutea coacutemo estaacute clasificada entender el funcionamiento baacutesico de algunos sistemas de
cifrado y conocer coacutemo se forman los documentos digitales como firmas y sobres digitales
Resultados El autor realiza un viaje por un gran nuacutemero de conceptos utilizados en
criptografiacutea el inicio y la clasificacioacuten de la misma asiacute como la criptografiacutea claacutesica y moderna y
analiza de manera breve algunos meacutetodos de cifrado maacutes comunes
17
Tiacutetulo del Trabajo Criptoanaacutelisis sobre meacutetodos claacutesicos de cifrado
Autores Sebastiaacuten Goacutemez Juan David Arias Diego Agudelo
Fecha 2 de mayo 2013
Lugar Ciudad de Meacutexico
Publicado en Scientia et Technica Antildeo XVII No 50 abril de 2012
Siacutentesis Los algoritmos criptograacuteficos utilizados desde la antigua Roma hasta nuestros
diacuteas son meacutetodos que convierten un mensaje de texto plano a cifrado al proceso inverso se le
conoce como descifrar Este artiacuteculo realiza un estudio de algunas teacutecnicas de encriptacioacuten claacutesicas
del siglo pasado como lo son el cifrado de Cesar y el cifrado de Vigeneacutere asiacute como muestra
teacutecnicas baacutesicas y modernas de criptoanaacutelisis basadas en la teoriacutea de la informacioacuten y estadiacutestica
como lo son la entropiacutea y el ataque de maacutexima correlacioacuten Las teacutecnicas de criptoanaacutelisis descritas
anteriormente pueden ser usadas en otros meacutetodos de cifrado siempre y cuando esteacuten presentes las
mismas debilidades
Resultados Los autores implementaron en lenguajes de programacioacuten Python un
algoritmo para el caacutelculo de entropiacutea para diferentes longitudes de clave Para la implementacioacuten
de los algoritmos de cifrado y descifrado de Vigeneacutere y de maacutexima correlacioacuten utilizaron lenguaje
de programacioacuten C++ Se probaron los meacutetodos anteriormente descritos sobre textos planos de
diferentes longitudes logrando un resultado de 9385 de efectividad en promedio
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de dos de los
algoritmos de encriptacioacuten maacutes antiguos y baacutesicos pero sobre todo que conociendo los meacutetodos
de criptoanaacutelisis me permitiraacuten analizar debilidades y fortalezas de algoritmos
18
Tiacutetulo del Trabajo ULTRACOM Computacioacuten de Alto Rendimiento para Criptoanaacutelisis
Autor Antonio Castro Lechtaler Alejandro Repetto Martiacuten Bianchi Marcelo Cipriano
Alejandro Arroyo Arzubi Ceacutesar Cicerchia Eduardo Malvacio
Fecha octubre 2014
Lugar Buenos Aires Argentina
Publicado en XX Congreso Argentino de Ciencias de la Computacioacuten (Buenos Aires
2014)
Siacutentesis La generacioacuten de nuacutemeros primos fundamentales para la produccioacuten de claves
el anaacutelisis de secuencias pseudo-aleatorias los procesos de verificacioacuten y validacioacuten de algoritmos
de seguridad en un sentido geneacuterico requieren enormes cantidades de procesamiento Los
procesos relacionados con la matemaacutetica criptograacutefica se caracterizan por la alta necesidad de
coacutemputo El objetivo de ULTRACOM es desarrollar una computacioacuten distribuida multipropoacutesito
que permita como primera aplicacioacuten real el anaacutelisis la validacioacuten y la ejecucioacuten de pruebas de
estreacutes sobre sistemas criptograacuteficos El presente trabajo de investigacioacuten detalla el proceso de
desarrollo de ULTRACOM y muestra un ejemplo de su implementacioacuten en una versioacuten Beta Para
ello toman como entrada dos versiones del algoritmo Trivium Utilizando la misma
infraestructura y sin desarrollo extra se prueban grandes voluacutemenes de claves y vectores de
inicializacioacuten de los algoritmos en busca de secuencias deacutebiles de menor longitud que la de la
buscada
Resultados El equipo implementoacute una versioacuten beta de la plataforma ULTRACOM
comprobando la factibilidad y viabilidad teacutecnica de la generalizacioacuten de la infraestructura de
computacioacuten distribuida en grilla (malla) BOINC Este avance permite extender los horizontes de
BOINC y habilita la posibilidad de obtener la capacidad de coacutemputo de alto rendimiento a bajo
19
costo Concluyeron que ULTRACOM es un proyecto viable escalable y de alto impacto para la
evaluacioacuten y validacioacuten de algoritmos criptograacuteficos
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento y la
implementacioacuten de una arquitectura de computacioacuten distribuida y una vez siendo factible su
desarrollo utilizar su poder de coacutemputo atacando a traveacutes de un algoritmo un sistema criptograacutefico
20
Tiacutetulo del Trabajo Criptografiacutea Cuaacutentica
Autor M Baig
Fecha 2010
Lugar Barcelona Espantildea
Siacutentesis En este artiacuteculo el autor realiza una breve introduccioacuten a la criptografiacutea claacutesica y
la relacioacuten que existe con la teoriacutea de la informacioacuten de Shannon la cual asegura que el cifrado
digital simeacutetrico es secreto y perfecto siempre y cuando se cumplan los tres requisitos
1 La llave ha de ser aleatoria
2 La llave debe usarse soacutelo una vez
3 La llave ha de ser tan larga como el mensaje y de un solo uso debe de estar en posesioacuten
tanto del emisor como del receptor
El punto 3 es el maacutes complicado de cumplir debido a la forma de compartir la llave entre
el emisor y receptor
Maacutes adelante en el artiacuteculo se hace un anaacutelisis sobre otra teacutecnica de criptografiacutea que es el
cifrado digital asimeacutetrico en la que se estudia coacutemo funcionan las llaves privadas y puacuteblicas asiacute
como el meacutetodo de criptograacutefico RSA
Resultados
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento maacutes profundo de
los meacutetodos de criptografiacutea simeacutetricos y asimeacutetricos especiacuteficamente el algoritmo asimeacutetrico
RSA
21
Tiacutetulo del Trabajo La Criptografiacutea Maderista en la Revolucioacuten Mexicana (1910-1911)
Criptoanaacutelisis de una carta cifrada por Gabriel Leyva Solano
Autor Roberto Narvaacuteez
Fecha 2011
Lugar Meacutexico DF
Siacutentesis Este trabajo aborda temas relacionados con las comunicaciones secretas del
movimiento revolucionario comandado por Francisco I Madero a partir de 1910 Se compone de
dos partes la primera es una breve resentildea criacutetica de ejemplos criptograacuteficos del maderismo que
fueron generados entre 1910 y 1911 la segunda describe paso a paso el criptoanaacutelisis que aplicoacute
el autor Roberto Narvaacuteez para desencriptar una carta parcialmente cifrada de Gabriel Leyva Solano
a Francisco I Madero
Resultados El propoacutesito general uacuteltimo es contribuir al conocimiento de la criptografiacutea
mexicana en el siglo XX En lo particular se trata de poner a disposicioacuten de los estudiosos el
contenido completo de la carta de Leyva Solano por primera vez despueacutes de 100 antildeos y al mismo
tiempo someter a la criacutetica teacutecnica e histoacuterica el procedimiento criptoanaliacutetico puesto en operacioacuten
para recuperar el texto plano
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de la teacutecnicas y
estudios realizados en nuestro paiacutes sobre formas y meacutetodos de encriptacioacuten durante la Revolucioacuten
Mexicana incluso mucho antes de la 2ordf Guerra mundial momento donde se registroacute un auge
importante dentro de la criptografiacutea moderna
22
Tiacutetulo de Tesis Anaacutelisis de la programacioacuten concurrente sobre la cpu y gpu en el
desarrollo de fractal build
Autor Joseacute Vicente Anilema Guadalupe
Fecha 2012
Lugar Riobamba Ecuador
Siacutentesis Este trabajo aborda temas relacionados con la geometriacutea euclidiana debido a que
el autor realiza una aplicacioacuten que crea paisajes fractales lo que significa crear un paisaje con una
misma figura geomeacutetrica Lo anterior se traduce en una necesidad de gran poder de coacutemputo para
realizar de una manera eficaz la tarea Dentro de la tesis el autor realiza diversos estudios
comparativos entre el procesamiento serializado realizado por una CPU (unidad central de
procesamiento) y procesamiento paralelizado realizado por una GPU (Unidad grafica de
procesamiento) a traveacutes de diversas herramientas para obtener el mejor aprovechamiento de los
recursos
Resultados El autor concluye que es necesario examinar los algoritmos a utilizar para que
estos puedan ser utilizados en coacutemputo paralelo Ademaacutes de que es necesario aprender ciertas
herramientas a utilizar para aprovechar al maacuteximo el coacutemputo distribuido y no desperdiciar el
poder de procesamiento muy superior que las GPUrsquos nos pueden brindar
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de la teacutecnicas y
estudios realizados para medir y comparar la velocidad de procesamiento de la unidad central de
procesamiento (CPU) y la unidad graacutefica de procesamiento (GPU) Asiacute como la medida en Flops
(Operaciones de punto flotante por segundo)
23
Tiacutetulo del Trabajo Arquitectura cluacutester de alto rendimiento utilizando herramientas de
software libre
Autores Leonardo Chiquiguanca Edyson Malla Freddy Ajila Rene Guamaacuten-Quincheacute
Fecha mayo 2015
Lugar Loja Ecuador
Siacutentesis Este trabajo aborda temas relacionados con la gran cantidad de datos que tienen
que procesar las universidades puacuteblicas dentro de sus investigaciones realizadas en diferentes aacutereas
como la ingenieriacutea medicina etc y la carencia de recursos econoacutemicos para obtener
supercomputadoras que procesen dicha informacioacuten Los autores proponen dentro de su
investigacioacuten la utilizacioacuten de equipo de coacutemputo existente dentro de su universidad y por medio
de software libre realizar agrupamiento de computadoras para poder lograr el procesamiento de
grandes voluacutemenes de datos de una manera accesible
Resultados Los autores concluyen que la mejor arquitectura para el agrupamiento
(cluacutester) de computadoras en ambientes universitarios es la arquitectura Beowulf debido a que la
implementaron en hardware convencional existente dentro de su campus universitario y que
ademaacutes usaron software libre mencionando que el poder de coacutemputo logrado fue muy cercano al
de una supercomputadora
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de las teacutecnicas
utilizadas en ambientes universitarios para la realizacioacuten de agrupamiento de computadoras y
sobre todo la optimizacioacuten de costos para realizar dicha tarea y tener como finalidad el lograr
mayor capacidad de procesamiento
24
Tiacutetulo de Tesis Desarrollo de un algoritmo de cifrado simeacutetrico de resumen
Autores Jonathan Dave Orjuela Navarrete
Antildeo 2008
Lugar Bogotaacute DC
Siacutentesis Esta tesis realiza un estudio de varios meacutetodos de criptografiacutea simeacutetrica para
posteriormente utilizando diferentes foacutermulas matemaacuteticas crear un algoritmo criptograacutefico
nuevo Dentro de la tesis utiliza dos meacutetodos para realizar pruebas a su algoritmo criptoanaacutelisis
diferencial y criptoanaacutelisis basado en fallos de hardware Dentro de los cuales hace un estudio
detallado de las teacutecnicas y herramientas de criptoanaacutelisis realizado a su algoritmo
Resultados El autor concluye de manera positiva con la realizacioacuten del algoritmo y de
manera satisfactoria con la realizacioacuten de criptoanaacutelisis a su algoritmo pudiendo demostrar la
fortaleza del algoritmo a traveacutes de ejemplo de cifrado con textos claro muy parecido y su
conversioacuten a cadenas completamente diferentes
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de criptoanaacutelisis diferencial y criptoanaacutelisis basado en fallos de hardware para la
evaluacioacuten de algoritmos de cifrado simeacutetrico de textos claros
25
Tiacutetulo del Trabajo Firt step in a Pc cluster development with openMosix
Autores Javier Bilbao Gorka Garate
Antildeo 2008
Lugar Bilbao Spain
Siacutentesis En este trabajo se afirma que es posible hacer maacutequinas de alta capacidad de
caacutelculo mediante la interconexioacuten de equipos con redes de alta velocidad A este tipo de sistemas
se les llama sistemas distribuidos y hoy en diacutea es la tecnologiacutea maacutes utilizada para resolver
problemas que requieren una gran capacidad de caacutelculo La agrupacioacuten de computadoras permite
que varias computadoras trabajen juntas para resolver los problemas de informaacutetica comuacuten Este
artiacuteculo centra su estudio en uno de los diferentes meacutetodos de agrupamiento de computadoras
openMosix El trabajo tambieacuten evaluacutea el cluacutester por dos casos de estudio donde se mejora el
tiempo de ejecucioacuten de los problemas resueltos
Resultados El autor del artiacuteculo concluye con la realizacioacuten satisfactoria de agrupamiento
de computadoras bajo el meacutetodo openMosix el cual uacutenicamente permite agrupamiento de la forma
SSI (Single System Image) que se refiere a que uacutenicamente se puede realizar el agrupamiento con
todos los nodos ejecutando un mismo sistema operativo
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de agrupamiento de computadoras openMosix ventajas desventajas y dificultades para
su implementacioacuten
26
Tiacutetulo del Trabajo Disentildeo e implementacioacuten de un cluacutester tipo Beowulf para el desarrollo
de coacutemputo cientiacutefico avanzado
Autores Edgar Rubeacuten Gonzaacutelez Ramiacuterez Abimael Rodriacuteguez Saacutenchez
Antildeo 2008
Lugar Instituto Politeacutecnico Nacional Meacutexico DF
Siacutentesis Este trabajo de tesis ha desarrollado e implementado una herramienta
computacional llamada Cluster Beowulf para mejorar la programacioacuten paralela Comenzando
con la memoria compartida y distribuida el autor implemento el agrupamiento tipo Beowulf
pensando en procesamiento paralelo la optimizacioacuten de las fuentes informaacuteticas El disentildeo se
construye mediante una distribucioacuten Linux Fedora Core 6 a 64 bits utilizando todas las ventajas
que ofrece el estaacutendar Gigabyt Ethernet La programacioacuten paralela fue desarrollada en lenguaje C
tanto para MPI como para OPENMP
Resultados El autor del artiacuteculo concluye que de acuerdo con los resultados el tiempo
de procesamiento se redujo con el uso muacuteltiples nuacutecleos mejoroacute hasta ocho veces gracias al
multihilo
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de agrupamiento de computadoras Beowulf y su implementacioacuten en sistemas operativos
de uso libre Linux distribucioacuten Fedora 6
27
Marco Teoacuterico
21 Seguridad de la Informacioacuten
La Seguridad de la Informacioacuten consiste y hace referencia a la proteccioacuten de cualquier
amenaza para salvaguardar los activos fijos y en especial toda informacioacuten de la cual estaacute basada
la continuidad de las operaciones de la empresa sean estas ocasionadas dentro o fuera de la misma
con esto se logra disminuir los dantildeos y perjuicios que estas amenazas causariacutean a la organizacioacuten
y a la vez aumentar las oportunidades de servicio hacia otras empresas
La Seguridad de la informacioacuten se consigue mediante la implementacioacuten de controles
efectivos que pueden ser normas manual de funciones buenas praacutecticas procedimientos
estructuras organizativas funciones de software y hardware planes de contingencia y herramientas
que se encargan de proteger la privacidad e integridad de la informacioacuten que se almacena en un
sistema informaacutetico Estos controles necesitan continuamente ser establecidos monitoreados
revisados y mejorados en donde sea necesario para asegurar que se cumplan los objetivos
especiacuteficos de seguridad en cada aacuterea de negocio de la organizacioacuten
La seguridad informaacutetica es en realidad una rama de la seguridad de la informacioacuten aunque
de forma praacutectica algunos autores suelen utilizar de manera indistinta ambos teacuterminos
211 Objetivo de la seguridad de la informacioacuten En la seguridad de la informacioacuten
sabiendo que dichos procesos de seguridad permiten proteger el recurso maacutes importante y valioso
de una organizacioacuten partiendo como principio fundamental los procesos de aseguramiento el
28
objetivo del proceso de seguridad informaacutetica es obtener un nivel aceptable de seguridad ya que
la informacioacuten es lo maacutes valioso que tiene una institucioacuten o empresa por lo tanto esta debe ser
protegida para que no sea vulnerable y utilizada para fines maliciosos
212 Principios de la seguridad informaacutetica
Confidencialidad Los datos solo deben ser conocidos y accedidos por quienes esteacuten
autorizados durante su almacenamiento procesamiento o trasmisioacuten Verificar y certificar que solo
los usuarios con accesos autorizados puedan acceder a la informacioacuten
Integridad Los datos solo pueden ser modificados y eliminados por quienes esteacuten
autorizados para ello es decir los sistemas y aplicaciones solo deben ser operados por personal
autorizado
Disponibilidad Los sistemas que almacenan datos e informacioacuten deben garantizar su
acceso cuando asiacute se requiera por quienes tengan derecho a ello
213 Caracteriacutesticas de seguridad informaacutetica
Control Solo los usuarios autorizados deciden cuaacutendo y coacutemo permitir el acceso a la
informacioacuten
Auditoriacutea Establece las acciones cuaacutendo las implementa y quieacuten las realiza sobre el
sistema
Autenticidad Define que la informacioacuten necesaria es correcta utilizable y vaacutelida en tiempo
y forma
No Repudio Su funcioacuten es evitar que alguna entidad que envioacute o recibioacute informacioacuten
alegue que no lo hizo
29
214 Formas de Autenticacioacuten
Contrasentildea Una contrasentildea es un tipo de seguridad informaacutetica ya que es una serie de
caracteres secretos que permiten a un usuario tener acceso a un archivo equipo de coacutemputo o
programa y negar el acceso a usuarios no autorizados
Certificado digital Es un tipo de seguridad informaacutetica que permite la firma digital
electroacutenica que garantiza teacutecnica y legalmente la identidad de una persona en Internet
Autenticacioacuten HTTP Tipo de seguridad informaacutetica que delega la autenticacioacuten de
usuarios a un servidor a traveacutes de Kerberos
215 Ciber-seguridad Con los avances tecnoloacutegicos y la demanda que ha causado en ello
existe un elevado iacutendice de informacioacuten personal y empresarial que circula y se mantiene en la red
por la utilizacioacuten del internet esto permite que toda informacioacuten quede expuesta a cualquier ataque
de ciber-delincuentes los cuales buscan la manera de vulnerar cualquier sistema para espiar robar
informacioacuten o hacer dantildeo de cualquier tipo por lo que se ha visto la necesidad de tomar medidas
de seguridad para salvaguardar la informacioacuten ya que es muy importante
La ciberseguridad es la proteccioacuten de los sistemas conectados a Internet incluidos el
hardware el software y los datos de los ciberataques En un contexto informaacutetico la seguridad
comprende la ciberseguridad y la seguridad fiacutesica ambas son utilizadas por las empresas para
proteger contra el acceso no autorizado a los centros de datos y otros sistemas de coacutemputo El
objetivo de la ciberseguridad es limitar el riesgo y proteger los activos de Tecnologiacuteas de
Informacioacuten de los atacantes con intenciones maliciosas La seguridad de la informacioacuten estaacute
30
disentildeada para mantener la confidencialidad integridad y disponibilidad de los datos es un
subconjunto de la ciberseguridad
22 Criptografiacutea
La Criptografiacutea tambieacuten llamada ldquoescritura ocultardquo tradicionalmente en el aacutembito de
criptografiacutea es donde se ocupan las teacutecnicas de cifrado o codificacioacuten que permiten alterar el
contenido de cierta informacioacuten o mensajes con el fin de hacerlos ininteligibles a receptores o
personas no autorizadas (Meneacutendez-Barzanallana 17)
Actualmente la criptografiacutea se encarga de analizar algoritmos protocolos y sistemas que
son utilizados para proveer seguridad a las comunicaciones informacioacuten y a las entidades que se
comunican entre siacute
221 Tipos de Criptografiacuteas
2211 Tablas Hash Un hash o funcioacuten hash toma un grupo de caracteres (llamado clave)
y lo asigna a un valor de cierta longitud (llamado valor hash o hash) El valor hash es representativo
de la cadena de caracteres original pero normalmente es maacutes pequentildeo que el original
El hash tambieacuten es utilizado en el cifrado y descifrado de firmas digitales La funcioacuten hash
transforma la firma digital luego tanto el valor hash como la firma se enviacutean al receptor El
receptor utiliza la misma funcioacuten hash para generar el valor hash y luego lo compara con el recibido
31
en el mensaje Si los valores hash son los mismos es probable que el mensaje se haya transmitido
sin errores
Un ejemplo de una funcioacuten hash se llama plegado(folding) Esta toma un valor original lo
divide en varias partes luego agrega las partes y usa los uacuteltimos cuatro diacutegitos restantes como
valor o clave hash
2212 Tipos de algoritmos Hash
22121 SHA - 1 (Secure Hash Algorithm) Es un algoritmo criptograacutefico de Hash
publicado por el gobierno de los Estados Unidos Genera un valor Hash de 160 bits a partir de una
secuencia de longitud arbitraria Es considerado lo suficientemente seguro para aplicaciones
praacutecticas pero hay disponibles versiones maacutes robustas SHA - 256 SHA - 384 y SHA - 512 que
generan valores Hash de 256 384 y 512 bits respectivamente estas versiones reemplazaraacuten a SHA
- 1 mientras se siga trabajando sobre ellas (Borghello 2009)
22122 MD5 (Message Digest Algorithm) En criptografiacutea MD5 es una funcioacuten hash
criptograacutefica ampliamente utilizada con un valor hash de 128 bits Como estaacutendar de Internet (RFC
1321) MD5 se ha empleado en una amplia variedad de aplicaciones de seguridad y tambieacuten se
usa comuacutenmente para verificar la integridad de los archivos Un hash MD5 generalmente se
expresa como un nuacutemero hexadecimal de 32 diacutegitos
MD5 es una versioacuten reforzada de MD4 Al igual que MD4 el hash MD5 fue inventado por
el profesor Ronald Rivest del Massachusetts Institute of Technology (MIT) Ademaacutes MD5 se
32
utilizoacute como modelo para SHA-1 ya que comparten muchas caracteriacutesticas comunes MD5 y
SHA-1 son los dos algoritmos hash maacutes utilizados en la actualidad aunque el uso de MD5 ha
disminuido ya que ahora se considera roto (Borghello 2009)
22123 RIPEMD ndash 160 Es una funcioacuten hash criptograacutefica basada en la construccioacuten
Merkle-Damgaringrd (MD) Se usa en el estaacutendar de Bitcoin Es una versioacuten reforzada del algoritmo
RIPEMD que produce un resumen de hash de 128 bits mientras que el algoritmo RIPEMD-160
produce una salida de 160 bits La funcioacuten de compresioacuten consta de 80 etapas formadas por 5
bloques que se ejecutan 16 veces cada uno Este patroacuten se ejecuta dos veces con los resultados
combinados en la parte inferior utilizando la adicioacuten del moacutedulo 32 (Borghello 2009)
22124 Funcioacuten Merkle-Damgaringrd La construccioacuten MD es una metodologiacutea para crear
funciones hash resistentes a colisiones a partir de funciones de compresioacuten unidireccionales Ralph
Merkle la propuso en el antildeo de 1979 en ldquoA certified Digital Signaturerdquo posterior a este estudio
Ivan Damgaringrd demostroacute de manera independiente que la estructura era soacutelida (Merkle amp
Damgaringrd sf)
2213 Cifrado simeacutetrico Los cifrados simeacutetricos son los cifrados criptograacuteficos maacutes
antiguos y maacutes utilizados En un cifrado simeacutetrico la clave que descifra el texto cifrado es la
misma (o puede derivarse faacutecilmente) de la clave que cifra el texto claro Esta clave a menudo se
conoce como la clave secreta Los cifrados simeacutetricos maacutes utilizados son DES y AES
La problemaacutetica que surge es la seguridad de la clave
33
El emisor cifra el mensaje con una clave
Enviacutea el mensaje cifrado de tal manera que nadie puede descifrarlo sin dicha clave
El receptor obtiene la clave y entonces puede descifrar el mensaje con la misma clave
que recibioacute del emisor
Algunos algoritmos de este tipo son
22131 RC5 (Cifrado de Rivest) Es un algoritmo de cifrado de bloque de clave simeacutetrica
disentildeado por Ron Rivest en 1994 Se destaca por ser simple raacutepido (debido a que usa solo
operaciones de coacutemputo primitivas como XOR o shift) y ademaacutes por consumir menos memoria
RC5 es un cifrado de bloques y aborda dos bloques de palabras a la vez Dependiendo del
tamantildeo del bloque de texto sin formato nuacutemero de rondas y tamantildeo de clave se pueden definir
varias instancias de RC5 y cada instancia se denota como RC5-w r b donde w = tamantildeo de
palabra en bits r = nuacutemero de rondas y b = tamantildeo de la clave en bytes (Pawar 2016)
Como se ha mencionado RC5 utiliza bloques de 2 palabras el tamantildeo del bloque de texto
sin formato puede ser de 32 64 o 128 bits
22132 IDEA (International Data Encryption Algorithm) Baacutesicamente es un algoritmo
de cifrado de bloque simeacutetrico El algoritmo asimeacutetrico utiliza la misma clave para el cifrado y
descifrado Un cifrado de bloque divide el mensaje en bloques cada uno de una longitud fija y
luego cifra cada bloque de forma independiente
34
El tamantildeo de bloque tiacutepico es de 16 bytes de 128 bits Un cifrado de bloque generalmente
operaraacute en bloques o rondas donde se aplica parte de la clave a la ronda Despueacutes de un cierto
nuacutemero de rondas digamos entre 10 y 16 se termina con el texto cifrado para ese bloque
El bloque de texto cifrado tiene exactamente el mismo tamantildeo que el bloque de texto sin
formato 16 bytes Para cada ronda se trabaja en el bloque utilizando una parte de la clave de
cifrado a la que se le llama la clave redonda Muacuteltiples claves redondas se derivan de la clave de
cifrado utilizando para esto un programa de claves
La programacioacuten de claves es un algoritmo que cambia XOR multiplica y realiza otros
tipos de operaciones en la clave de cifrado original para obtener estas claves redondas Bueno si
tengo un bloque de 16 bytes y tengo una clave de 128 bits que tambieacuten es de 16 bytes (Educba
2019)
22133 DES (Data Encryption Standard) El algoritmo DES es el algoritmo de seguridad
maacutes popular Es un algoritmo simeacutetrico lo que significa que se utilizan las mismas claves para
cifrar descifrar datos confidenciales La longitud de la clave es de 8 bytes (64 bits) Entonces
para cifrar descifrar datos el algoritmo DES utiliza una clave de 8 bytes pero 1 byte (8 bits) para
la verificacioacuten de paridad Es un algoritmo de cifrado de bloque por lo tanto el tamantildeo del bloque
de datos del algoritmo DES es de 64 bits Para cifrar descifrar datos el algoritmo DES utiliza la
estructura Feistel Entonces utiliza una ronda para cifrar descifrar datos Aunque el tamantildeo del
35
bloque de datos es de 64 bits el nuacutemero de rondas seraacute de 16 rondas asiacute mismo utilizaraacute diferentes
subclaves para cada ronda por lo tanto el nuacutemero de subclaves seraacute de 16 subclaves
Como se puede observar la clave efectiva es de 56 bits por consiguiente se tiene 256
combinaciones posibles por lo que la fuerza bruta se hace casi imposible (Sanjoy 2015)
2214 Cifrado asimeacutetrico Los cifrados asimeacutetricos tambieacuten se conocen como cifrados
con claves puacuteblicas y privadas Usan dos claves una para el cifrado de mensajes y la otra durante
el descifrado
Un intruso puede encriptar cualquier mensaje usando la clave puacuteblica conocida Los
cifrados asimeacutetricos son por lo tanto vulnerables a los ataques de texto sin formato Los cifrados
con encriptacioacuten de clave puacuteblica deben proporcionar seguridad contra tales ataques Despueacutes de
encriptar dos mensajes con la misma clave puacuteblica el intruso no puede distinguir queacute texto cifrado
estaacute conectado con queacute texto plano Ademaacutes un observador que analiza dos mensajes encriptados
usando el mismo algoritmo y la misma clave puacuteblica no puede distinguir sus textos cifrados
(Kowalczyk 2015)
Los cifrados asimeacutetricos son mucho maacutes lentos que los cifrados simeacutetricos (generalmente
mil veces maacutes lentos) Es una praacutectica comuacuten usar el cifrado de clave puacuteblica solo para establecer
la conexioacuten segura y negociar la nueva clave secreta que luego se utilizaraacute para proteger la
comunicacioacuten mediante cifrado simeacutetrico Ejemplos de este cifrado son
36
22141 DSA (Digital Signature Algorithm - Algoritmo de Firma digital) Es un estaacutendar
del Gobierno Federal de los Estados Unidos para firmas digitales Fue propuesto por el Instituto
Nacional de Estaacutendares y Tecnologiacutea (NIST) en agosto de 1991 para ser usado en su Estaacutendar de
Firma Digital (DSS) en el antildeo de 1993
La primera parte del algoritmo DSA es la generacioacuten de clave puacuteblica y clave privada que
puede describirse como
Se elige un nuacutemero primo q que se llama divisor primo
Se elige otro nuacutemero primo p de modo que pndash1 mod q = 0 p seraacute llamado moacutedulo
primo
Ahora se elige un nuacutemero entero g tal que 1 ltg ltp g q mod p = 1 g = h ((p
ndash 1) q) mod p q tambieacuten se llama moacutedulo de orden multiplicativo de g moacutedulo p
Se elige un nuacutemero entero tal que 0 ltx ltq
Se calcula y como g x mod p
Se empaqueta la clave puacuteblica como p q g y
Por uacuteltimo se empaqueta la clave privada como p q g x
La segunda parte del algoritmo DSA es la generacioacuten de firma y la verificacioacuten de firma
Para generar una firma de mensaje el remitente puede seguir estos pasos
Se genera el resumen del mensaje h utilizando un algoritmo hash como SHA1
Se genera un nuacutemero aleatorio k tal que 0 ltk ltq
37
Se calcula r como (g k mod p) mod q Si r = 0 seleccione una k diferente
Ahora se calcula i de modo que k i mod q = 1 i se llama el inverso multiplicativo modular
de k moacutedulo q
Se calcula s = i (h + r x) mod q Si s = 0 se selecciona una k diferente
Por uacuteltimo se empaqueta la firma digital como r s (Yang 2019)
22142 RSA Encriptacioacuten RSA encriptacioacuten Rivest-Shamir-Adleman tipo de
criptografiacutea de clave puacuteblica ampliamente utilizada para la encriptacioacuten de datos de correo
electroacutenico y otras transacciones digitales a traveacutes de Internet RSA lleva el nombre de sus
inventores Ronald L Rivest Adi Shamir y Leonard M Adleman quienes lo crearon mientras
trabajaban en la facultad del Instituto Tecnoloacutegico de Massachusetts (Simmons 2019)
En el sistema RSA un usuario elige de manera secreta un par de nuacutemeros primos p y q tan
grandes que factorizar el producto n = pq estaacute mucho maacutes allaacute de las capacidades informaacuteticas
proyectadas para la vida uacutetil de los cifrados A partir del antildeo 2000 los estaacutendares de seguridad del
gobierno de EE UU exigen que el moacutedulo tenga un tamantildeo de 1024 bits es decir p y q deben
tener un tamantildeo de aproximadamente 155 diacutegitos decimales por lo que n es aproximadamente un
nuacutemero de 310 diacutegitos Dado que los nuacutemeros duros maacutes grandes que actualmente se pueden
factorizar son solo la mitad de este tamantildeo y dado que la dificultad de factorizar se duplica
aproximadamente por cada tres diacutegitos adicionales en el moacutedulo se cree que los moacutedulos de 310
diacutegitos estaacuten a salvo de factorizar durante varias deacutecadas
38
2215 Cifrado hiacutebrido Es una teacutecnica comuacuten que combina diferentes funciones
criptograacuteficas como el cifrado de bloque Con el cifrado hiacutebrido se pueden cifrar datos firmarlos
o agregar un MAC y enviarlos en un objeto seguro (como una cadena o archivo) a traveacutes de un
canal de comunicacioacuten inseguro (sin un acuerdo clave entre dos partes)
En el sistema de cifrado hiacutebrido el texto plano (sin formato) se divide en tokens Luego
se calcula la longitud de cada ficha Los tokens y sus longitudes se almacenan en una matriz
Posteriormente se aplica el algoritmo Ceacutesar anidado sugerido El texto producido se almacena en
una matriz n x m llamada A Luego la transposicioacuten de esta matriz At se calcula utilizando
nuestra versioacuten revisada del cifrado de transposicioacuten para resolver el problema de secuenciacioacuten
A continuacioacuten el algoritmo RSA revisado se aplica en la matriz producida En el paso final se
aplica el formato de datos textuales usando el coacutedigo ASCII para producir el texto cifrado El
proceso de descifrado se realiza de la misma manera pero en orden inverso (Nahar amp Abu Abbas
2010)
23 Criptoanaacutelisis
El criptoanaacutelisis es el proceso de estudiar sistemas criptograacuteficos para buscar debilidades
o fugas de informacioacuten En general se considera que el criptoanaacutelisis explora las debilidades de
las matemaacuteticas subyacentes de un sistema criptograacutefico pero tambieacuten incluye la buacutesqueda de
debilidades en la implementacioacuten como ataques de canal lateral o entradas de entropiacutea deacutebiles
39
Su funcioacuten es la de conseguir obtener el significado de mensajes creados por medio de
criptografiacutea El objetivo principal del criptoanaacutelisis es opuesto al de la criptografiacutea Tiene como
finalidad encontrar la debilidad de las diferentes teacutecnicas criptograacuteficas para explotarla y de esta
manera reducir o eliminar la seguridad de la teacutecnica criptograacutefica Cualquier intento de
criptoanaacutelisis puede ser llamado ataque Una vez que un atacante logra romper la seguridad que
una teacutecnica criptograacutefica aportaba al sistema se dice que dicho sistema ha sido roto y por lo tanto
dicho ataque tuvo eacutexito
El criptoanaacutelisis es la investigacioacuten de sistemas texto cifrado y cifrados para revelar el
significado oculto o los detalles del sistema mismo El objetivo de este tipo de estudio es descubrir
los aspectos ocultos incluso si la clave o el algoritmo principal no se pueden descifrar Se necesita
una combinacioacuten exitosa de persistencia matemaacuteticas intuicioacuten curiosidad y una computadora
que funcione para hacer un buen criptoanalista Este tipo de ruptura de coacutedigo es extremadamente
importante especialmente en el mundo tecnoloacutegicamente dependiente de hoy El criptoanaacutelisis es
constantemente realizado por criptoacutegrafos que intentan obtener informacioacuten valiosa y por aquellos
que intentan descifrar el coacutedigo para revelar secretos (Security Degree Hub 2017)
24 Niveles de seguridad
Los niveles de seguridad de sistemas operativos son otorgados de acuerdo con el sistema
operativo que esteacute utilizando la empresa o institucioacuten ya sea puacuteblica privada gubernamental o no
gubernamental En el manual ldquoTrusted Computer System Evaluation Criteriardquo (United States
40
Government Department of Defense 1983) el Departamento de Defensa de los Estados Unidos
define los siguientes niveles
241 Nivel D1 Este nivel es el maacutes bajo de seguridad por lo tanto la norma establece que
el sistema no es confiable Esta divisioacuten contiene solo una clase Estaacute reservado para aquellos
sistemas que han sido evaluados pero que no cumplen con los requisitos para un nivel de
evaluacioacuten superior
242 Nivel C1 Un sistema de nivel C1 cumple nominalmente los requisitos de seguridad
discrecionales al proporcionar separacioacuten de usuarios y datos Incorpora alguna forma de controles
creiacutebles capaces de imponer limitaciones de acceso de manera individual es decir aparentemente
adecuados para permitir que los usuarios puedan proteger la informacioacuten privada o del proyecto y
evitar que otros usuarios lean o destruyan accidentalmente sus datos Se espera que el entorno de
nivel C1 sea uno de los usuarios cooperantes que procesan datos con el mismo nivel de
sensibilidad Los siguientes son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten
de nivel C1 son
Control de acceso discrecional por ejemplo listas de control de acceso (ACL)
usuario grupo
Por lo general para usuarios que estaacuten en el mismo nivel de seguridad
Proteccioacuten de nombre de usuario y contrasentildea y base de datos de autorizaciones
seguras (ADB)
Sistema operativo protegido y modo de operaciones del sistema
Comprobacioacuten perioacutedica de integridad de TCB
41
Mecanismos de seguridad probados sin derivaciones obvias
Documentacioacuten para la seguridad del usuario
Documentacioacuten para la seguridad de la administracioacuten de sistemas
Documentacioacuten para pruebas de seguridad
Documentacioacuten de disentildeo TCB
Tiacutepicamente para usuarios en el mismo nivel de seguridad
La certificacioacuten C1 es rara Los sistemas de ejemplo son versiones anteriores de
Unix IBM RACF
243 Nivel C2 Los sistemas de esta clase imponen un control de acceso discrecional maacutes
fino que los sistemas (C1) lo que hace que los usuarios sean individualmente responsables de sus
acciones a traveacutes de procedimientos de inicio de sesioacuten auditoriacutea de eventos relevantes para la
seguridad y aislamiento de recursos Los siguientes son requisitos miacutenimos para los sistemas
asignados a una clasificacioacuten de nivel C2
La proteccioacuten de objetos puede ser para un solo usuario Por ejemplo a traveacutes de
una base de datos ACL
La autorizacioacuten de acceso solo puede ser asignada por usuarios autorizados
Proteccioacuten de reutilizacioacuten de objetos (Por ejemplo para evitar la reasignacioacuten de
objetos eliminados de manera segura)
Procedimientos obligatorios de identificacioacuten y autorizacioacuten para los usuarios (Por
ejemplo Usuario Contrasentildea)
Auditoriacutea completa de eventos de seguridad (es decir fecha hora evento usuario
eacutexito falla ID de terminal)
42
Modo de operacioacuten del sistema protegido
Proteccioacuten adicional para la autorizacioacuten y los datos de auditoriacutea
Documentacioacuten como C1 maacutes informacioacuten sobre el examen de la informacioacuten de
auditoriacutea
Esta es una de las certificaciones maacutes comunes Los sistemas operativos de ejemplo
son VMS IBM OS 400 Windows NT Novell NetWare 411 Oracle 7 DG AOS
VS II
244 Nivel B1 Los sistemas de este nivel requieren todas las caracteriacutesticas requeridas
para el nivel C2 Ademaacutes debe estar presente una declaracioacuten informal del modelo de poliacutetica de
seguridad etiquetado de datos y control de acceso obligatorio sobre sujetos y objetos nombrados
La capacidad debe existir para etiquetar con precisioacuten la informacioacuten exportada Cualquier falla
identificada por la prueba debe ser eliminada Los siguientes son requisitos miacutenimos para los
sistemas asignados a una clasificacioacuten de nivel B1
Etiquetado obligatorio de seguridad y acceso de todos los objetos (Por ejemplo
archivos procesos dispositivos)
Comprobacioacuten de integridad de etiquetas (Por ejemplo mantenimiento de etiquetas
de sensibilidad cuando se exportan datos)
Auditoriacutea de objetos etiquetados
Control de acceso obligatorio para todas las operaciones
Capacidad para especificar el nivel de seguridad impreso en salida legible para
humanos (Por ejemplo impresoras)
43
Capacidad para especificar el nivel de seguridad en cualquier salida legible por
maacutequina
Auditoriacutea mejorada
Proteccioacuten mejorada del sistema operativo
Documentacioacuten mejorada
Los sistemas operativos de ejemplo son HP-UX BLS Cray Research Trusted
Unicos 80 Digital SEVMS Harris CS SX SGI Trusted IRIX
245 Nivel B2 En los sistemas de nivel B2 el TCB se basa en un modelo de poliacutetica de
seguridad formal claramente definido y documentado que requiere que la aplicacioacuten de control de
acceso discrecional y obligatoria que se encuentra en los sistemas de nivel B1 se extienda a todos
los sujetos y objetos en el sistema Ademaacutes se abordan los canales encubiertos El TCB debe
estructurarse cuidadosamente en elementos criacuteticos para la proteccioacuten y no criacuteticos para la
proteccioacuten La interfaz TCB estaacute bien definida y el disentildeo y la implementacioacuten TCB le permiten
someterse a pruebas maacutes exhaustivas y una revisioacuten maacutes completa Se fortalecen los mecanismos
de autenticacioacuten se proporciona una gestioacuten confiable de las instalaciones en forma de soporte
para las funciones de administrador y operador del sistema y se imponen estrictos controles de
gestioacuten de la configuracioacuten El sistema es relativamente resistente a la penetracioacuten Los siguientes
son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten de nivel B2
Notificacioacuten de cambios en el nivel de seguridad que afectan a los usuarios
interactivos
Etiquetas de dispositivos jeraacuterquicos
44
Acceso obligatorio a todos los objetos y dispositivos
Comunicaciones de ruta confiables entre usuario y sistema
Rastreo de canales de almacenamiento encubiertos
Modo de operaciones del sistema maacutes estricto en unidades independientes de varios
niveles
Anaacutelisis de canales encubiertos
Pruebas de seguridad mejoradas
Modelos formales de TCB
Versioacuten actualizacioacuten y anaacutelisis y revisioacuten de parches
Los sistemas de ejemplo son Honeywell Multics Cryptek VSLAN Trusted
XENIX
246 Nivel B3 El TCB debe satisfacer los requisitos del monitor de referencia para mediar
todos los accesos de los sujetos a los objetos ser a prueba de manipulaciones y ser lo
suficientemente pequentildeo como para ser sometido a anaacutelisis y pruebas Con este fin el TCB estaacute
estructurado para excluir el coacutedigo que no es esencial para la aplicacioacuten de la poliacutetica de seguridad
con una importante ingenieriacutea del sistema durante el disentildeo y la implementacioacuten del TCB dirigido
a minimizar su complejidad Se admite un administrador de seguridad los mecanismos de
auditoriacutea se ampliacutean para sentildealar eventos relevantes para la seguridad y se requieren
procedimientos de recuperacioacuten del sistema El sistema es altamente resistente a la penetracioacuten
Los siguientes son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten de clase
(B3)
45
ACL adicionalmente basadas en grupos e identificadores
Acceso de ruta confiable y autenticacioacuten
Anaacutelisis automaacutetico de seguridad
Modelos TCB maacutes formales
Auditoriacutea de eventos de auditoriacutea de seguridad
Recuperacioacuten confiable despueacutes de la caiacuteda del sistema y documentacioacuten relevante
Cero defectos de disentildeo en TCB y defectos miacutenimos de implementacioacuten
El uacutenico sistema operativo con certificacioacuten B3 es Getronics Wang Federal XTS-
300
247 Nivel A1 Los sistemas en el nivel A1 son funcionalmente equivalentes a los del nivel
B3 en que no se agregan caracteriacutesticas arquitectoacutenicas adicionales ni requisitos de poliacuteticas La
caracteriacutestica distintiva de los sistemas en este nivel es el anaacutelisis derivado de la especificacioacuten
formal del disentildeo y las teacutecnicas de verificacioacuten y el alto grado resultante de seguridad de que el
TCB se implementa correctamente Esta garantiacutea es de naturaleza de desarrollo comenzando con
un modelo formal de la poliacutetica de seguridad y una especificacioacuten formal de alto nivel del disentildeo
Independientemente del lenguaje de especificacioacuten particular o del sistema de verificacioacuten
utilizado existen los siguientes criterios importantes para la verificacioacuten del disentildeo de nivel A1
Meacutetodos formales y prueba de integridad de TCB
Estos son los uacutenicos sistemas con certificacioacuten A1 Boeing MLS LAN Gemini
Trusted Network Processor Honeywell SCOMP (United States Government
Department of Defense 1983)
46
25 Sistemas Operativos
Un sistema operativo actuacutea como intermediario entre el usuario de una computadora y el
hardware de la computadora El propoacutesito de un sistema operativo es proporcionar un entorno en
el que un usuario pueda ejecutar programas de manera conveniente y eficiente
Un sistema operativo es un software que administra el hardware de la computadora El
hardware debe proporcionar mecanismos apropiados para garantizar el correcto funcionamiento
del sistema informaacutetico y para evitar que los programas del usuario interfieran con el correcto
funcionamiento del sistema (Carretero Peacuterez de Miguel Anasagasti Garciacutea Carballeira amp Peacuterez
Costoya 2001)
Un sistema operativo es un programa que controla la ejecucioacuten de programas de aplicacioacuten
y actuacutea como una interfaz entre el usuario de una computadora y el hardware de la computadora
Una definicioacuten maacutes comuacuten es que el sistema operativo es el uacutenico programa que se ejecuta
en todo momento en la computadora (generalmente llamado kernel) y todo lo demaacutes son
programas de aplicacioacuten
Un sistema operativo se ocupa de la asignacioacuten de recursos y servicios como memoria
procesadores dispositivos e informacioacuten El sistema operativo incluye los programas para
administrar estos recursos como un controlador de traacutefico un programador un moacutedulo de
administracioacuten de memoria programas de E S y un sistema de archivos (Pawar 2016)
47
251 Windows Sistema operativo de la empresa Microsoft es un conjunto de programas
que administra los recursos de una computadora Windows empieza a trabajar cuando se enciende
o inicializa el equipo para gestionar el hardware empezando desde los niveles maacutes baacutesicos
Es importante conocer que los sistemas operativos funcionan tanto en las computadoras
como en diferentes dispositivos electroacutenicos que usan microprocesadores En este caso Windows
su versioacuten estaacutendar funciona con computadoras Microsoft domina el mercado de los sistemas
operativos debido a su comodidad se puede decir que eacuteste sistema operativo se encuentra
instalado en el 887 de los equipos de coacutemputo que cuentan con acceso a Internet en todo el
mundo
Se pueden mencionar algunas aplicaciones principales (que eacutestas tambieacuten pueden ser
desinstaladas por los usuarios o actualizadas sin que el sistema operativo se dantildee o deje de
funcionar) se encuentran el procesador de texto WordPad el navegador Internet Explorer el
reproductor multimedia Windows Media y el editor de imaacutegenes Paint
La principal novedad que aportoacute Windows desde sus oriacutegenes fue la facilidad para usarlo
y el atractivo visual De hecho su nombre (ldquoventanasrdquo) se debe a la forma en que el sistema
presenta a los usuarios los recursos con los que cuenta su computadora lo que facilita las tareas
cotidianas Windows tambieacuten suele recibir varias criacuteticas por sus problemas de seguridad y por
otros fallos
48
252 Registro de Windows El registro es una base de datos jeraacuterquica que contiene datos
que son criacuteticos para el funcionamiento de Windows y las aplicaciones y servicios que se ejecutan
en Windows Los datos estaacuten estructurados en un formato de aacuterbol Cada nodo en el aacuterbol se llama
clave Cada clave puede contener subclaves y entradas de datos llamadas valores A veces la
presencia de una clave es el uacutenico dato que requiere una aplicacioacuten otras veces una aplicacioacuten
abre una clave y usa los valores asociados con la clave (Microsoft Inc 2019) Una clave puede
tener cualquier nuacutemero de valores y los valores pueden tener cualquier forma El registro es
utilizado por
Autenticacioacuten
Nuacutecleo (Kernel)
Controladores de dispositivos
Servicios
SAM
Las carpetas del sistema se almacenaraacuten en distintas rutas de acceso dependiendo de la
versioacuten de Windows con la que se esteacute trabajando a continuacioacuten cuatro de los cinco archivos
que maacutes interesan a esta investigacioacuten se encuentran en la siguiente ubicacioacuten SystemRoot
System32 Config dentro de las siguientes sub llaves
SAM - HKEY LOCAL MACHINE SAM
SECURITY - HKEY LOCAL MACHINE SECURITY
SOFTWARE - HKEY LOCAL MACHINE SOFTWARE
SYSTEM - HKEY LOCAL MACHINE SYSTEM
49
253 Administrador de cuentas de seguridad El administrador de cuentas de seguridad
(SAM por sus siglas en ingleacutes) es una base de datos en donde se encuentran las cuentas de
seguridad Esto es utilizado por Windows para administrar las cuentas de usuario y contrasentildeas en
el formato hash
Las contrasentildeas nunca se almacenan en formato de texto claro Se almacenan en formato
de hash para protegerlas de los ataques La base de datos SAM se implementa como un archivo de
registro y las obtiene del kernel de Windows y mantiene un bloqueo exclusivo al archivo SAM
esto quiere decir que el archivo tiene cierta medida de seguridad para el almacenamiento de las
contrasentildeas (Hernandez 2013)
No es posible copiar el archivo SAM a otra ubicacioacuten en el caso de los ataques en liacutenea
Dado que el archivo SAM estaacute bloqueado con un bloqueo exclusivo al sistema de archivos no
puede ser copiado o movido mientras se ejecuta Windows El bloqueo no iniciaraacute hasta que la
excepcioacuten de la pantalla azul haya sido inicializada o el sistema operativo haya sido apagado Sin
embargo los archivos en formato hash de contrasentildeas fuera de liacutenea estaacuten disponibles para los
ataques de fuerza bruta el contenido del archivo SAM puede ser copiado o descargado utilizando
diversas teacutecnicas
Un identificador de seguridad (SID) es un valor uacutenico de longitud variable utilizado para
identificar a un usuario Cada cuenta tiene un SID uacutenico emitido por una autoridad como un
controlador de dominio de Windows y almacenado en una base de datos de seguridad Cada vez
50
que un usuario inicia sesioacuten el sistema recupera el SID para ese usuario de la base de datos y lo
coloca en el token de acceso para ese usuario El sistema usa el SID en el token de acceso para
identificar al usuario en todas las interacciones posteriores con la seguridad de Windows Cuando
se ha usado un SID como identificador uacutenico para un usuario o grupo no se puede volver a usar
para identificar a otro usuario o grupo
La seguridad de Windows usa SID en los siguientes elementos de seguridad
En descriptores de seguridad para identificar al propietario de un objeto y grupo
primario
En las entradas de control de acceso para identificar al usuario para quien el acceso
estaacute permitido denegado o auditado
En tokens de acceso para identificar al usuario y los grupos a los que pertenece
2531 Identificador de Seguridad (SID Security Identifier)
S - 1 - 5 - 21 - 3983109318 - 554656936 - 3066752241 - 1000
S - indica que es un string de SID
1 - el nivel de revisioacuten
5 - el identificador de valor de autoridad o authority value no siempre seraacute 5 Entre otros
valores que se pueden encontrar estaacuten los siguientes
51
0 - sin autoridad
1 - autoridad global
2 - autoridad local
3 - autoridad de creador
4 - autoridad no uacutenica
5 - autoridad NT
9 - autoridad de administrador de recursos
21 - 3983109318 - 554656936 - 3066752241 - es el dominio en el que se encuentra el
sistema o el identificador local de la computadora
1000 - ID uacutenico para cada cuenta aquiacute se encuentra el RID (Relative Identifier) Nuacutemero
de longitud variable cualquier grupo o usuario que se cree de manera diferente a la predeterminada
recibiraacute un RID de 1000 o superior En el caso de que el valor sea 500 responde a que este SID
representa la cuenta de un administrador el valor de 500 siempre seraacute el mismo en cualquier cuenta
de administrador a su vez el valor 501 representa el SID de una cuenta Invitado (Guest)
(Hernandez 2013)
254 Autenticacioacuten NTML NTLM (NT LAN Manager) es un protocolo empleado por
muchos productos de Microsoft para realizar la autenticacioacuten desafiacuteorespuesta por lo tanto es el
esquema de autenticacioacuten que por defecto usa Firewall de Microsoft y tambieacuten los productos del
servidor proxy
52
Este software fue desarrollado para afrontar el problema del trabajo con Tecnologiacuteas Java
en un entorno orientado a Microsoft Puesto que no se basa en ninguna especificacioacuten oficial de
protocolo por lo tanto no hay garantiacutea de que funciona correctamente en todos los casos Tambieacuten
ha estado en algunas instalaciones de Windows donde funcionoacute con eacutexito
La Autenticacioacuten NTLM se compone de dos protocolos protocolo de autenticacioacuten NTLM
y protocolo de autenticacioacuten LM Estos protocolos utilizan una metodologiacutea de hash diferente para
almacenar contrasentildeas de los usuarios en la base de datos SAM (Hernandez 2013) (Meneacutendez-
Barzanallana 17)
26 LINUX (ROCKS)
Rocks es una distribucioacuten para cluacutester de Linux de coacutedigo abierto que permite a los usuarios
finales construir de manera maacutes amigable cluacutesteres computacionales y muros de visualizacioacuten en
mosaico Cientos de investigadores de todo el mundo han utilizado Rocks para implementar su
propio cluacutester
Desde mayo de 2000 el grupo Rocks ha abordado las dificultades de implementar cluacutesteres
manejables Encaminados hacia un objetivo crear cluacutesters de manera maacutes sencilla Por sencilla
significa faacutecil de implementar administrar actualizar y escalar Este objetivo impulsa a los
creadores de esta herramienta a ayudar a entregar el poder computacional de los cluacutesteres a una
amplia gama de usuarios cientiacuteficos Estaacute claro que poner a disposicioacuten de una amplia gama de
53
cientiacuteficos plataformas de computacioacuten paralelas estables y manejables ayudaraacute enormemente a
mejorar el estado del arte en herramientas paralelas (Rocksclusters 2010)
261 Escritorio De todos los escritorios disponibles para el sistema operativo Linux
GNOME ha logrado convertirse en el maacutes eficiente estable y confiable sin dejar de ser sencillo
de usar De hecho la mayoriacutea de los usuarios independientemente de su experiencia pueden
trabajar con GNOME casi sin esfuerzo
Los usuarios que son nuevos tanto en Linux como en GNOME hariacutean mejor en conocer
los entresijos del escritorio que hacen que Linux no solo sea faacutecil sino tambieacuten divertido
Un entorno de escritorio agrupa programas que trabajan juntos para formar un espacio de
trabajo informaacutetico cohesivo unificado transparente e interactivo para los usuarios O para
decirlo de manera maacutes simple el entorno de escritorio es la interfaz de usuario para el sistema
operativo En el caso de GNOME ese sistema operativo es Linux Sin un entorno de escritorio su
uacutenica alternativa es una sesioacuten de Shell (liacutenea de comandos) basada en texto (Wallen 2019)
262 Paquete de Oficina Una suite ofimaacutetica es una coleccioacuten de software creada por el
mismo proveedor y disentildeada para ser utilizada para tareas rutinarias dentro de una organizacioacuten
Por lo general una suite ofimaacutetica incluye aplicaciones como procesamiento de texto hojas de
caacutelculo presentacioacuten correo electroacutenico toma de notas base de datos colaboracioacuten y otros tipos
de software relacionados En la mayoriacutea de los casos cada aplicacioacuten en la suite ofimaacutetica se puede
instalar por separado y todas las aplicaciones dentro de la suite admiten la interoperabilidad entre
54
siacute Microsoft Office Suite Lotus Live Notes y LibreOffice son todas suites de oficina de uso
comuacuten
263 Organizador de archivos Es una funcioacuten avanzada disentildeada para agrupar y
renombrar archivos usando sus atributos del sistema o meta atributos
Cada archivo tiene atributos del sistema como la fecha (Acceso Creado y Modificado) el
tipo de archivo (definido por extensioacuten) y asociado con la aplicacioacuten registrada de ese tipo de
archivo Estos atributos se pueden usar para generar un nuevo nombre de archivo o carpeta (grupo)
para cada archivo con el mismo atributo Ademaacutes de los atributos del sistema algunos archivos
en su mayoriacutea medios o imaacutegenes pueden contener metacampos como el nombre del artista el
tiacutetulo el nombre del aacutelbum y otros El Organizador de archivos tambieacuten usa estos metacampos
para agrupar archivos en una carpeta con el mismo atributo Por lo tanto el organizador de archivos
opera reglas de organizacioacuten de archivos que definen la jerarquiacutea de agrupacioacuten de carpetas y las
reglas de cambio de nombre de archivos
Asiacute como el conocido ldquoexplorador de Windowsrdquo Linux integra un organizador de archivos
y carpetas llamado NAUTILUS para realizar tareas de manejo de archivos como mover copiar
renombrar crear carpetas y de esta manera administrar nuestros dispositivos de almacenamiento
55
27 Agrupamiento (Cluacutester) de Computadoras
El agrupamiento (cluacutester) de computadoras estaacute conformado por una coleccioacuten de
computadoras autoacutenomas interconectadas trabajando unidas como un solo recurso de computacioacuten
integrado El concepto de agrupamiento de computadoras nacioacute cuando los pioneros de la
supercomputacioacuten intentaban difundir diferentes procesos entre varias computadoras para luego
poder recoger los resultados que dichos procesos debiacutean producir Con un hardware maacutes barato y
faacutecil de conseguir se pudo perfilar que podriacutean conseguirse resultados muy parecidos a los
obtenidos con aquellas maacutequinas mucho maacutes costosas (Chirinov 2003)
Un agrupamiento de computadoras se puede definir como el trabajo realizado por dos o
maacutes computadoras que en conjunto se encargan de proveer una determinada solucioacuten Tiene como
finalidad agrupar el poder de coacutemputo de los nodos implicados para proporcionar una mayor
escalabilidad disponibilidad y fiabilidad (Branch Bedoya amp Mesa Muacutenera 2008)
La escalabilidad es la capacidad de un equipo para hacer frente a voluacutemenes de trabajo
cada vez mayores sin por ello dejar de prestar un nivel de rendimiento aceptable
La disponibilidad y la fiabilidad se encuentran bastante relacionadas aunque difieren
ligeramente en algunos aspectos La disponibilidad es la calidad de estar presente y listo para su
uso mientras que la fiabilidad es la probabilidad de un correcto funcionamiento
56
Entre los tipos de agrupamiento maacutes comunes se pueden encontrar de alta disponibilidad
(ambiente a prueba de fallas) coacutemputo de alto desempentildeo (los procesos o las tareas dadas se
presentan como un solo sistema virtual) y escalamiento horizontal (se utiliza para proporcionar
una sola interfaz a un conjunto de recursos que pueden aumentar o disminuir arbitrariamente su
tamantildeo en un cierto periodo de tiempo) (Gonzaacutelez Ramiacuterez amp Rodriacuteguez Saacutenchez 2008)
271 Beowulf Es una clase de computadora masivamente paralela de altas prestaciones
principalmente construida a base de agrupamiento de componentes hardware estaacutendar (Llorens amp
Pentildea 2002) Consta de un conjunto de nodos minimalistas unidos por un medio de
comunicaciones econoacutemico Esto quiere decir que tienen lo miacutenimo para ejecutar su funcioacuten de
hecho los nodos por siacute solos no son capaces de ejecutar siquiera un sistema operativo (Nievas
Pino amp Arroyo) Se puede ver como una supercomputadora paralela construida con hardware
comercial de faacutecil adquisicioacuten que posee como sistema operativo Linux Los cluacutesters Beowulf son
extremadamente poderosos pero no son para todas las personas Su principal desventaja es que
requieren software disentildeado para poder aprovechar los recursos del cluacutester (Lizaacuterraga 2002)
272 Mosix Seguacuten Peacuterez (2001) la arquitectura Mosix estaacute basada en la misma ideologiacutea
de la arquitectura Beowulf Se basa en un conjunto de parches aplicados al nuacutecleo (kernel) de Linux
y que asignan a todo el grupo de nodos un espacio de direcciones y de procesos comuacuten gracias al
cual los procesos migran de uno a otro con el fin de equilibrar favorablemente la carga del sistema
global Es una herramienta disentildeada para realizar balanceo de carga en el agrupamiento de forma
totalmente transparente de manera tal que los nodos se comportan como una sola maacutequina y asiacute
incrementar el aprovechamiento de cada uno de los nodos (Chaacutevez y otros 1999) La principal
57
ventaja de Mosix frente a Beowulf se basa precisamente en esto Mosix da mejores respuestas que
Beowulf frente a la caiacuteda o insercioacuten de nodos A parte de esto Mosix permite un cambio constante
de aplicacioacuten o incluso el correr aplicaciones independientes de forma simultaacutenea
273 OpenMosix OpenMosix es una extensioacuten del proyecto Mosix Seguacuten Chirinov
(2003) la idea de este modelo es que la distribucioacuten de tareas en el cluacutester la determina OpenMosix
de forma dinaacutemica conforme se van creando tareas Cuando un nodo estaacute demasiado cargado las
tareas que se estaacuten ejecutando pueden migrar a cualquier otro nodo del cluacutester Asiacute desde que se
ejecuta una tarea hasta que eacutesta muere podraacute migrar de un nodo a otro sin que el proceso sufra
mayores cambios
Ademaacutes OpenMosix funciona a nivel de kernel por tanto puede conseguir toda la
informacioacuten que necesite para decidir que tanto estaacute cargado un sistema y queacute pasos se deben
seguir para aumentar el rendimiento ademaacutes puede realizar maacutes funciones que cualquier
aplicacioacuten a nivel de usuario
Despueacutes de elegir el tipo de cluacutester a utilizar se procede a elegir los elementos baacutesicos que
se emplearaacuten para implementar el cluacutester capacidad de procesamiento memoria espacio del disco
de cada nodo asiacute como tambieacuten el ancho de banda de la comunicacioacuten entre los nodos Se deberaacute
decidir cuaacuteles son importantes basaacutendose en la variedad de aplicaciones que se piensen ejecutar
en el cluacutester y de la cantidad de dinero que se disponga para construirlo
58
Bajo estos mismos paraacutemetros se debe escoger tambieacuten el tipo de red que interconectaraacute
los nodos (Turner 2004)
Luego se debe escoger el sistema operativo a utilizar Esta eleccioacuten dependeraacute mucho de
la maacutequina que se escoja Linux es siempre una opcioacuten en cualquier maacutequina y es la eleccioacuten maacutes
comuacuten Muchas de las herramientas necesarias para la implementacioacuten de un cluacutester han sido
desarrolladas bajo Linux Pero existen cluacutesters corriendo bajo Windows NT UNIX Solaris y AIX
59
Capiacutetulo 3 Implementacioacuten de Cluacutester
31 Requisitos previos
Antes de iniciar la instalacioacuten del FrontEnd es necesario asegurarse que las conexiones de
red de los equipos junto con la configuracioacuten de la BIOS de cada uno sean las correctas
311 Conexioacuten de los equipos y acceso a la red
Un cluacutester de alto desempentildeo funciona como un uacutenico equipo el cuaacutel comparte los recursos
de los nodos esclavos con el nodo maestro para ello es esencial la existencia de una red interna de
alta velocidad por medio de la cual se realice la comunicacioacuten entre el nodo maestro y los nodos
esclavos como se muestra en la Figura 31 El nodo maestro necesitaraacute 2 tarjetas de red de alta
Figura 31 Esquema tiacutepico de configuracioacuten de un cluacutester (Fuente Elaboracioacuten propia)
60
velocidad una para la comunicacioacuten interna y otra para la comunicacioacuten con redes externas El
sistema operativo Rocks asigna automaacuteticamente la interface ldquoeth0rdquo a la red interna del cluacutester y
la interface ldquoeth1rdquo a la red externa En caso de que Rocks sea incapaz de determinar cuaacutel es la red
externa debido a la falta de conexioacuten a internet estas podriacutean ser asignadas de manera incorrecta
por tal motivo se sugiere asegurar el nombre de cada una de las interfaces
Dado que Rocks no permite volverlas a asignar una vez finalizada la instalacioacuten es
necesario volver a reinstalarlo para poder solucionar este inconveniente
312 Configuracioacuten de la BIOS Para evitar problemas durante la instalacioacuten conviene
configurar correctamente la Bios
3121 ATAIDE Mode Algunos sistemas operativos puede que no sean capaces de
reconocer el controlador del disco duro como es en el caso de esta distribucioacuten de Rocks usada
Para evitar complicaciones de tener que antildeadir el controlador a mano lo mejor es habilitar el modo
ldquoLegacyrdquo de controlador de disco duro
61
Para ello se accede a la Bios pulsando F2 al encender el equipo se situacutea en la pestantildea
ldquoAdvancedrdquo y se selecciona ldquoDrive Configurationrdquo como se muestra en la Figura 32
Figura 32 Imagen del Bios del equipo en la opcioacuten ldquodrive configurationrdquo (Fuente Elaboracioacuten propia)
Figura 33 Bios ATAIDE Legacy Mode (Fuente Elaboracioacuten propia)
62
Dentro del menuacute se tiene que seleccionar el Modo ldquoLegacyrdquo en la opcioacuten ldquoATAIDE
Moderdquo como se muestra en la Figura 33 y para salir se guardan los cambios con F10
3122 PXE Al momento de instalar un nodo puede ocurrir falla al arrancar y aparecer
bootsplash (Reboot and Select proper device) Para evitarlo es necesario habilitar la opcioacuten de
PXE para que tome los archivos de instalacioacuten del nodo maestro a traveacutes de la red interna
En la Bios se selecciona la pestantildea ldquoBootrdquo y dentro de ese mismo menuacute se deshabilita
ldquoSilent bootrdquo y se habilita la opcioacuten de ldquoPXE boot to lanrdquo como se muestra en la Figura 34
Finalmente hay que verificar que en la secuencia de arranque (Figura 35) como primer
dispositivo sea desde red para que de esta manera inicie desde el PXE
Figura 34 Bios Boot PXE (Fuente Elaboracioacuten propia)
63
Se guardan los cambios antes de salir
32 Instalacioacuten de Sistema Operativo Rocks
Una vez configurados los equipos se enciende el equipo que seraacute el nodo maestro
(FrontEnd) en el cuaacutel previamente se ha modificado la secuencia de inicio del boot desde la Bios
de modo que al insertar el CD de Rocks eacuteste procederaacute a iniciar la instalacioacuten con la siguiente
pantalla que se muestra a continuacioacuten
Figura 35 Bios Boot device prioriry (Fuente Elaboracioacuten propia)
64
Para iniciar la instalacioacuten uacutenicamente se selecciona la opcioacuten ldquoInstall CentOS 7rdquo como se
muestra en la Figura 36 dando asiacute comienzo al proceso de instalacioacuten Tras finalizar un proceso
de carga en memoria Rocks mostraraacute un formulario en entorno graacutefico mediante el cual
procederemos a configurar el FrontEnd
Esta primera pantalla se muestra coacutemo se desea realizar la instalacioacuten puede realizarse
por medio de la descarga del sistema operativo (se requiere internet) En este caso como se muestra
en la Figura 37 dado que previamente se descargoacute el DVD completo se seleccionoacute ldquoCDDVD
based rollsrdquo
Figura 36 Pantalla de Inicio de instalacioacuten de Rocks (Fuente Elaboracioacuten propia)
65
A continuacioacuten Figura 38 se selecciona de la lista de Rolls aquellos que se desean instalar
Figura 37 Pantalla de seleccioacuten de Rolls (Fuente Elaboracioacuten propia)
Figura 38 Listado de opciones de rolls para instalar (Fuente Elaboracioacuten propia)
66
Tras presionar el botoacuten ldquoSubmitrdquo la siguiente pantalla (Figura 39) muestra formulario en
el que hay que indicar la informacioacuten baacutesica del cluacutester entre las cuales aparecen
Fully-Qualified Host Name Nombre con el que se conoceraacute en la red externa el cluacutester
Cluster Name Nombre utilizado para ser identificado dentro de las herramientas del cluacutester
Certificate Organization Locality State and Country Organizacioacuten a la que pertenece el
cluacutester la localidad el estado y la ciudad
Contact URL and LattitudeLongitude Contacto direccioacuten web y posicioacuten GPS
Figura 39 Informacioacuten baacutesica del cluacutester a instalar (Fuente Elaboracioacuten propia)
67
Una vez que se ingresa la informacioacuten al cluacutester se presiona el botoacuten ldquoListordquo y
posteriormente se podraacute cambiar la configuracioacuten baacutesica de la red interna del cluacutester En este caso
Figura 310 se dejoacute el valor por defecto una IP de clase B (1011116)
El siguiente paso es la configuracioacuten de la red externa (para tener acceso a internet) En
este punto se introducen los datos de la red externa a la que se encuentra conectado el nodo
maestro como se muestra en la Figura 311
Figura 310 Configuracioacuten Ethernet de la red privada (Fuente Elaboracioacuten propia)
Figura 311 Configuracioacuten Ethernet de la red puacuteblica (Fuente Elaboracioacuten propia)
68
Para terminar de configurar la red externa como se muestra en la Figura 312 se ingresa la
direccioacuten IP del Gateway y los DNS (Servidor de nombre de dominio) que va a usar para el acceso
a internet
Se continuacutea con el resto del formulario donde se introduce la contrasentildea para el usuario
root tal y como se muestran en la Figura 313
Figura 312 Configuracioacuten de DNS y Gateway (Fuente Elaboracioacuten propia)
Figura 313 Ingresar contrasentildea de usuario root (Fuente Elaboracioacuten propia)
69
Paso siguiente se procede a seleccionar la zona horaria como se muestra en la Figura 314
donde se encuentra ubicado el cluacutester asiacute como un servidor de donde podraacute obtener la zona horaria
automaacuteticamente en este caso se dejoacute el valor por default
En el formulario de la Figura 315 se selecciona la forma de particionar el disco duro
(automaacutetica manual) una vez seleccionado daraacute comienzo al proceso de instalacioacuten de manera
Figura 314 Configuracioacuten horaria (Fuente Elaboracioacuten propia)
Figura 315 Particiones del disco duro (Fuente Elaboracioacuten propia)
70
desatendida Cuando ha concluido la instalacioacuten el equipo se reiniciaraacute y se requeriraacute iniciar con
el usuario root y la contrasentildea establecida previamente
321 Configuracioacuten del teclado Debido a que el teclado por defecto estaacute en idioma
ingleacutes podriacutea provocar problemas al momento de escribir la contrasentildea u otros comandos
Seguacuten las pruebas realizadas aunque se cambie la configuracioacuten del teclado desde el menuacute
de preferencias uacutenicamente se mantiene dentro de la sesioacuten desde la que se ha cambiado dicha
opcioacuten (lo cual implica que la contrasentildea de usuario hay que introducirla seguacuten la distribucioacuten
inglesa)
33 Instalacioacuten de los nodos
Previo a la instalacioacuten de los nodos esclavos cada uno de los equipos fueron configurados
desde la Bios para que arranquen desde la red (seccioacuten 3122) Para ir antildeadiendo los nodos solo
se tiene que introducir el siguiente comando desde nuestro FrontEnd
$insert-ethers
A continuacioacuten como se muestra en la Figura 316 apareceraacute una ventana en la pantalla
en la cual se seleccionaraacute la opcioacuten ldquoComputerdquo
71
Una vez realizado este paso se procede a encender los equipos que funcionaraacuten como
nodos esclavos uno a uno
Se sugiere esperar a que cada nuevo equipo encendido esteacute marcado con un asterisco antes
de proceder a encender el siguiente como se muestra en la Figura 317 De esta manera se asegura
que cada nuevo nodo antildeadido posea el nombre y numeracioacuten deseada
Figura 316 Pantalla para ingresar nodos (Fuente Elaboracioacuten propia)
Figura 317 Indicador de insercioacuten de nuevos nodos (Fuente Elaboracioacuten propia)
72
Puede darse el caso de que un nodo no sea detectado automaacuteticamente eso indica que se
ha omitido alguacuten paso o parte de la configuracioacuten realizada hasta el momento es incorrecta En ese
caso comprobar lo siguiente
Que el nodo esclavo este correctamente conectado a la red interna
Que el FrontEnd (nodo maestro) tenga correctamente configurada la red interna y externa
Que el PXE esteacute habilitado en la Bios del nodo esclavo
331 Administracioacuten de nodos Algunos de los comandos maacutes uacutetiles para para la gestioacuten
de los nodos son los siguientes
Eliminar un nodo de la lista
Reinstalar un nodo
Listar los nodos ya instalados
Acceder a un nodo
$rocks remove host nombre_nodo
$rocks remove host nombre_nodo
$rocks set host boot nombre_nodo action=install
$rocks set host boot nombre_nodo action=install
$rocks list host
$rocks list host
$ssh nombre_nodo
$ssh nombre_nodo
73
Ejecutar un comando de manera remota a un nodo
332 Creacioacuten de cuentas de usuario Para agregar a un usuario hay que realizar los
siguientes pasos
1 Creacioacuten de la cuenta
$useradd nombre_usuario
2 Asignacioacuten de una contrasentildea
$passwd nombre_usuario
3 Sincronizacioacuten de la cuenta de usuario con el resto de nodos
$rocks-user-sync
333 Configuracioacuten del directorio compartido El directorio share es compartido por el
FrontEnd y el resto de nodos se localiza dentro del FrontEnd en la carpeta exports siendo la
carpeta share un enlace simboacutelico a esta uacuteltima
Al principio es posible que no se sincronicen correctamente los archivos introducidos en el
directorio debido a que la carpeta inicialmente estaacute vaciacutea por lo que para solucionar este
inconveniente puede usarse el comando siguiente para reiniciar dicho servicio
$ssh nombre_nodo lsquocomandorsquo
$ssh nombre_nodo lsquocomandorsquo
$cd
$export fs ndashrv
service nfs restart
$cd
$export fs ndashrv
service nfs restart
74
34 Operaciones baacutesicas de Rocks
Comandos y aplicaciones esenciales para el manejo del cluacutester
Ver que rolls estaacuten instalados
$rocks list roll
Visualizar el estado del sistema Figura 318
$qstat ndashf
Probar el sistema de colas para distribuir tareas a los nodos
Para ello se prueba que el SGE del cluacutester funcione enviaacutendole una serie de trabajos
mediante el comando qsub
En primer lugar se crea un fichero (pruebapl) que tenga permisos de ejecucioacuten con el
siguiente contenido
Figura 318 Comando qstat ndashf (Fuente Elaboracioacuten propia)
75
usrbinperl
for(my $i=0$ilt30$i++) sleep(2) print okn
Y se ejecuta con el siguiente comando
$ for ((i=1ilt=10i+=1)) do qsub pruebapl done
Al ejecutarse se puede comprobar que los trabajos se han mandado Figura 319
Y al realizar de nuevo un ldquoqstat ndashfrdquo Figura 320 se observa coacutemo se van realizando
Figura 319 Enviacuteo de trabajos por medio del comando qsub (Fuente Elaboracioacuten propia)
Figura 320 Estado de los trabajos pendientes mostrados por qstat ndashf (Fuente Elaboracioacuten propia)
76
Para ver la carga de trabajo en el cluacutester de manera global y de forma graacutefica se tiene que
ingresar en un navegador web en la siguiente direccioacuten httplocalhostganglia apareceraacute la
Figura 321
Figura 321 Visualizacioacuten de la distribucioacuten de cargas en el cluacutester usando la herramienta Ganglia (Fuente Elaboracioacuten propia)
77
Capiacutetulo 4 Metodologiacutea y Resultados
Una vez finalizada la instalacioacuten y puesta en operacioacuten del equipo se analizaron diferentes
metodologiacuteas de trabajo lo que implicoacute un trabajo arduo debido a que existen complicaciones
cuando se buscan temas relacionados a vulnerar sistemas operativos La realizacioacuten de este
proyecto estaacute basado en la metodologiacutea de Joshua Picolet ldquoCracking Methodologyrdquo (Picolet
2017)
41 Obtener Archivo hash
Se pueden vulnerar contrasentildeas de Windows de diferentes maneras Una de ellas es
mediante el acceso al archivo del Administrador de cuentas de seguridad (SAM) el cual se detalla
en el apartado 253 a traveacutes de la obtencioacuten de las contrasentildeas del sistema en su forma hash por
medio de herramientas diferentes Alternativamente las contrasentildeas se pueden leer desde la
memoria lo que tiene el beneficio adicional de recuperar las contrasentildeas en texto plano y evitar el
requisito de descifrado Para comprender los formatos que se observan cuando se descarguen
hashes del sistema de Windows se requiere una breve descripcioacuten de los diferentes formatos de
almacenamiento
Originalmente las contrasentildeas de Windows de menos de 15 caracteres se almacenaban en
el formato hash de Lan Manager (LM) Algunos sistemas operativos como Windows 2000 XP y
Server 2003 continuacutean usando estos hashes a menos que esteacuten deshabilitados por el usuario
Ocasionalmente un sistema operativo como Windows Vista puede almacenar el hash LM para la
compatibilidad con otros sistemas Seguacuten analistas incluye varias vulnerabilidades como dividir
78
la contrasentildea en dos bloques y permitir que cada uno se descifre de forma independiente Mediante
el uso de tablas Rainbow es trivial descifrar una contrasentildea almacenada en un hash LM
independientemente de la complejidad Este hash se almacena con la misma contrasentildea calculada
en el formato de hash NT como el que se muestra en el siguiente ejemplo
Ejemplo de un hash NTLM con el componente LM y NT
Administrator500611D6F6E763B902934544489FCC9192BB71ED1E7F2B60ED5A2
EDD28379D45C91
Los sistemas operativos Windows maacutes recientes como el Windows 8 y 10 usan el hash NT
En teacuterminos simples no hay una debilidad significativa en este hash que lo diferencie de cualquier
otra funcioacuten hash criptograacutefica Se requieren meacutetodos de descifrado como lo es la fuerza bruta o
ataque de diccionario para recuperar la contrasentildea si uacutenicamente se almacena en el formato NT
Ejemplo de un hash NTLM uacutenicamente con el componente NT (como se ve en los sistemas
Windows mas recientes
Administrator500NOPASSWORDEC054D40119570A4663
4350291AF0F72
Es importante sentildealar que la cadena NO PASSWORD es variable seguacuten la herramienta
que se utilice Otras pueden presentar esta informacioacuten como ceros rellenos o comuacutenmente puede
79
ver la cadena ldquoAAD3B435B51404EEAAD3B435B51404EErdquo en lugar de ninguna contrasentildea
Esto significa que el hash LM estaacute vaciacuteo y no estaacute almacenado
El archivo hash se encuentran en el directorio ldquoWindows System32 configrdquo y se
necesitan ambos archivos SAM y SYSTEM Ademaacutes tambieacuten se encuentran en el archivo de
registro HKEY_LOCAL_MACHINE SAM al que no se puede acceder durante el tiempo de
ejecucioacuten Finalmente las copias de seguridad se pueden encontrar a menudo en ldquoWindows
Repairrdquo (Peleus 2019)
Para extraer el archivo hash de un sistema operativo con un nivel de seguridad C1 existen
diferentes meacutetodos en esta ocasioacuten se procederaacute a iniciar el equipo objetivo con una distribucioacuten
de Linux desde una memoria USB como se muestra en la figura 41 para de esta manera ingresar
al directorio CWINDOWSSystem32Config directorio de ubicacioacuten de los archivos SAM y
SYSTEM que son los necesarios para obtener el archivo hash (Caballero 2018)
Figura 41 Arranque con LiveUSB KaliLinux (Fuente Elaboracioacuten propia)
80
42 Dar Formato al Hash
En este punto es donde se tiene que identificar el algoritmo con el que fueron encriptados
los archivos SAM y SYSTEM que se han obtenido en el punto anterior con la finalidad de
seleccionar el tratamiento que se les daraacute El algoritmo de encriptacioacuten del archivo SAM de
Windows 10 es NTLM y ademaacutes estaacute almacenado en un formato binario (ByteBleeder 2017) por
lo que fue necesario instalar la herramienta con licencia GNU samdump2 para obtener la syskey y
de esta manera poder extraer los hash desde el archivo SAM de Windows
En la figura 42 se han obtenido los hashes del archivo SAM donde se puede observar que
los usuarios Administrador e Invitado estaacuten deshabilitados ademaacutes de que existen tres cuentas de
usuario activas las cuales son Gad prueba y usuarioprueba cada una con su contrasentildea cifrada
en formato NTLM a la derecha del nombre de usuario la cuenta usuarioprueba fue a la que se le
realizoacute el anaacutelisis que se detalla posteriormente
43 Evaluar la fuerza del Hash
En criptografiacutea se dice que un algoritmo criptograacutefico se rompe si por alguacuten meacutetodo se
consigue reducir su fortaleza es decir reducir por ejemplo su entropiacutea de los 2256 bits teoacutericos a
Figura 42 Resultado de la ejecucioacuten de la herramienta samdump2 (Fuente Elaboracioacuten propia)
81
tan soacutelo 2255 por ejemplo El hecho de que se encuentre una colisioacuten no implica necesariamente
que un algoritmo se haya roto pues podriacutea haber sido realizado mediante fuerza bruta pero puede
ser una causa
Un ataque de colisioacuten significa que encuentro dos entradas diferentes que producen el
mismo resultado de un hash particular Este es generalmente el tipo de ataque maacutes faacutecil Es el tipo
de ataque que se conoce desde hace varios antildeos contra MD5
Dado que una utilidad importante de las funciones hash estaacute en las firmas digitales
encontrar colisiones puede facilitar falsificar firmas digitales Es decir dos mensajes distintos que
tengan un mismo resumen tienen ademaacutes la misma firma y un atacante puede reemplazar un
mensaje por el otro Un ejemplo de este ataque fue demostrado en 2008 por un grupo de
investigadores en Aacutemsterdam los cuales falsificaron un certificado raiacutez mediante el uso de un
ataque de colisioacuten contra el algoritmo MD5 (Preukschat 2015)
Un ataque previo a la imagen generalmente es mucho maacutes difiacutecil es encontrar otra entrada
que produzca el mismo resultado que un hash que ya se conoce
Para tratar de aclarar la diferencia aquiacute en un ataque de colisioacuten encuentro dos entradas A
y B que producen el mismo resultado En un ataque de preimagen comienzo a partir de alguacuten
resultado conocido X y encuentro una entrada que produciraacute X como resultado (Coffin 2015)
82
Para realizar esta evaluacioacuten se tomoacute como base la tabla del apeacutendice Hash craking
benchmark (Picolet 2017) el objetivo es observar el comportamiento y velocidad del Hash
mencionado cuando fue sometido a pruebas de criptoanaacutelisis Si se trata de un Hash lento se deberaacute
ser maacutes selectivo en queacute tipos de diccionarios y meacutetodos de criptoanaacutelisis se le debe aplicar Si es
un Hash raacutepido se puede ser maacutes libre con la estrategia de criptoanaacutelisis Este estudio busca
realizar una prueba de criptoanaacutelisis mostrando las diferencias entre el poder de procesamiento de
un cluacutester de 17 nodos contra una computadora personal por lo que no necesariamente se
implementaraacute el meacutetodo oacuteptimo para la realizacioacuten del criptoanaacutelisis
44 Calcular la capacidad del equipo
Con la informacioacuten de la evaluacioacuten de la fuerza del Hash obtenida en el apartado anterior en
este apartado se tiene que establecer la capacidad de la plataforma o plataformas que realizaraacuten
el criptoanaacutelisis
Para conocer la capacidad de procesamiento del cluacutester de alto rendimiento se utilizoacute la
herramienta Linpack Benchmark HPL es una implementacioacuten portaacutetil del Benchmark de alto
rendimiento LINPACK para equipos de coacutemputo distribuido Actualmente se utiliza para obtener
varios resultados en la lista actual de Top500 de HP cluacutesters (Dongarra 2010)
El Linpack Benchmark (HPL del Ingleacutes High-Performance Linpack Bench-mark) es un
software que resuelve un sistema lineal aleatorio de doble precisioacuten aritmeacutetica (64 bits) en equipos
de memoria distribuida El rendimiento muestra el nuacutemero de operaciones de punto flotante por
segundo logradas por el sistema (Petitet Whaley Dongarra amp Cleary 2008)
83
El HPL fue desarrollado en el Argone National Laboratory por Jack Don-garra en 1976 y
es uno de los maacutes usados en sistemas cientiacuteficos y de ingenieriacutea para el caacutelculo de prestaciones
Las principales caracteriacutesticas del algoritmo utilizado por el HPL son
Distribucioacuten ciacuteclica de datos de bloques de dos dimensiones
Variante derecha de la factorizacioacuten LU con pivoteo parcial (Teacutecnica de pivoteo
Dicta que el elemento pivote que debe escogerse es el mayor absolutamente de cada
columna)
Factorizacioacuten recursiva con pivoteo y reenviacuteo de columna
Distintas topologiacuteas virtuales de reenviacuteos
Algoritmo de reduccioacuten de reenviacuteo para ancho de banda (Castelloacute Gimeno 2014)
La resolucioacuten del sistema de ecuaciones se realiza del siguiente modo
1 Se crea un sistema de ecuaciones
(1)
119860119909 = 119887
(2)
119860 isin 119877119899119909119899
(3)
119909 119887 isin 119877119899
84
HPL calcula que la solucioacuten para un sistema de ecuaciones lineales se puede generalizar
como 119860119909 = 119887 donde 119860 es una matriz 119873 119909 119873 cuyos valores se generan aleatoriamente
119909 119910 119887 son vectores de tamantildeo 119873 Como se muestra en la Figura 43
2 Primero se calcula la factorizacioacuten 119871119880 con pivoteo parcial de los coeficientes 119899 y 119899 + 1
de la matriz [119860 119887]
(4)
119875119903[119860 119887] = [[119871119880] 119910]
(5)
119875119903 119871 119880 isin 119877119899119909119899
(6)
119910 isin 119877119899
El primer paso es la factorizacioacuten de la matriz 119860 en una matriz triangular superior 119880
y una matriz triangular inferior 119871 tal que 119860 = 119871119880 La factorizacioacuten se usa para calcular
el vector solucioacuten 119909
3 Una vez el pivoteo (representado por la permutacioacuten de la matriz 119875119903) y la factorizacioacuten
inferior se aplican sobre 119887 la solucioacuten se obtiene en un paso resolviendo el sistema
superior triangular
Figura 43 Sistema de Ecuaciones tipo 119860119909 = 119887 (Fuente Elaboracioacuten propia)
85
(7)
119880119909 = 119910
La matriz triangular inferior izquierda y el conjunto de pivotes no se devuelven en el
resultado Para la estabilidad numeacuterica el algoritmo de factorizacioacuten utiliza un pivote parcial de
fila
La implementacioacuten paralela de Linpack divide la matriz 119860 119873 119909 119873 en una cuadriacutecula de
procesos 119875 119909 119876 bidimensional y luego la divide en subgrupos de mosaicos 119873119861 119909 119873119861 (Petitet
Whaley Dongarra amp Cleary 2008)
Utilizando la herramienta HPL en esta investigacioacuten se obtuvieron los siguientes
resultados
La prueba abordoacute el ajuste de 119873 y la eficiencia obtenida en comparacioacuten con el rendimiento
maacuteximo Se determinoacute un valor para 119873 = 800000 aleatoriamente para ejecutar HPL en todo el
cluacutester Sin embargo el tiempo fue excesivo por lo tanto se determinoacute que este tamantildeo del
problema fue demasiado grande para el cluacutester Al realizar otros experimentos con valores maacutes
pequentildeos de 119873 se obtuvieron mejores resultados de rendimiento La Tabla 41 muestra el
rendimiento de HPL en GFlops para 119873 = 300000 400000 y 500000 Como se puede observar
en la Tabla 41 se obtuvo el mejor resultado de rendimiento 850 GFlops para 119873 = 500000 para
valores mayores de 119873 la distribucioacuten de cargas del cluacutester empieza a sobrepasar su capacidad como
se muestra en la Figura 44 y la vez su rendimiento disminuye Esto ocurre porque la cantidad de
memoria utilizada con las memorias intermedias de comunicacioacuten MPI es mayor de lo esperado
Por lo tanto es necesario dejar maacutes del 20 de la memoria para el sistema (Petitet Whaley
86
Dongarra amp Cleary 2008) Tambieacuten se realizaron pruebas usando solo un nodo de coacutemputo y el
rendimiento fue de 34 GFlops para 119873 = 20000
Tabla 41 Rendimiento de HP cluacutester (Fuente Elaboracioacuten propia)
Analizando la eficiencia obtenida para la ejecucioacuten de un solo nodo cuando 119873 = 20000
se obtuvo el 823 del rendimiento maacuteximo (el rendimiento maacuteximo para un solo nodo es 477
Gflops) Para todo el cluacutester el rendimiento maacuteximo seriacutea 119879119898119886119909 = 477 119909 17 =
8109 119866119891119897119900119901119904 aproximadamente
Figura 44 Distribucioacuten de cargas del cluacutester
0
500
1000
300000 400000 500000
Gflops
Gflops
87
La Figura 44 titulada ldquoDistribucioacuten de cargas del cluacutesterrdquo muestra la imagen de la
herramienta Ganglia de manera graacutefica a traveacutes de cuadros que variacutean de color dependiendo de la
carga que tenga cada uno de los nodos al momento de implementar la herramienta HPL De manera
inicial indica que el cluacutester tiene un total de 17 equipos de 4 cores cada uno eso da un total de 68
cores trabajando sin equipos inactivos Muestra tambieacuten una sobrecarga en el cluacutester y un
porcentaje promedio de 100 de uso en la uacuteltima hora
45 Establecer Estrategia
Esto significa uacutenicamente que en este apartado se realizaraacute una guiacutea baacutesica para procesar
los hashes obtenidos sin perder de vista que cada escenario a criptoanalizar es uacutenico en funcioacuten
de las circunstancias externas Como ya se ha mencionado anteriormente esta estrategia de
criptoanaacutelisis se ha planteado implementar dos meacutetodos los cuales son Fuerza Bruta y ataque de
diccionario sin importar si son o no los oacuteptimos debido a que se realizaraacute una comparativa de
capacidad de procesamiento
451 Fuerza Bruta Una vez que se han intentado varios meacutetodos y han fallado se puede
iniciar un ataque de fuerza bruta estaacutendar poniendo especial atencioacuten en la cantidad de siacutembolos
del alfabeto que puede usar el equipo a analizar Por encima de 8 caracteres esto generalmente no
tiene sentido debido a limitaciones de hardware y entropiacutea (complejidad de la contrasentildea) Una
contrasentildea de Windows seguacuten Microsoft (Microsoft Inc 2019) una contrasentildea de Windows debe
estaacute formada por
88
26 Caracteres mayuacutesculas de la ldquoArdquo a la ldquoZrdquo
26 Caracteres minuacutesculas de la ldquoardquo a la ldquozrdquo
10 Diacutegitos de base 10 (0 a 9)
32 Caracteres especiales (~$^amp_-+=|()[]ltgt)
94 Caracteres alfanumeacutericos en total
4511 Cantidad de combinaciones posibles Si se usa una clave numeacuterica (nuacutemeros del 0
al 9) existen 10 posibilidades de 4 diacutegitos de longitud que es la extensioacuten por defecto de los
teleacutefonos celulares Para 4 diacutegitos las combinaciones posibles seriacutean 10 mil 104 = 10000
(Labaca Castro 2014)
Por otro lado si tomamos un alfabeto de 26 letras mayuacutesculas y 26 minuacutesculas 10 nuacutemeros
y 10 caracteres especiales en total tenemos 72 diferentes posibilidades para un uacutenico caraacutecter Eso
significa que las combinaciones para una contrasentildea de 4 caracteres seriacutean 724 = 26873856
Baacutesicamente maacutes de 26 millones de combinaciones en una clave de 4 caracteres contra 10 mil en
una clave de 4 diacutegitos numeacutericos En este estudio se utiliza la contrasentildea de bloqueo descrita en el
apartado anterior que es de 94 combinaciones para cada caraacutecter teniendo una longitud de 7
caracteres por lo tanto seraacuten 947 = 64847759000000 de posibles combinaciones que
nuestros equipos deben explorar para obtener la contrasentildea correcta
Como se mencionoacute en el apartado 42 el usuario sobre el cual se realizoacute el criptoanaacutelisis
fue usuarioprueba el cual constaba de una contrasentildea de longitud 7 caracteres la cual despueacutes
de realizado el anaacutelisis y como se puede observar en la Figura 45
89
1 Anaacutelisis a usuario usuarioprueba
2 Nuacutemero de nodos en operacioacuten 17
3 Nuacutemero de procesos ejecutaacutendose de forma paralela 68
4 Tiempo de duracioacuten del anaacutelisis en el cluacutester 122727 horas
5 Contrasentildea criptoanalizada Pass7
Asiacute mismo en la Tabla 42 se muestra el resultado final y el tiempo de duracioacuten del
criptoanaacutelisis realizado al archivo SAM con el cluacutester y la computadora personal
Tabla 42 Resultados de criptoanaacutelisis de archivo SAM (Fuente Elaboracioacuten propia)
Nodos Nuacutecleos Tiempo de Procesamiento (Horas)
1 (PC) 4 1075316
17 (Cluacutester) 68 122727
1
2
3
4 5
Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester (Fuente Elaboracioacuten propia)
90
452 Diccionario Meacutetodo empleado para romper la seguridad de los sistemas basados en
contrasentildeas (password) en la que el atacante intenta dar con la clave adecuada probando todas (o
casi todas) las palabras posibles ingresadas previamente en un diccionario idiomaacutetico
Generalmente se emplean programas especiales que se encargan de ello
Este meacutetodo suele ser maacutes eficiente que el meacutetodo de fuerza bruta debido a que muchas
usuarios casi siempre suelen utilizar contrasentildeas con una o varias palabras existentes en su lengua
para que la contrasentildea no sea olvidada faacutecilmente y sea sencilla de recordar esto no es una praacutectica
recomendable (Alegsa 2018)
Para realizar este meacutetodo se utilizoacute un diccionario descargado de internet el cual contiene
10000000 de posibles contrasentildeas (g0tmi1k 2018)
Ademaacutes se ejecutoacute un programa creado en lenguaje C (Anexo 1) a traveacutes de la
implementacioacuten de las libreriacuteas MPI y open MPI propias de la arquitectura de cluacutester de
computadoras Este programa fue ejecutado en los mismos equipos descritos anteriormente para
obtener todos los nuacutemeros primos encontrados dentro de un intervalo dado En este caso el
intervalo dado fue de 10000000 con los siguientes resultados mostrados en la Tabla 43
Tabla 43 Resultados de ejecucioacuten de programa en C para la obtencioacuten de nuacutemeros primos (Fuente Elaboracioacuten
propia)
Nodos Nuacutecleos Tiempo de Procesamiento (Segs)
1 (PC) 4 5078
17 (Cluacutester) 68 00013
91
453 Analizar los resultados Posterior a realizar el criptoanaacutelisis y descifrar con eacutexito
una cantidad suficiente de hashes se analizan los resultados en busca de pistas o patrones Este
anaacutelisis puede ayudar a tener eacutexito en cualquier hash restante
454 Personalizar ataques Tomando como base el anaacutelisis de resultados realizado
previamente se disentildearaacuten diversas estrategias personalizadas que aprovechen las vulnerabilidades
conocidas o patrones Los ejemplos seriacutean ataques de maacutescara personalizados o reglas para
adaptarse al comportamiento o las preferencias del usuario objetivo
92
Conclusioacuten
El trabajo de investigacioacuten presentado parte de la necesidad de buscar alternativas para
explotar al maacuteximo la capacidad de procesamiento del equipo de coacutemputo que existe actualmente
dentro del inventario del Instituto Tecnoloacutegico de Acapulco asiacute como proveer una plataforma que
coadyuve a la investigacioacuten dentro del Instituto a traveacutes de implementar un cluacutester de coacutemputo
con capacidad para realizar proyectos en el aacuterea de ingenieriacutea y matemaacuteticas con el fin de optimizar
el tiempo de ejecucioacuten lo cual en un futuro se veraacute reflejado en ventajas para el desarrollo de la
regioacuten
La revisioacuten y anaacutelisis de informacioacuten en relacioacuten a cluacutesters es muy interesante pero a la
vez es compleja dado que involucra diferentes aspectos durante su evolucioacuten asiacute como diversas
metodologiacuteas para su formacioacuten e implementacioacuten Se considera de suma importancia para este
trabajo las revisiones efectuadas ya que son la base para la propuesta entregada
De acuerdo a las especificaciones teacutecnicas de los equipos informaacuteticos existentes dentro
del laboratorio de la Maestriacutea en Sistemas Computacionales y una vez que se realizoacute el anaacutelisis
de varios casos de eacutexito se propuso la metodologiacutea para implementacioacuten de un cluacutester homogeacuteneo
tipo Beowolf Este meacutetodo estaacute basado en otros que ya se han implementado bajo realidades
acadeacutemicas similares rescatando las etapas maacutes importantes de cada uno y complementaacutendolo con
los aportes personales se consideroacute que fue el oacuteptimo debido a que se implementoacute con hardware
convencional y herramientas de uso libre
93
El hecho de haber seleccionado un meacutetodo adecuado permitioacute superar gran parte los
problemas que presentaban las metodologiacuteas que fueron analizadas simplificoacute la implementacioacuten
del cluacutester y permitioacute el poder alcanzar una mayor estabilidad en su desempentildeo desde su etapa
inicial fue importante conocer el resultado en cada una de las etapas de implementacioacuten para
asegurar su desenvolvimiento en el futuro
Para integrar los equipos independientes a la arquitectura cluacutester se realizoacute el disentildeo de
una topologiacutea de red Gigabit Ethernet tipo estrella con un direccionamiento IP estaacutetico la
configuracioacuten de protocolos de comunicacioacuten remota sin autenticacioacuten la comparticioacuten de
archivos en red y la utilizacioacuten de aplicaciones de licencia GPL que permiten obtener el
funcionamiento similar a la de una supercomputadora
Haciendo uso de libreriacuteas de paso de mensajes (MPI) y el software John the Ripper para el
descifrado de contrasentildeas la arquitectura cluacutester implementada alcanzoacute una eficiencia de 885
de rendimiento en comparacioacuten con los recursos computacionales de un solo equipo con las
caracteriacutesticas de un nodo Ademaacutes otros de los proyectos ejecutados en la arquitectura cluacutester
para probar el rendimiento fue la ejecucioacuten de un programa para la deteccioacuten de nuacutemeros primos
dentro de un archivo de 10000000 de nuacutemeros obteniendo una eficiencia de maacutes de 99 gracias
a la distribucioacuten de tareas que proporcionan las libreriacuteas de paso de mensajes (MPI) dentro de la
arquitectura cluacutester
Con la implementacioacuten de la arquitectura cluacutester el laboratorio de la Maestriacutea en Sistemas
Computacionales podraacute dar soluciones potentes eficientes y econoacutemicas en los entornos de
94
investigacioacuten mejorando la capacidad de procesamiento en aplicaciones como evaluacioacuten de
algoritmos compresioacuten de archivos renderizacioacuten de imaacutegenes anaacutelisis de datos (big data) en un
tiempo relativamente bajo ideal para las necesidades educativas
La experiencia obtenida al realizar esta investigacioacuten y propuesta ha sido enriquecedora
tanto por la obtencioacuten de conocimiento en base a la historia evolucioacuten y arquitectura de cluacutesters
asiacute como la programacioacuten paralela y sus ventajas en diferentes proyectos desarrollados en todo el
mundo Igualmente la comparacioacuten entre cada uno de los modelos y meacutetodos resulta interesante
dado que existe un sinnuacutemero de ejemplos con caracteriacutesticas diferentes pero baacutesicamente con un
mismo objetivo final
Trabajo Futuro
El cluacutester implementado en el Laboratorio de la Maestriacutea en Sistemas computacionales del
Instituto Tecnoloacutegico de Acapulco puede ser utilizado en gran cantidad de aplicaciones dentro de
las diferentes aacutereas de investigacioacuten del Instituto asiacute como estar disponible para el Departamento
de Posgrado e Investigacioacuten como apoyo durante la realizacioacuten de tareas y proyectos dentro de las
aacutereas de Desarrollo de Sistemas Inteligentes asiacute como de Tecnologiacuteas Web
Propuesta de Trabajo a Futuro
Durante la realizacioacuten de este proyecto se observoacute la necesidad que existe dentro del
departamento de Investigacioacuten y Posgrado de equipos de alta capacidad de procesamiento para
realizar de una manera maacutes eficiente las investigaciones que se estaacuten llevando a cabo Una de ellas
es el ldquoSistema de apoyo al diagnoacutestico oportuno de Retinopatiacutea Diabeacuteticardquo en la cual a traveacutes del
entrenamiento de una red neuronal se clasificaraacuten y evaluaraacuten un nuacutemero de 3000 imaacutegenes para
95
demostrar la presencia de dicha enfermedad en pacientes del Instituto Estatal de Oftalmologiacutea
Actualmente se ha realizado una prueba de entrenamiento de dicha red neuronal con 70 imaacutegenes
obteniendo como resultado un tiempo clasificacioacuten y evaluacioacuten de 301532 horas en un equipo
con un procesador Core I7 con 8 GB en memoria RAM
96
Bibliografiacutea
Alegsa (01 de 01 de 2018) Alegsa Diccionario Informaacutetico Recuperado el 07 de 2019 de
Alegsa httpwwwalegsacomarDicataque_por_diccionariophp
Avecto (2017) Avecto Limited Recuperado el 10 de 08 de 2018 de AVECTO a Bomgar
Company wwwavectocom
Borghello C (2009) Seguridad de la Informacioacuten Recuperado el 11 de 2018 de Criptografiacutea de
la A-Z httpswwwsegu-infocomarproyectosp1_hashhtm
Branch Bedoya J amp Mesa Muacutenera A (Diciembre de 2008) Implementacioacuten de un cluster
homogeacuteneo para la resolucioacuten de problemas de alta complejidad computacional Avances
en Sistemas e Informaacutetica 5(3)
ByteBleeder (02 de 06 de 2017) Practical guide to NTLM Relaying in 2017 Obtenido de Github
httpsbyt3bl33d3rgithubiopractical-guide-to-ntlm-relaying-in-2017-aka-getting-a-
foothold-in-under-5-minuteshtml
Caballero A (26 de 06 de 2018) Hacking Eacutetico Recuperado el 03 de 2019 de John The Ripper
httpwwwreydescomdq=Recuperar_la_Contrasena_del_Administrador_utilizando_s
amdump2_y_John_The_Ripper
Carretero Peacuterez J de Miguel Anasagasti P Garciacutea Carballeira F amp Peacuterez Costoya F (2001)
Sistemas Operativos Una visioacuten aplicada (C F Madrid Ed) Madrid Espantildea
McGRAW-HillInteramericana
Castelloacute Gimeno A (30 de 07 de 2014) Universitat Jaume Recuperado el 10 de 2019 de
Evaluacioacuten de prestaciones mediante laaplicacioacuten HPL de clusters utilizandorCUDA
97
httprepositoriujiesxmluibitstreamhandle10234115082TFM_2014_CastelloGimen
oApdfsequence=1ampisAllowed=y
Chaacutevez J Echeverriacutea C Correa M Vaacutezquez E Suaacuterez M Maacutermol X Diacuteaz G (07 de
1999) Centro de Caacutelculo Cientiacutefico Recuperado el 01 de 05 de 2018 de Universidad de
Los Andes httpwwwcecalculavedocumentaciontutorialesbeowulfinformehtml
Chirinov R (2003) Nfinite9000 SL Recuperado el 26 de 04 de 2018 de Noticias 3D
httpswwwnoticias3dcomarticuloaspidarticulo=248amppag=4
Coffin J (23 de 07 de 2015) Quora Recuperado el 15 de 08 de 2019 de
httpswwwquoracomWhat-does-it-mean-when-a-hashing-algorithm-has-been-broken
Dongarra J (2010) Top500 Super computer sites Recuperado el 07 de 2019 de http
wwwtop500org
Educba (01 de 01 de 2019) Recuperado el 10 de 2019 de Educbaorg
httpswwweducbacomidea-algorithm
europa press (04 de 06 de 2013) Portal Tic Recuperado el 18 de 11 de 2018 de Europa Press
httpswwweuropapressesportalticgadgetsnoticia-cuarta-generacion-intel-core-mayor-
salto-cuanto-ahorro-energetico-20130604174722html
g0tmi1k (2018) github Recuperado el 05 de 2019 de github
httpsgithubcomdanielmiesslerSecListsblobmasterPasswordsCommon-
Credentials10-million-password-list-top-1000000txt
Gonzaacutelez Agudelo D (2014) El riesgo y la falta de politicas de seguridad informaacutetica una
amenaza en las empresas certificadas basc Recuperado el 20 de 05 de 2018 de
Universidad Militar Nueva Granada
httpsrepositoryunimilitareducobitstream10654122511ENSAYO20FINALpdf
98
Gonzaacutelez Ramiacuterez E amp Rodriacuteguez Saacutenchez A (2008) Disentildeo e implementacioacuten de un cluster
tipo BEOWULF para el desarrollo de coacutemputo cientiacutefico avanzado CdMx Mexico
Hernandez M (2013) Forensics Mexico Recuperado el 07 de 2018 de La importancia del
registro de Windows parte 1 httpforensicsmexicoblogspotcom201309la-
importancia-del-registro-de-windowshtml
Kowalczyk C (01 de 2015) Crypto-IT Recuperado el 11 de 2018 de Crypto-IT
httpwwwcrypto-itnetengasymmetricindexhtml
Labaca Castro R (13 de 06 de 2014) We live security Recuperado el 2019 de 08 de 07 de
Welivesecuritybyeset httpswwwwelivesecuritycomla-es20140613matematica-
claves-numerica-alfanumerica
Lizaacuterraga C (2002) Departamento de Fiacutesica Recuperado el 12 de 03 de 2018 de Universidad
de Sonora httpclustersfisicausonmx
Llorens E amp Pentildea M (2002) Recuperado el 04 de 2018 de Departament dArquitectura de
Computadors httppersonalsacupceduenricPFCBeowulfbeowulfhtml
Meneacutendez-Barzanallana R (07 de 08 de 17) Universidad de Murcia Recuperado el 11 de 2018
de Informaacutetica Aplicada a las Ciencias Sociales
httpswwwumesdocenciabarzanaIACCSSCriptografiahtml
Merkle R amp Damgaringrd I (sf) Numerenturorg Recuperado el 06 de 2019 de Para computar -
numerenturorg httpnumerenturorgfuncion-merkle-damgard
Microsoft Inc (02 de 05 de 2019) wwwmicrosoftcom Obtenido de Password must meet
complexity requirements httpsdocsmicrosoftcomes-eswindowssecuritythreat-
protectionsecurity-policy-settingspassword-must-meet-complexity-requirements
99
Mifsud E (26 de 03 de 2012) Introduccioacuten a la seguridad informaacutetica Recuperado el 07 de 05
de 2018 de Ministerio de educacioacuten cultura y deportes Gobierno de Espantildea
httprecursosticeducacionesobservatoriowebessoftwaresoftware-general1040-
introduccion-a-la-seguridad-informaticashowall=1
Murugesan S (01 de 02 de 2008) Researchgate doi101109MITP200810
Nahar K amp Abu Abbas O (01 de 2010) Researchgate Recuperado el 07 de 2019 de
Researchgate
httpswwwresearchgatenetpublication315492522_Hybrid_Cipher_System
Nievas F Pino O amp Arroyo R (sf) Los clusters como Plataforma de Procesamiento Paralelo
Recuperado el 25 de 04 de 2018 de
httpusuarioslycoseslacaraocultadescargasClusters_definitivo pdf
Pawar S (2016) A computer science portal for geeks Recuperado el 10 de 2018 de
Geeksforgeeks httpswwwgeeksforgeeksorgrc5-encryption-algorithm
Peleus (2019) NETSEC Recuperado el 08 de 2019 de httpsnetsecwsp=314
Peacuterez Tavera I (2014) Obtenido de Universidad Autonoma del Estado de Hidalgo
httpswwwuaehedumxscigeboletinprepa4n2e4html
Peacuterez M (2001) Recuperado el 15 de 04 de 2018 de
httpwwwdragonesorgBibliotecaArticulosArquitecturaParalela2pdf
Petitet A Whaley R C Dongarra J amp Cleary A (2008) HPL - A Portable Implementation of
the High-Performance Linpack Benchmark for Distributed-Memory Computers
Recuperado el 07 de 2019 de httpwwwnetliborgbenchmarkhpl
Picolet J (2017) Hash Crack Password Cracking Manual (Vol 2) Createspace Independent
Pub
100
Preukschat A (23 de 02 de 2015) Oro y Finanzas Recuperado el 07 de 2019 de
httpswwworoyfinanzascom201502que-es-colision-criptografia-bitcoin
Robbins D (2008) OpenMosix Recuperado el 22 de 04 de 2018 de the openMosix Project
httpopenmosixsourceforgenetintroduction_to_openmosixhtml
Rocha Quezada J d Botello Rionda S Vargas Feacutelix J M amp Munguiacutea Torres I A (Sep-Dic
de 2011) Disentildeo e implementacioacuten de un cluacutester de coacutemputo de alto rendimiento Acta
Universitaria 21(3) 24-33 Recuperado el 1 de 12 de 2018
Rocksclusters (01 de 01 de 2010) httpwwwrocksclustersorg Recuperado el 01 de 06 de 2018
de httpwwwrocksclustersorg httpwwwrocksclustersorg
Sanjoy K (01 de 01 de 2015) DZone Recuperado el 15 de 06 de 2019 de DZone
httpsdzonecomarticlessecurity-algorithms-des-algorithm
Security Degree Hub (01 de 2017) Security Degree Hub Recuperado el 13 de 02 de 2019 de
Security Degree Hub httpswwwsecuritydegreehubcomwhat-is-cryptanalysis
Simmons G (01 de 01 de 2019) Encyclopedia Britannica Recuperado el 08 de 2019 de
Encyclopedia Britannica httpswwwbritannicacomtopicRSA-encryption
statista (09 de 2017) Statista Obtenido de Statista Co httpsesstatistacom
Turner D (2004) Recuperado el 12 de 02 de 2018 de Ames Lab
httpwwwsclameslabgovProjectsparrallel_computingpara_intohtml
United States Government Department of Defense (1983) Trusted Computer System Evaluation
Criteria Rainbow Series
Universidad Internacional de Valencia (09 de Septiembre de 2016) Nuestros
expertosTecnologiacutea Recuperado el 27 de Abril de 2018 de Universidad Internacional de
Valencia httpswwwuniversidadviuesla-seguridad-informatica-puede-ayudarme
101
Wallen J (19 de 01 de 2019) Lifewire Recuperado el 13 de 06 de 2019 de Lifewire
httpswwwlifewirecomgnome-3-desktop-4175640
Yang H (01 de 02 de 2019) Herong Yang Recuperado el 15 de 06 de 2019 de Cryptography
Tutorials httpwwwherongyangcomCryptographyDSA-Introduction-What-Is-DSA-
Digital-Signature-Algorithmhtml
102
Anexo 1
Programa en Lenguaje C para la obtencioacuten de nuacutemeros primos utilizando libreriacuteas mpi
include ltcstdlibgt
include ltiostreamgt
include ltiomanipgt
include ltcmathgt
include ltctimegt
include mpih
using namespace std
int main ( int argc char argv[] )
int prime_number ( int n int id int p )
void timestamp ( )
int main ( int argc char argv[] )
int i
int id
int master = 0
int n
int n_factor
int n_hi
int n_lo
int p
int primes
int primes_part
double wtime
n_lo = 1
n_hi = 10000000
n_factor = 2
MPIInit ( argc argv )
p = MPICOMM_WORLDGet_size ( )
id = MPICOMM_WORLDGet_rank ( )
if ( id == master )
cout ltlt n
cout ltlt Cuenta primosn
cout ltlt C++MPI versionn
cout ltlt n
cout ltlt Programa para contar cantidad de primos para un N dadon
cout ltlt Corriendo en ltlt p ltlt procesosn
cout ltlt n
103
cout ltlt N S Tiempon
cout ltlt n
n = n_lo
while ( n lt= n_hi )
if ( id == master )
wtime = MPIWtime ( )
MPICOMM_WORLDBcast ( ampn 1 MPIINT master )
primes_part = prime_number ( n id p )
MPICOMM_WORLDReduce ( ampprimes_part ampprimes 1 MPIINT
MPISUM
master )
if ( id == master )
wtime = MPIWtime ( ) - wtime
cout ltlt ltlt setw(8) ltlt n
ltlt ltlt setw(8) ltlt primes
ltlt ltlt setw(14) ltlt wtime ltlt n
n = n n_factor
MPIFinalize ( )
if ( id == master )
cout ltlt n
cout ltlt PRIME_MPI - Procesos maestron
cout ltlt Finalizacion del calculo normaln
return 0
int prime_number ( int n int id int p )
int i
int j
int prime
int total
104
total = 0
for ( i = 2 + id i lt= n i = i + p )
prime = 1
for ( j = 2 j lt i j++ )
if ( ( i j ) == 0 )
prime = 0
break
total = total + prime
return total
void timestamp ( )
define TIME_SIZE 40
static char time_buffer[TIME_SIZE]
const struct tm tm
size_t len
time_t now
now = time ( NULL )
tm = localtime ( ampnow )
len = strftime ( time_buffer TIME_SIZE d B Y IMS p tm )
cout ltlt time_buffer ltlt n
return
undef TIME_SIZE
iii
Dedicatoria
Este logro se lo dedico a mi toda mi familia que incondicionalmente siempre estaacute ahiacute
cuando los necesito A mis Padres especialmente dedicado a mi Madre que es un ejemplo de
esfuerzo para miacute sabe el camino complicado que he tenido que pasar para poder llegar a este
gratificante momento y siempre ha tenido una palabra que me alienta a no desmallar y seguir
adelante
Dedicado tambieacuten para mi hermano Uriel porque sin saberlo y a la distancia su apoyo y
confianza han sido un pilar fundamental para poder llegar a este momento
Adrielito hijo te dedico este logro por tu paciencia porque seacute que has tenido que pasar
tiempo con Papaacute en la escuela en lugar de estar en casa descansando o jugando despueacutes de salir
de tus clases gracias por soportarlo te amo y espero ser un ejemplo de esfuerzo y perseverancia
para ti
Los amo a todos
iv
Agradecimientos
Agradezco primero y ante todo a Dios todo se lo debo a Eacutel por derramar sus
bendiciones sobre miacute por acompantildearme en cada paso que doy y haber fortalecido mi corazoacuten e
iluminado mi mente Gracias Padre
A mi familia que ha estado ahiacute siempre a mi lado en los momentos maacutes oscuros y
difiacuteciles creyendo en miacute impulsaacutendome para alcanzar mis metas
Al Consejo Nacional de Ciencia y Tecnologiacutea por haberme apoyado econoacutemicamente
para la realizacioacuten de este proyecto
A mi director de tesis el Dr Eduardo de la Cruz Gaacutemez por su tiempo por su paciencia
por los valiosos aportes criacuteticas comentarios y sugerencias que realizoacute durante este proyecto
Al Departamento de Posgrado e Investigacioacuten del Instituto Tecnoloacutegico de Acapulco asiacute
como a toda la plantilla docente de la cual me llevo conocimiento y experiencias
enriquecedoras que sin lugar a dudas marcaron mi vida profesional
A la segunda generacioacuten muchas gracias Abejorros sin el apoyo mutuo durante el
tiempo que pasamos en las aulas y durante el desarrollo de los proyectos tal vez no lo
hubieacuteramos logrado
v
Resumen
El presente trabajo inicia con una breve introduccioacuten sobre la importancia que tiene la
seguridad en cualquier aspecto de la vida y sobre todo en el aacuterea laboral especiacuteficamente en el
aacuterea informaacutetica Posteriormente resalta coacutemo la criptografiacutea ha estado presente en momentos
importantes de la vida del ser humano sobre todo dentro del aacutembito militar en la cual ha sido
fundamental para permitir comunicaciones seguras Actualmente la criptografiacutea estaacute dentro de
nuestro diario vivir cuando realizamos transacciones en internet de manera segura Como parte de
la investigacioacuten en este trabajo se describen los tipos de criptografiacutea y criptoanaacutelisis tambieacuten se
analizan los niveles de seguridad de sistemas operativos asiacute como los meacutetodos de agrupamiento
de computadoras para implementar con la ayuda de esta herramienta de una manera maacutes raacutepida
criptoanaacutelisis a un sistema operativo con un nivel de seguridad C1
Palabras clave cluacutester seguridad criptoanaacutelisis
vi
Abstract
This work begins with a review of the importance of security in any aspect of life and
especially in the workplace specifically in the computer area Later this work speaks briefly about
how cryptography has been present at important moments in the life of the human being especially
in the military field in which it has been fundamental to allow secure communications Currently
cryptography is inside our daily life when we conduct transactions on the internet in a secure
manner As part of the research in this work the types of cryptography and cryptanalysis are
described as well as the security levels of operating systems and above all the main methods of
computers clustering to implement a system with a faster method of cryptanalysis in an operative
system with a security level C1
Keywords cluster security cryptanalysis
vii
Iacutendice de Contenido
Descargo de Responsabilidad Institucional ii
Dedicatoria iii
Agradecimientos iv
Resumen v
Abstract vi
Iacutendice de Contenido vii
Iacutendice de Figuras x
Iacutendice de Tablas xi
Capiacutetulo 1 Introduccioacuten 1 11 Antecedentes del problema 1
12 Planteamiento del Problema 4
13 Objetivos 6
131 Objetivo General 6
132 Objetivos Especiacuteficos 6
14 Justificacioacuten 7
15 Hipoacutetesis 7
16 Alcances y Limitaciones 8
17 Impacto Social Tecnoloacutegico Econoacutemico y Ambiental 8
171 Impacto social 8
172 Impacto ambiental 9
173 Impacto econoacutemico 10
18 Metodologiacutea a Utilizar 10
181 Anaacutelisis 10
182 Disentildeo 10
1821 Economiacutea 10
1822 Instalaciones 10
1823 Escalabilidad 11
1824 Red 11
1825 Software 11
1826 Almacenamiento 12
183 Implementacioacuten 12
1831 Software 12
1832 Hardware 13
1833 Recursos totales del cluacutester 13
19 Aseguramiento Teacutecnico ndash Material 13
191 Hardware 14
viii
1911 Equipo de coacutemputo 14
Capiacutetulo 2 Estado del Arte 16
Marco Teoacuterico 27 21 Seguridad de la Informacioacuten 27
211 Objetivo de la seguridad de la informacioacuten 27
212 Principios de la seguridad informaacutetica 28
213 Caracteriacutesticas de seguridad informaacutetica 28
214 Formas de Autenticacioacuten 29
215 Ciber-seguridad 29
22 Criptografiacutea 30
221 Tipos de Criptografiacuteas 30
2211 Tablas Hash 30
2212 Tipos de algoritmos Hash 31
22121 SHA - 1 (Secure Hash Algorithm) 31
22122 MD5 (Message Digest Algorithm) 31
22123 RIPEMD ndash 160 32
22124 Funcioacuten Merkle-Damgaringrd 32
2213 Cifrado simeacutetrico 32
22131 RC5 (Cifrado de Rivest) 33
22132 IDEA (International Data Encryption Algorithm) 33
22133 DES (Data Encryption Standard) 34
2214 Cifrado asimeacutetrico 35
22141 DSA (Digital Signature Algorithm - Algoritmo de Firma digital) 36
22142 RSA 37
2215 Cifrado hiacutebrido 38
23 Criptoanaacutelisis 38
24 Niveles de seguridad 39
241 Nivel D1 40
242 Nivel C1 40
243 Nivel C2 41
244 Nivel B1 42
245 Nivel B2 43
246 Nivel B3 44
247 Nivel A1 45
25 Sistemas Operativos 46
251 Windows 47
252 Registro de Windows 48
253 Administrador de cuentas de seguridad 49
2531 Identificador de Seguridad (SID Security Identifier) 50
254 Autenticacioacuten NTML 51
26 LINUX (ROCKS) 52
261 Escritorio 53
262 Paquete de Oficina 53
263 Organizador de archivos 54
27 Agrupamiento (Cluacutester) de Computadoras 55
271 Beowulf 56
ix
272 Mosix 56
273 OpenMosix 57
Capiacutetulo 3 Implementacioacuten de Cluacutester 59 31 Requisitos previos 59
311 Conexioacuten de los equipos y acceso a la red 59
312 Configuracioacuten de la BIOS 60
3121 ATAIDE Mode 60
3122 PXE 62
32 Instalacioacuten de Sistema Operativo Rocks 63
321 Configuracioacuten del teclado 70
33 Instalacioacuten de los nodos 70
331 Administracioacuten de nodos 72
332 Creacioacuten de cuentas de usuario 73
333 Configuracioacuten del directorio compartido 73
34 Operaciones baacutesicas de Rocks 74
Capiacutetulo 4 Metodologiacutea y Resultados 77 41 Obtener Archivo hash 77
42 Dar Formato al Hash 80
43 Evaluar la fuerza del Hash 80
44 Calcular la capacidad del equipo 82
45 Establecer Estrategia 87
451 Fuerza Bruta 87
4511 Cantidad de combinaciones posibles 88
452 Diccionario 90
453 Analizar los resultados 91
454 Personalizar ataques 91
Conclusioacuten 92
Trabajo Futuro 94 Propuesta de Trabajo a Futuro 94
Bibliografiacutea 96
Anexo 1 102
x
Iacutendice de Figuras
Figura 31 Esquema tiacutepico de configuracioacuten de un cluacutester xi
Figura 32 Imagen del Bios del equipo en la opcioacuten ldquodrive configurationrdquo 61
Figura 33 Bios ATAIDE Legacy Mode 61
Figura 34 Bios Boot PXE 62
Figura 35 Bios Boot device prioriry 63
Figura 36 Pantalla de Inicio de instalacioacuten de Rocks 64
Figura 37 Pantalla de seleccioacuten de Rolls 65
Figura 38 Listado de opciones de rolls para instalar 65
Figura 39 Informacioacuten baacutesica del cluacutester a instalar 66
Figura 310 Configuracioacuten Ethernet de la red privada 67
Figura 311 Configuracioacuten Ethernet de la red puacuteblica 67
Figura 312 Configuracioacuten de DNS y Gateway 68
Figura 313 Ingresar contrasentildea de usuario root 68
Figura 314 Configuracioacuten horaria 69
Figura 315 Particiones del disco duro 69
Figura 316 Pantalla para ingresar nodos 71
Figura 317 Indicador de insercioacuten de nuevos nodos 71
Figura 318 Comando qstat ndashf 74
Figura 319 Enviacuteo de trabajos por medio del comando qsub 75
Figura 320 Estado de los trabajos pendientes mostrados por qstat ndashf 75
Figura 321 Visualizacioacuten de la distribucioacuten de cargas en el cluacutester usando la herramienta
Ganglia 76
Figura 41 Arranque con LiveUSB KaliLinux 79
Figura 42 Resultado de la ejecucioacuten de la herramienta samdump2 80
Figura 43 Sistema de Ecuaciones tipo 119860119909 = 119887 Fuente Propia 84 Figura 44 Distribucioacuten de cargas del cluacutester 86
Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester 89
xi
Iacutendice de Tablas
Tabla 11 Costo del Proyecto 15
Tabla 41 Rendimiento de HP cluacutester (Fuente Elaboracioacuten propia) 86
Tabla 42 Resultados de criptoanaacutelisis de archivo SAM (Fuente Elaboracioacuten propia) 89
Tabla 43 Resultados de ejecucioacuten de programa en C para la obtencioacuten de nuacutemeros primos
(Fuente Elaboracioacuten propia) 90
1
Capiacutetulo 1 Introduccioacuten
11 Antecedentes del problema
Sin lugar a duda una de las herramientas maacutes importantes producida en el siglo XX ha sido
la computadora la cual ha provocado cambios vertiginosos en la sociedad y en el progreso de la
misma En la actualidad el entorno estaacute praacutecticamente controlado por las nuevas tecnologiacuteas que
a medida que transcurre el tiempo avanzan sin liacutemites y en ocasiones son utilizadas
incorrectamente provocando dantildeos de grandes dimensiones
Los trascendentales cambios operados en el mundo moderno caracterizados por su
constante desarrollo la acelerada globalizacioacuten de la economiacutea la acentuada dependencia a
almacenar grandes voluacutemenes de informacioacuten y los sistemas que la proveen aunado a grandes
inversiones de las empresas en conocimiento actual y futuro en sistemas de informacioacuten ademaacutes
del potencial que poseen las tecnologiacuteas para cambiar draacutesticamente las organizaciones y las
praacutecticas de negocio asiacute como crear nuevas oportunidades disentildear nuevas estructuras tecnoloacutegicas
basadas en informacioacuten la convierte en un activo codiciable Tales avances hacen permanente el
riesgo en las tecnologiacuteas y nos llevan a pensar en la problemaacutetica sobre la seguridad informaacutetica
La proteccioacuten de datos documentos y control de acceso a la informacioacuten es un tema que
cada diacutea toma maacutes fuerza en las grandes compantildeiacuteas debido a las diferentes praacutecticas de
especialistas tecnoloacutegicos como los son los hackers y crackers que roban informacioacuten vital para
posteriormente sacar provecho de ella
2
ldquoDesde la aparicioacuten de los grandes sistemas aislados hasta nuestros diacuteas en los que el
trabajo en red es lo habitual los problemas derivados de la seguridad de la informacioacuten han ido
tambieacuten cambiando evolucionando pero estaacuten ahiacute y las soluciones han tenido que ir adaptaacutendose
a los nuevos requerimientos teacutecnicos Aumenta la sofisticacioacuten en el ataque y ello aumenta la
complejidad de la solucioacuten pero la esencia es la mismardquo (Mifsud 2012)
Dentro del mundo actual la informacioacuten es denominada un activo importante de una
institucioacuten la cual debe ser protegida para evitar su peacuterdida modificacioacuten o el uso inadecuado de
su contenido
El extraviacuteo o el mal uso de informacioacuten que para alguien es confidencial genera dantildeos y
repercusiones directas relacionadas a la integridad disponibilidad y confidencialidad de los
archivos y a su vez a los duentildeos de dicha informacioacuten
ldquoLa seguridad informaacutetica se distingue por tener dos propoacutesitos de seguridad la Seguridad
de la Informacioacuten y la Proteccioacuten de Datos estos se diferencian debido a que los datos son valores
numeacutericos que soportan la informacioacuten mientras que la informacioacuten es aquello que tiene un
significado para nosotrosrdquo (Gonzaacutelez Agudelo 2014)
La seguridad informaacutetica consiste en asegurar que los recursos del sistema de informacioacuten
(material informaacutetico o programas) de una organizacioacuten sean utilizados de la manera que se decidioacute
3
inicialmente y que el acceso a la informacioacuten alliacute contenida asiacute como su modificacioacuten soacutelo sea
posible a las personas que se encuentren acreditadas y dentro de los liacutemites de su autorizacioacuten
Actualmente hay mucha informacioacuten circulando en internet por ejemplo correos
electroacutenicos publicaciones en Twitter Facebook videos fotos comercio electroacutenico secretos de
estado militares o industriales Lamentablemente dicha red es puacuteblica e insegura dentro de la cual
existen usuarios bien intencionados y muchos mal intencionados Diariamente encontramos
noticias de sitios con intrusiones mal intencionadas (hackeados) clonacioacuten de tarjeta de creacutedito o
imaacutegenes adulteradas Todo lo anterior motiva la necesidad de proteger la informacioacuten a traveacutes de
mecanismos que impidan a los usuarios no autorizados acceder a dicha informacioacuten
4
12 Planteamiento del Problema
Los sistemas de informacioacuten actuales estaacuten relacionados completamente con la exposicioacuten
de su informacioacuten a entidades externas que son ajenas a la organizacioacuten o delegacioacuten a la que
pertenecen
Cuando no se conoce el alcance que tienen los sistemas informaacuteticos ni lo vulnerables que
pueden ser si son expuestos a Internet por los mismos empleados de la organizacioacuten puede darse
ldquofugardquo de informacioacuten hacia el exterior esto los hace vulnerables a eventos y amenazas que
conllevan a riesgos que pueden provocar peacuterdidas tangibles e intangibles las cuales se traducen
en peacuterdidas que en muchos de los casos por decir lo menos seraacuten monetarias
El portal espantildeol de estadiacutesticas statista muestra la cuota de mercado de los principales
sistemas operativos a nivel mundial a fecha de febrero de 2017 seguacuten el nuacutemero de instalaciones
(statista 2017) Windows 10 fue el segundo sistema operativo maacutes instalado con una cuota de
mercado de 253 Esto significa que alrededor de una de cada cuatro computadoras estaacute
gobernado por este sistema operativo Por su parte en el caso de Windows 7 el porcentaje se situacutea
por encima del 45 a pesar de que ya no se vende ninguacuten PC con este sistema operativo Hablando
de manera conjunta los sistemas operativos Windows cuentan con una cuota del mercado global
de 8857
La empresa de seguridad informaacutetica Britaacutenica Avecto informoacute en su Microsoft
Vulnerabilities Report 2017 (Avecto 2017) (reporte 2017 de vulnerabilidades de Windows) un
aumento de vulnerabilidades publicadas del 111 en los uacuteltimos 5 antildeos de las cuales 235 criacuteticas
5
fueron mitigadas removiendo permisos de administrador asiacute como otras muy importantes
enfocadas al Administrador de Cuentas de Seguridad (SAM Security Account Manager por sus
siglas en ingleacutes) la cual es una base de datos almacenada como un archivo del registro en Windows
y que almacena las contrasentildeas de los usuarios en un formato hash (Algoritmos que crean a partir
de una entrada una salida alfanumeacuterica de longitud fija)
6
13 Objetivos
131 Objetivo General A traveacutes de la implementacioacuten de un procedimiento de fuerza
bruta utilizando para ello un cluacutester de alto rendimiento asiacute como software de uso libre lograr
capacidad de procesamiento capaz de vulnerar un sistema de autenticacioacuten nivel C1
132 Objetivos Especiacuteficos
Analizar los diferentes niveles de seguridad de sistemas operativos
Analizar diferentes meacutetodos de criptoanaacutelisis para vulnerar el Administrador de
cuentas de seguridad
Estudiar las teacutecnicas de agrupamiento de computadoras (clustering) para la
obtencioacuten de mayor poder de procesamiento
Implementar un cluacutester de alto rendimiento en el Laboratorio de la Maestriacutea en
Sistemas Computacionales del Instituto Tecnoloacutegico de Acapulco para ejecutar
operaciones de coacutemputo distribuido
7
14 Justificacioacuten
Antes la seguridad de la informacioacuten se realizaba a traveacutes de medios fiacutesicos por ejemplo
una caja fuerte en la cual las personas resguardaban objetos o informacioacuten valiosa para ellos Con
la introduccioacuten de las computadoras y el uso de internet los usuarios comienzan a almacenar
informacioacuten importante dentro de sus equipos por lo que se considera indispensable el uso de
herramientas que brinden proteccioacuten a la informacioacuten que se encuentra resguardada dentro de
eacutestas Los usuarios informaacuteticos suelen enviar informacioacuten por la red en las empresas al realizar
traacutemites o enviar informes a socios jefes entre otros
El resguardo de informacioacuten siempre ha sido importante para los seres humanos con la
diferencia que anteriormente no se contaba con los avances tecnoloacutegicos que tenemos actualmente
puesto que con la introduccioacuten de internet y el uso de dispositivos electroacutenicos se tiene mayor
riesgo de la informacioacuten que en ellos se maneja
La proteccioacuten del contenido de los datos es una necesidad urgente en casi todos los aacutembitos
de la sociedad incluyendo los servicios puacuteblicos y privados por lo que la tecnologiacutea de la
seguridad de los sistemas de cifrado se encuentra de frente a verdaderos retos
15 Hipoacutetesis
A traveacutes de un de fuerza bruta como teacutecnica de criptoanaacutelisis y con la ayuda de una mayor
capacidad de procesamiento mediante la implementacioacuten de agrupamiento de computadoras
(cluacutester) de alto rendimiento seraacute posible encontrar alguna vulnerabilidad dentro del sistema de
administracioacuten de cuentas de seguridad de Windows server 2012
8
16 Alcances y Limitaciones
Esta tesis se centraraacute en el sistema operativo Windows como objeto de estudio al cual se
le realizaraacute el criptoanaacutelisis
La tesis se enfocaraacute en el meacutetodo Beowulf para realizar el agrupamiento de computadoras
asiacute como la distribucioacuten de software libre del sistema operativo Linux Rocks
El nuacutemero de equipos disponibles para poder realizar el agrupamiento es de 17
computadoras hasta lograr el poder de coacutemputo de 800 Gflops
17 Impacto Social Tecnoloacutegico Econoacutemico y Ambiental
La sostenibilidad del presente proyecto seraacute abordada a partir de los siguientes aspectos
171 Impacto social A veces se puede pensar que un cluacutester de alto rendimiento pudiera
no tener alguacuten impacto directo en el medio social pero si nos enfocamos a un punto de vista en
donde gracias a la capacidad de procesamiento de estas maacutequinas han sido parte fundamental en
el desarrollo de proyectos que inciden de manera directa en beneficio de la sociedad en la que
vivimos como lo es la medicina la fiacutesica quiacutemica
Este proyecto busca beneficiar a nuestra sociedad proveyendo su capacidad de
procesamiento en la buacutesqueda de alguna vulnerabilidad en el sistema operativo maacutes utilizado hoy
en diacutea como lo es Windows ademaacutes de que estaraacute disponible para la comunidad cientiacutefica y
9
estudiantil del Instituto Tecnoloacutegico de Acapulco para optimizar tiempo de caacutelculo en futuras
investigaciones
172 Impacto ambiental Green IT tambieacuten conocido como Green Computing o
traducido al espantildeol como Tecnologiacuteas Informaacuteticas Verdes es definido como el estudio y la
praacutectica de disentildear desarrollar usar y disponer de computadoras servidores y diferentes
perifeacutericos tales como monitores impresoras dispositivos de almacenamiento de redes y
comunicaciones eficientemente y efectivamente con un impacto miacutenimo o nulo en el medio
ambiente (Murugesan 2008)
Bajo la premisa anterior este proyecto hace uso de los equipos con los que cuenta
actualmente el laboratorio de la Maestriacutea en Sistemas Computacionales lo cual evitaraacute la
adquisicioacuten de equipo nuevo y por consecuencia desechar el equipo existente evitando desperdicio
electroacutenico Dicho equipo cuenta con un procesador Intel I3 de 4ta generacioacuten lo cual seguacuten el
portal electroacutenico Europa press
ldquoEsta nueva generacioacuten supone el mayor salto en cuanto ahorro energeacutetico de la historia
de Intel asiacute como una mejora en los graacuteficos y nuevas experiencias de usuariordquo (europa press
2013)
Teniendo como base estos dos puntos importantes como lo son la reutilizacioacuten de equipo
y utilizando procesadores de bajo consumo energeacutetico es como este proyecto busca contribuir de
manera positiva con el medio ambiente
10
173 Impacto econoacutemico Actualmente existe una gran necesidad de procesar grandes
cantidades de datos lo cual hace imprescindible disponer de maacutequinas con estas caracteriacutesticas sin
embargo su alta complejidad aunado al gran costo hace que en instituciones de caraacutecter puacuteblico
sea muy complicado conseguir recurso para este fin Sin embargo un cluacutester de alto rendimiento
reutilizaraacute equipo propio evitando asiacute gastos por concepto de adquisicioacuten de equipo siendo de
esta manera viable para instituciones de caraacutecter puacuteblico
18 Metodologiacutea a Utilizar
181 Anaacutelisis Despueacutes de analizar las diferentes metodologiacuteas de clustering se optoacute por
desarrollar e implementar un cluacutester de alto rendimiento (HPC)
182 Disentildeo
1821 Economiacutea Debido a las caracteriacutesticas del equipo con el cual cuenta el Laboratorios
de la Maestriacutea en Sistemas Computacionales los componentes utilizados para este proyecto son
considerados de uso comuacuten y de bajo costo lo cual los hace faacutecilmente reemplazables en caso de
fallo a un costo accesible El equipo es de la marca Acer Aspire modelos AXC-605-M021 lo cual
nos hace tener ventaja y respaldo del fabricante con respecto a hardware geneacuterico
1822 Instalaciones Un cluacutester requiere de un ambiente controlado Esto es una
habitacioacuten especial con sistema de enfriamiento capacidad suficiente de carga eleacutectrica control
de humedad y un ambiente libre de polvo Ademaacutes se deben considerar el peso del equipo sobre
el piso (ya sea falso o piso normal) Se recomienda colocarlo en los soacutetanos o en la plata baja de
edificios (Rocha Quezada Botello Rionda Vargas Feacutelix amp Munguiacutea Torres 2011)
11
En el laboratorio de la Maestriacutea en Sistemas Computacionales se cuenta con espacio que
reuniacutea la mayoriacutea de las caracteriacutesticas requeridas para este proyecto
1823 Escalabilidad Un cluacutester debe ser faacutecilmente escalable y a su vez confiable Por
tal motivo se ha utilizado equipo de marca lo cual nos proporciona maacutes de confiabilidad en su
desempentildeo y a su vez facilidad de aumentar el nuacutemero de equipos si en un futuro fuese necesario
agrandar este proyecto Se armoacute un cluacutester de cinco computadoras con procesadores Intel Core I3
de 64 bits en cada nodo La memoria incluida y perifeacutericos son faacuteciles de adquirir en el mercado
1824 Red En la parte de redes se utilizoacute un switch fast Ethernet con una velocidad de 1
Gbps el cual tiene tazas de transferencia raacutepida y el costo es notablemente maacutes econoacutemico que
uno de fibra oacuteptica
El cableado seleccionado fue el estaacutendar UTP de cobre con la norma Gigabit Ethernet de
IEEE 8023ab con la categoriacutea de cableado 6e que soporta tazas de transferencia de datos de
1000Base T (1 Gbps)
1825 Software
ldquoEl sistema operativo debe constar con servicios dedicados para compartir y respaldar
archivos asiacute como capacidad de acceder a los datos de trabajo raacutepidamente El sistema operativo
debe tambieacuten proveer servicios de monitoreo y reporte de fallas en el sistemardquo (Rocha Quezada
Botello Rionda Vargas Feacutelix amp Munguiacutea Torres 2011)
12
Existe una gran variedad de software para instalar cluacutester de alto rendimiento sin embargo
como se ha comentado con anterioridad el costo de adquisicioacuten debe ser accesible por tal motivo
se optoacute por una distribucioacuten con licencia GNU de Linux Rocks Cluster la cual es una distribucioacuten
sencilla de instalar y configurar en comparacioacuten con otras distribuciones analizadas dicha
distribucioacuten estaacute basada en CentOS que a su vez estaacute basada en la conocida distribucioacuten de Linux
Red Hat
1826 Almacenamiento Para este proyecto no se requeriraacute un gran espacio de
almacenamiento por tal motivo los equipos utilizados tanto maestro como esclavos mantuvieron
sus unidades de disco originales las cuales son de 1 TB de almacenamiento
183 Implementacioacuten La implementacioacuten del cluacutester de alto rendimiento fue realizada
dentro de las instalaciones del Laboratorio de la Maestriacutea en Sistemas Computacionales del
Instituto Tecnoloacutegico de Acapulco construido inicialmente para este proyecto de criptoanaacutelisis lo
cual requeriraacute suficiente capacidad de procesamiento para poder implementar ataques de fuerza
bruta a sistemas operativos Las caracteriacutesticas del cluacutester construido son
1831 Software El software instalado en cada uno de los nodos es el siguiente
bull Sistema operativo Rocks Cluacutester Linux 74 (64 bits)
bull Libreriacutea de manejo de mensajes Open-MPI 153
bull Software de monitoreo Ganglia
13
1832 Hardware El cluacutester estaacute compuesto de 17 equipos con las siguientes
caracteriacutesticas
bull Nodo Maestro y 16 Nodos Esclavos
- Procesador Intel Core I3 4150 (4 nuacutecleos) Memoria 6 GB Disco Duro SATA 1 TB
tarjeta de Red Gigabit Ethernet
El hardware adicional es el siguiente
bull Interconexioacuten de Red
bull Switch Cisco 26 puertos 1Gbps modelo SG200 Red interna
1833 Recursos totales del cluacutester
bull Nuacutecleos de unidades de procesamiento (cores) 68
bull Capacidad en memoria 92 GB
bull Capacidad en disco 17 TB
19 Aseguramiento Teacutecnico ndash Material
A continuacioacuten se muestra el desglose del equipo utilizado para la elaboracioacuten de un
cluacutester de alto rendimiento estos componentes consisten en Hardware y Software especializado
asiacute como los costos de produccioacuten y personal involucrados en la metodologiacutea y elaboracioacuten del
proyecto
Costos de Hardware
Costos de Software
14
191 Hardware En este punto se refleja el costo de los dispositivos y herramientas a nivel
fiacutesico las cuales sirvieron para la implementacioacuten del proyecto cluacutester de alto rendimiento Cabe
resaltar que el equipo utilizado forma parte del inventario actual del Laboratorio motivo por el
cual su utilizacioacuten no causoacute erogacioacuten alguna sin embargo la investigacioacuten de costos se realizoacute
con la finalidad que el lector pueda establecer comparativas y buscar alternativas en caso de ajuste
de presupuesto
1911 Equipo de coacutemputo El equipo de coacutemputo utilizado consta de diecisiete
computadoras las cuales serviraacuten una para Nodo Maestro y las dieciseacuteis restantes como Nodos
Esclavos
La descripcioacuten de estos equipos se muestra en la tabla a continuacioacuten mostrando los costos
de todos los equipos utilizados dentro del proyecto
15
Tabla 11 Costo del Proyecto
Modelo
Cantidad
Caracteriacutesticas
Costos
PC - Acer AXC-
605
17
Procesador Intel Core i3
Pantalla 156rdquo
Disco duro 1TB HDD
RAM 6GB
Salida HDMI
Tarjeta de graacuteficos INTEGRADA
Lector de CD
Los costos en el mercado de una PC de
escritorio con estas caracteriacutesticas tiene un
valor aproximado de $600000 pesos
(Moneda nacional Mexicana)
Switch Cisco
Gigabit Ethernet
1
Modelo SG200 de 26 puertos
Costo en el mercado alrededor de
$2000000 pesos MN
Total
12200000 pesos MN
16
Capiacutetulo 2 Estado del Arte
Tiacutetulo del Trabajo Introduccioacuten a la Criptografiacutea
Autor Gibraacuten Granados Paredes
Fecha Julio 2010
Lugar Ciudad de Meacutexico
Publicado en Coordinacioacuten de Publicaciones Digitales DGSCA-UNAM
httpwwwrevistaunammxvol7num7art55int55htm
Siacutentesis Cuando se desea tener seguridad hablando en aacutembitos informaacuteticos la
criptografiacutea es una herramienta muy uacutetil el autor lo entiende tambieacuten como un medio para
garantizar las propiedades de confidencialidad integridad y disponibilidad de los recursos de un
sistema
Con la criptografiacutea se puede garantizar las propiedades de integridad y confidencialidad
pero hay que saber coacutemo utilizarla para ello es importante tener claros los conceptos baacutesicos que
estaacuten detraacutes de los sistemas criptograacuteficos modernos Estos conceptos van desde entender queacute es
la criptografiacutea coacutemo estaacute clasificada entender el funcionamiento baacutesico de algunos sistemas de
cifrado y conocer coacutemo se forman los documentos digitales como firmas y sobres digitales
Resultados El autor realiza un viaje por un gran nuacutemero de conceptos utilizados en
criptografiacutea el inicio y la clasificacioacuten de la misma asiacute como la criptografiacutea claacutesica y moderna y
analiza de manera breve algunos meacutetodos de cifrado maacutes comunes
17
Tiacutetulo del Trabajo Criptoanaacutelisis sobre meacutetodos claacutesicos de cifrado
Autores Sebastiaacuten Goacutemez Juan David Arias Diego Agudelo
Fecha 2 de mayo 2013
Lugar Ciudad de Meacutexico
Publicado en Scientia et Technica Antildeo XVII No 50 abril de 2012
Siacutentesis Los algoritmos criptograacuteficos utilizados desde la antigua Roma hasta nuestros
diacuteas son meacutetodos que convierten un mensaje de texto plano a cifrado al proceso inverso se le
conoce como descifrar Este artiacuteculo realiza un estudio de algunas teacutecnicas de encriptacioacuten claacutesicas
del siglo pasado como lo son el cifrado de Cesar y el cifrado de Vigeneacutere asiacute como muestra
teacutecnicas baacutesicas y modernas de criptoanaacutelisis basadas en la teoriacutea de la informacioacuten y estadiacutestica
como lo son la entropiacutea y el ataque de maacutexima correlacioacuten Las teacutecnicas de criptoanaacutelisis descritas
anteriormente pueden ser usadas en otros meacutetodos de cifrado siempre y cuando esteacuten presentes las
mismas debilidades
Resultados Los autores implementaron en lenguajes de programacioacuten Python un
algoritmo para el caacutelculo de entropiacutea para diferentes longitudes de clave Para la implementacioacuten
de los algoritmos de cifrado y descifrado de Vigeneacutere y de maacutexima correlacioacuten utilizaron lenguaje
de programacioacuten C++ Se probaron los meacutetodos anteriormente descritos sobre textos planos de
diferentes longitudes logrando un resultado de 9385 de efectividad en promedio
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de dos de los
algoritmos de encriptacioacuten maacutes antiguos y baacutesicos pero sobre todo que conociendo los meacutetodos
de criptoanaacutelisis me permitiraacuten analizar debilidades y fortalezas de algoritmos
18
Tiacutetulo del Trabajo ULTRACOM Computacioacuten de Alto Rendimiento para Criptoanaacutelisis
Autor Antonio Castro Lechtaler Alejandro Repetto Martiacuten Bianchi Marcelo Cipriano
Alejandro Arroyo Arzubi Ceacutesar Cicerchia Eduardo Malvacio
Fecha octubre 2014
Lugar Buenos Aires Argentina
Publicado en XX Congreso Argentino de Ciencias de la Computacioacuten (Buenos Aires
2014)
Siacutentesis La generacioacuten de nuacutemeros primos fundamentales para la produccioacuten de claves
el anaacutelisis de secuencias pseudo-aleatorias los procesos de verificacioacuten y validacioacuten de algoritmos
de seguridad en un sentido geneacuterico requieren enormes cantidades de procesamiento Los
procesos relacionados con la matemaacutetica criptograacutefica se caracterizan por la alta necesidad de
coacutemputo El objetivo de ULTRACOM es desarrollar una computacioacuten distribuida multipropoacutesito
que permita como primera aplicacioacuten real el anaacutelisis la validacioacuten y la ejecucioacuten de pruebas de
estreacutes sobre sistemas criptograacuteficos El presente trabajo de investigacioacuten detalla el proceso de
desarrollo de ULTRACOM y muestra un ejemplo de su implementacioacuten en una versioacuten Beta Para
ello toman como entrada dos versiones del algoritmo Trivium Utilizando la misma
infraestructura y sin desarrollo extra se prueban grandes voluacutemenes de claves y vectores de
inicializacioacuten de los algoritmos en busca de secuencias deacutebiles de menor longitud que la de la
buscada
Resultados El equipo implementoacute una versioacuten beta de la plataforma ULTRACOM
comprobando la factibilidad y viabilidad teacutecnica de la generalizacioacuten de la infraestructura de
computacioacuten distribuida en grilla (malla) BOINC Este avance permite extender los horizontes de
BOINC y habilita la posibilidad de obtener la capacidad de coacutemputo de alto rendimiento a bajo
19
costo Concluyeron que ULTRACOM es un proyecto viable escalable y de alto impacto para la
evaluacioacuten y validacioacuten de algoritmos criptograacuteficos
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento y la
implementacioacuten de una arquitectura de computacioacuten distribuida y una vez siendo factible su
desarrollo utilizar su poder de coacutemputo atacando a traveacutes de un algoritmo un sistema criptograacutefico
20
Tiacutetulo del Trabajo Criptografiacutea Cuaacutentica
Autor M Baig
Fecha 2010
Lugar Barcelona Espantildea
Siacutentesis En este artiacuteculo el autor realiza una breve introduccioacuten a la criptografiacutea claacutesica y
la relacioacuten que existe con la teoriacutea de la informacioacuten de Shannon la cual asegura que el cifrado
digital simeacutetrico es secreto y perfecto siempre y cuando se cumplan los tres requisitos
1 La llave ha de ser aleatoria
2 La llave debe usarse soacutelo una vez
3 La llave ha de ser tan larga como el mensaje y de un solo uso debe de estar en posesioacuten
tanto del emisor como del receptor
El punto 3 es el maacutes complicado de cumplir debido a la forma de compartir la llave entre
el emisor y receptor
Maacutes adelante en el artiacuteculo se hace un anaacutelisis sobre otra teacutecnica de criptografiacutea que es el
cifrado digital asimeacutetrico en la que se estudia coacutemo funcionan las llaves privadas y puacuteblicas asiacute
como el meacutetodo de criptograacutefico RSA
Resultados
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento maacutes profundo de
los meacutetodos de criptografiacutea simeacutetricos y asimeacutetricos especiacuteficamente el algoritmo asimeacutetrico
RSA
21
Tiacutetulo del Trabajo La Criptografiacutea Maderista en la Revolucioacuten Mexicana (1910-1911)
Criptoanaacutelisis de una carta cifrada por Gabriel Leyva Solano
Autor Roberto Narvaacuteez
Fecha 2011
Lugar Meacutexico DF
Siacutentesis Este trabajo aborda temas relacionados con las comunicaciones secretas del
movimiento revolucionario comandado por Francisco I Madero a partir de 1910 Se compone de
dos partes la primera es una breve resentildea criacutetica de ejemplos criptograacuteficos del maderismo que
fueron generados entre 1910 y 1911 la segunda describe paso a paso el criptoanaacutelisis que aplicoacute
el autor Roberto Narvaacuteez para desencriptar una carta parcialmente cifrada de Gabriel Leyva Solano
a Francisco I Madero
Resultados El propoacutesito general uacuteltimo es contribuir al conocimiento de la criptografiacutea
mexicana en el siglo XX En lo particular se trata de poner a disposicioacuten de los estudiosos el
contenido completo de la carta de Leyva Solano por primera vez despueacutes de 100 antildeos y al mismo
tiempo someter a la criacutetica teacutecnica e histoacuterica el procedimiento criptoanaliacutetico puesto en operacioacuten
para recuperar el texto plano
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de la teacutecnicas y
estudios realizados en nuestro paiacutes sobre formas y meacutetodos de encriptacioacuten durante la Revolucioacuten
Mexicana incluso mucho antes de la 2ordf Guerra mundial momento donde se registroacute un auge
importante dentro de la criptografiacutea moderna
22
Tiacutetulo de Tesis Anaacutelisis de la programacioacuten concurrente sobre la cpu y gpu en el
desarrollo de fractal build
Autor Joseacute Vicente Anilema Guadalupe
Fecha 2012
Lugar Riobamba Ecuador
Siacutentesis Este trabajo aborda temas relacionados con la geometriacutea euclidiana debido a que
el autor realiza una aplicacioacuten que crea paisajes fractales lo que significa crear un paisaje con una
misma figura geomeacutetrica Lo anterior se traduce en una necesidad de gran poder de coacutemputo para
realizar de una manera eficaz la tarea Dentro de la tesis el autor realiza diversos estudios
comparativos entre el procesamiento serializado realizado por una CPU (unidad central de
procesamiento) y procesamiento paralelizado realizado por una GPU (Unidad grafica de
procesamiento) a traveacutes de diversas herramientas para obtener el mejor aprovechamiento de los
recursos
Resultados El autor concluye que es necesario examinar los algoritmos a utilizar para que
estos puedan ser utilizados en coacutemputo paralelo Ademaacutes de que es necesario aprender ciertas
herramientas a utilizar para aprovechar al maacuteximo el coacutemputo distribuido y no desperdiciar el
poder de procesamiento muy superior que las GPUrsquos nos pueden brindar
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de la teacutecnicas y
estudios realizados para medir y comparar la velocidad de procesamiento de la unidad central de
procesamiento (CPU) y la unidad graacutefica de procesamiento (GPU) Asiacute como la medida en Flops
(Operaciones de punto flotante por segundo)
23
Tiacutetulo del Trabajo Arquitectura cluacutester de alto rendimiento utilizando herramientas de
software libre
Autores Leonardo Chiquiguanca Edyson Malla Freddy Ajila Rene Guamaacuten-Quincheacute
Fecha mayo 2015
Lugar Loja Ecuador
Siacutentesis Este trabajo aborda temas relacionados con la gran cantidad de datos que tienen
que procesar las universidades puacuteblicas dentro de sus investigaciones realizadas en diferentes aacutereas
como la ingenieriacutea medicina etc y la carencia de recursos econoacutemicos para obtener
supercomputadoras que procesen dicha informacioacuten Los autores proponen dentro de su
investigacioacuten la utilizacioacuten de equipo de coacutemputo existente dentro de su universidad y por medio
de software libre realizar agrupamiento de computadoras para poder lograr el procesamiento de
grandes voluacutemenes de datos de una manera accesible
Resultados Los autores concluyen que la mejor arquitectura para el agrupamiento
(cluacutester) de computadoras en ambientes universitarios es la arquitectura Beowulf debido a que la
implementaron en hardware convencional existente dentro de su campus universitario y que
ademaacutes usaron software libre mencionando que el poder de coacutemputo logrado fue muy cercano al
de una supercomputadora
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de las teacutecnicas
utilizadas en ambientes universitarios para la realizacioacuten de agrupamiento de computadoras y
sobre todo la optimizacioacuten de costos para realizar dicha tarea y tener como finalidad el lograr
mayor capacidad de procesamiento
24
Tiacutetulo de Tesis Desarrollo de un algoritmo de cifrado simeacutetrico de resumen
Autores Jonathan Dave Orjuela Navarrete
Antildeo 2008
Lugar Bogotaacute DC
Siacutentesis Esta tesis realiza un estudio de varios meacutetodos de criptografiacutea simeacutetrica para
posteriormente utilizando diferentes foacutermulas matemaacuteticas crear un algoritmo criptograacutefico
nuevo Dentro de la tesis utiliza dos meacutetodos para realizar pruebas a su algoritmo criptoanaacutelisis
diferencial y criptoanaacutelisis basado en fallos de hardware Dentro de los cuales hace un estudio
detallado de las teacutecnicas y herramientas de criptoanaacutelisis realizado a su algoritmo
Resultados El autor concluye de manera positiva con la realizacioacuten del algoritmo y de
manera satisfactoria con la realizacioacuten de criptoanaacutelisis a su algoritmo pudiendo demostrar la
fortaleza del algoritmo a traveacutes de ejemplo de cifrado con textos claro muy parecido y su
conversioacuten a cadenas completamente diferentes
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de criptoanaacutelisis diferencial y criptoanaacutelisis basado en fallos de hardware para la
evaluacioacuten de algoritmos de cifrado simeacutetrico de textos claros
25
Tiacutetulo del Trabajo Firt step in a Pc cluster development with openMosix
Autores Javier Bilbao Gorka Garate
Antildeo 2008
Lugar Bilbao Spain
Siacutentesis En este trabajo se afirma que es posible hacer maacutequinas de alta capacidad de
caacutelculo mediante la interconexioacuten de equipos con redes de alta velocidad A este tipo de sistemas
se les llama sistemas distribuidos y hoy en diacutea es la tecnologiacutea maacutes utilizada para resolver
problemas que requieren una gran capacidad de caacutelculo La agrupacioacuten de computadoras permite
que varias computadoras trabajen juntas para resolver los problemas de informaacutetica comuacuten Este
artiacuteculo centra su estudio en uno de los diferentes meacutetodos de agrupamiento de computadoras
openMosix El trabajo tambieacuten evaluacutea el cluacutester por dos casos de estudio donde se mejora el
tiempo de ejecucioacuten de los problemas resueltos
Resultados El autor del artiacuteculo concluye con la realizacioacuten satisfactoria de agrupamiento
de computadoras bajo el meacutetodo openMosix el cual uacutenicamente permite agrupamiento de la forma
SSI (Single System Image) que se refiere a que uacutenicamente se puede realizar el agrupamiento con
todos los nodos ejecutando un mismo sistema operativo
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de agrupamiento de computadoras openMosix ventajas desventajas y dificultades para
su implementacioacuten
26
Tiacutetulo del Trabajo Disentildeo e implementacioacuten de un cluacutester tipo Beowulf para el desarrollo
de coacutemputo cientiacutefico avanzado
Autores Edgar Rubeacuten Gonzaacutelez Ramiacuterez Abimael Rodriacuteguez Saacutenchez
Antildeo 2008
Lugar Instituto Politeacutecnico Nacional Meacutexico DF
Siacutentesis Este trabajo de tesis ha desarrollado e implementado una herramienta
computacional llamada Cluster Beowulf para mejorar la programacioacuten paralela Comenzando
con la memoria compartida y distribuida el autor implemento el agrupamiento tipo Beowulf
pensando en procesamiento paralelo la optimizacioacuten de las fuentes informaacuteticas El disentildeo se
construye mediante una distribucioacuten Linux Fedora Core 6 a 64 bits utilizando todas las ventajas
que ofrece el estaacutendar Gigabyt Ethernet La programacioacuten paralela fue desarrollada en lenguaje C
tanto para MPI como para OPENMP
Resultados El autor del artiacuteculo concluye que de acuerdo con los resultados el tiempo
de procesamiento se redujo con el uso muacuteltiples nuacutecleos mejoroacute hasta ocho veces gracias al
multihilo
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de agrupamiento de computadoras Beowulf y su implementacioacuten en sistemas operativos
de uso libre Linux distribucioacuten Fedora 6
27
Marco Teoacuterico
21 Seguridad de la Informacioacuten
La Seguridad de la Informacioacuten consiste y hace referencia a la proteccioacuten de cualquier
amenaza para salvaguardar los activos fijos y en especial toda informacioacuten de la cual estaacute basada
la continuidad de las operaciones de la empresa sean estas ocasionadas dentro o fuera de la misma
con esto se logra disminuir los dantildeos y perjuicios que estas amenazas causariacutean a la organizacioacuten
y a la vez aumentar las oportunidades de servicio hacia otras empresas
La Seguridad de la informacioacuten se consigue mediante la implementacioacuten de controles
efectivos que pueden ser normas manual de funciones buenas praacutecticas procedimientos
estructuras organizativas funciones de software y hardware planes de contingencia y herramientas
que se encargan de proteger la privacidad e integridad de la informacioacuten que se almacena en un
sistema informaacutetico Estos controles necesitan continuamente ser establecidos monitoreados
revisados y mejorados en donde sea necesario para asegurar que se cumplan los objetivos
especiacuteficos de seguridad en cada aacuterea de negocio de la organizacioacuten
La seguridad informaacutetica es en realidad una rama de la seguridad de la informacioacuten aunque
de forma praacutectica algunos autores suelen utilizar de manera indistinta ambos teacuterminos
211 Objetivo de la seguridad de la informacioacuten En la seguridad de la informacioacuten
sabiendo que dichos procesos de seguridad permiten proteger el recurso maacutes importante y valioso
de una organizacioacuten partiendo como principio fundamental los procesos de aseguramiento el
28
objetivo del proceso de seguridad informaacutetica es obtener un nivel aceptable de seguridad ya que
la informacioacuten es lo maacutes valioso que tiene una institucioacuten o empresa por lo tanto esta debe ser
protegida para que no sea vulnerable y utilizada para fines maliciosos
212 Principios de la seguridad informaacutetica
Confidencialidad Los datos solo deben ser conocidos y accedidos por quienes esteacuten
autorizados durante su almacenamiento procesamiento o trasmisioacuten Verificar y certificar que solo
los usuarios con accesos autorizados puedan acceder a la informacioacuten
Integridad Los datos solo pueden ser modificados y eliminados por quienes esteacuten
autorizados para ello es decir los sistemas y aplicaciones solo deben ser operados por personal
autorizado
Disponibilidad Los sistemas que almacenan datos e informacioacuten deben garantizar su
acceso cuando asiacute se requiera por quienes tengan derecho a ello
213 Caracteriacutesticas de seguridad informaacutetica
Control Solo los usuarios autorizados deciden cuaacutendo y coacutemo permitir el acceso a la
informacioacuten
Auditoriacutea Establece las acciones cuaacutendo las implementa y quieacuten las realiza sobre el
sistema
Autenticidad Define que la informacioacuten necesaria es correcta utilizable y vaacutelida en tiempo
y forma
No Repudio Su funcioacuten es evitar que alguna entidad que envioacute o recibioacute informacioacuten
alegue que no lo hizo
29
214 Formas de Autenticacioacuten
Contrasentildea Una contrasentildea es un tipo de seguridad informaacutetica ya que es una serie de
caracteres secretos que permiten a un usuario tener acceso a un archivo equipo de coacutemputo o
programa y negar el acceso a usuarios no autorizados
Certificado digital Es un tipo de seguridad informaacutetica que permite la firma digital
electroacutenica que garantiza teacutecnica y legalmente la identidad de una persona en Internet
Autenticacioacuten HTTP Tipo de seguridad informaacutetica que delega la autenticacioacuten de
usuarios a un servidor a traveacutes de Kerberos
215 Ciber-seguridad Con los avances tecnoloacutegicos y la demanda que ha causado en ello
existe un elevado iacutendice de informacioacuten personal y empresarial que circula y se mantiene en la red
por la utilizacioacuten del internet esto permite que toda informacioacuten quede expuesta a cualquier ataque
de ciber-delincuentes los cuales buscan la manera de vulnerar cualquier sistema para espiar robar
informacioacuten o hacer dantildeo de cualquier tipo por lo que se ha visto la necesidad de tomar medidas
de seguridad para salvaguardar la informacioacuten ya que es muy importante
La ciberseguridad es la proteccioacuten de los sistemas conectados a Internet incluidos el
hardware el software y los datos de los ciberataques En un contexto informaacutetico la seguridad
comprende la ciberseguridad y la seguridad fiacutesica ambas son utilizadas por las empresas para
proteger contra el acceso no autorizado a los centros de datos y otros sistemas de coacutemputo El
objetivo de la ciberseguridad es limitar el riesgo y proteger los activos de Tecnologiacuteas de
Informacioacuten de los atacantes con intenciones maliciosas La seguridad de la informacioacuten estaacute
30
disentildeada para mantener la confidencialidad integridad y disponibilidad de los datos es un
subconjunto de la ciberseguridad
22 Criptografiacutea
La Criptografiacutea tambieacuten llamada ldquoescritura ocultardquo tradicionalmente en el aacutembito de
criptografiacutea es donde se ocupan las teacutecnicas de cifrado o codificacioacuten que permiten alterar el
contenido de cierta informacioacuten o mensajes con el fin de hacerlos ininteligibles a receptores o
personas no autorizadas (Meneacutendez-Barzanallana 17)
Actualmente la criptografiacutea se encarga de analizar algoritmos protocolos y sistemas que
son utilizados para proveer seguridad a las comunicaciones informacioacuten y a las entidades que se
comunican entre siacute
221 Tipos de Criptografiacuteas
2211 Tablas Hash Un hash o funcioacuten hash toma un grupo de caracteres (llamado clave)
y lo asigna a un valor de cierta longitud (llamado valor hash o hash) El valor hash es representativo
de la cadena de caracteres original pero normalmente es maacutes pequentildeo que el original
El hash tambieacuten es utilizado en el cifrado y descifrado de firmas digitales La funcioacuten hash
transforma la firma digital luego tanto el valor hash como la firma se enviacutean al receptor El
receptor utiliza la misma funcioacuten hash para generar el valor hash y luego lo compara con el recibido
31
en el mensaje Si los valores hash son los mismos es probable que el mensaje se haya transmitido
sin errores
Un ejemplo de una funcioacuten hash se llama plegado(folding) Esta toma un valor original lo
divide en varias partes luego agrega las partes y usa los uacuteltimos cuatro diacutegitos restantes como
valor o clave hash
2212 Tipos de algoritmos Hash
22121 SHA - 1 (Secure Hash Algorithm) Es un algoritmo criptograacutefico de Hash
publicado por el gobierno de los Estados Unidos Genera un valor Hash de 160 bits a partir de una
secuencia de longitud arbitraria Es considerado lo suficientemente seguro para aplicaciones
praacutecticas pero hay disponibles versiones maacutes robustas SHA - 256 SHA - 384 y SHA - 512 que
generan valores Hash de 256 384 y 512 bits respectivamente estas versiones reemplazaraacuten a SHA
- 1 mientras se siga trabajando sobre ellas (Borghello 2009)
22122 MD5 (Message Digest Algorithm) En criptografiacutea MD5 es una funcioacuten hash
criptograacutefica ampliamente utilizada con un valor hash de 128 bits Como estaacutendar de Internet (RFC
1321) MD5 se ha empleado en una amplia variedad de aplicaciones de seguridad y tambieacuten se
usa comuacutenmente para verificar la integridad de los archivos Un hash MD5 generalmente se
expresa como un nuacutemero hexadecimal de 32 diacutegitos
MD5 es una versioacuten reforzada de MD4 Al igual que MD4 el hash MD5 fue inventado por
el profesor Ronald Rivest del Massachusetts Institute of Technology (MIT) Ademaacutes MD5 se
32
utilizoacute como modelo para SHA-1 ya que comparten muchas caracteriacutesticas comunes MD5 y
SHA-1 son los dos algoritmos hash maacutes utilizados en la actualidad aunque el uso de MD5 ha
disminuido ya que ahora se considera roto (Borghello 2009)
22123 RIPEMD ndash 160 Es una funcioacuten hash criptograacutefica basada en la construccioacuten
Merkle-Damgaringrd (MD) Se usa en el estaacutendar de Bitcoin Es una versioacuten reforzada del algoritmo
RIPEMD que produce un resumen de hash de 128 bits mientras que el algoritmo RIPEMD-160
produce una salida de 160 bits La funcioacuten de compresioacuten consta de 80 etapas formadas por 5
bloques que se ejecutan 16 veces cada uno Este patroacuten se ejecuta dos veces con los resultados
combinados en la parte inferior utilizando la adicioacuten del moacutedulo 32 (Borghello 2009)
22124 Funcioacuten Merkle-Damgaringrd La construccioacuten MD es una metodologiacutea para crear
funciones hash resistentes a colisiones a partir de funciones de compresioacuten unidireccionales Ralph
Merkle la propuso en el antildeo de 1979 en ldquoA certified Digital Signaturerdquo posterior a este estudio
Ivan Damgaringrd demostroacute de manera independiente que la estructura era soacutelida (Merkle amp
Damgaringrd sf)
2213 Cifrado simeacutetrico Los cifrados simeacutetricos son los cifrados criptograacuteficos maacutes
antiguos y maacutes utilizados En un cifrado simeacutetrico la clave que descifra el texto cifrado es la
misma (o puede derivarse faacutecilmente) de la clave que cifra el texto claro Esta clave a menudo se
conoce como la clave secreta Los cifrados simeacutetricos maacutes utilizados son DES y AES
La problemaacutetica que surge es la seguridad de la clave
33
El emisor cifra el mensaje con una clave
Enviacutea el mensaje cifrado de tal manera que nadie puede descifrarlo sin dicha clave
El receptor obtiene la clave y entonces puede descifrar el mensaje con la misma clave
que recibioacute del emisor
Algunos algoritmos de este tipo son
22131 RC5 (Cifrado de Rivest) Es un algoritmo de cifrado de bloque de clave simeacutetrica
disentildeado por Ron Rivest en 1994 Se destaca por ser simple raacutepido (debido a que usa solo
operaciones de coacutemputo primitivas como XOR o shift) y ademaacutes por consumir menos memoria
RC5 es un cifrado de bloques y aborda dos bloques de palabras a la vez Dependiendo del
tamantildeo del bloque de texto sin formato nuacutemero de rondas y tamantildeo de clave se pueden definir
varias instancias de RC5 y cada instancia se denota como RC5-w r b donde w = tamantildeo de
palabra en bits r = nuacutemero de rondas y b = tamantildeo de la clave en bytes (Pawar 2016)
Como se ha mencionado RC5 utiliza bloques de 2 palabras el tamantildeo del bloque de texto
sin formato puede ser de 32 64 o 128 bits
22132 IDEA (International Data Encryption Algorithm) Baacutesicamente es un algoritmo
de cifrado de bloque simeacutetrico El algoritmo asimeacutetrico utiliza la misma clave para el cifrado y
descifrado Un cifrado de bloque divide el mensaje en bloques cada uno de una longitud fija y
luego cifra cada bloque de forma independiente
34
El tamantildeo de bloque tiacutepico es de 16 bytes de 128 bits Un cifrado de bloque generalmente
operaraacute en bloques o rondas donde se aplica parte de la clave a la ronda Despueacutes de un cierto
nuacutemero de rondas digamos entre 10 y 16 se termina con el texto cifrado para ese bloque
El bloque de texto cifrado tiene exactamente el mismo tamantildeo que el bloque de texto sin
formato 16 bytes Para cada ronda se trabaja en el bloque utilizando una parte de la clave de
cifrado a la que se le llama la clave redonda Muacuteltiples claves redondas se derivan de la clave de
cifrado utilizando para esto un programa de claves
La programacioacuten de claves es un algoritmo que cambia XOR multiplica y realiza otros
tipos de operaciones en la clave de cifrado original para obtener estas claves redondas Bueno si
tengo un bloque de 16 bytes y tengo una clave de 128 bits que tambieacuten es de 16 bytes (Educba
2019)
22133 DES (Data Encryption Standard) El algoritmo DES es el algoritmo de seguridad
maacutes popular Es un algoritmo simeacutetrico lo que significa que se utilizan las mismas claves para
cifrar descifrar datos confidenciales La longitud de la clave es de 8 bytes (64 bits) Entonces
para cifrar descifrar datos el algoritmo DES utiliza una clave de 8 bytes pero 1 byte (8 bits) para
la verificacioacuten de paridad Es un algoritmo de cifrado de bloque por lo tanto el tamantildeo del bloque
de datos del algoritmo DES es de 64 bits Para cifrar descifrar datos el algoritmo DES utiliza la
estructura Feistel Entonces utiliza una ronda para cifrar descifrar datos Aunque el tamantildeo del
35
bloque de datos es de 64 bits el nuacutemero de rondas seraacute de 16 rondas asiacute mismo utilizaraacute diferentes
subclaves para cada ronda por lo tanto el nuacutemero de subclaves seraacute de 16 subclaves
Como se puede observar la clave efectiva es de 56 bits por consiguiente se tiene 256
combinaciones posibles por lo que la fuerza bruta se hace casi imposible (Sanjoy 2015)
2214 Cifrado asimeacutetrico Los cifrados asimeacutetricos tambieacuten se conocen como cifrados
con claves puacuteblicas y privadas Usan dos claves una para el cifrado de mensajes y la otra durante
el descifrado
Un intruso puede encriptar cualquier mensaje usando la clave puacuteblica conocida Los
cifrados asimeacutetricos son por lo tanto vulnerables a los ataques de texto sin formato Los cifrados
con encriptacioacuten de clave puacuteblica deben proporcionar seguridad contra tales ataques Despueacutes de
encriptar dos mensajes con la misma clave puacuteblica el intruso no puede distinguir queacute texto cifrado
estaacute conectado con queacute texto plano Ademaacutes un observador que analiza dos mensajes encriptados
usando el mismo algoritmo y la misma clave puacuteblica no puede distinguir sus textos cifrados
(Kowalczyk 2015)
Los cifrados asimeacutetricos son mucho maacutes lentos que los cifrados simeacutetricos (generalmente
mil veces maacutes lentos) Es una praacutectica comuacuten usar el cifrado de clave puacuteblica solo para establecer
la conexioacuten segura y negociar la nueva clave secreta que luego se utilizaraacute para proteger la
comunicacioacuten mediante cifrado simeacutetrico Ejemplos de este cifrado son
36
22141 DSA (Digital Signature Algorithm - Algoritmo de Firma digital) Es un estaacutendar
del Gobierno Federal de los Estados Unidos para firmas digitales Fue propuesto por el Instituto
Nacional de Estaacutendares y Tecnologiacutea (NIST) en agosto de 1991 para ser usado en su Estaacutendar de
Firma Digital (DSS) en el antildeo de 1993
La primera parte del algoritmo DSA es la generacioacuten de clave puacuteblica y clave privada que
puede describirse como
Se elige un nuacutemero primo q que se llama divisor primo
Se elige otro nuacutemero primo p de modo que pndash1 mod q = 0 p seraacute llamado moacutedulo
primo
Ahora se elige un nuacutemero entero g tal que 1 ltg ltp g q mod p = 1 g = h ((p
ndash 1) q) mod p q tambieacuten se llama moacutedulo de orden multiplicativo de g moacutedulo p
Se elige un nuacutemero entero tal que 0 ltx ltq
Se calcula y como g x mod p
Se empaqueta la clave puacuteblica como p q g y
Por uacuteltimo se empaqueta la clave privada como p q g x
La segunda parte del algoritmo DSA es la generacioacuten de firma y la verificacioacuten de firma
Para generar una firma de mensaje el remitente puede seguir estos pasos
Se genera el resumen del mensaje h utilizando un algoritmo hash como SHA1
Se genera un nuacutemero aleatorio k tal que 0 ltk ltq
37
Se calcula r como (g k mod p) mod q Si r = 0 seleccione una k diferente
Ahora se calcula i de modo que k i mod q = 1 i se llama el inverso multiplicativo modular
de k moacutedulo q
Se calcula s = i (h + r x) mod q Si s = 0 se selecciona una k diferente
Por uacuteltimo se empaqueta la firma digital como r s (Yang 2019)
22142 RSA Encriptacioacuten RSA encriptacioacuten Rivest-Shamir-Adleman tipo de
criptografiacutea de clave puacuteblica ampliamente utilizada para la encriptacioacuten de datos de correo
electroacutenico y otras transacciones digitales a traveacutes de Internet RSA lleva el nombre de sus
inventores Ronald L Rivest Adi Shamir y Leonard M Adleman quienes lo crearon mientras
trabajaban en la facultad del Instituto Tecnoloacutegico de Massachusetts (Simmons 2019)
En el sistema RSA un usuario elige de manera secreta un par de nuacutemeros primos p y q tan
grandes que factorizar el producto n = pq estaacute mucho maacutes allaacute de las capacidades informaacuteticas
proyectadas para la vida uacutetil de los cifrados A partir del antildeo 2000 los estaacutendares de seguridad del
gobierno de EE UU exigen que el moacutedulo tenga un tamantildeo de 1024 bits es decir p y q deben
tener un tamantildeo de aproximadamente 155 diacutegitos decimales por lo que n es aproximadamente un
nuacutemero de 310 diacutegitos Dado que los nuacutemeros duros maacutes grandes que actualmente se pueden
factorizar son solo la mitad de este tamantildeo y dado que la dificultad de factorizar se duplica
aproximadamente por cada tres diacutegitos adicionales en el moacutedulo se cree que los moacutedulos de 310
diacutegitos estaacuten a salvo de factorizar durante varias deacutecadas
38
2215 Cifrado hiacutebrido Es una teacutecnica comuacuten que combina diferentes funciones
criptograacuteficas como el cifrado de bloque Con el cifrado hiacutebrido se pueden cifrar datos firmarlos
o agregar un MAC y enviarlos en un objeto seguro (como una cadena o archivo) a traveacutes de un
canal de comunicacioacuten inseguro (sin un acuerdo clave entre dos partes)
En el sistema de cifrado hiacutebrido el texto plano (sin formato) se divide en tokens Luego
se calcula la longitud de cada ficha Los tokens y sus longitudes se almacenan en una matriz
Posteriormente se aplica el algoritmo Ceacutesar anidado sugerido El texto producido se almacena en
una matriz n x m llamada A Luego la transposicioacuten de esta matriz At se calcula utilizando
nuestra versioacuten revisada del cifrado de transposicioacuten para resolver el problema de secuenciacioacuten
A continuacioacuten el algoritmo RSA revisado se aplica en la matriz producida En el paso final se
aplica el formato de datos textuales usando el coacutedigo ASCII para producir el texto cifrado El
proceso de descifrado se realiza de la misma manera pero en orden inverso (Nahar amp Abu Abbas
2010)
23 Criptoanaacutelisis
El criptoanaacutelisis es el proceso de estudiar sistemas criptograacuteficos para buscar debilidades
o fugas de informacioacuten En general se considera que el criptoanaacutelisis explora las debilidades de
las matemaacuteticas subyacentes de un sistema criptograacutefico pero tambieacuten incluye la buacutesqueda de
debilidades en la implementacioacuten como ataques de canal lateral o entradas de entropiacutea deacutebiles
39
Su funcioacuten es la de conseguir obtener el significado de mensajes creados por medio de
criptografiacutea El objetivo principal del criptoanaacutelisis es opuesto al de la criptografiacutea Tiene como
finalidad encontrar la debilidad de las diferentes teacutecnicas criptograacuteficas para explotarla y de esta
manera reducir o eliminar la seguridad de la teacutecnica criptograacutefica Cualquier intento de
criptoanaacutelisis puede ser llamado ataque Una vez que un atacante logra romper la seguridad que
una teacutecnica criptograacutefica aportaba al sistema se dice que dicho sistema ha sido roto y por lo tanto
dicho ataque tuvo eacutexito
El criptoanaacutelisis es la investigacioacuten de sistemas texto cifrado y cifrados para revelar el
significado oculto o los detalles del sistema mismo El objetivo de este tipo de estudio es descubrir
los aspectos ocultos incluso si la clave o el algoritmo principal no se pueden descifrar Se necesita
una combinacioacuten exitosa de persistencia matemaacuteticas intuicioacuten curiosidad y una computadora
que funcione para hacer un buen criptoanalista Este tipo de ruptura de coacutedigo es extremadamente
importante especialmente en el mundo tecnoloacutegicamente dependiente de hoy El criptoanaacutelisis es
constantemente realizado por criptoacutegrafos que intentan obtener informacioacuten valiosa y por aquellos
que intentan descifrar el coacutedigo para revelar secretos (Security Degree Hub 2017)
24 Niveles de seguridad
Los niveles de seguridad de sistemas operativos son otorgados de acuerdo con el sistema
operativo que esteacute utilizando la empresa o institucioacuten ya sea puacuteblica privada gubernamental o no
gubernamental En el manual ldquoTrusted Computer System Evaluation Criteriardquo (United States
40
Government Department of Defense 1983) el Departamento de Defensa de los Estados Unidos
define los siguientes niveles
241 Nivel D1 Este nivel es el maacutes bajo de seguridad por lo tanto la norma establece que
el sistema no es confiable Esta divisioacuten contiene solo una clase Estaacute reservado para aquellos
sistemas que han sido evaluados pero que no cumplen con los requisitos para un nivel de
evaluacioacuten superior
242 Nivel C1 Un sistema de nivel C1 cumple nominalmente los requisitos de seguridad
discrecionales al proporcionar separacioacuten de usuarios y datos Incorpora alguna forma de controles
creiacutebles capaces de imponer limitaciones de acceso de manera individual es decir aparentemente
adecuados para permitir que los usuarios puedan proteger la informacioacuten privada o del proyecto y
evitar que otros usuarios lean o destruyan accidentalmente sus datos Se espera que el entorno de
nivel C1 sea uno de los usuarios cooperantes que procesan datos con el mismo nivel de
sensibilidad Los siguientes son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten
de nivel C1 son
Control de acceso discrecional por ejemplo listas de control de acceso (ACL)
usuario grupo
Por lo general para usuarios que estaacuten en el mismo nivel de seguridad
Proteccioacuten de nombre de usuario y contrasentildea y base de datos de autorizaciones
seguras (ADB)
Sistema operativo protegido y modo de operaciones del sistema
Comprobacioacuten perioacutedica de integridad de TCB
41
Mecanismos de seguridad probados sin derivaciones obvias
Documentacioacuten para la seguridad del usuario
Documentacioacuten para la seguridad de la administracioacuten de sistemas
Documentacioacuten para pruebas de seguridad
Documentacioacuten de disentildeo TCB
Tiacutepicamente para usuarios en el mismo nivel de seguridad
La certificacioacuten C1 es rara Los sistemas de ejemplo son versiones anteriores de
Unix IBM RACF
243 Nivel C2 Los sistemas de esta clase imponen un control de acceso discrecional maacutes
fino que los sistemas (C1) lo que hace que los usuarios sean individualmente responsables de sus
acciones a traveacutes de procedimientos de inicio de sesioacuten auditoriacutea de eventos relevantes para la
seguridad y aislamiento de recursos Los siguientes son requisitos miacutenimos para los sistemas
asignados a una clasificacioacuten de nivel C2
La proteccioacuten de objetos puede ser para un solo usuario Por ejemplo a traveacutes de
una base de datos ACL
La autorizacioacuten de acceso solo puede ser asignada por usuarios autorizados
Proteccioacuten de reutilizacioacuten de objetos (Por ejemplo para evitar la reasignacioacuten de
objetos eliminados de manera segura)
Procedimientos obligatorios de identificacioacuten y autorizacioacuten para los usuarios (Por
ejemplo Usuario Contrasentildea)
Auditoriacutea completa de eventos de seguridad (es decir fecha hora evento usuario
eacutexito falla ID de terminal)
42
Modo de operacioacuten del sistema protegido
Proteccioacuten adicional para la autorizacioacuten y los datos de auditoriacutea
Documentacioacuten como C1 maacutes informacioacuten sobre el examen de la informacioacuten de
auditoriacutea
Esta es una de las certificaciones maacutes comunes Los sistemas operativos de ejemplo
son VMS IBM OS 400 Windows NT Novell NetWare 411 Oracle 7 DG AOS
VS II
244 Nivel B1 Los sistemas de este nivel requieren todas las caracteriacutesticas requeridas
para el nivel C2 Ademaacutes debe estar presente una declaracioacuten informal del modelo de poliacutetica de
seguridad etiquetado de datos y control de acceso obligatorio sobre sujetos y objetos nombrados
La capacidad debe existir para etiquetar con precisioacuten la informacioacuten exportada Cualquier falla
identificada por la prueba debe ser eliminada Los siguientes son requisitos miacutenimos para los
sistemas asignados a una clasificacioacuten de nivel B1
Etiquetado obligatorio de seguridad y acceso de todos los objetos (Por ejemplo
archivos procesos dispositivos)
Comprobacioacuten de integridad de etiquetas (Por ejemplo mantenimiento de etiquetas
de sensibilidad cuando se exportan datos)
Auditoriacutea de objetos etiquetados
Control de acceso obligatorio para todas las operaciones
Capacidad para especificar el nivel de seguridad impreso en salida legible para
humanos (Por ejemplo impresoras)
43
Capacidad para especificar el nivel de seguridad en cualquier salida legible por
maacutequina
Auditoriacutea mejorada
Proteccioacuten mejorada del sistema operativo
Documentacioacuten mejorada
Los sistemas operativos de ejemplo son HP-UX BLS Cray Research Trusted
Unicos 80 Digital SEVMS Harris CS SX SGI Trusted IRIX
245 Nivel B2 En los sistemas de nivel B2 el TCB se basa en un modelo de poliacutetica de
seguridad formal claramente definido y documentado que requiere que la aplicacioacuten de control de
acceso discrecional y obligatoria que se encuentra en los sistemas de nivel B1 se extienda a todos
los sujetos y objetos en el sistema Ademaacutes se abordan los canales encubiertos El TCB debe
estructurarse cuidadosamente en elementos criacuteticos para la proteccioacuten y no criacuteticos para la
proteccioacuten La interfaz TCB estaacute bien definida y el disentildeo y la implementacioacuten TCB le permiten
someterse a pruebas maacutes exhaustivas y una revisioacuten maacutes completa Se fortalecen los mecanismos
de autenticacioacuten se proporciona una gestioacuten confiable de las instalaciones en forma de soporte
para las funciones de administrador y operador del sistema y se imponen estrictos controles de
gestioacuten de la configuracioacuten El sistema es relativamente resistente a la penetracioacuten Los siguientes
son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten de nivel B2
Notificacioacuten de cambios en el nivel de seguridad que afectan a los usuarios
interactivos
Etiquetas de dispositivos jeraacuterquicos
44
Acceso obligatorio a todos los objetos y dispositivos
Comunicaciones de ruta confiables entre usuario y sistema
Rastreo de canales de almacenamiento encubiertos
Modo de operaciones del sistema maacutes estricto en unidades independientes de varios
niveles
Anaacutelisis de canales encubiertos
Pruebas de seguridad mejoradas
Modelos formales de TCB
Versioacuten actualizacioacuten y anaacutelisis y revisioacuten de parches
Los sistemas de ejemplo son Honeywell Multics Cryptek VSLAN Trusted
XENIX
246 Nivel B3 El TCB debe satisfacer los requisitos del monitor de referencia para mediar
todos los accesos de los sujetos a los objetos ser a prueba de manipulaciones y ser lo
suficientemente pequentildeo como para ser sometido a anaacutelisis y pruebas Con este fin el TCB estaacute
estructurado para excluir el coacutedigo que no es esencial para la aplicacioacuten de la poliacutetica de seguridad
con una importante ingenieriacutea del sistema durante el disentildeo y la implementacioacuten del TCB dirigido
a minimizar su complejidad Se admite un administrador de seguridad los mecanismos de
auditoriacutea se ampliacutean para sentildealar eventos relevantes para la seguridad y se requieren
procedimientos de recuperacioacuten del sistema El sistema es altamente resistente a la penetracioacuten
Los siguientes son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten de clase
(B3)
45
ACL adicionalmente basadas en grupos e identificadores
Acceso de ruta confiable y autenticacioacuten
Anaacutelisis automaacutetico de seguridad
Modelos TCB maacutes formales
Auditoriacutea de eventos de auditoriacutea de seguridad
Recuperacioacuten confiable despueacutes de la caiacuteda del sistema y documentacioacuten relevante
Cero defectos de disentildeo en TCB y defectos miacutenimos de implementacioacuten
El uacutenico sistema operativo con certificacioacuten B3 es Getronics Wang Federal XTS-
300
247 Nivel A1 Los sistemas en el nivel A1 son funcionalmente equivalentes a los del nivel
B3 en que no se agregan caracteriacutesticas arquitectoacutenicas adicionales ni requisitos de poliacuteticas La
caracteriacutestica distintiva de los sistemas en este nivel es el anaacutelisis derivado de la especificacioacuten
formal del disentildeo y las teacutecnicas de verificacioacuten y el alto grado resultante de seguridad de que el
TCB se implementa correctamente Esta garantiacutea es de naturaleza de desarrollo comenzando con
un modelo formal de la poliacutetica de seguridad y una especificacioacuten formal de alto nivel del disentildeo
Independientemente del lenguaje de especificacioacuten particular o del sistema de verificacioacuten
utilizado existen los siguientes criterios importantes para la verificacioacuten del disentildeo de nivel A1
Meacutetodos formales y prueba de integridad de TCB
Estos son los uacutenicos sistemas con certificacioacuten A1 Boeing MLS LAN Gemini
Trusted Network Processor Honeywell SCOMP (United States Government
Department of Defense 1983)
46
25 Sistemas Operativos
Un sistema operativo actuacutea como intermediario entre el usuario de una computadora y el
hardware de la computadora El propoacutesito de un sistema operativo es proporcionar un entorno en
el que un usuario pueda ejecutar programas de manera conveniente y eficiente
Un sistema operativo es un software que administra el hardware de la computadora El
hardware debe proporcionar mecanismos apropiados para garantizar el correcto funcionamiento
del sistema informaacutetico y para evitar que los programas del usuario interfieran con el correcto
funcionamiento del sistema (Carretero Peacuterez de Miguel Anasagasti Garciacutea Carballeira amp Peacuterez
Costoya 2001)
Un sistema operativo es un programa que controla la ejecucioacuten de programas de aplicacioacuten
y actuacutea como una interfaz entre el usuario de una computadora y el hardware de la computadora
Una definicioacuten maacutes comuacuten es que el sistema operativo es el uacutenico programa que se ejecuta
en todo momento en la computadora (generalmente llamado kernel) y todo lo demaacutes son
programas de aplicacioacuten
Un sistema operativo se ocupa de la asignacioacuten de recursos y servicios como memoria
procesadores dispositivos e informacioacuten El sistema operativo incluye los programas para
administrar estos recursos como un controlador de traacutefico un programador un moacutedulo de
administracioacuten de memoria programas de E S y un sistema de archivos (Pawar 2016)
47
251 Windows Sistema operativo de la empresa Microsoft es un conjunto de programas
que administra los recursos de una computadora Windows empieza a trabajar cuando se enciende
o inicializa el equipo para gestionar el hardware empezando desde los niveles maacutes baacutesicos
Es importante conocer que los sistemas operativos funcionan tanto en las computadoras
como en diferentes dispositivos electroacutenicos que usan microprocesadores En este caso Windows
su versioacuten estaacutendar funciona con computadoras Microsoft domina el mercado de los sistemas
operativos debido a su comodidad se puede decir que eacuteste sistema operativo se encuentra
instalado en el 887 de los equipos de coacutemputo que cuentan con acceso a Internet en todo el
mundo
Se pueden mencionar algunas aplicaciones principales (que eacutestas tambieacuten pueden ser
desinstaladas por los usuarios o actualizadas sin que el sistema operativo se dantildee o deje de
funcionar) se encuentran el procesador de texto WordPad el navegador Internet Explorer el
reproductor multimedia Windows Media y el editor de imaacutegenes Paint
La principal novedad que aportoacute Windows desde sus oriacutegenes fue la facilidad para usarlo
y el atractivo visual De hecho su nombre (ldquoventanasrdquo) se debe a la forma en que el sistema
presenta a los usuarios los recursos con los que cuenta su computadora lo que facilita las tareas
cotidianas Windows tambieacuten suele recibir varias criacuteticas por sus problemas de seguridad y por
otros fallos
48
252 Registro de Windows El registro es una base de datos jeraacuterquica que contiene datos
que son criacuteticos para el funcionamiento de Windows y las aplicaciones y servicios que se ejecutan
en Windows Los datos estaacuten estructurados en un formato de aacuterbol Cada nodo en el aacuterbol se llama
clave Cada clave puede contener subclaves y entradas de datos llamadas valores A veces la
presencia de una clave es el uacutenico dato que requiere una aplicacioacuten otras veces una aplicacioacuten
abre una clave y usa los valores asociados con la clave (Microsoft Inc 2019) Una clave puede
tener cualquier nuacutemero de valores y los valores pueden tener cualquier forma El registro es
utilizado por
Autenticacioacuten
Nuacutecleo (Kernel)
Controladores de dispositivos
Servicios
SAM
Las carpetas del sistema se almacenaraacuten en distintas rutas de acceso dependiendo de la
versioacuten de Windows con la que se esteacute trabajando a continuacioacuten cuatro de los cinco archivos
que maacutes interesan a esta investigacioacuten se encuentran en la siguiente ubicacioacuten SystemRoot
System32 Config dentro de las siguientes sub llaves
SAM - HKEY LOCAL MACHINE SAM
SECURITY - HKEY LOCAL MACHINE SECURITY
SOFTWARE - HKEY LOCAL MACHINE SOFTWARE
SYSTEM - HKEY LOCAL MACHINE SYSTEM
49
253 Administrador de cuentas de seguridad El administrador de cuentas de seguridad
(SAM por sus siglas en ingleacutes) es una base de datos en donde se encuentran las cuentas de
seguridad Esto es utilizado por Windows para administrar las cuentas de usuario y contrasentildeas en
el formato hash
Las contrasentildeas nunca se almacenan en formato de texto claro Se almacenan en formato
de hash para protegerlas de los ataques La base de datos SAM se implementa como un archivo de
registro y las obtiene del kernel de Windows y mantiene un bloqueo exclusivo al archivo SAM
esto quiere decir que el archivo tiene cierta medida de seguridad para el almacenamiento de las
contrasentildeas (Hernandez 2013)
No es posible copiar el archivo SAM a otra ubicacioacuten en el caso de los ataques en liacutenea
Dado que el archivo SAM estaacute bloqueado con un bloqueo exclusivo al sistema de archivos no
puede ser copiado o movido mientras se ejecuta Windows El bloqueo no iniciaraacute hasta que la
excepcioacuten de la pantalla azul haya sido inicializada o el sistema operativo haya sido apagado Sin
embargo los archivos en formato hash de contrasentildeas fuera de liacutenea estaacuten disponibles para los
ataques de fuerza bruta el contenido del archivo SAM puede ser copiado o descargado utilizando
diversas teacutecnicas
Un identificador de seguridad (SID) es un valor uacutenico de longitud variable utilizado para
identificar a un usuario Cada cuenta tiene un SID uacutenico emitido por una autoridad como un
controlador de dominio de Windows y almacenado en una base de datos de seguridad Cada vez
50
que un usuario inicia sesioacuten el sistema recupera el SID para ese usuario de la base de datos y lo
coloca en el token de acceso para ese usuario El sistema usa el SID en el token de acceso para
identificar al usuario en todas las interacciones posteriores con la seguridad de Windows Cuando
se ha usado un SID como identificador uacutenico para un usuario o grupo no se puede volver a usar
para identificar a otro usuario o grupo
La seguridad de Windows usa SID en los siguientes elementos de seguridad
En descriptores de seguridad para identificar al propietario de un objeto y grupo
primario
En las entradas de control de acceso para identificar al usuario para quien el acceso
estaacute permitido denegado o auditado
En tokens de acceso para identificar al usuario y los grupos a los que pertenece
2531 Identificador de Seguridad (SID Security Identifier)
S - 1 - 5 - 21 - 3983109318 - 554656936 - 3066752241 - 1000
S - indica que es un string de SID
1 - el nivel de revisioacuten
5 - el identificador de valor de autoridad o authority value no siempre seraacute 5 Entre otros
valores que se pueden encontrar estaacuten los siguientes
51
0 - sin autoridad
1 - autoridad global
2 - autoridad local
3 - autoridad de creador
4 - autoridad no uacutenica
5 - autoridad NT
9 - autoridad de administrador de recursos
21 - 3983109318 - 554656936 - 3066752241 - es el dominio en el que se encuentra el
sistema o el identificador local de la computadora
1000 - ID uacutenico para cada cuenta aquiacute se encuentra el RID (Relative Identifier) Nuacutemero
de longitud variable cualquier grupo o usuario que se cree de manera diferente a la predeterminada
recibiraacute un RID de 1000 o superior En el caso de que el valor sea 500 responde a que este SID
representa la cuenta de un administrador el valor de 500 siempre seraacute el mismo en cualquier cuenta
de administrador a su vez el valor 501 representa el SID de una cuenta Invitado (Guest)
(Hernandez 2013)
254 Autenticacioacuten NTML NTLM (NT LAN Manager) es un protocolo empleado por
muchos productos de Microsoft para realizar la autenticacioacuten desafiacuteorespuesta por lo tanto es el
esquema de autenticacioacuten que por defecto usa Firewall de Microsoft y tambieacuten los productos del
servidor proxy
52
Este software fue desarrollado para afrontar el problema del trabajo con Tecnologiacuteas Java
en un entorno orientado a Microsoft Puesto que no se basa en ninguna especificacioacuten oficial de
protocolo por lo tanto no hay garantiacutea de que funciona correctamente en todos los casos Tambieacuten
ha estado en algunas instalaciones de Windows donde funcionoacute con eacutexito
La Autenticacioacuten NTLM se compone de dos protocolos protocolo de autenticacioacuten NTLM
y protocolo de autenticacioacuten LM Estos protocolos utilizan una metodologiacutea de hash diferente para
almacenar contrasentildeas de los usuarios en la base de datos SAM (Hernandez 2013) (Meneacutendez-
Barzanallana 17)
26 LINUX (ROCKS)
Rocks es una distribucioacuten para cluacutester de Linux de coacutedigo abierto que permite a los usuarios
finales construir de manera maacutes amigable cluacutesteres computacionales y muros de visualizacioacuten en
mosaico Cientos de investigadores de todo el mundo han utilizado Rocks para implementar su
propio cluacutester
Desde mayo de 2000 el grupo Rocks ha abordado las dificultades de implementar cluacutesteres
manejables Encaminados hacia un objetivo crear cluacutesters de manera maacutes sencilla Por sencilla
significa faacutecil de implementar administrar actualizar y escalar Este objetivo impulsa a los
creadores de esta herramienta a ayudar a entregar el poder computacional de los cluacutesteres a una
amplia gama de usuarios cientiacuteficos Estaacute claro que poner a disposicioacuten de una amplia gama de
53
cientiacuteficos plataformas de computacioacuten paralelas estables y manejables ayudaraacute enormemente a
mejorar el estado del arte en herramientas paralelas (Rocksclusters 2010)
261 Escritorio De todos los escritorios disponibles para el sistema operativo Linux
GNOME ha logrado convertirse en el maacutes eficiente estable y confiable sin dejar de ser sencillo
de usar De hecho la mayoriacutea de los usuarios independientemente de su experiencia pueden
trabajar con GNOME casi sin esfuerzo
Los usuarios que son nuevos tanto en Linux como en GNOME hariacutean mejor en conocer
los entresijos del escritorio que hacen que Linux no solo sea faacutecil sino tambieacuten divertido
Un entorno de escritorio agrupa programas que trabajan juntos para formar un espacio de
trabajo informaacutetico cohesivo unificado transparente e interactivo para los usuarios O para
decirlo de manera maacutes simple el entorno de escritorio es la interfaz de usuario para el sistema
operativo En el caso de GNOME ese sistema operativo es Linux Sin un entorno de escritorio su
uacutenica alternativa es una sesioacuten de Shell (liacutenea de comandos) basada en texto (Wallen 2019)
262 Paquete de Oficina Una suite ofimaacutetica es una coleccioacuten de software creada por el
mismo proveedor y disentildeada para ser utilizada para tareas rutinarias dentro de una organizacioacuten
Por lo general una suite ofimaacutetica incluye aplicaciones como procesamiento de texto hojas de
caacutelculo presentacioacuten correo electroacutenico toma de notas base de datos colaboracioacuten y otros tipos
de software relacionados En la mayoriacutea de los casos cada aplicacioacuten en la suite ofimaacutetica se puede
instalar por separado y todas las aplicaciones dentro de la suite admiten la interoperabilidad entre
54
siacute Microsoft Office Suite Lotus Live Notes y LibreOffice son todas suites de oficina de uso
comuacuten
263 Organizador de archivos Es una funcioacuten avanzada disentildeada para agrupar y
renombrar archivos usando sus atributos del sistema o meta atributos
Cada archivo tiene atributos del sistema como la fecha (Acceso Creado y Modificado) el
tipo de archivo (definido por extensioacuten) y asociado con la aplicacioacuten registrada de ese tipo de
archivo Estos atributos se pueden usar para generar un nuevo nombre de archivo o carpeta (grupo)
para cada archivo con el mismo atributo Ademaacutes de los atributos del sistema algunos archivos
en su mayoriacutea medios o imaacutegenes pueden contener metacampos como el nombre del artista el
tiacutetulo el nombre del aacutelbum y otros El Organizador de archivos tambieacuten usa estos metacampos
para agrupar archivos en una carpeta con el mismo atributo Por lo tanto el organizador de archivos
opera reglas de organizacioacuten de archivos que definen la jerarquiacutea de agrupacioacuten de carpetas y las
reglas de cambio de nombre de archivos
Asiacute como el conocido ldquoexplorador de Windowsrdquo Linux integra un organizador de archivos
y carpetas llamado NAUTILUS para realizar tareas de manejo de archivos como mover copiar
renombrar crear carpetas y de esta manera administrar nuestros dispositivos de almacenamiento
55
27 Agrupamiento (Cluacutester) de Computadoras
El agrupamiento (cluacutester) de computadoras estaacute conformado por una coleccioacuten de
computadoras autoacutenomas interconectadas trabajando unidas como un solo recurso de computacioacuten
integrado El concepto de agrupamiento de computadoras nacioacute cuando los pioneros de la
supercomputacioacuten intentaban difundir diferentes procesos entre varias computadoras para luego
poder recoger los resultados que dichos procesos debiacutean producir Con un hardware maacutes barato y
faacutecil de conseguir se pudo perfilar que podriacutean conseguirse resultados muy parecidos a los
obtenidos con aquellas maacutequinas mucho maacutes costosas (Chirinov 2003)
Un agrupamiento de computadoras se puede definir como el trabajo realizado por dos o
maacutes computadoras que en conjunto se encargan de proveer una determinada solucioacuten Tiene como
finalidad agrupar el poder de coacutemputo de los nodos implicados para proporcionar una mayor
escalabilidad disponibilidad y fiabilidad (Branch Bedoya amp Mesa Muacutenera 2008)
La escalabilidad es la capacidad de un equipo para hacer frente a voluacutemenes de trabajo
cada vez mayores sin por ello dejar de prestar un nivel de rendimiento aceptable
La disponibilidad y la fiabilidad se encuentran bastante relacionadas aunque difieren
ligeramente en algunos aspectos La disponibilidad es la calidad de estar presente y listo para su
uso mientras que la fiabilidad es la probabilidad de un correcto funcionamiento
56
Entre los tipos de agrupamiento maacutes comunes se pueden encontrar de alta disponibilidad
(ambiente a prueba de fallas) coacutemputo de alto desempentildeo (los procesos o las tareas dadas se
presentan como un solo sistema virtual) y escalamiento horizontal (se utiliza para proporcionar
una sola interfaz a un conjunto de recursos que pueden aumentar o disminuir arbitrariamente su
tamantildeo en un cierto periodo de tiempo) (Gonzaacutelez Ramiacuterez amp Rodriacuteguez Saacutenchez 2008)
271 Beowulf Es una clase de computadora masivamente paralela de altas prestaciones
principalmente construida a base de agrupamiento de componentes hardware estaacutendar (Llorens amp
Pentildea 2002) Consta de un conjunto de nodos minimalistas unidos por un medio de
comunicaciones econoacutemico Esto quiere decir que tienen lo miacutenimo para ejecutar su funcioacuten de
hecho los nodos por siacute solos no son capaces de ejecutar siquiera un sistema operativo (Nievas
Pino amp Arroyo) Se puede ver como una supercomputadora paralela construida con hardware
comercial de faacutecil adquisicioacuten que posee como sistema operativo Linux Los cluacutesters Beowulf son
extremadamente poderosos pero no son para todas las personas Su principal desventaja es que
requieren software disentildeado para poder aprovechar los recursos del cluacutester (Lizaacuterraga 2002)
272 Mosix Seguacuten Peacuterez (2001) la arquitectura Mosix estaacute basada en la misma ideologiacutea
de la arquitectura Beowulf Se basa en un conjunto de parches aplicados al nuacutecleo (kernel) de Linux
y que asignan a todo el grupo de nodos un espacio de direcciones y de procesos comuacuten gracias al
cual los procesos migran de uno a otro con el fin de equilibrar favorablemente la carga del sistema
global Es una herramienta disentildeada para realizar balanceo de carga en el agrupamiento de forma
totalmente transparente de manera tal que los nodos se comportan como una sola maacutequina y asiacute
incrementar el aprovechamiento de cada uno de los nodos (Chaacutevez y otros 1999) La principal
57
ventaja de Mosix frente a Beowulf se basa precisamente en esto Mosix da mejores respuestas que
Beowulf frente a la caiacuteda o insercioacuten de nodos A parte de esto Mosix permite un cambio constante
de aplicacioacuten o incluso el correr aplicaciones independientes de forma simultaacutenea
273 OpenMosix OpenMosix es una extensioacuten del proyecto Mosix Seguacuten Chirinov
(2003) la idea de este modelo es que la distribucioacuten de tareas en el cluacutester la determina OpenMosix
de forma dinaacutemica conforme se van creando tareas Cuando un nodo estaacute demasiado cargado las
tareas que se estaacuten ejecutando pueden migrar a cualquier otro nodo del cluacutester Asiacute desde que se
ejecuta una tarea hasta que eacutesta muere podraacute migrar de un nodo a otro sin que el proceso sufra
mayores cambios
Ademaacutes OpenMosix funciona a nivel de kernel por tanto puede conseguir toda la
informacioacuten que necesite para decidir que tanto estaacute cargado un sistema y queacute pasos se deben
seguir para aumentar el rendimiento ademaacutes puede realizar maacutes funciones que cualquier
aplicacioacuten a nivel de usuario
Despueacutes de elegir el tipo de cluacutester a utilizar se procede a elegir los elementos baacutesicos que
se emplearaacuten para implementar el cluacutester capacidad de procesamiento memoria espacio del disco
de cada nodo asiacute como tambieacuten el ancho de banda de la comunicacioacuten entre los nodos Se deberaacute
decidir cuaacuteles son importantes basaacutendose en la variedad de aplicaciones que se piensen ejecutar
en el cluacutester y de la cantidad de dinero que se disponga para construirlo
58
Bajo estos mismos paraacutemetros se debe escoger tambieacuten el tipo de red que interconectaraacute
los nodos (Turner 2004)
Luego se debe escoger el sistema operativo a utilizar Esta eleccioacuten dependeraacute mucho de
la maacutequina que se escoja Linux es siempre una opcioacuten en cualquier maacutequina y es la eleccioacuten maacutes
comuacuten Muchas de las herramientas necesarias para la implementacioacuten de un cluacutester han sido
desarrolladas bajo Linux Pero existen cluacutesters corriendo bajo Windows NT UNIX Solaris y AIX
59
Capiacutetulo 3 Implementacioacuten de Cluacutester
31 Requisitos previos
Antes de iniciar la instalacioacuten del FrontEnd es necesario asegurarse que las conexiones de
red de los equipos junto con la configuracioacuten de la BIOS de cada uno sean las correctas
311 Conexioacuten de los equipos y acceso a la red
Un cluacutester de alto desempentildeo funciona como un uacutenico equipo el cuaacutel comparte los recursos
de los nodos esclavos con el nodo maestro para ello es esencial la existencia de una red interna de
alta velocidad por medio de la cual se realice la comunicacioacuten entre el nodo maestro y los nodos
esclavos como se muestra en la Figura 31 El nodo maestro necesitaraacute 2 tarjetas de red de alta
Figura 31 Esquema tiacutepico de configuracioacuten de un cluacutester (Fuente Elaboracioacuten propia)
60
velocidad una para la comunicacioacuten interna y otra para la comunicacioacuten con redes externas El
sistema operativo Rocks asigna automaacuteticamente la interface ldquoeth0rdquo a la red interna del cluacutester y
la interface ldquoeth1rdquo a la red externa En caso de que Rocks sea incapaz de determinar cuaacutel es la red
externa debido a la falta de conexioacuten a internet estas podriacutean ser asignadas de manera incorrecta
por tal motivo se sugiere asegurar el nombre de cada una de las interfaces
Dado que Rocks no permite volverlas a asignar una vez finalizada la instalacioacuten es
necesario volver a reinstalarlo para poder solucionar este inconveniente
312 Configuracioacuten de la BIOS Para evitar problemas durante la instalacioacuten conviene
configurar correctamente la Bios
3121 ATAIDE Mode Algunos sistemas operativos puede que no sean capaces de
reconocer el controlador del disco duro como es en el caso de esta distribucioacuten de Rocks usada
Para evitar complicaciones de tener que antildeadir el controlador a mano lo mejor es habilitar el modo
ldquoLegacyrdquo de controlador de disco duro
61
Para ello se accede a la Bios pulsando F2 al encender el equipo se situacutea en la pestantildea
ldquoAdvancedrdquo y se selecciona ldquoDrive Configurationrdquo como se muestra en la Figura 32
Figura 32 Imagen del Bios del equipo en la opcioacuten ldquodrive configurationrdquo (Fuente Elaboracioacuten propia)
Figura 33 Bios ATAIDE Legacy Mode (Fuente Elaboracioacuten propia)
62
Dentro del menuacute se tiene que seleccionar el Modo ldquoLegacyrdquo en la opcioacuten ldquoATAIDE
Moderdquo como se muestra en la Figura 33 y para salir se guardan los cambios con F10
3122 PXE Al momento de instalar un nodo puede ocurrir falla al arrancar y aparecer
bootsplash (Reboot and Select proper device) Para evitarlo es necesario habilitar la opcioacuten de
PXE para que tome los archivos de instalacioacuten del nodo maestro a traveacutes de la red interna
En la Bios se selecciona la pestantildea ldquoBootrdquo y dentro de ese mismo menuacute se deshabilita
ldquoSilent bootrdquo y se habilita la opcioacuten de ldquoPXE boot to lanrdquo como se muestra en la Figura 34
Finalmente hay que verificar que en la secuencia de arranque (Figura 35) como primer
dispositivo sea desde red para que de esta manera inicie desde el PXE
Figura 34 Bios Boot PXE (Fuente Elaboracioacuten propia)
63
Se guardan los cambios antes de salir
32 Instalacioacuten de Sistema Operativo Rocks
Una vez configurados los equipos se enciende el equipo que seraacute el nodo maestro
(FrontEnd) en el cuaacutel previamente se ha modificado la secuencia de inicio del boot desde la Bios
de modo que al insertar el CD de Rocks eacuteste procederaacute a iniciar la instalacioacuten con la siguiente
pantalla que se muestra a continuacioacuten
Figura 35 Bios Boot device prioriry (Fuente Elaboracioacuten propia)
64
Para iniciar la instalacioacuten uacutenicamente se selecciona la opcioacuten ldquoInstall CentOS 7rdquo como se
muestra en la Figura 36 dando asiacute comienzo al proceso de instalacioacuten Tras finalizar un proceso
de carga en memoria Rocks mostraraacute un formulario en entorno graacutefico mediante el cual
procederemos a configurar el FrontEnd
Esta primera pantalla se muestra coacutemo se desea realizar la instalacioacuten puede realizarse
por medio de la descarga del sistema operativo (se requiere internet) En este caso como se muestra
en la Figura 37 dado que previamente se descargoacute el DVD completo se seleccionoacute ldquoCDDVD
based rollsrdquo
Figura 36 Pantalla de Inicio de instalacioacuten de Rocks (Fuente Elaboracioacuten propia)
65
A continuacioacuten Figura 38 se selecciona de la lista de Rolls aquellos que se desean instalar
Figura 37 Pantalla de seleccioacuten de Rolls (Fuente Elaboracioacuten propia)
Figura 38 Listado de opciones de rolls para instalar (Fuente Elaboracioacuten propia)
66
Tras presionar el botoacuten ldquoSubmitrdquo la siguiente pantalla (Figura 39) muestra formulario en
el que hay que indicar la informacioacuten baacutesica del cluacutester entre las cuales aparecen
Fully-Qualified Host Name Nombre con el que se conoceraacute en la red externa el cluacutester
Cluster Name Nombre utilizado para ser identificado dentro de las herramientas del cluacutester
Certificate Organization Locality State and Country Organizacioacuten a la que pertenece el
cluacutester la localidad el estado y la ciudad
Contact URL and LattitudeLongitude Contacto direccioacuten web y posicioacuten GPS
Figura 39 Informacioacuten baacutesica del cluacutester a instalar (Fuente Elaboracioacuten propia)
67
Una vez que se ingresa la informacioacuten al cluacutester se presiona el botoacuten ldquoListordquo y
posteriormente se podraacute cambiar la configuracioacuten baacutesica de la red interna del cluacutester En este caso
Figura 310 se dejoacute el valor por defecto una IP de clase B (1011116)
El siguiente paso es la configuracioacuten de la red externa (para tener acceso a internet) En
este punto se introducen los datos de la red externa a la que se encuentra conectado el nodo
maestro como se muestra en la Figura 311
Figura 310 Configuracioacuten Ethernet de la red privada (Fuente Elaboracioacuten propia)
Figura 311 Configuracioacuten Ethernet de la red puacuteblica (Fuente Elaboracioacuten propia)
68
Para terminar de configurar la red externa como se muestra en la Figura 312 se ingresa la
direccioacuten IP del Gateway y los DNS (Servidor de nombre de dominio) que va a usar para el acceso
a internet
Se continuacutea con el resto del formulario donde se introduce la contrasentildea para el usuario
root tal y como se muestran en la Figura 313
Figura 312 Configuracioacuten de DNS y Gateway (Fuente Elaboracioacuten propia)
Figura 313 Ingresar contrasentildea de usuario root (Fuente Elaboracioacuten propia)
69
Paso siguiente se procede a seleccionar la zona horaria como se muestra en la Figura 314
donde se encuentra ubicado el cluacutester asiacute como un servidor de donde podraacute obtener la zona horaria
automaacuteticamente en este caso se dejoacute el valor por default
En el formulario de la Figura 315 se selecciona la forma de particionar el disco duro
(automaacutetica manual) una vez seleccionado daraacute comienzo al proceso de instalacioacuten de manera
Figura 314 Configuracioacuten horaria (Fuente Elaboracioacuten propia)
Figura 315 Particiones del disco duro (Fuente Elaboracioacuten propia)
70
desatendida Cuando ha concluido la instalacioacuten el equipo se reiniciaraacute y se requeriraacute iniciar con
el usuario root y la contrasentildea establecida previamente
321 Configuracioacuten del teclado Debido a que el teclado por defecto estaacute en idioma
ingleacutes podriacutea provocar problemas al momento de escribir la contrasentildea u otros comandos
Seguacuten las pruebas realizadas aunque se cambie la configuracioacuten del teclado desde el menuacute
de preferencias uacutenicamente se mantiene dentro de la sesioacuten desde la que se ha cambiado dicha
opcioacuten (lo cual implica que la contrasentildea de usuario hay que introducirla seguacuten la distribucioacuten
inglesa)
33 Instalacioacuten de los nodos
Previo a la instalacioacuten de los nodos esclavos cada uno de los equipos fueron configurados
desde la Bios para que arranquen desde la red (seccioacuten 3122) Para ir antildeadiendo los nodos solo
se tiene que introducir el siguiente comando desde nuestro FrontEnd
$insert-ethers
A continuacioacuten como se muestra en la Figura 316 apareceraacute una ventana en la pantalla
en la cual se seleccionaraacute la opcioacuten ldquoComputerdquo
71
Una vez realizado este paso se procede a encender los equipos que funcionaraacuten como
nodos esclavos uno a uno
Se sugiere esperar a que cada nuevo equipo encendido esteacute marcado con un asterisco antes
de proceder a encender el siguiente como se muestra en la Figura 317 De esta manera se asegura
que cada nuevo nodo antildeadido posea el nombre y numeracioacuten deseada
Figura 316 Pantalla para ingresar nodos (Fuente Elaboracioacuten propia)
Figura 317 Indicador de insercioacuten de nuevos nodos (Fuente Elaboracioacuten propia)
72
Puede darse el caso de que un nodo no sea detectado automaacuteticamente eso indica que se
ha omitido alguacuten paso o parte de la configuracioacuten realizada hasta el momento es incorrecta En ese
caso comprobar lo siguiente
Que el nodo esclavo este correctamente conectado a la red interna
Que el FrontEnd (nodo maestro) tenga correctamente configurada la red interna y externa
Que el PXE esteacute habilitado en la Bios del nodo esclavo
331 Administracioacuten de nodos Algunos de los comandos maacutes uacutetiles para para la gestioacuten
de los nodos son los siguientes
Eliminar un nodo de la lista
Reinstalar un nodo
Listar los nodos ya instalados
Acceder a un nodo
$rocks remove host nombre_nodo
$rocks remove host nombre_nodo
$rocks set host boot nombre_nodo action=install
$rocks set host boot nombre_nodo action=install
$rocks list host
$rocks list host
$ssh nombre_nodo
$ssh nombre_nodo
73
Ejecutar un comando de manera remota a un nodo
332 Creacioacuten de cuentas de usuario Para agregar a un usuario hay que realizar los
siguientes pasos
1 Creacioacuten de la cuenta
$useradd nombre_usuario
2 Asignacioacuten de una contrasentildea
$passwd nombre_usuario
3 Sincronizacioacuten de la cuenta de usuario con el resto de nodos
$rocks-user-sync
333 Configuracioacuten del directorio compartido El directorio share es compartido por el
FrontEnd y el resto de nodos se localiza dentro del FrontEnd en la carpeta exports siendo la
carpeta share un enlace simboacutelico a esta uacuteltima
Al principio es posible que no se sincronicen correctamente los archivos introducidos en el
directorio debido a que la carpeta inicialmente estaacute vaciacutea por lo que para solucionar este
inconveniente puede usarse el comando siguiente para reiniciar dicho servicio
$ssh nombre_nodo lsquocomandorsquo
$ssh nombre_nodo lsquocomandorsquo
$cd
$export fs ndashrv
service nfs restart
$cd
$export fs ndashrv
service nfs restart
74
34 Operaciones baacutesicas de Rocks
Comandos y aplicaciones esenciales para el manejo del cluacutester
Ver que rolls estaacuten instalados
$rocks list roll
Visualizar el estado del sistema Figura 318
$qstat ndashf
Probar el sistema de colas para distribuir tareas a los nodos
Para ello se prueba que el SGE del cluacutester funcione enviaacutendole una serie de trabajos
mediante el comando qsub
En primer lugar se crea un fichero (pruebapl) que tenga permisos de ejecucioacuten con el
siguiente contenido
Figura 318 Comando qstat ndashf (Fuente Elaboracioacuten propia)
75
usrbinperl
for(my $i=0$ilt30$i++) sleep(2) print okn
Y se ejecuta con el siguiente comando
$ for ((i=1ilt=10i+=1)) do qsub pruebapl done
Al ejecutarse se puede comprobar que los trabajos se han mandado Figura 319
Y al realizar de nuevo un ldquoqstat ndashfrdquo Figura 320 se observa coacutemo se van realizando
Figura 319 Enviacuteo de trabajos por medio del comando qsub (Fuente Elaboracioacuten propia)
Figura 320 Estado de los trabajos pendientes mostrados por qstat ndashf (Fuente Elaboracioacuten propia)
76
Para ver la carga de trabajo en el cluacutester de manera global y de forma graacutefica se tiene que
ingresar en un navegador web en la siguiente direccioacuten httplocalhostganglia apareceraacute la
Figura 321
Figura 321 Visualizacioacuten de la distribucioacuten de cargas en el cluacutester usando la herramienta Ganglia (Fuente Elaboracioacuten propia)
77
Capiacutetulo 4 Metodologiacutea y Resultados
Una vez finalizada la instalacioacuten y puesta en operacioacuten del equipo se analizaron diferentes
metodologiacuteas de trabajo lo que implicoacute un trabajo arduo debido a que existen complicaciones
cuando se buscan temas relacionados a vulnerar sistemas operativos La realizacioacuten de este
proyecto estaacute basado en la metodologiacutea de Joshua Picolet ldquoCracking Methodologyrdquo (Picolet
2017)
41 Obtener Archivo hash
Se pueden vulnerar contrasentildeas de Windows de diferentes maneras Una de ellas es
mediante el acceso al archivo del Administrador de cuentas de seguridad (SAM) el cual se detalla
en el apartado 253 a traveacutes de la obtencioacuten de las contrasentildeas del sistema en su forma hash por
medio de herramientas diferentes Alternativamente las contrasentildeas se pueden leer desde la
memoria lo que tiene el beneficio adicional de recuperar las contrasentildeas en texto plano y evitar el
requisito de descifrado Para comprender los formatos que se observan cuando se descarguen
hashes del sistema de Windows se requiere una breve descripcioacuten de los diferentes formatos de
almacenamiento
Originalmente las contrasentildeas de Windows de menos de 15 caracteres se almacenaban en
el formato hash de Lan Manager (LM) Algunos sistemas operativos como Windows 2000 XP y
Server 2003 continuacutean usando estos hashes a menos que esteacuten deshabilitados por el usuario
Ocasionalmente un sistema operativo como Windows Vista puede almacenar el hash LM para la
compatibilidad con otros sistemas Seguacuten analistas incluye varias vulnerabilidades como dividir
78
la contrasentildea en dos bloques y permitir que cada uno se descifre de forma independiente Mediante
el uso de tablas Rainbow es trivial descifrar una contrasentildea almacenada en un hash LM
independientemente de la complejidad Este hash se almacena con la misma contrasentildea calculada
en el formato de hash NT como el que se muestra en el siguiente ejemplo
Ejemplo de un hash NTLM con el componente LM y NT
Administrator500611D6F6E763B902934544489FCC9192BB71ED1E7F2B60ED5A2
EDD28379D45C91
Los sistemas operativos Windows maacutes recientes como el Windows 8 y 10 usan el hash NT
En teacuterminos simples no hay una debilidad significativa en este hash que lo diferencie de cualquier
otra funcioacuten hash criptograacutefica Se requieren meacutetodos de descifrado como lo es la fuerza bruta o
ataque de diccionario para recuperar la contrasentildea si uacutenicamente se almacena en el formato NT
Ejemplo de un hash NTLM uacutenicamente con el componente NT (como se ve en los sistemas
Windows mas recientes
Administrator500NOPASSWORDEC054D40119570A4663
4350291AF0F72
Es importante sentildealar que la cadena NO PASSWORD es variable seguacuten la herramienta
que se utilice Otras pueden presentar esta informacioacuten como ceros rellenos o comuacutenmente puede
79
ver la cadena ldquoAAD3B435B51404EEAAD3B435B51404EErdquo en lugar de ninguna contrasentildea
Esto significa que el hash LM estaacute vaciacuteo y no estaacute almacenado
El archivo hash se encuentran en el directorio ldquoWindows System32 configrdquo y se
necesitan ambos archivos SAM y SYSTEM Ademaacutes tambieacuten se encuentran en el archivo de
registro HKEY_LOCAL_MACHINE SAM al que no se puede acceder durante el tiempo de
ejecucioacuten Finalmente las copias de seguridad se pueden encontrar a menudo en ldquoWindows
Repairrdquo (Peleus 2019)
Para extraer el archivo hash de un sistema operativo con un nivel de seguridad C1 existen
diferentes meacutetodos en esta ocasioacuten se procederaacute a iniciar el equipo objetivo con una distribucioacuten
de Linux desde una memoria USB como se muestra en la figura 41 para de esta manera ingresar
al directorio CWINDOWSSystem32Config directorio de ubicacioacuten de los archivos SAM y
SYSTEM que son los necesarios para obtener el archivo hash (Caballero 2018)
Figura 41 Arranque con LiveUSB KaliLinux (Fuente Elaboracioacuten propia)
80
42 Dar Formato al Hash
En este punto es donde se tiene que identificar el algoritmo con el que fueron encriptados
los archivos SAM y SYSTEM que se han obtenido en el punto anterior con la finalidad de
seleccionar el tratamiento que se les daraacute El algoritmo de encriptacioacuten del archivo SAM de
Windows 10 es NTLM y ademaacutes estaacute almacenado en un formato binario (ByteBleeder 2017) por
lo que fue necesario instalar la herramienta con licencia GNU samdump2 para obtener la syskey y
de esta manera poder extraer los hash desde el archivo SAM de Windows
En la figura 42 se han obtenido los hashes del archivo SAM donde se puede observar que
los usuarios Administrador e Invitado estaacuten deshabilitados ademaacutes de que existen tres cuentas de
usuario activas las cuales son Gad prueba y usuarioprueba cada una con su contrasentildea cifrada
en formato NTLM a la derecha del nombre de usuario la cuenta usuarioprueba fue a la que se le
realizoacute el anaacutelisis que se detalla posteriormente
43 Evaluar la fuerza del Hash
En criptografiacutea se dice que un algoritmo criptograacutefico se rompe si por alguacuten meacutetodo se
consigue reducir su fortaleza es decir reducir por ejemplo su entropiacutea de los 2256 bits teoacutericos a
Figura 42 Resultado de la ejecucioacuten de la herramienta samdump2 (Fuente Elaboracioacuten propia)
81
tan soacutelo 2255 por ejemplo El hecho de que se encuentre una colisioacuten no implica necesariamente
que un algoritmo se haya roto pues podriacutea haber sido realizado mediante fuerza bruta pero puede
ser una causa
Un ataque de colisioacuten significa que encuentro dos entradas diferentes que producen el
mismo resultado de un hash particular Este es generalmente el tipo de ataque maacutes faacutecil Es el tipo
de ataque que se conoce desde hace varios antildeos contra MD5
Dado que una utilidad importante de las funciones hash estaacute en las firmas digitales
encontrar colisiones puede facilitar falsificar firmas digitales Es decir dos mensajes distintos que
tengan un mismo resumen tienen ademaacutes la misma firma y un atacante puede reemplazar un
mensaje por el otro Un ejemplo de este ataque fue demostrado en 2008 por un grupo de
investigadores en Aacutemsterdam los cuales falsificaron un certificado raiacutez mediante el uso de un
ataque de colisioacuten contra el algoritmo MD5 (Preukschat 2015)
Un ataque previo a la imagen generalmente es mucho maacutes difiacutecil es encontrar otra entrada
que produzca el mismo resultado que un hash que ya se conoce
Para tratar de aclarar la diferencia aquiacute en un ataque de colisioacuten encuentro dos entradas A
y B que producen el mismo resultado En un ataque de preimagen comienzo a partir de alguacuten
resultado conocido X y encuentro una entrada que produciraacute X como resultado (Coffin 2015)
82
Para realizar esta evaluacioacuten se tomoacute como base la tabla del apeacutendice Hash craking
benchmark (Picolet 2017) el objetivo es observar el comportamiento y velocidad del Hash
mencionado cuando fue sometido a pruebas de criptoanaacutelisis Si se trata de un Hash lento se deberaacute
ser maacutes selectivo en queacute tipos de diccionarios y meacutetodos de criptoanaacutelisis se le debe aplicar Si es
un Hash raacutepido se puede ser maacutes libre con la estrategia de criptoanaacutelisis Este estudio busca
realizar una prueba de criptoanaacutelisis mostrando las diferencias entre el poder de procesamiento de
un cluacutester de 17 nodos contra una computadora personal por lo que no necesariamente se
implementaraacute el meacutetodo oacuteptimo para la realizacioacuten del criptoanaacutelisis
44 Calcular la capacidad del equipo
Con la informacioacuten de la evaluacioacuten de la fuerza del Hash obtenida en el apartado anterior en
este apartado se tiene que establecer la capacidad de la plataforma o plataformas que realizaraacuten
el criptoanaacutelisis
Para conocer la capacidad de procesamiento del cluacutester de alto rendimiento se utilizoacute la
herramienta Linpack Benchmark HPL es una implementacioacuten portaacutetil del Benchmark de alto
rendimiento LINPACK para equipos de coacutemputo distribuido Actualmente se utiliza para obtener
varios resultados en la lista actual de Top500 de HP cluacutesters (Dongarra 2010)
El Linpack Benchmark (HPL del Ingleacutes High-Performance Linpack Bench-mark) es un
software que resuelve un sistema lineal aleatorio de doble precisioacuten aritmeacutetica (64 bits) en equipos
de memoria distribuida El rendimiento muestra el nuacutemero de operaciones de punto flotante por
segundo logradas por el sistema (Petitet Whaley Dongarra amp Cleary 2008)
83
El HPL fue desarrollado en el Argone National Laboratory por Jack Don-garra en 1976 y
es uno de los maacutes usados en sistemas cientiacuteficos y de ingenieriacutea para el caacutelculo de prestaciones
Las principales caracteriacutesticas del algoritmo utilizado por el HPL son
Distribucioacuten ciacuteclica de datos de bloques de dos dimensiones
Variante derecha de la factorizacioacuten LU con pivoteo parcial (Teacutecnica de pivoteo
Dicta que el elemento pivote que debe escogerse es el mayor absolutamente de cada
columna)
Factorizacioacuten recursiva con pivoteo y reenviacuteo de columna
Distintas topologiacuteas virtuales de reenviacuteos
Algoritmo de reduccioacuten de reenviacuteo para ancho de banda (Castelloacute Gimeno 2014)
La resolucioacuten del sistema de ecuaciones se realiza del siguiente modo
1 Se crea un sistema de ecuaciones
(1)
119860119909 = 119887
(2)
119860 isin 119877119899119909119899
(3)
119909 119887 isin 119877119899
84
HPL calcula que la solucioacuten para un sistema de ecuaciones lineales se puede generalizar
como 119860119909 = 119887 donde 119860 es una matriz 119873 119909 119873 cuyos valores se generan aleatoriamente
119909 119910 119887 son vectores de tamantildeo 119873 Como se muestra en la Figura 43
2 Primero se calcula la factorizacioacuten 119871119880 con pivoteo parcial de los coeficientes 119899 y 119899 + 1
de la matriz [119860 119887]
(4)
119875119903[119860 119887] = [[119871119880] 119910]
(5)
119875119903 119871 119880 isin 119877119899119909119899
(6)
119910 isin 119877119899
El primer paso es la factorizacioacuten de la matriz 119860 en una matriz triangular superior 119880
y una matriz triangular inferior 119871 tal que 119860 = 119871119880 La factorizacioacuten se usa para calcular
el vector solucioacuten 119909
3 Una vez el pivoteo (representado por la permutacioacuten de la matriz 119875119903) y la factorizacioacuten
inferior se aplican sobre 119887 la solucioacuten se obtiene en un paso resolviendo el sistema
superior triangular
Figura 43 Sistema de Ecuaciones tipo 119860119909 = 119887 (Fuente Elaboracioacuten propia)
85
(7)
119880119909 = 119910
La matriz triangular inferior izquierda y el conjunto de pivotes no se devuelven en el
resultado Para la estabilidad numeacuterica el algoritmo de factorizacioacuten utiliza un pivote parcial de
fila
La implementacioacuten paralela de Linpack divide la matriz 119860 119873 119909 119873 en una cuadriacutecula de
procesos 119875 119909 119876 bidimensional y luego la divide en subgrupos de mosaicos 119873119861 119909 119873119861 (Petitet
Whaley Dongarra amp Cleary 2008)
Utilizando la herramienta HPL en esta investigacioacuten se obtuvieron los siguientes
resultados
La prueba abordoacute el ajuste de 119873 y la eficiencia obtenida en comparacioacuten con el rendimiento
maacuteximo Se determinoacute un valor para 119873 = 800000 aleatoriamente para ejecutar HPL en todo el
cluacutester Sin embargo el tiempo fue excesivo por lo tanto se determinoacute que este tamantildeo del
problema fue demasiado grande para el cluacutester Al realizar otros experimentos con valores maacutes
pequentildeos de 119873 se obtuvieron mejores resultados de rendimiento La Tabla 41 muestra el
rendimiento de HPL en GFlops para 119873 = 300000 400000 y 500000 Como se puede observar
en la Tabla 41 se obtuvo el mejor resultado de rendimiento 850 GFlops para 119873 = 500000 para
valores mayores de 119873 la distribucioacuten de cargas del cluacutester empieza a sobrepasar su capacidad como
se muestra en la Figura 44 y la vez su rendimiento disminuye Esto ocurre porque la cantidad de
memoria utilizada con las memorias intermedias de comunicacioacuten MPI es mayor de lo esperado
Por lo tanto es necesario dejar maacutes del 20 de la memoria para el sistema (Petitet Whaley
86
Dongarra amp Cleary 2008) Tambieacuten se realizaron pruebas usando solo un nodo de coacutemputo y el
rendimiento fue de 34 GFlops para 119873 = 20000
Tabla 41 Rendimiento de HP cluacutester (Fuente Elaboracioacuten propia)
Analizando la eficiencia obtenida para la ejecucioacuten de un solo nodo cuando 119873 = 20000
se obtuvo el 823 del rendimiento maacuteximo (el rendimiento maacuteximo para un solo nodo es 477
Gflops) Para todo el cluacutester el rendimiento maacuteximo seriacutea 119879119898119886119909 = 477 119909 17 =
8109 119866119891119897119900119901119904 aproximadamente
Figura 44 Distribucioacuten de cargas del cluacutester
0
500
1000
300000 400000 500000
Gflops
Gflops
87
La Figura 44 titulada ldquoDistribucioacuten de cargas del cluacutesterrdquo muestra la imagen de la
herramienta Ganglia de manera graacutefica a traveacutes de cuadros que variacutean de color dependiendo de la
carga que tenga cada uno de los nodos al momento de implementar la herramienta HPL De manera
inicial indica que el cluacutester tiene un total de 17 equipos de 4 cores cada uno eso da un total de 68
cores trabajando sin equipos inactivos Muestra tambieacuten una sobrecarga en el cluacutester y un
porcentaje promedio de 100 de uso en la uacuteltima hora
45 Establecer Estrategia
Esto significa uacutenicamente que en este apartado se realizaraacute una guiacutea baacutesica para procesar
los hashes obtenidos sin perder de vista que cada escenario a criptoanalizar es uacutenico en funcioacuten
de las circunstancias externas Como ya se ha mencionado anteriormente esta estrategia de
criptoanaacutelisis se ha planteado implementar dos meacutetodos los cuales son Fuerza Bruta y ataque de
diccionario sin importar si son o no los oacuteptimos debido a que se realizaraacute una comparativa de
capacidad de procesamiento
451 Fuerza Bruta Una vez que se han intentado varios meacutetodos y han fallado se puede
iniciar un ataque de fuerza bruta estaacutendar poniendo especial atencioacuten en la cantidad de siacutembolos
del alfabeto que puede usar el equipo a analizar Por encima de 8 caracteres esto generalmente no
tiene sentido debido a limitaciones de hardware y entropiacutea (complejidad de la contrasentildea) Una
contrasentildea de Windows seguacuten Microsoft (Microsoft Inc 2019) una contrasentildea de Windows debe
estaacute formada por
88
26 Caracteres mayuacutesculas de la ldquoArdquo a la ldquoZrdquo
26 Caracteres minuacutesculas de la ldquoardquo a la ldquozrdquo
10 Diacutegitos de base 10 (0 a 9)
32 Caracteres especiales (~$^amp_-+=|()[]ltgt)
94 Caracteres alfanumeacutericos en total
4511 Cantidad de combinaciones posibles Si se usa una clave numeacuterica (nuacutemeros del 0
al 9) existen 10 posibilidades de 4 diacutegitos de longitud que es la extensioacuten por defecto de los
teleacutefonos celulares Para 4 diacutegitos las combinaciones posibles seriacutean 10 mil 104 = 10000
(Labaca Castro 2014)
Por otro lado si tomamos un alfabeto de 26 letras mayuacutesculas y 26 minuacutesculas 10 nuacutemeros
y 10 caracteres especiales en total tenemos 72 diferentes posibilidades para un uacutenico caraacutecter Eso
significa que las combinaciones para una contrasentildea de 4 caracteres seriacutean 724 = 26873856
Baacutesicamente maacutes de 26 millones de combinaciones en una clave de 4 caracteres contra 10 mil en
una clave de 4 diacutegitos numeacutericos En este estudio se utiliza la contrasentildea de bloqueo descrita en el
apartado anterior que es de 94 combinaciones para cada caraacutecter teniendo una longitud de 7
caracteres por lo tanto seraacuten 947 = 64847759000000 de posibles combinaciones que
nuestros equipos deben explorar para obtener la contrasentildea correcta
Como se mencionoacute en el apartado 42 el usuario sobre el cual se realizoacute el criptoanaacutelisis
fue usuarioprueba el cual constaba de una contrasentildea de longitud 7 caracteres la cual despueacutes
de realizado el anaacutelisis y como se puede observar en la Figura 45
89
1 Anaacutelisis a usuario usuarioprueba
2 Nuacutemero de nodos en operacioacuten 17
3 Nuacutemero de procesos ejecutaacutendose de forma paralela 68
4 Tiempo de duracioacuten del anaacutelisis en el cluacutester 122727 horas
5 Contrasentildea criptoanalizada Pass7
Asiacute mismo en la Tabla 42 se muestra el resultado final y el tiempo de duracioacuten del
criptoanaacutelisis realizado al archivo SAM con el cluacutester y la computadora personal
Tabla 42 Resultados de criptoanaacutelisis de archivo SAM (Fuente Elaboracioacuten propia)
Nodos Nuacutecleos Tiempo de Procesamiento (Horas)
1 (PC) 4 1075316
17 (Cluacutester) 68 122727
1
2
3
4 5
Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester (Fuente Elaboracioacuten propia)
90
452 Diccionario Meacutetodo empleado para romper la seguridad de los sistemas basados en
contrasentildeas (password) en la que el atacante intenta dar con la clave adecuada probando todas (o
casi todas) las palabras posibles ingresadas previamente en un diccionario idiomaacutetico
Generalmente se emplean programas especiales que se encargan de ello
Este meacutetodo suele ser maacutes eficiente que el meacutetodo de fuerza bruta debido a que muchas
usuarios casi siempre suelen utilizar contrasentildeas con una o varias palabras existentes en su lengua
para que la contrasentildea no sea olvidada faacutecilmente y sea sencilla de recordar esto no es una praacutectica
recomendable (Alegsa 2018)
Para realizar este meacutetodo se utilizoacute un diccionario descargado de internet el cual contiene
10000000 de posibles contrasentildeas (g0tmi1k 2018)
Ademaacutes se ejecutoacute un programa creado en lenguaje C (Anexo 1) a traveacutes de la
implementacioacuten de las libreriacuteas MPI y open MPI propias de la arquitectura de cluacutester de
computadoras Este programa fue ejecutado en los mismos equipos descritos anteriormente para
obtener todos los nuacutemeros primos encontrados dentro de un intervalo dado En este caso el
intervalo dado fue de 10000000 con los siguientes resultados mostrados en la Tabla 43
Tabla 43 Resultados de ejecucioacuten de programa en C para la obtencioacuten de nuacutemeros primos (Fuente Elaboracioacuten
propia)
Nodos Nuacutecleos Tiempo de Procesamiento (Segs)
1 (PC) 4 5078
17 (Cluacutester) 68 00013
91
453 Analizar los resultados Posterior a realizar el criptoanaacutelisis y descifrar con eacutexito
una cantidad suficiente de hashes se analizan los resultados en busca de pistas o patrones Este
anaacutelisis puede ayudar a tener eacutexito en cualquier hash restante
454 Personalizar ataques Tomando como base el anaacutelisis de resultados realizado
previamente se disentildearaacuten diversas estrategias personalizadas que aprovechen las vulnerabilidades
conocidas o patrones Los ejemplos seriacutean ataques de maacutescara personalizados o reglas para
adaptarse al comportamiento o las preferencias del usuario objetivo
92
Conclusioacuten
El trabajo de investigacioacuten presentado parte de la necesidad de buscar alternativas para
explotar al maacuteximo la capacidad de procesamiento del equipo de coacutemputo que existe actualmente
dentro del inventario del Instituto Tecnoloacutegico de Acapulco asiacute como proveer una plataforma que
coadyuve a la investigacioacuten dentro del Instituto a traveacutes de implementar un cluacutester de coacutemputo
con capacidad para realizar proyectos en el aacuterea de ingenieriacutea y matemaacuteticas con el fin de optimizar
el tiempo de ejecucioacuten lo cual en un futuro se veraacute reflejado en ventajas para el desarrollo de la
regioacuten
La revisioacuten y anaacutelisis de informacioacuten en relacioacuten a cluacutesters es muy interesante pero a la
vez es compleja dado que involucra diferentes aspectos durante su evolucioacuten asiacute como diversas
metodologiacuteas para su formacioacuten e implementacioacuten Se considera de suma importancia para este
trabajo las revisiones efectuadas ya que son la base para la propuesta entregada
De acuerdo a las especificaciones teacutecnicas de los equipos informaacuteticos existentes dentro
del laboratorio de la Maestriacutea en Sistemas Computacionales y una vez que se realizoacute el anaacutelisis
de varios casos de eacutexito se propuso la metodologiacutea para implementacioacuten de un cluacutester homogeacuteneo
tipo Beowolf Este meacutetodo estaacute basado en otros que ya se han implementado bajo realidades
acadeacutemicas similares rescatando las etapas maacutes importantes de cada uno y complementaacutendolo con
los aportes personales se consideroacute que fue el oacuteptimo debido a que se implementoacute con hardware
convencional y herramientas de uso libre
93
El hecho de haber seleccionado un meacutetodo adecuado permitioacute superar gran parte los
problemas que presentaban las metodologiacuteas que fueron analizadas simplificoacute la implementacioacuten
del cluacutester y permitioacute el poder alcanzar una mayor estabilidad en su desempentildeo desde su etapa
inicial fue importante conocer el resultado en cada una de las etapas de implementacioacuten para
asegurar su desenvolvimiento en el futuro
Para integrar los equipos independientes a la arquitectura cluacutester se realizoacute el disentildeo de
una topologiacutea de red Gigabit Ethernet tipo estrella con un direccionamiento IP estaacutetico la
configuracioacuten de protocolos de comunicacioacuten remota sin autenticacioacuten la comparticioacuten de
archivos en red y la utilizacioacuten de aplicaciones de licencia GPL que permiten obtener el
funcionamiento similar a la de una supercomputadora
Haciendo uso de libreriacuteas de paso de mensajes (MPI) y el software John the Ripper para el
descifrado de contrasentildeas la arquitectura cluacutester implementada alcanzoacute una eficiencia de 885
de rendimiento en comparacioacuten con los recursos computacionales de un solo equipo con las
caracteriacutesticas de un nodo Ademaacutes otros de los proyectos ejecutados en la arquitectura cluacutester
para probar el rendimiento fue la ejecucioacuten de un programa para la deteccioacuten de nuacutemeros primos
dentro de un archivo de 10000000 de nuacutemeros obteniendo una eficiencia de maacutes de 99 gracias
a la distribucioacuten de tareas que proporcionan las libreriacuteas de paso de mensajes (MPI) dentro de la
arquitectura cluacutester
Con la implementacioacuten de la arquitectura cluacutester el laboratorio de la Maestriacutea en Sistemas
Computacionales podraacute dar soluciones potentes eficientes y econoacutemicas en los entornos de
94
investigacioacuten mejorando la capacidad de procesamiento en aplicaciones como evaluacioacuten de
algoritmos compresioacuten de archivos renderizacioacuten de imaacutegenes anaacutelisis de datos (big data) en un
tiempo relativamente bajo ideal para las necesidades educativas
La experiencia obtenida al realizar esta investigacioacuten y propuesta ha sido enriquecedora
tanto por la obtencioacuten de conocimiento en base a la historia evolucioacuten y arquitectura de cluacutesters
asiacute como la programacioacuten paralela y sus ventajas en diferentes proyectos desarrollados en todo el
mundo Igualmente la comparacioacuten entre cada uno de los modelos y meacutetodos resulta interesante
dado que existe un sinnuacutemero de ejemplos con caracteriacutesticas diferentes pero baacutesicamente con un
mismo objetivo final
Trabajo Futuro
El cluacutester implementado en el Laboratorio de la Maestriacutea en Sistemas computacionales del
Instituto Tecnoloacutegico de Acapulco puede ser utilizado en gran cantidad de aplicaciones dentro de
las diferentes aacutereas de investigacioacuten del Instituto asiacute como estar disponible para el Departamento
de Posgrado e Investigacioacuten como apoyo durante la realizacioacuten de tareas y proyectos dentro de las
aacutereas de Desarrollo de Sistemas Inteligentes asiacute como de Tecnologiacuteas Web
Propuesta de Trabajo a Futuro
Durante la realizacioacuten de este proyecto se observoacute la necesidad que existe dentro del
departamento de Investigacioacuten y Posgrado de equipos de alta capacidad de procesamiento para
realizar de una manera maacutes eficiente las investigaciones que se estaacuten llevando a cabo Una de ellas
es el ldquoSistema de apoyo al diagnoacutestico oportuno de Retinopatiacutea Diabeacuteticardquo en la cual a traveacutes del
entrenamiento de una red neuronal se clasificaraacuten y evaluaraacuten un nuacutemero de 3000 imaacutegenes para
95
demostrar la presencia de dicha enfermedad en pacientes del Instituto Estatal de Oftalmologiacutea
Actualmente se ha realizado una prueba de entrenamiento de dicha red neuronal con 70 imaacutegenes
obteniendo como resultado un tiempo clasificacioacuten y evaluacioacuten de 301532 horas en un equipo
con un procesador Core I7 con 8 GB en memoria RAM
96
Bibliografiacutea
Alegsa (01 de 01 de 2018) Alegsa Diccionario Informaacutetico Recuperado el 07 de 2019 de
Alegsa httpwwwalegsacomarDicataque_por_diccionariophp
Avecto (2017) Avecto Limited Recuperado el 10 de 08 de 2018 de AVECTO a Bomgar
Company wwwavectocom
Borghello C (2009) Seguridad de la Informacioacuten Recuperado el 11 de 2018 de Criptografiacutea de
la A-Z httpswwwsegu-infocomarproyectosp1_hashhtm
Branch Bedoya J amp Mesa Muacutenera A (Diciembre de 2008) Implementacioacuten de un cluster
homogeacuteneo para la resolucioacuten de problemas de alta complejidad computacional Avances
en Sistemas e Informaacutetica 5(3)
ByteBleeder (02 de 06 de 2017) Practical guide to NTLM Relaying in 2017 Obtenido de Github
httpsbyt3bl33d3rgithubiopractical-guide-to-ntlm-relaying-in-2017-aka-getting-a-
foothold-in-under-5-minuteshtml
Caballero A (26 de 06 de 2018) Hacking Eacutetico Recuperado el 03 de 2019 de John The Ripper
httpwwwreydescomdq=Recuperar_la_Contrasena_del_Administrador_utilizando_s
amdump2_y_John_The_Ripper
Carretero Peacuterez J de Miguel Anasagasti P Garciacutea Carballeira F amp Peacuterez Costoya F (2001)
Sistemas Operativos Una visioacuten aplicada (C F Madrid Ed) Madrid Espantildea
McGRAW-HillInteramericana
Castelloacute Gimeno A (30 de 07 de 2014) Universitat Jaume Recuperado el 10 de 2019 de
Evaluacioacuten de prestaciones mediante laaplicacioacuten HPL de clusters utilizandorCUDA
97
httprepositoriujiesxmluibitstreamhandle10234115082TFM_2014_CastelloGimen
oApdfsequence=1ampisAllowed=y
Chaacutevez J Echeverriacutea C Correa M Vaacutezquez E Suaacuterez M Maacutermol X Diacuteaz G (07 de
1999) Centro de Caacutelculo Cientiacutefico Recuperado el 01 de 05 de 2018 de Universidad de
Los Andes httpwwwcecalculavedocumentaciontutorialesbeowulfinformehtml
Chirinov R (2003) Nfinite9000 SL Recuperado el 26 de 04 de 2018 de Noticias 3D
httpswwwnoticias3dcomarticuloaspidarticulo=248amppag=4
Coffin J (23 de 07 de 2015) Quora Recuperado el 15 de 08 de 2019 de
httpswwwquoracomWhat-does-it-mean-when-a-hashing-algorithm-has-been-broken
Dongarra J (2010) Top500 Super computer sites Recuperado el 07 de 2019 de http
wwwtop500org
Educba (01 de 01 de 2019) Recuperado el 10 de 2019 de Educbaorg
httpswwweducbacomidea-algorithm
europa press (04 de 06 de 2013) Portal Tic Recuperado el 18 de 11 de 2018 de Europa Press
httpswwweuropapressesportalticgadgetsnoticia-cuarta-generacion-intel-core-mayor-
salto-cuanto-ahorro-energetico-20130604174722html
g0tmi1k (2018) github Recuperado el 05 de 2019 de github
httpsgithubcomdanielmiesslerSecListsblobmasterPasswordsCommon-
Credentials10-million-password-list-top-1000000txt
Gonzaacutelez Agudelo D (2014) El riesgo y la falta de politicas de seguridad informaacutetica una
amenaza en las empresas certificadas basc Recuperado el 20 de 05 de 2018 de
Universidad Militar Nueva Granada
httpsrepositoryunimilitareducobitstream10654122511ENSAYO20FINALpdf
98
Gonzaacutelez Ramiacuterez E amp Rodriacuteguez Saacutenchez A (2008) Disentildeo e implementacioacuten de un cluster
tipo BEOWULF para el desarrollo de coacutemputo cientiacutefico avanzado CdMx Mexico
Hernandez M (2013) Forensics Mexico Recuperado el 07 de 2018 de La importancia del
registro de Windows parte 1 httpforensicsmexicoblogspotcom201309la-
importancia-del-registro-de-windowshtml
Kowalczyk C (01 de 2015) Crypto-IT Recuperado el 11 de 2018 de Crypto-IT
httpwwwcrypto-itnetengasymmetricindexhtml
Labaca Castro R (13 de 06 de 2014) We live security Recuperado el 2019 de 08 de 07 de
Welivesecuritybyeset httpswwwwelivesecuritycomla-es20140613matematica-
claves-numerica-alfanumerica
Lizaacuterraga C (2002) Departamento de Fiacutesica Recuperado el 12 de 03 de 2018 de Universidad
de Sonora httpclustersfisicausonmx
Llorens E amp Pentildea M (2002) Recuperado el 04 de 2018 de Departament dArquitectura de
Computadors httppersonalsacupceduenricPFCBeowulfbeowulfhtml
Meneacutendez-Barzanallana R (07 de 08 de 17) Universidad de Murcia Recuperado el 11 de 2018
de Informaacutetica Aplicada a las Ciencias Sociales
httpswwwumesdocenciabarzanaIACCSSCriptografiahtml
Merkle R amp Damgaringrd I (sf) Numerenturorg Recuperado el 06 de 2019 de Para computar -
numerenturorg httpnumerenturorgfuncion-merkle-damgard
Microsoft Inc (02 de 05 de 2019) wwwmicrosoftcom Obtenido de Password must meet
complexity requirements httpsdocsmicrosoftcomes-eswindowssecuritythreat-
protectionsecurity-policy-settingspassword-must-meet-complexity-requirements
99
Mifsud E (26 de 03 de 2012) Introduccioacuten a la seguridad informaacutetica Recuperado el 07 de 05
de 2018 de Ministerio de educacioacuten cultura y deportes Gobierno de Espantildea
httprecursosticeducacionesobservatoriowebessoftwaresoftware-general1040-
introduccion-a-la-seguridad-informaticashowall=1
Murugesan S (01 de 02 de 2008) Researchgate doi101109MITP200810
Nahar K amp Abu Abbas O (01 de 2010) Researchgate Recuperado el 07 de 2019 de
Researchgate
httpswwwresearchgatenetpublication315492522_Hybrid_Cipher_System
Nievas F Pino O amp Arroyo R (sf) Los clusters como Plataforma de Procesamiento Paralelo
Recuperado el 25 de 04 de 2018 de
httpusuarioslycoseslacaraocultadescargasClusters_definitivo pdf
Pawar S (2016) A computer science portal for geeks Recuperado el 10 de 2018 de
Geeksforgeeks httpswwwgeeksforgeeksorgrc5-encryption-algorithm
Peleus (2019) NETSEC Recuperado el 08 de 2019 de httpsnetsecwsp=314
Peacuterez Tavera I (2014) Obtenido de Universidad Autonoma del Estado de Hidalgo
httpswwwuaehedumxscigeboletinprepa4n2e4html
Peacuterez M (2001) Recuperado el 15 de 04 de 2018 de
httpwwwdragonesorgBibliotecaArticulosArquitecturaParalela2pdf
Petitet A Whaley R C Dongarra J amp Cleary A (2008) HPL - A Portable Implementation of
the High-Performance Linpack Benchmark for Distributed-Memory Computers
Recuperado el 07 de 2019 de httpwwwnetliborgbenchmarkhpl
Picolet J (2017) Hash Crack Password Cracking Manual (Vol 2) Createspace Independent
Pub
100
Preukschat A (23 de 02 de 2015) Oro y Finanzas Recuperado el 07 de 2019 de
httpswwworoyfinanzascom201502que-es-colision-criptografia-bitcoin
Robbins D (2008) OpenMosix Recuperado el 22 de 04 de 2018 de the openMosix Project
httpopenmosixsourceforgenetintroduction_to_openmosixhtml
Rocha Quezada J d Botello Rionda S Vargas Feacutelix J M amp Munguiacutea Torres I A (Sep-Dic
de 2011) Disentildeo e implementacioacuten de un cluacutester de coacutemputo de alto rendimiento Acta
Universitaria 21(3) 24-33 Recuperado el 1 de 12 de 2018
Rocksclusters (01 de 01 de 2010) httpwwwrocksclustersorg Recuperado el 01 de 06 de 2018
de httpwwwrocksclustersorg httpwwwrocksclustersorg
Sanjoy K (01 de 01 de 2015) DZone Recuperado el 15 de 06 de 2019 de DZone
httpsdzonecomarticlessecurity-algorithms-des-algorithm
Security Degree Hub (01 de 2017) Security Degree Hub Recuperado el 13 de 02 de 2019 de
Security Degree Hub httpswwwsecuritydegreehubcomwhat-is-cryptanalysis
Simmons G (01 de 01 de 2019) Encyclopedia Britannica Recuperado el 08 de 2019 de
Encyclopedia Britannica httpswwwbritannicacomtopicRSA-encryption
statista (09 de 2017) Statista Obtenido de Statista Co httpsesstatistacom
Turner D (2004) Recuperado el 12 de 02 de 2018 de Ames Lab
httpwwwsclameslabgovProjectsparrallel_computingpara_intohtml
United States Government Department of Defense (1983) Trusted Computer System Evaluation
Criteria Rainbow Series
Universidad Internacional de Valencia (09 de Septiembre de 2016) Nuestros
expertosTecnologiacutea Recuperado el 27 de Abril de 2018 de Universidad Internacional de
Valencia httpswwwuniversidadviuesla-seguridad-informatica-puede-ayudarme
101
Wallen J (19 de 01 de 2019) Lifewire Recuperado el 13 de 06 de 2019 de Lifewire
httpswwwlifewirecomgnome-3-desktop-4175640
Yang H (01 de 02 de 2019) Herong Yang Recuperado el 15 de 06 de 2019 de Cryptography
Tutorials httpwwwherongyangcomCryptographyDSA-Introduction-What-Is-DSA-
Digital-Signature-Algorithmhtml
102
Anexo 1
Programa en Lenguaje C para la obtencioacuten de nuacutemeros primos utilizando libreriacuteas mpi
include ltcstdlibgt
include ltiostreamgt
include ltiomanipgt
include ltcmathgt
include ltctimegt
include mpih
using namespace std
int main ( int argc char argv[] )
int prime_number ( int n int id int p )
void timestamp ( )
int main ( int argc char argv[] )
int i
int id
int master = 0
int n
int n_factor
int n_hi
int n_lo
int p
int primes
int primes_part
double wtime
n_lo = 1
n_hi = 10000000
n_factor = 2
MPIInit ( argc argv )
p = MPICOMM_WORLDGet_size ( )
id = MPICOMM_WORLDGet_rank ( )
if ( id == master )
cout ltlt n
cout ltlt Cuenta primosn
cout ltlt C++MPI versionn
cout ltlt n
cout ltlt Programa para contar cantidad de primos para un N dadon
cout ltlt Corriendo en ltlt p ltlt procesosn
cout ltlt n
103
cout ltlt N S Tiempon
cout ltlt n
n = n_lo
while ( n lt= n_hi )
if ( id == master )
wtime = MPIWtime ( )
MPICOMM_WORLDBcast ( ampn 1 MPIINT master )
primes_part = prime_number ( n id p )
MPICOMM_WORLDReduce ( ampprimes_part ampprimes 1 MPIINT
MPISUM
master )
if ( id == master )
wtime = MPIWtime ( ) - wtime
cout ltlt ltlt setw(8) ltlt n
ltlt ltlt setw(8) ltlt primes
ltlt ltlt setw(14) ltlt wtime ltlt n
n = n n_factor
MPIFinalize ( )
if ( id == master )
cout ltlt n
cout ltlt PRIME_MPI - Procesos maestron
cout ltlt Finalizacion del calculo normaln
return 0
int prime_number ( int n int id int p )
int i
int j
int prime
int total
104
total = 0
for ( i = 2 + id i lt= n i = i + p )
prime = 1
for ( j = 2 j lt i j++ )
if ( ( i j ) == 0 )
prime = 0
break
total = total + prime
return total
void timestamp ( )
define TIME_SIZE 40
static char time_buffer[TIME_SIZE]
const struct tm tm
size_t len
time_t now
now = time ( NULL )
tm = localtime ( ampnow )
len = strftime ( time_buffer TIME_SIZE d B Y IMS p tm )
cout ltlt time_buffer ltlt n
return
undef TIME_SIZE
iv
Agradecimientos
Agradezco primero y ante todo a Dios todo se lo debo a Eacutel por derramar sus
bendiciones sobre miacute por acompantildearme en cada paso que doy y haber fortalecido mi corazoacuten e
iluminado mi mente Gracias Padre
A mi familia que ha estado ahiacute siempre a mi lado en los momentos maacutes oscuros y
difiacuteciles creyendo en miacute impulsaacutendome para alcanzar mis metas
Al Consejo Nacional de Ciencia y Tecnologiacutea por haberme apoyado econoacutemicamente
para la realizacioacuten de este proyecto
A mi director de tesis el Dr Eduardo de la Cruz Gaacutemez por su tiempo por su paciencia
por los valiosos aportes criacuteticas comentarios y sugerencias que realizoacute durante este proyecto
Al Departamento de Posgrado e Investigacioacuten del Instituto Tecnoloacutegico de Acapulco asiacute
como a toda la plantilla docente de la cual me llevo conocimiento y experiencias
enriquecedoras que sin lugar a dudas marcaron mi vida profesional
A la segunda generacioacuten muchas gracias Abejorros sin el apoyo mutuo durante el
tiempo que pasamos en las aulas y durante el desarrollo de los proyectos tal vez no lo
hubieacuteramos logrado
v
Resumen
El presente trabajo inicia con una breve introduccioacuten sobre la importancia que tiene la
seguridad en cualquier aspecto de la vida y sobre todo en el aacuterea laboral especiacuteficamente en el
aacuterea informaacutetica Posteriormente resalta coacutemo la criptografiacutea ha estado presente en momentos
importantes de la vida del ser humano sobre todo dentro del aacutembito militar en la cual ha sido
fundamental para permitir comunicaciones seguras Actualmente la criptografiacutea estaacute dentro de
nuestro diario vivir cuando realizamos transacciones en internet de manera segura Como parte de
la investigacioacuten en este trabajo se describen los tipos de criptografiacutea y criptoanaacutelisis tambieacuten se
analizan los niveles de seguridad de sistemas operativos asiacute como los meacutetodos de agrupamiento
de computadoras para implementar con la ayuda de esta herramienta de una manera maacutes raacutepida
criptoanaacutelisis a un sistema operativo con un nivel de seguridad C1
Palabras clave cluacutester seguridad criptoanaacutelisis
vi
Abstract
This work begins with a review of the importance of security in any aspect of life and
especially in the workplace specifically in the computer area Later this work speaks briefly about
how cryptography has been present at important moments in the life of the human being especially
in the military field in which it has been fundamental to allow secure communications Currently
cryptography is inside our daily life when we conduct transactions on the internet in a secure
manner As part of the research in this work the types of cryptography and cryptanalysis are
described as well as the security levels of operating systems and above all the main methods of
computers clustering to implement a system with a faster method of cryptanalysis in an operative
system with a security level C1
Keywords cluster security cryptanalysis
vii
Iacutendice de Contenido
Descargo de Responsabilidad Institucional ii
Dedicatoria iii
Agradecimientos iv
Resumen v
Abstract vi
Iacutendice de Contenido vii
Iacutendice de Figuras x
Iacutendice de Tablas xi
Capiacutetulo 1 Introduccioacuten 1 11 Antecedentes del problema 1
12 Planteamiento del Problema 4
13 Objetivos 6
131 Objetivo General 6
132 Objetivos Especiacuteficos 6
14 Justificacioacuten 7
15 Hipoacutetesis 7
16 Alcances y Limitaciones 8
17 Impacto Social Tecnoloacutegico Econoacutemico y Ambiental 8
171 Impacto social 8
172 Impacto ambiental 9
173 Impacto econoacutemico 10
18 Metodologiacutea a Utilizar 10
181 Anaacutelisis 10
182 Disentildeo 10
1821 Economiacutea 10
1822 Instalaciones 10
1823 Escalabilidad 11
1824 Red 11
1825 Software 11
1826 Almacenamiento 12
183 Implementacioacuten 12
1831 Software 12
1832 Hardware 13
1833 Recursos totales del cluacutester 13
19 Aseguramiento Teacutecnico ndash Material 13
191 Hardware 14
viii
1911 Equipo de coacutemputo 14
Capiacutetulo 2 Estado del Arte 16
Marco Teoacuterico 27 21 Seguridad de la Informacioacuten 27
211 Objetivo de la seguridad de la informacioacuten 27
212 Principios de la seguridad informaacutetica 28
213 Caracteriacutesticas de seguridad informaacutetica 28
214 Formas de Autenticacioacuten 29
215 Ciber-seguridad 29
22 Criptografiacutea 30
221 Tipos de Criptografiacuteas 30
2211 Tablas Hash 30
2212 Tipos de algoritmos Hash 31
22121 SHA - 1 (Secure Hash Algorithm) 31
22122 MD5 (Message Digest Algorithm) 31
22123 RIPEMD ndash 160 32
22124 Funcioacuten Merkle-Damgaringrd 32
2213 Cifrado simeacutetrico 32
22131 RC5 (Cifrado de Rivest) 33
22132 IDEA (International Data Encryption Algorithm) 33
22133 DES (Data Encryption Standard) 34
2214 Cifrado asimeacutetrico 35
22141 DSA (Digital Signature Algorithm - Algoritmo de Firma digital) 36
22142 RSA 37
2215 Cifrado hiacutebrido 38
23 Criptoanaacutelisis 38
24 Niveles de seguridad 39
241 Nivel D1 40
242 Nivel C1 40
243 Nivel C2 41
244 Nivel B1 42
245 Nivel B2 43
246 Nivel B3 44
247 Nivel A1 45
25 Sistemas Operativos 46
251 Windows 47
252 Registro de Windows 48
253 Administrador de cuentas de seguridad 49
2531 Identificador de Seguridad (SID Security Identifier) 50
254 Autenticacioacuten NTML 51
26 LINUX (ROCKS) 52
261 Escritorio 53
262 Paquete de Oficina 53
263 Organizador de archivos 54
27 Agrupamiento (Cluacutester) de Computadoras 55
271 Beowulf 56
ix
272 Mosix 56
273 OpenMosix 57
Capiacutetulo 3 Implementacioacuten de Cluacutester 59 31 Requisitos previos 59
311 Conexioacuten de los equipos y acceso a la red 59
312 Configuracioacuten de la BIOS 60
3121 ATAIDE Mode 60
3122 PXE 62
32 Instalacioacuten de Sistema Operativo Rocks 63
321 Configuracioacuten del teclado 70
33 Instalacioacuten de los nodos 70
331 Administracioacuten de nodos 72
332 Creacioacuten de cuentas de usuario 73
333 Configuracioacuten del directorio compartido 73
34 Operaciones baacutesicas de Rocks 74
Capiacutetulo 4 Metodologiacutea y Resultados 77 41 Obtener Archivo hash 77
42 Dar Formato al Hash 80
43 Evaluar la fuerza del Hash 80
44 Calcular la capacidad del equipo 82
45 Establecer Estrategia 87
451 Fuerza Bruta 87
4511 Cantidad de combinaciones posibles 88
452 Diccionario 90
453 Analizar los resultados 91
454 Personalizar ataques 91
Conclusioacuten 92
Trabajo Futuro 94 Propuesta de Trabajo a Futuro 94
Bibliografiacutea 96
Anexo 1 102
x
Iacutendice de Figuras
Figura 31 Esquema tiacutepico de configuracioacuten de un cluacutester xi
Figura 32 Imagen del Bios del equipo en la opcioacuten ldquodrive configurationrdquo 61
Figura 33 Bios ATAIDE Legacy Mode 61
Figura 34 Bios Boot PXE 62
Figura 35 Bios Boot device prioriry 63
Figura 36 Pantalla de Inicio de instalacioacuten de Rocks 64
Figura 37 Pantalla de seleccioacuten de Rolls 65
Figura 38 Listado de opciones de rolls para instalar 65
Figura 39 Informacioacuten baacutesica del cluacutester a instalar 66
Figura 310 Configuracioacuten Ethernet de la red privada 67
Figura 311 Configuracioacuten Ethernet de la red puacuteblica 67
Figura 312 Configuracioacuten de DNS y Gateway 68
Figura 313 Ingresar contrasentildea de usuario root 68
Figura 314 Configuracioacuten horaria 69
Figura 315 Particiones del disco duro 69
Figura 316 Pantalla para ingresar nodos 71
Figura 317 Indicador de insercioacuten de nuevos nodos 71
Figura 318 Comando qstat ndashf 74
Figura 319 Enviacuteo de trabajos por medio del comando qsub 75
Figura 320 Estado de los trabajos pendientes mostrados por qstat ndashf 75
Figura 321 Visualizacioacuten de la distribucioacuten de cargas en el cluacutester usando la herramienta
Ganglia 76
Figura 41 Arranque con LiveUSB KaliLinux 79
Figura 42 Resultado de la ejecucioacuten de la herramienta samdump2 80
Figura 43 Sistema de Ecuaciones tipo 119860119909 = 119887 Fuente Propia 84 Figura 44 Distribucioacuten de cargas del cluacutester 86
Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester 89
xi
Iacutendice de Tablas
Tabla 11 Costo del Proyecto 15
Tabla 41 Rendimiento de HP cluacutester (Fuente Elaboracioacuten propia) 86
Tabla 42 Resultados de criptoanaacutelisis de archivo SAM (Fuente Elaboracioacuten propia) 89
Tabla 43 Resultados de ejecucioacuten de programa en C para la obtencioacuten de nuacutemeros primos
(Fuente Elaboracioacuten propia) 90
1
Capiacutetulo 1 Introduccioacuten
11 Antecedentes del problema
Sin lugar a duda una de las herramientas maacutes importantes producida en el siglo XX ha sido
la computadora la cual ha provocado cambios vertiginosos en la sociedad y en el progreso de la
misma En la actualidad el entorno estaacute praacutecticamente controlado por las nuevas tecnologiacuteas que
a medida que transcurre el tiempo avanzan sin liacutemites y en ocasiones son utilizadas
incorrectamente provocando dantildeos de grandes dimensiones
Los trascendentales cambios operados en el mundo moderno caracterizados por su
constante desarrollo la acelerada globalizacioacuten de la economiacutea la acentuada dependencia a
almacenar grandes voluacutemenes de informacioacuten y los sistemas que la proveen aunado a grandes
inversiones de las empresas en conocimiento actual y futuro en sistemas de informacioacuten ademaacutes
del potencial que poseen las tecnologiacuteas para cambiar draacutesticamente las organizaciones y las
praacutecticas de negocio asiacute como crear nuevas oportunidades disentildear nuevas estructuras tecnoloacutegicas
basadas en informacioacuten la convierte en un activo codiciable Tales avances hacen permanente el
riesgo en las tecnologiacuteas y nos llevan a pensar en la problemaacutetica sobre la seguridad informaacutetica
La proteccioacuten de datos documentos y control de acceso a la informacioacuten es un tema que
cada diacutea toma maacutes fuerza en las grandes compantildeiacuteas debido a las diferentes praacutecticas de
especialistas tecnoloacutegicos como los son los hackers y crackers que roban informacioacuten vital para
posteriormente sacar provecho de ella
2
ldquoDesde la aparicioacuten de los grandes sistemas aislados hasta nuestros diacuteas en los que el
trabajo en red es lo habitual los problemas derivados de la seguridad de la informacioacuten han ido
tambieacuten cambiando evolucionando pero estaacuten ahiacute y las soluciones han tenido que ir adaptaacutendose
a los nuevos requerimientos teacutecnicos Aumenta la sofisticacioacuten en el ataque y ello aumenta la
complejidad de la solucioacuten pero la esencia es la mismardquo (Mifsud 2012)
Dentro del mundo actual la informacioacuten es denominada un activo importante de una
institucioacuten la cual debe ser protegida para evitar su peacuterdida modificacioacuten o el uso inadecuado de
su contenido
El extraviacuteo o el mal uso de informacioacuten que para alguien es confidencial genera dantildeos y
repercusiones directas relacionadas a la integridad disponibilidad y confidencialidad de los
archivos y a su vez a los duentildeos de dicha informacioacuten
ldquoLa seguridad informaacutetica se distingue por tener dos propoacutesitos de seguridad la Seguridad
de la Informacioacuten y la Proteccioacuten de Datos estos se diferencian debido a que los datos son valores
numeacutericos que soportan la informacioacuten mientras que la informacioacuten es aquello que tiene un
significado para nosotrosrdquo (Gonzaacutelez Agudelo 2014)
La seguridad informaacutetica consiste en asegurar que los recursos del sistema de informacioacuten
(material informaacutetico o programas) de una organizacioacuten sean utilizados de la manera que se decidioacute
3
inicialmente y que el acceso a la informacioacuten alliacute contenida asiacute como su modificacioacuten soacutelo sea
posible a las personas que se encuentren acreditadas y dentro de los liacutemites de su autorizacioacuten
Actualmente hay mucha informacioacuten circulando en internet por ejemplo correos
electroacutenicos publicaciones en Twitter Facebook videos fotos comercio electroacutenico secretos de
estado militares o industriales Lamentablemente dicha red es puacuteblica e insegura dentro de la cual
existen usuarios bien intencionados y muchos mal intencionados Diariamente encontramos
noticias de sitios con intrusiones mal intencionadas (hackeados) clonacioacuten de tarjeta de creacutedito o
imaacutegenes adulteradas Todo lo anterior motiva la necesidad de proteger la informacioacuten a traveacutes de
mecanismos que impidan a los usuarios no autorizados acceder a dicha informacioacuten
4
12 Planteamiento del Problema
Los sistemas de informacioacuten actuales estaacuten relacionados completamente con la exposicioacuten
de su informacioacuten a entidades externas que son ajenas a la organizacioacuten o delegacioacuten a la que
pertenecen
Cuando no se conoce el alcance que tienen los sistemas informaacuteticos ni lo vulnerables que
pueden ser si son expuestos a Internet por los mismos empleados de la organizacioacuten puede darse
ldquofugardquo de informacioacuten hacia el exterior esto los hace vulnerables a eventos y amenazas que
conllevan a riesgos que pueden provocar peacuterdidas tangibles e intangibles las cuales se traducen
en peacuterdidas que en muchos de los casos por decir lo menos seraacuten monetarias
El portal espantildeol de estadiacutesticas statista muestra la cuota de mercado de los principales
sistemas operativos a nivel mundial a fecha de febrero de 2017 seguacuten el nuacutemero de instalaciones
(statista 2017) Windows 10 fue el segundo sistema operativo maacutes instalado con una cuota de
mercado de 253 Esto significa que alrededor de una de cada cuatro computadoras estaacute
gobernado por este sistema operativo Por su parte en el caso de Windows 7 el porcentaje se situacutea
por encima del 45 a pesar de que ya no se vende ninguacuten PC con este sistema operativo Hablando
de manera conjunta los sistemas operativos Windows cuentan con una cuota del mercado global
de 8857
La empresa de seguridad informaacutetica Britaacutenica Avecto informoacute en su Microsoft
Vulnerabilities Report 2017 (Avecto 2017) (reporte 2017 de vulnerabilidades de Windows) un
aumento de vulnerabilidades publicadas del 111 en los uacuteltimos 5 antildeos de las cuales 235 criacuteticas
5
fueron mitigadas removiendo permisos de administrador asiacute como otras muy importantes
enfocadas al Administrador de Cuentas de Seguridad (SAM Security Account Manager por sus
siglas en ingleacutes) la cual es una base de datos almacenada como un archivo del registro en Windows
y que almacena las contrasentildeas de los usuarios en un formato hash (Algoritmos que crean a partir
de una entrada una salida alfanumeacuterica de longitud fija)
6
13 Objetivos
131 Objetivo General A traveacutes de la implementacioacuten de un procedimiento de fuerza
bruta utilizando para ello un cluacutester de alto rendimiento asiacute como software de uso libre lograr
capacidad de procesamiento capaz de vulnerar un sistema de autenticacioacuten nivel C1
132 Objetivos Especiacuteficos
Analizar los diferentes niveles de seguridad de sistemas operativos
Analizar diferentes meacutetodos de criptoanaacutelisis para vulnerar el Administrador de
cuentas de seguridad
Estudiar las teacutecnicas de agrupamiento de computadoras (clustering) para la
obtencioacuten de mayor poder de procesamiento
Implementar un cluacutester de alto rendimiento en el Laboratorio de la Maestriacutea en
Sistemas Computacionales del Instituto Tecnoloacutegico de Acapulco para ejecutar
operaciones de coacutemputo distribuido
7
14 Justificacioacuten
Antes la seguridad de la informacioacuten se realizaba a traveacutes de medios fiacutesicos por ejemplo
una caja fuerte en la cual las personas resguardaban objetos o informacioacuten valiosa para ellos Con
la introduccioacuten de las computadoras y el uso de internet los usuarios comienzan a almacenar
informacioacuten importante dentro de sus equipos por lo que se considera indispensable el uso de
herramientas que brinden proteccioacuten a la informacioacuten que se encuentra resguardada dentro de
eacutestas Los usuarios informaacuteticos suelen enviar informacioacuten por la red en las empresas al realizar
traacutemites o enviar informes a socios jefes entre otros
El resguardo de informacioacuten siempre ha sido importante para los seres humanos con la
diferencia que anteriormente no se contaba con los avances tecnoloacutegicos que tenemos actualmente
puesto que con la introduccioacuten de internet y el uso de dispositivos electroacutenicos se tiene mayor
riesgo de la informacioacuten que en ellos se maneja
La proteccioacuten del contenido de los datos es una necesidad urgente en casi todos los aacutembitos
de la sociedad incluyendo los servicios puacuteblicos y privados por lo que la tecnologiacutea de la
seguridad de los sistemas de cifrado se encuentra de frente a verdaderos retos
15 Hipoacutetesis
A traveacutes de un de fuerza bruta como teacutecnica de criptoanaacutelisis y con la ayuda de una mayor
capacidad de procesamiento mediante la implementacioacuten de agrupamiento de computadoras
(cluacutester) de alto rendimiento seraacute posible encontrar alguna vulnerabilidad dentro del sistema de
administracioacuten de cuentas de seguridad de Windows server 2012
8
16 Alcances y Limitaciones
Esta tesis se centraraacute en el sistema operativo Windows como objeto de estudio al cual se
le realizaraacute el criptoanaacutelisis
La tesis se enfocaraacute en el meacutetodo Beowulf para realizar el agrupamiento de computadoras
asiacute como la distribucioacuten de software libre del sistema operativo Linux Rocks
El nuacutemero de equipos disponibles para poder realizar el agrupamiento es de 17
computadoras hasta lograr el poder de coacutemputo de 800 Gflops
17 Impacto Social Tecnoloacutegico Econoacutemico y Ambiental
La sostenibilidad del presente proyecto seraacute abordada a partir de los siguientes aspectos
171 Impacto social A veces se puede pensar que un cluacutester de alto rendimiento pudiera
no tener alguacuten impacto directo en el medio social pero si nos enfocamos a un punto de vista en
donde gracias a la capacidad de procesamiento de estas maacutequinas han sido parte fundamental en
el desarrollo de proyectos que inciden de manera directa en beneficio de la sociedad en la que
vivimos como lo es la medicina la fiacutesica quiacutemica
Este proyecto busca beneficiar a nuestra sociedad proveyendo su capacidad de
procesamiento en la buacutesqueda de alguna vulnerabilidad en el sistema operativo maacutes utilizado hoy
en diacutea como lo es Windows ademaacutes de que estaraacute disponible para la comunidad cientiacutefica y
9
estudiantil del Instituto Tecnoloacutegico de Acapulco para optimizar tiempo de caacutelculo en futuras
investigaciones
172 Impacto ambiental Green IT tambieacuten conocido como Green Computing o
traducido al espantildeol como Tecnologiacuteas Informaacuteticas Verdes es definido como el estudio y la
praacutectica de disentildear desarrollar usar y disponer de computadoras servidores y diferentes
perifeacutericos tales como monitores impresoras dispositivos de almacenamiento de redes y
comunicaciones eficientemente y efectivamente con un impacto miacutenimo o nulo en el medio
ambiente (Murugesan 2008)
Bajo la premisa anterior este proyecto hace uso de los equipos con los que cuenta
actualmente el laboratorio de la Maestriacutea en Sistemas Computacionales lo cual evitaraacute la
adquisicioacuten de equipo nuevo y por consecuencia desechar el equipo existente evitando desperdicio
electroacutenico Dicho equipo cuenta con un procesador Intel I3 de 4ta generacioacuten lo cual seguacuten el
portal electroacutenico Europa press
ldquoEsta nueva generacioacuten supone el mayor salto en cuanto ahorro energeacutetico de la historia
de Intel asiacute como una mejora en los graacuteficos y nuevas experiencias de usuariordquo (europa press
2013)
Teniendo como base estos dos puntos importantes como lo son la reutilizacioacuten de equipo
y utilizando procesadores de bajo consumo energeacutetico es como este proyecto busca contribuir de
manera positiva con el medio ambiente
10
173 Impacto econoacutemico Actualmente existe una gran necesidad de procesar grandes
cantidades de datos lo cual hace imprescindible disponer de maacutequinas con estas caracteriacutesticas sin
embargo su alta complejidad aunado al gran costo hace que en instituciones de caraacutecter puacuteblico
sea muy complicado conseguir recurso para este fin Sin embargo un cluacutester de alto rendimiento
reutilizaraacute equipo propio evitando asiacute gastos por concepto de adquisicioacuten de equipo siendo de
esta manera viable para instituciones de caraacutecter puacuteblico
18 Metodologiacutea a Utilizar
181 Anaacutelisis Despueacutes de analizar las diferentes metodologiacuteas de clustering se optoacute por
desarrollar e implementar un cluacutester de alto rendimiento (HPC)
182 Disentildeo
1821 Economiacutea Debido a las caracteriacutesticas del equipo con el cual cuenta el Laboratorios
de la Maestriacutea en Sistemas Computacionales los componentes utilizados para este proyecto son
considerados de uso comuacuten y de bajo costo lo cual los hace faacutecilmente reemplazables en caso de
fallo a un costo accesible El equipo es de la marca Acer Aspire modelos AXC-605-M021 lo cual
nos hace tener ventaja y respaldo del fabricante con respecto a hardware geneacuterico
1822 Instalaciones Un cluacutester requiere de un ambiente controlado Esto es una
habitacioacuten especial con sistema de enfriamiento capacidad suficiente de carga eleacutectrica control
de humedad y un ambiente libre de polvo Ademaacutes se deben considerar el peso del equipo sobre
el piso (ya sea falso o piso normal) Se recomienda colocarlo en los soacutetanos o en la plata baja de
edificios (Rocha Quezada Botello Rionda Vargas Feacutelix amp Munguiacutea Torres 2011)
11
En el laboratorio de la Maestriacutea en Sistemas Computacionales se cuenta con espacio que
reuniacutea la mayoriacutea de las caracteriacutesticas requeridas para este proyecto
1823 Escalabilidad Un cluacutester debe ser faacutecilmente escalable y a su vez confiable Por
tal motivo se ha utilizado equipo de marca lo cual nos proporciona maacutes de confiabilidad en su
desempentildeo y a su vez facilidad de aumentar el nuacutemero de equipos si en un futuro fuese necesario
agrandar este proyecto Se armoacute un cluacutester de cinco computadoras con procesadores Intel Core I3
de 64 bits en cada nodo La memoria incluida y perifeacutericos son faacuteciles de adquirir en el mercado
1824 Red En la parte de redes se utilizoacute un switch fast Ethernet con una velocidad de 1
Gbps el cual tiene tazas de transferencia raacutepida y el costo es notablemente maacutes econoacutemico que
uno de fibra oacuteptica
El cableado seleccionado fue el estaacutendar UTP de cobre con la norma Gigabit Ethernet de
IEEE 8023ab con la categoriacutea de cableado 6e que soporta tazas de transferencia de datos de
1000Base T (1 Gbps)
1825 Software
ldquoEl sistema operativo debe constar con servicios dedicados para compartir y respaldar
archivos asiacute como capacidad de acceder a los datos de trabajo raacutepidamente El sistema operativo
debe tambieacuten proveer servicios de monitoreo y reporte de fallas en el sistemardquo (Rocha Quezada
Botello Rionda Vargas Feacutelix amp Munguiacutea Torres 2011)
12
Existe una gran variedad de software para instalar cluacutester de alto rendimiento sin embargo
como se ha comentado con anterioridad el costo de adquisicioacuten debe ser accesible por tal motivo
se optoacute por una distribucioacuten con licencia GNU de Linux Rocks Cluster la cual es una distribucioacuten
sencilla de instalar y configurar en comparacioacuten con otras distribuciones analizadas dicha
distribucioacuten estaacute basada en CentOS que a su vez estaacute basada en la conocida distribucioacuten de Linux
Red Hat
1826 Almacenamiento Para este proyecto no se requeriraacute un gran espacio de
almacenamiento por tal motivo los equipos utilizados tanto maestro como esclavos mantuvieron
sus unidades de disco originales las cuales son de 1 TB de almacenamiento
183 Implementacioacuten La implementacioacuten del cluacutester de alto rendimiento fue realizada
dentro de las instalaciones del Laboratorio de la Maestriacutea en Sistemas Computacionales del
Instituto Tecnoloacutegico de Acapulco construido inicialmente para este proyecto de criptoanaacutelisis lo
cual requeriraacute suficiente capacidad de procesamiento para poder implementar ataques de fuerza
bruta a sistemas operativos Las caracteriacutesticas del cluacutester construido son
1831 Software El software instalado en cada uno de los nodos es el siguiente
bull Sistema operativo Rocks Cluacutester Linux 74 (64 bits)
bull Libreriacutea de manejo de mensajes Open-MPI 153
bull Software de monitoreo Ganglia
13
1832 Hardware El cluacutester estaacute compuesto de 17 equipos con las siguientes
caracteriacutesticas
bull Nodo Maestro y 16 Nodos Esclavos
- Procesador Intel Core I3 4150 (4 nuacutecleos) Memoria 6 GB Disco Duro SATA 1 TB
tarjeta de Red Gigabit Ethernet
El hardware adicional es el siguiente
bull Interconexioacuten de Red
bull Switch Cisco 26 puertos 1Gbps modelo SG200 Red interna
1833 Recursos totales del cluacutester
bull Nuacutecleos de unidades de procesamiento (cores) 68
bull Capacidad en memoria 92 GB
bull Capacidad en disco 17 TB
19 Aseguramiento Teacutecnico ndash Material
A continuacioacuten se muestra el desglose del equipo utilizado para la elaboracioacuten de un
cluacutester de alto rendimiento estos componentes consisten en Hardware y Software especializado
asiacute como los costos de produccioacuten y personal involucrados en la metodologiacutea y elaboracioacuten del
proyecto
Costos de Hardware
Costos de Software
14
191 Hardware En este punto se refleja el costo de los dispositivos y herramientas a nivel
fiacutesico las cuales sirvieron para la implementacioacuten del proyecto cluacutester de alto rendimiento Cabe
resaltar que el equipo utilizado forma parte del inventario actual del Laboratorio motivo por el
cual su utilizacioacuten no causoacute erogacioacuten alguna sin embargo la investigacioacuten de costos se realizoacute
con la finalidad que el lector pueda establecer comparativas y buscar alternativas en caso de ajuste
de presupuesto
1911 Equipo de coacutemputo El equipo de coacutemputo utilizado consta de diecisiete
computadoras las cuales serviraacuten una para Nodo Maestro y las dieciseacuteis restantes como Nodos
Esclavos
La descripcioacuten de estos equipos se muestra en la tabla a continuacioacuten mostrando los costos
de todos los equipos utilizados dentro del proyecto
15
Tabla 11 Costo del Proyecto
Modelo
Cantidad
Caracteriacutesticas
Costos
PC - Acer AXC-
605
17
Procesador Intel Core i3
Pantalla 156rdquo
Disco duro 1TB HDD
RAM 6GB
Salida HDMI
Tarjeta de graacuteficos INTEGRADA
Lector de CD
Los costos en el mercado de una PC de
escritorio con estas caracteriacutesticas tiene un
valor aproximado de $600000 pesos
(Moneda nacional Mexicana)
Switch Cisco
Gigabit Ethernet
1
Modelo SG200 de 26 puertos
Costo en el mercado alrededor de
$2000000 pesos MN
Total
12200000 pesos MN
16
Capiacutetulo 2 Estado del Arte
Tiacutetulo del Trabajo Introduccioacuten a la Criptografiacutea
Autor Gibraacuten Granados Paredes
Fecha Julio 2010
Lugar Ciudad de Meacutexico
Publicado en Coordinacioacuten de Publicaciones Digitales DGSCA-UNAM
httpwwwrevistaunammxvol7num7art55int55htm
Siacutentesis Cuando se desea tener seguridad hablando en aacutembitos informaacuteticos la
criptografiacutea es una herramienta muy uacutetil el autor lo entiende tambieacuten como un medio para
garantizar las propiedades de confidencialidad integridad y disponibilidad de los recursos de un
sistema
Con la criptografiacutea se puede garantizar las propiedades de integridad y confidencialidad
pero hay que saber coacutemo utilizarla para ello es importante tener claros los conceptos baacutesicos que
estaacuten detraacutes de los sistemas criptograacuteficos modernos Estos conceptos van desde entender queacute es
la criptografiacutea coacutemo estaacute clasificada entender el funcionamiento baacutesico de algunos sistemas de
cifrado y conocer coacutemo se forman los documentos digitales como firmas y sobres digitales
Resultados El autor realiza un viaje por un gran nuacutemero de conceptos utilizados en
criptografiacutea el inicio y la clasificacioacuten de la misma asiacute como la criptografiacutea claacutesica y moderna y
analiza de manera breve algunos meacutetodos de cifrado maacutes comunes
17
Tiacutetulo del Trabajo Criptoanaacutelisis sobre meacutetodos claacutesicos de cifrado
Autores Sebastiaacuten Goacutemez Juan David Arias Diego Agudelo
Fecha 2 de mayo 2013
Lugar Ciudad de Meacutexico
Publicado en Scientia et Technica Antildeo XVII No 50 abril de 2012
Siacutentesis Los algoritmos criptograacuteficos utilizados desde la antigua Roma hasta nuestros
diacuteas son meacutetodos que convierten un mensaje de texto plano a cifrado al proceso inverso se le
conoce como descifrar Este artiacuteculo realiza un estudio de algunas teacutecnicas de encriptacioacuten claacutesicas
del siglo pasado como lo son el cifrado de Cesar y el cifrado de Vigeneacutere asiacute como muestra
teacutecnicas baacutesicas y modernas de criptoanaacutelisis basadas en la teoriacutea de la informacioacuten y estadiacutestica
como lo son la entropiacutea y el ataque de maacutexima correlacioacuten Las teacutecnicas de criptoanaacutelisis descritas
anteriormente pueden ser usadas en otros meacutetodos de cifrado siempre y cuando esteacuten presentes las
mismas debilidades
Resultados Los autores implementaron en lenguajes de programacioacuten Python un
algoritmo para el caacutelculo de entropiacutea para diferentes longitudes de clave Para la implementacioacuten
de los algoritmos de cifrado y descifrado de Vigeneacutere y de maacutexima correlacioacuten utilizaron lenguaje
de programacioacuten C++ Se probaron los meacutetodos anteriormente descritos sobre textos planos de
diferentes longitudes logrando un resultado de 9385 de efectividad en promedio
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de dos de los
algoritmos de encriptacioacuten maacutes antiguos y baacutesicos pero sobre todo que conociendo los meacutetodos
de criptoanaacutelisis me permitiraacuten analizar debilidades y fortalezas de algoritmos
18
Tiacutetulo del Trabajo ULTRACOM Computacioacuten de Alto Rendimiento para Criptoanaacutelisis
Autor Antonio Castro Lechtaler Alejandro Repetto Martiacuten Bianchi Marcelo Cipriano
Alejandro Arroyo Arzubi Ceacutesar Cicerchia Eduardo Malvacio
Fecha octubre 2014
Lugar Buenos Aires Argentina
Publicado en XX Congreso Argentino de Ciencias de la Computacioacuten (Buenos Aires
2014)
Siacutentesis La generacioacuten de nuacutemeros primos fundamentales para la produccioacuten de claves
el anaacutelisis de secuencias pseudo-aleatorias los procesos de verificacioacuten y validacioacuten de algoritmos
de seguridad en un sentido geneacuterico requieren enormes cantidades de procesamiento Los
procesos relacionados con la matemaacutetica criptograacutefica se caracterizan por la alta necesidad de
coacutemputo El objetivo de ULTRACOM es desarrollar una computacioacuten distribuida multipropoacutesito
que permita como primera aplicacioacuten real el anaacutelisis la validacioacuten y la ejecucioacuten de pruebas de
estreacutes sobre sistemas criptograacuteficos El presente trabajo de investigacioacuten detalla el proceso de
desarrollo de ULTRACOM y muestra un ejemplo de su implementacioacuten en una versioacuten Beta Para
ello toman como entrada dos versiones del algoritmo Trivium Utilizando la misma
infraestructura y sin desarrollo extra se prueban grandes voluacutemenes de claves y vectores de
inicializacioacuten de los algoritmos en busca de secuencias deacutebiles de menor longitud que la de la
buscada
Resultados El equipo implementoacute una versioacuten beta de la plataforma ULTRACOM
comprobando la factibilidad y viabilidad teacutecnica de la generalizacioacuten de la infraestructura de
computacioacuten distribuida en grilla (malla) BOINC Este avance permite extender los horizontes de
BOINC y habilita la posibilidad de obtener la capacidad de coacutemputo de alto rendimiento a bajo
19
costo Concluyeron que ULTRACOM es un proyecto viable escalable y de alto impacto para la
evaluacioacuten y validacioacuten de algoritmos criptograacuteficos
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento y la
implementacioacuten de una arquitectura de computacioacuten distribuida y una vez siendo factible su
desarrollo utilizar su poder de coacutemputo atacando a traveacutes de un algoritmo un sistema criptograacutefico
20
Tiacutetulo del Trabajo Criptografiacutea Cuaacutentica
Autor M Baig
Fecha 2010
Lugar Barcelona Espantildea
Siacutentesis En este artiacuteculo el autor realiza una breve introduccioacuten a la criptografiacutea claacutesica y
la relacioacuten que existe con la teoriacutea de la informacioacuten de Shannon la cual asegura que el cifrado
digital simeacutetrico es secreto y perfecto siempre y cuando se cumplan los tres requisitos
1 La llave ha de ser aleatoria
2 La llave debe usarse soacutelo una vez
3 La llave ha de ser tan larga como el mensaje y de un solo uso debe de estar en posesioacuten
tanto del emisor como del receptor
El punto 3 es el maacutes complicado de cumplir debido a la forma de compartir la llave entre
el emisor y receptor
Maacutes adelante en el artiacuteculo se hace un anaacutelisis sobre otra teacutecnica de criptografiacutea que es el
cifrado digital asimeacutetrico en la que se estudia coacutemo funcionan las llaves privadas y puacuteblicas asiacute
como el meacutetodo de criptograacutefico RSA
Resultados
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento maacutes profundo de
los meacutetodos de criptografiacutea simeacutetricos y asimeacutetricos especiacuteficamente el algoritmo asimeacutetrico
RSA
21
Tiacutetulo del Trabajo La Criptografiacutea Maderista en la Revolucioacuten Mexicana (1910-1911)
Criptoanaacutelisis de una carta cifrada por Gabriel Leyva Solano
Autor Roberto Narvaacuteez
Fecha 2011
Lugar Meacutexico DF
Siacutentesis Este trabajo aborda temas relacionados con las comunicaciones secretas del
movimiento revolucionario comandado por Francisco I Madero a partir de 1910 Se compone de
dos partes la primera es una breve resentildea criacutetica de ejemplos criptograacuteficos del maderismo que
fueron generados entre 1910 y 1911 la segunda describe paso a paso el criptoanaacutelisis que aplicoacute
el autor Roberto Narvaacuteez para desencriptar una carta parcialmente cifrada de Gabriel Leyva Solano
a Francisco I Madero
Resultados El propoacutesito general uacuteltimo es contribuir al conocimiento de la criptografiacutea
mexicana en el siglo XX En lo particular se trata de poner a disposicioacuten de los estudiosos el
contenido completo de la carta de Leyva Solano por primera vez despueacutes de 100 antildeos y al mismo
tiempo someter a la criacutetica teacutecnica e histoacuterica el procedimiento criptoanaliacutetico puesto en operacioacuten
para recuperar el texto plano
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de la teacutecnicas y
estudios realizados en nuestro paiacutes sobre formas y meacutetodos de encriptacioacuten durante la Revolucioacuten
Mexicana incluso mucho antes de la 2ordf Guerra mundial momento donde se registroacute un auge
importante dentro de la criptografiacutea moderna
22
Tiacutetulo de Tesis Anaacutelisis de la programacioacuten concurrente sobre la cpu y gpu en el
desarrollo de fractal build
Autor Joseacute Vicente Anilema Guadalupe
Fecha 2012
Lugar Riobamba Ecuador
Siacutentesis Este trabajo aborda temas relacionados con la geometriacutea euclidiana debido a que
el autor realiza una aplicacioacuten que crea paisajes fractales lo que significa crear un paisaje con una
misma figura geomeacutetrica Lo anterior se traduce en una necesidad de gran poder de coacutemputo para
realizar de una manera eficaz la tarea Dentro de la tesis el autor realiza diversos estudios
comparativos entre el procesamiento serializado realizado por una CPU (unidad central de
procesamiento) y procesamiento paralelizado realizado por una GPU (Unidad grafica de
procesamiento) a traveacutes de diversas herramientas para obtener el mejor aprovechamiento de los
recursos
Resultados El autor concluye que es necesario examinar los algoritmos a utilizar para que
estos puedan ser utilizados en coacutemputo paralelo Ademaacutes de que es necesario aprender ciertas
herramientas a utilizar para aprovechar al maacuteximo el coacutemputo distribuido y no desperdiciar el
poder de procesamiento muy superior que las GPUrsquos nos pueden brindar
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de la teacutecnicas y
estudios realizados para medir y comparar la velocidad de procesamiento de la unidad central de
procesamiento (CPU) y la unidad graacutefica de procesamiento (GPU) Asiacute como la medida en Flops
(Operaciones de punto flotante por segundo)
23
Tiacutetulo del Trabajo Arquitectura cluacutester de alto rendimiento utilizando herramientas de
software libre
Autores Leonardo Chiquiguanca Edyson Malla Freddy Ajila Rene Guamaacuten-Quincheacute
Fecha mayo 2015
Lugar Loja Ecuador
Siacutentesis Este trabajo aborda temas relacionados con la gran cantidad de datos que tienen
que procesar las universidades puacuteblicas dentro de sus investigaciones realizadas en diferentes aacutereas
como la ingenieriacutea medicina etc y la carencia de recursos econoacutemicos para obtener
supercomputadoras que procesen dicha informacioacuten Los autores proponen dentro de su
investigacioacuten la utilizacioacuten de equipo de coacutemputo existente dentro de su universidad y por medio
de software libre realizar agrupamiento de computadoras para poder lograr el procesamiento de
grandes voluacutemenes de datos de una manera accesible
Resultados Los autores concluyen que la mejor arquitectura para el agrupamiento
(cluacutester) de computadoras en ambientes universitarios es la arquitectura Beowulf debido a que la
implementaron en hardware convencional existente dentro de su campus universitario y que
ademaacutes usaron software libre mencionando que el poder de coacutemputo logrado fue muy cercano al
de una supercomputadora
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de las teacutecnicas
utilizadas en ambientes universitarios para la realizacioacuten de agrupamiento de computadoras y
sobre todo la optimizacioacuten de costos para realizar dicha tarea y tener como finalidad el lograr
mayor capacidad de procesamiento
24
Tiacutetulo de Tesis Desarrollo de un algoritmo de cifrado simeacutetrico de resumen
Autores Jonathan Dave Orjuela Navarrete
Antildeo 2008
Lugar Bogotaacute DC
Siacutentesis Esta tesis realiza un estudio de varios meacutetodos de criptografiacutea simeacutetrica para
posteriormente utilizando diferentes foacutermulas matemaacuteticas crear un algoritmo criptograacutefico
nuevo Dentro de la tesis utiliza dos meacutetodos para realizar pruebas a su algoritmo criptoanaacutelisis
diferencial y criptoanaacutelisis basado en fallos de hardware Dentro de los cuales hace un estudio
detallado de las teacutecnicas y herramientas de criptoanaacutelisis realizado a su algoritmo
Resultados El autor concluye de manera positiva con la realizacioacuten del algoritmo y de
manera satisfactoria con la realizacioacuten de criptoanaacutelisis a su algoritmo pudiendo demostrar la
fortaleza del algoritmo a traveacutes de ejemplo de cifrado con textos claro muy parecido y su
conversioacuten a cadenas completamente diferentes
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de criptoanaacutelisis diferencial y criptoanaacutelisis basado en fallos de hardware para la
evaluacioacuten de algoritmos de cifrado simeacutetrico de textos claros
25
Tiacutetulo del Trabajo Firt step in a Pc cluster development with openMosix
Autores Javier Bilbao Gorka Garate
Antildeo 2008
Lugar Bilbao Spain
Siacutentesis En este trabajo se afirma que es posible hacer maacutequinas de alta capacidad de
caacutelculo mediante la interconexioacuten de equipos con redes de alta velocidad A este tipo de sistemas
se les llama sistemas distribuidos y hoy en diacutea es la tecnologiacutea maacutes utilizada para resolver
problemas que requieren una gran capacidad de caacutelculo La agrupacioacuten de computadoras permite
que varias computadoras trabajen juntas para resolver los problemas de informaacutetica comuacuten Este
artiacuteculo centra su estudio en uno de los diferentes meacutetodos de agrupamiento de computadoras
openMosix El trabajo tambieacuten evaluacutea el cluacutester por dos casos de estudio donde se mejora el
tiempo de ejecucioacuten de los problemas resueltos
Resultados El autor del artiacuteculo concluye con la realizacioacuten satisfactoria de agrupamiento
de computadoras bajo el meacutetodo openMosix el cual uacutenicamente permite agrupamiento de la forma
SSI (Single System Image) que se refiere a que uacutenicamente se puede realizar el agrupamiento con
todos los nodos ejecutando un mismo sistema operativo
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de agrupamiento de computadoras openMosix ventajas desventajas y dificultades para
su implementacioacuten
26
Tiacutetulo del Trabajo Disentildeo e implementacioacuten de un cluacutester tipo Beowulf para el desarrollo
de coacutemputo cientiacutefico avanzado
Autores Edgar Rubeacuten Gonzaacutelez Ramiacuterez Abimael Rodriacuteguez Saacutenchez
Antildeo 2008
Lugar Instituto Politeacutecnico Nacional Meacutexico DF
Siacutentesis Este trabajo de tesis ha desarrollado e implementado una herramienta
computacional llamada Cluster Beowulf para mejorar la programacioacuten paralela Comenzando
con la memoria compartida y distribuida el autor implemento el agrupamiento tipo Beowulf
pensando en procesamiento paralelo la optimizacioacuten de las fuentes informaacuteticas El disentildeo se
construye mediante una distribucioacuten Linux Fedora Core 6 a 64 bits utilizando todas las ventajas
que ofrece el estaacutendar Gigabyt Ethernet La programacioacuten paralela fue desarrollada en lenguaje C
tanto para MPI como para OPENMP
Resultados El autor del artiacuteculo concluye que de acuerdo con los resultados el tiempo
de procesamiento se redujo con el uso muacuteltiples nuacutecleos mejoroacute hasta ocho veces gracias al
multihilo
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de agrupamiento de computadoras Beowulf y su implementacioacuten en sistemas operativos
de uso libre Linux distribucioacuten Fedora 6
27
Marco Teoacuterico
21 Seguridad de la Informacioacuten
La Seguridad de la Informacioacuten consiste y hace referencia a la proteccioacuten de cualquier
amenaza para salvaguardar los activos fijos y en especial toda informacioacuten de la cual estaacute basada
la continuidad de las operaciones de la empresa sean estas ocasionadas dentro o fuera de la misma
con esto se logra disminuir los dantildeos y perjuicios que estas amenazas causariacutean a la organizacioacuten
y a la vez aumentar las oportunidades de servicio hacia otras empresas
La Seguridad de la informacioacuten se consigue mediante la implementacioacuten de controles
efectivos que pueden ser normas manual de funciones buenas praacutecticas procedimientos
estructuras organizativas funciones de software y hardware planes de contingencia y herramientas
que se encargan de proteger la privacidad e integridad de la informacioacuten que se almacena en un
sistema informaacutetico Estos controles necesitan continuamente ser establecidos monitoreados
revisados y mejorados en donde sea necesario para asegurar que se cumplan los objetivos
especiacuteficos de seguridad en cada aacuterea de negocio de la organizacioacuten
La seguridad informaacutetica es en realidad una rama de la seguridad de la informacioacuten aunque
de forma praacutectica algunos autores suelen utilizar de manera indistinta ambos teacuterminos
211 Objetivo de la seguridad de la informacioacuten En la seguridad de la informacioacuten
sabiendo que dichos procesos de seguridad permiten proteger el recurso maacutes importante y valioso
de una organizacioacuten partiendo como principio fundamental los procesos de aseguramiento el
28
objetivo del proceso de seguridad informaacutetica es obtener un nivel aceptable de seguridad ya que
la informacioacuten es lo maacutes valioso que tiene una institucioacuten o empresa por lo tanto esta debe ser
protegida para que no sea vulnerable y utilizada para fines maliciosos
212 Principios de la seguridad informaacutetica
Confidencialidad Los datos solo deben ser conocidos y accedidos por quienes esteacuten
autorizados durante su almacenamiento procesamiento o trasmisioacuten Verificar y certificar que solo
los usuarios con accesos autorizados puedan acceder a la informacioacuten
Integridad Los datos solo pueden ser modificados y eliminados por quienes esteacuten
autorizados para ello es decir los sistemas y aplicaciones solo deben ser operados por personal
autorizado
Disponibilidad Los sistemas que almacenan datos e informacioacuten deben garantizar su
acceso cuando asiacute se requiera por quienes tengan derecho a ello
213 Caracteriacutesticas de seguridad informaacutetica
Control Solo los usuarios autorizados deciden cuaacutendo y coacutemo permitir el acceso a la
informacioacuten
Auditoriacutea Establece las acciones cuaacutendo las implementa y quieacuten las realiza sobre el
sistema
Autenticidad Define que la informacioacuten necesaria es correcta utilizable y vaacutelida en tiempo
y forma
No Repudio Su funcioacuten es evitar que alguna entidad que envioacute o recibioacute informacioacuten
alegue que no lo hizo
29
214 Formas de Autenticacioacuten
Contrasentildea Una contrasentildea es un tipo de seguridad informaacutetica ya que es una serie de
caracteres secretos que permiten a un usuario tener acceso a un archivo equipo de coacutemputo o
programa y negar el acceso a usuarios no autorizados
Certificado digital Es un tipo de seguridad informaacutetica que permite la firma digital
electroacutenica que garantiza teacutecnica y legalmente la identidad de una persona en Internet
Autenticacioacuten HTTP Tipo de seguridad informaacutetica que delega la autenticacioacuten de
usuarios a un servidor a traveacutes de Kerberos
215 Ciber-seguridad Con los avances tecnoloacutegicos y la demanda que ha causado en ello
existe un elevado iacutendice de informacioacuten personal y empresarial que circula y se mantiene en la red
por la utilizacioacuten del internet esto permite que toda informacioacuten quede expuesta a cualquier ataque
de ciber-delincuentes los cuales buscan la manera de vulnerar cualquier sistema para espiar robar
informacioacuten o hacer dantildeo de cualquier tipo por lo que se ha visto la necesidad de tomar medidas
de seguridad para salvaguardar la informacioacuten ya que es muy importante
La ciberseguridad es la proteccioacuten de los sistemas conectados a Internet incluidos el
hardware el software y los datos de los ciberataques En un contexto informaacutetico la seguridad
comprende la ciberseguridad y la seguridad fiacutesica ambas son utilizadas por las empresas para
proteger contra el acceso no autorizado a los centros de datos y otros sistemas de coacutemputo El
objetivo de la ciberseguridad es limitar el riesgo y proteger los activos de Tecnologiacuteas de
Informacioacuten de los atacantes con intenciones maliciosas La seguridad de la informacioacuten estaacute
30
disentildeada para mantener la confidencialidad integridad y disponibilidad de los datos es un
subconjunto de la ciberseguridad
22 Criptografiacutea
La Criptografiacutea tambieacuten llamada ldquoescritura ocultardquo tradicionalmente en el aacutembito de
criptografiacutea es donde se ocupan las teacutecnicas de cifrado o codificacioacuten que permiten alterar el
contenido de cierta informacioacuten o mensajes con el fin de hacerlos ininteligibles a receptores o
personas no autorizadas (Meneacutendez-Barzanallana 17)
Actualmente la criptografiacutea se encarga de analizar algoritmos protocolos y sistemas que
son utilizados para proveer seguridad a las comunicaciones informacioacuten y a las entidades que se
comunican entre siacute
221 Tipos de Criptografiacuteas
2211 Tablas Hash Un hash o funcioacuten hash toma un grupo de caracteres (llamado clave)
y lo asigna a un valor de cierta longitud (llamado valor hash o hash) El valor hash es representativo
de la cadena de caracteres original pero normalmente es maacutes pequentildeo que el original
El hash tambieacuten es utilizado en el cifrado y descifrado de firmas digitales La funcioacuten hash
transforma la firma digital luego tanto el valor hash como la firma se enviacutean al receptor El
receptor utiliza la misma funcioacuten hash para generar el valor hash y luego lo compara con el recibido
31
en el mensaje Si los valores hash son los mismos es probable que el mensaje se haya transmitido
sin errores
Un ejemplo de una funcioacuten hash se llama plegado(folding) Esta toma un valor original lo
divide en varias partes luego agrega las partes y usa los uacuteltimos cuatro diacutegitos restantes como
valor o clave hash
2212 Tipos de algoritmos Hash
22121 SHA - 1 (Secure Hash Algorithm) Es un algoritmo criptograacutefico de Hash
publicado por el gobierno de los Estados Unidos Genera un valor Hash de 160 bits a partir de una
secuencia de longitud arbitraria Es considerado lo suficientemente seguro para aplicaciones
praacutecticas pero hay disponibles versiones maacutes robustas SHA - 256 SHA - 384 y SHA - 512 que
generan valores Hash de 256 384 y 512 bits respectivamente estas versiones reemplazaraacuten a SHA
- 1 mientras se siga trabajando sobre ellas (Borghello 2009)
22122 MD5 (Message Digest Algorithm) En criptografiacutea MD5 es una funcioacuten hash
criptograacutefica ampliamente utilizada con un valor hash de 128 bits Como estaacutendar de Internet (RFC
1321) MD5 se ha empleado en una amplia variedad de aplicaciones de seguridad y tambieacuten se
usa comuacutenmente para verificar la integridad de los archivos Un hash MD5 generalmente se
expresa como un nuacutemero hexadecimal de 32 diacutegitos
MD5 es una versioacuten reforzada de MD4 Al igual que MD4 el hash MD5 fue inventado por
el profesor Ronald Rivest del Massachusetts Institute of Technology (MIT) Ademaacutes MD5 se
32
utilizoacute como modelo para SHA-1 ya que comparten muchas caracteriacutesticas comunes MD5 y
SHA-1 son los dos algoritmos hash maacutes utilizados en la actualidad aunque el uso de MD5 ha
disminuido ya que ahora se considera roto (Borghello 2009)
22123 RIPEMD ndash 160 Es una funcioacuten hash criptograacutefica basada en la construccioacuten
Merkle-Damgaringrd (MD) Se usa en el estaacutendar de Bitcoin Es una versioacuten reforzada del algoritmo
RIPEMD que produce un resumen de hash de 128 bits mientras que el algoritmo RIPEMD-160
produce una salida de 160 bits La funcioacuten de compresioacuten consta de 80 etapas formadas por 5
bloques que se ejecutan 16 veces cada uno Este patroacuten se ejecuta dos veces con los resultados
combinados en la parte inferior utilizando la adicioacuten del moacutedulo 32 (Borghello 2009)
22124 Funcioacuten Merkle-Damgaringrd La construccioacuten MD es una metodologiacutea para crear
funciones hash resistentes a colisiones a partir de funciones de compresioacuten unidireccionales Ralph
Merkle la propuso en el antildeo de 1979 en ldquoA certified Digital Signaturerdquo posterior a este estudio
Ivan Damgaringrd demostroacute de manera independiente que la estructura era soacutelida (Merkle amp
Damgaringrd sf)
2213 Cifrado simeacutetrico Los cifrados simeacutetricos son los cifrados criptograacuteficos maacutes
antiguos y maacutes utilizados En un cifrado simeacutetrico la clave que descifra el texto cifrado es la
misma (o puede derivarse faacutecilmente) de la clave que cifra el texto claro Esta clave a menudo se
conoce como la clave secreta Los cifrados simeacutetricos maacutes utilizados son DES y AES
La problemaacutetica que surge es la seguridad de la clave
33
El emisor cifra el mensaje con una clave
Enviacutea el mensaje cifrado de tal manera que nadie puede descifrarlo sin dicha clave
El receptor obtiene la clave y entonces puede descifrar el mensaje con la misma clave
que recibioacute del emisor
Algunos algoritmos de este tipo son
22131 RC5 (Cifrado de Rivest) Es un algoritmo de cifrado de bloque de clave simeacutetrica
disentildeado por Ron Rivest en 1994 Se destaca por ser simple raacutepido (debido a que usa solo
operaciones de coacutemputo primitivas como XOR o shift) y ademaacutes por consumir menos memoria
RC5 es un cifrado de bloques y aborda dos bloques de palabras a la vez Dependiendo del
tamantildeo del bloque de texto sin formato nuacutemero de rondas y tamantildeo de clave se pueden definir
varias instancias de RC5 y cada instancia se denota como RC5-w r b donde w = tamantildeo de
palabra en bits r = nuacutemero de rondas y b = tamantildeo de la clave en bytes (Pawar 2016)
Como se ha mencionado RC5 utiliza bloques de 2 palabras el tamantildeo del bloque de texto
sin formato puede ser de 32 64 o 128 bits
22132 IDEA (International Data Encryption Algorithm) Baacutesicamente es un algoritmo
de cifrado de bloque simeacutetrico El algoritmo asimeacutetrico utiliza la misma clave para el cifrado y
descifrado Un cifrado de bloque divide el mensaje en bloques cada uno de una longitud fija y
luego cifra cada bloque de forma independiente
34
El tamantildeo de bloque tiacutepico es de 16 bytes de 128 bits Un cifrado de bloque generalmente
operaraacute en bloques o rondas donde se aplica parte de la clave a la ronda Despueacutes de un cierto
nuacutemero de rondas digamos entre 10 y 16 se termina con el texto cifrado para ese bloque
El bloque de texto cifrado tiene exactamente el mismo tamantildeo que el bloque de texto sin
formato 16 bytes Para cada ronda se trabaja en el bloque utilizando una parte de la clave de
cifrado a la que se le llama la clave redonda Muacuteltiples claves redondas se derivan de la clave de
cifrado utilizando para esto un programa de claves
La programacioacuten de claves es un algoritmo que cambia XOR multiplica y realiza otros
tipos de operaciones en la clave de cifrado original para obtener estas claves redondas Bueno si
tengo un bloque de 16 bytes y tengo una clave de 128 bits que tambieacuten es de 16 bytes (Educba
2019)
22133 DES (Data Encryption Standard) El algoritmo DES es el algoritmo de seguridad
maacutes popular Es un algoritmo simeacutetrico lo que significa que se utilizan las mismas claves para
cifrar descifrar datos confidenciales La longitud de la clave es de 8 bytes (64 bits) Entonces
para cifrar descifrar datos el algoritmo DES utiliza una clave de 8 bytes pero 1 byte (8 bits) para
la verificacioacuten de paridad Es un algoritmo de cifrado de bloque por lo tanto el tamantildeo del bloque
de datos del algoritmo DES es de 64 bits Para cifrar descifrar datos el algoritmo DES utiliza la
estructura Feistel Entonces utiliza una ronda para cifrar descifrar datos Aunque el tamantildeo del
35
bloque de datos es de 64 bits el nuacutemero de rondas seraacute de 16 rondas asiacute mismo utilizaraacute diferentes
subclaves para cada ronda por lo tanto el nuacutemero de subclaves seraacute de 16 subclaves
Como se puede observar la clave efectiva es de 56 bits por consiguiente se tiene 256
combinaciones posibles por lo que la fuerza bruta se hace casi imposible (Sanjoy 2015)
2214 Cifrado asimeacutetrico Los cifrados asimeacutetricos tambieacuten se conocen como cifrados
con claves puacuteblicas y privadas Usan dos claves una para el cifrado de mensajes y la otra durante
el descifrado
Un intruso puede encriptar cualquier mensaje usando la clave puacuteblica conocida Los
cifrados asimeacutetricos son por lo tanto vulnerables a los ataques de texto sin formato Los cifrados
con encriptacioacuten de clave puacuteblica deben proporcionar seguridad contra tales ataques Despueacutes de
encriptar dos mensajes con la misma clave puacuteblica el intruso no puede distinguir queacute texto cifrado
estaacute conectado con queacute texto plano Ademaacutes un observador que analiza dos mensajes encriptados
usando el mismo algoritmo y la misma clave puacuteblica no puede distinguir sus textos cifrados
(Kowalczyk 2015)
Los cifrados asimeacutetricos son mucho maacutes lentos que los cifrados simeacutetricos (generalmente
mil veces maacutes lentos) Es una praacutectica comuacuten usar el cifrado de clave puacuteblica solo para establecer
la conexioacuten segura y negociar la nueva clave secreta que luego se utilizaraacute para proteger la
comunicacioacuten mediante cifrado simeacutetrico Ejemplos de este cifrado son
36
22141 DSA (Digital Signature Algorithm - Algoritmo de Firma digital) Es un estaacutendar
del Gobierno Federal de los Estados Unidos para firmas digitales Fue propuesto por el Instituto
Nacional de Estaacutendares y Tecnologiacutea (NIST) en agosto de 1991 para ser usado en su Estaacutendar de
Firma Digital (DSS) en el antildeo de 1993
La primera parte del algoritmo DSA es la generacioacuten de clave puacuteblica y clave privada que
puede describirse como
Se elige un nuacutemero primo q que se llama divisor primo
Se elige otro nuacutemero primo p de modo que pndash1 mod q = 0 p seraacute llamado moacutedulo
primo
Ahora se elige un nuacutemero entero g tal que 1 ltg ltp g q mod p = 1 g = h ((p
ndash 1) q) mod p q tambieacuten se llama moacutedulo de orden multiplicativo de g moacutedulo p
Se elige un nuacutemero entero tal que 0 ltx ltq
Se calcula y como g x mod p
Se empaqueta la clave puacuteblica como p q g y
Por uacuteltimo se empaqueta la clave privada como p q g x
La segunda parte del algoritmo DSA es la generacioacuten de firma y la verificacioacuten de firma
Para generar una firma de mensaje el remitente puede seguir estos pasos
Se genera el resumen del mensaje h utilizando un algoritmo hash como SHA1
Se genera un nuacutemero aleatorio k tal que 0 ltk ltq
37
Se calcula r como (g k mod p) mod q Si r = 0 seleccione una k diferente
Ahora se calcula i de modo que k i mod q = 1 i se llama el inverso multiplicativo modular
de k moacutedulo q
Se calcula s = i (h + r x) mod q Si s = 0 se selecciona una k diferente
Por uacuteltimo se empaqueta la firma digital como r s (Yang 2019)
22142 RSA Encriptacioacuten RSA encriptacioacuten Rivest-Shamir-Adleman tipo de
criptografiacutea de clave puacuteblica ampliamente utilizada para la encriptacioacuten de datos de correo
electroacutenico y otras transacciones digitales a traveacutes de Internet RSA lleva el nombre de sus
inventores Ronald L Rivest Adi Shamir y Leonard M Adleman quienes lo crearon mientras
trabajaban en la facultad del Instituto Tecnoloacutegico de Massachusetts (Simmons 2019)
En el sistema RSA un usuario elige de manera secreta un par de nuacutemeros primos p y q tan
grandes que factorizar el producto n = pq estaacute mucho maacutes allaacute de las capacidades informaacuteticas
proyectadas para la vida uacutetil de los cifrados A partir del antildeo 2000 los estaacutendares de seguridad del
gobierno de EE UU exigen que el moacutedulo tenga un tamantildeo de 1024 bits es decir p y q deben
tener un tamantildeo de aproximadamente 155 diacutegitos decimales por lo que n es aproximadamente un
nuacutemero de 310 diacutegitos Dado que los nuacutemeros duros maacutes grandes que actualmente se pueden
factorizar son solo la mitad de este tamantildeo y dado que la dificultad de factorizar se duplica
aproximadamente por cada tres diacutegitos adicionales en el moacutedulo se cree que los moacutedulos de 310
diacutegitos estaacuten a salvo de factorizar durante varias deacutecadas
38
2215 Cifrado hiacutebrido Es una teacutecnica comuacuten que combina diferentes funciones
criptograacuteficas como el cifrado de bloque Con el cifrado hiacutebrido se pueden cifrar datos firmarlos
o agregar un MAC y enviarlos en un objeto seguro (como una cadena o archivo) a traveacutes de un
canal de comunicacioacuten inseguro (sin un acuerdo clave entre dos partes)
En el sistema de cifrado hiacutebrido el texto plano (sin formato) se divide en tokens Luego
se calcula la longitud de cada ficha Los tokens y sus longitudes se almacenan en una matriz
Posteriormente se aplica el algoritmo Ceacutesar anidado sugerido El texto producido se almacena en
una matriz n x m llamada A Luego la transposicioacuten de esta matriz At se calcula utilizando
nuestra versioacuten revisada del cifrado de transposicioacuten para resolver el problema de secuenciacioacuten
A continuacioacuten el algoritmo RSA revisado se aplica en la matriz producida En el paso final se
aplica el formato de datos textuales usando el coacutedigo ASCII para producir el texto cifrado El
proceso de descifrado se realiza de la misma manera pero en orden inverso (Nahar amp Abu Abbas
2010)
23 Criptoanaacutelisis
El criptoanaacutelisis es el proceso de estudiar sistemas criptograacuteficos para buscar debilidades
o fugas de informacioacuten En general se considera que el criptoanaacutelisis explora las debilidades de
las matemaacuteticas subyacentes de un sistema criptograacutefico pero tambieacuten incluye la buacutesqueda de
debilidades en la implementacioacuten como ataques de canal lateral o entradas de entropiacutea deacutebiles
39
Su funcioacuten es la de conseguir obtener el significado de mensajes creados por medio de
criptografiacutea El objetivo principal del criptoanaacutelisis es opuesto al de la criptografiacutea Tiene como
finalidad encontrar la debilidad de las diferentes teacutecnicas criptograacuteficas para explotarla y de esta
manera reducir o eliminar la seguridad de la teacutecnica criptograacutefica Cualquier intento de
criptoanaacutelisis puede ser llamado ataque Una vez que un atacante logra romper la seguridad que
una teacutecnica criptograacutefica aportaba al sistema se dice que dicho sistema ha sido roto y por lo tanto
dicho ataque tuvo eacutexito
El criptoanaacutelisis es la investigacioacuten de sistemas texto cifrado y cifrados para revelar el
significado oculto o los detalles del sistema mismo El objetivo de este tipo de estudio es descubrir
los aspectos ocultos incluso si la clave o el algoritmo principal no se pueden descifrar Se necesita
una combinacioacuten exitosa de persistencia matemaacuteticas intuicioacuten curiosidad y una computadora
que funcione para hacer un buen criptoanalista Este tipo de ruptura de coacutedigo es extremadamente
importante especialmente en el mundo tecnoloacutegicamente dependiente de hoy El criptoanaacutelisis es
constantemente realizado por criptoacutegrafos que intentan obtener informacioacuten valiosa y por aquellos
que intentan descifrar el coacutedigo para revelar secretos (Security Degree Hub 2017)
24 Niveles de seguridad
Los niveles de seguridad de sistemas operativos son otorgados de acuerdo con el sistema
operativo que esteacute utilizando la empresa o institucioacuten ya sea puacuteblica privada gubernamental o no
gubernamental En el manual ldquoTrusted Computer System Evaluation Criteriardquo (United States
40
Government Department of Defense 1983) el Departamento de Defensa de los Estados Unidos
define los siguientes niveles
241 Nivel D1 Este nivel es el maacutes bajo de seguridad por lo tanto la norma establece que
el sistema no es confiable Esta divisioacuten contiene solo una clase Estaacute reservado para aquellos
sistemas que han sido evaluados pero que no cumplen con los requisitos para un nivel de
evaluacioacuten superior
242 Nivel C1 Un sistema de nivel C1 cumple nominalmente los requisitos de seguridad
discrecionales al proporcionar separacioacuten de usuarios y datos Incorpora alguna forma de controles
creiacutebles capaces de imponer limitaciones de acceso de manera individual es decir aparentemente
adecuados para permitir que los usuarios puedan proteger la informacioacuten privada o del proyecto y
evitar que otros usuarios lean o destruyan accidentalmente sus datos Se espera que el entorno de
nivel C1 sea uno de los usuarios cooperantes que procesan datos con el mismo nivel de
sensibilidad Los siguientes son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten
de nivel C1 son
Control de acceso discrecional por ejemplo listas de control de acceso (ACL)
usuario grupo
Por lo general para usuarios que estaacuten en el mismo nivel de seguridad
Proteccioacuten de nombre de usuario y contrasentildea y base de datos de autorizaciones
seguras (ADB)
Sistema operativo protegido y modo de operaciones del sistema
Comprobacioacuten perioacutedica de integridad de TCB
41
Mecanismos de seguridad probados sin derivaciones obvias
Documentacioacuten para la seguridad del usuario
Documentacioacuten para la seguridad de la administracioacuten de sistemas
Documentacioacuten para pruebas de seguridad
Documentacioacuten de disentildeo TCB
Tiacutepicamente para usuarios en el mismo nivel de seguridad
La certificacioacuten C1 es rara Los sistemas de ejemplo son versiones anteriores de
Unix IBM RACF
243 Nivel C2 Los sistemas de esta clase imponen un control de acceso discrecional maacutes
fino que los sistemas (C1) lo que hace que los usuarios sean individualmente responsables de sus
acciones a traveacutes de procedimientos de inicio de sesioacuten auditoriacutea de eventos relevantes para la
seguridad y aislamiento de recursos Los siguientes son requisitos miacutenimos para los sistemas
asignados a una clasificacioacuten de nivel C2
La proteccioacuten de objetos puede ser para un solo usuario Por ejemplo a traveacutes de
una base de datos ACL
La autorizacioacuten de acceso solo puede ser asignada por usuarios autorizados
Proteccioacuten de reutilizacioacuten de objetos (Por ejemplo para evitar la reasignacioacuten de
objetos eliminados de manera segura)
Procedimientos obligatorios de identificacioacuten y autorizacioacuten para los usuarios (Por
ejemplo Usuario Contrasentildea)
Auditoriacutea completa de eventos de seguridad (es decir fecha hora evento usuario
eacutexito falla ID de terminal)
42
Modo de operacioacuten del sistema protegido
Proteccioacuten adicional para la autorizacioacuten y los datos de auditoriacutea
Documentacioacuten como C1 maacutes informacioacuten sobre el examen de la informacioacuten de
auditoriacutea
Esta es una de las certificaciones maacutes comunes Los sistemas operativos de ejemplo
son VMS IBM OS 400 Windows NT Novell NetWare 411 Oracle 7 DG AOS
VS II
244 Nivel B1 Los sistemas de este nivel requieren todas las caracteriacutesticas requeridas
para el nivel C2 Ademaacutes debe estar presente una declaracioacuten informal del modelo de poliacutetica de
seguridad etiquetado de datos y control de acceso obligatorio sobre sujetos y objetos nombrados
La capacidad debe existir para etiquetar con precisioacuten la informacioacuten exportada Cualquier falla
identificada por la prueba debe ser eliminada Los siguientes son requisitos miacutenimos para los
sistemas asignados a una clasificacioacuten de nivel B1
Etiquetado obligatorio de seguridad y acceso de todos los objetos (Por ejemplo
archivos procesos dispositivos)
Comprobacioacuten de integridad de etiquetas (Por ejemplo mantenimiento de etiquetas
de sensibilidad cuando se exportan datos)
Auditoriacutea de objetos etiquetados
Control de acceso obligatorio para todas las operaciones
Capacidad para especificar el nivel de seguridad impreso en salida legible para
humanos (Por ejemplo impresoras)
43
Capacidad para especificar el nivel de seguridad en cualquier salida legible por
maacutequina
Auditoriacutea mejorada
Proteccioacuten mejorada del sistema operativo
Documentacioacuten mejorada
Los sistemas operativos de ejemplo son HP-UX BLS Cray Research Trusted
Unicos 80 Digital SEVMS Harris CS SX SGI Trusted IRIX
245 Nivel B2 En los sistemas de nivel B2 el TCB se basa en un modelo de poliacutetica de
seguridad formal claramente definido y documentado que requiere que la aplicacioacuten de control de
acceso discrecional y obligatoria que se encuentra en los sistemas de nivel B1 se extienda a todos
los sujetos y objetos en el sistema Ademaacutes se abordan los canales encubiertos El TCB debe
estructurarse cuidadosamente en elementos criacuteticos para la proteccioacuten y no criacuteticos para la
proteccioacuten La interfaz TCB estaacute bien definida y el disentildeo y la implementacioacuten TCB le permiten
someterse a pruebas maacutes exhaustivas y una revisioacuten maacutes completa Se fortalecen los mecanismos
de autenticacioacuten se proporciona una gestioacuten confiable de las instalaciones en forma de soporte
para las funciones de administrador y operador del sistema y se imponen estrictos controles de
gestioacuten de la configuracioacuten El sistema es relativamente resistente a la penetracioacuten Los siguientes
son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten de nivel B2
Notificacioacuten de cambios en el nivel de seguridad que afectan a los usuarios
interactivos
Etiquetas de dispositivos jeraacuterquicos
44
Acceso obligatorio a todos los objetos y dispositivos
Comunicaciones de ruta confiables entre usuario y sistema
Rastreo de canales de almacenamiento encubiertos
Modo de operaciones del sistema maacutes estricto en unidades independientes de varios
niveles
Anaacutelisis de canales encubiertos
Pruebas de seguridad mejoradas
Modelos formales de TCB
Versioacuten actualizacioacuten y anaacutelisis y revisioacuten de parches
Los sistemas de ejemplo son Honeywell Multics Cryptek VSLAN Trusted
XENIX
246 Nivel B3 El TCB debe satisfacer los requisitos del monitor de referencia para mediar
todos los accesos de los sujetos a los objetos ser a prueba de manipulaciones y ser lo
suficientemente pequentildeo como para ser sometido a anaacutelisis y pruebas Con este fin el TCB estaacute
estructurado para excluir el coacutedigo que no es esencial para la aplicacioacuten de la poliacutetica de seguridad
con una importante ingenieriacutea del sistema durante el disentildeo y la implementacioacuten del TCB dirigido
a minimizar su complejidad Se admite un administrador de seguridad los mecanismos de
auditoriacutea se ampliacutean para sentildealar eventos relevantes para la seguridad y se requieren
procedimientos de recuperacioacuten del sistema El sistema es altamente resistente a la penetracioacuten
Los siguientes son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten de clase
(B3)
45
ACL adicionalmente basadas en grupos e identificadores
Acceso de ruta confiable y autenticacioacuten
Anaacutelisis automaacutetico de seguridad
Modelos TCB maacutes formales
Auditoriacutea de eventos de auditoriacutea de seguridad
Recuperacioacuten confiable despueacutes de la caiacuteda del sistema y documentacioacuten relevante
Cero defectos de disentildeo en TCB y defectos miacutenimos de implementacioacuten
El uacutenico sistema operativo con certificacioacuten B3 es Getronics Wang Federal XTS-
300
247 Nivel A1 Los sistemas en el nivel A1 son funcionalmente equivalentes a los del nivel
B3 en que no se agregan caracteriacutesticas arquitectoacutenicas adicionales ni requisitos de poliacuteticas La
caracteriacutestica distintiva de los sistemas en este nivel es el anaacutelisis derivado de la especificacioacuten
formal del disentildeo y las teacutecnicas de verificacioacuten y el alto grado resultante de seguridad de que el
TCB se implementa correctamente Esta garantiacutea es de naturaleza de desarrollo comenzando con
un modelo formal de la poliacutetica de seguridad y una especificacioacuten formal de alto nivel del disentildeo
Independientemente del lenguaje de especificacioacuten particular o del sistema de verificacioacuten
utilizado existen los siguientes criterios importantes para la verificacioacuten del disentildeo de nivel A1
Meacutetodos formales y prueba de integridad de TCB
Estos son los uacutenicos sistemas con certificacioacuten A1 Boeing MLS LAN Gemini
Trusted Network Processor Honeywell SCOMP (United States Government
Department of Defense 1983)
46
25 Sistemas Operativos
Un sistema operativo actuacutea como intermediario entre el usuario de una computadora y el
hardware de la computadora El propoacutesito de un sistema operativo es proporcionar un entorno en
el que un usuario pueda ejecutar programas de manera conveniente y eficiente
Un sistema operativo es un software que administra el hardware de la computadora El
hardware debe proporcionar mecanismos apropiados para garantizar el correcto funcionamiento
del sistema informaacutetico y para evitar que los programas del usuario interfieran con el correcto
funcionamiento del sistema (Carretero Peacuterez de Miguel Anasagasti Garciacutea Carballeira amp Peacuterez
Costoya 2001)
Un sistema operativo es un programa que controla la ejecucioacuten de programas de aplicacioacuten
y actuacutea como una interfaz entre el usuario de una computadora y el hardware de la computadora
Una definicioacuten maacutes comuacuten es que el sistema operativo es el uacutenico programa que se ejecuta
en todo momento en la computadora (generalmente llamado kernel) y todo lo demaacutes son
programas de aplicacioacuten
Un sistema operativo se ocupa de la asignacioacuten de recursos y servicios como memoria
procesadores dispositivos e informacioacuten El sistema operativo incluye los programas para
administrar estos recursos como un controlador de traacutefico un programador un moacutedulo de
administracioacuten de memoria programas de E S y un sistema de archivos (Pawar 2016)
47
251 Windows Sistema operativo de la empresa Microsoft es un conjunto de programas
que administra los recursos de una computadora Windows empieza a trabajar cuando se enciende
o inicializa el equipo para gestionar el hardware empezando desde los niveles maacutes baacutesicos
Es importante conocer que los sistemas operativos funcionan tanto en las computadoras
como en diferentes dispositivos electroacutenicos que usan microprocesadores En este caso Windows
su versioacuten estaacutendar funciona con computadoras Microsoft domina el mercado de los sistemas
operativos debido a su comodidad se puede decir que eacuteste sistema operativo se encuentra
instalado en el 887 de los equipos de coacutemputo que cuentan con acceso a Internet en todo el
mundo
Se pueden mencionar algunas aplicaciones principales (que eacutestas tambieacuten pueden ser
desinstaladas por los usuarios o actualizadas sin que el sistema operativo se dantildee o deje de
funcionar) se encuentran el procesador de texto WordPad el navegador Internet Explorer el
reproductor multimedia Windows Media y el editor de imaacutegenes Paint
La principal novedad que aportoacute Windows desde sus oriacutegenes fue la facilidad para usarlo
y el atractivo visual De hecho su nombre (ldquoventanasrdquo) se debe a la forma en que el sistema
presenta a los usuarios los recursos con los que cuenta su computadora lo que facilita las tareas
cotidianas Windows tambieacuten suele recibir varias criacuteticas por sus problemas de seguridad y por
otros fallos
48
252 Registro de Windows El registro es una base de datos jeraacuterquica que contiene datos
que son criacuteticos para el funcionamiento de Windows y las aplicaciones y servicios que se ejecutan
en Windows Los datos estaacuten estructurados en un formato de aacuterbol Cada nodo en el aacuterbol se llama
clave Cada clave puede contener subclaves y entradas de datos llamadas valores A veces la
presencia de una clave es el uacutenico dato que requiere una aplicacioacuten otras veces una aplicacioacuten
abre una clave y usa los valores asociados con la clave (Microsoft Inc 2019) Una clave puede
tener cualquier nuacutemero de valores y los valores pueden tener cualquier forma El registro es
utilizado por
Autenticacioacuten
Nuacutecleo (Kernel)
Controladores de dispositivos
Servicios
SAM
Las carpetas del sistema se almacenaraacuten en distintas rutas de acceso dependiendo de la
versioacuten de Windows con la que se esteacute trabajando a continuacioacuten cuatro de los cinco archivos
que maacutes interesan a esta investigacioacuten se encuentran en la siguiente ubicacioacuten SystemRoot
System32 Config dentro de las siguientes sub llaves
SAM - HKEY LOCAL MACHINE SAM
SECURITY - HKEY LOCAL MACHINE SECURITY
SOFTWARE - HKEY LOCAL MACHINE SOFTWARE
SYSTEM - HKEY LOCAL MACHINE SYSTEM
49
253 Administrador de cuentas de seguridad El administrador de cuentas de seguridad
(SAM por sus siglas en ingleacutes) es una base de datos en donde se encuentran las cuentas de
seguridad Esto es utilizado por Windows para administrar las cuentas de usuario y contrasentildeas en
el formato hash
Las contrasentildeas nunca se almacenan en formato de texto claro Se almacenan en formato
de hash para protegerlas de los ataques La base de datos SAM se implementa como un archivo de
registro y las obtiene del kernel de Windows y mantiene un bloqueo exclusivo al archivo SAM
esto quiere decir que el archivo tiene cierta medida de seguridad para el almacenamiento de las
contrasentildeas (Hernandez 2013)
No es posible copiar el archivo SAM a otra ubicacioacuten en el caso de los ataques en liacutenea
Dado que el archivo SAM estaacute bloqueado con un bloqueo exclusivo al sistema de archivos no
puede ser copiado o movido mientras se ejecuta Windows El bloqueo no iniciaraacute hasta que la
excepcioacuten de la pantalla azul haya sido inicializada o el sistema operativo haya sido apagado Sin
embargo los archivos en formato hash de contrasentildeas fuera de liacutenea estaacuten disponibles para los
ataques de fuerza bruta el contenido del archivo SAM puede ser copiado o descargado utilizando
diversas teacutecnicas
Un identificador de seguridad (SID) es un valor uacutenico de longitud variable utilizado para
identificar a un usuario Cada cuenta tiene un SID uacutenico emitido por una autoridad como un
controlador de dominio de Windows y almacenado en una base de datos de seguridad Cada vez
50
que un usuario inicia sesioacuten el sistema recupera el SID para ese usuario de la base de datos y lo
coloca en el token de acceso para ese usuario El sistema usa el SID en el token de acceso para
identificar al usuario en todas las interacciones posteriores con la seguridad de Windows Cuando
se ha usado un SID como identificador uacutenico para un usuario o grupo no se puede volver a usar
para identificar a otro usuario o grupo
La seguridad de Windows usa SID en los siguientes elementos de seguridad
En descriptores de seguridad para identificar al propietario de un objeto y grupo
primario
En las entradas de control de acceso para identificar al usuario para quien el acceso
estaacute permitido denegado o auditado
En tokens de acceso para identificar al usuario y los grupos a los que pertenece
2531 Identificador de Seguridad (SID Security Identifier)
S - 1 - 5 - 21 - 3983109318 - 554656936 - 3066752241 - 1000
S - indica que es un string de SID
1 - el nivel de revisioacuten
5 - el identificador de valor de autoridad o authority value no siempre seraacute 5 Entre otros
valores que se pueden encontrar estaacuten los siguientes
51
0 - sin autoridad
1 - autoridad global
2 - autoridad local
3 - autoridad de creador
4 - autoridad no uacutenica
5 - autoridad NT
9 - autoridad de administrador de recursos
21 - 3983109318 - 554656936 - 3066752241 - es el dominio en el que se encuentra el
sistema o el identificador local de la computadora
1000 - ID uacutenico para cada cuenta aquiacute se encuentra el RID (Relative Identifier) Nuacutemero
de longitud variable cualquier grupo o usuario que se cree de manera diferente a la predeterminada
recibiraacute un RID de 1000 o superior En el caso de que el valor sea 500 responde a que este SID
representa la cuenta de un administrador el valor de 500 siempre seraacute el mismo en cualquier cuenta
de administrador a su vez el valor 501 representa el SID de una cuenta Invitado (Guest)
(Hernandez 2013)
254 Autenticacioacuten NTML NTLM (NT LAN Manager) es un protocolo empleado por
muchos productos de Microsoft para realizar la autenticacioacuten desafiacuteorespuesta por lo tanto es el
esquema de autenticacioacuten que por defecto usa Firewall de Microsoft y tambieacuten los productos del
servidor proxy
52
Este software fue desarrollado para afrontar el problema del trabajo con Tecnologiacuteas Java
en un entorno orientado a Microsoft Puesto que no se basa en ninguna especificacioacuten oficial de
protocolo por lo tanto no hay garantiacutea de que funciona correctamente en todos los casos Tambieacuten
ha estado en algunas instalaciones de Windows donde funcionoacute con eacutexito
La Autenticacioacuten NTLM se compone de dos protocolos protocolo de autenticacioacuten NTLM
y protocolo de autenticacioacuten LM Estos protocolos utilizan una metodologiacutea de hash diferente para
almacenar contrasentildeas de los usuarios en la base de datos SAM (Hernandez 2013) (Meneacutendez-
Barzanallana 17)
26 LINUX (ROCKS)
Rocks es una distribucioacuten para cluacutester de Linux de coacutedigo abierto que permite a los usuarios
finales construir de manera maacutes amigable cluacutesteres computacionales y muros de visualizacioacuten en
mosaico Cientos de investigadores de todo el mundo han utilizado Rocks para implementar su
propio cluacutester
Desde mayo de 2000 el grupo Rocks ha abordado las dificultades de implementar cluacutesteres
manejables Encaminados hacia un objetivo crear cluacutesters de manera maacutes sencilla Por sencilla
significa faacutecil de implementar administrar actualizar y escalar Este objetivo impulsa a los
creadores de esta herramienta a ayudar a entregar el poder computacional de los cluacutesteres a una
amplia gama de usuarios cientiacuteficos Estaacute claro que poner a disposicioacuten de una amplia gama de
53
cientiacuteficos plataformas de computacioacuten paralelas estables y manejables ayudaraacute enormemente a
mejorar el estado del arte en herramientas paralelas (Rocksclusters 2010)
261 Escritorio De todos los escritorios disponibles para el sistema operativo Linux
GNOME ha logrado convertirse en el maacutes eficiente estable y confiable sin dejar de ser sencillo
de usar De hecho la mayoriacutea de los usuarios independientemente de su experiencia pueden
trabajar con GNOME casi sin esfuerzo
Los usuarios que son nuevos tanto en Linux como en GNOME hariacutean mejor en conocer
los entresijos del escritorio que hacen que Linux no solo sea faacutecil sino tambieacuten divertido
Un entorno de escritorio agrupa programas que trabajan juntos para formar un espacio de
trabajo informaacutetico cohesivo unificado transparente e interactivo para los usuarios O para
decirlo de manera maacutes simple el entorno de escritorio es la interfaz de usuario para el sistema
operativo En el caso de GNOME ese sistema operativo es Linux Sin un entorno de escritorio su
uacutenica alternativa es una sesioacuten de Shell (liacutenea de comandos) basada en texto (Wallen 2019)
262 Paquete de Oficina Una suite ofimaacutetica es una coleccioacuten de software creada por el
mismo proveedor y disentildeada para ser utilizada para tareas rutinarias dentro de una organizacioacuten
Por lo general una suite ofimaacutetica incluye aplicaciones como procesamiento de texto hojas de
caacutelculo presentacioacuten correo electroacutenico toma de notas base de datos colaboracioacuten y otros tipos
de software relacionados En la mayoriacutea de los casos cada aplicacioacuten en la suite ofimaacutetica se puede
instalar por separado y todas las aplicaciones dentro de la suite admiten la interoperabilidad entre
54
siacute Microsoft Office Suite Lotus Live Notes y LibreOffice son todas suites de oficina de uso
comuacuten
263 Organizador de archivos Es una funcioacuten avanzada disentildeada para agrupar y
renombrar archivos usando sus atributos del sistema o meta atributos
Cada archivo tiene atributos del sistema como la fecha (Acceso Creado y Modificado) el
tipo de archivo (definido por extensioacuten) y asociado con la aplicacioacuten registrada de ese tipo de
archivo Estos atributos se pueden usar para generar un nuevo nombre de archivo o carpeta (grupo)
para cada archivo con el mismo atributo Ademaacutes de los atributos del sistema algunos archivos
en su mayoriacutea medios o imaacutegenes pueden contener metacampos como el nombre del artista el
tiacutetulo el nombre del aacutelbum y otros El Organizador de archivos tambieacuten usa estos metacampos
para agrupar archivos en una carpeta con el mismo atributo Por lo tanto el organizador de archivos
opera reglas de organizacioacuten de archivos que definen la jerarquiacutea de agrupacioacuten de carpetas y las
reglas de cambio de nombre de archivos
Asiacute como el conocido ldquoexplorador de Windowsrdquo Linux integra un organizador de archivos
y carpetas llamado NAUTILUS para realizar tareas de manejo de archivos como mover copiar
renombrar crear carpetas y de esta manera administrar nuestros dispositivos de almacenamiento
55
27 Agrupamiento (Cluacutester) de Computadoras
El agrupamiento (cluacutester) de computadoras estaacute conformado por una coleccioacuten de
computadoras autoacutenomas interconectadas trabajando unidas como un solo recurso de computacioacuten
integrado El concepto de agrupamiento de computadoras nacioacute cuando los pioneros de la
supercomputacioacuten intentaban difundir diferentes procesos entre varias computadoras para luego
poder recoger los resultados que dichos procesos debiacutean producir Con un hardware maacutes barato y
faacutecil de conseguir se pudo perfilar que podriacutean conseguirse resultados muy parecidos a los
obtenidos con aquellas maacutequinas mucho maacutes costosas (Chirinov 2003)
Un agrupamiento de computadoras se puede definir como el trabajo realizado por dos o
maacutes computadoras que en conjunto se encargan de proveer una determinada solucioacuten Tiene como
finalidad agrupar el poder de coacutemputo de los nodos implicados para proporcionar una mayor
escalabilidad disponibilidad y fiabilidad (Branch Bedoya amp Mesa Muacutenera 2008)
La escalabilidad es la capacidad de un equipo para hacer frente a voluacutemenes de trabajo
cada vez mayores sin por ello dejar de prestar un nivel de rendimiento aceptable
La disponibilidad y la fiabilidad se encuentran bastante relacionadas aunque difieren
ligeramente en algunos aspectos La disponibilidad es la calidad de estar presente y listo para su
uso mientras que la fiabilidad es la probabilidad de un correcto funcionamiento
56
Entre los tipos de agrupamiento maacutes comunes se pueden encontrar de alta disponibilidad
(ambiente a prueba de fallas) coacutemputo de alto desempentildeo (los procesos o las tareas dadas se
presentan como un solo sistema virtual) y escalamiento horizontal (se utiliza para proporcionar
una sola interfaz a un conjunto de recursos que pueden aumentar o disminuir arbitrariamente su
tamantildeo en un cierto periodo de tiempo) (Gonzaacutelez Ramiacuterez amp Rodriacuteguez Saacutenchez 2008)
271 Beowulf Es una clase de computadora masivamente paralela de altas prestaciones
principalmente construida a base de agrupamiento de componentes hardware estaacutendar (Llorens amp
Pentildea 2002) Consta de un conjunto de nodos minimalistas unidos por un medio de
comunicaciones econoacutemico Esto quiere decir que tienen lo miacutenimo para ejecutar su funcioacuten de
hecho los nodos por siacute solos no son capaces de ejecutar siquiera un sistema operativo (Nievas
Pino amp Arroyo) Se puede ver como una supercomputadora paralela construida con hardware
comercial de faacutecil adquisicioacuten que posee como sistema operativo Linux Los cluacutesters Beowulf son
extremadamente poderosos pero no son para todas las personas Su principal desventaja es que
requieren software disentildeado para poder aprovechar los recursos del cluacutester (Lizaacuterraga 2002)
272 Mosix Seguacuten Peacuterez (2001) la arquitectura Mosix estaacute basada en la misma ideologiacutea
de la arquitectura Beowulf Se basa en un conjunto de parches aplicados al nuacutecleo (kernel) de Linux
y que asignan a todo el grupo de nodos un espacio de direcciones y de procesos comuacuten gracias al
cual los procesos migran de uno a otro con el fin de equilibrar favorablemente la carga del sistema
global Es una herramienta disentildeada para realizar balanceo de carga en el agrupamiento de forma
totalmente transparente de manera tal que los nodos se comportan como una sola maacutequina y asiacute
incrementar el aprovechamiento de cada uno de los nodos (Chaacutevez y otros 1999) La principal
57
ventaja de Mosix frente a Beowulf se basa precisamente en esto Mosix da mejores respuestas que
Beowulf frente a la caiacuteda o insercioacuten de nodos A parte de esto Mosix permite un cambio constante
de aplicacioacuten o incluso el correr aplicaciones independientes de forma simultaacutenea
273 OpenMosix OpenMosix es una extensioacuten del proyecto Mosix Seguacuten Chirinov
(2003) la idea de este modelo es que la distribucioacuten de tareas en el cluacutester la determina OpenMosix
de forma dinaacutemica conforme se van creando tareas Cuando un nodo estaacute demasiado cargado las
tareas que se estaacuten ejecutando pueden migrar a cualquier otro nodo del cluacutester Asiacute desde que se
ejecuta una tarea hasta que eacutesta muere podraacute migrar de un nodo a otro sin que el proceso sufra
mayores cambios
Ademaacutes OpenMosix funciona a nivel de kernel por tanto puede conseguir toda la
informacioacuten que necesite para decidir que tanto estaacute cargado un sistema y queacute pasos se deben
seguir para aumentar el rendimiento ademaacutes puede realizar maacutes funciones que cualquier
aplicacioacuten a nivel de usuario
Despueacutes de elegir el tipo de cluacutester a utilizar se procede a elegir los elementos baacutesicos que
se emplearaacuten para implementar el cluacutester capacidad de procesamiento memoria espacio del disco
de cada nodo asiacute como tambieacuten el ancho de banda de la comunicacioacuten entre los nodos Se deberaacute
decidir cuaacuteles son importantes basaacutendose en la variedad de aplicaciones que se piensen ejecutar
en el cluacutester y de la cantidad de dinero que se disponga para construirlo
58
Bajo estos mismos paraacutemetros se debe escoger tambieacuten el tipo de red que interconectaraacute
los nodos (Turner 2004)
Luego se debe escoger el sistema operativo a utilizar Esta eleccioacuten dependeraacute mucho de
la maacutequina que se escoja Linux es siempre una opcioacuten en cualquier maacutequina y es la eleccioacuten maacutes
comuacuten Muchas de las herramientas necesarias para la implementacioacuten de un cluacutester han sido
desarrolladas bajo Linux Pero existen cluacutesters corriendo bajo Windows NT UNIX Solaris y AIX
59
Capiacutetulo 3 Implementacioacuten de Cluacutester
31 Requisitos previos
Antes de iniciar la instalacioacuten del FrontEnd es necesario asegurarse que las conexiones de
red de los equipos junto con la configuracioacuten de la BIOS de cada uno sean las correctas
311 Conexioacuten de los equipos y acceso a la red
Un cluacutester de alto desempentildeo funciona como un uacutenico equipo el cuaacutel comparte los recursos
de los nodos esclavos con el nodo maestro para ello es esencial la existencia de una red interna de
alta velocidad por medio de la cual se realice la comunicacioacuten entre el nodo maestro y los nodos
esclavos como se muestra en la Figura 31 El nodo maestro necesitaraacute 2 tarjetas de red de alta
Figura 31 Esquema tiacutepico de configuracioacuten de un cluacutester (Fuente Elaboracioacuten propia)
60
velocidad una para la comunicacioacuten interna y otra para la comunicacioacuten con redes externas El
sistema operativo Rocks asigna automaacuteticamente la interface ldquoeth0rdquo a la red interna del cluacutester y
la interface ldquoeth1rdquo a la red externa En caso de que Rocks sea incapaz de determinar cuaacutel es la red
externa debido a la falta de conexioacuten a internet estas podriacutean ser asignadas de manera incorrecta
por tal motivo se sugiere asegurar el nombre de cada una de las interfaces
Dado que Rocks no permite volverlas a asignar una vez finalizada la instalacioacuten es
necesario volver a reinstalarlo para poder solucionar este inconveniente
312 Configuracioacuten de la BIOS Para evitar problemas durante la instalacioacuten conviene
configurar correctamente la Bios
3121 ATAIDE Mode Algunos sistemas operativos puede que no sean capaces de
reconocer el controlador del disco duro como es en el caso de esta distribucioacuten de Rocks usada
Para evitar complicaciones de tener que antildeadir el controlador a mano lo mejor es habilitar el modo
ldquoLegacyrdquo de controlador de disco duro
61
Para ello se accede a la Bios pulsando F2 al encender el equipo se situacutea en la pestantildea
ldquoAdvancedrdquo y se selecciona ldquoDrive Configurationrdquo como se muestra en la Figura 32
Figura 32 Imagen del Bios del equipo en la opcioacuten ldquodrive configurationrdquo (Fuente Elaboracioacuten propia)
Figura 33 Bios ATAIDE Legacy Mode (Fuente Elaboracioacuten propia)
62
Dentro del menuacute se tiene que seleccionar el Modo ldquoLegacyrdquo en la opcioacuten ldquoATAIDE
Moderdquo como se muestra en la Figura 33 y para salir se guardan los cambios con F10
3122 PXE Al momento de instalar un nodo puede ocurrir falla al arrancar y aparecer
bootsplash (Reboot and Select proper device) Para evitarlo es necesario habilitar la opcioacuten de
PXE para que tome los archivos de instalacioacuten del nodo maestro a traveacutes de la red interna
En la Bios se selecciona la pestantildea ldquoBootrdquo y dentro de ese mismo menuacute se deshabilita
ldquoSilent bootrdquo y se habilita la opcioacuten de ldquoPXE boot to lanrdquo como se muestra en la Figura 34
Finalmente hay que verificar que en la secuencia de arranque (Figura 35) como primer
dispositivo sea desde red para que de esta manera inicie desde el PXE
Figura 34 Bios Boot PXE (Fuente Elaboracioacuten propia)
63
Se guardan los cambios antes de salir
32 Instalacioacuten de Sistema Operativo Rocks
Una vez configurados los equipos se enciende el equipo que seraacute el nodo maestro
(FrontEnd) en el cuaacutel previamente se ha modificado la secuencia de inicio del boot desde la Bios
de modo que al insertar el CD de Rocks eacuteste procederaacute a iniciar la instalacioacuten con la siguiente
pantalla que se muestra a continuacioacuten
Figura 35 Bios Boot device prioriry (Fuente Elaboracioacuten propia)
64
Para iniciar la instalacioacuten uacutenicamente se selecciona la opcioacuten ldquoInstall CentOS 7rdquo como se
muestra en la Figura 36 dando asiacute comienzo al proceso de instalacioacuten Tras finalizar un proceso
de carga en memoria Rocks mostraraacute un formulario en entorno graacutefico mediante el cual
procederemos a configurar el FrontEnd
Esta primera pantalla se muestra coacutemo se desea realizar la instalacioacuten puede realizarse
por medio de la descarga del sistema operativo (se requiere internet) En este caso como se muestra
en la Figura 37 dado que previamente se descargoacute el DVD completo se seleccionoacute ldquoCDDVD
based rollsrdquo
Figura 36 Pantalla de Inicio de instalacioacuten de Rocks (Fuente Elaboracioacuten propia)
65
A continuacioacuten Figura 38 se selecciona de la lista de Rolls aquellos que se desean instalar
Figura 37 Pantalla de seleccioacuten de Rolls (Fuente Elaboracioacuten propia)
Figura 38 Listado de opciones de rolls para instalar (Fuente Elaboracioacuten propia)
66
Tras presionar el botoacuten ldquoSubmitrdquo la siguiente pantalla (Figura 39) muestra formulario en
el que hay que indicar la informacioacuten baacutesica del cluacutester entre las cuales aparecen
Fully-Qualified Host Name Nombre con el que se conoceraacute en la red externa el cluacutester
Cluster Name Nombre utilizado para ser identificado dentro de las herramientas del cluacutester
Certificate Organization Locality State and Country Organizacioacuten a la que pertenece el
cluacutester la localidad el estado y la ciudad
Contact URL and LattitudeLongitude Contacto direccioacuten web y posicioacuten GPS
Figura 39 Informacioacuten baacutesica del cluacutester a instalar (Fuente Elaboracioacuten propia)
67
Una vez que se ingresa la informacioacuten al cluacutester se presiona el botoacuten ldquoListordquo y
posteriormente se podraacute cambiar la configuracioacuten baacutesica de la red interna del cluacutester En este caso
Figura 310 se dejoacute el valor por defecto una IP de clase B (1011116)
El siguiente paso es la configuracioacuten de la red externa (para tener acceso a internet) En
este punto se introducen los datos de la red externa a la que se encuentra conectado el nodo
maestro como se muestra en la Figura 311
Figura 310 Configuracioacuten Ethernet de la red privada (Fuente Elaboracioacuten propia)
Figura 311 Configuracioacuten Ethernet de la red puacuteblica (Fuente Elaboracioacuten propia)
68
Para terminar de configurar la red externa como se muestra en la Figura 312 se ingresa la
direccioacuten IP del Gateway y los DNS (Servidor de nombre de dominio) que va a usar para el acceso
a internet
Se continuacutea con el resto del formulario donde se introduce la contrasentildea para el usuario
root tal y como se muestran en la Figura 313
Figura 312 Configuracioacuten de DNS y Gateway (Fuente Elaboracioacuten propia)
Figura 313 Ingresar contrasentildea de usuario root (Fuente Elaboracioacuten propia)
69
Paso siguiente se procede a seleccionar la zona horaria como se muestra en la Figura 314
donde se encuentra ubicado el cluacutester asiacute como un servidor de donde podraacute obtener la zona horaria
automaacuteticamente en este caso se dejoacute el valor por default
En el formulario de la Figura 315 se selecciona la forma de particionar el disco duro
(automaacutetica manual) una vez seleccionado daraacute comienzo al proceso de instalacioacuten de manera
Figura 314 Configuracioacuten horaria (Fuente Elaboracioacuten propia)
Figura 315 Particiones del disco duro (Fuente Elaboracioacuten propia)
70
desatendida Cuando ha concluido la instalacioacuten el equipo se reiniciaraacute y se requeriraacute iniciar con
el usuario root y la contrasentildea establecida previamente
321 Configuracioacuten del teclado Debido a que el teclado por defecto estaacute en idioma
ingleacutes podriacutea provocar problemas al momento de escribir la contrasentildea u otros comandos
Seguacuten las pruebas realizadas aunque se cambie la configuracioacuten del teclado desde el menuacute
de preferencias uacutenicamente se mantiene dentro de la sesioacuten desde la que se ha cambiado dicha
opcioacuten (lo cual implica que la contrasentildea de usuario hay que introducirla seguacuten la distribucioacuten
inglesa)
33 Instalacioacuten de los nodos
Previo a la instalacioacuten de los nodos esclavos cada uno de los equipos fueron configurados
desde la Bios para que arranquen desde la red (seccioacuten 3122) Para ir antildeadiendo los nodos solo
se tiene que introducir el siguiente comando desde nuestro FrontEnd
$insert-ethers
A continuacioacuten como se muestra en la Figura 316 apareceraacute una ventana en la pantalla
en la cual se seleccionaraacute la opcioacuten ldquoComputerdquo
71
Una vez realizado este paso se procede a encender los equipos que funcionaraacuten como
nodos esclavos uno a uno
Se sugiere esperar a que cada nuevo equipo encendido esteacute marcado con un asterisco antes
de proceder a encender el siguiente como se muestra en la Figura 317 De esta manera se asegura
que cada nuevo nodo antildeadido posea el nombre y numeracioacuten deseada
Figura 316 Pantalla para ingresar nodos (Fuente Elaboracioacuten propia)
Figura 317 Indicador de insercioacuten de nuevos nodos (Fuente Elaboracioacuten propia)
72
Puede darse el caso de que un nodo no sea detectado automaacuteticamente eso indica que se
ha omitido alguacuten paso o parte de la configuracioacuten realizada hasta el momento es incorrecta En ese
caso comprobar lo siguiente
Que el nodo esclavo este correctamente conectado a la red interna
Que el FrontEnd (nodo maestro) tenga correctamente configurada la red interna y externa
Que el PXE esteacute habilitado en la Bios del nodo esclavo
331 Administracioacuten de nodos Algunos de los comandos maacutes uacutetiles para para la gestioacuten
de los nodos son los siguientes
Eliminar un nodo de la lista
Reinstalar un nodo
Listar los nodos ya instalados
Acceder a un nodo
$rocks remove host nombre_nodo
$rocks remove host nombre_nodo
$rocks set host boot nombre_nodo action=install
$rocks set host boot nombre_nodo action=install
$rocks list host
$rocks list host
$ssh nombre_nodo
$ssh nombre_nodo
73
Ejecutar un comando de manera remota a un nodo
332 Creacioacuten de cuentas de usuario Para agregar a un usuario hay que realizar los
siguientes pasos
1 Creacioacuten de la cuenta
$useradd nombre_usuario
2 Asignacioacuten de una contrasentildea
$passwd nombre_usuario
3 Sincronizacioacuten de la cuenta de usuario con el resto de nodos
$rocks-user-sync
333 Configuracioacuten del directorio compartido El directorio share es compartido por el
FrontEnd y el resto de nodos se localiza dentro del FrontEnd en la carpeta exports siendo la
carpeta share un enlace simboacutelico a esta uacuteltima
Al principio es posible que no se sincronicen correctamente los archivos introducidos en el
directorio debido a que la carpeta inicialmente estaacute vaciacutea por lo que para solucionar este
inconveniente puede usarse el comando siguiente para reiniciar dicho servicio
$ssh nombre_nodo lsquocomandorsquo
$ssh nombre_nodo lsquocomandorsquo
$cd
$export fs ndashrv
service nfs restart
$cd
$export fs ndashrv
service nfs restart
74
34 Operaciones baacutesicas de Rocks
Comandos y aplicaciones esenciales para el manejo del cluacutester
Ver que rolls estaacuten instalados
$rocks list roll
Visualizar el estado del sistema Figura 318
$qstat ndashf
Probar el sistema de colas para distribuir tareas a los nodos
Para ello se prueba que el SGE del cluacutester funcione enviaacutendole una serie de trabajos
mediante el comando qsub
En primer lugar se crea un fichero (pruebapl) que tenga permisos de ejecucioacuten con el
siguiente contenido
Figura 318 Comando qstat ndashf (Fuente Elaboracioacuten propia)
75
usrbinperl
for(my $i=0$ilt30$i++) sleep(2) print okn
Y se ejecuta con el siguiente comando
$ for ((i=1ilt=10i+=1)) do qsub pruebapl done
Al ejecutarse se puede comprobar que los trabajos se han mandado Figura 319
Y al realizar de nuevo un ldquoqstat ndashfrdquo Figura 320 se observa coacutemo se van realizando
Figura 319 Enviacuteo de trabajos por medio del comando qsub (Fuente Elaboracioacuten propia)
Figura 320 Estado de los trabajos pendientes mostrados por qstat ndashf (Fuente Elaboracioacuten propia)
76
Para ver la carga de trabajo en el cluacutester de manera global y de forma graacutefica se tiene que
ingresar en un navegador web en la siguiente direccioacuten httplocalhostganglia apareceraacute la
Figura 321
Figura 321 Visualizacioacuten de la distribucioacuten de cargas en el cluacutester usando la herramienta Ganglia (Fuente Elaboracioacuten propia)
77
Capiacutetulo 4 Metodologiacutea y Resultados
Una vez finalizada la instalacioacuten y puesta en operacioacuten del equipo se analizaron diferentes
metodologiacuteas de trabajo lo que implicoacute un trabajo arduo debido a que existen complicaciones
cuando se buscan temas relacionados a vulnerar sistemas operativos La realizacioacuten de este
proyecto estaacute basado en la metodologiacutea de Joshua Picolet ldquoCracking Methodologyrdquo (Picolet
2017)
41 Obtener Archivo hash
Se pueden vulnerar contrasentildeas de Windows de diferentes maneras Una de ellas es
mediante el acceso al archivo del Administrador de cuentas de seguridad (SAM) el cual se detalla
en el apartado 253 a traveacutes de la obtencioacuten de las contrasentildeas del sistema en su forma hash por
medio de herramientas diferentes Alternativamente las contrasentildeas se pueden leer desde la
memoria lo que tiene el beneficio adicional de recuperar las contrasentildeas en texto plano y evitar el
requisito de descifrado Para comprender los formatos que se observan cuando se descarguen
hashes del sistema de Windows se requiere una breve descripcioacuten de los diferentes formatos de
almacenamiento
Originalmente las contrasentildeas de Windows de menos de 15 caracteres se almacenaban en
el formato hash de Lan Manager (LM) Algunos sistemas operativos como Windows 2000 XP y
Server 2003 continuacutean usando estos hashes a menos que esteacuten deshabilitados por el usuario
Ocasionalmente un sistema operativo como Windows Vista puede almacenar el hash LM para la
compatibilidad con otros sistemas Seguacuten analistas incluye varias vulnerabilidades como dividir
78
la contrasentildea en dos bloques y permitir que cada uno se descifre de forma independiente Mediante
el uso de tablas Rainbow es trivial descifrar una contrasentildea almacenada en un hash LM
independientemente de la complejidad Este hash se almacena con la misma contrasentildea calculada
en el formato de hash NT como el que se muestra en el siguiente ejemplo
Ejemplo de un hash NTLM con el componente LM y NT
Administrator500611D6F6E763B902934544489FCC9192BB71ED1E7F2B60ED5A2
EDD28379D45C91
Los sistemas operativos Windows maacutes recientes como el Windows 8 y 10 usan el hash NT
En teacuterminos simples no hay una debilidad significativa en este hash que lo diferencie de cualquier
otra funcioacuten hash criptograacutefica Se requieren meacutetodos de descifrado como lo es la fuerza bruta o
ataque de diccionario para recuperar la contrasentildea si uacutenicamente se almacena en el formato NT
Ejemplo de un hash NTLM uacutenicamente con el componente NT (como se ve en los sistemas
Windows mas recientes
Administrator500NOPASSWORDEC054D40119570A4663
4350291AF0F72
Es importante sentildealar que la cadena NO PASSWORD es variable seguacuten la herramienta
que se utilice Otras pueden presentar esta informacioacuten como ceros rellenos o comuacutenmente puede
79
ver la cadena ldquoAAD3B435B51404EEAAD3B435B51404EErdquo en lugar de ninguna contrasentildea
Esto significa que el hash LM estaacute vaciacuteo y no estaacute almacenado
El archivo hash se encuentran en el directorio ldquoWindows System32 configrdquo y se
necesitan ambos archivos SAM y SYSTEM Ademaacutes tambieacuten se encuentran en el archivo de
registro HKEY_LOCAL_MACHINE SAM al que no se puede acceder durante el tiempo de
ejecucioacuten Finalmente las copias de seguridad se pueden encontrar a menudo en ldquoWindows
Repairrdquo (Peleus 2019)
Para extraer el archivo hash de un sistema operativo con un nivel de seguridad C1 existen
diferentes meacutetodos en esta ocasioacuten se procederaacute a iniciar el equipo objetivo con una distribucioacuten
de Linux desde una memoria USB como se muestra en la figura 41 para de esta manera ingresar
al directorio CWINDOWSSystem32Config directorio de ubicacioacuten de los archivos SAM y
SYSTEM que son los necesarios para obtener el archivo hash (Caballero 2018)
Figura 41 Arranque con LiveUSB KaliLinux (Fuente Elaboracioacuten propia)
80
42 Dar Formato al Hash
En este punto es donde se tiene que identificar el algoritmo con el que fueron encriptados
los archivos SAM y SYSTEM que se han obtenido en el punto anterior con la finalidad de
seleccionar el tratamiento que se les daraacute El algoritmo de encriptacioacuten del archivo SAM de
Windows 10 es NTLM y ademaacutes estaacute almacenado en un formato binario (ByteBleeder 2017) por
lo que fue necesario instalar la herramienta con licencia GNU samdump2 para obtener la syskey y
de esta manera poder extraer los hash desde el archivo SAM de Windows
En la figura 42 se han obtenido los hashes del archivo SAM donde se puede observar que
los usuarios Administrador e Invitado estaacuten deshabilitados ademaacutes de que existen tres cuentas de
usuario activas las cuales son Gad prueba y usuarioprueba cada una con su contrasentildea cifrada
en formato NTLM a la derecha del nombre de usuario la cuenta usuarioprueba fue a la que se le
realizoacute el anaacutelisis que se detalla posteriormente
43 Evaluar la fuerza del Hash
En criptografiacutea se dice que un algoritmo criptograacutefico se rompe si por alguacuten meacutetodo se
consigue reducir su fortaleza es decir reducir por ejemplo su entropiacutea de los 2256 bits teoacutericos a
Figura 42 Resultado de la ejecucioacuten de la herramienta samdump2 (Fuente Elaboracioacuten propia)
81
tan soacutelo 2255 por ejemplo El hecho de que se encuentre una colisioacuten no implica necesariamente
que un algoritmo se haya roto pues podriacutea haber sido realizado mediante fuerza bruta pero puede
ser una causa
Un ataque de colisioacuten significa que encuentro dos entradas diferentes que producen el
mismo resultado de un hash particular Este es generalmente el tipo de ataque maacutes faacutecil Es el tipo
de ataque que se conoce desde hace varios antildeos contra MD5
Dado que una utilidad importante de las funciones hash estaacute en las firmas digitales
encontrar colisiones puede facilitar falsificar firmas digitales Es decir dos mensajes distintos que
tengan un mismo resumen tienen ademaacutes la misma firma y un atacante puede reemplazar un
mensaje por el otro Un ejemplo de este ataque fue demostrado en 2008 por un grupo de
investigadores en Aacutemsterdam los cuales falsificaron un certificado raiacutez mediante el uso de un
ataque de colisioacuten contra el algoritmo MD5 (Preukschat 2015)
Un ataque previo a la imagen generalmente es mucho maacutes difiacutecil es encontrar otra entrada
que produzca el mismo resultado que un hash que ya se conoce
Para tratar de aclarar la diferencia aquiacute en un ataque de colisioacuten encuentro dos entradas A
y B que producen el mismo resultado En un ataque de preimagen comienzo a partir de alguacuten
resultado conocido X y encuentro una entrada que produciraacute X como resultado (Coffin 2015)
82
Para realizar esta evaluacioacuten se tomoacute como base la tabla del apeacutendice Hash craking
benchmark (Picolet 2017) el objetivo es observar el comportamiento y velocidad del Hash
mencionado cuando fue sometido a pruebas de criptoanaacutelisis Si se trata de un Hash lento se deberaacute
ser maacutes selectivo en queacute tipos de diccionarios y meacutetodos de criptoanaacutelisis se le debe aplicar Si es
un Hash raacutepido se puede ser maacutes libre con la estrategia de criptoanaacutelisis Este estudio busca
realizar una prueba de criptoanaacutelisis mostrando las diferencias entre el poder de procesamiento de
un cluacutester de 17 nodos contra una computadora personal por lo que no necesariamente se
implementaraacute el meacutetodo oacuteptimo para la realizacioacuten del criptoanaacutelisis
44 Calcular la capacidad del equipo
Con la informacioacuten de la evaluacioacuten de la fuerza del Hash obtenida en el apartado anterior en
este apartado se tiene que establecer la capacidad de la plataforma o plataformas que realizaraacuten
el criptoanaacutelisis
Para conocer la capacidad de procesamiento del cluacutester de alto rendimiento se utilizoacute la
herramienta Linpack Benchmark HPL es una implementacioacuten portaacutetil del Benchmark de alto
rendimiento LINPACK para equipos de coacutemputo distribuido Actualmente se utiliza para obtener
varios resultados en la lista actual de Top500 de HP cluacutesters (Dongarra 2010)
El Linpack Benchmark (HPL del Ingleacutes High-Performance Linpack Bench-mark) es un
software que resuelve un sistema lineal aleatorio de doble precisioacuten aritmeacutetica (64 bits) en equipos
de memoria distribuida El rendimiento muestra el nuacutemero de operaciones de punto flotante por
segundo logradas por el sistema (Petitet Whaley Dongarra amp Cleary 2008)
83
El HPL fue desarrollado en el Argone National Laboratory por Jack Don-garra en 1976 y
es uno de los maacutes usados en sistemas cientiacuteficos y de ingenieriacutea para el caacutelculo de prestaciones
Las principales caracteriacutesticas del algoritmo utilizado por el HPL son
Distribucioacuten ciacuteclica de datos de bloques de dos dimensiones
Variante derecha de la factorizacioacuten LU con pivoteo parcial (Teacutecnica de pivoteo
Dicta que el elemento pivote que debe escogerse es el mayor absolutamente de cada
columna)
Factorizacioacuten recursiva con pivoteo y reenviacuteo de columna
Distintas topologiacuteas virtuales de reenviacuteos
Algoritmo de reduccioacuten de reenviacuteo para ancho de banda (Castelloacute Gimeno 2014)
La resolucioacuten del sistema de ecuaciones se realiza del siguiente modo
1 Se crea un sistema de ecuaciones
(1)
119860119909 = 119887
(2)
119860 isin 119877119899119909119899
(3)
119909 119887 isin 119877119899
84
HPL calcula que la solucioacuten para un sistema de ecuaciones lineales se puede generalizar
como 119860119909 = 119887 donde 119860 es una matriz 119873 119909 119873 cuyos valores se generan aleatoriamente
119909 119910 119887 son vectores de tamantildeo 119873 Como se muestra en la Figura 43
2 Primero se calcula la factorizacioacuten 119871119880 con pivoteo parcial de los coeficientes 119899 y 119899 + 1
de la matriz [119860 119887]
(4)
119875119903[119860 119887] = [[119871119880] 119910]
(5)
119875119903 119871 119880 isin 119877119899119909119899
(6)
119910 isin 119877119899
El primer paso es la factorizacioacuten de la matriz 119860 en una matriz triangular superior 119880
y una matriz triangular inferior 119871 tal que 119860 = 119871119880 La factorizacioacuten se usa para calcular
el vector solucioacuten 119909
3 Una vez el pivoteo (representado por la permutacioacuten de la matriz 119875119903) y la factorizacioacuten
inferior se aplican sobre 119887 la solucioacuten se obtiene en un paso resolviendo el sistema
superior triangular
Figura 43 Sistema de Ecuaciones tipo 119860119909 = 119887 (Fuente Elaboracioacuten propia)
85
(7)
119880119909 = 119910
La matriz triangular inferior izquierda y el conjunto de pivotes no se devuelven en el
resultado Para la estabilidad numeacuterica el algoritmo de factorizacioacuten utiliza un pivote parcial de
fila
La implementacioacuten paralela de Linpack divide la matriz 119860 119873 119909 119873 en una cuadriacutecula de
procesos 119875 119909 119876 bidimensional y luego la divide en subgrupos de mosaicos 119873119861 119909 119873119861 (Petitet
Whaley Dongarra amp Cleary 2008)
Utilizando la herramienta HPL en esta investigacioacuten se obtuvieron los siguientes
resultados
La prueba abordoacute el ajuste de 119873 y la eficiencia obtenida en comparacioacuten con el rendimiento
maacuteximo Se determinoacute un valor para 119873 = 800000 aleatoriamente para ejecutar HPL en todo el
cluacutester Sin embargo el tiempo fue excesivo por lo tanto se determinoacute que este tamantildeo del
problema fue demasiado grande para el cluacutester Al realizar otros experimentos con valores maacutes
pequentildeos de 119873 se obtuvieron mejores resultados de rendimiento La Tabla 41 muestra el
rendimiento de HPL en GFlops para 119873 = 300000 400000 y 500000 Como se puede observar
en la Tabla 41 se obtuvo el mejor resultado de rendimiento 850 GFlops para 119873 = 500000 para
valores mayores de 119873 la distribucioacuten de cargas del cluacutester empieza a sobrepasar su capacidad como
se muestra en la Figura 44 y la vez su rendimiento disminuye Esto ocurre porque la cantidad de
memoria utilizada con las memorias intermedias de comunicacioacuten MPI es mayor de lo esperado
Por lo tanto es necesario dejar maacutes del 20 de la memoria para el sistema (Petitet Whaley
86
Dongarra amp Cleary 2008) Tambieacuten se realizaron pruebas usando solo un nodo de coacutemputo y el
rendimiento fue de 34 GFlops para 119873 = 20000
Tabla 41 Rendimiento de HP cluacutester (Fuente Elaboracioacuten propia)
Analizando la eficiencia obtenida para la ejecucioacuten de un solo nodo cuando 119873 = 20000
se obtuvo el 823 del rendimiento maacuteximo (el rendimiento maacuteximo para un solo nodo es 477
Gflops) Para todo el cluacutester el rendimiento maacuteximo seriacutea 119879119898119886119909 = 477 119909 17 =
8109 119866119891119897119900119901119904 aproximadamente
Figura 44 Distribucioacuten de cargas del cluacutester
0
500
1000
300000 400000 500000
Gflops
Gflops
87
La Figura 44 titulada ldquoDistribucioacuten de cargas del cluacutesterrdquo muestra la imagen de la
herramienta Ganglia de manera graacutefica a traveacutes de cuadros que variacutean de color dependiendo de la
carga que tenga cada uno de los nodos al momento de implementar la herramienta HPL De manera
inicial indica que el cluacutester tiene un total de 17 equipos de 4 cores cada uno eso da un total de 68
cores trabajando sin equipos inactivos Muestra tambieacuten una sobrecarga en el cluacutester y un
porcentaje promedio de 100 de uso en la uacuteltima hora
45 Establecer Estrategia
Esto significa uacutenicamente que en este apartado se realizaraacute una guiacutea baacutesica para procesar
los hashes obtenidos sin perder de vista que cada escenario a criptoanalizar es uacutenico en funcioacuten
de las circunstancias externas Como ya se ha mencionado anteriormente esta estrategia de
criptoanaacutelisis se ha planteado implementar dos meacutetodos los cuales son Fuerza Bruta y ataque de
diccionario sin importar si son o no los oacuteptimos debido a que se realizaraacute una comparativa de
capacidad de procesamiento
451 Fuerza Bruta Una vez que se han intentado varios meacutetodos y han fallado se puede
iniciar un ataque de fuerza bruta estaacutendar poniendo especial atencioacuten en la cantidad de siacutembolos
del alfabeto que puede usar el equipo a analizar Por encima de 8 caracteres esto generalmente no
tiene sentido debido a limitaciones de hardware y entropiacutea (complejidad de la contrasentildea) Una
contrasentildea de Windows seguacuten Microsoft (Microsoft Inc 2019) una contrasentildea de Windows debe
estaacute formada por
88
26 Caracteres mayuacutesculas de la ldquoArdquo a la ldquoZrdquo
26 Caracteres minuacutesculas de la ldquoardquo a la ldquozrdquo
10 Diacutegitos de base 10 (0 a 9)
32 Caracteres especiales (~$^amp_-+=|()[]ltgt)
94 Caracteres alfanumeacutericos en total
4511 Cantidad de combinaciones posibles Si se usa una clave numeacuterica (nuacutemeros del 0
al 9) existen 10 posibilidades de 4 diacutegitos de longitud que es la extensioacuten por defecto de los
teleacutefonos celulares Para 4 diacutegitos las combinaciones posibles seriacutean 10 mil 104 = 10000
(Labaca Castro 2014)
Por otro lado si tomamos un alfabeto de 26 letras mayuacutesculas y 26 minuacutesculas 10 nuacutemeros
y 10 caracteres especiales en total tenemos 72 diferentes posibilidades para un uacutenico caraacutecter Eso
significa que las combinaciones para una contrasentildea de 4 caracteres seriacutean 724 = 26873856
Baacutesicamente maacutes de 26 millones de combinaciones en una clave de 4 caracteres contra 10 mil en
una clave de 4 diacutegitos numeacutericos En este estudio se utiliza la contrasentildea de bloqueo descrita en el
apartado anterior que es de 94 combinaciones para cada caraacutecter teniendo una longitud de 7
caracteres por lo tanto seraacuten 947 = 64847759000000 de posibles combinaciones que
nuestros equipos deben explorar para obtener la contrasentildea correcta
Como se mencionoacute en el apartado 42 el usuario sobre el cual se realizoacute el criptoanaacutelisis
fue usuarioprueba el cual constaba de una contrasentildea de longitud 7 caracteres la cual despueacutes
de realizado el anaacutelisis y como se puede observar en la Figura 45
89
1 Anaacutelisis a usuario usuarioprueba
2 Nuacutemero de nodos en operacioacuten 17
3 Nuacutemero de procesos ejecutaacutendose de forma paralela 68
4 Tiempo de duracioacuten del anaacutelisis en el cluacutester 122727 horas
5 Contrasentildea criptoanalizada Pass7
Asiacute mismo en la Tabla 42 se muestra el resultado final y el tiempo de duracioacuten del
criptoanaacutelisis realizado al archivo SAM con el cluacutester y la computadora personal
Tabla 42 Resultados de criptoanaacutelisis de archivo SAM (Fuente Elaboracioacuten propia)
Nodos Nuacutecleos Tiempo de Procesamiento (Horas)
1 (PC) 4 1075316
17 (Cluacutester) 68 122727
1
2
3
4 5
Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester (Fuente Elaboracioacuten propia)
90
452 Diccionario Meacutetodo empleado para romper la seguridad de los sistemas basados en
contrasentildeas (password) en la que el atacante intenta dar con la clave adecuada probando todas (o
casi todas) las palabras posibles ingresadas previamente en un diccionario idiomaacutetico
Generalmente se emplean programas especiales que se encargan de ello
Este meacutetodo suele ser maacutes eficiente que el meacutetodo de fuerza bruta debido a que muchas
usuarios casi siempre suelen utilizar contrasentildeas con una o varias palabras existentes en su lengua
para que la contrasentildea no sea olvidada faacutecilmente y sea sencilla de recordar esto no es una praacutectica
recomendable (Alegsa 2018)
Para realizar este meacutetodo se utilizoacute un diccionario descargado de internet el cual contiene
10000000 de posibles contrasentildeas (g0tmi1k 2018)
Ademaacutes se ejecutoacute un programa creado en lenguaje C (Anexo 1) a traveacutes de la
implementacioacuten de las libreriacuteas MPI y open MPI propias de la arquitectura de cluacutester de
computadoras Este programa fue ejecutado en los mismos equipos descritos anteriormente para
obtener todos los nuacutemeros primos encontrados dentro de un intervalo dado En este caso el
intervalo dado fue de 10000000 con los siguientes resultados mostrados en la Tabla 43
Tabla 43 Resultados de ejecucioacuten de programa en C para la obtencioacuten de nuacutemeros primos (Fuente Elaboracioacuten
propia)
Nodos Nuacutecleos Tiempo de Procesamiento (Segs)
1 (PC) 4 5078
17 (Cluacutester) 68 00013
91
453 Analizar los resultados Posterior a realizar el criptoanaacutelisis y descifrar con eacutexito
una cantidad suficiente de hashes se analizan los resultados en busca de pistas o patrones Este
anaacutelisis puede ayudar a tener eacutexito en cualquier hash restante
454 Personalizar ataques Tomando como base el anaacutelisis de resultados realizado
previamente se disentildearaacuten diversas estrategias personalizadas que aprovechen las vulnerabilidades
conocidas o patrones Los ejemplos seriacutean ataques de maacutescara personalizados o reglas para
adaptarse al comportamiento o las preferencias del usuario objetivo
92
Conclusioacuten
El trabajo de investigacioacuten presentado parte de la necesidad de buscar alternativas para
explotar al maacuteximo la capacidad de procesamiento del equipo de coacutemputo que existe actualmente
dentro del inventario del Instituto Tecnoloacutegico de Acapulco asiacute como proveer una plataforma que
coadyuve a la investigacioacuten dentro del Instituto a traveacutes de implementar un cluacutester de coacutemputo
con capacidad para realizar proyectos en el aacuterea de ingenieriacutea y matemaacuteticas con el fin de optimizar
el tiempo de ejecucioacuten lo cual en un futuro se veraacute reflejado en ventajas para el desarrollo de la
regioacuten
La revisioacuten y anaacutelisis de informacioacuten en relacioacuten a cluacutesters es muy interesante pero a la
vez es compleja dado que involucra diferentes aspectos durante su evolucioacuten asiacute como diversas
metodologiacuteas para su formacioacuten e implementacioacuten Se considera de suma importancia para este
trabajo las revisiones efectuadas ya que son la base para la propuesta entregada
De acuerdo a las especificaciones teacutecnicas de los equipos informaacuteticos existentes dentro
del laboratorio de la Maestriacutea en Sistemas Computacionales y una vez que se realizoacute el anaacutelisis
de varios casos de eacutexito se propuso la metodologiacutea para implementacioacuten de un cluacutester homogeacuteneo
tipo Beowolf Este meacutetodo estaacute basado en otros que ya se han implementado bajo realidades
acadeacutemicas similares rescatando las etapas maacutes importantes de cada uno y complementaacutendolo con
los aportes personales se consideroacute que fue el oacuteptimo debido a que se implementoacute con hardware
convencional y herramientas de uso libre
93
El hecho de haber seleccionado un meacutetodo adecuado permitioacute superar gran parte los
problemas que presentaban las metodologiacuteas que fueron analizadas simplificoacute la implementacioacuten
del cluacutester y permitioacute el poder alcanzar una mayor estabilidad en su desempentildeo desde su etapa
inicial fue importante conocer el resultado en cada una de las etapas de implementacioacuten para
asegurar su desenvolvimiento en el futuro
Para integrar los equipos independientes a la arquitectura cluacutester se realizoacute el disentildeo de
una topologiacutea de red Gigabit Ethernet tipo estrella con un direccionamiento IP estaacutetico la
configuracioacuten de protocolos de comunicacioacuten remota sin autenticacioacuten la comparticioacuten de
archivos en red y la utilizacioacuten de aplicaciones de licencia GPL que permiten obtener el
funcionamiento similar a la de una supercomputadora
Haciendo uso de libreriacuteas de paso de mensajes (MPI) y el software John the Ripper para el
descifrado de contrasentildeas la arquitectura cluacutester implementada alcanzoacute una eficiencia de 885
de rendimiento en comparacioacuten con los recursos computacionales de un solo equipo con las
caracteriacutesticas de un nodo Ademaacutes otros de los proyectos ejecutados en la arquitectura cluacutester
para probar el rendimiento fue la ejecucioacuten de un programa para la deteccioacuten de nuacutemeros primos
dentro de un archivo de 10000000 de nuacutemeros obteniendo una eficiencia de maacutes de 99 gracias
a la distribucioacuten de tareas que proporcionan las libreriacuteas de paso de mensajes (MPI) dentro de la
arquitectura cluacutester
Con la implementacioacuten de la arquitectura cluacutester el laboratorio de la Maestriacutea en Sistemas
Computacionales podraacute dar soluciones potentes eficientes y econoacutemicas en los entornos de
94
investigacioacuten mejorando la capacidad de procesamiento en aplicaciones como evaluacioacuten de
algoritmos compresioacuten de archivos renderizacioacuten de imaacutegenes anaacutelisis de datos (big data) en un
tiempo relativamente bajo ideal para las necesidades educativas
La experiencia obtenida al realizar esta investigacioacuten y propuesta ha sido enriquecedora
tanto por la obtencioacuten de conocimiento en base a la historia evolucioacuten y arquitectura de cluacutesters
asiacute como la programacioacuten paralela y sus ventajas en diferentes proyectos desarrollados en todo el
mundo Igualmente la comparacioacuten entre cada uno de los modelos y meacutetodos resulta interesante
dado que existe un sinnuacutemero de ejemplos con caracteriacutesticas diferentes pero baacutesicamente con un
mismo objetivo final
Trabajo Futuro
El cluacutester implementado en el Laboratorio de la Maestriacutea en Sistemas computacionales del
Instituto Tecnoloacutegico de Acapulco puede ser utilizado en gran cantidad de aplicaciones dentro de
las diferentes aacutereas de investigacioacuten del Instituto asiacute como estar disponible para el Departamento
de Posgrado e Investigacioacuten como apoyo durante la realizacioacuten de tareas y proyectos dentro de las
aacutereas de Desarrollo de Sistemas Inteligentes asiacute como de Tecnologiacuteas Web
Propuesta de Trabajo a Futuro
Durante la realizacioacuten de este proyecto se observoacute la necesidad que existe dentro del
departamento de Investigacioacuten y Posgrado de equipos de alta capacidad de procesamiento para
realizar de una manera maacutes eficiente las investigaciones que se estaacuten llevando a cabo Una de ellas
es el ldquoSistema de apoyo al diagnoacutestico oportuno de Retinopatiacutea Diabeacuteticardquo en la cual a traveacutes del
entrenamiento de una red neuronal se clasificaraacuten y evaluaraacuten un nuacutemero de 3000 imaacutegenes para
95
demostrar la presencia de dicha enfermedad en pacientes del Instituto Estatal de Oftalmologiacutea
Actualmente se ha realizado una prueba de entrenamiento de dicha red neuronal con 70 imaacutegenes
obteniendo como resultado un tiempo clasificacioacuten y evaluacioacuten de 301532 horas en un equipo
con un procesador Core I7 con 8 GB en memoria RAM
96
Bibliografiacutea
Alegsa (01 de 01 de 2018) Alegsa Diccionario Informaacutetico Recuperado el 07 de 2019 de
Alegsa httpwwwalegsacomarDicataque_por_diccionariophp
Avecto (2017) Avecto Limited Recuperado el 10 de 08 de 2018 de AVECTO a Bomgar
Company wwwavectocom
Borghello C (2009) Seguridad de la Informacioacuten Recuperado el 11 de 2018 de Criptografiacutea de
la A-Z httpswwwsegu-infocomarproyectosp1_hashhtm
Branch Bedoya J amp Mesa Muacutenera A (Diciembre de 2008) Implementacioacuten de un cluster
homogeacuteneo para la resolucioacuten de problemas de alta complejidad computacional Avances
en Sistemas e Informaacutetica 5(3)
ByteBleeder (02 de 06 de 2017) Practical guide to NTLM Relaying in 2017 Obtenido de Github
httpsbyt3bl33d3rgithubiopractical-guide-to-ntlm-relaying-in-2017-aka-getting-a-
foothold-in-under-5-minuteshtml
Caballero A (26 de 06 de 2018) Hacking Eacutetico Recuperado el 03 de 2019 de John The Ripper
httpwwwreydescomdq=Recuperar_la_Contrasena_del_Administrador_utilizando_s
amdump2_y_John_The_Ripper
Carretero Peacuterez J de Miguel Anasagasti P Garciacutea Carballeira F amp Peacuterez Costoya F (2001)
Sistemas Operativos Una visioacuten aplicada (C F Madrid Ed) Madrid Espantildea
McGRAW-HillInteramericana
Castelloacute Gimeno A (30 de 07 de 2014) Universitat Jaume Recuperado el 10 de 2019 de
Evaluacioacuten de prestaciones mediante laaplicacioacuten HPL de clusters utilizandorCUDA
97
httprepositoriujiesxmluibitstreamhandle10234115082TFM_2014_CastelloGimen
oApdfsequence=1ampisAllowed=y
Chaacutevez J Echeverriacutea C Correa M Vaacutezquez E Suaacuterez M Maacutermol X Diacuteaz G (07 de
1999) Centro de Caacutelculo Cientiacutefico Recuperado el 01 de 05 de 2018 de Universidad de
Los Andes httpwwwcecalculavedocumentaciontutorialesbeowulfinformehtml
Chirinov R (2003) Nfinite9000 SL Recuperado el 26 de 04 de 2018 de Noticias 3D
httpswwwnoticias3dcomarticuloaspidarticulo=248amppag=4
Coffin J (23 de 07 de 2015) Quora Recuperado el 15 de 08 de 2019 de
httpswwwquoracomWhat-does-it-mean-when-a-hashing-algorithm-has-been-broken
Dongarra J (2010) Top500 Super computer sites Recuperado el 07 de 2019 de http
wwwtop500org
Educba (01 de 01 de 2019) Recuperado el 10 de 2019 de Educbaorg
httpswwweducbacomidea-algorithm
europa press (04 de 06 de 2013) Portal Tic Recuperado el 18 de 11 de 2018 de Europa Press
httpswwweuropapressesportalticgadgetsnoticia-cuarta-generacion-intel-core-mayor-
salto-cuanto-ahorro-energetico-20130604174722html
g0tmi1k (2018) github Recuperado el 05 de 2019 de github
httpsgithubcomdanielmiesslerSecListsblobmasterPasswordsCommon-
Credentials10-million-password-list-top-1000000txt
Gonzaacutelez Agudelo D (2014) El riesgo y la falta de politicas de seguridad informaacutetica una
amenaza en las empresas certificadas basc Recuperado el 20 de 05 de 2018 de
Universidad Militar Nueva Granada
httpsrepositoryunimilitareducobitstream10654122511ENSAYO20FINALpdf
98
Gonzaacutelez Ramiacuterez E amp Rodriacuteguez Saacutenchez A (2008) Disentildeo e implementacioacuten de un cluster
tipo BEOWULF para el desarrollo de coacutemputo cientiacutefico avanzado CdMx Mexico
Hernandez M (2013) Forensics Mexico Recuperado el 07 de 2018 de La importancia del
registro de Windows parte 1 httpforensicsmexicoblogspotcom201309la-
importancia-del-registro-de-windowshtml
Kowalczyk C (01 de 2015) Crypto-IT Recuperado el 11 de 2018 de Crypto-IT
httpwwwcrypto-itnetengasymmetricindexhtml
Labaca Castro R (13 de 06 de 2014) We live security Recuperado el 2019 de 08 de 07 de
Welivesecuritybyeset httpswwwwelivesecuritycomla-es20140613matematica-
claves-numerica-alfanumerica
Lizaacuterraga C (2002) Departamento de Fiacutesica Recuperado el 12 de 03 de 2018 de Universidad
de Sonora httpclustersfisicausonmx
Llorens E amp Pentildea M (2002) Recuperado el 04 de 2018 de Departament dArquitectura de
Computadors httppersonalsacupceduenricPFCBeowulfbeowulfhtml
Meneacutendez-Barzanallana R (07 de 08 de 17) Universidad de Murcia Recuperado el 11 de 2018
de Informaacutetica Aplicada a las Ciencias Sociales
httpswwwumesdocenciabarzanaIACCSSCriptografiahtml
Merkle R amp Damgaringrd I (sf) Numerenturorg Recuperado el 06 de 2019 de Para computar -
numerenturorg httpnumerenturorgfuncion-merkle-damgard
Microsoft Inc (02 de 05 de 2019) wwwmicrosoftcom Obtenido de Password must meet
complexity requirements httpsdocsmicrosoftcomes-eswindowssecuritythreat-
protectionsecurity-policy-settingspassword-must-meet-complexity-requirements
99
Mifsud E (26 de 03 de 2012) Introduccioacuten a la seguridad informaacutetica Recuperado el 07 de 05
de 2018 de Ministerio de educacioacuten cultura y deportes Gobierno de Espantildea
httprecursosticeducacionesobservatoriowebessoftwaresoftware-general1040-
introduccion-a-la-seguridad-informaticashowall=1
Murugesan S (01 de 02 de 2008) Researchgate doi101109MITP200810
Nahar K amp Abu Abbas O (01 de 2010) Researchgate Recuperado el 07 de 2019 de
Researchgate
httpswwwresearchgatenetpublication315492522_Hybrid_Cipher_System
Nievas F Pino O amp Arroyo R (sf) Los clusters como Plataforma de Procesamiento Paralelo
Recuperado el 25 de 04 de 2018 de
httpusuarioslycoseslacaraocultadescargasClusters_definitivo pdf
Pawar S (2016) A computer science portal for geeks Recuperado el 10 de 2018 de
Geeksforgeeks httpswwwgeeksforgeeksorgrc5-encryption-algorithm
Peleus (2019) NETSEC Recuperado el 08 de 2019 de httpsnetsecwsp=314
Peacuterez Tavera I (2014) Obtenido de Universidad Autonoma del Estado de Hidalgo
httpswwwuaehedumxscigeboletinprepa4n2e4html
Peacuterez M (2001) Recuperado el 15 de 04 de 2018 de
httpwwwdragonesorgBibliotecaArticulosArquitecturaParalela2pdf
Petitet A Whaley R C Dongarra J amp Cleary A (2008) HPL - A Portable Implementation of
the High-Performance Linpack Benchmark for Distributed-Memory Computers
Recuperado el 07 de 2019 de httpwwwnetliborgbenchmarkhpl
Picolet J (2017) Hash Crack Password Cracking Manual (Vol 2) Createspace Independent
Pub
100
Preukschat A (23 de 02 de 2015) Oro y Finanzas Recuperado el 07 de 2019 de
httpswwworoyfinanzascom201502que-es-colision-criptografia-bitcoin
Robbins D (2008) OpenMosix Recuperado el 22 de 04 de 2018 de the openMosix Project
httpopenmosixsourceforgenetintroduction_to_openmosixhtml
Rocha Quezada J d Botello Rionda S Vargas Feacutelix J M amp Munguiacutea Torres I A (Sep-Dic
de 2011) Disentildeo e implementacioacuten de un cluacutester de coacutemputo de alto rendimiento Acta
Universitaria 21(3) 24-33 Recuperado el 1 de 12 de 2018
Rocksclusters (01 de 01 de 2010) httpwwwrocksclustersorg Recuperado el 01 de 06 de 2018
de httpwwwrocksclustersorg httpwwwrocksclustersorg
Sanjoy K (01 de 01 de 2015) DZone Recuperado el 15 de 06 de 2019 de DZone
httpsdzonecomarticlessecurity-algorithms-des-algorithm
Security Degree Hub (01 de 2017) Security Degree Hub Recuperado el 13 de 02 de 2019 de
Security Degree Hub httpswwwsecuritydegreehubcomwhat-is-cryptanalysis
Simmons G (01 de 01 de 2019) Encyclopedia Britannica Recuperado el 08 de 2019 de
Encyclopedia Britannica httpswwwbritannicacomtopicRSA-encryption
statista (09 de 2017) Statista Obtenido de Statista Co httpsesstatistacom
Turner D (2004) Recuperado el 12 de 02 de 2018 de Ames Lab
httpwwwsclameslabgovProjectsparrallel_computingpara_intohtml
United States Government Department of Defense (1983) Trusted Computer System Evaluation
Criteria Rainbow Series
Universidad Internacional de Valencia (09 de Septiembre de 2016) Nuestros
expertosTecnologiacutea Recuperado el 27 de Abril de 2018 de Universidad Internacional de
Valencia httpswwwuniversidadviuesla-seguridad-informatica-puede-ayudarme
101
Wallen J (19 de 01 de 2019) Lifewire Recuperado el 13 de 06 de 2019 de Lifewire
httpswwwlifewirecomgnome-3-desktop-4175640
Yang H (01 de 02 de 2019) Herong Yang Recuperado el 15 de 06 de 2019 de Cryptography
Tutorials httpwwwherongyangcomCryptographyDSA-Introduction-What-Is-DSA-
Digital-Signature-Algorithmhtml
102
Anexo 1
Programa en Lenguaje C para la obtencioacuten de nuacutemeros primos utilizando libreriacuteas mpi
include ltcstdlibgt
include ltiostreamgt
include ltiomanipgt
include ltcmathgt
include ltctimegt
include mpih
using namespace std
int main ( int argc char argv[] )
int prime_number ( int n int id int p )
void timestamp ( )
int main ( int argc char argv[] )
int i
int id
int master = 0
int n
int n_factor
int n_hi
int n_lo
int p
int primes
int primes_part
double wtime
n_lo = 1
n_hi = 10000000
n_factor = 2
MPIInit ( argc argv )
p = MPICOMM_WORLDGet_size ( )
id = MPICOMM_WORLDGet_rank ( )
if ( id == master )
cout ltlt n
cout ltlt Cuenta primosn
cout ltlt C++MPI versionn
cout ltlt n
cout ltlt Programa para contar cantidad de primos para un N dadon
cout ltlt Corriendo en ltlt p ltlt procesosn
cout ltlt n
103
cout ltlt N S Tiempon
cout ltlt n
n = n_lo
while ( n lt= n_hi )
if ( id == master )
wtime = MPIWtime ( )
MPICOMM_WORLDBcast ( ampn 1 MPIINT master )
primes_part = prime_number ( n id p )
MPICOMM_WORLDReduce ( ampprimes_part ampprimes 1 MPIINT
MPISUM
master )
if ( id == master )
wtime = MPIWtime ( ) - wtime
cout ltlt ltlt setw(8) ltlt n
ltlt ltlt setw(8) ltlt primes
ltlt ltlt setw(14) ltlt wtime ltlt n
n = n n_factor
MPIFinalize ( )
if ( id == master )
cout ltlt n
cout ltlt PRIME_MPI - Procesos maestron
cout ltlt Finalizacion del calculo normaln
return 0
int prime_number ( int n int id int p )
int i
int j
int prime
int total
104
total = 0
for ( i = 2 + id i lt= n i = i + p )
prime = 1
for ( j = 2 j lt i j++ )
if ( ( i j ) == 0 )
prime = 0
break
total = total + prime
return total
void timestamp ( )
define TIME_SIZE 40
static char time_buffer[TIME_SIZE]
const struct tm tm
size_t len
time_t now
now = time ( NULL )
tm = localtime ( ampnow )
len = strftime ( time_buffer TIME_SIZE d B Y IMS p tm )
cout ltlt time_buffer ltlt n
return
undef TIME_SIZE
v
Resumen
El presente trabajo inicia con una breve introduccioacuten sobre la importancia que tiene la
seguridad en cualquier aspecto de la vida y sobre todo en el aacuterea laboral especiacuteficamente en el
aacuterea informaacutetica Posteriormente resalta coacutemo la criptografiacutea ha estado presente en momentos
importantes de la vida del ser humano sobre todo dentro del aacutembito militar en la cual ha sido
fundamental para permitir comunicaciones seguras Actualmente la criptografiacutea estaacute dentro de
nuestro diario vivir cuando realizamos transacciones en internet de manera segura Como parte de
la investigacioacuten en este trabajo se describen los tipos de criptografiacutea y criptoanaacutelisis tambieacuten se
analizan los niveles de seguridad de sistemas operativos asiacute como los meacutetodos de agrupamiento
de computadoras para implementar con la ayuda de esta herramienta de una manera maacutes raacutepida
criptoanaacutelisis a un sistema operativo con un nivel de seguridad C1
Palabras clave cluacutester seguridad criptoanaacutelisis
vi
Abstract
This work begins with a review of the importance of security in any aspect of life and
especially in the workplace specifically in the computer area Later this work speaks briefly about
how cryptography has been present at important moments in the life of the human being especially
in the military field in which it has been fundamental to allow secure communications Currently
cryptography is inside our daily life when we conduct transactions on the internet in a secure
manner As part of the research in this work the types of cryptography and cryptanalysis are
described as well as the security levels of operating systems and above all the main methods of
computers clustering to implement a system with a faster method of cryptanalysis in an operative
system with a security level C1
Keywords cluster security cryptanalysis
vii
Iacutendice de Contenido
Descargo de Responsabilidad Institucional ii
Dedicatoria iii
Agradecimientos iv
Resumen v
Abstract vi
Iacutendice de Contenido vii
Iacutendice de Figuras x
Iacutendice de Tablas xi
Capiacutetulo 1 Introduccioacuten 1 11 Antecedentes del problema 1
12 Planteamiento del Problema 4
13 Objetivos 6
131 Objetivo General 6
132 Objetivos Especiacuteficos 6
14 Justificacioacuten 7
15 Hipoacutetesis 7
16 Alcances y Limitaciones 8
17 Impacto Social Tecnoloacutegico Econoacutemico y Ambiental 8
171 Impacto social 8
172 Impacto ambiental 9
173 Impacto econoacutemico 10
18 Metodologiacutea a Utilizar 10
181 Anaacutelisis 10
182 Disentildeo 10
1821 Economiacutea 10
1822 Instalaciones 10
1823 Escalabilidad 11
1824 Red 11
1825 Software 11
1826 Almacenamiento 12
183 Implementacioacuten 12
1831 Software 12
1832 Hardware 13
1833 Recursos totales del cluacutester 13
19 Aseguramiento Teacutecnico ndash Material 13
191 Hardware 14
viii
1911 Equipo de coacutemputo 14
Capiacutetulo 2 Estado del Arte 16
Marco Teoacuterico 27 21 Seguridad de la Informacioacuten 27
211 Objetivo de la seguridad de la informacioacuten 27
212 Principios de la seguridad informaacutetica 28
213 Caracteriacutesticas de seguridad informaacutetica 28
214 Formas de Autenticacioacuten 29
215 Ciber-seguridad 29
22 Criptografiacutea 30
221 Tipos de Criptografiacuteas 30
2211 Tablas Hash 30
2212 Tipos de algoritmos Hash 31
22121 SHA - 1 (Secure Hash Algorithm) 31
22122 MD5 (Message Digest Algorithm) 31
22123 RIPEMD ndash 160 32
22124 Funcioacuten Merkle-Damgaringrd 32
2213 Cifrado simeacutetrico 32
22131 RC5 (Cifrado de Rivest) 33
22132 IDEA (International Data Encryption Algorithm) 33
22133 DES (Data Encryption Standard) 34
2214 Cifrado asimeacutetrico 35
22141 DSA (Digital Signature Algorithm - Algoritmo de Firma digital) 36
22142 RSA 37
2215 Cifrado hiacutebrido 38
23 Criptoanaacutelisis 38
24 Niveles de seguridad 39
241 Nivel D1 40
242 Nivel C1 40
243 Nivel C2 41
244 Nivel B1 42
245 Nivel B2 43
246 Nivel B3 44
247 Nivel A1 45
25 Sistemas Operativos 46
251 Windows 47
252 Registro de Windows 48
253 Administrador de cuentas de seguridad 49
2531 Identificador de Seguridad (SID Security Identifier) 50
254 Autenticacioacuten NTML 51
26 LINUX (ROCKS) 52
261 Escritorio 53
262 Paquete de Oficina 53
263 Organizador de archivos 54
27 Agrupamiento (Cluacutester) de Computadoras 55
271 Beowulf 56
ix
272 Mosix 56
273 OpenMosix 57
Capiacutetulo 3 Implementacioacuten de Cluacutester 59 31 Requisitos previos 59
311 Conexioacuten de los equipos y acceso a la red 59
312 Configuracioacuten de la BIOS 60
3121 ATAIDE Mode 60
3122 PXE 62
32 Instalacioacuten de Sistema Operativo Rocks 63
321 Configuracioacuten del teclado 70
33 Instalacioacuten de los nodos 70
331 Administracioacuten de nodos 72
332 Creacioacuten de cuentas de usuario 73
333 Configuracioacuten del directorio compartido 73
34 Operaciones baacutesicas de Rocks 74
Capiacutetulo 4 Metodologiacutea y Resultados 77 41 Obtener Archivo hash 77
42 Dar Formato al Hash 80
43 Evaluar la fuerza del Hash 80
44 Calcular la capacidad del equipo 82
45 Establecer Estrategia 87
451 Fuerza Bruta 87
4511 Cantidad de combinaciones posibles 88
452 Diccionario 90
453 Analizar los resultados 91
454 Personalizar ataques 91
Conclusioacuten 92
Trabajo Futuro 94 Propuesta de Trabajo a Futuro 94
Bibliografiacutea 96
Anexo 1 102
x
Iacutendice de Figuras
Figura 31 Esquema tiacutepico de configuracioacuten de un cluacutester xi
Figura 32 Imagen del Bios del equipo en la opcioacuten ldquodrive configurationrdquo 61
Figura 33 Bios ATAIDE Legacy Mode 61
Figura 34 Bios Boot PXE 62
Figura 35 Bios Boot device prioriry 63
Figura 36 Pantalla de Inicio de instalacioacuten de Rocks 64
Figura 37 Pantalla de seleccioacuten de Rolls 65
Figura 38 Listado de opciones de rolls para instalar 65
Figura 39 Informacioacuten baacutesica del cluacutester a instalar 66
Figura 310 Configuracioacuten Ethernet de la red privada 67
Figura 311 Configuracioacuten Ethernet de la red puacuteblica 67
Figura 312 Configuracioacuten de DNS y Gateway 68
Figura 313 Ingresar contrasentildea de usuario root 68
Figura 314 Configuracioacuten horaria 69
Figura 315 Particiones del disco duro 69
Figura 316 Pantalla para ingresar nodos 71
Figura 317 Indicador de insercioacuten de nuevos nodos 71
Figura 318 Comando qstat ndashf 74
Figura 319 Enviacuteo de trabajos por medio del comando qsub 75
Figura 320 Estado de los trabajos pendientes mostrados por qstat ndashf 75
Figura 321 Visualizacioacuten de la distribucioacuten de cargas en el cluacutester usando la herramienta
Ganglia 76
Figura 41 Arranque con LiveUSB KaliLinux 79
Figura 42 Resultado de la ejecucioacuten de la herramienta samdump2 80
Figura 43 Sistema de Ecuaciones tipo 119860119909 = 119887 Fuente Propia 84 Figura 44 Distribucioacuten de cargas del cluacutester 86
Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester 89
xi
Iacutendice de Tablas
Tabla 11 Costo del Proyecto 15
Tabla 41 Rendimiento de HP cluacutester (Fuente Elaboracioacuten propia) 86
Tabla 42 Resultados de criptoanaacutelisis de archivo SAM (Fuente Elaboracioacuten propia) 89
Tabla 43 Resultados de ejecucioacuten de programa en C para la obtencioacuten de nuacutemeros primos
(Fuente Elaboracioacuten propia) 90
1
Capiacutetulo 1 Introduccioacuten
11 Antecedentes del problema
Sin lugar a duda una de las herramientas maacutes importantes producida en el siglo XX ha sido
la computadora la cual ha provocado cambios vertiginosos en la sociedad y en el progreso de la
misma En la actualidad el entorno estaacute praacutecticamente controlado por las nuevas tecnologiacuteas que
a medida que transcurre el tiempo avanzan sin liacutemites y en ocasiones son utilizadas
incorrectamente provocando dantildeos de grandes dimensiones
Los trascendentales cambios operados en el mundo moderno caracterizados por su
constante desarrollo la acelerada globalizacioacuten de la economiacutea la acentuada dependencia a
almacenar grandes voluacutemenes de informacioacuten y los sistemas que la proveen aunado a grandes
inversiones de las empresas en conocimiento actual y futuro en sistemas de informacioacuten ademaacutes
del potencial que poseen las tecnologiacuteas para cambiar draacutesticamente las organizaciones y las
praacutecticas de negocio asiacute como crear nuevas oportunidades disentildear nuevas estructuras tecnoloacutegicas
basadas en informacioacuten la convierte en un activo codiciable Tales avances hacen permanente el
riesgo en las tecnologiacuteas y nos llevan a pensar en la problemaacutetica sobre la seguridad informaacutetica
La proteccioacuten de datos documentos y control de acceso a la informacioacuten es un tema que
cada diacutea toma maacutes fuerza en las grandes compantildeiacuteas debido a las diferentes praacutecticas de
especialistas tecnoloacutegicos como los son los hackers y crackers que roban informacioacuten vital para
posteriormente sacar provecho de ella
2
ldquoDesde la aparicioacuten de los grandes sistemas aislados hasta nuestros diacuteas en los que el
trabajo en red es lo habitual los problemas derivados de la seguridad de la informacioacuten han ido
tambieacuten cambiando evolucionando pero estaacuten ahiacute y las soluciones han tenido que ir adaptaacutendose
a los nuevos requerimientos teacutecnicos Aumenta la sofisticacioacuten en el ataque y ello aumenta la
complejidad de la solucioacuten pero la esencia es la mismardquo (Mifsud 2012)
Dentro del mundo actual la informacioacuten es denominada un activo importante de una
institucioacuten la cual debe ser protegida para evitar su peacuterdida modificacioacuten o el uso inadecuado de
su contenido
El extraviacuteo o el mal uso de informacioacuten que para alguien es confidencial genera dantildeos y
repercusiones directas relacionadas a la integridad disponibilidad y confidencialidad de los
archivos y a su vez a los duentildeos de dicha informacioacuten
ldquoLa seguridad informaacutetica se distingue por tener dos propoacutesitos de seguridad la Seguridad
de la Informacioacuten y la Proteccioacuten de Datos estos se diferencian debido a que los datos son valores
numeacutericos que soportan la informacioacuten mientras que la informacioacuten es aquello que tiene un
significado para nosotrosrdquo (Gonzaacutelez Agudelo 2014)
La seguridad informaacutetica consiste en asegurar que los recursos del sistema de informacioacuten
(material informaacutetico o programas) de una organizacioacuten sean utilizados de la manera que se decidioacute
3
inicialmente y que el acceso a la informacioacuten alliacute contenida asiacute como su modificacioacuten soacutelo sea
posible a las personas que se encuentren acreditadas y dentro de los liacutemites de su autorizacioacuten
Actualmente hay mucha informacioacuten circulando en internet por ejemplo correos
electroacutenicos publicaciones en Twitter Facebook videos fotos comercio electroacutenico secretos de
estado militares o industriales Lamentablemente dicha red es puacuteblica e insegura dentro de la cual
existen usuarios bien intencionados y muchos mal intencionados Diariamente encontramos
noticias de sitios con intrusiones mal intencionadas (hackeados) clonacioacuten de tarjeta de creacutedito o
imaacutegenes adulteradas Todo lo anterior motiva la necesidad de proteger la informacioacuten a traveacutes de
mecanismos que impidan a los usuarios no autorizados acceder a dicha informacioacuten
4
12 Planteamiento del Problema
Los sistemas de informacioacuten actuales estaacuten relacionados completamente con la exposicioacuten
de su informacioacuten a entidades externas que son ajenas a la organizacioacuten o delegacioacuten a la que
pertenecen
Cuando no se conoce el alcance que tienen los sistemas informaacuteticos ni lo vulnerables que
pueden ser si son expuestos a Internet por los mismos empleados de la organizacioacuten puede darse
ldquofugardquo de informacioacuten hacia el exterior esto los hace vulnerables a eventos y amenazas que
conllevan a riesgos que pueden provocar peacuterdidas tangibles e intangibles las cuales se traducen
en peacuterdidas que en muchos de los casos por decir lo menos seraacuten monetarias
El portal espantildeol de estadiacutesticas statista muestra la cuota de mercado de los principales
sistemas operativos a nivel mundial a fecha de febrero de 2017 seguacuten el nuacutemero de instalaciones
(statista 2017) Windows 10 fue el segundo sistema operativo maacutes instalado con una cuota de
mercado de 253 Esto significa que alrededor de una de cada cuatro computadoras estaacute
gobernado por este sistema operativo Por su parte en el caso de Windows 7 el porcentaje se situacutea
por encima del 45 a pesar de que ya no se vende ninguacuten PC con este sistema operativo Hablando
de manera conjunta los sistemas operativos Windows cuentan con una cuota del mercado global
de 8857
La empresa de seguridad informaacutetica Britaacutenica Avecto informoacute en su Microsoft
Vulnerabilities Report 2017 (Avecto 2017) (reporte 2017 de vulnerabilidades de Windows) un
aumento de vulnerabilidades publicadas del 111 en los uacuteltimos 5 antildeos de las cuales 235 criacuteticas
5
fueron mitigadas removiendo permisos de administrador asiacute como otras muy importantes
enfocadas al Administrador de Cuentas de Seguridad (SAM Security Account Manager por sus
siglas en ingleacutes) la cual es una base de datos almacenada como un archivo del registro en Windows
y que almacena las contrasentildeas de los usuarios en un formato hash (Algoritmos que crean a partir
de una entrada una salida alfanumeacuterica de longitud fija)
6
13 Objetivos
131 Objetivo General A traveacutes de la implementacioacuten de un procedimiento de fuerza
bruta utilizando para ello un cluacutester de alto rendimiento asiacute como software de uso libre lograr
capacidad de procesamiento capaz de vulnerar un sistema de autenticacioacuten nivel C1
132 Objetivos Especiacuteficos
Analizar los diferentes niveles de seguridad de sistemas operativos
Analizar diferentes meacutetodos de criptoanaacutelisis para vulnerar el Administrador de
cuentas de seguridad
Estudiar las teacutecnicas de agrupamiento de computadoras (clustering) para la
obtencioacuten de mayor poder de procesamiento
Implementar un cluacutester de alto rendimiento en el Laboratorio de la Maestriacutea en
Sistemas Computacionales del Instituto Tecnoloacutegico de Acapulco para ejecutar
operaciones de coacutemputo distribuido
7
14 Justificacioacuten
Antes la seguridad de la informacioacuten se realizaba a traveacutes de medios fiacutesicos por ejemplo
una caja fuerte en la cual las personas resguardaban objetos o informacioacuten valiosa para ellos Con
la introduccioacuten de las computadoras y el uso de internet los usuarios comienzan a almacenar
informacioacuten importante dentro de sus equipos por lo que se considera indispensable el uso de
herramientas que brinden proteccioacuten a la informacioacuten que se encuentra resguardada dentro de
eacutestas Los usuarios informaacuteticos suelen enviar informacioacuten por la red en las empresas al realizar
traacutemites o enviar informes a socios jefes entre otros
El resguardo de informacioacuten siempre ha sido importante para los seres humanos con la
diferencia que anteriormente no se contaba con los avances tecnoloacutegicos que tenemos actualmente
puesto que con la introduccioacuten de internet y el uso de dispositivos electroacutenicos se tiene mayor
riesgo de la informacioacuten que en ellos se maneja
La proteccioacuten del contenido de los datos es una necesidad urgente en casi todos los aacutembitos
de la sociedad incluyendo los servicios puacuteblicos y privados por lo que la tecnologiacutea de la
seguridad de los sistemas de cifrado se encuentra de frente a verdaderos retos
15 Hipoacutetesis
A traveacutes de un de fuerza bruta como teacutecnica de criptoanaacutelisis y con la ayuda de una mayor
capacidad de procesamiento mediante la implementacioacuten de agrupamiento de computadoras
(cluacutester) de alto rendimiento seraacute posible encontrar alguna vulnerabilidad dentro del sistema de
administracioacuten de cuentas de seguridad de Windows server 2012
8
16 Alcances y Limitaciones
Esta tesis se centraraacute en el sistema operativo Windows como objeto de estudio al cual se
le realizaraacute el criptoanaacutelisis
La tesis se enfocaraacute en el meacutetodo Beowulf para realizar el agrupamiento de computadoras
asiacute como la distribucioacuten de software libre del sistema operativo Linux Rocks
El nuacutemero de equipos disponibles para poder realizar el agrupamiento es de 17
computadoras hasta lograr el poder de coacutemputo de 800 Gflops
17 Impacto Social Tecnoloacutegico Econoacutemico y Ambiental
La sostenibilidad del presente proyecto seraacute abordada a partir de los siguientes aspectos
171 Impacto social A veces se puede pensar que un cluacutester de alto rendimiento pudiera
no tener alguacuten impacto directo en el medio social pero si nos enfocamos a un punto de vista en
donde gracias a la capacidad de procesamiento de estas maacutequinas han sido parte fundamental en
el desarrollo de proyectos que inciden de manera directa en beneficio de la sociedad en la que
vivimos como lo es la medicina la fiacutesica quiacutemica
Este proyecto busca beneficiar a nuestra sociedad proveyendo su capacidad de
procesamiento en la buacutesqueda de alguna vulnerabilidad en el sistema operativo maacutes utilizado hoy
en diacutea como lo es Windows ademaacutes de que estaraacute disponible para la comunidad cientiacutefica y
9
estudiantil del Instituto Tecnoloacutegico de Acapulco para optimizar tiempo de caacutelculo en futuras
investigaciones
172 Impacto ambiental Green IT tambieacuten conocido como Green Computing o
traducido al espantildeol como Tecnologiacuteas Informaacuteticas Verdes es definido como el estudio y la
praacutectica de disentildear desarrollar usar y disponer de computadoras servidores y diferentes
perifeacutericos tales como monitores impresoras dispositivos de almacenamiento de redes y
comunicaciones eficientemente y efectivamente con un impacto miacutenimo o nulo en el medio
ambiente (Murugesan 2008)
Bajo la premisa anterior este proyecto hace uso de los equipos con los que cuenta
actualmente el laboratorio de la Maestriacutea en Sistemas Computacionales lo cual evitaraacute la
adquisicioacuten de equipo nuevo y por consecuencia desechar el equipo existente evitando desperdicio
electroacutenico Dicho equipo cuenta con un procesador Intel I3 de 4ta generacioacuten lo cual seguacuten el
portal electroacutenico Europa press
ldquoEsta nueva generacioacuten supone el mayor salto en cuanto ahorro energeacutetico de la historia
de Intel asiacute como una mejora en los graacuteficos y nuevas experiencias de usuariordquo (europa press
2013)
Teniendo como base estos dos puntos importantes como lo son la reutilizacioacuten de equipo
y utilizando procesadores de bajo consumo energeacutetico es como este proyecto busca contribuir de
manera positiva con el medio ambiente
10
173 Impacto econoacutemico Actualmente existe una gran necesidad de procesar grandes
cantidades de datos lo cual hace imprescindible disponer de maacutequinas con estas caracteriacutesticas sin
embargo su alta complejidad aunado al gran costo hace que en instituciones de caraacutecter puacuteblico
sea muy complicado conseguir recurso para este fin Sin embargo un cluacutester de alto rendimiento
reutilizaraacute equipo propio evitando asiacute gastos por concepto de adquisicioacuten de equipo siendo de
esta manera viable para instituciones de caraacutecter puacuteblico
18 Metodologiacutea a Utilizar
181 Anaacutelisis Despueacutes de analizar las diferentes metodologiacuteas de clustering se optoacute por
desarrollar e implementar un cluacutester de alto rendimiento (HPC)
182 Disentildeo
1821 Economiacutea Debido a las caracteriacutesticas del equipo con el cual cuenta el Laboratorios
de la Maestriacutea en Sistemas Computacionales los componentes utilizados para este proyecto son
considerados de uso comuacuten y de bajo costo lo cual los hace faacutecilmente reemplazables en caso de
fallo a un costo accesible El equipo es de la marca Acer Aspire modelos AXC-605-M021 lo cual
nos hace tener ventaja y respaldo del fabricante con respecto a hardware geneacuterico
1822 Instalaciones Un cluacutester requiere de un ambiente controlado Esto es una
habitacioacuten especial con sistema de enfriamiento capacidad suficiente de carga eleacutectrica control
de humedad y un ambiente libre de polvo Ademaacutes se deben considerar el peso del equipo sobre
el piso (ya sea falso o piso normal) Se recomienda colocarlo en los soacutetanos o en la plata baja de
edificios (Rocha Quezada Botello Rionda Vargas Feacutelix amp Munguiacutea Torres 2011)
11
En el laboratorio de la Maestriacutea en Sistemas Computacionales se cuenta con espacio que
reuniacutea la mayoriacutea de las caracteriacutesticas requeridas para este proyecto
1823 Escalabilidad Un cluacutester debe ser faacutecilmente escalable y a su vez confiable Por
tal motivo se ha utilizado equipo de marca lo cual nos proporciona maacutes de confiabilidad en su
desempentildeo y a su vez facilidad de aumentar el nuacutemero de equipos si en un futuro fuese necesario
agrandar este proyecto Se armoacute un cluacutester de cinco computadoras con procesadores Intel Core I3
de 64 bits en cada nodo La memoria incluida y perifeacutericos son faacuteciles de adquirir en el mercado
1824 Red En la parte de redes se utilizoacute un switch fast Ethernet con una velocidad de 1
Gbps el cual tiene tazas de transferencia raacutepida y el costo es notablemente maacutes econoacutemico que
uno de fibra oacuteptica
El cableado seleccionado fue el estaacutendar UTP de cobre con la norma Gigabit Ethernet de
IEEE 8023ab con la categoriacutea de cableado 6e que soporta tazas de transferencia de datos de
1000Base T (1 Gbps)
1825 Software
ldquoEl sistema operativo debe constar con servicios dedicados para compartir y respaldar
archivos asiacute como capacidad de acceder a los datos de trabajo raacutepidamente El sistema operativo
debe tambieacuten proveer servicios de monitoreo y reporte de fallas en el sistemardquo (Rocha Quezada
Botello Rionda Vargas Feacutelix amp Munguiacutea Torres 2011)
12
Existe una gran variedad de software para instalar cluacutester de alto rendimiento sin embargo
como se ha comentado con anterioridad el costo de adquisicioacuten debe ser accesible por tal motivo
se optoacute por una distribucioacuten con licencia GNU de Linux Rocks Cluster la cual es una distribucioacuten
sencilla de instalar y configurar en comparacioacuten con otras distribuciones analizadas dicha
distribucioacuten estaacute basada en CentOS que a su vez estaacute basada en la conocida distribucioacuten de Linux
Red Hat
1826 Almacenamiento Para este proyecto no se requeriraacute un gran espacio de
almacenamiento por tal motivo los equipos utilizados tanto maestro como esclavos mantuvieron
sus unidades de disco originales las cuales son de 1 TB de almacenamiento
183 Implementacioacuten La implementacioacuten del cluacutester de alto rendimiento fue realizada
dentro de las instalaciones del Laboratorio de la Maestriacutea en Sistemas Computacionales del
Instituto Tecnoloacutegico de Acapulco construido inicialmente para este proyecto de criptoanaacutelisis lo
cual requeriraacute suficiente capacidad de procesamiento para poder implementar ataques de fuerza
bruta a sistemas operativos Las caracteriacutesticas del cluacutester construido son
1831 Software El software instalado en cada uno de los nodos es el siguiente
bull Sistema operativo Rocks Cluacutester Linux 74 (64 bits)
bull Libreriacutea de manejo de mensajes Open-MPI 153
bull Software de monitoreo Ganglia
13
1832 Hardware El cluacutester estaacute compuesto de 17 equipos con las siguientes
caracteriacutesticas
bull Nodo Maestro y 16 Nodos Esclavos
- Procesador Intel Core I3 4150 (4 nuacutecleos) Memoria 6 GB Disco Duro SATA 1 TB
tarjeta de Red Gigabit Ethernet
El hardware adicional es el siguiente
bull Interconexioacuten de Red
bull Switch Cisco 26 puertos 1Gbps modelo SG200 Red interna
1833 Recursos totales del cluacutester
bull Nuacutecleos de unidades de procesamiento (cores) 68
bull Capacidad en memoria 92 GB
bull Capacidad en disco 17 TB
19 Aseguramiento Teacutecnico ndash Material
A continuacioacuten se muestra el desglose del equipo utilizado para la elaboracioacuten de un
cluacutester de alto rendimiento estos componentes consisten en Hardware y Software especializado
asiacute como los costos de produccioacuten y personal involucrados en la metodologiacutea y elaboracioacuten del
proyecto
Costos de Hardware
Costos de Software
14
191 Hardware En este punto se refleja el costo de los dispositivos y herramientas a nivel
fiacutesico las cuales sirvieron para la implementacioacuten del proyecto cluacutester de alto rendimiento Cabe
resaltar que el equipo utilizado forma parte del inventario actual del Laboratorio motivo por el
cual su utilizacioacuten no causoacute erogacioacuten alguna sin embargo la investigacioacuten de costos se realizoacute
con la finalidad que el lector pueda establecer comparativas y buscar alternativas en caso de ajuste
de presupuesto
1911 Equipo de coacutemputo El equipo de coacutemputo utilizado consta de diecisiete
computadoras las cuales serviraacuten una para Nodo Maestro y las dieciseacuteis restantes como Nodos
Esclavos
La descripcioacuten de estos equipos se muestra en la tabla a continuacioacuten mostrando los costos
de todos los equipos utilizados dentro del proyecto
15
Tabla 11 Costo del Proyecto
Modelo
Cantidad
Caracteriacutesticas
Costos
PC - Acer AXC-
605
17
Procesador Intel Core i3
Pantalla 156rdquo
Disco duro 1TB HDD
RAM 6GB
Salida HDMI
Tarjeta de graacuteficos INTEGRADA
Lector de CD
Los costos en el mercado de una PC de
escritorio con estas caracteriacutesticas tiene un
valor aproximado de $600000 pesos
(Moneda nacional Mexicana)
Switch Cisco
Gigabit Ethernet
1
Modelo SG200 de 26 puertos
Costo en el mercado alrededor de
$2000000 pesos MN
Total
12200000 pesos MN
16
Capiacutetulo 2 Estado del Arte
Tiacutetulo del Trabajo Introduccioacuten a la Criptografiacutea
Autor Gibraacuten Granados Paredes
Fecha Julio 2010
Lugar Ciudad de Meacutexico
Publicado en Coordinacioacuten de Publicaciones Digitales DGSCA-UNAM
httpwwwrevistaunammxvol7num7art55int55htm
Siacutentesis Cuando se desea tener seguridad hablando en aacutembitos informaacuteticos la
criptografiacutea es una herramienta muy uacutetil el autor lo entiende tambieacuten como un medio para
garantizar las propiedades de confidencialidad integridad y disponibilidad de los recursos de un
sistema
Con la criptografiacutea se puede garantizar las propiedades de integridad y confidencialidad
pero hay que saber coacutemo utilizarla para ello es importante tener claros los conceptos baacutesicos que
estaacuten detraacutes de los sistemas criptograacuteficos modernos Estos conceptos van desde entender queacute es
la criptografiacutea coacutemo estaacute clasificada entender el funcionamiento baacutesico de algunos sistemas de
cifrado y conocer coacutemo se forman los documentos digitales como firmas y sobres digitales
Resultados El autor realiza un viaje por un gran nuacutemero de conceptos utilizados en
criptografiacutea el inicio y la clasificacioacuten de la misma asiacute como la criptografiacutea claacutesica y moderna y
analiza de manera breve algunos meacutetodos de cifrado maacutes comunes
17
Tiacutetulo del Trabajo Criptoanaacutelisis sobre meacutetodos claacutesicos de cifrado
Autores Sebastiaacuten Goacutemez Juan David Arias Diego Agudelo
Fecha 2 de mayo 2013
Lugar Ciudad de Meacutexico
Publicado en Scientia et Technica Antildeo XVII No 50 abril de 2012
Siacutentesis Los algoritmos criptograacuteficos utilizados desde la antigua Roma hasta nuestros
diacuteas son meacutetodos que convierten un mensaje de texto plano a cifrado al proceso inverso se le
conoce como descifrar Este artiacuteculo realiza un estudio de algunas teacutecnicas de encriptacioacuten claacutesicas
del siglo pasado como lo son el cifrado de Cesar y el cifrado de Vigeneacutere asiacute como muestra
teacutecnicas baacutesicas y modernas de criptoanaacutelisis basadas en la teoriacutea de la informacioacuten y estadiacutestica
como lo son la entropiacutea y el ataque de maacutexima correlacioacuten Las teacutecnicas de criptoanaacutelisis descritas
anteriormente pueden ser usadas en otros meacutetodos de cifrado siempre y cuando esteacuten presentes las
mismas debilidades
Resultados Los autores implementaron en lenguajes de programacioacuten Python un
algoritmo para el caacutelculo de entropiacutea para diferentes longitudes de clave Para la implementacioacuten
de los algoritmos de cifrado y descifrado de Vigeneacutere y de maacutexima correlacioacuten utilizaron lenguaje
de programacioacuten C++ Se probaron los meacutetodos anteriormente descritos sobre textos planos de
diferentes longitudes logrando un resultado de 9385 de efectividad en promedio
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de dos de los
algoritmos de encriptacioacuten maacutes antiguos y baacutesicos pero sobre todo que conociendo los meacutetodos
de criptoanaacutelisis me permitiraacuten analizar debilidades y fortalezas de algoritmos
18
Tiacutetulo del Trabajo ULTRACOM Computacioacuten de Alto Rendimiento para Criptoanaacutelisis
Autor Antonio Castro Lechtaler Alejandro Repetto Martiacuten Bianchi Marcelo Cipriano
Alejandro Arroyo Arzubi Ceacutesar Cicerchia Eduardo Malvacio
Fecha octubre 2014
Lugar Buenos Aires Argentina
Publicado en XX Congreso Argentino de Ciencias de la Computacioacuten (Buenos Aires
2014)
Siacutentesis La generacioacuten de nuacutemeros primos fundamentales para la produccioacuten de claves
el anaacutelisis de secuencias pseudo-aleatorias los procesos de verificacioacuten y validacioacuten de algoritmos
de seguridad en un sentido geneacuterico requieren enormes cantidades de procesamiento Los
procesos relacionados con la matemaacutetica criptograacutefica se caracterizan por la alta necesidad de
coacutemputo El objetivo de ULTRACOM es desarrollar una computacioacuten distribuida multipropoacutesito
que permita como primera aplicacioacuten real el anaacutelisis la validacioacuten y la ejecucioacuten de pruebas de
estreacutes sobre sistemas criptograacuteficos El presente trabajo de investigacioacuten detalla el proceso de
desarrollo de ULTRACOM y muestra un ejemplo de su implementacioacuten en una versioacuten Beta Para
ello toman como entrada dos versiones del algoritmo Trivium Utilizando la misma
infraestructura y sin desarrollo extra se prueban grandes voluacutemenes de claves y vectores de
inicializacioacuten de los algoritmos en busca de secuencias deacutebiles de menor longitud que la de la
buscada
Resultados El equipo implementoacute una versioacuten beta de la plataforma ULTRACOM
comprobando la factibilidad y viabilidad teacutecnica de la generalizacioacuten de la infraestructura de
computacioacuten distribuida en grilla (malla) BOINC Este avance permite extender los horizontes de
BOINC y habilita la posibilidad de obtener la capacidad de coacutemputo de alto rendimiento a bajo
19
costo Concluyeron que ULTRACOM es un proyecto viable escalable y de alto impacto para la
evaluacioacuten y validacioacuten de algoritmos criptograacuteficos
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento y la
implementacioacuten de una arquitectura de computacioacuten distribuida y una vez siendo factible su
desarrollo utilizar su poder de coacutemputo atacando a traveacutes de un algoritmo un sistema criptograacutefico
20
Tiacutetulo del Trabajo Criptografiacutea Cuaacutentica
Autor M Baig
Fecha 2010
Lugar Barcelona Espantildea
Siacutentesis En este artiacuteculo el autor realiza una breve introduccioacuten a la criptografiacutea claacutesica y
la relacioacuten que existe con la teoriacutea de la informacioacuten de Shannon la cual asegura que el cifrado
digital simeacutetrico es secreto y perfecto siempre y cuando se cumplan los tres requisitos
1 La llave ha de ser aleatoria
2 La llave debe usarse soacutelo una vez
3 La llave ha de ser tan larga como el mensaje y de un solo uso debe de estar en posesioacuten
tanto del emisor como del receptor
El punto 3 es el maacutes complicado de cumplir debido a la forma de compartir la llave entre
el emisor y receptor
Maacutes adelante en el artiacuteculo se hace un anaacutelisis sobre otra teacutecnica de criptografiacutea que es el
cifrado digital asimeacutetrico en la que se estudia coacutemo funcionan las llaves privadas y puacuteblicas asiacute
como el meacutetodo de criptograacutefico RSA
Resultados
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento maacutes profundo de
los meacutetodos de criptografiacutea simeacutetricos y asimeacutetricos especiacuteficamente el algoritmo asimeacutetrico
RSA
21
Tiacutetulo del Trabajo La Criptografiacutea Maderista en la Revolucioacuten Mexicana (1910-1911)
Criptoanaacutelisis de una carta cifrada por Gabriel Leyva Solano
Autor Roberto Narvaacuteez
Fecha 2011
Lugar Meacutexico DF
Siacutentesis Este trabajo aborda temas relacionados con las comunicaciones secretas del
movimiento revolucionario comandado por Francisco I Madero a partir de 1910 Se compone de
dos partes la primera es una breve resentildea criacutetica de ejemplos criptograacuteficos del maderismo que
fueron generados entre 1910 y 1911 la segunda describe paso a paso el criptoanaacutelisis que aplicoacute
el autor Roberto Narvaacuteez para desencriptar una carta parcialmente cifrada de Gabriel Leyva Solano
a Francisco I Madero
Resultados El propoacutesito general uacuteltimo es contribuir al conocimiento de la criptografiacutea
mexicana en el siglo XX En lo particular se trata de poner a disposicioacuten de los estudiosos el
contenido completo de la carta de Leyva Solano por primera vez despueacutes de 100 antildeos y al mismo
tiempo someter a la criacutetica teacutecnica e histoacuterica el procedimiento criptoanaliacutetico puesto en operacioacuten
para recuperar el texto plano
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de la teacutecnicas y
estudios realizados en nuestro paiacutes sobre formas y meacutetodos de encriptacioacuten durante la Revolucioacuten
Mexicana incluso mucho antes de la 2ordf Guerra mundial momento donde se registroacute un auge
importante dentro de la criptografiacutea moderna
22
Tiacutetulo de Tesis Anaacutelisis de la programacioacuten concurrente sobre la cpu y gpu en el
desarrollo de fractal build
Autor Joseacute Vicente Anilema Guadalupe
Fecha 2012
Lugar Riobamba Ecuador
Siacutentesis Este trabajo aborda temas relacionados con la geometriacutea euclidiana debido a que
el autor realiza una aplicacioacuten que crea paisajes fractales lo que significa crear un paisaje con una
misma figura geomeacutetrica Lo anterior se traduce en una necesidad de gran poder de coacutemputo para
realizar de una manera eficaz la tarea Dentro de la tesis el autor realiza diversos estudios
comparativos entre el procesamiento serializado realizado por una CPU (unidad central de
procesamiento) y procesamiento paralelizado realizado por una GPU (Unidad grafica de
procesamiento) a traveacutes de diversas herramientas para obtener el mejor aprovechamiento de los
recursos
Resultados El autor concluye que es necesario examinar los algoritmos a utilizar para que
estos puedan ser utilizados en coacutemputo paralelo Ademaacutes de que es necesario aprender ciertas
herramientas a utilizar para aprovechar al maacuteximo el coacutemputo distribuido y no desperdiciar el
poder de procesamiento muy superior que las GPUrsquos nos pueden brindar
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de la teacutecnicas y
estudios realizados para medir y comparar la velocidad de procesamiento de la unidad central de
procesamiento (CPU) y la unidad graacutefica de procesamiento (GPU) Asiacute como la medida en Flops
(Operaciones de punto flotante por segundo)
23
Tiacutetulo del Trabajo Arquitectura cluacutester de alto rendimiento utilizando herramientas de
software libre
Autores Leonardo Chiquiguanca Edyson Malla Freddy Ajila Rene Guamaacuten-Quincheacute
Fecha mayo 2015
Lugar Loja Ecuador
Siacutentesis Este trabajo aborda temas relacionados con la gran cantidad de datos que tienen
que procesar las universidades puacuteblicas dentro de sus investigaciones realizadas en diferentes aacutereas
como la ingenieriacutea medicina etc y la carencia de recursos econoacutemicos para obtener
supercomputadoras que procesen dicha informacioacuten Los autores proponen dentro de su
investigacioacuten la utilizacioacuten de equipo de coacutemputo existente dentro de su universidad y por medio
de software libre realizar agrupamiento de computadoras para poder lograr el procesamiento de
grandes voluacutemenes de datos de una manera accesible
Resultados Los autores concluyen que la mejor arquitectura para el agrupamiento
(cluacutester) de computadoras en ambientes universitarios es la arquitectura Beowulf debido a que la
implementaron en hardware convencional existente dentro de su campus universitario y que
ademaacutes usaron software libre mencionando que el poder de coacutemputo logrado fue muy cercano al
de una supercomputadora
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de las teacutecnicas
utilizadas en ambientes universitarios para la realizacioacuten de agrupamiento de computadoras y
sobre todo la optimizacioacuten de costos para realizar dicha tarea y tener como finalidad el lograr
mayor capacidad de procesamiento
24
Tiacutetulo de Tesis Desarrollo de un algoritmo de cifrado simeacutetrico de resumen
Autores Jonathan Dave Orjuela Navarrete
Antildeo 2008
Lugar Bogotaacute DC
Siacutentesis Esta tesis realiza un estudio de varios meacutetodos de criptografiacutea simeacutetrica para
posteriormente utilizando diferentes foacutermulas matemaacuteticas crear un algoritmo criptograacutefico
nuevo Dentro de la tesis utiliza dos meacutetodos para realizar pruebas a su algoritmo criptoanaacutelisis
diferencial y criptoanaacutelisis basado en fallos de hardware Dentro de los cuales hace un estudio
detallado de las teacutecnicas y herramientas de criptoanaacutelisis realizado a su algoritmo
Resultados El autor concluye de manera positiva con la realizacioacuten del algoritmo y de
manera satisfactoria con la realizacioacuten de criptoanaacutelisis a su algoritmo pudiendo demostrar la
fortaleza del algoritmo a traveacutes de ejemplo de cifrado con textos claro muy parecido y su
conversioacuten a cadenas completamente diferentes
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de criptoanaacutelisis diferencial y criptoanaacutelisis basado en fallos de hardware para la
evaluacioacuten de algoritmos de cifrado simeacutetrico de textos claros
25
Tiacutetulo del Trabajo Firt step in a Pc cluster development with openMosix
Autores Javier Bilbao Gorka Garate
Antildeo 2008
Lugar Bilbao Spain
Siacutentesis En este trabajo se afirma que es posible hacer maacutequinas de alta capacidad de
caacutelculo mediante la interconexioacuten de equipos con redes de alta velocidad A este tipo de sistemas
se les llama sistemas distribuidos y hoy en diacutea es la tecnologiacutea maacutes utilizada para resolver
problemas que requieren una gran capacidad de caacutelculo La agrupacioacuten de computadoras permite
que varias computadoras trabajen juntas para resolver los problemas de informaacutetica comuacuten Este
artiacuteculo centra su estudio en uno de los diferentes meacutetodos de agrupamiento de computadoras
openMosix El trabajo tambieacuten evaluacutea el cluacutester por dos casos de estudio donde se mejora el
tiempo de ejecucioacuten de los problemas resueltos
Resultados El autor del artiacuteculo concluye con la realizacioacuten satisfactoria de agrupamiento
de computadoras bajo el meacutetodo openMosix el cual uacutenicamente permite agrupamiento de la forma
SSI (Single System Image) que se refiere a que uacutenicamente se puede realizar el agrupamiento con
todos los nodos ejecutando un mismo sistema operativo
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de agrupamiento de computadoras openMosix ventajas desventajas y dificultades para
su implementacioacuten
26
Tiacutetulo del Trabajo Disentildeo e implementacioacuten de un cluacutester tipo Beowulf para el desarrollo
de coacutemputo cientiacutefico avanzado
Autores Edgar Rubeacuten Gonzaacutelez Ramiacuterez Abimael Rodriacuteguez Saacutenchez
Antildeo 2008
Lugar Instituto Politeacutecnico Nacional Meacutexico DF
Siacutentesis Este trabajo de tesis ha desarrollado e implementado una herramienta
computacional llamada Cluster Beowulf para mejorar la programacioacuten paralela Comenzando
con la memoria compartida y distribuida el autor implemento el agrupamiento tipo Beowulf
pensando en procesamiento paralelo la optimizacioacuten de las fuentes informaacuteticas El disentildeo se
construye mediante una distribucioacuten Linux Fedora Core 6 a 64 bits utilizando todas las ventajas
que ofrece el estaacutendar Gigabyt Ethernet La programacioacuten paralela fue desarrollada en lenguaje C
tanto para MPI como para OPENMP
Resultados El autor del artiacuteculo concluye que de acuerdo con los resultados el tiempo
de procesamiento se redujo con el uso muacuteltiples nuacutecleos mejoroacute hasta ocho veces gracias al
multihilo
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de agrupamiento de computadoras Beowulf y su implementacioacuten en sistemas operativos
de uso libre Linux distribucioacuten Fedora 6
27
Marco Teoacuterico
21 Seguridad de la Informacioacuten
La Seguridad de la Informacioacuten consiste y hace referencia a la proteccioacuten de cualquier
amenaza para salvaguardar los activos fijos y en especial toda informacioacuten de la cual estaacute basada
la continuidad de las operaciones de la empresa sean estas ocasionadas dentro o fuera de la misma
con esto se logra disminuir los dantildeos y perjuicios que estas amenazas causariacutean a la organizacioacuten
y a la vez aumentar las oportunidades de servicio hacia otras empresas
La Seguridad de la informacioacuten se consigue mediante la implementacioacuten de controles
efectivos que pueden ser normas manual de funciones buenas praacutecticas procedimientos
estructuras organizativas funciones de software y hardware planes de contingencia y herramientas
que se encargan de proteger la privacidad e integridad de la informacioacuten que se almacena en un
sistema informaacutetico Estos controles necesitan continuamente ser establecidos monitoreados
revisados y mejorados en donde sea necesario para asegurar que se cumplan los objetivos
especiacuteficos de seguridad en cada aacuterea de negocio de la organizacioacuten
La seguridad informaacutetica es en realidad una rama de la seguridad de la informacioacuten aunque
de forma praacutectica algunos autores suelen utilizar de manera indistinta ambos teacuterminos
211 Objetivo de la seguridad de la informacioacuten En la seguridad de la informacioacuten
sabiendo que dichos procesos de seguridad permiten proteger el recurso maacutes importante y valioso
de una organizacioacuten partiendo como principio fundamental los procesos de aseguramiento el
28
objetivo del proceso de seguridad informaacutetica es obtener un nivel aceptable de seguridad ya que
la informacioacuten es lo maacutes valioso que tiene una institucioacuten o empresa por lo tanto esta debe ser
protegida para que no sea vulnerable y utilizada para fines maliciosos
212 Principios de la seguridad informaacutetica
Confidencialidad Los datos solo deben ser conocidos y accedidos por quienes esteacuten
autorizados durante su almacenamiento procesamiento o trasmisioacuten Verificar y certificar que solo
los usuarios con accesos autorizados puedan acceder a la informacioacuten
Integridad Los datos solo pueden ser modificados y eliminados por quienes esteacuten
autorizados para ello es decir los sistemas y aplicaciones solo deben ser operados por personal
autorizado
Disponibilidad Los sistemas que almacenan datos e informacioacuten deben garantizar su
acceso cuando asiacute se requiera por quienes tengan derecho a ello
213 Caracteriacutesticas de seguridad informaacutetica
Control Solo los usuarios autorizados deciden cuaacutendo y coacutemo permitir el acceso a la
informacioacuten
Auditoriacutea Establece las acciones cuaacutendo las implementa y quieacuten las realiza sobre el
sistema
Autenticidad Define que la informacioacuten necesaria es correcta utilizable y vaacutelida en tiempo
y forma
No Repudio Su funcioacuten es evitar que alguna entidad que envioacute o recibioacute informacioacuten
alegue que no lo hizo
29
214 Formas de Autenticacioacuten
Contrasentildea Una contrasentildea es un tipo de seguridad informaacutetica ya que es una serie de
caracteres secretos que permiten a un usuario tener acceso a un archivo equipo de coacutemputo o
programa y negar el acceso a usuarios no autorizados
Certificado digital Es un tipo de seguridad informaacutetica que permite la firma digital
electroacutenica que garantiza teacutecnica y legalmente la identidad de una persona en Internet
Autenticacioacuten HTTP Tipo de seguridad informaacutetica que delega la autenticacioacuten de
usuarios a un servidor a traveacutes de Kerberos
215 Ciber-seguridad Con los avances tecnoloacutegicos y la demanda que ha causado en ello
existe un elevado iacutendice de informacioacuten personal y empresarial que circula y se mantiene en la red
por la utilizacioacuten del internet esto permite que toda informacioacuten quede expuesta a cualquier ataque
de ciber-delincuentes los cuales buscan la manera de vulnerar cualquier sistema para espiar robar
informacioacuten o hacer dantildeo de cualquier tipo por lo que se ha visto la necesidad de tomar medidas
de seguridad para salvaguardar la informacioacuten ya que es muy importante
La ciberseguridad es la proteccioacuten de los sistemas conectados a Internet incluidos el
hardware el software y los datos de los ciberataques En un contexto informaacutetico la seguridad
comprende la ciberseguridad y la seguridad fiacutesica ambas son utilizadas por las empresas para
proteger contra el acceso no autorizado a los centros de datos y otros sistemas de coacutemputo El
objetivo de la ciberseguridad es limitar el riesgo y proteger los activos de Tecnologiacuteas de
Informacioacuten de los atacantes con intenciones maliciosas La seguridad de la informacioacuten estaacute
30
disentildeada para mantener la confidencialidad integridad y disponibilidad de los datos es un
subconjunto de la ciberseguridad
22 Criptografiacutea
La Criptografiacutea tambieacuten llamada ldquoescritura ocultardquo tradicionalmente en el aacutembito de
criptografiacutea es donde se ocupan las teacutecnicas de cifrado o codificacioacuten que permiten alterar el
contenido de cierta informacioacuten o mensajes con el fin de hacerlos ininteligibles a receptores o
personas no autorizadas (Meneacutendez-Barzanallana 17)
Actualmente la criptografiacutea se encarga de analizar algoritmos protocolos y sistemas que
son utilizados para proveer seguridad a las comunicaciones informacioacuten y a las entidades que se
comunican entre siacute
221 Tipos de Criptografiacuteas
2211 Tablas Hash Un hash o funcioacuten hash toma un grupo de caracteres (llamado clave)
y lo asigna a un valor de cierta longitud (llamado valor hash o hash) El valor hash es representativo
de la cadena de caracteres original pero normalmente es maacutes pequentildeo que el original
El hash tambieacuten es utilizado en el cifrado y descifrado de firmas digitales La funcioacuten hash
transforma la firma digital luego tanto el valor hash como la firma se enviacutean al receptor El
receptor utiliza la misma funcioacuten hash para generar el valor hash y luego lo compara con el recibido
31
en el mensaje Si los valores hash son los mismos es probable que el mensaje se haya transmitido
sin errores
Un ejemplo de una funcioacuten hash se llama plegado(folding) Esta toma un valor original lo
divide en varias partes luego agrega las partes y usa los uacuteltimos cuatro diacutegitos restantes como
valor o clave hash
2212 Tipos de algoritmos Hash
22121 SHA - 1 (Secure Hash Algorithm) Es un algoritmo criptograacutefico de Hash
publicado por el gobierno de los Estados Unidos Genera un valor Hash de 160 bits a partir de una
secuencia de longitud arbitraria Es considerado lo suficientemente seguro para aplicaciones
praacutecticas pero hay disponibles versiones maacutes robustas SHA - 256 SHA - 384 y SHA - 512 que
generan valores Hash de 256 384 y 512 bits respectivamente estas versiones reemplazaraacuten a SHA
- 1 mientras se siga trabajando sobre ellas (Borghello 2009)
22122 MD5 (Message Digest Algorithm) En criptografiacutea MD5 es una funcioacuten hash
criptograacutefica ampliamente utilizada con un valor hash de 128 bits Como estaacutendar de Internet (RFC
1321) MD5 se ha empleado en una amplia variedad de aplicaciones de seguridad y tambieacuten se
usa comuacutenmente para verificar la integridad de los archivos Un hash MD5 generalmente se
expresa como un nuacutemero hexadecimal de 32 diacutegitos
MD5 es una versioacuten reforzada de MD4 Al igual que MD4 el hash MD5 fue inventado por
el profesor Ronald Rivest del Massachusetts Institute of Technology (MIT) Ademaacutes MD5 se
32
utilizoacute como modelo para SHA-1 ya que comparten muchas caracteriacutesticas comunes MD5 y
SHA-1 son los dos algoritmos hash maacutes utilizados en la actualidad aunque el uso de MD5 ha
disminuido ya que ahora se considera roto (Borghello 2009)
22123 RIPEMD ndash 160 Es una funcioacuten hash criptograacutefica basada en la construccioacuten
Merkle-Damgaringrd (MD) Se usa en el estaacutendar de Bitcoin Es una versioacuten reforzada del algoritmo
RIPEMD que produce un resumen de hash de 128 bits mientras que el algoritmo RIPEMD-160
produce una salida de 160 bits La funcioacuten de compresioacuten consta de 80 etapas formadas por 5
bloques que se ejecutan 16 veces cada uno Este patroacuten se ejecuta dos veces con los resultados
combinados en la parte inferior utilizando la adicioacuten del moacutedulo 32 (Borghello 2009)
22124 Funcioacuten Merkle-Damgaringrd La construccioacuten MD es una metodologiacutea para crear
funciones hash resistentes a colisiones a partir de funciones de compresioacuten unidireccionales Ralph
Merkle la propuso en el antildeo de 1979 en ldquoA certified Digital Signaturerdquo posterior a este estudio
Ivan Damgaringrd demostroacute de manera independiente que la estructura era soacutelida (Merkle amp
Damgaringrd sf)
2213 Cifrado simeacutetrico Los cifrados simeacutetricos son los cifrados criptograacuteficos maacutes
antiguos y maacutes utilizados En un cifrado simeacutetrico la clave que descifra el texto cifrado es la
misma (o puede derivarse faacutecilmente) de la clave que cifra el texto claro Esta clave a menudo se
conoce como la clave secreta Los cifrados simeacutetricos maacutes utilizados son DES y AES
La problemaacutetica que surge es la seguridad de la clave
33
El emisor cifra el mensaje con una clave
Enviacutea el mensaje cifrado de tal manera que nadie puede descifrarlo sin dicha clave
El receptor obtiene la clave y entonces puede descifrar el mensaje con la misma clave
que recibioacute del emisor
Algunos algoritmos de este tipo son
22131 RC5 (Cifrado de Rivest) Es un algoritmo de cifrado de bloque de clave simeacutetrica
disentildeado por Ron Rivest en 1994 Se destaca por ser simple raacutepido (debido a que usa solo
operaciones de coacutemputo primitivas como XOR o shift) y ademaacutes por consumir menos memoria
RC5 es un cifrado de bloques y aborda dos bloques de palabras a la vez Dependiendo del
tamantildeo del bloque de texto sin formato nuacutemero de rondas y tamantildeo de clave se pueden definir
varias instancias de RC5 y cada instancia se denota como RC5-w r b donde w = tamantildeo de
palabra en bits r = nuacutemero de rondas y b = tamantildeo de la clave en bytes (Pawar 2016)
Como se ha mencionado RC5 utiliza bloques de 2 palabras el tamantildeo del bloque de texto
sin formato puede ser de 32 64 o 128 bits
22132 IDEA (International Data Encryption Algorithm) Baacutesicamente es un algoritmo
de cifrado de bloque simeacutetrico El algoritmo asimeacutetrico utiliza la misma clave para el cifrado y
descifrado Un cifrado de bloque divide el mensaje en bloques cada uno de una longitud fija y
luego cifra cada bloque de forma independiente
34
El tamantildeo de bloque tiacutepico es de 16 bytes de 128 bits Un cifrado de bloque generalmente
operaraacute en bloques o rondas donde se aplica parte de la clave a la ronda Despueacutes de un cierto
nuacutemero de rondas digamos entre 10 y 16 se termina con el texto cifrado para ese bloque
El bloque de texto cifrado tiene exactamente el mismo tamantildeo que el bloque de texto sin
formato 16 bytes Para cada ronda se trabaja en el bloque utilizando una parte de la clave de
cifrado a la que se le llama la clave redonda Muacuteltiples claves redondas se derivan de la clave de
cifrado utilizando para esto un programa de claves
La programacioacuten de claves es un algoritmo que cambia XOR multiplica y realiza otros
tipos de operaciones en la clave de cifrado original para obtener estas claves redondas Bueno si
tengo un bloque de 16 bytes y tengo una clave de 128 bits que tambieacuten es de 16 bytes (Educba
2019)
22133 DES (Data Encryption Standard) El algoritmo DES es el algoritmo de seguridad
maacutes popular Es un algoritmo simeacutetrico lo que significa que se utilizan las mismas claves para
cifrar descifrar datos confidenciales La longitud de la clave es de 8 bytes (64 bits) Entonces
para cifrar descifrar datos el algoritmo DES utiliza una clave de 8 bytes pero 1 byte (8 bits) para
la verificacioacuten de paridad Es un algoritmo de cifrado de bloque por lo tanto el tamantildeo del bloque
de datos del algoritmo DES es de 64 bits Para cifrar descifrar datos el algoritmo DES utiliza la
estructura Feistel Entonces utiliza una ronda para cifrar descifrar datos Aunque el tamantildeo del
35
bloque de datos es de 64 bits el nuacutemero de rondas seraacute de 16 rondas asiacute mismo utilizaraacute diferentes
subclaves para cada ronda por lo tanto el nuacutemero de subclaves seraacute de 16 subclaves
Como se puede observar la clave efectiva es de 56 bits por consiguiente se tiene 256
combinaciones posibles por lo que la fuerza bruta se hace casi imposible (Sanjoy 2015)
2214 Cifrado asimeacutetrico Los cifrados asimeacutetricos tambieacuten se conocen como cifrados
con claves puacuteblicas y privadas Usan dos claves una para el cifrado de mensajes y la otra durante
el descifrado
Un intruso puede encriptar cualquier mensaje usando la clave puacuteblica conocida Los
cifrados asimeacutetricos son por lo tanto vulnerables a los ataques de texto sin formato Los cifrados
con encriptacioacuten de clave puacuteblica deben proporcionar seguridad contra tales ataques Despueacutes de
encriptar dos mensajes con la misma clave puacuteblica el intruso no puede distinguir queacute texto cifrado
estaacute conectado con queacute texto plano Ademaacutes un observador que analiza dos mensajes encriptados
usando el mismo algoritmo y la misma clave puacuteblica no puede distinguir sus textos cifrados
(Kowalczyk 2015)
Los cifrados asimeacutetricos son mucho maacutes lentos que los cifrados simeacutetricos (generalmente
mil veces maacutes lentos) Es una praacutectica comuacuten usar el cifrado de clave puacuteblica solo para establecer
la conexioacuten segura y negociar la nueva clave secreta que luego se utilizaraacute para proteger la
comunicacioacuten mediante cifrado simeacutetrico Ejemplos de este cifrado son
36
22141 DSA (Digital Signature Algorithm - Algoritmo de Firma digital) Es un estaacutendar
del Gobierno Federal de los Estados Unidos para firmas digitales Fue propuesto por el Instituto
Nacional de Estaacutendares y Tecnologiacutea (NIST) en agosto de 1991 para ser usado en su Estaacutendar de
Firma Digital (DSS) en el antildeo de 1993
La primera parte del algoritmo DSA es la generacioacuten de clave puacuteblica y clave privada que
puede describirse como
Se elige un nuacutemero primo q que se llama divisor primo
Se elige otro nuacutemero primo p de modo que pndash1 mod q = 0 p seraacute llamado moacutedulo
primo
Ahora se elige un nuacutemero entero g tal que 1 ltg ltp g q mod p = 1 g = h ((p
ndash 1) q) mod p q tambieacuten se llama moacutedulo de orden multiplicativo de g moacutedulo p
Se elige un nuacutemero entero tal que 0 ltx ltq
Se calcula y como g x mod p
Se empaqueta la clave puacuteblica como p q g y
Por uacuteltimo se empaqueta la clave privada como p q g x
La segunda parte del algoritmo DSA es la generacioacuten de firma y la verificacioacuten de firma
Para generar una firma de mensaje el remitente puede seguir estos pasos
Se genera el resumen del mensaje h utilizando un algoritmo hash como SHA1
Se genera un nuacutemero aleatorio k tal que 0 ltk ltq
37
Se calcula r como (g k mod p) mod q Si r = 0 seleccione una k diferente
Ahora se calcula i de modo que k i mod q = 1 i se llama el inverso multiplicativo modular
de k moacutedulo q
Se calcula s = i (h + r x) mod q Si s = 0 se selecciona una k diferente
Por uacuteltimo se empaqueta la firma digital como r s (Yang 2019)
22142 RSA Encriptacioacuten RSA encriptacioacuten Rivest-Shamir-Adleman tipo de
criptografiacutea de clave puacuteblica ampliamente utilizada para la encriptacioacuten de datos de correo
electroacutenico y otras transacciones digitales a traveacutes de Internet RSA lleva el nombre de sus
inventores Ronald L Rivest Adi Shamir y Leonard M Adleman quienes lo crearon mientras
trabajaban en la facultad del Instituto Tecnoloacutegico de Massachusetts (Simmons 2019)
En el sistema RSA un usuario elige de manera secreta un par de nuacutemeros primos p y q tan
grandes que factorizar el producto n = pq estaacute mucho maacutes allaacute de las capacidades informaacuteticas
proyectadas para la vida uacutetil de los cifrados A partir del antildeo 2000 los estaacutendares de seguridad del
gobierno de EE UU exigen que el moacutedulo tenga un tamantildeo de 1024 bits es decir p y q deben
tener un tamantildeo de aproximadamente 155 diacutegitos decimales por lo que n es aproximadamente un
nuacutemero de 310 diacutegitos Dado que los nuacutemeros duros maacutes grandes que actualmente se pueden
factorizar son solo la mitad de este tamantildeo y dado que la dificultad de factorizar se duplica
aproximadamente por cada tres diacutegitos adicionales en el moacutedulo se cree que los moacutedulos de 310
diacutegitos estaacuten a salvo de factorizar durante varias deacutecadas
38
2215 Cifrado hiacutebrido Es una teacutecnica comuacuten que combina diferentes funciones
criptograacuteficas como el cifrado de bloque Con el cifrado hiacutebrido se pueden cifrar datos firmarlos
o agregar un MAC y enviarlos en un objeto seguro (como una cadena o archivo) a traveacutes de un
canal de comunicacioacuten inseguro (sin un acuerdo clave entre dos partes)
En el sistema de cifrado hiacutebrido el texto plano (sin formato) se divide en tokens Luego
se calcula la longitud de cada ficha Los tokens y sus longitudes se almacenan en una matriz
Posteriormente se aplica el algoritmo Ceacutesar anidado sugerido El texto producido se almacena en
una matriz n x m llamada A Luego la transposicioacuten de esta matriz At se calcula utilizando
nuestra versioacuten revisada del cifrado de transposicioacuten para resolver el problema de secuenciacioacuten
A continuacioacuten el algoritmo RSA revisado se aplica en la matriz producida En el paso final se
aplica el formato de datos textuales usando el coacutedigo ASCII para producir el texto cifrado El
proceso de descifrado se realiza de la misma manera pero en orden inverso (Nahar amp Abu Abbas
2010)
23 Criptoanaacutelisis
El criptoanaacutelisis es el proceso de estudiar sistemas criptograacuteficos para buscar debilidades
o fugas de informacioacuten En general se considera que el criptoanaacutelisis explora las debilidades de
las matemaacuteticas subyacentes de un sistema criptograacutefico pero tambieacuten incluye la buacutesqueda de
debilidades en la implementacioacuten como ataques de canal lateral o entradas de entropiacutea deacutebiles
39
Su funcioacuten es la de conseguir obtener el significado de mensajes creados por medio de
criptografiacutea El objetivo principal del criptoanaacutelisis es opuesto al de la criptografiacutea Tiene como
finalidad encontrar la debilidad de las diferentes teacutecnicas criptograacuteficas para explotarla y de esta
manera reducir o eliminar la seguridad de la teacutecnica criptograacutefica Cualquier intento de
criptoanaacutelisis puede ser llamado ataque Una vez que un atacante logra romper la seguridad que
una teacutecnica criptograacutefica aportaba al sistema se dice que dicho sistema ha sido roto y por lo tanto
dicho ataque tuvo eacutexito
El criptoanaacutelisis es la investigacioacuten de sistemas texto cifrado y cifrados para revelar el
significado oculto o los detalles del sistema mismo El objetivo de este tipo de estudio es descubrir
los aspectos ocultos incluso si la clave o el algoritmo principal no se pueden descifrar Se necesita
una combinacioacuten exitosa de persistencia matemaacuteticas intuicioacuten curiosidad y una computadora
que funcione para hacer un buen criptoanalista Este tipo de ruptura de coacutedigo es extremadamente
importante especialmente en el mundo tecnoloacutegicamente dependiente de hoy El criptoanaacutelisis es
constantemente realizado por criptoacutegrafos que intentan obtener informacioacuten valiosa y por aquellos
que intentan descifrar el coacutedigo para revelar secretos (Security Degree Hub 2017)
24 Niveles de seguridad
Los niveles de seguridad de sistemas operativos son otorgados de acuerdo con el sistema
operativo que esteacute utilizando la empresa o institucioacuten ya sea puacuteblica privada gubernamental o no
gubernamental En el manual ldquoTrusted Computer System Evaluation Criteriardquo (United States
40
Government Department of Defense 1983) el Departamento de Defensa de los Estados Unidos
define los siguientes niveles
241 Nivel D1 Este nivel es el maacutes bajo de seguridad por lo tanto la norma establece que
el sistema no es confiable Esta divisioacuten contiene solo una clase Estaacute reservado para aquellos
sistemas que han sido evaluados pero que no cumplen con los requisitos para un nivel de
evaluacioacuten superior
242 Nivel C1 Un sistema de nivel C1 cumple nominalmente los requisitos de seguridad
discrecionales al proporcionar separacioacuten de usuarios y datos Incorpora alguna forma de controles
creiacutebles capaces de imponer limitaciones de acceso de manera individual es decir aparentemente
adecuados para permitir que los usuarios puedan proteger la informacioacuten privada o del proyecto y
evitar que otros usuarios lean o destruyan accidentalmente sus datos Se espera que el entorno de
nivel C1 sea uno de los usuarios cooperantes que procesan datos con el mismo nivel de
sensibilidad Los siguientes son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten
de nivel C1 son
Control de acceso discrecional por ejemplo listas de control de acceso (ACL)
usuario grupo
Por lo general para usuarios que estaacuten en el mismo nivel de seguridad
Proteccioacuten de nombre de usuario y contrasentildea y base de datos de autorizaciones
seguras (ADB)
Sistema operativo protegido y modo de operaciones del sistema
Comprobacioacuten perioacutedica de integridad de TCB
41
Mecanismos de seguridad probados sin derivaciones obvias
Documentacioacuten para la seguridad del usuario
Documentacioacuten para la seguridad de la administracioacuten de sistemas
Documentacioacuten para pruebas de seguridad
Documentacioacuten de disentildeo TCB
Tiacutepicamente para usuarios en el mismo nivel de seguridad
La certificacioacuten C1 es rara Los sistemas de ejemplo son versiones anteriores de
Unix IBM RACF
243 Nivel C2 Los sistemas de esta clase imponen un control de acceso discrecional maacutes
fino que los sistemas (C1) lo que hace que los usuarios sean individualmente responsables de sus
acciones a traveacutes de procedimientos de inicio de sesioacuten auditoriacutea de eventos relevantes para la
seguridad y aislamiento de recursos Los siguientes son requisitos miacutenimos para los sistemas
asignados a una clasificacioacuten de nivel C2
La proteccioacuten de objetos puede ser para un solo usuario Por ejemplo a traveacutes de
una base de datos ACL
La autorizacioacuten de acceso solo puede ser asignada por usuarios autorizados
Proteccioacuten de reutilizacioacuten de objetos (Por ejemplo para evitar la reasignacioacuten de
objetos eliminados de manera segura)
Procedimientos obligatorios de identificacioacuten y autorizacioacuten para los usuarios (Por
ejemplo Usuario Contrasentildea)
Auditoriacutea completa de eventos de seguridad (es decir fecha hora evento usuario
eacutexito falla ID de terminal)
42
Modo de operacioacuten del sistema protegido
Proteccioacuten adicional para la autorizacioacuten y los datos de auditoriacutea
Documentacioacuten como C1 maacutes informacioacuten sobre el examen de la informacioacuten de
auditoriacutea
Esta es una de las certificaciones maacutes comunes Los sistemas operativos de ejemplo
son VMS IBM OS 400 Windows NT Novell NetWare 411 Oracle 7 DG AOS
VS II
244 Nivel B1 Los sistemas de este nivel requieren todas las caracteriacutesticas requeridas
para el nivel C2 Ademaacutes debe estar presente una declaracioacuten informal del modelo de poliacutetica de
seguridad etiquetado de datos y control de acceso obligatorio sobre sujetos y objetos nombrados
La capacidad debe existir para etiquetar con precisioacuten la informacioacuten exportada Cualquier falla
identificada por la prueba debe ser eliminada Los siguientes son requisitos miacutenimos para los
sistemas asignados a una clasificacioacuten de nivel B1
Etiquetado obligatorio de seguridad y acceso de todos los objetos (Por ejemplo
archivos procesos dispositivos)
Comprobacioacuten de integridad de etiquetas (Por ejemplo mantenimiento de etiquetas
de sensibilidad cuando se exportan datos)
Auditoriacutea de objetos etiquetados
Control de acceso obligatorio para todas las operaciones
Capacidad para especificar el nivel de seguridad impreso en salida legible para
humanos (Por ejemplo impresoras)
43
Capacidad para especificar el nivel de seguridad en cualquier salida legible por
maacutequina
Auditoriacutea mejorada
Proteccioacuten mejorada del sistema operativo
Documentacioacuten mejorada
Los sistemas operativos de ejemplo son HP-UX BLS Cray Research Trusted
Unicos 80 Digital SEVMS Harris CS SX SGI Trusted IRIX
245 Nivel B2 En los sistemas de nivel B2 el TCB se basa en un modelo de poliacutetica de
seguridad formal claramente definido y documentado que requiere que la aplicacioacuten de control de
acceso discrecional y obligatoria que se encuentra en los sistemas de nivel B1 se extienda a todos
los sujetos y objetos en el sistema Ademaacutes se abordan los canales encubiertos El TCB debe
estructurarse cuidadosamente en elementos criacuteticos para la proteccioacuten y no criacuteticos para la
proteccioacuten La interfaz TCB estaacute bien definida y el disentildeo y la implementacioacuten TCB le permiten
someterse a pruebas maacutes exhaustivas y una revisioacuten maacutes completa Se fortalecen los mecanismos
de autenticacioacuten se proporciona una gestioacuten confiable de las instalaciones en forma de soporte
para las funciones de administrador y operador del sistema y se imponen estrictos controles de
gestioacuten de la configuracioacuten El sistema es relativamente resistente a la penetracioacuten Los siguientes
son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten de nivel B2
Notificacioacuten de cambios en el nivel de seguridad que afectan a los usuarios
interactivos
Etiquetas de dispositivos jeraacuterquicos
44
Acceso obligatorio a todos los objetos y dispositivos
Comunicaciones de ruta confiables entre usuario y sistema
Rastreo de canales de almacenamiento encubiertos
Modo de operaciones del sistema maacutes estricto en unidades independientes de varios
niveles
Anaacutelisis de canales encubiertos
Pruebas de seguridad mejoradas
Modelos formales de TCB
Versioacuten actualizacioacuten y anaacutelisis y revisioacuten de parches
Los sistemas de ejemplo son Honeywell Multics Cryptek VSLAN Trusted
XENIX
246 Nivel B3 El TCB debe satisfacer los requisitos del monitor de referencia para mediar
todos los accesos de los sujetos a los objetos ser a prueba de manipulaciones y ser lo
suficientemente pequentildeo como para ser sometido a anaacutelisis y pruebas Con este fin el TCB estaacute
estructurado para excluir el coacutedigo que no es esencial para la aplicacioacuten de la poliacutetica de seguridad
con una importante ingenieriacutea del sistema durante el disentildeo y la implementacioacuten del TCB dirigido
a minimizar su complejidad Se admite un administrador de seguridad los mecanismos de
auditoriacutea se ampliacutean para sentildealar eventos relevantes para la seguridad y se requieren
procedimientos de recuperacioacuten del sistema El sistema es altamente resistente a la penetracioacuten
Los siguientes son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten de clase
(B3)
45
ACL adicionalmente basadas en grupos e identificadores
Acceso de ruta confiable y autenticacioacuten
Anaacutelisis automaacutetico de seguridad
Modelos TCB maacutes formales
Auditoriacutea de eventos de auditoriacutea de seguridad
Recuperacioacuten confiable despueacutes de la caiacuteda del sistema y documentacioacuten relevante
Cero defectos de disentildeo en TCB y defectos miacutenimos de implementacioacuten
El uacutenico sistema operativo con certificacioacuten B3 es Getronics Wang Federal XTS-
300
247 Nivel A1 Los sistemas en el nivel A1 son funcionalmente equivalentes a los del nivel
B3 en que no se agregan caracteriacutesticas arquitectoacutenicas adicionales ni requisitos de poliacuteticas La
caracteriacutestica distintiva de los sistemas en este nivel es el anaacutelisis derivado de la especificacioacuten
formal del disentildeo y las teacutecnicas de verificacioacuten y el alto grado resultante de seguridad de que el
TCB se implementa correctamente Esta garantiacutea es de naturaleza de desarrollo comenzando con
un modelo formal de la poliacutetica de seguridad y una especificacioacuten formal de alto nivel del disentildeo
Independientemente del lenguaje de especificacioacuten particular o del sistema de verificacioacuten
utilizado existen los siguientes criterios importantes para la verificacioacuten del disentildeo de nivel A1
Meacutetodos formales y prueba de integridad de TCB
Estos son los uacutenicos sistemas con certificacioacuten A1 Boeing MLS LAN Gemini
Trusted Network Processor Honeywell SCOMP (United States Government
Department of Defense 1983)
46
25 Sistemas Operativos
Un sistema operativo actuacutea como intermediario entre el usuario de una computadora y el
hardware de la computadora El propoacutesito de un sistema operativo es proporcionar un entorno en
el que un usuario pueda ejecutar programas de manera conveniente y eficiente
Un sistema operativo es un software que administra el hardware de la computadora El
hardware debe proporcionar mecanismos apropiados para garantizar el correcto funcionamiento
del sistema informaacutetico y para evitar que los programas del usuario interfieran con el correcto
funcionamiento del sistema (Carretero Peacuterez de Miguel Anasagasti Garciacutea Carballeira amp Peacuterez
Costoya 2001)
Un sistema operativo es un programa que controla la ejecucioacuten de programas de aplicacioacuten
y actuacutea como una interfaz entre el usuario de una computadora y el hardware de la computadora
Una definicioacuten maacutes comuacuten es que el sistema operativo es el uacutenico programa que se ejecuta
en todo momento en la computadora (generalmente llamado kernel) y todo lo demaacutes son
programas de aplicacioacuten
Un sistema operativo se ocupa de la asignacioacuten de recursos y servicios como memoria
procesadores dispositivos e informacioacuten El sistema operativo incluye los programas para
administrar estos recursos como un controlador de traacutefico un programador un moacutedulo de
administracioacuten de memoria programas de E S y un sistema de archivos (Pawar 2016)
47
251 Windows Sistema operativo de la empresa Microsoft es un conjunto de programas
que administra los recursos de una computadora Windows empieza a trabajar cuando se enciende
o inicializa el equipo para gestionar el hardware empezando desde los niveles maacutes baacutesicos
Es importante conocer que los sistemas operativos funcionan tanto en las computadoras
como en diferentes dispositivos electroacutenicos que usan microprocesadores En este caso Windows
su versioacuten estaacutendar funciona con computadoras Microsoft domina el mercado de los sistemas
operativos debido a su comodidad se puede decir que eacuteste sistema operativo se encuentra
instalado en el 887 de los equipos de coacutemputo que cuentan con acceso a Internet en todo el
mundo
Se pueden mencionar algunas aplicaciones principales (que eacutestas tambieacuten pueden ser
desinstaladas por los usuarios o actualizadas sin que el sistema operativo se dantildee o deje de
funcionar) se encuentran el procesador de texto WordPad el navegador Internet Explorer el
reproductor multimedia Windows Media y el editor de imaacutegenes Paint
La principal novedad que aportoacute Windows desde sus oriacutegenes fue la facilidad para usarlo
y el atractivo visual De hecho su nombre (ldquoventanasrdquo) se debe a la forma en que el sistema
presenta a los usuarios los recursos con los que cuenta su computadora lo que facilita las tareas
cotidianas Windows tambieacuten suele recibir varias criacuteticas por sus problemas de seguridad y por
otros fallos
48
252 Registro de Windows El registro es una base de datos jeraacuterquica que contiene datos
que son criacuteticos para el funcionamiento de Windows y las aplicaciones y servicios que se ejecutan
en Windows Los datos estaacuten estructurados en un formato de aacuterbol Cada nodo en el aacuterbol se llama
clave Cada clave puede contener subclaves y entradas de datos llamadas valores A veces la
presencia de una clave es el uacutenico dato que requiere una aplicacioacuten otras veces una aplicacioacuten
abre una clave y usa los valores asociados con la clave (Microsoft Inc 2019) Una clave puede
tener cualquier nuacutemero de valores y los valores pueden tener cualquier forma El registro es
utilizado por
Autenticacioacuten
Nuacutecleo (Kernel)
Controladores de dispositivos
Servicios
SAM
Las carpetas del sistema se almacenaraacuten en distintas rutas de acceso dependiendo de la
versioacuten de Windows con la que se esteacute trabajando a continuacioacuten cuatro de los cinco archivos
que maacutes interesan a esta investigacioacuten se encuentran en la siguiente ubicacioacuten SystemRoot
System32 Config dentro de las siguientes sub llaves
SAM - HKEY LOCAL MACHINE SAM
SECURITY - HKEY LOCAL MACHINE SECURITY
SOFTWARE - HKEY LOCAL MACHINE SOFTWARE
SYSTEM - HKEY LOCAL MACHINE SYSTEM
49
253 Administrador de cuentas de seguridad El administrador de cuentas de seguridad
(SAM por sus siglas en ingleacutes) es una base de datos en donde se encuentran las cuentas de
seguridad Esto es utilizado por Windows para administrar las cuentas de usuario y contrasentildeas en
el formato hash
Las contrasentildeas nunca se almacenan en formato de texto claro Se almacenan en formato
de hash para protegerlas de los ataques La base de datos SAM se implementa como un archivo de
registro y las obtiene del kernel de Windows y mantiene un bloqueo exclusivo al archivo SAM
esto quiere decir que el archivo tiene cierta medida de seguridad para el almacenamiento de las
contrasentildeas (Hernandez 2013)
No es posible copiar el archivo SAM a otra ubicacioacuten en el caso de los ataques en liacutenea
Dado que el archivo SAM estaacute bloqueado con un bloqueo exclusivo al sistema de archivos no
puede ser copiado o movido mientras se ejecuta Windows El bloqueo no iniciaraacute hasta que la
excepcioacuten de la pantalla azul haya sido inicializada o el sistema operativo haya sido apagado Sin
embargo los archivos en formato hash de contrasentildeas fuera de liacutenea estaacuten disponibles para los
ataques de fuerza bruta el contenido del archivo SAM puede ser copiado o descargado utilizando
diversas teacutecnicas
Un identificador de seguridad (SID) es un valor uacutenico de longitud variable utilizado para
identificar a un usuario Cada cuenta tiene un SID uacutenico emitido por una autoridad como un
controlador de dominio de Windows y almacenado en una base de datos de seguridad Cada vez
50
que un usuario inicia sesioacuten el sistema recupera el SID para ese usuario de la base de datos y lo
coloca en el token de acceso para ese usuario El sistema usa el SID en el token de acceso para
identificar al usuario en todas las interacciones posteriores con la seguridad de Windows Cuando
se ha usado un SID como identificador uacutenico para un usuario o grupo no se puede volver a usar
para identificar a otro usuario o grupo
La seguridad de Windows usa SID en los siguientes elementos de seguridad
En descriptores de seguridad para identificar al propietario de un objeto y grupo
primario
En las entradas de control de acceso para identificar al usuario para quien el acceso
estaacute permitido denegado o auditado
En tokens de acceso para identificar al usuario y los grupos a los que pertenece
2531 Identificador de Seguridad (SID Security Identifier)
S - 1 - 5 - 21 - 3983109318 - 554656936 - 3066752241 - 1000
S - indica que es un string de SID
1 - el nivel de revisioacuten
5 - el identificador de valor de autoridad o authority value no siempre seraacute 5 Entre otros
valores que se pueden encontrar estaacuten los siguientes
51
0 - sin autoridad
1 - autoridad global
2 - autoridad local
3 - autoridad de creador
4 - autoridad no uacutenica
5 - autoridad NT
9 - autoridad de administrador de recursos
21 - 3983109318 - 554656936 - 3066752241 - es el dominio en el que se encuentra el
sistema o el identificador local de la computadora
1000 - ID uacutenico para cada cuenta aquiacute se encuentra el RID (Relative Identifier) Nuacutemero
de longitud variable cualquier grupo o usuario que se cree de manera diferente a la predeterminada
recibiraacute un RID de 1000 o superior En el caso de que el valor sea 500 responde a que este SID
representa la cuenta de un administrador el valor de 500 siempre seraacute el mismo en cualquier cuenta
de administrador a su vez el valor 501 representa el SID de una cuenta Invitado (Guest)
(Hernandez 2013)
254 Autenticacioacuten NTML NTLM (NT LAN Manager) es un protocolo empleado por
muchos productos de Microsoft para realizar la autenticacioacuten desafiacuteorespuesta por lo tanto es el
esquema de autenticacioacuten que por defecto usa Firewall de Microsoft y tambieacuten los productos del
servidor proxy
52
Este software fue desarrollado para afrontar el problema del trabajo con Tecnologiacuteas Java
en un entorno orientado a Microsoft Puesto que no se basa en ninguna especificacioacuten oficial de
protocolo por lo tanto no hay garantiacutea de que funciona correctamente en todos los casos Tambieacuten
ha estado en algunas instalaciones de Windows donde funcionoacute con eacutexito
La Autenticacioacuten NTLM se compone de dos protocolos protocolo de autenticacioacuten NTLM
y protocolo de autenticacioacuten LM Estos protocolos utilizan una metodologiacutea de hash diferente para
almacenar contrasentildeas de los usuarios en la base de datos SAM (Hernandez 2013) (Meneacutendez-
Barzanallana 17)
26 LINUX (ROCKS)
Rocks es una distribucioacuten para cluacutester de Linux de coacutedigo abierto que permite a los usuarios
finales construir de manera maacutes amigable cluacutesteres computacionales y muros de visualizacioacuten en
mosaico Cientos de investigadores de todo el mundo han utilizado Rocks para implementar su
propio cluacutester
Desde mayo de 2000 el grupo Rocks ha abordado las dificultades de implementar cluacutesteres
manejables Encaminados hacia un objetivo crear cluacutesters de manera maacutes sencilla Por sencilla
significa faacutecil de implementar administrar actualizar y escalar Este objetivo impulsa a los
creadores de esta herramienta a ayudar a entregar el poder computacional de los cluacutesteres a una
amplia gama de usuarios cientiacuteficos Estaacute claro que poner a disposicioacuten de una amplia gama de
53
cientiacuteficos plataformas de computacioacuten paralelas estables y manejables ayudaraacute enormemente a
mejorar el estado del arte en herramientas paralelas (Rocksclusters 2010)
261 Escritorio De todos los escritorios disponibles para el sistema operativo Linux
GNOME ha logrado convertirse en el maacutes eficiente estable y confiable sin dejar de ser sencillo
de usar De hecho la mayoriacutea de los usuarios independientemente de su experiencia pueden
trabajar con GNOME casi sin esfuerzo
Los usuarios que son nuevos tanto en Linux como en GNOME hariacutean mejor en conocer
los entresijos del escritorio que hacen que Linux no solo sea faacutecil sino tambieacuten divertido
Un entorno de escritorio agrupa programas que trabajan juntos para formar un espacio de
trabajo informaacutetico cohesivo unificado transparente e interactivo para los usuarios O para
decirlo de manera maacutes simple el entorno de escritorio es la interfaz de usuario para el sistema
operativo En el caso de GNOME ese sistema operativo es Linux Sin un entorno de escritorio su
uacutenica alternativa es una sesioacuten de Shell (liacutenea de comandos) basada en texto (Wallen 2019)
262 Paquete de Oficina Una suite ofimaacutetica es una coleccioacuten de software creada por el
mismo proveedor y disentildeada para ser utilizada para tareas rutinarias dentro de una organizacioacuten
Por lo general una suite ofimaacutetica incluye aplicaciones como procesamiento de texto hojas de
caacutelculo presentacioacuten correo electroacutenico toma de notas base de datos colaboracioacuten y otros tipos
de software relacionados En la mayoriacutea de los casos cada aplicacioacuten en la suite ofimaacutetica se puede
instalar por separado y todas las aplicaciones dentro de la suite admiten la interoperabilidad entre
54
siacute Microsoft Office Suite Lotus Live Notes y LibreOffice son todas suites de oficina de uso
comuacuten
263 Organizador de archivos Es una funcioacuten avanzada disentildeada para agrupar y
renombrar archivos usando sus atributos del sistema o meta atributos
Cada archivo tiene atributos del sistema como la fecha (Acceso Creado y Modificado) el
tipo de archivo (definido por extensioacuten) y asociado con la aplicacioacuten registrada de ese tipo de
archivo Estos atributos se pueden usar para generar un nuevo nombre de archivo o carpeta (grupo)
para cada archivo con el mismo atributo Ademaacutes de los atributos del sistema algunos archivos
en su mayoriacutea medios o imaacutegenes pueden contener metacampos como el nombre del artista el
tiacutetulo el nombre del aacutelbum y otros El Organizador de archivos tambieacuten usa estos metacampos
para agrupar archivos en una carpeta con el mismo atributo Por lo tanto el organizador de archivos
opera reglas de organizacioacuten de archivos que definen la jerarquiacutea de agrupacioacuten de carpetas y las
reglas de cambio de nombre de archivos
Asiacute como el conocido ldquoexplorador de Windowsrdquo Linux integra un organizador de archivos
y carpetas llamado NAUTILUS para realizar tareas de manejo de archivos como mover copiar
renombrar crear carpetas y de esta manera administrar nuestros dispositivos de almacenamiento
55
27 Agrupamiento (Cluacutester) de Computadoras
El agrupamiento (cluacutester) de computadoras estaacute conformado por una coleccioacuten de
computadoras autoacutenomas interconectadas trabajando unidas como un solo recurso de computacioacuten
integrado El concepto de agrupamiento de computadoras nacioacute cuando los pioneros de la
supercomputacioacuten intentaban difundir diferentes procesos entre varias computadoras para luego
poder recoger los resultados que dichos procesos debiacutean producir Con un hardware maacutes barato y
faacutecil de conseguir se pudo perfilar que podriacutean conseguirse resultados muy parecidos a los
obtenidos con aquellas maacutequinas mucho maacutes costosas (Chirinov 2003)
Un agrupamiento de computadoras se puede definir como el trabajo realizado por dos o
maacutes computadoras que en conjunto se encargan de proveer una determinada solucioacuten Tiene como
finalidad agrupar el poder de coacutemputo de los nodos implicados para proporcionar una mayor
escalabilidad disponibilidad y fiabilidad (Branch Bedoya amp Mesa Muacutenera 2008)
La escalabilidad es la capacidad de un equipo para hacer frente a voluacutemenes de trabajo
cada vez mayores sin por ello dejar de prestar un nivel de rendimiento aceptable
La disponibilidad y la fiabilidad se encuentran bastante relacionadas aunque difieren
ligeramente en algunos aspectos La disponibilidad es la calidad de estar presente y listo para su
uso mientras que la fiabilidad es la probabilidad de un correcto funcionamiento
56
Entre los tipos de agrupamiento maacutes comunes se pueden encontrar de alta disponibilidad
(ambiente a prueba de fallas) coacutemputo de alto desempentildeo (los procesos o las tareas dadas se
presentan como un solo sistema virtual) y escalamiento horizontal (se utiliza para proporcionar
una sola interfaz a un conjunto de recursos que pueden aumentar o disminuir arbitrariamente su
tamantildeo en un cierto periodo de tiempo) (Gonzaacutelez Ramiacuterez amp Rodriacuteguez Saacutenchez 2008)
271 Beowulf Es una clase de computadora masivamente paralela de altas prestaciones
principalmente construida a base de agrupamiento de componentes hardware estaacutendar (Llorens amp
Pentildea 2002) Consta de un conjunto de nodos minimalistas unidos por un medio de
comunicaciones econoacutemico Esto quiere decir que tienen lo miacutenimo para ejecutar su funcioacuten de
hecho los nodos por siacute solos no son capaces de ejecutar siquiera un sistema operativo (Nievas
Pino amp Arroyo) Se puede ver como una supercomputadora paralela construida con hardware
comercial de faacutecil adquisicioacuten que posee como sistema operativo Linux Los cluacutesters Beowulf son
extremadamente poderosos pero no son para todas las personas Su principal desventaja es que
requieren software disentildeado para poder aprovechar los recursos del cluacutester (Lizaacuterraga 2002)
272 Mosix Seguacuten Peacuterez (2001) la arquitectura Mosix estaacute basada en la misma ideologiacutea
de la arquitectura Beowulf Se basa en un conjunto de parches aplicados al nuacutecleo (kernel) de Linux
y que asignan a todo el grupo de nodos un espacio de direcciones y de procesos comuacuten gracias al
cual los procesos migran de uno a otro con el fin de equilibrar favorablemente la carga del sistema
global Es una herramienta disentildeada para realizar balanceo de carga en el agrupamiento de forma
totalmente transparente de manera tal que los nodos se comportan como una sola maacutequina y asiacute
incrementar el aprovechamiento de cada uno de los nodos (Chaacutevez y otros 1999) La principal
57
ventaja de Mosix frente a Beowulf se basa precisamente en esto Mosix da mejores respuestas que
Beowulf frente a la caiacuteda o insercioacuten de nodos A parte de esto Mosix permite un cambio constante
de aplicacioacuten o incluso el correr aplicaciones independientes de forma simultaacutenea
273 OpenMosix OpenMosix es una extensioacuten del proyecto Mosix Seguacuten Chirinov
(2003) la idea de este modelo es que la distribucioacuten de tareas en el cluacutester la determina OpenMosix
de forma dinaacutemica conforme se van creando tareas Cuando un nodo estaacute demasiado cargado las
tareas que se estaacuten ejecutando pueden migrar a cualquier otro nodo del cluacutester Asiacute desde que se
ejecuta una tarea hasta que eacutesta muere podraacute migrar de un nodo a otro sin que el proceso sufra
mayores cambios
Ademaacutes OpenMosix funciona a nivel de kernel por tanto puede conseguir toda la
informacioacuten que necesite para decidir que tanto estaacute cargado un sistema y queacute pasos se deben
seguir para aumentar el rendimiento ademaacutes puede realizar maacutes funciones que cualquier
aplicacioacuten a nivel de usuario
Despueacutes de elegir el tipo de cluacutester a utilizar se procede a elegir los elementos baacutesicos que
se emplearaacuten para implementar el cluacutester capacidad de procesamiento memoria espacio del disco
de cada nodo asiacute como tambieacuten el ancho de banda de la comunicacioacuten entre los nodos Se deberaacute
decidir cuaacuteles son importantes basaacutendose en la variedad de aplicaciones que se piensen ejecutar
en el cluacutester y de la cantidad de dinero que se disponga para construirlo
58
Bajo estos mismos paraacutemetros se debe escoger tambieacuten el tipo de red que interconectaraacute
los nodos (Turner 2004)
Luego se debe escoger el sistema operativo a utilizar Esta eleccioacuten dependeraacute mucho de
la maacutequina que se escoja Linux es siempre una opcioacuten en cualquier maacutequina y es la eleccioacuten maacutes
comuacuten Muchas de las herramientas necesarias para la implementacioacuten de un cluacutester han sido
desarrolladas bajo Linux Pero existen cluacutesters corriendo bajo Windows NT UNIX Solaris y AIX
59
Capiacutetulo 3 Implementacioacuten de Cluacutester
31 Requisitos previos
Antes de iniciar la instalacioacuten del FrontEnd es necesario asegurarse que las conexiones de
red de los equipos junto con la configuracioacuten de la BIOS de cada uno sean las correctas
311 Conexioacuten de los equipos y acceso a la red
Un cluacutester de alto desempentildeo funciona como un uacutenico equipo el cuaacutel comparte los recursos
de los nodos esclavos con el nodo maestro para ello es esencial la existencia de una red interna de
alta velocidad por medio de la cual se realice la comunicacioacuten entre el nodo maestro y los nodos
esclavos como se muestra en la Figura 31 El nodo maestro necesitaraacute 2 tarjetas de red de alta
Figura 31 Esquema tiacutepico de configuracioacuten de un cluacutester (Fuente Elaboracioacuten propia)
60
velocidad una para la comunicacioacuten interna y otra para la comunicacioacuten con redes externas El
sistema operativo Rocks asigna automaacuteticamente la interface ldquoeth0rdquo a la red interna del cluacutester y
la interface ldquoeth1rdquo a la red externa En caso de que Rocks sea incapaz de determinar cuaacutel es la red
externa debido a la falta de conexioacuten a internet estas podriacutean ser asignadas de manera incorrecta
por tal motivo se sugiere asegurar el nombre de cada una de las interfaces
Dado que Rocks no permite volverlas a asignar una vez finalizada la instalacioacuten es
necesario volver a reinstalarlo para poder solucionar este inconveniente
312 Configuracioacuten de la BIOS Para evitar problemas durante la instalacioacuten conviene
configurar correctamente la Bios
3121 ATAIDE Mode Algunos sistemas operativos puede que no sean capaces de
reconocer el controlador del disco duro como es en el caso de esta distribucioacuten de Rocks usada
Para evitar complicaciones de tener que antildeadir el controlador a mano lo mejor es habilitar el modo
ldquoLegacyrdquo de controlador de disco duro
61
Para ello se accede a la Bios pulsando F2 al encender el equipo se situacutea en la pestantildea
ldquoAdvancedrdquo y se selecciona ldquoDrive Configurationrdquo como se muestra en la Figura 32
Figura 32 Imagen del Bios del equipo en la opcioacuten ldquodrive configurationrdquo (Fuente Elaboracioacuten propia)
Figura 33 Bios ATAIDE Legacy Mode (Fuente Elaboracioacuten propia)
62
Dentro del menuacute se tiene que seleccionar el Modo ldquoLegacyrdquo en la opcioacuten ldquoATAIDE
Moderdquo como se muestra en la Figura 33 y para salir se guardan los cambios con F10
3122 PXE Al momento de instalar un nodo puede ocurrir falla al arrancar y aparecer
bootsplash (Reboot and Select proper device) Para evitarlo es necesario habilitar la opcioacuten de
PXE para que tome los archivos de instalacioacuten del nodo maestro a traveacutes de la red interna
En la Bios se selecciona la pestantildea ldquoBootrdquo y dentro de ese mismo menuacute se deshabilita
ldquoSilent bootrdquo y se habilita la opcioacuten de ldquoPXE boot to lanrdquo como se muestra en la Figura 34
Finalmente hay que verificar que en la secuencia de arranque (Figura 35) como primer
dispositivo sea desde red para que de esta manera inicie desde el PXE
Figura 34 Bios Boot PXE (Fuente Elaboracioacuten propia)
63
Se guardan los cambios antes de salir
32 Instalacioacuten de Sistema Operativo Rocks
Una vez configurados los equipos se enciende el equipo que seraacute el nodo maestro
(FrontEnd) en el cuaacutel previamente se ha modificado la secuencia de inicio del boot desde la Bios
de modo que al insertar el CD de Rocks eacuteste procederaacute a iniciar la instalacioacuten con la siguiente
pantalla que se muestra a continuacioacuten
Figura 35 Bios Boot device prioriry (Fuente Elaboracioacuten propia)
64
Para iniciar la instalacioacuten uacutenicamente se selecciona la opcioacuten ldquoInstall CentOS 7rdquo como se
muestra en la Figura 36 dando asiacute comienzo al proceso de instalacioacuten Tras finalizar un proceso
de carga en memoria Rocks mostraraacute un formulario en entorno graacutefico mediante el cual
procederemos a configurar el FrontEnd
Esta primera pantalla se muestra coacutemo se desea realizar la instalacioacuten puede realizarse
por medio de la descarga del sistema operativo (se requiere internet) En este caso como se muestra
en la Figura 37 dado que previamente se descargoacute el DVD completo se seleccionoacute ldquoCDDVD
based rollsrdquo
Figura 36 Pantalla de Inicio de instalacioacuten de Rocks (Fuente Elaboracioacuten propia)
65
A continuacioacuten Figura 38 se selecciona de la lista de Rolls aquellos que se desean instalar
Figura 37 Pantalla de seleccioacuten de Rolls (Fuente Elaboracioacuten propia)
Figura 38 Listado de opciones de rolls para instalar (Fuente Elaboracioacuten propia)
66
Tras presionar el botoacuten ldquoSubmitrdquo la siguiente pantalla (Figura 39) muestra formulario en
el que hay que indicar la informacioacuten baacutesica del cluacutester entre las cuales aparecen
Fully-Qualified Host Name Nombre con el que se conoceraacute en la red externa el cluacutester
Cluster Name Nombre utilizado para ser identificado dentro de las herramientas del cluacutester
Certificate Organization Locality State and Country Organizacioacuten a la que pertenece el
cluacutester la localidad el estado y la ciudad
Contact URL and LattitudeLongitude Contacto direccioacuten web y posicioacuten GPS
Figura 39 Informacioacuten baacutesica del cluacutester a instalar (Fuente Elaboracioacuten propia)
67
Una vez que se ingresa la informacioacuten al cluacutester se presiona el botoacuten ldquoListordquo y
posteriormente se podraacute cambiar la configuracioacuten baacutesica de la red interna del cluacutester En este caso
Figura 310 se dejoacute el valor por defecto una IP de clase B (1011116)
El siguiente paso es la configuracioacuten de la red externa (para tener acceso a internet) En
este punto se introducen los datos de la red externa a la que se encuentra conectado el nodo
maestro como se muestra en la Figura 311
Figura 310 Configuracioacuten Ethernet de la red privada (Fuente Elaboracioacuten propia)
Figura 311 Configuracioacuten Ethernet de la red puacuteblica (Fuente Elaboracioacuten propia)
68
Para terminar de configurar la red externa como se muestra en la Figura 312 se ingresa la
direccioacuten IP del Gateway y los DNS (Servidor de nombre de dominio) que va a usar para el acceso
a internet
Se continuacutea con el resto del formulario donde se introduce la contrasentildea para el usuario
root tal y como se muestran en la Figura 313
Figura 312 Configuracioacuten de DNS y Gateway (Fuente Elaboracioacuten propia)
Figura 313 Ingresar contrasentildea de usuario root (Fuente Elaboracioacuten propia)
69
Paso siguiente se procede a seleccionar la zona horaria como se muestra en la Figura 314
donde se encuentra ubicado el cluacutester asiacute como un servidor de donde podraacute obtener la zona horaria
automaacuteticamente en este caso se dejoacute el valor por default
En el formulario de la Figura 315 se selecciona la forma de particionar el disco duro
(automaacutetica manual) una vez seleccionado daraacute comienzo al proceso de instalacioacuten de manera
Figura 314 Configuracioacuten horaria (Fuente Elaboracioacuten propia)
Figura 315 Particiones del disco duro (Fuente Elaboracioacuten propia)
70
desatendida Cuando ha concluido la instalacioacuten el equipo se reiniciaraacute y se requeriraacute iniciar con
el usuario root y la contrasentildea establecida previamente
321 Configuracioacuten del teclado Debido a que el teclado por defecto estaacute en idioma
ingleacutes podriacutea provocar problemas al momento de escribir la contrasentildea u otros comandos
Seguacuten las pruebas realizadas aunque se cambie la configuracioacuten del teclado desde el menuacute
de preferencias uacutenicamente se mantiene dentro de la sesioacuten desde la que se ha cambiado dicha
opcioacuten (lo cual implica que la contrasentildea de usuario hay que introducirla seguacuten la distribucioacuten
inglesa)
33 Instalacioacuten de los nodos
Previo a la instalacioacuten de los nodos esclavos cada uno de los equipos fueron configurados
desde la Bios para que arranquen desde la red (seccioacuten 3122) Para ir antildeadiendo los nodos solo
se tiene que introducir el siguiente comando desde nuestro FrontEnd
$insert-ethers
A continuacioacuten como se muestra en la Figura 316 apareceraacute una ventana en la pantalla
en la cual se seleccionaraacute la opcioacuten ldquoComputerdquo
71
Una vez realizado este paso se procede a encender los equipos que funcionaraacuten como
nodos esclavos uno a uno
Se sugiere esperar a que cada nuevo equipo encendido esteacute marcado con un asterisco antes
de proceder a encender el siguiente como se muestra en la Figura 317 De esta manera se asegura
que cada nuevo nodo antildeadido posea el nombre y numeracioacuten deseada
Figura 316 Pantalla para ingresar nodos (Fuente Elaboracioacuten propia)
Figura 317 Indicador de insercioacuten de nuevos nodos (Fuente Elaboracioacuten propia)
72
Puede darse el caso de que un nodo no sea detectado automaacuteticamente eso indica que se
ha omitido alguacuten paso o parte de la configuracioacuten realizada hasta el momento es incorrecta En ese
caso comprobar lo siguiente
Que el nodo esclavo este correctamente conectado a la red interna
Que el FrontEnd (nodo maestro) tenga correctamente configurada la red interna y externa
Que el PXE esteacute habilitado en la Bios del nodo esclavo
331 Administracioacuten de nodos Algunos de los comandos maacutes uacutetiles para para la gestioacuten
de los nodos son los siguientes
Eliminar un nodo de la lista
Reinstalar un nodo
Listar los nodos ya instalados
Acceder a un nodo
$rocks remove host nombre_nodo
$rocks remove host nombre_nodo
$rocks set host boot nombre_nodo action=install
$rocks set host boot nombre_nodo action=install
$rocks list host
$rocks list host
$ssh nombre_nodo
$ssh nombre_nodo
73
Ejecutar un comando de manera remota a un nodo
332 Creacioacuten de cuentas de usuario Para agregar a un usuario hay que realizar los
siguientes pasos
1 Creacioacuten de la cuenta
$useradd nombre_usuario
2 Asignacioacuten de una contrasentildea
$passwd nombre_usuario
3 Sincronizacioacuten de la cuenta de usuario con el resto de nodos
$rocks-user-sync
333 Configuracioacuten del directorio compartido El directorio share es compartido por el
FrontEnd y el resto de nodos se localiza dentro del FrontEnd en la carpeta exports siendo la
carpeta share un enlace simboacutelico a esta uacuteltima
Al principio es posible que no se sincronicen correctamente los archivos introducidos en el
directorio debido a que la carpeta inicialmente estaacute vaciacutea por lo que para solucionar este
inconveniente puede usarse el comando siguiente para reiniciar dicho servicio
$ssh nombre_nodo lsquocomandorsquo
$ssh nombre_nodo lsquocomandorsquo
$cd
$export fs ndashrv
service nfs restart
$cd
$export fs ndashrv
service nfs restart
74
34 Operaciones baacutesicas de Rocks
Comandos y aplicaciones esenciales para el manejo del cluacutester
Ver que rolls estaacuten instalados
$rocks list roll
Visualizar el estado del sistema Figura 318
$qstat ndashf
Probar el sistema de colas para distribuir tareas a los nodos
Para ello se prueba que el SGE del cluacutester funcione enviaacutendole una serie de trabajos
mediante el comando qsub
En primer lugar se crea un fichero (pruebapl) que tenga permisos de ejecucioacuten con el
siguiente contenido
Figura 318 Comando qstat ndashf (Fuente Elaboracioacuten propia)
75
usrbinperl
for(my $i=0$ilt30$i++) sleep(2) print okn
Y se ejecuta con el siguiente comando
$ for ((i=1ilt=10i+=1)) do qsub pruebapl done
Al ejecutarse se puede comprobar que los trabajos se han mandado Figura 319
Y al realizar de nuevo un ldquoqstat ndashfrdquo Figura 320 se observa coacutemo se van realizando
Figura 319 Enviacuteo de trabajos por medio del comando qsub (Fuente Elaboracioacuten propia)
Figura 320 Estado de los trabajos pendientes mostrados por qstat ndashf (Fuente Elaboracioacuten propia)
76
Para ver la carga de trabajo en el cluacutester de manera global y de forma graacutefica se tiene que
ingresar en un navegador web en la siguiente direccioacuten httplocalhostganglia apareceraacute la
Figura 321
Figura 321 Visualizacioacuten de la distribucioacuten de cargas en el cluacutester usando la herramienta Ganglia (Fuente Elaboracioacuten propia)
77
Capiacutetulo 4 Metodologiacutea y Resultados
Una vez finalizada la instalacioacuten y puesta en operacioacuten del equipo se analizaron diferentes
metodologiacuteas de trabajo lo que implicoacute un trabajo arduo debido a que existen complicaciones
cuando se buscan temas relacionados a vulnerar sistemas operativos La realizacioacuten de este
proyecto estaacute basado en la metodologiacutea de Joshua Picolet ldquoCracking Methodologyrdquo (Picolet
2017)
41 Obtener Archivo hash
Se pueden vulnerar contrasentildeas de Windows de diferentes maneras Una de ellas es
mediante el acceso al archivo del Administrador de cuentas de seguridad (SAM) el cual se detalla
en el apartado 253 a traveacutes de la obtencioacuten de las contrasentildeas del sistema en su forma hash por
medio de herramientas diferentes Alternativamente las contrasentildeas se pueden leer desde la
memoria lo que tiene el beneficio adicional de recuperar las contrasentildeas en texto plano y evitar el
requisito de descifrado Para comprender los formatos que se observan cuando se descarguen
hashes del sistema de Windows se requiere una breve descripcioacuten de los diferentes formatos de
almacenamiento
Originalmente las contrasentildeas de Windows de menos de 15 caracteres se almacenaban en
el formato hash de Lan Manager (LM) Algunos sistemas operativos como Windows 2000 XP y
Server 2003 continuacutean usando estos hashes a menos que esteacuten deshabilitados por el usuario
Ocasionalmente un sistema operativo como Windows Vista puede almacenar el hash LM para la
compatibilidad con otros sistemas Seguacuten analistas incluye varias vulnerabilidades como dividir
78
la contrasentildea en dos bloques y permitir que cada uno se descifre de forma independiente Mediante
el uso de tablas Rainbow es trivial descifrar una contrasentildea almacenada en un hash LM
independientemente de la complejidad Este hash se almacena con la misma contrasentildea calculada
en el formato de hash NT como el que se muestra en el siguiente ejemplo
Ejemplo de un hash NTLM con el componente LM y NT
Administrator500611D6F6E763B902934544489FCC9192BB71ED1E7F2B60ED5A2
EDD28379D45C91
Los sistemas operativos Windows maacutes recientes como el Windows 8 y 10 usan el hash NT
En teacuterminos simples no hay una debilidad significativa en este hash que lo diferencie de cualquier
otra funcioacuten hash criptograacutefica Se requieren meacutetodos de descifrado como lo es la fuerza bruta o
ataque de diccionario para recuperar la contrasentildea si uacutenicamente se almacena en el formato NT
Ejemplo de un hash NTLM uacutenicamente con el componente NT (como se ve en los sistemas
Windows mas recientes
Administrator500NOPASSWORDEC054D40119570A4663
4350291AF0F72
Es importante sentildealar que la cadena NO PASSWORD es variable seguacuten la herramienta
que se utilice Otras pueden presentar esta informacioacuten como ceros rellenos o comuacutenmente puede
79
ver la cadena ldquoAAD3B435B51404EEAAD3B435B51404EErdquo en lugar de ninguna contrasentildea
Esto significa que el hash LM estaacute vaciacuteo y no estaacute almacenado
El archivo hash se encuentran en el directorio ldquoWindows System32 configrdquo y se
necesitan ambos archivos SAM y SYSTEM Ademaacutes tambieacuten se encuentran en el archivo de
registro HKEY_LOCAL_MACHINE SAM al que no se puede acceder durante el tiempo de
ejecucioacuten Finalmente las copias de seguridad se pueden encontrar a menudo en ldquoWindows
Repairrdquo (Peleus 2019)
Para extraer el archivo hash de un sistema operativo con un nivel de seguridad C1 existen
diferentes meacutetodos en esta ocasioacuten se procederaacute a iniciar el equipo objetivo con una distribucioacuten
de Linux desde una memoria USB como se muestra en la figura 41 para de esta manera ingresar
al directorio CWINDOWSSystem32Config directorio de ubicacioacuten de los archivos SAM y
SYSTEM que son los necesarios para obtener el archivo hash (Caballero 2018)
Figura 41 Arranque con LiveUSB KaliLinux (Fuente Elaboracioacuten propia)
80
42 Dar Formato al Hash
En este punto es donde se tiene que identificar el algoritmo con el que fueron encriptados
los archivos SAM y SYSTEM que se han obtenido en el punto anterior con la finalidad de
seleccionar el tratamiento que se les daraacute El algoritmo de encriptacioacuten del archivo SAM de
Windows 10 es NTLM y ademaacutes estaacute almacenado en un formato binario (ByteBleeder 2017) por
lo que fue necesario instalar la herramienta con licencia GNU samdump2 para obtener la syskey y
de esta manera poder extraer los hash desde el archivo SAM de Windows
En la figura 42 se han obtenido los hashes del archivo SAM donde se puede observar que
los usuarios Administrador e Invitado estaacuten deshabilitados ademaacutes de que existen tres cuentas de
usuario activas las cuales son Gad prueba y usuarioprueba cada una con su contrasentildea cifrada
en formato NTLM a la derecha del nombre de usuario la cuenta usuarioprueba fue a la que se le
realizoacute el anaacutelisis que se detalla posteriormente
43 Evaluar la fuerza del Hash
En criptografiacutea se dice que un algoritmo criptograacutefico se rompe si por alguacuten meacutetodo se
consigue reducir su fortaleza es decir reducir por ejemplo su entropiacutea de los 2256 bits teoacutericos a
Figura 42 Resultado de la ejecucioacuten de la herramienta samdump2 (Fuente Elaboracioacuten propia)
81
tan soacutelo 2255 por ejemplo El hecho de que se encuentre una colisioacuten no implica necesariamente
que un algoritmo se haya roto pues podriacutea haber sido realizado mediante fuerza bruta pero puede
ser una causa
Un ataque de colisioacuten significa que encuentro dos entradas diferentes que producen el
mismo resultado de un hash particular Este es generalmente el tipo de ataque maacutes faacutecil Es el tipo
de ataque que se conoce desde hace varios antildeos contra MD5
Dado que una utilidad importante de las funciones hash estaacute en las firmas digitales
encontrar colisiones puede facilitar falsificar firmas digitales Es decir dos mensajes distintos que
tengan un mismo resumen tienen ademaacutes la misma firma y un atacante puede reemplazar un
mensaje por el otro Un ejemplo de este ataque fue demostrado en 2008 por un grupo de
investigadores en Aacutemsterdam los cuales falsificaron un certificado raiacutez mediante el uso de un
ataque de colisioacuten contra el algoritmo MD5 (Preukschat 2015)
Un ataque previo a la imagen generalmente es mucho maacutes difiacutecil es encontrar otra entrada
que produzca el mismo resultado que un hash que ya se conoce
Para tratar de aclarar la diferencia aquiacute en un ataque de colisioacuten encuentro dos entradas A
y B que producen el mismo resultado En un ataque de preimagen comienzo a partir de alguacuten
resultado conocido X y encuentro una entrada que produciraacute X como resultado (Coffin 2015)
82
Para realizar esta evaluacioacuten se tomoacute como base la tabla del apeacutendice Hash craking
benchmark (Picolet 2017) el objetivo es observar el comportamiento y velocidad del Hash
mencionado cuando fue sometido a pruebas de criptoanaacutelisis Si se trata de un Hash lento se deberaacute
ser maacutes selectivo en queacute tipos de diccionarios y meacutetodos de criptoanaacutelisis se le debe aplicar Si es
un Hash raacutepido se puede ser maacutes libre con la estrategia de criptoanaacutelisis Este estudio busca
realizar una prueba de criptoanaacutelisis mostrando las diferencias entre el poder de procesamiento de
un cluacutester de 17 nodos contra una computadora personal por lo que no necesariamente se
implementaraacute el meacutetodo oacuteptimo para la realizacioacuten del criptoanaacutelisis
44 Calcular la capacidad del equipo
Con la informacioacuten de la evaluacioacuten de la fuerza del Hash obtenida en el apartado anterior en
este apartado se tiene que establecer la capacidad de la plataforma o plataformas que realizaraacuten
el criptoanaacutelisis
Para conocer la capacidad de procesamiento del cluacutester de alto rendimiento se utilizoacute la
herramienta Linpack Benchmark HPL es una implementacioacuten portaacutetil del Benchmark de alto
rendimiento LINPACK para equipos de coacutemputo distribuido Actualmente se utiliza para obtener
varios resultados en la lista actual de Top500 de HP cluacutesters (Dongarra 2010)
El Linpack Benchmark (HPL del Ingleacutes High-Performance Linpack Bench-mark) es un
software que resuelve un sistema lineal aleatorio de doble precisioacuten aritmeacutetica (64 bits) en equipos
de memoria distribuida El rendimiento muestra el nuacutemero de operaciones de punto flotante por
segundo logradas por el sistema (Petitet Whaley Dongarra amp Cleary 2008)
83
El HPL fue desarrollado en el Argone National Laboratory por Jack Don-garra en 1976 y
es uno de los maacutes usados en sistemas cientiacuteficos y de ingenieriacutea para el caacutelculo de prestaciones
Las principales caracteriacutesticas del algoritmo utilizado por el HPL son
Distribucioacuten ciacuteclica de datos de bloques de dos dimensiones
Variante derecha de la factorizacioacuten LU con pivoteo parcial (Teacutecnica de pivoteo
Dicta que el elemento pivote que debe escogerse es el mayor absolutamente de cada
columna)
Factorizacioacuten recursiva con pivoteo y reenviacuteo de columna
Distintas topologiacuteas virtuales de reenviacuteos
Algoritmo de reduccioacuten de reenviacuteo para ancho de banda (Castelloacute Gimeno 2014)
La resolucioacuten del sistema de ecuaciones se realiza del siguiente modo
1 Se crea un sistema de ecuaciones
(1)
119860119909 = 119887
(2)
119860 isin 119877119899119909119899
(3)
119909 119887 isin 119877119899
84
HPL calcula que la solucioacuten para un sistema de ecuaciones lineales se puede generalizar
como 119860119909 = 119887 donde 119860 es una matriz 119873 119909 119873 cuyos valores se generan aleatoriamente
119909 119910 119887 son vectores de tamantildeo 119873 Como se muestra en la Figura 43
2 Primero se calcula la factorizacioacuten 119871119880 con pivoteo parcial de los coeficientes 119899 y 119899 + 1
de la matriz [119860 119887]
(4)
119875119903[119860 119887] = [[119871119880] 119910]
(5)
119875119903 119871 119880 isin 119877119899119909119899
(6)
119910 isin 119877119899
El primer paso es la factorizacioacuten de la matriz 119860 en una matriz triangular superior 119880
y una matriz triangular inferior 119871 tal que 119860 = 119871119880 La factorizacioacuten se usa para calcular
el vector solucioacuten 119909
3 Una vez el pivoteo (representado por la permutacioacuten de la matriz 119875119903) y la factorizacioacuten
inferior se aplican sobre 119887 la solucioacuten se obtiene en un paso resolviendo el sistema
superior triangular
Figura 43 Sistema de Ecuaciones tipo 119860119909 = 119887 (Fuente Elaboracioacuten propia)
85
(7)
119880119909 = 119910
La matriz triangular inferior izquierda y el conjunto de pivotes no se devuelven en el
resultado Para la estabilidad numeacuterica el algoritmo de factorizacioacuten utiliza un pivote parcial de
fila
La implementacioacuten paralela de Linpack divide la matriz 119860 119873 119909 119873 en una cuadriacutecula de
procesos 119875 119909 119876 bidimensional y luego la divide en subgrupos de mosaicos 119873119861 119909 119873119861 (Petitet
Whaley Dongarra amp Cleary 2008)
Utilizando la herramienta HPL en esta investigacioacuten se obtuvieron los siguientes
resultados
La prueba abordoacute el ajuste de 119873 y la eficiencia obtenida en comparacioacuten con el rendimiento
maacuteximo Se determinoacute un valor para 119873 = 800000 aleatoriamente para ejecutar HPL en todo el
cluacutester Sin embargo el tiempo fue excesivo por lo tanto se determinoacute que este tamantildeo del
problema fue demasiado grande para el cluacutester Al realizar otros experimentos con valores maacutes
pequentildeos de 119873 se obtuvieron mejores resultados de rendimiento La Tabla 41 muestra el
rendimiento de HPL en GFlops para 119873 = 300000 400000 y 500000 Como se puede observar
en la Tabla 41 se obtuvo el mejor resultado de rendimiento 850 GFlops para 119873 = 500000 para
valores mayores de 119873 la distribucioacuten de cargas del cluacutester empieza a sobrepasar su capacidad como
se muestra en la Figura 44 y la vez su rendimiento disminuye Esto ocurre porque la cantidad de
memoria utilizada con las memorias intermedias de comunicacioacuten MPI es mayor de lo esperado
Por lo tanto es necesario dejar maacutes del 20 de la memoria para el sistema (Petitet Whaley
86
Dongarra amp Cleary 2008) Tambieacuten se realizaron pruebas usando solo un nodo de coacutemputo y el
rendimiento fue de 34 GFlops para 119873 = 20000
Tabla 41 Rendimiento de HP cluacutester (Fuente Elaboracioacuten propia)
Analizando la eficiencia obtenida para la ejecucioacuten de un solo nodo cuando 119873 = 20000
se obtuvo el 823 del rendimiento maacuteximo (el rendimiento maacuteximo para un solo nodo es 477
Gflops) Para todo el cluacutester el rendimiento maacuteximo seriacutea 119879119898119886119909 = 477 119909 17 =
8109 119866119891119897119900119901119904 aproximadamente
Figura 44 Distribucioacuten de cargas del cluacutester
0
500
1000
300000 400000 500000
Gflops
Gflops
87
La Figura 44 titulada ldquoDistribucioacuten de cargas del cluacutesterrdquo muestra la imagen de la
herramienta Ganglia de manera graacutefica a traveacutes de cuadros que variacutean de color dependiendo de la
carga que tenga cada uno de los nodos al momento de implementar la herramienta HPL De manera
inicial indica que el cluacutester tiene un total de 17 equipos de 4 cores cada uno eso da un total de 68
cores trabajando sin equipos inactivos Muestra tambieacuten una sobrecarga en el cluacutester y un
porcentaje promedio de 100 de uso en la uacuteltima hora
45 Establecer Estrategia
Esto significa uacutenicamente que en este apartado se realizaraacute una guiacutea baacutesica para procesar
los hashes obtenidos sin perder de vista que cada escenario a criptoanalizar es uacutenico en funcioacuten
de las circunstancias externas Como ya se ha mencionado anteriormente esta estrategia de
criptoanaacutelisis se ha planteado implementar dos meacutetodos los cuales son Fuerza Bruta y ataque de
diccionario sin importar si son o no los oacuteptimos debido a que se realizaraacute una comparativa de
capacidad de procesamiento
451 Fuerza Bruta Una vez que se han intentado varios meacutetodos y han fallado se puede
iniciar un ataque de fuerza bruta estaacutendar poniendo especial atencioacuten en la cantidad de siacutembolos
del alfabeto que puede usar el equipo a analizar Por encima de 8 caracteres esto generalmente no
tiene sentido debido a limitaciones de hardware y entropiacutea (complejidad de la contrasentildea) Una
contrasentildea de Windows seguacuten Microsoft (Microsoft Inc 2019) una contrasentildea de Windows debe
estaacute formada por
88
26 Caracteres mayuacutesculas de la ldquoArdquo a la ldquoZrdquo
26 Caracteres minuacutesculas de la ldquoardquo a la ldquozrdquo
10 Diacutegitos de base 10 (0 a 9)
32 Caracteres especiales (~$^amp_-+=|()[]ltgt)
94 Caracteres alfanumeacutericos en total
4511 Cantidad de combinaciones posibles Si se usa una clave numeacuterica (nuacutemeros del 0
al 9) existen 10 posibilidades de 4 diacutegitos de longitud que es la extensioacuten por defecto de los
teleacutefonos celulares Para 4 diacutegitos las combinaciones posibles seriacutean 10 mil 104 = 10000
(Labaca Castro 2014)
Por otro lado si tomamos un alfabeto de 26 letras mayuacutesculas y 26 minuacutesculas 10 nuacutemeros
y 10 caracteres especiales en total tenemos 72 diferentes posibilidades para un uacutenico caraacutecter Eso
significa que las combinaciones para una contrasentildea de 4 caracteres seriacutean 724 = 26873856
Baacutesicamente maacutes de 26 millones de combinaciones en una clave de 4 caracteres contra 10 mil en
una clave de 4 diacutegitos numeacutericos En este estudio se utiliza la contrasentildea de bloqueo descrita en el
apartado anterior que es de 94 combinaciones para cada caraacutecter teniendo una longitud de 7
caracteres por lo tanto seraacuten 947 = 64847759000000 de posibles combinaciones que
nuestros equipos deben explorar para obtener la contrasentildea correcta
Como se mencionoacute en el apartado 42 el usuario sobre el cual se realizoacute el criptoanaacutelisis
fue usuarioprueba el cual constaba de una contrasentildea de longitud 7 caracteres la cual despueacutes
de realizado el anaacutelisis y como se puede observar en la Figura 45
89
1 Anaacutelisis a usuario usuarioprueba
2 Nuacutemero de nodos en operacioacuten 17
3 Nuacutemero de procesos ejecutaacutendose de forma paralela 68
4 Tiempo de duracioacuten del anaacutelisis en el cluacutester 122727 horas
5 Contrasentildea criptoanalizada Pass7
Asiacute mismo en la Tabla 42 se muestra el resultado final y el tiempo de duracioacuten del
criptoanaacutelisis realizado al archivo SAM con el cluacutester y la computadora personal
Tabla 42 Resultados de criptoanaacutelisis de archivo SAM (Fuente Elaboracioacuten propia)
Nodos Nuacutecleos Tiempo de Procesamiento (Horas)
1 (PC) 4 1075316
17 (Cluacutester) 68 122727
1
2
3
4 5
Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester (Fuente Elaboracioacuten propia)
90
452 Diccionario Meacutetodo empleado para romper la seguridad de los sistemas basados en
contrasentildeas (password) en la que el atacante intenta dar con la clave adecuada probando todas (o
casi todas) las palabras posibles ingresadas previamente en un diccionario idiomaacutetico
Generalmente se emplean programas especiales que se encargan de ello
Este meacutetodo suele ser maacutes eficiente que el meacutetodo de fuerza bruta debido a que muchas
usuarios casi siempre suelen utilizar contrasentildeas con una o varias palabras existentes en su lengua
para que la contrasentildea no sea olvidada faacutecilmente y sea sencilla de recordar esto no es una praacutectica
recomendable (Alegsa 2018)
Para realizar este meacutetodo se utilizoacute un diccionario descargado de internet el cual contiene
10000000 de posibles contrasentildeas (g0tmi1k 2018)
Ademaacutes se ejecutoacute un programa creado en lenguaje C (Anexo 1) a traveacutes de la
implementacioacuten de las libreriacuteas MPI y open MPI propias de la arquitectura de cluacutester de
computadoras Este programa fue ejecutado en los mismos equipos descritos anteriormente para
obtener todos los nuacutemeros primos encontrados dentro de un intervalo dado En este caso el
intervalo dado fue de 10000000 con los siguientes resultados mostrados en la Tabla 43
Tabla 43 Resultados de ejecucioacuten de programa en C para la obtencioacuten de nuacutemeros primos (Fuente Elaboracioacuten
propia)
Nodos Nuacutecleos Tiempo de Procesamiento (Segs)
1 (PC) 4 5078
17 (Cluacutester) 68 00013
91
453 Analizar los resultados Posterior a realizar el criptoanaacutelisis y descifrar con eacutexito
una cantidad suficiente de hashes se analizan los resultados en busca de pistas o patrones Este
anaacutelisis puede ayudar a tener eacutexito en cualquier hash restante
454 Personalizar ataques Tomando como base el anaacutelisis de resultados realizado
previamente se disentildearaacuten diversas estrategias personalizadas que aprovechen las vulnerabilidades
conocidas o patrones Los ejemplos seriacutean ataques de maacutescara personalizados o reglas para
adaptarse al comportamiento o las preferencias del usuario objetivo
92
Conclusioacuten
El trabajo de investigacioacuten presentado parte de la necesidad de buscar alternativas para
explotar al maacuteximo la capacidad de procesamiento del equipo de coacutemputo que existe actualmente
dentro del inventario del Instituto Tecnoloacutegico de Acapulco asiacute como proveer una plataforma que
coadyuve a la investigacioacuten dentro del Instituto a traveacutes de implementar un cluacutester de coacutemputo
con capacidad para realizar proyectos en el aacuterea de ingenieriacutea y matemaacuteticas con el fin de optimizar
el tiempo de ejecucioacuten lo cual en un futuro se veraacute reflejado en ventajas para el desarrollo de la
regioacuten
La revisioacuten y anaacutelisis de informacioacuten en relacioacuten a cluacutesters es muy interesante pero a la
vez es compleja dado que involucra diferentes aspectos durante su evolucioacuten asiacute como diversas
metodologiacuteas para su formacioacuten e implementacioacuten Se considera de suma importancia para este
trabajo las revisiones efectuadas ya que son la base para la propuesta entregada
De acuerdo a las especificaciones teacutecnicas de los equipos informaacuteticos existentes dentro
del laboratorio de la Maestriacutea en Sistemas Computacionales y una vez que se realizoacute el anaacutelisis
de varios casos de eacutexito se propuso la metodologiacutea para implementacioacuten de un cluacutester homogeacuteneo
tipo Beowolf Este meacutetodo estaacute basado en otros que ya se han implementado bajo realidades
acadeacutemicas similares rescatando las etapas maacutes importantes de cada uno y complementaacutendolo con
los aportes personales se consideroacute que fue el oacuteptimo debido a que se implementoacute con hardware
convencional y herramientas de uso libre
93
El hecho de haber seleccionado un meacutetodo adecuado permitioacute superar gran parte los
problemas que presentaban las metodologiacuteas que fueron analizadas simplificoacute la implementacioacuten
del cluacutester y permitioacute el poder alcanzar una mayor estabilidad en su desempentildeo desde su etapa
inicial fue importante conocer el resultado en cada una de las etapas de implementacioacuten para
asegurar su desenvolvimiento en el futuro
Para integrar los equipos independientes a la arquitectura cluacutester se realizoacute el disentildeo de
una topologiacutea de red Gigabit Ethernet tipo estrella con un direccionamiento IP estaacutetico la
configuracioacuten de protocolos de comunicacioacuten remota sin autenticacioacuten la comparticioacuten de
archivos en red y la utilizacioacuten de aplicaciones de licencia GPL que permiten obtener el
funcionamiento similar a la de una supercomputadora
Haciendo uso de libreriacuteas de paso de mensajes (MPI) y el software John the Ripper para el
descifrado de contrasentildeas la arquitectura cluacutester implementada alcanzoacute una eficiencia de 885
de rendimiento en comparacioacuten con los recursos computacionales de un solo equipo con las
caracteriacutesticas de un nodo Ademaacutes otros de los proyectos ejecutados en la arquitectura cluacutester
para probar el rendimiento fue la ejecucioacuten de un programa para la deteccioacuten de nuacutemeros primos
dentro de un archivo de 10000000 de nuacutemeros obteniendo una eficiencia de maacutes de 99 gracias
a la distribucioacuten de tareas que proporcionan las libreriacuteas de paso de mensajes (MPI) dentro de la
arquitectura cluacutester
Con la implementacioacuten de la arquitectura cluacutester el laboratorio de la Maestriacutea en Sistemas
Computacionales podraacute dar soluciones potentes eficientes y econoacutemicas en los entornos de
94
investigacioacuten mejorando la capacidad de procesamiento en aplicaciones como evaluacioacuten de
algoritmos compresioacuten de archivos renderizacioacuten de imaacutegenes anaacutelisis de datos (big data) en un
tiempo relativamente bajo ideal para las necesidades educativas
La experiencia obtenida al realizar esta investigacioacuten y propuesta ha sido enriquecedora
tanto por la obtencioacuten de conocimiento en base a la historia evolucioacuten y arquitectura de cluacutesters
asiacute como la programacioacuten paralela y sus ventajas en diferentes proyectos desarrollados en todo el
mundo Igualmente la comparacioacuten entre cada uno de los modelos y meacutetodos resulta interesante
dado que existe un sinnuacutemero de ejemplos con caracteriacutesticas diferentes pero baacutesicamente con un
mismo objetivo final
Trabajo Futuro
El cluacutester implementado en el Laboratorio de la Maestriacutea en Sistemas computacionales del
Instituto Tecnoloacutegico de Acapulco puede ser utilizado en gran cantidad de aplicaciones dentro de
las diferentes aacutereas de investigacioacuten del Instituto asiacute como estar disponible para el Departamento
de Posgrado e Investigacioacuten como apoyo durante la realizacioacuten de tareas y proyectos dentro de las
aacutereas de Desarrollo de Sistemas Inteligentes asiacute como de Tecnologiacuteas Web
Propuesta de Trabajo a Futuro
Durante la realizacioacuten de este proyecto se observoacute la necesidad que existe dentro del
departamento de Investigacioacuten y Posgrado de equipos de alta capacidad de procesamiento para
realizar de una manera maacutes eficiente las investigaciones que se estaacuten llevando a cabo Una de ellas
es el ldquoSistema de apoyo al diagnoacutestico oportuno de Retinopatiacutea Diabeacuteticardquo en la cual a traveacutes del
entrenamiento de una red neuronal se clasificaraacuten y evaluaraacuten un nuacutemero de 3000 imaacutegenes para
95
demostrar la presencia de dicha enfermedad en pacientes del Instituto Estatal de Oftalmologiacutea
Actualmente se ha realizado una prueba de entrenamiento de dicha red neuronal con 70 imaacutegenes
obteniendo como resultado un tiempo clasificacioacuten y evaluacioacuten de 301532 horas en un equipo
con un procesador Core I7 con 8 GB en memoria RAM
96
Bibliografiacutea
Alegsa (01 de 01 de 2018) Alegsa Diccionario Informaacutetico Recuperado el 07 de 2019 de
Alegsa httpwwwalegsacomarDicataque_por_diccionariophp
Avecto (2017) Avecto Limited Recuperado el 10 de 08 de 2018 de AVECTO a Bomgar
Company wwwavectocom
Borghello C (2009) Seguridad de la Informacioacuten Recuperado el 11 de 2018 de Criptografiacutea de
la A-Z httpswwwsegu-infocomarproyectosp1_hashhtm
Branch Bedoya J amp Mesa Muacutenera A (Diciembre de 2008) Implementacioacuten de un cluster
homogeacuteneo para la resolucioacuten de problemas de alta complejidad computacional Avances
en Sistemas e Informaacutetica 5(3)
ByteBleeder (02 de 06 de 2017) Practical guide to NTLM Relaying in 2017 Obtenido de Github
httpsbyt3bl33d3rgithubiopractical-guide-to-ntlm-relaying-in-2017-aka-getting-a-
foothold-in-under-5-minuteshtml
Caballero A (26 de 06 de 2018) Hacking Eacutetico Recuperado el 03 de 2019 de John The Ripper
httpwwwreydescomdq=Recuperar_la_Contrasena_del_Administrador_utilizando_s
amdump2_y_John_The_Ripper
Carretero Peacuterez J de Miguel Anasagasti P Garciacutea Carballeira F amp Peacuterez Costoya F (2001)
Sistemas Operativos Una visioacuten aplicada (C F Madrid Ed) Madrid Espantildea
McGRAW-HillInteramericana
Castelloacute Gimeno A (30 de 07 de 2014) Universitat Jaume Recuperado el 10 de 2019 de
Evaluacioacuten de prestaciones mediante laaplicacioacuten HPL de clusters utilizandorCUDA
97
httprepositoriujiesxmluibitstreamhandle10234115082TFM_2014_CastelloGimen
oApdfsequence=1ampisAllowed=y
Chaacutevez J Echeverriacutea C Correa M Vaacutezquez E Suaacuterez M Maacutermol X Diacuteaz G (07 de
1999) Centro de Caacutelculo Cientiacutefico Recuperado el 01 de 05 de 2018 de Universidad de
Los Andes httpwwwcecalculavedocumentaciontutorialesbeowulfinformehtml
Chirinov R (2003) Nfinite9000 SL Recuperado el 26 de 04 de 2018 de Noticias 3D
httpswwwnoticias3dcomarticuloaspidarticulo=248amppag=4
Coffin J (23 de 07 de 2015) Quora Recuperado el 15 de 08 de 2019 de
httpswwwquoracomWhat-does-it-mean-when-a-hashing-algorithm-has-been-broken
Dongarra J (2010) Top500 Super computer sites Recuperado el 07 de 2019 de http
wwwtop500org
Educba (01 de 01 de 2019) Recuperado el 10 de 2019 de Educbaorg
httpswwweducbacomidea-algorithm
europa press (04 de 06 de 2013) Portal Tic Recuperado el 18 de 11 de 2018 de Europa Press
httpswwweuropapressesportalticgadgetsnoticia-cuarta-generacion-intel-core-mayor-
salto-cuanto-ahorro-energetico-20130604174722html
g0tmi1k (2018) github Recuperado el 05 de 2019 de github
httpsgithubcomdanielmiesslerSecListsblobmasterPasswordsCommon-
Credentials10-million-password-list-top-1000000txt
Gonzaacutelez Agudelo D (2014) El riesgo y la falta de politicas de seguridad informaacutetica una
amenaza en las empresas certificadas basc Recuperado el 20 de 05 de 2018 de
Universidad Militar Nueva Granada
httpsrepositoryunimilitareducobitstream10654122511ENSAYO20FINALpdf
98
Gonzaacutelez Ramiacuterez E amp Rodriacuteguez Saacutenchez A (2008) Disentildeo e implementacioacuten de un cluster
tipo BEOWULF para el desarrollo de coacutemputo cientiacutefico avanzado CdMx Mexico
Hernandez M (2013) Forensics Mexico Recuperado el 07 de 2018 de La importancia del
registro de Windows parte 1 httpforensicsmexicoblogspotcom201309la-
importancia-del-registro-de-windowshtml
Kowalczyk C (01 de 2015) Crypto-IT Recuperado el 11 de 2018 de Crypto-IT
httpwwwcrypto-itnetengasymmetricindexhtml
Labaca Castro R (13 de 06 de 2014) We live security Recuperado el 2019 de 08 de 07 de
Welivesecuritybyeset httpswwwwelivesecuritycomla-es20140613matematica-
claves-numerica-alfanumerica
Lizaacuterraga C (2002) Departamento de Fiacutesica Recuperado el 12 de 03 de 2018 de Universidad
de Sonora httpclustersfisicausonmx
Llorens E amp Pentildea M (2002) Recuperado el 04 de 2018 de Departament dArquitectura de
Computadors httppersonalsacupceduenricPFCBeowulfbeowulfhtml
Meneacutendez-Barzanallana R (07 de 08 de 17) Universidad de Murcia Recuperado el 11 de 2018
de Informaacutetica Aplicada a las Ciencias Sociales
httpswwwumesdocenciabarzanaIACCSSCriptografiahtml
Merkle R amp Damgaringrd I (sf) Numerenturorg Recuperado el 06 de 2019 de Para computar -
numerenturorg httpnumerenturorgfuncion-merkle-damgard
Microsoft Inc (02 de 05 de 2019) wwwmicrosoftcom Obtenido de Password must meet
complexity requirements httpsdocsmicrosoftcomes-eswindowssecuritythreat-
protectionsecurity-policy-settingspassword-must-meet-complexity-requirements
99
Mifsud E (26 de 03 de 2012) Introduccioacuten a la seguridad informaacutetica Recuperado el 07 de 05
de 2018 de Ministerio de educacioacuten cultura y deportes Gobierno de Espantildea
httprecursosticeducacionesobservatoriowebessoftwaresoftware-general1040-
introduccion-a-la-seguridad-informaticashowall=1
Murugesan S (01 de 02 de 2008) Researchgate doi101109MITP200810
Nahar K amp Abu Abbas O (01 de 2010) Researchgate Recuperado el 07 de 2019 de
Researchgate
httpswwwresearchgatenetpublication315492522_Hybrid_Cipher_System
Nievas F Pino O amp Arroyo R (sf) Los clusters como Plataforma de Procesamiento Paralelo
Recuperado el 25 de 04 de 2018 de
httpusuarioslycoseslacaraocultadescargasClusters_definitivo pdf
Pawar S (2016) A computer science portal for geeks Recuperado el 10 de 2018 de
Geeksforgeeks httpswwwgeeksforgeeksorgrc5-encryption-algorithm
Peleus (2019) NETSEC Recuperado el 08 de 2019 de httpsnetsecwsp=314
Peacuterez Tavera I (2014) Obtenido de Universidad Autonoma del Estado de Hidalgo
httpswwwuaehedumxscigeboletinprepa4n2e4html
Peacuterez M (2001) Recuperado el 15 de 04 de 2018 de
httpwwwdragonesorgBibliotecaArticulosArquitecturaParalela2pdf
Petitet A Whaley R C Dongarra J amp Cleary A (2008) HPL - A Portable Implementation of
the High-Performance Linpack Benchmark for Distributed-Memory Computers
Recuperado el 07 de 2019 de httpwwwnetliborgbenchmarkhpl
Picolet J (2017) Hash Crack Password Cracking Manual (Vol 2) Createspace Independent
Pub
100
Preukschat A (23 de 02 de 2015) Oro y Finanzas Recuperado el 07 de 2019 de
httpswwworoyfinanzascom201502que-es-colision-criptografia-bitcoin
Robbins D (2008) OpenMosix Recuperado el 22 de 04 de 2018 de the openMosix Project
httpopenmosixsourceforgenetintroduction_to_openmosixhtml
Rocha Quezada J d Botello Rionda S Vargas Feacutelix J M amp Munguiacutea Torres I A (Sep-Dic
de 2011) Disentildeo e implementacioacuten de un cluacutester de coacutemputo de alto rendimiento Acta
Universitaria 21(3) 24-33 Recuperado el 1 de 12 de 2018
Rocksclusters (01 de 01 de 2010) httpwwwrocksclustersorg Recuperado el 01 de 06 de 2018
de httpwwwrocksclustersorg httpwwwrocksclustersorg
Sanjoy K (01 de 01 de 2015) DZone Recuperado el 15 de 06 de 2019 de DZone
httpsdzonecomarticlessecurity-algorithms-des-algorithm
Security Degree Hub (01 de 2017) Security Degree Hub Recuperado el 13 de 02 de 2019 de
Security Degree Hub httpswwwsecuritydegreehubcomwhat-is-cryptanalysis
Simmons G (01 de 01 de 2019) Encyclopedia Britannica Recuperado el 08 de 2019 de
Encyclopedia Britannica httpswwwbritannicacomtopicRSA-encryption
statista (09 de 2017) Statista Obtenido de Statista Co httpsesstatistacom
Turner D (2004) Recuperado el 12 de 02 de 2018 de Ames Lab
httpwwwsclameslabgovProjectsparrallel_computingpara_intohtml
United States Government Department of Defense (1983) Trusted Computer System Evaluation
Criteria Rainbow Series
Universidad Internacional de Valencia (09 de Septiembre de 2016) Nuestros
expertosTecnologiacutea Recuperado el 27 de Abril de 2018 de Universidad Internacional de
Valencia httpswwwuniversidadviuesla-seguridad-informatica-puede-ayudarme
101
Wallen J (19 de 01 de 2019) Lifewire Recuperado el 13 de 06 de 2019 de Lifewire
httpswwwlifewirecomgnome-3-desktop-4175640
Yang H (01 de 02 de 2019) Herong Yang Recuperado el 15 de 06 de 2019 de Cryptography
Tutorials httpwwwherongyangcomCryptographyDSA-Introduction-What-Is-DSA-
Digital-Signature-Algorithmhtml
102
Anexo 1
Programa en Lenguaje C para la obtencioacuten de nuacutemeros primos utilizando libreriacuteas mpi
include ltcstdlibgt
include ltiostreamgt
include ltiomanipgt
include ltcmathgt
include ltctimegt
include mpih
using namespace std
int main ( int argc char argv[] )
int prime_number ( int n int id int p )
void timestamp ( )
int main ( int argc char argv[] )
int i
int id
int master = 0
int n
int n_factor
int n_hi
int n_lo
int p
int primes
int primes_part
double wtime
n_lo = 1
n_hi = 10000000
n_factor = 2
MPIInit ( argc argv )
p = MPICOMM_WORLDGet_size ( )
id = MPICOMM_WORLDGet_rank ( )
if ( id == master )
cout ltlt n
cout ltlt Cuenta primosn
cout ltlt C++MPI versionn
cout ltlt n
cout ltlt Programa para contar cantidad de primos para un N dadon
cout ltlt Corriendo en ltlt p ltlt procesosn
cout ltlt n
103
cout ltlt N S Tiempon
cout ltlt n
n = n_lo
while ( n lt= n_hi )
if ( id == master )
wtime = MPIWtime ( )
MPICOMM_WORLDBcast ( ampn 1 MPIINT master )
primes_part = prime_number ( n id p )
MPICOMM_WORLDReduce ( ampprimes_part ampprimes 1 MPIINT
MPISUM
master )
if ( id == master )
wtime = MPIWtime ( ) - wtime
cout ltlt ltlt setw(8) ltlt n
ltlt ltlt setw(8) ltlt primes
ltlt ltlt setw(14) ltlt wtime ltlt n
n = n n_factor
MPIFinalize ( )
if ( id == master )
cout ltlt n
cout ltlt PRIME_MPI - Procesos maestron
cout ltlt Finalizacion del calculo normaln
return 0
int prime_number ( int n int id int p )
int i
int j
int prime
int total
104
total = 0
for ( i = 2 + id i lt= n i = i + p )
prime = 1
for ( j = 2 j lt i j++ )
if ( ( i j ) == 0 )
prime = 0
break
total = total + prime
return total
void timestamp ( )
define TIME_SIZE 40
static char time_buffer[TIME_SIZE]
const struct tm tm
size_t len
time_t now
now = time ( NULL )
tm = localtime ( ampnow )
len = strftime ( time_buffer TIME_SIZE d B Y IMS p tm )
cout ltlt time_buffer ltlt n
return
undef TIME_SIZE
vi
Abstract
This work begins with a review of the importance of security in any aspect of life and
especially in the workplace specifically in the computer area Later this work speaks briefly about
how cryptography has been present at important moments in the life of the human being especially
in the military field in which it has been fundamental to allow secure communications Currently
cryptography is inside our daily life when we conduct transactions on the internet in a secure
manner As part of the research in this work the types of cryptography and cryptanalysis are
described as well as the security levels of operating systems and above all the main methods of
computers clustering to implement a system with a faster method of cryptanalysis in an operative
system with a security level C1
Keywords cluster security cryptanalysis
vii
Iacutendice de Contenido
Descargo de Responsabilidad Institucional ii
Dedicatoria iii
Agradecimientos iv
Resumen v
Abstract vi
Iacutendice de Contenido vii
Iacutendice de Figuras x
Iacutendice de Tablas xi
Capiacutetulo 1 Introduccioacuten 1 11 Antecedentes del problema 1
12 Planteamiento del Problema 4
13 Objetivos 6
131 Objetivo General 6
132 Objetivos Especiacuteficos 6
14 Justificacioacuten 7
15 Hipoacutetesis 7
16 Alcances y Limitaciones 8
17 Impacto Social Tecnoloacutegico Econoacutemico y Ambiental 8
171 Impacto social 8
172 Impacto ambiental 9
173 Impacto econoacutemico 10
18 Metodologiacutea a Utilizar 10
181 Anaacutelisis 10
182 Disentildeo 10
1821 Economiacutea 10
1822 Instalaciones 10
1823 Escalabilidad 11
1824 Red 11
1825 Software 11
1826 Almacenamiento 12
183 Implementacioacuten 12
1831 Software 12
1832 Hardware 13
1833 Recursos totales del cluacutester 13
19 Aseguramiento Teacutecnico ndash Material 13
191 Hardware 14
viii
1911 Equipo de coacutemputo 14
Capiacutetulo 2 Estado del Arte 16
Marco Teoacuterico 27 21 Seguridad de la Informacioacuten 27
211 Objetivo de la seguridad de la informacioacuten 27
212 Principios de la seguridad informaacutetica 28
213 Caracteriacutesticas de seguridad informaacutetica 28
214 Formas de Autenticacioacuten 29
215 Ciber-seguridad 29
22 Criptografiacutea 30
221 Tipos de Criptografiacuteas 30
2211 Tablas Hash 30
2212 Tipos de algoritmos Hash 31
22121 SHA - 1 (Secure Hash Algorithm) 31
22122 MD5 (Message Digest Algorithm) 31
22123 RIPEMD ndash 160 32
22124 Funcioacuten Merkle-Damgaringrd 32
2213 Cifrado simeacutetrico 32
22131 RC5 (Cifrado de Rivest) 33
22132 IDEA (International Data Encryption Algorithm) 33
22133 DES (Data Encryption Standard) 34
2214 Cifrado asimeacutetrico 35
22141 DSA (Digital Signature Algorithm - Algoritmo de Firma digital) 36
22142 RSA 37
2215 Cifrado hiacutebrido 38
23 Criptoanaacutelisis 38
24 Niveles de seguridad 39
241 Nivel D1 40
242 Nivel C1 40
243 Nivel C2 41
244 Nivel B1 42
245 Nivel B2 43
246 Nivel B3 44
247 Nivel A1 45
25 Sistemas Operativos 46
251 Windows 47
252 Registro de Windows 48
253 Administrador de cuentas de seguridad 49
2531 Identificador de Seguridad (SID Security Identifier) 50
254 Autenticacioacuten NTML 51
26 LINUX (ROCKS) 52
261 Escritorio 53
262 Paquete de Oficina 53
263 Organizador de archivos 54
27 Agrupamiento (Cluacutester) de Computadoras 55
271 Beowulf 56
ix
272 Mosix 56
273 OpenMosix 57
Capiacutetulo 3 Implementacioacuten de Cluacutester 59 31 Requisitos previos 59
311 Conexioacuten de los equipos y acceso a la red 59
312 Configuracioacuten de la BIOS 60
3121 ATAIDE Mode 60
3122 PXE 62
32 Instalacioacuten de Sistema Operativo Rocks 63
321 Configuracioacuten del teclado 70
33 Instalacioacuten de los nodos 70
331 Administracioacuten de nodos 72
332 Creacioacuten de cuentas de usuario 73
333 Configuracioacuten del directorio compartido 73
34 Operaciones baacutesicas de Rocks 74
Capiacutetulo 4 Metodologiacutea y Resultados 77 41 Obtener Archivo hash 77
42 Dar Formato al Hash 80
43 Evaluar la fuerza del Hash 80
44 Calcular la capacidad del equipo 82
45 Establecer Estrategia 87
451 Fuerza Bruta 87
4511 Cantidad de combinaciones posibles 88
452 Diccionario 90
453 Analizar los resultados 91
454 Personalizar ataques 91
Conclusioacuten 92
Trabajo Futuro 94 Propuesta de Trabajo a Futuro 94
Bibliografiacutea 96
Anexo 1 102
x
Iacutendice de Figuras
Figura 31 Esquema tiacutepico de configuracioacuten de un cluacutester xi
Figura 32 Imagen del Bios del equipo en la opcioacuten ldquodrive configurationrdquo 61
Figura 33 Bios ATAIDE Legacy Mode 61
Figura 34 Bios Boot PXE 62
Figura 35 Bios Boot device prioriry 63
Figura 36 Pantalla de Inicio de instalacioacuten de Rocks 64
Figura 37 Pantalla de seleccioacuten de Rolls 65
Figura 38 Listado de opciones de rolls para instalar 65
Figura 39 Informacioacuten baacutesica del cluacutester a instalar 66
Figura 310 Configuracioacuten Ethernet de la red privada 67
Figura 311 Configuracioacuten Ethernet de la red puacuteblica 67
Figura 312 Configuracioacuten de DNS y Gateway 68
Figura 313 Ingresar contrasentildea de usuario root 68
Figura 314 Configuracioacuten horaria 69
Figura 315 Particiones del disco duro 69
Figura 316 Pantalla para ingresar nodos 71
Figura 317 Indicador de insercioacuten de nuevos nodos 71
Figura 318 Comando qstat ndashf 74
Figura 319 Enviacuteo de trabajos por medio del comando qsub 75
Figura 320 Estado de los trabajos pendientes mostrados por qstat ndashf 75
Figura 321 Visualizacioacuten de la distribucioacuten de cargas en el cluacutester usando la herramienta
Ganglia 76
Figura 41 Arranque con LiveUSB KaliLinux 79
Figura 42 Resultado de la ejecucioacuten de la herramienta samdump2 80
Figura 43 Sistema de Ecuaciones tipo 119860119909 = 119887 Fuente Propia 84 Figura 44 Distribucioacuten de cargas del cluacutester 86
Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester 89
xi
Iacutendice de Tablas
Tabla 11 Costo del Proyecto 15
Tabla 41 Rendimiento de HP cluacutester (Fuente Elaboracioacuten propia) 86
Tabla 42 Resultados de criptoanaacutelisis de archivo SAM (Fuente Elaboracioacuten propia) 89
Tabla 43 Resultados de ejecucioacuten de programa en C para la obtencioacuten de nuacutemeros primos
(Fuente Elaboracioacuten propia) 90
1
Capiacutetulo 1 Introduccioacuten
11 Antecedentes del problema
Sin lugar a duda una de las herramientas maacutes importantes producida en el siglo XX ha sido
la computadora la cual ha provocado cambios vertiginosos en la sociedad y en el progreso de la
misma En la actualidad el entorno estaacute praacutecticamente controlado por las nuevas tecnologiacuteas que
a medida que transcurre el tiempo avanzan sin liacutemites y en ocasiones son utilizadas
incorrectamente provocando dantildeos de grandes dimensiones
Los trascendentales cambios operados en el mundo moderno caracterizados por su
constante desarrollo la acelerada globalizacioacuten de la economiacutea la acentuada dependencia a
almacenar grandes voluacutemenes de informacioacuten y los sistemas que la proveen aunado a grandes
inversiones de las empresas en conocimiento actual y futuro en sistemas de informacioacuten ademaacutes
del potencial que poseen las tecnologiacuteas para cambiar draacutesticamente las organizaciones y las
praacutecticas de negocio asiacute como crear nuevas oportunidades disentildear nuevas estructuras tecnoloacutegicas
basadas en informacioacuten la convierte en un activo codiciable Tales avances hacen permanente el
riesgo en las tecnologiacuteas y nos llevan a pensar en la problemaacutetica sobre la seguridad informaacutetica
La proteccioacuten de datos documentos y control de acceso a la informacioacuten es un tema que
cada diacutea toma maacutes fuerza en las grandes compantildeiacuteas debido a las diferentes praacutecticas de
especialistas tecnoloacutegicos como los son los hackers y crackers que roban informacioacuten vital para
posteriormente sacar provecho de ella
2
ldquoDesde la aparicioacuten de los grandes sistemas aislados hasta nuestros diacuteas en los que el
trabajo en red es lo habitual los problemas derivados de la seguridad de la informacioacuten han ido
tambieacuten cambiando evolucionando pero estaacuten ahiacute y las soluciones han tenido que ir adaptaacutendose
a los nuevos requerimientos teacutecnicos Aumenta la sofisticacioacuten en el ataque y ello aumenta la
complejidad de la solucioacuten pero la esencia es la mismardquo (Mifsud 2012)
Dentro del mundo actual la informacioacuten es denominada un activo importante de una
institucioacuten la cual debe ser protegida para evitar su peacuterdida modificacioacuten o el uso inadecuado de
su contenido
El extraviacuteo o el mal uso de informacioacuten que para alguien es confidencial genera dantildeos y
repercusiones directas relacionadas a la integridad disponibilidad y confidencialidad de los
archivos y a su vez a los duentildeos de dicha informacioacuten
ldquoLa seguridad informaacutetica se distingue por tener dos propoacutesitos de seguridad la Seguridad
de la Informacioacuten y la Proteccioacuten de Datos estos se diferencian debido a que los datos son valores
numeacutericos que soportan la informacioacuten mientras que la informacioacuten es aquello que tiene un
significado para nosotrosrdquo (Gonzaacutelez Agudelo 2014)
La seguridad informaacutetica consiste en asegurar que los recursos del sistema de informacioacuten
(material informaacutetico o programas) de una organizacioacuten sean utilizados de la manera que se decidioacute
3
inicialmente y que el acceso a la informacioacuten alliacute contenida asiacute como su modificacioacuten soacutelo sea
posible a las personas que se encuentren acreditadas y dentro de los liacutemites de su autorizacioacuten
Actualmente hay mucha informacioacuten circulando en internet por ejemplo correos
electroacutenicos publicaciones en Twitter Facebook videos fotos comercio electroacutenico secretos de
estado militares o industriales Lamentablemente dicha red es puacuteblica e insegura dentro de la cual
existen usuarios bien intencionados y muchos mal intencionados Diariamente encontramos
noticias de sitios con intrusiones mal intencionadas (hackeados) clonacioacuten de tarjeta de creacutedito o
imaacutegenes adulteradas Todo lo anterior motiva la necesidad de proteger la informacioacuten a traveacutes de
mecanismos que impidan a los usuarios no autorizados acceder a dicha informacioacuten
4
12 Planteamiento del Problema
Los sistemas de informacioacuten actuales estaacuten relacionados completamente con la exposicioacuten
de su informacioacuten a entidades externas que son ajenas a la organizacioacuten o delegacioacuten a la que
pertenecen
Cuando no se conoce el alcance que tienen los sistemas informaacuteticos ni lo vulnerables que
pueden ser si son expuestos a Internet por los mismos empleados de la organizacioacuten puede darse
ldquofugardquo de informacioacuten hacia el exterior esto los hace vulnerables a eventos y amenazas que
conllevan a riesgos que pueden provocar peacuterdidas tangibles e intangibles las cuales se traducen
en peacuterdidas que en muchos de los casos por decir lo menos seraacuten monetarias
El portal espantildeol de estadiacutesticas statista muestra la cuota de mercado de los principales
sistemas operativos a nivel mundial a fecha de febrero de 2017 seguacuten el nuacutemero de instalaciones
(statista 2017) Windows 10 fue el segundo sistema operativo maacutes instalado con una cuota de
mercado de 253 Esto significa que alrededor de una de cada cuatro computadoras estaacute
gobernado por este sistema operativo Por su parte en el caso de Windows 7 el porcentaje se situacutea
por encima del 45 a pesar de que ya no se vende ninguacuten PC con este sistema operativo Hablando
de manera conjunta los sistemas operativos Windows cuentan con una cuota del mercado global
de 8857
La empresa de seguridad informaacutetica Britaacutenica Avecto informoacute en su Microsoft
Vulnerabilities Report 2017 (Avecto 2017) (reporte 2017 de vulnerabilidades de Windows) un
aumento de vulnerabilidades publicadas del 111 en los uacuteltimos 5 antildeos de las cuales 235 criacuteticas
5
fueron mitigadas removiendo permisos de administrador asiacute como otras muy importantes
enfocadas al Administrador de Cuentas de Seguridad (SAM Security Account Manager por sus
siglas en ingleacutes) la cual es una base de datos almacenada como un archivo del registro en Windows
y que almacena las contrasentildeas de los usuarios en un formato hash (Algoritmos que crean a partir
de una entrada una salida alfanumeacuterica de longitud fija)
6
13 Objetivos
131 Objetivo General A traveacutes de la implementacioacuten de un procedimiento de fuerza
bruta utilizando para ello un cluacutester de alto rendimiento asiacute como software de uso libre lograr
capacidad de procesamiento capaz de vulnerar un sistema de autenticacioacuten nivel C1
132 Objetivos Especiacuteficos
Analizar los diferentes niveles de seguridad de sistemas operativos
Analizar diferentes meacutetodos de criptoanaacutelisis para vulnerar el Administrador de
cuentas de seguridad
Estudiar las teacutecnicas de agrupamiento de computadoras (clustering) para la
obtencioacuten de mayor poder de procesamiento
Implementar un cluacutester de alto rendimiento en el Laboratorio de la Maestriacutea en
Sistemas Computacionales del Instituto Tecnoloacutegico de Acapulco para ejecutar
operaciones de coacutemputo distribuido
7
14 Justificacioacuten
Antes la seguridad de la informacioacuten se realizaba a traveacutes de medios fiacutesicos por ejemplo
una caja fuerte en la cual las personas resguardaban objetos o informacioacuten valiosa para ellos Con
la introduccioacuten de las computadoras y el uso de internet los usuarios comienzan a almacenar
informacioacuten importante dentro de sus equipos por lo que se considera indispensable el uso de
herramientas que brinden proteccioacuten a la informacioacuten que se encuentra resguardada dentro de
eacutestas Los usuarios informaacuteticos suelen enviar informacioacuten por la red en las empresas al realizar
traacutemites o enviar informes a socios jefes entre otros
El resguardo de informacioacuten siempre ha sido importante para los seres humanos con la
diferencia que anteriormente no se contaba con los avances tecnoloacutegicos que tenemos actualmente
puesto que con la introduccioacuten de internet y el uso de dispositivos electroacutenicos se tiene mayor
riesgo de la informacioacuten que en ellos se maneja
La proteccioacuten del contenido de los datos es una necesidad urgente en casi todos los aacutembitos
de la sociedad incluyendo los servicios puacuteblicos y privados por lo que la tecnologiacutea de la
seguridad de los sistemas de cifrado se encuentra de frente a verdaderos retos
15 Hipoacutetesis
A traveacutes de un de fuerza bruta como teacutecnica de criptoanaacutelisis y con la ayuda de una mayor
capacidad de procesamiento mediante la implementacioacuten de agrupamiento de computadoras
(cluacutester) de alto rendimiento seraacute posible encontrar alguna vulnerabilidad dentro del sistema de
administracioacuten de cuentas de seguridad de Windows server 2012
8
16 Alcances y Limitaciones
Esta tesis se centraraacute en el sistema operativo Windows como objeto de estudio al cual se
le realizaraacute el criptoanaacutelisis
La tesis se enfocaraacute en el meacutetodo Beowulf para realizar el agrupamiento de computadoras
asiacute como la distribucioacuten de software libre del sistema operativo Linux Rocks
El nuacutemero de equipos disponibles para poder realizar el agrupamiento es de 17
computadoras hasta lograr el poder de coacutemputo de 800 Gflops
17 Impacto Social Tecnoloacutegico Econoacutemico y Ambiental
La sostenibilidad del presente proyecto seraacute abordada a partir de los siguientes aspectos
171 Impacto social A veces se puede pensar que un cluacutester de alto rendimiento pudiera
no tener alguacuten impacto directo en el medio social pero si nos enfocamos a un punto de vista en
donde gracias a la capacidad de procesamiento de estas maacutequinas han sido parte fundamental en
el desarrollo de proyectos que inciden de manera directa en beneficio de la sociedad en la que
vivimos como lo es la medicina la fiacutesica quiacutemica
Este proyecto busca beneficiar a nuestra sociedad proveyendo su capacidad de
procesamiento en la buacutesqueda de alguna vulnerabilidad en el sistema operativo maacutes utilizado hoy
en diacutea como lo es Windows ademaacutes de que estaraacute disponible para la comunidad cientiacutefica y
9
estudiantil del Instituto Tecnoloacutegico de Acapulco para optimizar tiempo de caacutelculo en futuras
investigaciones
172 Impacto ambiental Green IT tambieacuten conocido como Green Computing o
traducido al espantildeol como Tecnologiacuteas Informaacuteticas Verdes es definido como el estudio y la
praacutectica de disentildear desarrollar usar y disponer de computadoras servidores y diferentes
perifeacutericos tales como monitores impresoras dispositivos de almacenamiento de redes y
comunicaciones eficientemente y efectivamente con un impacto miacutenimo o nulo en el medio
ambiente (Murugesan 2008)
Bajo la premisa anterior este proyecto hace uso de los equipos con los que cuenta
actualmente el laboratorio de la Maestriacutea en Sistemas Computacionales lo cual evitaraacute la
adquisicioacuten de equipo nuevo y por consecuencia desechar el equipo existente evitando desperdicio
electroacutenico Dicho equipo cuenta con un procesador Intel I3 de 4ta generacioacuten lo cual seguacuten el
portal electroacutenico Europa press
ldquoEsta nueva generacioacuten supone el mayor salto en cuanto ahorro energeacutetico de la historia
de Intel asiacute como una mejora en los graacuteficos y nuevas experiencias de usuariordquo (europa press
2013)
Teniendo como base estos dos puntos importantes como lo son la reutilizacioacuten de equipo
y utilizando procesadores de bajo consumo energeacutetico es como este proyecto busca contribuir de
manera positiva con el medio ambiente
10
173 Impacto econoacutemico Actualmente existe una gran necesidad de procesar grandes
cantidades de datos lo cual hace imprescindible disponer de maacutequinas con estas caracteriacutesticas sin
embargo su alta complejidad aunado al gran costo hace que en instituciones de caraacutecter puacuteblico
sea muy complicado conseguir recurso para este fin Sin embargo un cluacutester de alto rendimiento
reutilizaraacute equipo propio evitando asiacute gastos por concepto de adquisicioacuten de equipo siendo de
esta manera viable para instituciones de caraacutecter puacuteblico
18 Metodologiacutea a Utilizar
181 Anaacutelisis Despueacutes de analizar las diferentes metodologiacuteas de clustering se optoacute por
desarrollar e implementar un cluacutester de alto rendimiento (HPC)
182 Disentildeo
1821 Economiacutea Debido a las caracteriacutesticas del equipo con el cual cuenta el Laboratorios
de la Maestriacutea en Sistemas Computacionales los componentes utilizados para este proyecto son
considerados de uso comuacuten y de bajo costo lo cual los hace faacutecilmente reemplazables en caso de
fallo a un costo accesible El equipo es de la marca Acer Aspire modelos AXC-605-M021 lo cual
nos hace tener ventaja y respaldo del fabricante con respecto a hardware geneacuterico
1822 Instalaciones Un cluacutester requiere de un ambiente controlado Esto es una
habitacioacuten especial con sistema de enfriamiento capacidad suficiente de carga eleacutectrica control
de humedad y un ambiente libre de polvo Ademaacutes se deben considerar el peso del equipo sobre
el piso (ya sea falso o piso normal) Se recomienda colocarlo en los soacutetanos o en la plata baja de
edificios (Rocha Quezada Botello Rionda Vargas Feacutelix amp Munguiacutea Torres 2011)
11
En el laboratorio de la Maestriacutea en Sistemas Computacionales se cuenta con espacio que
reuniacutea la mayoriacutea de las caracteriacutesticas requeridas para este proyecto
1823 Escalabilidad Un cluacutester debe ser faacutecilmente escalable y a su vez confiable Por
tal motivo se ha utilizado equipo de marca lo cual nos proporciona maacutes de confiabilidad en su
desempentildeo y a su vez facilidad de aumentar el nuacutemero de equipos si en un futuro fuese necesario
agrandar este proyecto Se armoacute un cluacutester de cinco computadoras con procesadores Intel Core I3
de 64 bits en cada nodo La memoria incluida y perifeacutericos son faacuteciles de adquirir en el mercado
1824 Red En la parte de redes se utilizoacute un switch fast Ethernet con una velocidad de 1
Gbps el cual tiene tazas de transferencia raacutepida y el costo es notablemente maacutes econoacutemico que
uno de fibra oacuteptica
El cableado seleccionado fue el estaacutendar UTP de cobre con la norma Gigabit Ethernet de
IEEE 8023ab con la categoriacutea de cableado 6e que soporta tazas de transferencia de datos de
1000Base T (1 Gbps)
1825 Software
ldquoEl sistema operativo debe constar con servicios dedicados para compartir y respaldar
archivos asiacute como capacidad de acceder a los datos de trabajo raacutepidamente El sistema operativo
debe tambieacuten proveer servicios de monitoreo y reporte de fallas en el sistemardquo (Rocha Quezada
Botello Rionda Vargas Feacutelix amp Munguiacutea Torres 2011)
12
Existe una gran variedad de software para instalar cluacutester de alto rendimiento sin embargo
como se ha comentado con anterioridad el costo de adquisicioacuten debe ser accesible por tal motivo
se optoacute por una distribucioacuten con licencia GNU de Linux Rocks Cluster la cual es una distribucioacuten
sencilla de instalar y configurar en comparacioacuten con otras distribuciones analizadas dicha
distribucioacuten estaacute basada en CentOS que a su vez estaacute basada en la conocida distribucioacuten de Linux
Red Hat
1826 Almacenamiento Para este proyecto no se requeriraacute un gran espacio de
almacenamiento por tal motivo los equipos utilizados tanto maestro como esclavos mantuvieron
sus unidades de disco originales las cuales son de 1 TB de almacenamiento
183 Implementacioacuten La implementacioacuten del cluacutester de alto rendimiento fue realizada
dentro de las instalaciones del Laboratorio de la Maestriacutea en Sistemas Computacionales del
Instituto Tecnoloacutegico de Acapulco construido inicialmente para este proyecto de criptoanaacutelisis lo
cual requeriraacute suficiente capacidad de procesamiento para poder implementar ataques de fuerza
bruta a sistemas operativos Las caracteriacutesticas del cluacutester construido son
1831 Software El software instalado en cada uno de los nodos es el siguiente
bull Sistema operativo Rocks Cluacutester Linux 74 (64 bits)
bull Libreriacutea de manejo de mensajes Open-MPI 153
bull Software de monitoreo Ganglia
13
1832 Hardware El cluacutester estaacute compuesto de 17 equipos con las siguientes
caracteriacutesticas
bull Nodo Maestro y 16 Nodos Esclavos
- Procesador Intel Core I3 4150 (4 nuacutecleos) Memoria 6 GB Disco Duro SATA 1 TB
tarjeta de Red Gigabit Ethernet
El hardware adicional es el siguiente
bull Interconexioacuten de Red
bull Switch Cisco 26 puertos 1Gbps modelo SG200 Red interna
1833 Recursos totales del cluacutester
bull Nuacutecleos de unidades de procesamiento (cores) 68
bull Capacidad en memoria 92 GB
bull Capacidad en disco 17 TB
19 Aseguramiento Teacutecnico ndash Material
A continuacioacuten se muestra el desglose del equipo utilizado para la elaboracioacuten de un
cluacutester de alto rendimiento estos componentes consisten en Hardware y Software especializado
asiacute como los costos de produccioacuten y personal involucrados en la metodologiacutea y elaboracioacuten del
proyecto
Costos de Hardware
Costos de Software
14
191 Hardware En este punto se refleja el costo de los dispositivos y herramientas a nivel
fiacutesico las cuales sirvieron para la implementacioacuten del proyecto cluacutester de alto rendimiento Cabe
resaltar que el equipo utilizado forma parte del inventario actual del Laboratorio motivo por el
cual su utilizacioacuten no causoacute erogacioacuten alguna sin embargo la investigacioacuten de costos se realizoacute
con la finalidad que el lector pueda establecer comparativas y buscar alternativas en caso de ajuste
de presupuesto
1911 Equipo de coacutemputo El equipo de coacutemputo utilizado consta de diecisiete
computadoras las cuales serviraacuten una para Nodo Maestro y las dieciseacuteis restantes como Nodos
Esclavos
La descripcioacuten de estos equipos se muestra en la tabla a continuacioacuten mostrando los costos
de todos los equipos utilizados dentro del proyecto
15
Tabla 11 Costo del Proyecto
Modelo
Cantidad
Caracteriacutesticas
Costos
PC - Acer AXC-
605
17
Procesador Intel Core i3
Pantalla 156rdquo
Disco duro 1TB HDD
RAM 6GB
Salida HDMI
Tarjeta de graacuteficos INTEGRADA
Lector de CD
Los costos en el mercado de una PC de
escritorio con estas caracteriacutesticas tiene un
valor aproximado de $600000 pesos
(Moneda nacional Mexicana)
Switch Cisco
Gigabit Ethernet
1
Modelo SG200 de 26 puertos
Costo en el mercado alrededor de
$2000000 pesos MN
Total
12200000 pesos MN
16
Capiacutetulo 2 Estado del Arte
Tiacutetulo del Trabajo Introduccioacuten a la Criptografiacutea
Autor Gibraacuten Granados Paredes
Fecha Julio 2010
Lugar Ciudad de Meacutexico
Publicado en Coordinacioacuten de Publicaciones Digitales DGSCA-UNAM
httpwwwrevistaunammxvol7num7art55int55htm
Siacutentesis Cuando se desea tener seguridad hablando en aacutembitos informaacuteticos la
criptografiacutea es una herramienta muy uacutetil el autor lo entiende tambieacuten como un medio para
garantizar las propiedades de confidencialidad integridad y disponibilidad de los recursos de un
sistema
Con la criptografiacutea se puede garantizar las propiedades de integridad y confidencialidad
pero hay que saber coacutemo utilizarla para ello es importante tener claros los conceptos baacutesicos que
estaacuten detraacutes de los sistemas criptograacuteficos modernos Estos conceptos van desde entender queacute es
la criptografiacutea coacutemo estaacute clasificada entender el funcionamiento baacutesico de algunos sistemas de
cifrado y conocer coacutemo se forman los documentos digitales como firmas y sobres digitales
Resultados El autor realiza un viaje por un gran nuacutemero de conceptos utilizados en
criptografiacutea el inicio y la clasificacioacuten de la misma asiacute como la criptografiacutea claacutesica y moderna y
analiza de manera breve algunos meacutetodos de cifrado maacutes comunes
17
Tiacutetulo del Trabajo Criptoanaacutelisis sobre meacutetodos claacutesicos de cifrado
Autores Sebastiaacuten Goacutemez Juan David Arias Diego Agudelo
Fecha 2 de mayo 2013
Lugar Ciudad de Meacutexico
Publicado en Scientia et Technica Antildeo XVII No 50 abril de 2012
Siacutentesis Los algoritmos criptograacuteficos utilizados desde la antigua Roma hasta nuestros
diacuteas son meacutetodos que convierten un mensaje de texto plano a cifrado al proceso inverso se le
conoce como descifrar Este artiacuteculo realiza un estudio de algunas teacutecnicas de encriptacioacuten claacutesicas
del siglo pasado como lo son el cifrado de Cesar y el cifrado de Vigeneacutere asiacute como muestra
teacutecnicas baacutesicas y modernas de criptoanaacutelisis basadas en la teoriacutea de la informacioacuten y estadiacutestica
como lo son la entropiacutea y el ataque de maacutexima correlacioacuten Las teacutecnicas de criptoanaacutelisis descritas
anteriormente pueden ser usadas en otros meacutetodos de cifrado siempre y cuando esteacuten presentes las
mismas debilidades
Resultados Los autores implementaron en lenguajes de programacioacuten Python un
algoritmo para el caacutelculo de entropiacutea para diferentes longitudes de clave Para la implementacioacuten
de los algoritmos de cifrado y descifrado de Vigeneacutere y de maacutexima correlacioacuten utilizaron lenguaje
de programacioacuten C++ Se probaron los meacutetodos anteriormente descritos sobre textos planos de
diferentes longitudes logrando un resultado de 9385 de efectividad en promedio
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de dos de los
algoritmos de encriptacioacuten maacutes antiguos y baacutesicos pero sobre todo que conociendo los meacutetodos
de criptoanaacutelisis me permitiraacuten analizar debilidades y fortalezas de algoritmos
18
Tiacutetulo del Trabajo ULTRACOM Computacioacuten de Alto Rendimiento para Criptoanaacutelisis
Autor Antonio Castro Lechtaler Alejandro Repetto Martiacuten Bianchi Marcelo Cipriano
Alejandro Arroyo Arzubi Ceacutesar Cicerchia Eduardo Malvacio
Fecha octubre 2014
Lugar Buenos Aires Argentina
Publicado en XX Congreso Argentino de Ciencias de la Computacioacuten (Buenos Aires
2014)
Siacutentesis La generacioacuten de nuacutemeros primos fundamentales para la produccioacuten de claves
el anaacutelisis de secuencias pseudo-aleatorias los procesos de verificacioacuten y validacioacuten de algoritmos
de seguridad en un sentido geneacuterico requieren enormes cantidades de procesamiento Los
procesos relacionados con la matemaacutetica criptograacutefica se caracterizan por la alta necesidad de
coacutemputo El objetivo de ULTRACOM es desarrollar una computacioacuten distribuida multipropoacutesito
que permita como primera aplicacioacuten real el anaacutelisis la validacioacuten y la ejecucioacuten de pruebas de
estreacutes sobre sistemas criptograacuteficos El presente trabajo de investigacioacuten detalla el proceso de
desarrollo de ULTRACOM y muestra un ejemplo de su implementacioacuten en una versioacuten Beta Para
ello toman como entrada dos versiones del algoritmo Trivium Utilizando la misma
infraestructura y sin desarrollo extra se prueban grandes voluacutemenes de claves y vectores de
inicializacioacuten de los algoritmos en busca de secuencias deacutebiles de menor longitud que la de la
buscada
Resultados El equipo implementoacute una versioacuten beta de la plataforma ULTRACOM
comprobando la factibilidad y viabilidad teacutecnica de la generalizacioacuten de la infraestructura de
computacioacuten distribuida en grilla (malla) BOINC Este avance permite extender los horizontes de
BOINC y habilita la posibilidad de obtener la capacidad de coacutemputo de alto rendimiento a bajo
19
costo Concluyeron que ULTRACOM es un proyecto viable escalable y de alto impacto para la
evaluacioacuten y validacioacuten de algoritmos criptograacuteficos
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento y la
implementacioacuten de una arquitectura de computacioacuten distribuida y una vez siendo factible su
desarrollo utilizar su poder de coacutemputo atacando a traveacutes de un algoritmo un sistema criptograacutefico
20
Tiacutetulo del Trabajo Criptografiacutea Cuaacutentica
Autor M Baig
Fecha 2010
Lugar Barcelona Espantildea
Siacutentesis En este artiacuteculo el autor realiza una breve introduccioacuten a la criptografiacutea claacutesica y
la relacioacuten que existe con la teoriacutea de la informacioacuten de Shannon la cual asegura que el cifrado
digital simeacutetrico es secreto y perfecto siempre y cuando se cumplan los tres requisitos
1 La llave ha de ser aleatoria
2 La llave debe usarse soacutelo una vez
3 La llave ha de ser tan larga como el mensaje y de un solo uso debe de estar en posesioacuten
tanto del emisor como del receptor
El punto 3 es el maacutes complicado de cumplir debido a la forma de compartir la llave entre
el emisor y receptor
Maacutes adelante en el artiacuteculo se hace un anaacutelisis sobre otra teacutecnica de criptografiacutea que es el
cifrado digital asimeacutetrico en la que se estudia coacutemo funcionan las llaves privadas y puacuteblicas asiacute
como el meacutetodo de criptograacutefico RSA
Resultados
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento maacutes profundo de
los meacutetodos de criptografiacutea simeacutetricos y asimeacutetricos especiacuteficamente el algoritmo asimeacutetrico
RSA
21
Tiacutetulo del Trabajo La Criptografiacutea Maderista en la Revolucioacuten Mexicana (1910-1911)
Criptoanaacutelisis de una carta cifrada por Gabriel Leyva Solano
Autor Roberto Narvaacuteez
Fecha 2011
Lugar Meacutexico DF
Siacutentesis Este trabajo aborda temas relacionados con las comunicaciones secretas del
movimiento revolucionario comandado por Francisco I Madero a partir de 1910 Se compone de
dos partes la primera es una breve resentildea criacutetica de ejemplos criptograacuteficos del maderismo que
fueron generados entre 1910 y 1911 la segunda describe paso a paso el criptoanaacutelisis que aplicoacute
el autor Roberto Narvaacuteez para desencriptar una carta parcialmente cifrada de Gabriel Leyva Solano
a Francisco I Madero
Resultados El propoacutesito general uacuteltimo es contribuir al conocimiento de la criptografiacutea
mexicana en el siglo XX En lo particular se trata de poner a disposicioacuten de los estudiosos el
contenido completo de la carta de Leyva Solano por primera vez despueacutes de 100 antildeos y al mismo
tiempo someter a la criacutetica teacutecnica e histoacuterica el procedimiento criptoanaliacutetico puesto en operacioacuten
para recuperar el texto plano
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de la teacutecnicas y
estudios realizados en nuestro paiacutes sobre formas y meacutetodos de encriptacioacuten durante la Revolucioacuten
Mexicana incluso mucho antes de la 2ordf Guerra mundial momento donde se registroacute un auge
importante dentro de la criptografiacutea moderna
22
Tiacutetulo de Tesis Anaacutelisis de la programacioacuten concurrente sobre la cpu y gpu en el
desarrollo de fractal build
Autor Joseacute Vicente Anilema Guadalupe
Fecha 2012
Lugar Riobamba Ecuador
Siacutentesis Este trabajo aborda temas relacionados con la geometriacutea euclidiana debido a que
el autor realiza una aplicacioacuten que crea paisajes fractales lo que significa crear un paisaje con una
misma figura geomeacutetrica Lo anterior se traduce en una necesidad de gran poder de coacutemputo para
realizar de una manera eficaz la tarea Dentro de la tesis el autor realiza diversos estudios
comparativos entre el procesamiento serializado realizado por una CPU (unidad central de
procesamiento) y procesamiento paralelizado realizado por una GPU (Unidad grafica de
procesamiento) a traveacutes de diversas herramientas para obtener el mejor aprovechamiento de los
recursos
Resultados El autor concluye que es necesario examinar los algoritmos a utilizar para que
estos puedan ser utilizados en coacutemputo paralelo Ademaacutes de que es necesario aprender ciertas
herramientas a utilizar para aprovechar al maacuteximo el coacutemputo distribuido y no desperdiciar el
poder de procesamiento muy superior que las GPUrsquos nos pueden brindar
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de la teacutecnicas y
estudios realizados para medir y comparar la velocidad de procesamiento de la unidad central de
procesamiento (CPU) y la unidad graacutefica de procesamiento (GPU) Asiacute como la medida en Flops
(Operaciones de punto flotante por segundo)
23
Tiacutetulo del Trabajo Arquitectura cluacutester de alto rendimiento utilizando herramientas de
software libre
Autores Leonardo Chiquiguanca Edyson Malla Freddy Ajila Rene Guamaacuten-Quincheacute
Fecha mayo 2015
Lugar Loja Ecuador
Siacutentesis Este trabajo aborda temas relacionados con la gran cantidad de datos que tienen
que procesar las universidades puacuteblicas dentro de sus investigaciones realizadas en diferentes aacutereas
como la ingenieriacutea medicina etc y la carencia de recursos econoacutemicos para obtener
supercomputadoras que procesen dicha informacioacuten Los autores proponen dentro de su
investigacioacuten la utilizacioacuten de equipo de coacutemputo existente dentro de su universidad y por medio
de software libre realizar agrupamiento de computadoras para poder lograr el procesamiento de
grandes voluacutemenes de datos de una manera accesible
Resultados Los autores concluyen que la mejor arquitectura para el agrupamiento
(cluacutester) de computadoras en ambientes universitarios es la arquitectura Beowulf debido a que la
implementaron en hardware convencional existente dentro de su campus universitario y que
ademaacutes usaron software libre mencionando que el poder de coacutemputo logrado fue muy cercano al
de una supercomputadora
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de las teacutecnicas
utilizadas en ambientes universitarios para la realizacioacuten de agrupamiento de computadoras y
sobre todo la optimizacioacuten de costos para realizar dicha tarea y tener como finalidad el lograr
mayor capacidad de procesamiento
24
Tiacutetulo de Tesis Desarrollo de un algoritmo de cifrado simeacutetrico de resumen
Autores Jonathan Dave Orjuela Navarrete
Antildeo 2008
Lugar Bogotaacute DC
Siacutentesis Esta tesis realiza un estudio de varios meacutetodos de criptografiacutea simeacutetrica para
posteriormente utilizando diferentes foacutermulas matemaacuteticas crear un algoritmo criptograacutefico
nuevo Dentro de la tesis utiliza dos meacutetodos para realizar pruebas a su algoritmo criptoanaacutelisis
diferencial y criptoanaacutelisis basado en fallos de hardware Dentro de los cuales hace un estudio
detallado de las teacutecnicas y herramientas de criptoanaacutelisis realizado a su algoritmo
Resultados El autor concluye de manera positiva con la realizacioacuten del algoritmo y de
manera satisfactoria con la realizacioacuten de criptoanaacutelisis a su algoritmo pudiendo demostrar la
fortaleza del algoritmo a traveacutes de ejemplo de cifrado con textos claro muy parecido y su
conversioacuten a cadenas completamente diferentes
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de criptoanaacutelisis diferencial y criptoanaacutelisis basado en fallos de hardware para la
evaluacioacuten de algoritmos de cifrado simeacutetrico de textos claros
25
Tiacutetulo del Trabajo Firt step in a Pc cluster development with openMosix
Autores Javier Bilbao Gorka Garate
Antildeo 2008
Lugar Bilbao Spain
Siacutentesis En este trabajo se afirma que es posible hacer maacutequinas de alta capacidad de
caacutelculo mediante la interconexioacuten de equipos con redes de alta velocidad A este tipo de sistemas
se les llama sistemas distribuidos y hoy en diacutea es la tecnologiacutea maacutes utilizada para resolver
problemas que requieren una gran capacidad de caacutelculo La agrupacioacuten de computadoras permite
que varias computadoras trabajen juntas para resolver los problemas de informaacutetica comuacuten Este
artiacuteculo centra su estudio en uno de los diferentes meacutetodos de agrupamiento de computadoras
openMosix El trabajo tambieacuten evaluacutea el cluacutester por dos casos de estudio donde se mejora el
tiempo de ejecucioacuten de los problemas resueltos
Resultados El autor del artiacuteculo concluye con la realizacioacuten satisfactoria de agrupamiento
de computadoras bajo el meacutetodo openMosix el cual uacutenicamente permite agrupamiento de la forma
SSI (Single System Image) que se refiere a que uacutenicamente se puede realizar el agrupamiento con
todos los nodos ejecutando un mismo sistema operativo
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de agrupamiento de computadoras openMosix ventajas desventajas y dificultades para
su implementacioacuten
26
Tiacutetulo del Trabajo Disentildeo e implementacioacuten de un cluacutester tipo Beowulf para el desarrollo
de coacutemputo cientiacutefico avanzado
Autores Edgar Rubeacuten Gonzaacutelez Ramiacuterez Abimael Rodriacuteguez Saacutenchez
Antildeo 2008
Lugar Instituto Politeacutecnico Nacional Meacutexico DF
Siacutentesis Este trabajo de tesis ha desarrollado e implementado una herramienta
computacional llamada Cluster Beowulf para mejorar la programacioacuten paralela Comenzando
con la memoria compartida y distribuida el autor implemento el agrupamiento tipo Beowulf
pensando en procesamiento paralelo la optimizacioacuten de las fuentes informaacuteticas El disentildeo se
construye mediante una distribucioacuten Linux Fedora Core 6 a 64 bits utilizando todas las ventajas
que ofrece el estaacutendar Gigabyt Ethernet La programacioacuten paralela fue desarrollada en lenguaje C
tanto para MPI como para OPENMP
Resultados El autor del artiacuteculo concluye que de acuerdo con los resultados el tiempo
de procesamiento se redujo con el uso muacuteltiples nuacutecleos mejoroacute hasta ocho veces gracias al
multihilo
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de agrupamiento de computadoras Beowulf y su implementacioacuten en sistemas operativos
de uso libre Linux distribucioacuten Fedora 6
27
Marco Teoacuterico
21 Seguridad de la Informacioacuten
La Seguridad de la Informacioacuten consiste y hace referencia a la proteccioacuten de cualquier
amenaza para salvaguardar los activos fijos y en especial toda informacioacuten de la cual estaacute basada
la continuidad de las operaciones de la empresa sean estas ocasionadas dentro o fuera de la misma
con esto se logra disminuir los dantildeos y perjuicios que estas amenazas causariacutean a la organizacioacuten
y a la vez aumentar las oportunidades de servicio hacia otras empresas
La Seguridad de la informacioacuten se consigue mediante la implementacioacuten de controles
efectivos que pueden ser normas manual de funciones buenas praacutecticas procedimientos
estructuras organizativas funciones de software y hardware planes de contingencia y herramientas
que se encargan de proteger la privacidad e integridad de la informacioacuten que se almacena en un
sistema informaacutetico Estos controles necesitan continuamente ser establecidos monitoreados
revisados y mejorados en donde sea necesario para asegurar que se cumplan los objetivos
especiacuteficos de seguridad en cada aacuterea de negocio de la organizacioacuten
La seguridad informaacutetica es en realidad una rama de la seguridad de la informacioacuten aunque
de forma praacutectica algunos autores suelen utilizar de manera indistinta ambos teacuterminos
211 Objetivo de la seguridad de la informacioacuten En la seguridad de la informacioacuten
sabiendo que dichos procesos de seguridad permiten proteger el recurso maacutes importante y valioso
de una organizacioacuten partiendo como principio fundamental los procesos de aseguramiento el
28
objetivo del proceso de seguridad informaacutetica es obtener un nivel aceptable de seguridad ya que
la informacioacuten es lo maacutes valioso que tiene una institucioacuten o empresa por lo tanto esta debe ser
protegida para que no sea vulnerable y utilizada para fines maliciosos
212 Principios de la seguridad informaacutetica
Confidencialidad Los datos solo deben ser conocidos y accedidos por quienes esteacuten
autorizados durante su almacenamiento procesamiento o trasmisioacuten Verificar y certificar que solo
los usuarios con accesos autorizados puedan acceder a la informacioacuten
Integridad Los datos solo pueden ser modificados y eliminados por quienes esteacuten
autorizados para ello es decir los sistemas y aplicaciones solo deben ser operados por personal
autorizado
Disponibilidad Los sistemas que almacenan datos e informacioacuten deben garantizar su
acceso cuando asiacute se requiera por quienes tengan derecho a ello
213 Caracteriacutesticas de seguridad informaacutetica
Control Solo los usuarios autorizados deciden cuaacutendo y coacutemo permitir el acceso a la
informacioacuten
Auditoriacutea Establece las acciones cuaacutendo las implementa y quieacuten las realiza sobre el
sistema
Autenticidad Define que la informacioacuten necesaria es correcta utilizable y vaacutelida en tiempo
y forma
No Repudio Su funcioacuten es evitar que alguna entidad que envioacute o recibioacute informacioacuten
alegue que no lo hizo
29
214 Formas de Autenticacioacuten
Contrasentildea Una contrasentildea es un tipo de seguridad informaacutetica ya que es una serie de
caracteres secretos que permiten a un usuario tener acceso a un archivo equipo de coacutemputo o
programa y negar el acceso a usuarios no autorizados
Certificado digital Es un tipo de seguridad informaacutetica que permite la firma digital
electroacutenica que garantiza teacutecnica y legalmente la identidad de una persona en Internet
Autenticacioacuten HTTP Tipo de seguridad informaacutetica que delega la autenticacioacuten de
usuarios a un servidor a traveacutes de Kerberos
215 Ciber-seguridad Con los avances tecnoloacutegicos y la demanda que ha causado en ello
existe un elevado iacutendice de informacioacuten personal y empresarial que circula y se mantiene en la red
por la utilizacioacuten del internet esto permite que toda informacioacuten quede expuesta a cualquier ataque
de ciber-delincuentes los cuales buscan la manera de vulnerar cualquier sistema para espiar robar
informacioacuten o hacer dantildeo de cualquier tipo por lo que se ha visto la necesidad de tomar medidas
de seguridad para salvaguardar la informacioacuten ya que es muy importante
La ciberseguridad es la proteccioacuten de los sistemas conectados a Internet incluidos el
hardware el software y los datos de los ciberataques En un contexto informaacutetico la seguridad
comprende la ciberseguridad y la seguridad fiacutesica ambas son utilizadas por las empresas para
proteger contra el acceso no autorizado a los centros de datos y otros sistemas de coacutemputo El
objetivo de la ciberseguridad es limitar el riesgo y proteger los activos de Tecnologiacuteas de
Informacioacuten de los atacantes con intenciones maliciosas La seguridad de la informacioacuten estaacute
30
disentildeada para mantener la confidencialidad integridad y disponibilidad de los datos es un
subconjunto de la ciberseguridad
22 Criptografiacutea
La Criptografiacutea tambieacuten llamada ldquoescritura ocultardquo tradicionalmente en el aacutembito de
criptografiacutea es donde se ocupan las teacutecnicas de cifrado o codificacioacuten que permiten alterar el
contenido de cierta informacioacuten o mensajes con el fin de hacerlos ininteligibles a receptores o
personas no autorizadas (Meneacutendez-Barzanallana 17)
Actualmente la criptografiacutea se encarga de analizar algoritmos protocolos y sistemas que
son utilizados para proveer seguridad a las comunicaciones informacioacuten y a las entidades que se
comunican entre siacute
221 Tipos de Criptografiacuteas
2211 Tablas Hash Un hash o funcioacuten hash toma un grupo de caracteres (llamado clave)
y lo asigna a un valor de cierta longitud (llamado valor hash o hash) El valor hash es representativo
de la cadena de caracteres original pero normalmente es maacutes pequentildeo que el original
El hash tambieacuten es utilizado en el cifrado y descifrado de firmas digitales La funcioacuten hash
transforma la firma digital luego tanto el valor hash como la firma se enviacutean al receptor El
receptor utiliza la misma funcioacuten hash para generar el valor hash y luego lo compara con el recibido
31
en el mensaje Si los valores hash son los mismos es probable que el mensaje se haya transmitido
sin errores
Un ejemplo de una funcioacuten hash se llama plegado(folding) Esta toma un valor original lo
divide en varias partes luego agrega las partes y usa los uacuteltimos cuatro diacutegitos restantes como
valor o clave hash
2212 Tipos de algoritmos Hash
22121 SHA - 1 (Secure Hash Algorithm) Es un algoritmo criptograacutefico de Hash
publicado por el gobierno de los Estados Unidos Genera un valor Hash de 160 bits a partir de una
secuencia de longitud arbitraria Es considerado lo suficientemente seguro para aplicaciones
praacutecticas pero hay disponibles versiones maacutes robustas SHA - 256 SHA - 384 y SHA - 512 que
generan valores Hash de 256 384 y 512 bits respectivamente estas versiones reemplazaraacuten a SHA
- 1 mientras se siga trabajando sobre ellas (Borghello 2009)
22122 MD5 (Message Digest Algorithm) En criptografiacutea MD5 es una funcioacuten hash
criptograacutefica ampliamente utilizada con un valor hash de 128 bits Como estaacutendar de Internet (RFC
1321) MD5 se ha empleado en una amplia variedad de aplicaciones de seguridad y tambieacuten se
usa comuacutenmente para verificar la integridad de los archivos Un hash MD5 generalmente se
expresa como un nuacutemero hexadecimal de 32 diacutegitos
MD5 es una versioacuten reforzada de MD4 Al igual que MD4 el hash MD5 fue inventado por
el profesor Ronald Rivest del Massachusetts Institute of Technology (MIT) Ademaacutes MD5 se
32
utilizoacute como modelo para SHA-1 ya que comparten muchas caracteriacutesticas comunes MD5 y
SHA-1 son los dos algoritmos hash maacutes utilizados en la actualidad aunque el uso de MD5 ha
disminuido ya que ahora se considera roto (Borghello 2009)
22123 RIPEMD ndash 160 Es una funcioacuten hash criptograacutefica basada en la construccioacuten
Merkle-Damgaringrd (MD) Se usa en el estaacutendar de Bitcoin Es una versioacuten reforzada del algoritmo
RIPEMD que produce un resumen de hash de 128 bits mientras que el algoritmo RIPEMD-160
produce una salida de 160 bits La funcioacuten de compresioacuten consta de 80 etapas formadas por 5
bloques que se ejecutan 16 veces cada uno Este patroacuten se ejecuta dos veces con los resultados
combinados en la parte inferior utilizando la adicioacuten del moacutedulo 32 (Borghello 2009)
22124 Funcioacuten Merkle-Damgaringrd La construccioacuten MD es una metodologiacutea para crear
funciones hash resistentes a colisiones a partir de funciones de compresioacuten unidireccionales Ralph
Merkle la propuso en el antildeo de 1979 en ldquoA certified Digital Signaturerdquo posterior a este estudio
Ivan Damgaringrd demostroacute de manera independiente que la estructura era soacutelida (Merkle amp
Damgaringrd sf)
2213 Cifrado simeacutetrico Los cifrados simeacutetricos son los cifrados criptograacuteficos maacutes
antiguos y maacutes utilizados En un cifrado simeacutetrico la clave que descifra el texto cifrado es la
misma (o puede derivarse faacutecilmente) de la clave que cifra el texto claro Esta clave a menudo se
conoce como la clave secreta Los cifrados simeacutetricos maacutes utilizados son DES y AES
La problemaacutetica que surge es la seguridad de la clave
33
El emisor cifra el mensaje con una clave
Enviacutea el mensaje cifrado de tal manera que nadie puede descifrarlo sin dicha clave
El receptor obtiene la clave y entonces puede descifrar el mensaje con la misma clave
que recibioacute del emisor
Algunos algoritmos de este tipo son
22131 RC5 (Cifrado de Rivest) Es un algoritmo de cifrado de bloque de clave simeacutetrica
disentildeado por Ron Rivest en 1994 Se destaca por ser simple raacutepido (debido a que usa solo
operaciones de coacutemputo primitivas como XOR o shift) y ademaacutes por consumir menos memoria
RC5 es un cifrado de bloques y aborda dos bloques de palabras a la vez Dependiendo del
tamantildeo del bloque de texto sin formato nuacutemero de rondas y tamantildeo de clave se pueden definir
varias instancias de RC5 y cada instancia se denota como RC5-w r b donde w = tamantildeo de
palabra en bits r = nuacutemero de rondas y b = tamantildeo de la clave en bytes (Pawar 2016)
Como se ha mencionado RC5 utiliza bloques de 2 palabras el tamantildeo del bloque de texto
sin formato puede ser de 32 64 o 128 bits
22132 IDEA (International Data Encryption Algorithm) Baacutesicamente es un algoritmo
de cifrado de bloque simeacutetrico El algoritmo asimeacutetrico utiliza la misma clave para el cifrado y
descifrado Un cifrado de bloque divide el mensaje en bloques cada uno de una longitud fija y
luego cifra cada bloque de forma independiente
34
El tamantildeo de bloque tiacutepico es de 16 bytes de 128 bits Un cifrado de bloque generalmente
operaraacute en bloques o rondas donde se aplica parte de la clave a la ronda Despueacutes de un cierto
nuacutemero de rondas digamos entre 10 y 16 se termina con el texto cifrado para ese bloque
El bloque de texto cifrado tiene exactamente el mismo tamantildeo que el bloque de texto sin
formato 16 bytes Para cada ronda se trabaja en el bloque utilizando una parte de la clave de
cifrado a la que se le llama la clave redonda Muacuteltiples claves redondas se derivan de la clave de
cifrado utilizando para esto un programa de claves
La programacioacuten de claves es un algoritmo que cambia XOR multiplica y realiza otros
tipos de operaciones en la clave de cifrado original para obtener estas claves redondas Bueno si
tengo un bloque de 16 bytes y tengo una clave de 128 bits que tambieacuten es de 16 bytes (Educba
2019)
22133 DES (Data Encryption Standard) El algoritmo DES es el algoritmo de seguridad
maacutes popular Es un algoritmo simeacutetrico lo que significa que se utilizan las mismas claves para
cifrar descifrar datos confidenciales La longitud de la clave es de 8 bytes (64 bits) Entonces
para cifrar descifrar datos el algoritmo DES utiliza una clave de 8 bytes pero 1 byte (8 bits) para
la verificacioacuten de paridad Es un algoritmo de cifrado de bloque por lo tanto el tamantildeo del bloque
de datos del algoritmo DES es de 64 bits Para cifrar descifrar datos el algoritmo DES utiliza la
estructura Feistel Entonces utiliza una ronda para cifrar descifrar datos Aunque el tamantildeo del
35
bloque de datos es de 64 bits el nuacutemero de rondas seraacute de 16 rondas asiacute mismo utilizaraacute diferentes
subclaves para cada ronda por lo tanto el nuacutemero de subclaves seraacute de 16 subclaves
Como se puede observar la clave efectiva es de 56 bits por consiguiente se tiene 256
combinaciones posibles por lo que la fuerza bruta se hace casi imposible (Sanjoy 2015)
2214 Cifrado asimeacutetrico Los cifrados asimeacutetricos tambieacuten se conocen como cifrados
con claves puacuteblicas y privadas Usan dos claves una para el cifrado de mensajes y la otra durante
el descifrado
Un intruso puede encriptar cualquier mensaje usando la clave puacuteblica conocida Los
cifrados asimeacutetricos son por lo tanto vulnerables a los ataques de texto sin formato Los cifrados
con encriptacioacuten de clave puacuteblica deben proporcionar seguridad contra tales ataques Despueacutes de
encriptar dos mensajes con la misma clave puacuteblica el intruso no puede distinguir queacute texto cifrado
estaacute conectado con queacute texto plano Ademaacutes un observador que analiza dos mensajes encriptados
usando el mismo algoritmo y la misma clave puacuteblica no puede distinguir sus textos cifrados
(Kowalczyk 2015)
Los cifrados asimeacutetricos son mucho maacutes lentos que los cifrados simeacutetricos (generalmente
mil veces maacutes lentos) Es una praacutectica comuacuten usar el cifrado de clave puacuteblica solo para establecer
la conexioacuten segura y negociar la nueva clave secreta que luego se utilizaraacute para proteger la
comunicacioacuten mediante cifrado simeacutetrico Ejemplos de este cifrado son
36
22141 DSA (Digital Signature Algorithm - Algoritmo de Firma digital) Es un estaacutendar
del Gobierno Federal de los Estados Unidos para firmas digitales Fue propuesto por el Instituto
Nacional de Estaacutendares y Tecnologiacutea (NIST) en agosto de 1991 para ser usado en su Estaacutendar de
Firma Digital (DSS) en el antildeo de 1993
La primera parte del algoritmo DSA es la generacioacuten de clave puacuteblica y clave privada que
puede describirse como
Se elige un nuacutemero primo q que se llama divisor primo
Se elige otro nuacutemero primo p de modo que pndash1 mod q = 0 p seraacute llamado moacutedulo
primo
Ahora se elige un nuacutemero entero g tal que 1 ltg ltp g q mod p = 1 g = h ((p
ndash 1) q) mod p q tambieacuten se llama moacutedulo de orden multiplicativo de g moacutedulo p
Se elige un nuacutemero entero tal que 0 ltx ltq
Se calcula y como g x mod p
Se empaqueta la clave puacuteblica como p q g y
Por uacuteltimo se empaqueta la clave privada como p q g x
La segunda parte del algoritmo DSA es la generacioacuten de firma y la verificacioacuten de firma
Para generar una firma de mensaje el remitente puede seguir estos pasos
Se genera el resumen del mensaje h utilizando un algoritmo hash como SHA1
Se genera un nuacutemero aleatorio k tal que 0 ltk ltq
37
Se calcula r como (g k mod p) mod q Si r = 0 seleccione una k diferente
Ahora se calcula i de modo que k i mod q = 1 i se llama el inverso multiplicativo modular
de k moacutedulo q
Se calcula s = i (h + r x) mod q Si s = 0 se selecciona una k diferente
Por uacuteltimo se empaqueta la firma digital como r s (Yang 2019)
22142 RSA Encriptacioacuten RSA encriptacioacuten Rivest-Shamir-Adleman tipo de
criptografiacutea de clave puacuteblica ampliamente utilizada para la encriptacioacuten de datos de correo
electroacutenico y otras transacciones digitales a traveacutes de Internet RSA lleva el nombre de sus
inventores Ronald L Rivest Adi Shamir y Leonard M Adleman quienes lo crearon mientras
trabajaban en la facultad del Instituto Tecnoloacutegico de Massachusetts (Simmons 2019)
En el sistema RSA un usuario elige de manera secreta un par de nuacutemeros primos p y q tan
grandes que factorizar el producto n = pq estaacute mucho maacutes allaacute de las capacidades informaacuteticas
proyectadas para la vida uacutetil de los cifrados A partir del antildeo 2000 los estaacutendares de seguridad del
gobierno de EE UU exigen que el moacutedulo tenga un tamantildeo de 1024 bits es decir p y q deben
tener un tamantildeo de aproximadamente 155 diacutegitos decimales por lo que n es aproximadamente un
nuacutemero de 310 diacutegitos Dado que los nuacutemeros duros maacutes grandes que actualmente se pueden
factorizar son solo la mitad de este tamantildeo y dado que la dificultad de factorizar se duplica
aproximadamente por cada tres diacutegitos adicionales en el moacutedulo se cree que los moacutedulos de 310
diacutegitos estaacuten a salvo de factorizar durante varias deacutecadas
38
2215 Cifrado hiacutebrido Es una teacutecnica comuacuten que combina diferentes funciones
criptograacuteficas como el cifrado de bloque Con el cifrado hiacutebrido se pueden cifrar datos firmarlos
o agregar un MAC y enviarlos en un objeto seguro (como una cadena o archivo) a traveacutes de un
canal de comunicacioacuten inseguro (sin un acuerdo clave entre dos partes)
En el sistema de cifrado hiacutebrido el texto plano (sin formato) se divide en tokens Luego
se calcula la longitud de cada ficha Los tokens y sus longitudes se almacenan en una matriz
Posteriormente se aplica el algoritmo Ceacutesar anidado sugerido El texto producido se almacena en
una matriz n x m llamada A Luego la transposicioacuten de esta matriz At se calcula utilizando
nuestra versioacuten revisada del cifrado de transposicioacuten para resolver el problema de secuenciacioacuten
A continuacioacuten el algoritmo RSA revisado se aplica en la matriz producida En el paso final se
aplica el formato de datos textuales usando el coacutedigo ASCII para producir el texto cifrado El
proceso de descifrado se realiza de la misma manera pero en orden inverso (Nahar amp Abu Abbas
2010)
23 Criptoanaacutelisis
El criptoanaacutelisis es el proceso de estudiar sistemas criptograacuteficos para buscar debilidades
o fugas de informacioacuten En general se considera que el criptoanaacutelisis explora las debilidades de
las matemaacuteticas subyacentes de un sistema criptograacutefico pero tambieacuten incluye la buacutesqueda de
debilidades en la implementacioacuten como ataques de canal lateral o entradas de entropiacutea deacutebiles
39
Su funcioacuten es la de conseguir obtener el significado de mensajes creados por medio de
criptografiacutea El objetivo principal del criptoanaacutelisis es opuesto al de la criptografiacutea Tiene como
finalidad encontrar la debilidad de las diferentes teacutecnicas criptograacuteficas para explotarla y de esta
manera reducir o eliminar la seguridad de la teacutecnica criptograacutefica Cualquier intento de
criptoanaacutelisis puede ser llamado ataque Una vez que un atacante logra romper la seguridad que
una teacutecnica criptograacutefica aportaba al sistema se dice que dicho sistema ha sido roto y por lo tanto
dicho ataque tuvo eacutexito
El criptoanaacutelisis es la investigacioacuten de sistemas texto cifrado y cifrados para revelar el
significado oculto o los detalles del sistema mismo El objetivo de este tipo de estudio es descubrir
los aspectos ocultos incluso si la clave o el algoritmo principal no se pueden descifrar Se necesita
una combinacioacuten exitosa de persistencia matemaacuteticas intuicioacuten curiosidad y una computadora
que funcione para hacer un buen criptoanalista Este tipo de ruptura de coacutedigo es extremadamente
importante especialmente en el mundo tecnoloacutegicamente dependiente de hoy El criptoanaacutelisis es
constantemente realizado por criptoacutegrafos que intentan obtener informacioacuten valiosa y por aquellos
que intentan descifrar el coacutedigo para revelar secretos (Security Degree Hub 2017)
24 Niveles de seguridad
Los niveles de seguridad de sistemas operativos son otorgados de acuerdo con el sistema
operativo que esteacute utilizando la empresa o institucioacuten ya sea puacuteblica privada gubernamental o no
gubernamental En el manual ldquoTrusted Computer System Evaluation Criteriardquo (United States
40
Government Department of Defense 1983) el Departamento de Defensa de los Estados Unidos
define los siguientes niveles
241 Nivel D1 Este nivel es el maacutes bajo de seguridad por lo tanto la norma establece que
el sistema no es confiable Esta divisioacuten contiene solo una clase Estaacute reservado para aquellos
sistemas que han sido evaluados pero que no cumplen con los requisitos para un nivel de
evaluacioacuten superior
242 Nivel C1 Un sistema de nivel C1 cumple nominalmente los requisitos de seguridad
discrecionales al proporcionar separacioacuten de usuarios y datos Incorpora alguna forma de controles
creiacutebles capaces de imponer limitaciones de acceso de manera individual es decir aparentemente
adecuados para permitir que los usuarios puedan proteger la informacioacuten privada o del proyecto y
evitar que otros usuarios lean o destruyan accidentalmente sus datos Se espera que el entorno de
nivel C1 sea uno de los usuarios cooperantes que procesan datos con el mismo nivel de
sensibilidad Los siguientes son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten
de nivel C1 son
Control de acceso discrecional por ejemplo listas de control de acceso (ACL)
usuario grupo
Por lo general para usuarios que estaacuten en el mismo nivel de seguridad
Proteccioacuten de nombre de usuario y contrasentildea y base de datos de autorizaciones
seguras (ADB)
Sistema operativo protegido y modo de operaciones del sistema
Comprobacioacuten perioacutedica de integridad de TCB
41
Mecanismos de seguridad probados sin derivaciones obvias
Documentacioacuten para la seguridad del usuario
Documentacioacuten para la seguridad de la administracioacuten de sistemas
Documentacioacuten para pruebas de seguridad
Documentacioacuten de disentildeo TCB
Tiacutepicamente para usuarios en el mismo nivel de seguridad
La certificacioacuten C1 es rara Los sistemas de ejemplo son versiones anteriores de
Unix IBM RACF
243 Nivel C2 Los sistemas de esta clase imponen un control de acceso discrecional maacutes
fino que los sistemas (C1) lo que hace que los usuarios sean individualmente responsables de sus
acciones a traveacutes de procedimientos de inicio de sesioacuten auditoriacutea de eventos relevantes para la
seguridad y aislamiento de recursos Los siguientes son requisitos miacutenimos para los sistemas
asignados a una clasificacioacuten de nivel C2
La proteccioacuten de objetos puede ser para un solo usuario Por ejemplo a traveacutes de
una base de datos ACL
La autorizacioacuten de acceso solo puede ser asignada por usuarios autorizados
Proteccioacuten de reutilizacioacuten de objetos (Por ejemplo para evitar la reasignacioacuten de
objetos eliminados de manera segura)
Procedimientos obligatorios de identificacioacuten y autorizacioacuten para los usuarios (Por
ejemplo Usuario Contrasentildea)
Auditoriacutea completa de eventos de seguridad (es decir fecha hora evento usuario
eacutexito falla ID de terminal)
42
Modo de operacioacuten del sistema protegido
Proteccioacuten adicional para la autorizacioacuten y los datos de auditoriacutea
Documentacioacuten como C1 maacutes informacioacuten sobre el examen de la informacioacuten de
auditoriacutea
Esta es una de las certificaciones maacutes comunes Los sistemas operativos de ejemplo
son VMS IBM OS 400 Windows NT Novell NetWare 411 Oracle 7 DG AOS
VS II
244 Nivel B1 Los sistemas de este nivel requieren todas las caracteriacutesticas requeridas
para el nivel C2 Ademaacutes debe estar presente una declaracioacuten informal del modelo de poliacutetica de
seguridad etiquetado de datos y control de acceso obligatorio sobre sujetos y objetos nombrados
La capacidad debe existir para etiquetar con precisioacuten la informacioacuten exportada Cualquier falla
identificada por la prueba debe ser eliminada Los siguientes son requisitos miacutenimos para los
sistemas asignados a una clasificacioacuten de nivel B1
Etiquetado obligatorio de seguridad y acceso de todos los objetos (Por ejemplo
archivos procesos dispositivos)
Comprobacioacuten de integridad de etiquetas (Por ejemplo mantenimiento de etiquetas
de sensibilidad cuando se exportan datos)
Auditoriacutea de objetos etiquetados
Control de acceso obligatorio para todas las operaciones
Capacidad para especificar el nivel de seguridad impreso en salida legible para
humanos (Por ejemplo impresoras)
43
Capacidad para especificar el nivel de seguridad en cualquier salida legible por
maacutequina
Auditoriacutea mejorada
Proteccioacuten mejorada del sistema operativo
Documentacioacuten mejorada
Los sistemas operativos de ejemplo son HP-UX BLS Cray Research Trusted
Unicos 80 Digital SEVMS Harris CS SX SGI Trusted IRIX
245 Nivel B2 En los sistemas de nivel B2 el TCB se basa en un modelo de poliacutetica de
seguridad formal claramente definido y documentado que requiere que la aplicacioacuten de control de
acceso discrecional y obligatoria que se encuentra en los sistemas de nivel B1 se extienda a todos
los sujetos y objetos en el sistema Ademaacutes se abordan los canales encubiertos El TCB debe
estructurarse cuidadosamente en elementos criacuteticos para la proteccioacuten y no criacuteticos para la
proteccioacuten La interfaz TCB estaacute bien definida y el disentildeo y la implementacioacuten TCB le permiten
someterse a pruebas maacutes exhaustivas y una revisioacuten maacutes completa Se fortalecen los mecanismos
de autenticacioacuten se proporciona una gestioacuten confiable de las instalaciones en forma de soporte
para las funciones de administrador y operador del sistema y se imponen estrictos controles de
gestioacuten de la configuracioacuten El sistema es relativamente resistente a la penetracioacuten Los siguientes
son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten de nivel B2
Notificacioacuten de cambios en el nivel de seguridad que afectan a los usuarios
interactivos
Etiquetas de dispositivos jeraacuterquicos
44
Acceso obligatorio a todos los objetos y dispositivos
Comunicaciones de ruta confiables entre usuario y sistema
Rastreo de canales de almacenamiento encubiertos
Modo de operaciones del sistema maacutes estricto en unidades independientes de varios
niveles
Anaacutelisis de canales encubiertos
Pruebas de seguridad mejoradas
Modelos formales de TCB
Versioacuten actualizacioacuten y anaacutelisis y revisioacuten de parches
Los sistemas de ejemplo son Honeywell Multics Cryptek VSLAN Trusted
XENIX
246 Nivel B3 El TCB debe satisfacer los requisitos del monitor de referencia para mediar
todos los accesos de los sujetos a los objetos ser a prueba de manipulaciones y ser lo
suficientemente pequentildeo como para ser sometido a anaacutelisis y pruebas Con este fin el TCB estaacute
estructurado para excluir el coacutedigo que no es esencial para la aplicacioacuten de la poliacutetica de seguridad
con una importante ingenieriacutea del sistema durante el disentildeo y la implementacioacuten del TCB dirigido
a minimizar su complejidad Se admite un administrador de seguridad los mecanismos de
auditoriacutea se ampliacutean para sentildealar eventos relevantes para la seguridad y se requieren
procedimientos de recuperacioacuten del sistema El sistema es altamente resistente a la penetracioacuten
Los siguientes son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten de clase
(B3)
45
ACL adicionalmente basadas en grupos e identificadores
Acceso de ruta confiable y autenticacioacuten
Anaacutelisis automaacutetico de seguridad
Modelos TCB maacutes formales
Auditoriacutea de eventos de auditoriacutea de seguridad
Recuperacioacuten confiable despueacutes de la caiacuteda del sistema y documentacioacuten relevante
Cero defectos de disentildeo en TCB y defectos miacutenimos de implementacioacuten
El uacutenico sistema operativo con certificacioacuten B3 es Getronics Wang Federal XTS-
300
247 Nivel A1 Los sistemas en el nivel A1 son funcionalmente equivalentes a los del nivel
B3 en que no se agregan caracteriacutesticas arquitectoacutenicas adicionales ni requisitos de poliacuteticas La
caracteriacutestica distintiva de los sistemas en este nivel es el anaacutelisis derivado de la especificacioacuten
formal del disentildeo y las teacutecnicas de verificacioacuten y el alto grado resultante de seguridad de que el
TCB se implementa correctamente Esta garantiacutea es de naturaleza de desarrollo comenzando con
un modelo formal de la poliacutetica de seguridad y una especificacioacuten formal de alto nivel del disentildeo
Independientemente del lenguaje de especificacioacuten particular o del sistema de verificacioacuten
utilizado existen los siguientes criterios importantes para la verificacioacuten del disentildeo de nivel A1
Meacutetodos formales y prueba de integridad de TCB
Estos son los uacutenicos sistemas con certificacioacuten A1 Boeing MLS LAN Gemini
Trusted Network Processor Honeywell SCOMP (United States Government
Department of Defense 1983)
46
25 Sistemas Operativos
Un sistema operativo actuacutea como intermediario entre el usuario de una computadora y el
hardware de la computadora El propoacutesito de un sistema operativo es proporcionar un entorno en
el que un usuario pueda ejecutar programas de manera conveniente y eficiente
Un sistema operativo es un software que administra el hardware de la computadora El
hardware debe proporcionar mecanismos apropiados para garantizar el correcto funcionamiento
del sistema informaacutetico y para evitar que los programas del usuario interfieran con el correcto
funcionamiento del sistema (Carretero Peacuterez de Miguel Anasagasti Garciacutea Carballeira amp Peacuterez
Costoya 2001)
Un sistema operativo es un programa que controla la ejecucioacuten de programas de aplicacioacuten
y actuacutea como una interfaz entre el usuario de una computadora y el hardware de la computadora
Una definicioacuten maacutes comuacuten es que el sistema operativo es el uacutenico programa que se ejecuta
en todo momento en la computadora (generalmente llamado kernel) y todo lo demaacutes son
programas de aplicacioacuten
Un sistema operativo se ocupa de la asignacioacuten de recursos y servicios como memoria
procesadores dispositivos e informacioacuten El sistema operativo incluye los programas para
administrar estos recursos como un controlador de traacutefico un programador un moacutedulo de
administracioacuten de memoria programas de E S y un sistema de archivos (Pawar 2016)
47
251 Windows Sistema operativo de la empresa Microsoft es un conjunto de programas
que administra los recursos de una computadora Windows empieza a trabajar cuando se enciende
o inicializa el equipo para gestionar el hardware empezando desde los niveles maacutes baacutesicos
Es importante conocer que los sistemas operativos funcionan tanto en las computadoras
como en diferentes dispositivos electroacutenicos que usan microprocesadores En este caso Windows
su versioacuten estaacutendar funciona con computadoras Microsoft domina el mercado de los sistemas
operativos debido a su comodidad se puede decir que eacuteste sistema operativo se encuentra
instalado en el 887 de los equipos de coacutemputo que cuentan con acceso a Internet en todo el
mundo
Se pueden mencionar algunas aplicaciones principales (que eacutestas tambieacuten pueden ser
desinstaladas por los usuarios o actualizadas sin que el sistema operativo se dantildee o deje de
funcionar) se encuentran el procesador de texto WordPad el navegador Internet Explorer el
reproductor multimedia Windows Media y el editor de imaacutegenes Paint
La principal novedad que aportoacute Windows desde sus oriacutegenes fue la facilidad para usarlo
y el atractivo visual De hecho su nombre (ldquoventanasrdquo) se debe a la forma en que el sistema
presenta a los usuarios los recursos con los que cuenta su computadora lo que facilita las tareas
cotidianas Windows tambieacuten suele recibir varias criacuteticas por sus problemas de seguridad y por
otros fallos
48
252 Registro de Windows El registro es una base de datos jeraacuterquica que contiene datos
que son criacuteticos para el funcionamiento de Windows y las aplicaciones y servicios que se ejecutan
en Windows Los datos estaacuten estructurados en un formato de aacuterbol Cada nodo en el aacuterbol se llama
clave Cada clave puede contener subclaves y entradas de datos llamadas valores A veces la
presencia de una clave es el uacutenico dato que requiere una aplicacioacuten otras veces una aplicacioacuten
abre una clave y usa los valores asociados con la clave (Microsoft Inc 2019) Una clave puede
tener cualquier nuacutemero de valores y los valores pueden tener cualquier forma El registro es
utilizado por
Autenticacioacuten
Nuacutecleo (Kernel)
Controladores de dispositivos
Servicios
SAM
Las carpetas del sistema se almacenaraacuten en distintas rutas de acceso dependiendo de la
versioacuten de Windows con la que se esteacute trabajando a continuacioacuten cuatro de los cinco archivos
que maacutes interesan a esta investigacioacuten se encuentran en la siguiente ubicacioacuten SystemRoot
System32 Config dentro de las siguientes sub llaves
SAM - HKEY LOCAL MACHINE SAM
SECURITY - HKEY LOCAL MACHINE SECURITY
SOFTWARE - HKEY LOCAL MACHINE SOFTWARE
SYSTEM - HKEY LOCAL MACHINE SYSTEM
49
253 Administrador de cuentas de seguridad El administrador de cuentas de seguridad
(SAM por sus siglas en ingleacutes) es una base de datos en donde se encuentran las cuentas de
seguridad Esto es utilizado por Windows para administrar las cuentas de usuario y contrasentildeas en
el formato hash
Las contrasentildeas nunca se almacenan en formato de texto claro Se almacenan en formato
de hash para protegerlas de los ataques La base de datos SAM se implementa como un archivo de
registro y las obtiene del kernel de Windows y mantiene un bloqueo exclusivo al archivo SAM
esto quiere decir que el archivo tiene cierta medida de seguridad para el almacenamiento de las
contrasentildeas (Hernandez 2013)
No es posible copiar el archivo SAM a otra ubicacioacuten en el caso de los ataques en liacutenea
Dado que el archivo SAM estaacute bloqueado con un bloqueo exclusivo al sistema de archivos no
puede ser copiado o movido mientras se ejecuta Windows El bloqueo no iniciaraacute hasta que la
excepcioacuten de la pantalla azul haya sido inicializada o el sistema operativo haya sido apagado Sin
embargo los archivos en formato hash de contrasentildeas fuera de liacutenea estaacuten disponibles para los
ataques de fuerza bruta el contenido del archivo SAM puede ser copiado o descargado utilizando
diversas teacutecnicas
Un identificador de seguridad (SID) es un valor uacutenico de longitud variable utilizado para
identificar a un usuario Cada cuenta tiene un SID uacutenico emitido por una autoridad como un
controlador de dominio de Windows y almacenado en una base de datos de seguridad Cada vez
50
que un usuario inicia sesioacuten el sistema recupera el SID para ese usuario de la base de datos y lo
coloca en el token de acceso para ese usuario El sistema usa el SID en el token de acceso para
identificar al usuario en todas las interacciones posteriores con la seguridad de Windows Cuando
se ha usado un SID como identificador uacutenico para un usuario o grupo no se puede volver a usar
para identificar a otro usuario o grupo
La seguridad de Windows usa SID en los siguientes elementos de seguridad
En descriptores de seguridad para identificar al propietario de un objeto y grupo
primario
En las entradas de control de acceso para identificar al usuario para quien el acceso
estaacute permitido denegado o auditado
En tokens de acceso para identificar al usuario y los grupos a los que pertenece
2531 Identificador de Seguridad (SID Security Identifier)
S - 1 - 5 - 21 - 3983109318 - 554656936 - 3066752241 - 1000
S - indica que es un string de SID
1 - el nivel de revisioacuten
5 - el identificador de valor de autoridad o authority value no siempre seraacute 5 Entre otros
valores que se pueden encontrar estaacuten los siguientes
51
0 - sin autoridad
1 - autoridad global
2 - autoridad local
3 - autoridad de creador
4 - autoridad no uacutenica
5 - autoridad NT
9 - autoridad de administrador de recursos
21 - 3983109318 - 554656936 - 3066752241 - es el dominio en el que se encuentra el
sistema o el identificador local de la computadora
1000 - ID uacutenico para cada cuenta aquiacute se encuentra el RID (Relative Identifier) Nuacutemero
de longitud variable cualquier grupo o usuario que se cree de manera diferente a la predeterminada
recibiraacute un RID de 1000 o superior En el caso de que el valor sea 500 responde a que este SID
representa la cuenta de un administrador el valor de 500 siempre seraacute el mismo en cualquier cuenta
de administrador a su vez el valor 501 representa el SID de una cuenta Invitado (Guest)
(Hernandez 2013)
254 Autenticacioacuten NTML NTLM (NT LAN Manager) es un protocolo empleado por
muchos productos de Microsoft para realizar la autenticacioacuten desafiacuteorespuesta por lo tanto es el
esquema de autenticacioacuten que por defecto usa Firewall de Microsoft y tambieacuten los productos del
servidor proxy
52
Este software fue desarrollado para afrontar el problema del trabajo con Tecnologiacuteas Java
en un entorno orientado a Microsoft Puesto que no se basa en ninguna especificacioacuten oficial de
protocolo por lo tanto no hay garantiacutea de que funciona correctamente en todos los casos Tambieacuten
ha estado en algunas instalaciones de Windows donde funcionoacute con eacutexito
La Autenticacioacuten NTLM se compone de dos protocolos protocolo de autenticacioacuten NTLM
y protocolo de autenticacioacuten LM Estos protocolos utilizan una metodologiacutea de hash diferente para
almacenar contrasentildeas de los usuarios en la base de datos SAM (Hernandez 2013) (Meneacutendez-
Barzanallana 17)
26 LINUX (ROCKS)
Rocks es una distribucioacuten para cluacutester de Linux de coacutedigo abierto que permite a los usuarios
finales construir de manera maacutes amigable cluacutesteres computacionales y muros de visualizacioacuten en
mosaico Cientos de investigadores de todo el mundo han utilizado Rocks para implementar su
propio cluacutester
Desde mayo de 2000 el grupo Rocks ha abordado las dificultades de implementar cluacutesteres
manejables Encaminados hacia un objetivo crear cluacutesters de manera maacutes sencilla Por sencilla
significa faacutecil de implementar administrar actualizar y escalar Este objetivo impulsa a los
creadores de esta herramienta a ayudar a entregar el poder computacional de los cluacutesteres a una
amplia gama de usuarios cientiacuteficos Estaacute claro que poner a disposicioacuten de una amplia gama de
53
cientiacuteficos plataformas de computacioacuten paralelas estables y manejables ayudaraacute enormemente a
mejorar el estado del arte en herramientas paralelas (Rocksclusters 2010)
261 Escritorio De todos los escritorios disponibles para el sistema operativo Linux
GNOME ha logrado convertirse en el maacutes eficiente estable y confiable sin dejar de ser sencillo
de usar De hecho la mayoriacutea de los usuarios independientemente de su experiencia pueden
trabajar con GNOME casi sin esfuerzo
Los usuarios que son nuevos tanto en Linux como en GNOME hariacutean mejor en conocer
los entresijos del escritorio que hacen que Linux no solo sea faacutecil sino tambieacuten divertido
Un entorno de escritorio agrupa programas que trabajan juntos para formar un espacio de
trabajo informaacutetico cohesivo unificado transparente e interactivo para los usuarios O para
decirlo de manera maacutes simple el entorno de escritorio es la interfaz de usuario para el sistema
operativo En el caso de GNOME ese sistema operativo es Linux Sin un entorno de escritorio su
uacutenica alternativa es una sesioacuten de Shell (liacutenea de comandos) basada en texto (Wallen 2019)
262 Paquete de Oficina Una suite ofimaacutetica es una coleccioacuten de software creada por el
mismo proveedor y disentildeada para ser utilizada para tareas rutinarias dentro de una organizacioacuten
Por lo general una suite ofimaacutetica incluye aplicaciones como procesamiento de texto hojas de
caacutelculo presentacioacuten correo electroacutenico toma de notas base de datos colaboracioacuten y otros tipos
de software relacionados En la mayoriacutea de los casos cada aplicacioacuten en la suite ofimaacutetica se puede
instalar por separado y todas las aplicaciones dentro de la suite admiten la interoperabilidad entre
54
siacute Microsoft Office Suite Lotus Live Notes y LibreOffice son todas suites de oficina de uso
comuacuten
263 Organizador de archivos Es una funcioacuten avanzada disentildeada para agrupar y
renombrar archivos usando sus atributos del sistema o meta atributos
Cada archivo tiene atributos del sistema como la fecha (Acceso Creado y Modificado) el
tipo de archivo (definido por extensioacuten) y asociado con la aplicacioacuten registrada de ese tipo de
archivo Estos atributos se pueden usar para generar un nuevo nombre de archivo o carpeta (grupo)
para cada archivo con el mismo atributo Ademaacutes de los atributos del sistema algunos archivos
en su mayoriacutea medios o imaacutegenes pueden contener metacampos como el nombre del artista el
tiacutetulo el nombre del aacutelbum y otros El Organizador de archivos tambieacuten usa estos metacampos
para agrupar archivos en una carpeta con el mismo atributo Por lo tanto el organizador de archivos
opera reglas de organizacioacuten de archivos que definen la jerarquiacutea de agrupacioacuten de carpetas y las
reglas de cambio de nombre de archivos
Asiacute como el conocido ldquoexplorador de Windowsrdquo Linux integra un organizador de archivos
y carpetas llamado NAUTILUS para realizar tareas de manejo de archivos como mover copiar
renombrar crear carpetas y de esta manera administrar nuestros dispositivos de almacenamiento
55
27 Agrupamiento (Cluacutester) de Computadoras
El agrupamiento (cluacutester) de computadoras estaacute conformado por una coleccioacuten de
computadoras autoacutenomas interconectadas trabajando unidas como un solo recurso de computacioacuten
integrado El concepto de agrupamiento de computadoras nacioacute cuando los pioneros de la
supercomputacioacuten intentaban difundir diferentes procesos entre varias computadoras para luego
poder recoger los resultados que dichos procesos debiacutean producir Con un hardware maacutes barato y
faacutecil de conseguir se pudo perfilar que podriacutean conseguirse resultados muy parecidos a los
obtenidos con aquellas maacutequinas mucho maacutes costosas (Chirinov 2003)
Un agrupamiento de computadoras se puede definir como el trabajo realizado por dos o
maacutes computadoras que en conjunto se encargan de proveer una determinada solucioacuten Tiene como
finalidad agrupar el poder de coacutemputo de los nodos implicados para proporcionar una mayor
escalabilidad disponibilidad y fiabilidad (Branch Bedoya amp Mesa Muacutenera 2008)
La escalabilidad es la capacidad de un equipo para hacer frente a voluacutemenes de trabajo
cada vez mayores sin por ello dejar de prestar un nivel de rendimiento aceptable
La disponibilidad y la fiabilidad se encuentran bastante relacionadas aunque difieren
ligeramente en algunos aspectos La disponibilidad es la calidad de estar presente y listo para su
uso mientras que la fiabilidad es la probabilidad de un correcto funcionamiento
56
Entre los tipos de agrupamiento maacutes comunes se pueden encontrar de alta disponibilidad
(ambiente a prueba de fallas) coacutemputo de alto desempentildeo (los procesos o las tareas dadas se
presentan como un solo sistema virtual) y escalamiento horizontal (se utiliza para proporcionar
una sola interfaz a un conjunto de recursos que pueden aumentar o disminuir arbitrariamente su
tamantildeo en un cierto periodo de tiempo) (Gonzaacutelez Ramiacuterez amp Rodriacuteguez Saacutenchez 2008)
271 Beowulf Es una clase de computadora masivamente paralela de altas prestaciones
principalmente construida a base de agrupamiento de componentes hardware estaacutendar (Llorens amp
Pentildea 2002) Consta de un conjunto de nodos minimalistas unidos por un medio de
comunicaciones econoacutemico Esto quiere decir que tienen lo miacutenimo para ejecutar su funcioacuten de
hecho los nodos por siacute solos no son capaces de ejecutar siquiera un sistema operativo (Nievas
Pino amp Arroyo) Se puede ver como una supercomputadora paralela construida con hardware
comercial de faacutecil adquisicioacuten que posee como sistema operativo Linux Los cluacutesters Beowulf son
extremadamente poderosos pero no son para todas las personas Su principal desventaja es que
requieren software disentildeado para poder aprovechar los recursos del cluacutester (Lizaacuterraga 2002)
272 Mosix Seguacuten Peacuterez (2001) la arquitectura Mosix estaacute basada en la misma ideologiacutea
de la arquitectura Beowulf Se basa en un conjunto de parches aplicados al nuacutecleo (kernel) de Linux
y que asignan a todo el grupo de nodos un espacio de direcciones y de procesos comuacuten gracias al
cual los procesos migran de uno a otro con el fin de equilibrar favorablemente la carga del sistema
global Es una herramienta disentildeada para realizar balanceo de carga en el agrupamiento de forma
totalmente transparente de manera tal que los nodos se comportan como una sola maacutequina y asiacute
incrementar el aprovechamiento de cada uno de los nodos (Chaacutevez y otros 1999) La principal
57
ventaja de Mosix frente a Beowulf se basa precisamente en esto Mosix da mejores respuestas que
Beowulf frente a la caiacuteda o insercioacuten de nodos A parte de esto Mosix permite un cambio constante
de aplicacioacuten o incluso el correr aplicaciones independientes de forma simultaacutenea
273 OpenMosix OpenMosix es una extensioacuten del proyecto Mosix Seguacuten Chirinov
(2003) la idea de este modelo es que la distribucioacuten de tareas en el cluacutester la determina OpenMosix
de forma dinaacutemica conforme se van creando tareas Cuando un nodo estaacute demasiado cargado las
tareas que se estaacuten ejecutando pueden migrar a cualquier otro nodo del cluacutester Asiacute desde que se
ejecuta una tarea hasta que eacutesta muere podraacute migrar de un nodo a otro sin que el proceso sufra
mayores cambios
Ademaacutes OpenMosix funciona a nivel de kernel por tanto puede conseguir toda la
informacioacuten que necesite para decidir que tanto estaacute cargado un sistema y queacute pasos se deben
seguir para aumentar el rendimiento ademaacutes puede realizar maacutes funciones que cualquier
aplicacioacuten a nivel de usuario
Despueacutes de elegir el tipo de cluacutester a utilizar se procede a elegir los elementos baacutesicos que
se emplearaacuten para implementar el cluacutester capacidad de procesamiento memoria espacio del disco
de cada nodo asiacute como tambieacuten el ancho de banda de la comunicacioacuten entre los nodos Se deberaacute
decidir cuaacuteles son importantes basaacutendose en la variedad de aplicaciones que se piensen ejecutar
en el cluacutester y de la cantidad de dinero que se disponga para construirlo
58
Bajo estos mismos paraacutemetros se debe escoger tambieacuten el tipo de red que interconectaraacute
los nodos (Turner 2004)
Luego se debe escoger el sistema operativo a utilizar Esta eleccioacuten dependeraacute mucho de
la maacutequina que se escoja Linux es siempre una opcioacuten en cualquier maacutequina y es la eleccioacuten maacutes
comuacuten Muchas de las herramientas necesarias para la implementacioacuten de un cluacutester han sido
desarrolladas bajo Linux Pero existen cluacutesters corriendo bajo Windows NT UNIX Solaris y AIX
59
Capiacutetulo 3 Implementacioacuten de Cluacutester
31 Requisitos previos
Antes de iniciar la instalacioacuten del FrontEnd es necesario asegurarse que las conexiones de
red de los equipos junto con la configuracioacuten de la BIOS de cada uno sean las correctas
311 Conexioacuten de los equipos y acceso a la red
Un cluacutester de alto desempentildeo funciona como un uacutenico equipo el cuaacutel comparte los recursos
de los nodos esclavos con el nodo maestro para ello es esencial la existencia de una red interna de
alta velocidad por medio de la cual se realice la comunicacioacuten entre el nodo maestro y los nodos
esclavos como se muestra en la Figura 31 El nodo maestro necesitaraacute 2 tarjetas de red de alta
Figura 31 Esquema tiacutepico de configuracioacuten de un cluacutester (Fuente Elaboracioacuten propia)
60
velocidad una para la comunicacioacuten interna y otra para la comunicacioacuten con redes externas El
sistema operativo Rocks asigna automaacuteticamente la interface ldquoeth0rdquo a la red interna del cluacutester y
la interface ldquoeth1rdquo a la red externa En caso de que Rocks sea incapaz de determinar cuaacutel es la red
externa debido a la falta de conexioacuten a internet estas podriacutean ser asignadas de manera incorrecta
por tal motivo se sugiere asegurar el nombre de cada una de las interfaces
Dado que Rocks no permite volverlas a asignar una vez finalizada la instalacioacuten es
necesario volver a reinstalarlo para poder solucionar este inconveniente
312 Configuracioacuten de la BIOS Para evitar problemas durante la instalacioacuten conviene
configurar correctamente la Bios
3121 ATAIDE Mode Algunos sistemas operativos puede que no sean capaces de
reconocer el controlador del disco duro como es en el caso de esta distribucioacuten de Rocks usada
Para evitar complicaciones de tener que antildeadir el controlador a mano lo mejor es habilitar el modo
ldquoLegacyrdquo de controlador de disco duro
61
Para ello se accede a la Bios pulsando F2 al encender el equipo se situacutea en la pestantildea
ldquoAdvancedrdquo y se selecciona ldquoDrive Configurationrdquo como se muestra en la Figura 32
Figura 32 Imagen del Bios del equipo en la opcioacuten ldquodrive configurationrdquo (Fuente Elaboracioacuten propia)
Figura 33 Bios ATAIDE Legacy Mode (Fuente Elaboracioacuten propia)
62
Dentro del menuacute se tiene que seleccionar el Modo ldquoLegacyrdquo en la opcioacuten ldquoATAIDE
Moderdquo como se muestra en la Figura 33 y para salir se guardan los cambios con F10
3122 PXE Al momento de instalar un nodo puede ocurrir falla al arrancar y aparecer
bootsplash (Reboot and Select proper device) Para evitarlo es necesario habilitar la opcioacuten de
PXE para que tome los archivos de instalacioacuten del nodo maestro a traveacutes de la red interna
En la Bios se selecciona la pestantildea ldquoBootrdquo y dentro de ese mismo menuacute se deshabilita
ldquoSilent bootrdquo y se habilita la opcioacuten de ldquoPXE boot to lanrdquo como se muestra en la Figura 34
Finalmente hay que verificar que en la secuencia de arranque (Figura 35) como primer
dispositivo sea desde red para que de esta manera inicie desde el PXE
Figura 34 Bios Boot PXE (Fuente Elaboracioacuten propia)
63
Se guardan los cambios antes de salir
32 Instalacioacuten de Sistema Operativo Rocks
Una vez configurados los equipos se enciende el equipo que seraacute el nodo maestro
(FrontEnd) en el cuaacutel previamente se ha modificado la secuencia de inicio del boot desde la Bios
de modo que al insertar el CD de Rocks eacuteste procederaacute a iniciar la instalacioacuten con la siguiente
pantalla que se muestra a continuacioacuten
Figura 35 Bios Boot device prioriry (Fuente Elaboracioacuten propia)
64
Para iniciar la instalacioacuten uacutenicamente se selecciona la opcioacuten ldquoInstall CentOS 7rdquo como se
muestra en la Figura 36 dando asiacute comienzo al proceso de instalacioacuten Tras finalizar un proceso
de carga en memoria Rocks mostraraacute un formulario en entorno graacutefico mediante el cual
procederemos a configurar el FrontEnd
Esta primera pantalla se muestra coacutemo se desea realizar la instalacioacuten puede realizarse
por medio de la descarga del sistema operativo (se requiere internet) En este caso como se muestra
en la Figura 37 dado que previamente se descargoacute el DVD completo se seleccionoacute ldquoCDDVD
based rollsrdquo
Figura 36 Pantalla de Inicio de instalacioacuten de Rocks (Fuente Elaboracioacuten propia)
65
A continuacioacuten Figura 38 se selecciona de la lista de Rolls aquellos que se desean instalar
Figura 37 Pantalla de seleccioacuten de Rolls (Fuente Elaboracioacuten propia)
Figura 38 Listado de opciones de rolls para instalar (Fuente Elaboracioacuten propia)
66
Tras presionar el botoacuten ldquoSubmitrdquo la siguiente pantalla (Figura 39) muestra formulario en
el que hay que indicar la informacioacuten baacutesica del cluacutester entre las cuales aparecen
Fully-Qualified Host Name Nombre con el que se conoceraacute en la red externa el cluacutester
Cluster Name Nombre utilizado para ser identificado dentro de las herramientas del cluacutester
Certificate Organization Locality State and Country Organizacioacuten a la que pertenece el
cluacutester la localidad el estado y la ciudad
Contact URL and LattitudeLongitude Contacto direccioacuten web y posicioacuten GPS
Figura 39 Informacioacuten baacutesica del cluacutester a instalar (Fuente Elaboracioacuten propia)
67
Una vez que se ingresa la informacioacuten al cluacutester se presiona el botoacuten ldquoListordquo y
posteriormente se podraacute cambiar la configuracioacuten baacutesica de la red interna del cluacutester En este caso
Figura 310 se dejoacute el valor por defecto una IP de clase B (1011116)
El siguiente paso es la configuracioacuten de la red externa (para tener acceso a internet) En
este punto se introducen los datos de la red externa a la que se encuentra conectado el nodo
maestro como se muestra en la Figura 311
Figura 310 Configuracioacuten Ethernet de la red privada (Fuente Elaboracioacuten propia)
Figura 311 Configuracioacuten Ethernet de la red puacuteblica (Fuente Elaboracioacuten propia)
68
Para terminar de configurar la red externa como se muestra en la Figura 312 se ingresa la
direccioacuten IP del Gateway y los DNS (Servidor de nombre de dominio) que va a usar para el acceso
a internet
Se continuacutea con el resto del formulario donde se introduce la contrasentildea para el usuario
root tal y como se muestran en la Figura 313
Figura 312 Configuracioacuten de DNS y Gateway (Fuente Elaboracioacuten propia)
Figura 313 Ingresar contrasentildea de usuario root (Fuente Elaboracioacuten propia)
69
Paso siguiente se procede a seleccionar la zona horaria como se muestra en la Figura 314
donde se encuentra ubicado el cluacutester asiacute como un servidor de donde podraacute obtener la zona horaria
automaacuteticamente en este caso se dejoacute el valor por default
En el formulario de la Figura 315 se selecciona la forma de particionar el disco duro
(automaacutetica manual) una vez seleccionado daraacute comienzo al proceso de instalacioacuten de manera
Figura 314 Configuracioacuten horaria (Fuente Elaboracioacuten propia)
Figura 315 Particiones del disco duro (Fuente Elaboracioacuten propia)
70
desatendida Cuando ha concluido la instalacioacuten el equipo se reiniciaraacute y se requeriraacute iniciar con
el usuario root y la contrasentildea establecida previamente
321 Configuracioacuten del teclado Debido a que el teclado por defecto estaacute en idioma
ingleacutes podriacutea provocar problemas al momento de escribir la contrasentildea u otros comandos
Seguacuten las pruebas realizadas aunque se cambie la configuracioacuten del teclado desde el menuacute
de preferencias uacutenicamente se mantiene dentro de la sesioacuten desde la que se ha cambiado dicha
opcioacuten (lo cual implica que la contrasentildea de usuario hay que introducirla seguacuten la distribucioacuten
inglesa)
33 Instalacioacuten de los nodos
Previo a la instalacioacuten de los nodos esclavos cada uno de los equipos fueron configurados
desde la Bios para que arranquen desde la red (seccioacuten 3122) Para ir antildeadiendo los nodos solo
se tiene que introducir el siguiente comando desde nuestro FrontEnd
$insert-ethers
A continuacioacuten como se muestra en la Figura 316 apareceraacute una ventana en la pantalla
en la cual se seleccionaraacute la opcioacuten ldquoComputerdquo
71
Una vez realizado este paso se procede a encender los equipos que funcionaraacuten como
nodos esclavos uno a uno
Se sugiere esperar a que cada nuevo equipo encendido esteacute marcado con un asterisco antes
de proceder a encender el siguiente como se muestra en la Figura 317 De esta manera se asegura
que cada nuevo nodo antildeadido posea el nombre y numeracioacuten deseada
Figura 316 Pantalla para ingresar nodos (Fuente Elaboracioacuten propia)
Figura 317 Indicador de insercioacuten de nuevos nodos (Fuente Elaboracioacuten propia)
72
Puede darse el caso de que un nodo no sea detectado automaacuteticamente eso indica que se
ha omitido alguacuten paso o parte de la configuracioacuten realizada hasta el momento es incorrecta En ese
caso comprobar lo siguiente
Que el nodo esclavo este correctamente conectado a la red interna
Que el FrontEnd (nodo maestro) tenga correctamente configurada la red interna y externa
Que el PXE esteacute habilitado en la Bios del nodo esclavo
331 Administracioacuten de nodos Algunos de los comandos maacutes uacutetiles para para la gestioacuten
de los nodos son los siguientes
Eliminar un nodo de la lista
Reinstalar un nodo
Listar los nodos ya instalados
Acceder a un nodo
$rocks remove host nombre_nodo
$rocks remove host nombre_nodo
$rocks set host boot nombre_nodo action=install
$rocks set host boot nombre_nodo action=install
$rocks list host
$rocks list host
$ssh nombre_nodo
$ssh nombre_nodo
73
Ejecutar un comando de manera remota a un nodo
332 Creacioacuten de cuentas de usuario Para agregar a un usuario hay que realizar los
siguientes pasos
1 Creacioacuten de la cuenta
$useradd nombre_usuario
2 Asignacioacuten de una contrasentildea
$passwd nombre_usuario
3 Sincronizacioacuten de la cuenta de usuario con el resto de nodos
$rocks-user-sync
333 Configuracioacuten del directorio compartido El directorio share es compartido por el
FrontEnd y el resto de nodos se localiza dentro del FrontEnd en la carpeta exports siendo la
carpeta share un enlace simboacutelico a esta uacuteltima
Al principio es posible que no se sincronicen correctamente los archivos introducidos en el
directorio debido a que la carpeta inicialmente estaacute vaciacutea por lo que para solucionar este
inconveniente puede usarse el comando siguiente para reiniciar dicho servicio
$ssh nombre_nodo lsquocomandorsquo
$ssh nombre_nodo lsquocomandorsquo
$cd
$export fs ndashrv
service nfs restart
$cd
$export fs ndashrv
service nfs restart
74
34 Operaciones baacutesicas de Rocks
Comandos y aplicaciones esenciales para el manejo del cluacutester
Ver que rolls estaacuten instalados
$rocks list roll
Visualizar el estado del sistema Figura 318
$qstat ndashf
Probar el sistema de colas para distribuir tareas a los nodos
Para ello se prueba que el SGE del cluacutester funcione enviaacutendole una serie de trabajos
mediante el comando qsub
En primer lugar se crea un fichero (pruebapl) que tenga permisos de ejecucioacuten con el
siguiente contenido
Figura 318 Comando qstat ndashf (Fuente Elaboracioacuten propia)
75
usrbinperl
for(my $i=0$ilt30$i++) sleep(2) print okn
Y se ejecuta con el siguiente comando
$ for ((i=1ilt=10i+=1)) do qsub pruebapl done
Al ejecutarse se puede comprobar que los trabajos se han mandado Figura 319
Y al realizar de nuevo un ldquoqstat ndashfrdquo Figura 320 se observa coacutemo se van realizando
Figura 319 Enviacuteo de trabajos por medio del comando qsub (Fuente Elaboracioacuten propia)
Figura 320 Estado de los trabajos pendientes mostrados por qstat ndashf (Fuente Elaboracioacuten propia)
76
Para ver la carga de trabajo en el cluacutester de manera global y de forma graacutefica se tiene que
ingresar en un navegador web en la siguiente direccioacuten httplocalhostganglia apareceraacute la
Figura 321
Figura 321 Visualizacioacuten de la distribucioacuten de cargas en el cluacutester usando la herramienta Ganglia (Fuente Elaboracioacuten propia)
77
Capiacutetulo 4 Metodologiacutea y Resultados
Una vez finalizada la instalacioacuten y puesta en operacioacuten del equipo se analizaron diferentes
metodologiacuteas de trabajo lo que implicoacute un trabajo arduo debido a que existen complicaciones
cuando se buscan temas relacionados a vulnerar sistemas operativos La realizacioacuten de este
proyecto estaacute basado en la metodologiacutea de Joshua Picolet ldquoCracking Methodologyrdquo (Picolet
2017)
41 Obtener Archivo hash
Se pueden vulnerar contrasentildeas de Windows de diferentes maneras Una de ellas es
mediante el acceso al archivo del Administrador de cuentas de seguridad (SAM) el cual se detalla
en el apartado 253 a traveacutes de la obtencioacuten de las contrasentildeas del sistema en su forma hash por
medio de herramientas diferentes Alternativamente las contrasentildeas se pueden leer desde la
memoria lo que tiene el beneficio adicional de recuperar las contrasentildeas en texto plano y evitar el
requisito de descifrado Para comprender los formatos que se observan cuando se descarguen
hashes del sistema de Windows se requiere una breve descripcioacuten de los diferentes formatos de
almacenamiento
Originalmente las contrasentildeas de Windows de menos de 15 caracteres se almacenaban en
el formato hash de Lan Manager (LM) Algunos sistemas operativos como Windows 2000 XP y
Server 2003 continuacutean usando estos hashes a menos que esteacuten deshabilitados por el usuario
Ocasionalmente un sistema operativo como Windows Vista puede almacenar el hash LM para la
compatibilidad con otros sistemas Seguacuten analistas incluye varias vulnerabilidades como dividir
78
la contrasentildea en dos bloques y permitir que cada uno se descifre de forma independiente Mediante
el uso de tablas Rainbow es trivial descifrar una contrasentildea almacenada en un hash LM
independientemente de la complejidad Este hash se almacena con la misma contrasentildea calculada
en el formato de hash NT como el que se muestra en el siguiente ejemplo
Ejemplo de un hash NTLM con el componente LM y NT
Administrator500611D6F6E763B902934544489FCC9192BB71ED1E7F2B60ED5A2
EDD28379D45C91
Los sistemas operativos Windows maacutes recientes como el Windows 8 y 10 usan el hash NT
En teacuterminos simples no hay una debilidad significativa en este hash que lo diferencie de cualquier
otra funcioacuten hash criptograacutefica Se requieren meacutetodos de descifrado como lo es la fuerza bruta o
ataque de diccionario para recuperar la contrasentildea si uacutenicamente se almacena en el formato NT
Ejemplo de un hash NTLM uacutenicamente con el componente NT (como se ve en los sistemas
Windows mas recientes
Administrator500NOPASSWORDEC054D40119570A4663
4350291AF0F72
Es importante sentildealar que la cadena NO PASSWORD es variable seguacuten la herramienta
que se utilice Otras pueden presentar esta informacioacuten como ceros rellenos o comuacutenmente puede
79
ver la cadena ldquoAAD3B435B51404EEAAD3B435B51404EErdquo en lugar de ninguna contrasentildea
Esto significa que el hash LM estaacute vaciacuteo y no estaacute almacenado
El archivo hash se encuentran en el directorio ldquoWindows System32 configrdquo y se
necesitan ambos archivos SAM y SYSTEM Ademaacutes tambieacuten se encuentran en el archivo de
registro HKEY_LOCAL_MACHINE SAM al que no se puede acceder durante el tiempo de
ejecucioacuten Finalmente las copias de seguridad se pueden encontrar a menudo en ldquoWindows
Repairrdquo (Peleus 2019)
Para extraer el archivo hash de un sistema operativo con un nivel de seguridad C1 existen
diferentes meacutetodos en esta ocasioacuten se procederaacute a iniciar el equipo objetivo con una distribucioacuten
de Linux desde una memoria USB como se muestra en la figura 41 para de esta manera ingresar
al directorio CWINDOWSSystem32Config directorio de ubicacioacuten de los archivos SAM y
SYSTEM que son los necesarios para obtener el archivo hash (Caballero 2018)
Figura 41 Arranque con LiveUSB KaliLinux (Fuente Elaboracioacuten propia)
80
42 Dar Formato al Hash
En este punto es donde se tiene que identificar el algoritmo con el que fueron encriptados
los archivos SAM y SYSTEM que se han obtenido en el punto anterior con la finalidad de
seleccionar el tratamiento que se les daraacute El algoritmo de encriptacioacuten del archivo SAM de
Windows 10 es NTLM y ademaacutes estaacute almacenado en un formato binario (ByteBleeder 2017) por
lo que fue necesario instalar la herramienta con licencia GNU samdump2 para obtener la syskey y
de esta manera poder extraer los hash desde el archivo SAM de Windows
En la figura 42 se han obtenido los hashes del archivo SAM donde se puede observar que
los usuarios Administrador e Invitado estaacuten deshabilitados ademaacutes de que existen tres cuentas de
usuario activas las cuales son Gad prueba y usuarioprueba cada una con su contrasentildea cifrada
en formato NTLM a la derecha del nombre de usuario la cuenta usuarioprueba fue a la que se le
realizoacute el anaacutelisis que se detalla posteriormente
43 Evaluar la fuerza del Hash
En criptografiacutea se dice que un algoritmo criptograacutefico se rompe si por alguacuten meacutetodo se
consigue reducir su fortaleza es decir reducir por ejemplo su entropiacutea de los 2256 bits teoacutericos a
Figura 42 Resultado de la ejecucioacuten de la herramienta samdump2 (Fuente Elaboracioacuten propia)
81
tan soacutelo 2255 por ejemplo El hecho de que se encuentre una colisioacuten no implica necesariamente
que un algoritmo se haya roto pues podriacutea haber sido realizado mediante fuerza bruta pero puede
ser una causa
Un ataque de colisioacuten significa que encuentro dos entradas diferentes que producen el
mismo resultado de un hash particular Este es generalmente el tipo de ataque maacutes faacutecil Es el tipo
de ataque que se conoce desde hace varios antildeos contra MD5
Dado que una utilidad importante de las funciones hash estaacute en las firmas digitales
encontrar colisiones puede facilitar falsificar firmas digitales Es decir dos mensajes distintos que
tengan un mismo resumen tienen ademaacutes la misma firma y un atacante puede reemplazar un
mensaje por el otro Un ejemplo de este ataque fue demostrado en 2008 por un grupo de
investigadores en Aacutemsterdam los cuales falsificaron un certificado raiacutez mediante el uso de un
ataque de colisioacuten contra el algoritmo MD5 (Preukschat 2015)
Un ataque previo a la imagen generalmente es mucho maacutes difiacutecil es encontrar otra entrada
que produzca el mismo resultado que un hash que ya se conoce
Para tratar de aclarar la diferencia aquiacute en un ataque de colisioacuten encuentro dos entradas A
y B que producen el mismo resultado En un ataque de preimagen comienzo a partir de alguacuten
resultado conocido X y encuentro una entrada que produciraacute X como resultado (Coffin 2015)
82
Para realizar esta evaluacioacuten se tomoacute como base la tabla del apeacutendice Hash craking
benchmark (Picolet 2017) el objetivo es observar el comportamiento y velocidad del Hash
mencionado cuando fue sometido a pruebas de criptoanaacutelisis Si se trata de un Hash lento se deberaacute
ser maacutes selectivo en queacute tipos de diccionarios y meacutetodos de criptoanaacutelisis se le debe aplicar Si es
un Hash raacutepido se puede ser maacutes libre con la estrategia de criptoanaacutelisis Este estudio busca
realizar una prueba de criptoanaacutelisis mostrando las diferencias entre el poder de procesamiento de
un cluacutester de 17 nodos contra una computadora personal por lo que no necesariamente se
implementaraacute el meacutetodo oacuteptimo para la realizacioacuten del criptoanaacutelisis
44 Calcular la capacidad del equipo
Con la informacioacuten de la evaluacioacuten de la fuerza del Hash obtenida en el apartado anterior en
este apartado se tiene que establecer la capacidad de la plataforma o plataformas que realizaraacuten
el criptoanaacutelisis
Para conocer la capacidad de procesamiento del cluacutester de alto rendimiento se utilizoacute la
herramienta Linpack Benchmark HPL es una implementacioacuten portaacutetil del Benchmark de alto
rendimiento LINPACK para equipos de coacutemputo distribuido Actualmente se utiliza para obtener
varios resultados en la lista actual de Top500 de HP cluacutesters (Dongarra 2010)
El Linpack Benchmark (HPL del Ingleacutes High-Performance Linpack Bench-mark) es un
software que resuelve un sistema lineal aleatorio de doble precisioacuten aritmeacutetica (64 bits) en equipos
de memoria distribuida El rendimiento muestra el nuacutemero de operaciones de punto flotante por
segundo logradas por el sistema (Petitet Whaley Dongarra amp Cleary 2008)
83
El HPL fue desarrollado en el Argone National Laboratory por Jack Don-garra en 1976 y
es uno de los maacutes usados en sistemas cientiacuteficos y de ingenieriacutea para el caacutelculo de prestaciones
Las principales caracteriacutesticas del algoritmo utilizado por el HPL son
Distribucioacuten ciacuteclica de datos de bloques de dos dimensiones
Variante derecha de la factorizacioacuten LU con pivoteo parcial (Teacutecnica de pivoteo
Dicta que el elemento pivote que debe escogerse es el mayor absolutamente de cada
columna)
Factorizacioacuten recursiva con pivoteo y reenviacuteo de columna
Distintas topologiacuteas virtuales de reenviacuteos
Algoritmo de reduccioacuten de reenviacuteo para ancho de banda (Castelloacute Gimeno 2014)
La resolucioacuten del sistema de ecuaciones se realiza del siguiente modo
1 Se crea un sistema de ecuaciones
(1)
119860119909 = 119887
(2)
119860 isin 119877119899119909119899
(3)
119909 119887 isin 119877119899
84
HPL calcula que la solucioacuten para un sistema de ecuaciones lineales se puede generalizar
como 119860119909 = 119887 donde 119860 es una matriz 119873 119909 119873 cuyos valores se generan aleatoriamente
119909 119910 119887 son vectores de tamantildeo 119873 Como se muestra en la Figura 43
2 Primero se calcula la factorizacioacuten 119871119880 con pivoteo parcial de los coeficientes 119899 y 119899 + 1
de la matriz [119860 119887]
(4)
119875119903[119860 119887] = [[119871119880] 119910]
(5)
119875119903 119871 119880 isin 119877119899119909119899
(6)
119910 isin 119877119899
El primer paso es la factorizacioacuten de la matriz 119860 en una matriz triangular superior 119880
y una matriz triangular inferior 119871 tal que 119860 = 119871119880 La factorizacioacuten se usa para calcular
el vector solucioacuten 119909
3 Una vez el pivoteo (representado por la permutacioacuten de la matriz 119875119903) y la factorizacioacuten
inferior se aplican sobre 119887 la solucioacuten se obtiene en un paso resolviendo el sistema
superior triangular
Figura 43 Sistema de Ecuaciones tipo 119860119909 = 119887 (Fuente Elaboracioacuten propia)
85
(7)
119880119909 = 119910
La matriz triangular inferior izquierda y el conjunto de pivotes no se devuelven en el
resultado Para la estabilidad numeacuterica el algoritmo de factorizacioacuten utiliza un pivote parcial de
fila
La implementacioacuten paralela de Linpack divide la matriz 119860 119873 119909 119873 en una cuadriacutecula de
procesos 119875 119909 119876 bidimensional y luego la divide en subgrupos de mosaicos 119873119861 119909 119873119861 (Petitet
Whaley Dongarra amp Cleary 2008)
Utilizando la herramienta HPL en esta investigacioacuten se obtuvieron los siguientes
resultados
La prueba abordoacute el ajuste de 119873 y la eficiencia obtenida en comparacioacuten con el rendimiento
maacuteximo Se determinoacute un valor para 119873 = 800000 aleatoriamente para ejecutar HPL en todo el
cluacutester Sin embargo el tiempo fue excesivo por lo tanto se determinoacute que este tamantildeo del
problema fue demasiado grande para el cluacutester Al realizar otros experimentos con valores maacutes
pequentildeos de 119873 se obtuvieron mejores resultados de rendimiento La Tabla 41 muestra el
rendimiento de HPL en GFlops para 119873 = 300000 400000 y 500000 Como se puede observar
en la Tabla 41 se obtuvo el mejor resultado de rendimiento 850 GFlops para 119873 = 500000 para
valores mayores de 119873 la distribucioacuten de cargas del cluacutester empieza a sobrepasar su capacidad como
se muestra en la Figura 44 y la vez su rendimiento disminuye Esto ocurre porque la cantidad de
memoria utilizada con las memorias intermedias de comunicacioacuten MPI es mayor de lo esperado
Por lo tanto es necesario dejar maacutes del 20 de la memoria para el sistema (Petitet Whaley
86
Dongarra amp Cleary 2008) Tambieacuten se realizaron pruebas usando solo un nodo de coacutemputo y el
rendimiento fue de 34 GFlops para 119873 = 20000
Tabla 41 Rendimiento de HP cluacutester (Fuente Elaboracioacuten propia)
Analizando la eficiencia obtenida para la ejecucioacuten de un solo nodo cuando 119873 = 20000
se obtuvo el 823 del rendimiento maacuteximo (el rendimiento maacuteximo para un solo nodo es 477
Gflops) Para todo el cluacutester el rendimiento maacuteximo seriacutea 119879119898119886119909 = 477 119909 17 =
8109 119866119891119897119900119901119904 aproximadamente
Figura 44 Distribucioacuten de cargas del cluacutester
0
500
1000
300000 400000 500000
Gflops
Gflops
87
La Figura 44 titulada ldquoDistribucioacuten de cargas del cluacutesterrdquo muestra la imagen de la
herramienta Ganglia de manera graacutefica a traveacutes de cuadros que variacutean de color dependiendo de la
carga que tenga cada uno de los nodos al momento de implementar la herramienta HPL De manera
inicial indica que el cluacutester tiene un total de 17 equipos de 4 cores cada uno eso da un total de 68
cores trabajando sin equipos inactivos Muestra tambieacuten una sobrecarga en el cluacutester y un
porcentaje promedio de 100 de uso en la uacuteltima hora
45 Establecer Estrategia
Esto significa uacutenicamente que en este apartado se realizaraacute una guiacutea baacutesica para procesar
los hashes obtenidos sin perder de vista que cada escenario a criptoanalizar es uacutenico en funcioacuten
de las circunstancias externas Como ya se ha mencionado anteriormente esta estrategia de
criptoanaacutelisis se ha planteado implementar dos meacutetodos los cuales son Fuerza Bruta y ataque de
diccionario sin importar si son o no los oacuteptimos debido a que se realizaraacute una comparativa de
capacidad de procesamiento
451 Fuerza Bruta Una vez que se han intentado varios meacutetodos y han fallado se puede
iniciar un ataque de fuerza bruta estaacutendar poniendo especial atencioacuten en la cantidad de siacutembolos
del alfabeto que puede usar el equipo a analizar Por encima de 8 caracteres esto generalmente no
tiene sentido debido a limitaciones de hardware y entropiacutea (complejidad de la contrasentildea) Una
contrasentildea de Windows seguacuten Microsoft (Microsoft Inc 2019) una contrasentildea de Windows debe
estaacute formada por
88
26 Caracteres mayuacutesculas de la ldquoArdquo a la ldquoZrdquo
26 Caracteres minuacutesculas de la ldquoardquo a la ldquozrdquo
10 Diacutegitos de base 10 (0 a 9)
32 Caracteres especiales (~$^amp_-+=|()[]ltgt)
94 Caracteres alfanumeacutericos en total
4511 Cantidad de combinaciones posibles Si se usa una clave numeacuterica (nuacutemeros del 0
al 9) existen 10 posibilidades de 4 diacutegitos de longitud que es la extensioacuten por defecto de los
teleacutefonos celulares Para 4 diacutegitos las combinaciones posibles seriacutean 10 mil 104 = 10000
(Labaca Castro 2014)
Por otro lado si tomamos un alfabeto de 26 letras mayuacutesculas y 26 minuacutesculas 10 nuacutemeros
y 10 caracteres especiales en total tenemos 72 diferentes posibilidades para un uacutenico caraacutecter Eso
significa que las combinaciones para una contrasentildea de 4 caracteres seriacutean 724 = 26873856
Baacutesicamente maacutes de 26 millones de combinaciones en una clave de 4 caracteres contra 10 mil en
una clave de 4 diacutegitos numeacutericos En este estudio se utiliza la contrasentildea de bloqueo descrita en el
apartado anterior que es de 94 combinaciones para cada caraacutecter teniendo una longitud de 7
caracteres por lo tanto seraacuten 947 = 64847759000000 de posibles combinaciones que
nuestros equipos deben explorar para obtener la contrasentildea correcta
Como se mencionoacute en el apartado 42 el usuario sobre el cual se realizoacute el criptoanaacutelisis
fue usuarioprueba el cual constaba de una contrasentildea de longitud 7 caracteres la cual despueacutes
de realizado el anaacutelisis y como se puede observar en la Figura 45
89
1 Anaacutelisis a usuario usuarioprueba
2 Nuacutemero de nodos en operacioacuten 17
3 Nuacutemero de procesos ejecutaacutendose de forma paralela 68
4 Tiempo de duracioacuten del anaacutelisis en el cluacutester 122727 horas
5 Contrasentildea criptoanalizada Pass7
Asiacute mismo en la Tabla 42 se muestra el resultado final y el tiempo de duracioacuten del
criptoanaacutelisis realizado al archivo SAM con el cluacutester y la computadora personal
Tabla 42 Resultados de criptoanaacutelisis de archivo SAM (Fuente Elaboracioacuten propia)
Nodos Nuacutecleos Tiempo de Procesamiento (Horas)
1 (PC) 4 1075316
17 (Cluacutester) 68 122727
1
2
3
4 5
Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester (Fuente Elaboracioacuten propia)
90
452 Diccionario Meacutetodo empleado para romper la seguridad de los sistemas basados en
contrasentildeas (password) en la que el atacante intenta dar con la clave adecuada probando todas (o
casi todas) las palabras posibles ingresadas previamente en un diccionario idiomaacutetico
Generalmente se emplean programas especiales que se encargan de ello
Este meacutetodo suele ser maacutes eficiente que el meacutetodo de fuerza bruta debido a que muchas
usuarios casi siempre suelen utilizar contrasentildeas con una o varias palabras existentes en su lengua
para que la contrasentildea no sea olvidada faacutecilmente y sea sencilla de recordar esto no es una praacutectica
recomendable (Alegsa 2018)
Para realizar este meacutetodo se utilizoacute un diccionario descargado de internet el cual contiene
10000000 de posibles contrasentildeas (g0tmi1k 2018)
Ademaacutes se ejecutoacute un programa creado en lenguaje C (Anexo 1) a traveacutes de la
implementacioacuten de las libreriacuteas MPI y open MPI propias de la arquitectura de cluacutester de
computadoras Este programa fue ejecutado en los mismos equipos descritos anteriormente para
obtener todos los nuacutemeros primos encontrados dentro de un intervalo dado En este caso el
intervalo dado fue de 10000000 con los siguientes resultados mostrados en la Tabla 43
Tabla 43 Resultados de ejecucioacuten de programa en C para la obtencioacuten de nuacutemeros primos (Fuente Elaboracioacuten
propia)
Nodos Nuacutecleos Tiempo de Procesamiento (Segs)
1 (PC) 4 5078
17 (Cluacutester) 68 00013
91
453 Analizar los resultados Posterior a realizar el criptoanaacutelisis y descifrar con eacutexito
una cantidad suficiente de hashes se analizan los resultados en busca de pistas o patrones Este
anaacutelisis puede ayudar a tener eacutexito en cualquier hash restante
454 Personalizar ataques Tomando como base el anaacutelisis de resultados realizado
previamente se disentildearaacuten diversas estrategias personalizadas que aprovechen las vulnerabilidades
conocidas o patrones Los ejemplos seriacutean ataques de maacutescara personalizados o reglas para
adaptarse al comportamiento o las preferencias del usuario objetivo
92
Conclusioacuten
El trabajo de investigacioacuten presentado parte de la necesidad de buscar alternativas para
explotar al maacuteximo la capacidad de procesamiento del equipo de coacutemputo que existe actualmente
dentro del inventario del Instituto Tecnoloacutegico de Acapulco asiacute como proveer una plataforma que
coadyuve a la investigacioacuten dentro del Instituto a traveacutes de implementar un cluacutester de coacutemputo
con capacidad para realizar proyectos en el aacuterea de ingenieriacutea y matemaacuteticas con el fin de optimizar
el tiempo de ejecucioacuten lo cual en un futuro se veraacute reflejado en ventajas para el desarrollo de la
regioacuten
La revisioacuten y anaacutelisis de informacioacuten en relacioacuten a cluacutesters es muy interesante pero a la
vez es compleja dado que involucra diferentes aspectos durante su evolucioacuten asiacute como diversas
metodologiacuteas para su formacioacuten e implementacioacuten Se considera de suma importancia para este
trabajo las revisiones efectuadas ya que son la base para la propuesta entregada
De acuerdo a las especificaciones teacutecnicas de los equipos informaacuteticos existentes dentro
del laboratorio de la Maestriacutea en Sistemas Computacionales y una vez que se realizoacute el anaacutelisis
de varios casos de eacutexito se propuso la metodologiacutea para implementacioacuten de un cluacutester homogeacuteneo
tipo Beowolf Este meacutetodo estaacute basado en otros que ya se han implementado bajo realidades
acadeacutemicas similares rescatando las etapas maacutes importantes de cada uno y complementaacutendolo con
los aportes personales se consideroacute que fue el oacuteptimo debido a que se implementoacute con hardware
convencional y herramientas de uso libre
93
El hecho de haber seleccionado un meacutetodo adecuado permitioacute superar gran parte los
problemas que presentaban las metodologiacuteas que fueron analizadas simplificoacute la implementacioacuten
del cluacutester y permitioacute el poder alcanzar una mayor estabilidad en su desempentildeo desde su etapa
inicial fue importante conocer el resultado en cada una de las etapas de implementacioacuten para
asegurar su desenvolvimiento en el futuro
Para integrar los equipos independientes a la arquitectura cluacutester se realizoacute el disentildeo de
una topologiacutea de red Gigabit Ethernet tipo estrella con un direccionamiento IP estaacutetico la
configuracioacuten de protocolos de comunicacioacuten remota sin autenticacioacuten la comparticioacuten de
archivos en red y la utilizacioacuten de aplicaciones de licencia GPL que permiten obtener el
funcionamiento similar a la de una supercomputadora
Haciendo uso de libreriacuteas de paso de mensajes (MPI) y el software John the Ripper para el
descifrado de contrasentildeas la arquitectura cluacutester implementada alcanzoacute una eficiencia de 885
de rendimiento en comparacioacuten con los recursos computacionales de un solo equipo con las
caracteriacutesticas de un nodo Ademaacutes otros de los proyectos ejecutados en la arquitectura cluacutester
para probar el rendimiento fue la ejecucioacuten de un programa para la deteccioacuten de nuacutemeros primos
dentro de un archivo de 10000000 de nuacutemeros obteniendo una eficiencia de maacutes de 99 gracias
a la distribucioacuten de tareas que proporcionan las libreriacuteas de paso de mensajes (MPI) dentro de la
arquitectura cluacutester
Con la implementacioacuten de la arquitectura cluacutester el laboratorio de la Maestriacutea en Sistemas
Computacionales podraacute dar soluciones potentes eficientes y econoacutemicas en los entornos de
94
investigacioacuten mejorando la capacidad de procesamiento en aplicaciones como evaluacioacuten de
algoritmos compresioacuten de archivos renderizacioacuten de imaacutegenes anaacutelisis de datos (big data) en un
tiempo relativamente bajo ideal para las necesidades educativas
La experiencia obtenida al realizar esta investigacioacuten y propuesta ha sido enriquecedora
tanto por la obtencioacuten de conocimiento en base a la historia evolucioacuten y arquitectura de cluacutesters
asiacute como la programacioacuten paralela y sus ventajas en diferentes proyectos desarrollados en todo el
mundo Igualmente la comparacioacuten entre cada uno de los modelos y meacutetodos resulta interesante
dado que existe un sinnuacutemero de ejemplos con caracteriacutesticas diferentes pero baacutesicamente con un
mismo objetivo final
Trabajo Futuro
El cluacutester implementado en el Laboratorio de la Maestriacutea en Sistemas computacionales del
Instituto Tecnoloacutegico de Acapulco puede ser utilizado en gran cantidad de aplicaciones dentro de
las diferentes aacutereas de investigacioacuten del Instituto asiacute como estar disponible para el Departamento
de Posgrado e Investigacioacuten como apoyo durante la realizacioacuten de tareas y proyectos dentro de las
aacutereas de Desarrollo de Sistemas Inteligentes asiacute como de Tecnologiacuteas Web
Propuesta de Trabajo a Futuro
Durante la realizacioacuten de este proyecto se observoacute la necesidad que existe dentro del
departamento de Investigacioacuten y Posgrado de equipos de alta capacidad de procesamiento para
realizar de una manera maacutes eficiente las investigaciones que se estaacuten llevando a cabo Una de ellas
es el ldquoSistema de apoyo al diagnoacutestico oportuno de Retinopatiacutea Diabeacuteticardquo en la cual a traveacutes del
entrenamiento de una red neuronal se clasificaraacuten y evaluaraacuten un nuacutemero de 3000 imaacutegenes para
95
demostrar la presencia de dicha enfermedad en pacientes del Instituto Estatal de Oftalmologiacutea
Actualmente se ha realizado una prueba de entrenamiento de dicha red neuronal con 70 imaacutegenes
obteniendo como resultado un tiempo clasificacioacuten y evaluacioacuten de 301532 horas en un equipo
con un procesador Core I7 con 8 GB en memoria RAM
96
Bibliografiacutea
Alegsa (01 de 01 de 2018) Alegsa Diccionario Informaacutetico Recuperado el 07 de 2019 de
Alegsa httpwwwalegsacomarDicataque_por_diccionariophp
Avecto (2017) Avecto Limited Recuperado el 10 de 08 de 2018 de AVECTO a Bomgar
Company wwwavectocom
Borghello C (2009) Seguridad de la Informacioacuten Recuperado el 11 de 2018 de Criptografiacutea de
la A-Z httpswwwsegu-infocomarproyectosp1_hashhtm
Branch Bedoya J amp Mesa Muacutenera A (Diciembre de 2008) Implementacioacuten de un cluster
homogeacuteneo para la resolucioacuten de problemas de alta complejidad computacional Avances
en Sistemas e Informaacutetica 5(3)
ByteBleeder (02 de 06 de 2017) Practical guide to NTLM Relaying in 2017 Obtenido de Github
httpsbyt3bl33d3rgithubiopractical-guide-to-ntlm-relaying-in-2017-aka-getting-a-
foothold-in-under-5-minuteshtml
Caballero A (26 de 06 de 2018) Hacking Eacutetico Recuperado el 03 de 2019 de John The Ripper
httpwwwreydescomdq=Recuperar_la_Contrasena_del_Administrador_utilizando_s
amdump2_y_John_The_Ripper
Carretero Peacuterez J de Miguel Anasagasti P Garciacutea Carballeira F amp Peacuterez Costoya F (2001)
Sistemas Operativos Una visioacuten aplicada (C F Madrid Ed) Madrid Espantildea
McGRAW-HillInteramericana
Castelloacute Gimeno A (30 de 07 de 2014) Universitat Jaume Recuperado el 10 de 2019 de
Evaluacioacuten de prestaciones mediante laaplicacioacuten HPL de clusters utilizandorCUDA
97
httprepositoriujiesxmluibitstreamhandle10234115082TFM_2014_CastelloGimen
oApdfsequence=1ampisAllowed=y
Chaacutevez J Echeverriacutea C Correa M Vaacutezquez E Suaacuterez M Maacutermol X Diacuteaz G (07 de
1999) Centro de Caacutelculo Cientiacutefico Recuperado el 01 de 05 de 2018 de Universidad de
Los Andes httpwwwcecalculavedocumentaciontutorialesbeowulfinformehtml
Chirinov R (2003) Nfinite9000 SL Recuperado el 26 de 04 de 2018 de Noticias 3D
httpswwwnoticias3dcomarticuloaspidarticulo=248amppag=4
Coffin J (23 de 07 de 2015) Quora Recuperado el 15 de 08 de 2019 de
httpswwwquoracomWhat-does-it-mean-when-a-hashing-algorithm-has-been-broken
Dongarra J (2010) Top500 Super computer sites Recuperado el 07 de 2019 de http
wwwtop500org
Educba (01 de 01 de 2019) Recuperado el 10 de 2019 de Educbaorg
httpswwweducbacomidea-algorithm
europa press (04 de 06 de 2013) Portal Tic Recuperado el 18 de 11 de 2018 de Europa Press
httpswwweuropapressesportalticgadgetsnoticia-cuarta-generacion-intel-core-mayor-
salto-cuanto-ahorro-energetico-20130604174722html
g0tmi1k (2018) github Recuperado el 05 de 2019 de github
httpsgithubcomdanielmiesslerSecListsblobmasterPasswordsCommon-
Credentials10-million-password-list-top-1000000txt
Gonzaacutelez Agudelo D (2014) El riesgo y la falta de politicas de seguridad informaacutetica una
amenaza en las empresas certificadas basc Recuperado el 20 de 05 de 2018 de
Universidad Militar Nueva Granada
httpsrepositoryunimilitareducobitstream10654122511ENSAYO20FINALpdf
98
Gonzaacutelez Ramiacuterez E amp Rodriacuteguez Saacutenchez A (2008) Disentildeo e implementacioacuten de un cluster
tipo BEOWULF para el desarrollo de coacutemputo cientiacutefico avanzado CdMx Mexico
Hernandez M (2013) Forensics Mexico Recuperado el 07 de 2018 de La importancia del
registro de Windows parte 1 httpforensicsmexicoblogspotcom201309la-
importancia-del-registro-de-windowshtml
Kowalczyk C (01 de 2015) Crypto-IT Recuperado el 11 de 2018 de Crypto-IT
httpwwwcrypto-itnetengasymmetricindexhtml
Labaca Castro R (13 de 06 de 2014) We live security Recuperado el 2019 de 08 de 07 de
Welivesecuritybyeset httpswwwwelivesecuritycomla-es20140613matematica-
claves-numerica-alfanumerica
Lizaacuterraga C (2002) Departamento de Fiacutesica Recuperado el 12 de 03 de 2018 de Universidad
de Sonora httpclustersfisicausonmx
Llorens E amp Pentildea M (2002) Recuperado el 04 de 2018 de Departament dArquitectura de
Computadors httppersonalsacupceduenricPFCBeowulfbeowulfhtml
Meneacutendez-Barzanallana R (07 de 08 de 17) Universidad de Murcia Recuperado el 11 de 2018
de Informaacutetica Aplicada a las Ciencias Sociales
httpswwwumesdocenciabarzanaIACCSSCriptografiahtml
Merkle R amp Damgaringrd I (sf) Numerenturorg Recuperado el 06 de 2019 de Para computar -
numerenturorg httpnumerenturorgfuncion-merkle-damgard
Microsoft Inc (02 de 05 de 2019) wwwmicrosoftcom Obtenido de Password must meet
complexity requirements httpsdocsmicrosoftcomes-eswindowssecuritythreat-
protectionsecurity-policy-settingspassword-must-meet-complexity-requirements
99
Mifsud E (26 de 03 de 2012) Introduccioacuten a la seguridad informaacutetica Recuperado el 07 de 05
de 2018 de Ministerio de educacioacuten cultura y deportes Gobierno de Espantildea
httprecursosticeducacionesobservatoriowebessoftwaresoftware-general1040-
introduccion-a-la-seguridad-informaticashowall=1
Murugesan S (01 de 02 de 2008) Researchgate doi101109MITP200810
Nahar K amp Abu Abbas O (01 de 2010) Researchgate Recuperado el 07 de 2019 de
Researchgate
httpswwwresearchgatenetpublication315492522_Hybrid_Cipher_System
Nievas F Pino O amp Arroyo R (sf) Los clusters como Plataforma de Procesamiento Paralelo
Recuperado el 25 de 04 de 2018 de
httpusuarioslycoseslacaraocultadescargasClusters_definitivo pdf
Pawar S (2016) A computer science portal for geeks Recuperado el 10 de 2018 de
Geeksforgeeks httpswwwgeeksforgeeksorgrc5-encryption-algorithm
Peleus (2019) NETSEC Recuperado el 08 de 2019 de httpsnetsecwsp=314
Peacuterez Tavera I (2014) Obtenido de Universidad Autonoma del Estado de Hidalgo
httpswwwuaehedumxscigeboletinprepa4n2e4html
Peacuterez M (2001) Recuperado el 15 de 04 de 2018 de
httpwwwdragonesorgBibliotecaArticulosArquitecturaParalela2pdf
Petitet A Whaley R C Dongarra J amp Cleary A (2008) HPL - A Portable Implementation of
the High-Performance Linpack Benchmark for Distributed-Memory Computers
Recuperado el 07 de 2019 de httpwwwnetliborgbenchmarkhpl
Picolet J (2017) Hash Crack Password Cracking Manual (Vol 2) Createspace Independent
Pub
100
Preukschat A (23 de 02 de 2015) Oro y Finanzas Recuperado el 07 de 2019 de
httpswwworoyfinanzascom201502que-es-colision-criptografia-bitcoin
Robbins D (2008) OpenMosix Recuperado el 22 de 04 de 2018 de the openMosix Project
httpopenmosixsourceforgenetintroduction_to_openmosixhtml
Rocha Quezada J d Botello Rionda S Vargas Feacutelix J M amp Munguiacutea Torres I A (Sep-Dic
de 2011) Disentildeo e implementacioacuten de un cluacutester de coacutemputo de alto rendimiento Acta
Universitaria 21(3) 24-33 Recuperado el 1 de 12 de 2018
Rocksclusters (01 de 01 de 2010) httpwwwrocksclustersorg Recuperado el 01 de 06 de 2018
de httpwwwrocksclustersorg httpwwwrocksclustersorg
Sanjoy K (01 de 01 de 2015) DZone Recuperado el 15 de 06 de 2019 de DZone
httpsdzonecomarticlessecurity-algorithms-des-algorithm
Security Degree Hub (01 de 2017) Security Degree Hub Recuperado el 13 de 02 de 2019 de
Security Degree Hub httpswwwsecuritydegreehubcomwhat-is-cryptanalysis
Simmons G (01 de 01 de 2019) Encyclopedia Britannica Recuperado el 08 de 2019 de
Encyclopedia Britannica httpswwwbritannicacomtopicRSA-encryption
statista (09 de 2017) Statista Obtenido de Statista Co httpsesstatistacom
Turner D (2004) Recuperado el 12 de 02 de 2018 de Ames Lab
httpwwwsclameslabgovProjectsparrallel_computingpara_intohtml
United States Government Department of Defense (1983) Trusted Computer System Evaluation
Criteria Rainbow Series
Universidad Internacional de Valencia (09 de Septiembre de 2016) Nuestros
expertosTecnologiacutea Recuperado el 27 de Abril de 2018 de Universidad Internacional de
Valencia httpswwwuniversidadviuesla-seguridad-informatica-puede-ayudarme
101
Wallen J (19 de 01 de 2019) Lifewire Recuperado el 13 de 06 de 2019 de Lifewire
httpswwwlifewirecomgnome-3-desktop-4175640
Yang H (01 de 02 de 2019) Herong Yang Recuperado el 15 de 06 de 2019 de Cryptography
Tutorials httpwwwherongyangcomCryptographyDSA-Introduction-What-Is-DSA-
Digital-Signature-Algorithmhtml
102
Anexo 1
Programa en Lenguaje C para la obtencioacuten de nuacutemeros primos utilizando libreriacuteas mpi
include ltcstdlibgt
include ltiostreamgt
include ltiomanipgt
include ltcmathgt
include ltctimegt
include mpih
using namespace std
int main ( int argc char argv[] )
int prime_number ( int n int id int p )
void timestamp ( )
int main ( int argc char argv[] )
int i
int id
int master = 0
int n
int n_factor
int n_hi
int n_lo
int p
int primes
int primes_part
double wtime
n_lo = 1
n_hi = 10000000
n_factor = 2
MPIInit ( argc argv )
p = MPICOMM_WORLDGet_size ( )
id = MPICOMM_WORLDGet_rank ( )
if ( id == master )
cout ltlt n
cout ltlt Cuenta primosn
cout ltlt C++MPI versionn
cout ltlt n
cout ltlt Programa para contar cantidad de primos para un N dadon
cout ltlt Corriendo en ltlt p ltlt procesosn
cout ltlt n
103
cout ltlt N S Tiempon
cout ltlt n
n = n_lo
while ( n lt= n_hi )
if ( id == master )
wtime = MPIWtime ( )
MPICOMM_WORLDBcast ( ampn 1 MPIINT master )
primes_part = prime_number ( n id p )
MPICOMM_WORLDReduce ( ampprimes_part ampprimes 1 MPIINT
MPISUM
master )
if ( id == master )
wtime = MPIWtime ( ) - wtime
cout ltlt ltlt setw(8) ltlt n
ltlt ltlt setw(8) ltlt primes
ltlt ltlt setw(14) ltlt wtime ltlt n
n = n n_factor
MPIFinalize ( )
if ( id == master )
cout ltlt n
cout ltlt PRIME_MPI - Procesos maestron
cout ltlt Finalizacion del calculo normaln
return 0
int prime_number ( int n int id int p )
int i
int j
int prime
int total
104
total = 0
for ( i = 2 + id i lt= n i = i + p )
prime = 1
for ( j = 2 j lt i j++ )
if ( ( i j ) == 0 )
prime = 0
break
total = total + prime
return total
void timestamp ( )
define TIME_SIZE 40
static char time_buffer[TIME_SIZE]
const struct tm tm
size_t len
time_t now
now = time ( NULL )
tm = localtime ( ampnow )
len = strftime ( time_buffer TIME_SIZE d B Y IMS p tm )
cout ltlt time_buffer ltlt n
return
undef TIME_SIZE
vii
Iacutendice de Contenido
Descargo de Responsabilidad Institucional ii
Dedicatoria iii
Agradecimientos iv
Resumen v
Abstract vi
Iacutendice de Contenido vii
Iacutendice de Figuras x
Iacutendice de Tablas xi
Capiacutetulo 1 Introduccioacuten 1 11 Antecedentes del problema 1
12 Planteamiento del Problema 4
13 Objetivos 6
131 Objetivo General 6
132 Objetivos Especiacuteficos 6
14 Justificacioacuten 7
15 Hipoacutetesis 7
16 Alcances y Limitaciones 8
17 Impacto Social Tecnoloacutegico Econoacutemico y Ambiental 8
171 Impacto social 8
172 Impacto ambiental 9
173 Impacto econoacutemico 10
18 Metodologiacutea a Utilizar 10
181 Anaacutelisis 10
182 Disentildeo 10
1821 Economiacutea 10
1822 Instalaciones 10
1823 Escalabilidad 11
1824 Red 11
1825 Software 11
1826 Almacenamiento 12
183 Implementacioacuten 12
1831 Software 12
1832 Hardware 13
1833 Recursos totales del cluacutester 13
19 Aseguramiento Teacutecnico ndash Material 13
191 Hardware 14
viii
1911 Equipo de coacutemputo 14
Capiacutetulo 2 Estado del Arte 16
Marco Teoacuterico 27 21 Seguridad de la Informacioacuten 27
211 Objetivo de la seguridad de la informacioacuten 27
212 Principios de la seguridad informaacutetica 28
213 Caracteriacutesticas de seguridad informaacutetica 28
214 Formas de Autenticacioacuten 29
215 Ciber-seguridad 29
22 Criptografiacutea 30
221 Tipos de Criptografiacuteas 30
2211 Tablas Hash 30
2212 Tipos de algoritmos Hash 31
22121 SHA - 1 (Secure Hash Algorithm) 31
22122 MD5 (Message Digest Algorithm) 31
22123 RIPEMD ndash 160 32
22124 Funcioacuten Merkle-Damgaringrd 32
2213 Cifrado simeacutetrico 32
22131 RC5 (Cifrado de Rivest) 33
22132 IDEA (International Data Encryption Algorithm) 33
22133 DES (Data Encryption Standard) 34
2214 Cifrado asimeacutetrico 35
22141 DSA (Digital Signature Algorithm - Algoritmo de Firma digital) 36
22142 RSA 37
2215 Cifrado hiacutebrido 38
23 Criptoanaacutelisis 38
24 Niveles de seguridad 39
241 Nivel D1 40
242 Nivel C1 40
243 Nivel C2 41
244 Nivel B1 42
245 Nivel B2 43
246 Nivel B3 44
247 Nivel A1 45
25 Sistemas Operativos 46
251 Windows 47
252 Registro de Windows 48
253 Administrador de cuentas de seguridad 49
2531 Identificador de Seguridad (SID Security Identifier) 50
254 Autenticacioacuten NTML 51
26 LINUX (ROCKS) 52
261 Escritorio 53
262 Paquete de Oficina 53
263 Organizador de archivos 54
27 Agrupamiento (Cluacutester) de Computadoras 55
271 Beowulf 56
ix
272 Mosix 56
273 OpenMosix 57
Capiacutetulo 3 Implementacioacuten de Cluacutester 59 31 Requisitos previos 59
311 Conexioacuten de los equipos y acceso a la red 59
312 Configuracioacuten de la BIOS 60
3121 ATAIDE Mode 60
3122 PXE 62
32 Instalacioacuten de Sistema Operativo Rocks 63
321 Configuracioacuten del teclado 70
33 Instalacioacuten de los nodos 70
331 Administracioacuten de nodos 72
332 Creacioacuten de cuentas de usuario 73
333 Configuracioacuten del directorio compartido 73
34 Operaciones baacutesicas de Rocks 74
Capiacutetulo 4 Metodologiacutea y Resultados 77 41 Obtener Archivo hash 77
42 Dar Formato al Hash 80
43 Evaluar la fuerza del Hash 80
44 Calcular la capacidad del equipo 82
45 Establecer Estrategia 87
451 Fuerza Bruta 87
4511 Cantidad de combinaciones posibles 88
452 Diccionario 90
453 Analizar los resultados 91
454 Personalizar ataques 91
Conclusioacuten 92
Trabajo Futuro 94 Propuesta de Trabajo a Futuro 94
Bibliografiacutea 96
Anexo 1 102
x
Iacutendice de Figuras
Figura 31 Esquema tiacutepico de configuracioacuten de un cluacutester xi
Figura 32 Imagen del Bios del equipo en la opcioacuten ldquodrive configurationrdquo 61
Figura 33 Bios ATAIDE Legacy Mode 61
Figura 34 Bios Boot PXE 62
Figura 35 Bios Boot device prioriry 63
Figura 36 Pantalla de Inicio de instalacioacuten de Rocks 64
Figura 37 Pantalla de seleccioacuten de Rolls 65
Figura 38 Listado de opciones de rolls para instalar 65
Figura 39 Informacioacuten baacutesica del cluacutester a instalar 66
Figura 310 Configuracioacuten Ethernet de la red privada 67
Figura 311 Configuracioacuten Ethernet de la red puacuteblica 67
Figura 312 Configuracioacuten de DNS y Gateway 68
Figura 313 Ingresar contrasentildea de usuario root 68
Figura 314 Configuracioacuten horaria 69
Figura 315 Particiones del disco duro 69
Figura 316 Pantalla para ingresar nodos 71
Figura 317 Indicador de insercioacuten de nuevos nodos 71
Figura 318 Comando qstat ndashf 74
Figura 319 Enviacuteo de trabajos por medio del comando qsub 75
Figura 320 Estado de los trabajos pendientes mostrados por qstat ndashf 75
Figura 321 Visualizacioacuten de la distribucioacuten de cargas en el cluacutester usando la herramienta
Ganglia 76
Figura 41 Arranque con LiveUSB KaliLinux 79
Figura 42 Resultado de la ejecucioacuten de la herramienta samdump2 80
Figura 43 Sistema de Ecuaciones tipo 119860119909 = 119887 Fuente Propia 84 Figura 44 Distribucioacuten de cargas del cluacutester 86
Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester 89
xi
Iacutendice de Tablas
Tabla 11 Costo del Proyecto 15
Tabla 41 Rendimiento de HP cluacutester (Fuente Elaboracioacuten propia) 86
Tabla 42 Resultados de criptoanaacutelisis de archivo SAM (Fuente Elaboracioacuten propia) 89
Tabla 43 Resultados de ejecucioacuten de programa en C para la obtencioacuten de nuacutemeros primos
(Fuente Elaboracioacuten propia) 90
1
Capiacutetulo 1 Introduccioacuten
11 Antecedentes del problema
Sin lugar a duda una de las herramientas maacutes importantes producida en el siglo XX ha sido
la computadora la cual ha provocado cambios vertiginosos en la sociedad y en el progreso de la
misma En la actualidad el entorno estaacute praacutecticamente controlado por las nuevas tecnologiacuteas que
a medida que transcurre el tiempo avanzan sin liacutemites y en ocasiones son utilizadas
incorrectamente provocando dantildeos de grandes dimensiones
Los trascendentales cambios operados en el mundo moderno caracterizados por su
constante desarrollo la acelerada globalizacioacuten de la economiacutea la acentuada dependencia a
almacenar grandes voluacutemenes de informacioacuten y los sistemas que la proveen aunado a grandes
inversiones de las empresas en conocimiento actual y futuro en sistemas de informacioacuten ademaacutes
del potencial que poseen las tecnologiacuteas para cambiar draacutesticamente las organizaciones y las
praacutecticas de negocio asiacute como crear nuevas oportunidades disentildear nuevas estructuras tecnoloacutegicas
basadas en informacioacuten la convierte en un activo codiciable Tales avances hacen permanente el
riesgo en las tecnologiacuteas y nos llevan a pensar en la problemaacutetica sobre la seguridad informaacutetica
La proteccioacuten de datos documentos y control de acceso a la informacioacuten es un tema que
cada diacutea toma maacutes fuerza en las grandes compantildeiacuteas debido a las diferentes praacutecticas de
especialistas tecnoloacutegicos como los son los hackers y crackers que roban informacioacuten vital para
posteriormente sacar provecho de ella
2
ldquoDesde la aparicioacuten de los grandes sistemas aislados hasta nuestros diacuteas en los que el
trabajo en red es lo habitual los problemas derivados de la seguridad de la informacioacuten han ido
tambieacuten cambiando evolucionando pero estaacuten ahiacute y las soluciones han tenido que ir adaptaacutendose
a los nuevos requerimientos teacutecnicos Aumenta la sofisticacioacuten en el ataque y ello aumenta la
complejidad de la solucioacuten pero la esencia es la mismardquo (Mifsud 2012)
Dentro del mundo actual la informacioacuten es denominada un activo importante de una
institucioacuten la cual debe ser protegida para evitar su peacuterdida modificacioacuten o el uso inadecuado de
su contenido
El extraviacuteo o el mal uso de informacioacuten que para alguien es confidencial genera dantildeos y
repercusiones directas relacionadas a la integridad disponibilidad y confidencialidad de los
archivos y a su vez a los duentildeos de dicha informacioacuten
ldquoLa seguridad informaacutetica se distingue por tener dos propoacutesitos de seguridad la Seguridad
de la Informacioacuten y la Proteccioacuten de Datos estos se diferencian debido a que los datos son valores
numeacutericos que soportan la informacioacuten mientras que la informacioacuten es aquello que tiene un
significado para nosotrosrdquo (Gonzaacutelez Agudelo 2014)
La seguridad informaacutetica consiste en asegurar que los recursos del sistema de informacioacuten
(material informaacutetico o programas) de una organizacioacuten sean utilizados de la manera que se decidioacute
3
inicialmente y que el acceso a la informacioacuten alliacute contenida asiacute como su modificacioacuten soacutelo sea
posible a las personas que se encuentren acreditadas y dentro de los liacutemites de su autorizacioacuten
Actualmente hay mucha informacioacuten circulando en internet por ejemplo correos
electroacutenicos publicaciones en Twitter Facebook videos fotos comercio electroacutenico secretos de
estado militares o industriales Lamentablemente dicha red es puacuteblica e insegura dentro de la cual
existen usuarios bien intencionados y muchos mal intencionados Diariamente encontramos
noticias de sitios con intrusiones mal intencionadas (hackeados) clonacioacuten de tarjeta de creacutedito o
imaacutegenes adulteradas Todo lo anterior motiva la necesidad de proteger la informacioacuten a traveacutes de
mecanismos que impidan a los usuarios no autorizados acceder a dicha informacioacuten
4
12 Planteamiento del Problema
Los sistemas de informacioacuten actuales estaacuten relacionados completamente con la exposicioacuten
de su informacioacuten a entidades externas que son ajenas a la organizacioacuten o delegacioacuten a la que
pertenecen
Cuando no se conoce el alcance que tienen los sistemas informaacuteticos ni lo vulnerables que
pueden ser si son expuestos a Internet por los mismos empleados de la organizacioacuten puede darse
ldquofugardquo de informacioacuten hacia el exterior esto los hace vulnerables a eventos y amenazas que
conllevan a riesgos que pueden provocar peacuterdidas tangibles e intangibles las cuales se traducen
en peacuterdidas que en muchos de los casos por decir lo menos seraacuten monetarias
El portal espantildeol de estadiacutesticas statista muestra la cuota de mercado de los principales
sistemas operativos a nivel mundial a fecha de febrero de 2017 seguacuten el nuacutemero de instalaciones
(statista 2017) Windows 10 fue el segundo sistema operativo maacutes instalado con una cuota de
mercado de 253 Esto significa que alrededor de una de cada cuatro computadoras estaacute
gobernado por este sistema operativo Por su parte en el caso de Windows 7 el porcentaje se situacutea
por encima del 45 a pesar de que ya no se vende ninguacuten PC con este sistema operativo Hablando
de manera conjunta los sistemas operativos Windows cuentan con una cuota del mercado global
de 8857
La empresa de seguridad informaacutetica Britaacutenica Avecto informoacute en su Microsoft
Vulnerabilities Report 2017 (Avecto 2017) (reporte 2017 de vulnerabilidades de Windows) un
aumento de vulnerabilidades publicadas del 111 en los uacuteltimos 5 antildeos de las cuales 235 criacuteticas
5
fueron mitigadas removiendo permisos de administrador asiacute como otras muy importantes
enfocadas al Administrador de Cuentas de Seguridad (SAM Security Account Manager por sus
siglas en ingleacutes) la cual es una base de datos almacenada como un archivo del registro en Windows
y que almacena las contrasentildeas de los usuarios en un formato hash (Algoritmos que crean a partir
de una entrada una salida alfanumeacuterica de longitud fija)
6
13 Objetivos
131 Objetivo General A traveacutes de la implementacioacuten de un procedimiento de fuerza
bruta utilizando para ello un cluacutester de alto rendimiento asiacute como software de uso libre lograr
capacidad de procesamiento capaz de vulnerar un sistema de autenticacioacuten nivel C1
132 Objetivos Especiacuteficos
Analizar los diferentes niveles de seguridad de sistemas operativos
Analizar diferentes meacutetodos de criptoanaacutelisis para vulnerar el Administrador de
cuentas de seguridad
Estudiar las teacutecnicas de agrupamiento de computadoras (clustering) para la
obtencioacuten de mayor poder de procesamiento
Implementar un cluacutester de alto rendimiento en el Laboratorio de la Maestriacutea en
Sistemas Computacionales del Instituto Tecnoloacutegico de Acapulco para ejecutar
operaciones de coacutemputo distribuido
7
14 Justificacioacuten
Antes la seguridad de la informacioacuten se realizaba a traveacutes de medios fiacutesicos por ejemplo
una caja fuerte en la cual las personas resguardaban objetos o informacioacuten valiosa para ellos Con
la introduccioacuten de las computadoras y el uso de internet los usuarios comienzan a almacenar
informacioacuten importante dentro de sus equipos por lo que se considera indispensable el uso de
herramientas que brinden proteccioacuten a la informacioacuten que se encuentra resguardada dentro de
eacutestas Los usuarios informaacuteticos suelen enviar informacioacuten por la red en las empresas al realizar
traacutemites o enviar informes a socios jefes entre otros
El resguardo de informacioacuten siempre ha sido importante para los seres humanos con la
diferencia que anteriormente no se contaba con los avances tecnoloacutegicos que tenemos actualmente
puesto que con la introduccioacuten de internet y el uso de dispositivos electroacutenicos se tiene mayor
riesgo de la informacioacuten que en ellos se maneja
La proteccioacuten del contenido de los datos es una necesidad urgente en casi todos los aacutembitos
de la sociedad incluyendo los servicios puacuteblicos y privados por lo que la tecnologiacutea de la
seguridad de los sistemas de cifrado se encuentra de frente a verdaderos retos
15 Hipoacutetesis
A traveacutes de un de fuerza bruta como teacutecnica de criptoanaacutelisis y con la ayuda de una mayor
capacidad de procesamiento mediante la implementacioacuten de agrupamiento de computadoras
(cluacutester) de alto rendimiento seraacute posible encontrar alguna vulnerabilidad dentro del sistema de
administracioacuten de cuentas de seguridad de Windows server 2012
8
16 Alcances y Limitaciones
Esta tesis se centraraacute en el sistema operativo Windows como objeto de estudio al cual se
le realizaraacute el criptoanaacutelisis
La tesis se enfocaraacute en el meacutetodo Beowulf para realizar el agrupamiento de computadoras
asiacute como la distribucioacuten de software libre del sistema operativo Linux Rocks
El nuacutemero de equipos disponibles para poder realizar el agrupamiento es de 17
computadoras hasta lograr el poder de coacutemputo de 800 Gflops
17 Impacto Social Tecnoloacutegico Econoacutemico y Ambiental
La sostenibilidad del presente proyecto seraacute abordada a partir de los siguientes aspectos
171 Impacto social A veces se puede pensar que un cluacutester de alto rendimiento pudiera
no tener alguacuten impacto directo en el medio social pero si nos enfocamos a un punto de vista en
donde gracias a la capacidad de procesamiento de estas maacutequinas han sido parte fundamental en
el desarrollo de proyectos que inciden de manera directa en beneficio de la sociedad en la que
vivimos como lo es la medicina la fiacutesica quiacutemica
Este proyecto busca beneficiar a nuestra sociedad proveyendo su capacidad de
procesamiento en la buacutesqueda de alguna vulnerabilidad en el sistema operativo maacutes utilizado hoy
en diacutea como lo es Windows ademaacutes de que estaraacute disponible para la comunidad cientiacutefica y
9
estudiantil del Instituto Tecnoloacutegico de Acapulco para optimizar tiempo de caacutelculo en futuras
investigaciones
172 Impacto ambiental Green IT tambieacuten conocido como Green Computing o
traducido al espantildeol como Tecnologiacuteas Informaacuteticas Verdes es definido como el estudio y la
praacutectica de disentildear desarrollar usar y disponer de computadoras servidores y diferentes
perifeacutericos tales como monitores impresoras dispositivos de almacenamiento de redes y
comunicaciones eficientemente y efectivamente con un impacto miacutenimo o nulo en el medio
ambiente (Murugesan 2008)
Bajo la premisa anterior este proyecto hace uso de los equipos con los que cuenta
actualmente el laboratorio de la Maestriacutea en Sistemas Computacionales lo cual evitaraacute la
adquisicioacuten de equipo nuevo y por consecuencia desechar el equipo existente evitando desperdicio
electroacutenico Dicho equipo cuenta con un procesador Intel I3 de 4ta generacioacuten lo cual seguacuten el
portal electroacutenico Europa press
ldquoEsta nueva generacioacuten supone el mayor salto en cuanto ahorro energeacutetico de la historia
de Intel asiacute como una mejora en los graacuteficos y nuevas experiencias de usuariordquo (europa press
2013)
Teniendo como base estos dos puntos importantes como lo son la reutilizacioacuten de equipo
y utilizando procesadores de bajo consumo energeacutetico es como este proyecto busca contribuir de
manera positiva con el medio ambiente
10
173 Impacto econoacutemico Actualmente existe una gran necesidad de procesar grandes
cantidades de datos lo cual hace imprescindible disponer de maacutequinas con estas caracteriacutesticas sin
embargo su alta complejidad aunado al gran costo hace que en instituciones de caraacutecter puacuteblico
sea muy complicado conseguir recurso para este fin Sin embargo un cluacutester de alto rendimiento
reutilizaraacute equipo propio evitando asiacute gastos por concepto de adquisicioacuten de equipo siendo de
esta manera viable para instituciones de caraacutecter puacuteblico
18 Metodologiacutea a Utilizar
181 Anaacutelisis Despueacutes de analizar las diferentes metodologiacuteas de clustering se optoacute por
desarrollar e implementar un cluacutester de alto rendimiento (HPC)
182 Disentildeo
1821 Economiacutea Debido a las caracteriacutesticas del equipo con el cual cuenta el Laboratorios
de la Maestriacutea en Sistemas Computacionales los componentes utilizados para este proyecto son
considerados de uso comuacuten y de bajo costo lo cual los hace faacutecilmente reemplazables en caso de
fallo a un costo accesible El equipo es de la marca Acer Aspire modelos AXC-605-M021 lo cual
nos hace tener ventaja y respaldo del fabricante con respecto a hardware geneacuterico
1822 Instalaciones Un cluacutester requiere de un ambiente controlado Esto es una
habitacioacuten especial con sistema de enfriamiento capacidad suficiente de carga eleacutectrica control
de humedad y un ambiente libre de polvo Ademaacutes se deben considerar el peso del equipo sobre
el piso (ya sea falso o piso normal) Se recomienda colocarlo en los soacutetanos o en la plata baja de
edificios (Rocha Quezada Botello Rionda Vargas Feacutelix amp Munguiacutea Torres 2011)
11
En el laboratorio de la Maestriacutea en Sistemas Computacionales se cuenta con espacio que
reuniacutea la mayoriacutea de las caracteriacutesticas requeridas para este proyecto
1823 Escalabilidad Un cluacutester debe ser faacutecilmente escalable y a su vez confiable Por
tal motivo se ha utilizado equipo de marca lo cual nos proporciona maacutes de confiabilidad en su
desempentildeo y a su vez facilidad de aumentar el nuacutemero de equipos si en un futuro fuese necesario
agrandar este proyecto Se armoacute un cluacutester de cinco computadoras con procesadores Intel Core I3
de 64 bits en cada nodo La memoria incluida y perifeacutericos son faacuteciles de adquirir en el mercado
1824 Red En la parte de redes se utilizoacute un switch fast Ethernet con una velocidad de 1
Gbps el cual tiene tazas de transferencia raacutepida y el costo es notablemente maacutes econoacutemico que
uno de fibra oacuteptica
El cableado seleccionado fue el estaacutendar UTP de cobre con la norma Gigabit Ethernet de
IEEE 8023ab con la categoriacutea de cableado 6e que soporta tazas de transferencia de datos de
1000Base T (1 Gbps)
1825 Software
ldquoEl sistema operativo debe constar con servicios dedicados para compartir y respaldar
archivos asiacute como capacidad de acceder a los datos de trabajo raacutepidamente El sistema operativo
debe tambieacuten proveer servicios de monitoreo y reporte de fallas en el sistemardquo (Rocha Quezada
Botello Rionda Vargas Feacutelix amp Munguiacutea Torres 2011)
12
Existe una gran variedad de software para instalar cluacutester de alto rendimiento sin embargo
como se ha comentado con anterioridad el costo de adquisicioacuten debe ser accesible por tal motivo
se optoacute por una distribucioacuten con licencia GNU de Linux Rocks Cluster la cual es una distribucioacuten
sencilla de instalar y configurar en comparacioacuten con otras distribuciones analizadas dicha
distribucioacuten estaacute basada en CentOS que a su vez estaacute basada en la conocida distribucioacuten de Linux
Red Hat
1826 Almacenamiento Para este proyecto no se requeriraacute un gran espacio de
almacenamiento por tal motivo los equipos utilizados tanto maestro como esclavos mantuvieron
sus unidades de disco originales las cuales son de 1 TB de almacenamiento
183 Implementacioacuten La implementacioacuten del cluacutester de alto rendimiento fue realizada
dentro de las instalaciones del Laboratorio de la Maestriacutea en Sistemas Computacionales del
Instituto Tecnoloacutegico de Acapulco construido inicialmente para este proyecto de criptoanaacutelisis lo
cual requeriraacute suficiente capacidad de procesamiento para poder implementar ataques de fuerza
bruta a sistemas operativos Las caracteriacutesticas del cluacutester construido son
1831 Software El software instalado en cada uno de los nodos es el siguiente
bull Sistema operativo Rocks Cluacutester Linux 74 (64 bits)
bull Libreriacutea de manejo de mensajes Open-MPI 153
bull Software de monitoreo Ganglia
13
1832 Hardware El cluacutester estaacute compuesto de 17 equipos con las siguientes
caracteriacutesticas
bull Nodo Maestro y 16 Nodos Esclavos
- Procesador Intel Core I3 4150 (4 nuacutecleos) Memoria 6 GB Disco Duro SATA 1 TB
tarjeta de Red Gigabit Ethernet
El hardware adicional es el siguiente
bull Interconexioacuten de Red
bull Switch Cisco 26 puertos 1Gbps modelo SG200 Red interna
1833 Recursos totales del cluacutester
bull Nuacutecleos de unidades de procesamiento (cores) 68
bull Capacidad en memoria 92 GB
bull Capacidad en disco 17 TB
19 Aseguramiento Teacutecnico ndash Material
A continuacioacuten se muestra el desglose del equipo utilizado para la elaboracioacuten de un
cluacutester de alto rendimiento estos componentes consisten en Hardware y Software especializado
asiacute como los costos de produccioacuten y personal involucrados en la metodologiacutea y elaboracioacuten del
proyecto
Costos de Hardware
Costos de Software
14
191 Hardware En este punto se refleja el costo de los dispositivos y herramientas a nivel
fiacutesico las cuales sirvieron para la implementacioacuten del proyecto cluacutester de alto rendimiento Cabe
resaltar que el equipo utilizado forma parte del inventario actual del Laboratorio motivo por el
cual su utilizacioacuten no causoacute erogacioacuten alguna sin embargo la investigacioacuten de costos se realizoacute
con la finalidad que el lector pueda establecer comparativas y buscar alternativas en caso de ajuste
de presupuesto
1911 Equipo de coacutemputo El equipo de coacutemputo utilizado consta de diecisiete
computadoras las cuales serviraacuten una para Nodo Maestro y las dieciseacuteis restantes como Nodos
Esclavos
La descripcioacuten de estos equipos se muestra en la tabla a continuacioacuten mostrando los costos
de todos los equipos utilizados dentro del proyecto
15
Tabla 11 Costo del Proyecto
Modelo
Cantidad
Caracteriacutesticas
Costos
PC - Acer AXC-
605
17
Procesador Intel Core i3
Pantalla 156rdquo
Disco duro 1TB HDD
RAM 6GB
Salida HDMI
Tarjeta de graacuteficos INTEGRADA
Lector de CD
Los costos en el mercado de una PC de
escritorio con estas caracteriacutesticas tiene un
valor aproximado de $600000 pesos
(Moneda nacional Mexicana)
Switch Cisco
Gigabit Ethernet
1
Modelo SG200 de 26 puertos
Costo en el mercado alrededor de
$2000000 pesos MN
Total
12200000 pesos MN
16
Capiacutetulo 2 Estado del Arte
Tiacutetulo del Trabajo Introduccioacuten a la Criptografiacutea
Autor Gibraacuten Granados Paredes
Fecha Julio 2010
Lugar Ciudad de Meacutexico
Publicado en Coordinacioacuten de Publicaciones Digitales DGSCA-UNAM
httpwwwrevistaunammxvol7num7art55int55htm
Siacutentesis Cuando se desea tener seguridad hablando en aacutembitos informaacuteticos la
criptografiacutea es una herramienta muy uacutetil el autor lo entiende tambieacuten como un medio para
garantizar las propiedades de confidencialidad integridad y disponibilidad de los recursos de un
sistema
Con la criptografiacutea se puede garantizar las propiedades de integridad y confidencialidad
pero hay que saber coacutemo utilizarla para ello es importante tener claros los conceptos baacutesicos que
estaacuten detraacutes de los sistemas criptograacuteficos modernos Estos conceptos van desde entender queacute es
la criptografiacutea coacutemo estaacute clasificada entender el funcionamiento baacutesico de algunos sistemas de
cifrado y conocer coacutemo se forman los documentos digitales como firmas y sobres digitales
Resultados El autor realiza un viaje por un gran nuacutemero de conceptos utilizados en
criptografiacutea el inicio y la clasificacioacuten de la misma asiacute como la criptografiacutea claacutesica y moderna y
analiza de manera breve algunos meacutetodos de cifrado maacutes comunes
17
Tiacutetulo del Trabajo Criptoanaacutelisis sobre meacutetodos claacutesicos de cifrado
Autores Sebastiaacuten Goacutemez Juan David Arias Diego Agudelo
Fecha 2 de mayo 2013
Lugar Ciudad de Meacutexico
Publicado en Scientia et Technica Antildeo XVII No 50 abril de 2012
Siacutentesis Los algoritmos criptograacuteficos utilizados desde la antigua Roma hasta nuestros
diacuteas son meacutetodos que convierten un mensaje de texto plano a cifrado al proceso inverso se le
conoce como descifrar Este artiacuteculo realiza un estudio de algunas teacutecnicas de encriptacioacuten claacutesicas
del siglo pasado como lo son el cifrado de Cesar y el cifrado de Vigeneacutere asiacute como muestra
teacutecnicas baacutesicas y modernas de criptoanaacutelisis basadas en la teoriacutea de la informacioacuten y estadiacutestica
como lo son la entropiacutea y el ataque de maacutexima correlacioacuten Las teacutecnicas de criptoanaacutelisis descritas
anteriormente pueden ser usadas en otros meacutetodos de cifrado siempre y cuando esteacuten presentes las
mismas debilidades
Resultados Los autores implementaron en lenguajes de programacioacuten Python un
algoritmo para el caacutelculo de entropiacutea para diferentes longitudes de clave Para la implementacioacuten
de los algoritmos de cifrado y descifrado de Vigeneacutere y de maacutexima correlacioacuten utilizaron lenguaje
de programacioacuten C++ Se probaron los meacutetodos anteriormente descritos sobre textos planos de
diferentes longitudes logrando un resultado de 9385 de efectividad en promedio
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de dos de los
algoritmos de encriptacioacuten maacutes antiguos y baacutesicos pero sobre todo que conociendo los meacutetodos
de criptoanaacutelisis me permitiraacuten analizar debilidades y fortalezas de algoritmos
18
Tiacutetulo del Trabajo ULTRACOM Computacioacuten de Alto Rendimiento para Criptoanaacutelisis
Autor Antonio Castro Lechtaler Alejandro Repetto Martiacuten Bianchi Marcelo Cipriano
Alejandro Arroyo Arzubi Ceacutesar Cicerchia Eduardo Malvacio
Fecha octubre 2014
Lugar Buenos Aires Argentina
Publicado en XX Congreso Argentino de Ciencias de la Computacioacuten (Buenos Aires
2014)
Siacutentesis La generacioacuten de nuacutemeros primos fundamentales para la produccioacuten de claves
el anaacutelisis de secuencias pseudo-aleatorias los procesos de verificacioacuten y validacioacuten de algoritmos
de seguridad en un sentido geneacuterico requieren enormes cantidades de procesamiento Los
procesos relacionados con la matemaacutetica criptograacutefica se caracterizan por la alta necesidad de
coacutemputo El objetivo de ULTRACOM es desarrollar una computacioacuten distribuida multipropoacutesito
que permita como primera aplicacioacuten real el anaacutelisis la validacioacuten y la ejecucioacuten de pruebas de
estreacutes sobre sistemas criptograacuteficos El presente trabajo de investigacioacuten detalla el proceso de
desarrollo de ULTRACOM y muestra un ejemplo de su implementacioacuten en una versioacuten Beta Para
ello toman como entrada dos versiones del algoritmo Trivium Utilizando la misma
infraestructura y sin desarrollo extra se prueban grandes voluacutemenes de claves y vectores de
inicializacioacuten de los algoritmos en busca de secuencias deacutebiles de menor longitud que la de la
buscada
Resultados El equipo implementoacute una versioacuten beta de la plataforma ULTRACOM
comprobando la factibilidad y viabilidad teacutecnica de la generalizacioacuten de la infraestructura de
computacioacuten distribuida en grilla (malla) BOINC Este avance permite extender los horizontes de
BOINC y habilita la posibilidad de obtener la capacidad de coacutemputo de alto rendimiento a bajo
19
costo Concluyeron que ULTRACOM es un proyecto viable escalable y de alto impacto para la
evaluacioacuten y validacioacuten de algoritmos criptograacuteficos
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento y la
implementacioacuten de una arquitectura de computacioacuten distribuida y una vez siendo factible su
desarrollo utilizar su poder de coacutemputo atacando a traveacutes de un algoritmo un sistema criptograacutefico
20
Tiacutetulo del Trabajo Criptografiacutea Cuaacutentica
Autor M Baig
Fecha 2010
Lugar Barcelona Espantildea
Siacutentesis En este artiacuteculo el autor realiza una breve introduccioacuten a la criptografiacutea claacutesica y
la relacioacuten que existe con la teoriacutea de la informacioacuten de Shannon la cual asegura que el cifrado
digital simeacutetrico es secreto y perfecto siempre y cuando se cumplan los tres requisitos
1 La llave ha de ser aleatoria
2 La llave debe usarse soacutelo una vez
3 La llave ha de ser tan larga como el mensaje y de un solo uso debe de estar en posesioacuten
tanto del emisor como del receptor
El punto 3 es el maacutes complicado de cumplir debido a la forma de compartir la llave entre
el emisor y receptor
Maacutes adelante en el artiacuteculo se hace un anaacutelisis sobre otra teacutecnica de criptografiacutea que es el
cifrado digital asimeacutetrico en la que se estudia coacutemo funcionan las llaves privadas y puacuteblicas asiacute
como el meacutetodo de criptograacutefico RSA
Resultados
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento maacutes profundo de
los meacutetodos de criptografiacutea simeacutetricos y asimeacutetricos especiacuteficamente el algoritmo asimeacutetrico
RSA
21
Tiacutetulo del Trabajo La Criptografiacutea Maderista en la Revolucioacuten Mexicana (1910-1911)
Criptoanaacutelisis de una carta cifrada por Gabriel Leyva Solano
Autor Roberto Narvaacuteez
Fecha 2011
Lugar Meacutexico DF
Siacutentesis Este trabajo aborda temas relacionados con las comunicaciones secretas del
movimiento revolucionario comandado por Francisco I Madero a partir de 1910 Se compone de
dos partes la primera es una breve resentildea criacutetica de ejemplos criptograacuteficos del maderismo que
fueron generados entre 1910 y 1911 la segunda describe paso a paso el criptoanaacutelisis que aplicoacute
el autor Roberto Narvaacuteez para desencriptar una carta parcialmente cifrada de Gabriel Leyva Solano
a Francisco I Madero
Resultados El propoacutesito general uacuteltimo es contribuir al conocimiento de la criptografiacutea
mexicana en el siglo XX En lo particular se trata de poner a disposicioacuten de los estudiosos el
contenido completo de la carta de Leyva Solano por primera vez despueacutes de 100 antildeos y al mismo
tiempo someter a la criacutetica teacutecnica e histoacuterica el procedimiento criptoanaliacutetico puesto en operacioacuten
para recuperar el texto plano
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de la teacutecnicas y
estudios realizados en nuestro paiacutes sobre formas y meacutetodos de encriptacioacuten durante la Revolucioacuten
Mexicana incluso mucho antes de la 2ordf Guerra mundial momento donde se registroacute un auge
importante dentro de la criptografiacutea moderna
22
Tiacutetulo de Tesis Anaacutelisis de la programacioacuten concurrente sobre la cpu y gpu en el
desarrollo de fractal build
Autor Joseacute Vicente Anilema Guadalupe
Fecha 2012
Lugar Riobamba Ecuador
Siacutentesis Este trabajo aborda temas relacionados con la geometriacutea euclidiana debido a que
el autor realiza una aplicacioacuten que crea paisajes fractales lo que significa crear un paisaje con una
misma figura geomeacutetrica Lo anterior se traduce en una necesidad de gran poder de coacutemputo para
realizar de una manera eficaz la tarea Dentro de la tesis el autor realiza diversos estudios
comparativos entre el procesamiento serializado realizado por una CPU (unidad central de
procesamiento) y procesamiento paralelizado realizado por una GPU (Unidad grafica de
procesamiento) a traveacutes de diversas herramientas para obtener el mejor aprovechamiento de los
recursos
Resultados El autor concluye que es necesario examinar los algoritmos a utilizar para que
estos puedan ser utilizados en coacutemputo paralelo Ademaacutes de que es necesario aprender ciertas
herramientas a utilizar para aprovechar al maacuteximo el coacutemputo distribuido y no desperdiciar el
poder de procesamiento muy superior que las GPUrsquos nos pueden brindar
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de la teacutecnicas y
estudios realizados para medir y comparar la velocidad de procesamiento de la unidad central de
procesamiento (CPU) y la unidad graacutefica de procesamiento (GPU) Asiacute como la medida en Flops
(Operaciones de punto flotante por segundo)
23
Tiacutetulo del Trabajo Arquitectura cluacutester de alto rendimiento utilizando herramientas de
software libre
Autores Leonardo Chiquiguanca Edyson Malla Freddy Ajila Rene Guamaacuten-Quincheacute
Fecha mayo 2015
Lugar Loja Ecuador
Siacutentesis Este trabajo aborda temas relacionados con la gran cantidad de datos que tienen
que procesar las universidades puacuteblicas dentro de sus investigaciones realizadas en diferentes aacutereas
como la ingenieriacutea medicina etc y la carencia de recursos econoacutemicos para obtener
supercomputadoras que procesen dicha informacioacuten Los autores proponen dentro de su
investigacioacuten la utilizacioacuten de equipo de coacutemputo existente dentro de su universidad y por medio
de software libre realizar agrupamiento de computadoras para poder lograr el procesamiento de
grandes voluacutemenes de datos de una manera accesible
Resultados Los autores concluyen que la mejor arquitectura para el agrupamiento
(cluacutester) de computadoras en ambientes universitarios es la arquitectura Beowulf debido a que la
implementaron en hardware convencional existente dentro de su campus universitario y que
ademaacutes usaron software libre mencionando que el poder de coacutemputo logrado fue muy cercano al
de una supercomputadora
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de las teacutecnicas
utilizadas en ambientes universitarios para la realizacioacuten de agrupamiento de computadoras y
sobre todo la optimizacioacuten de costos para realizar dicha tarea y tener como finalidad el lograr
mayor capacidad de procesamiento
24
Tiacutetulo de Tesis Desarrollo de un algoritmo de cifrado simeacutetrico de resumen
Autores Jonathan Dave Orjuela Navarrete
Antildeo 2008
Lugar Bogotaacute DC
Siacutentesis Esta tesis realiza un estudio de varios meacutetodos de criptografiacutea simeacutetrica para
posteriormente utilizando diferentes foacutermulas matemaacuteticas crear un algoritmo criptograacutefico
nuevo Dentro de la tesis utiliza dos meacutetodos para realizar pruebas a su algoritmo criptoanaacutelisis
diferencial y criptoanaacutelisis basado en fallos de hardware Dentro de los cuales hace un estudio
detallado de las teacutecnicas y herramientas de criptoanaacutelisis realizado a su algoritmo
Resultados El autor concluye de manera positiva con la realizacioacuten del algoritmo y de
manera satisfactoria con la realizacioacuten de criptoanaacutelisis a su algoritmo pudiendo demostrar la
fortaleza del algoritmo a traveacutes de ejemplo de cifrado con textos claro muy parecido y su
conversioacuten a cadenas completamente diferentes
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de criptoanaacutelisis diferencial y criptoanaacutelisis basado en fallos de hardware para la
evaluacioacuten de algoritmos de cifrado simeacutetrico de textos claros
25
Tiacutetulo del Trabajo Firt step in a Pc cluster development with openMosix
Autores Javier Bilbao Gorka Garate
Antildeo 2008
Lugar Bilbao Spain
Siacutentesis En este trabajo se afirma que es posible hacer maacutequinas de alta capacidad de
caacutelculo mediante la interconexioacuten de equipos con redes de alta velocidad A este tipo de sistemas
se les llama sistemas distribuidos y hoy en diacutea es la tecnologiacutea maacutes utilizada para resolver
problemas que requieren una gran capacidad de caacutelculo La agrupacioacuten de computadoras permite
que varias computadoras trabajen juntas para resolver los problemas de informaacutetica comuacuten Este
artiacuteculo centra su estudio en uno de los diferentes meacutetodos de agrupamiento de computadoras
openMosix El trabajo tambieacuten evaluacutea el cluacutester por dos casos de estudio donde se mejora el
tiempo de ejecucioacuten de los problemas resueltos
Resultados El autor del artiacuteculo concluye con la realizacioacuten satisfactoria de agrupamiento
de computadoras bajo el meacutetodo openMosix el cual uacutenicamente permite agrupamiento de la forma
SSI (Single System Image) que se refiere a que uacutenicamente se puede realizar el agrupamiento con
todos los nodos ejecutando un mismo sistema operativo
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de agrupamiento de computadoras openMosix ventajas desventajas y dificultades para
su implementacioacuten
26
Tiacutetulo del Trabajo Disentildeo e implementacioacuten de un cluacutester tipo Beowulf para el desarrollo
de coacutemputo cientiacutefico avanzado
Autores Edgar Rubeacuten Gonzaacutelez Ramiacuterez Abimael Rodriacuteguez Saacutenchez
Antildeo 2008
Lugar Instituto Politeacutecnico Nacional Meacutexico DF
Siacutentesis Este trabajo de tesis ha desarrollado e implementado una herramienta
computacional llamada Cluster Beowulf para mejorar la programacioacuten paralela Comenzando
con la memoria compartida y distribuida el autor implemento el agrupamiento tipo Beowulf
pensando en procesamiento paralelo la optimizacioacuten de las fuentes informaacuteticas El disentildeo se
construye mediante una distribucioacuten Linux Fedora Core 6 a 64 bits utilizando todas las ventajas
que ofrece el estaacutendar Gigabyt Ethernet La programacioacuten paralela fue desarrollada en lenguaje C
tanto para MPI como para OPENMP
Resultados El autor del artiacuteculo concluye que de acuerdo con los resultados el tiempo
de procesamiento se redujo con el uso muacuteltiples nuacutecleos mejoroacute hasta ocho veces gracias al
multihilo
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de agrupamiento de computadoras Beowulf y su implementacioacuten en sistemas operativos
de uso libre Linux distribucioacuten Fedora 6
27
Marco Teoacuterico
21 Seguridad de la Informacioacuten
La Seguridad de la Informacioacuten consiste y hace referencia a la proteccioacuten de cualquier
amenaza para salvaguardar los activos fijos y en especial toda informacioacuten de la cual estaacute basada
la continuidad de las operaciones de la empresa sean estas ocasionadas dentro o fuera de la misma
con esto se logra disminuir los dantildeos y perjuicios que estas amenazas causariacutean a la organizacioacuten
y a la vez aumentar las oportunidades de servicio hacia otras empresas
La Seguridad de la informacioacuten se consigue mediante la implementacioacuten de controles
efectivos que pueden ser normas manual de funciones buenas praacutecticas procedimientos
estructuras organizativas funciones de software y hardware planes de contingencia y herramientas
que se encargan de proteger la privacidad e integridad de la informacioacuten que se almacena en un
sistema informaacutetico Estos controles necesitan continuamente ser establecidos monitoreados
revisados y mejorados en donde sea necesario para asegurar que se cumplan los objetivos
especiacuteficos de seguridad en cada aacuterea de negocio de la organizacioacuten
La seguridad informaacutetica es en realidad una rama de la seguridad de la informacioacuten aunque
de forma praacutectica algunos autores suelen utilizar de manera indistinta ambos teacuterminos
211 Objetivo de la seguridad de la informacioacuten En la seguridad de la informacioacuten
sabiendo que dichos procesos de seguridad permiten proteger el recurso maacutes importante y valioso
de una organizacioacuten partiendo como principio fundamental los procesos de aseguramiento el
28
objetivo del proceso de seguridad informaacutetica es obtener un nivel aceptable de seguridad ya que
la informacioacuten es lo maacutes valioso que tiene una institucioacuten o empresa por lo tanto esta debe ser
protegida para que no sea vulnerable y utilizada para fines maliciosos
212 Principios de la seguridad informaacutetica
Confidencialidad Los datos solo deben ser conocidos y accedidos por quienes esteacuten
autorizados durante su almacenamiento procesamiento o trasmisioacuten Verificar y certificar que solo
los usuarios con accesos autorizados puedan acceder a la informacioacuten
Integridad Los datos solo pueden ser modificados y eliminados por quienes esteacuten
autorizados para ello es decir los sistemas y aplicaciones solo deben ser operados por personal
autorizado
Disponibilidad Los sistemas que almacenan datos e informacioacuten deben garantizar su
acceso cuando asiacute se requiera por quienes tengan derecho a ello
213 Caracteriacutesticas de seguridad informaacutetica
Control Solo los usuarios autorizados deciden cuaacutendo y coacutemo permitir el acceso a la
informacioacuten
Auditoriacutea Establece las acciones cuaacutendo las implementa y quieacuten las realiza sobre el
sistema
Autenticidad Define que la informacioacuten necesaria es correcta utilizable y vaacutelida en tiempo
y forma
No Repudio Su funcioacuten es evitar que alguna entidad que envioacute o recibioacute informacioacuten
alegue que no lo hizo
29
214 Formas de Autenticacioacuten
Contrasentildea Una contrasentildea es un tipo de seguridad informaacutetica ya que es una serie de
caracteres secretos que permiten a un usuario tener acceso a un archivo equipo de coacutemputo o
programa y negar el acceso a usuarios no autorizados
Certificado digital Es un tipo de seguridad informaacutetica que permite la firma digital
electroacutenica que garantiza teacutecnica y legalmente la identidad de una persona en Internet
Autenticacioacuten HTTP Tipo de seguridad informaacutetica que delega la autenticacioacuten de
usuarios a un servidor a traveacutes de Kerberos
215 Ciber-seguridad Con los avances tecnoloacutegicos y la demanda que ha causado en ello
existe un elevado iacutendice de informacioacuten personal y empresarial que circula y se mantiene en la red
por la utilizacioacuten del internet esto permite que toda informacioacuten quede expuesta a cualquier ataque
de ciber-delincuentes los cuales buscan la manera de vulnerar cualquier sistema para espiar robar
informacioacuten o hacer dantildeo de cualquier tipo por lo que se ha visto la necesidad de tomar medidas
de seguridad para salvaguardar la informacioacuten ya que es muy importante
La ciberseguridad es la proteccioacuten de los sistemas conectados a Internet incluidos el
hardware el software y los datos de los ciberataques En un contexto informaacutetico la seguridad
comprende la ciberseguridad y la seguridad fiacutesica ambas son utilizadas por las empresas para
proteger contra el acceso no autorizado a los centros de datos y otros sistemas de coacutemputo El
objetivo de la ciberseguridad es limitar el riesgo y proteger los activos de Tecnologiacuteas de
Informacioacuten de los atacantes con intenciones maliciosas La seguridad de la informacioacuten estaacute
30
disentildeada para mantener la confidencialidad integridad y disponibilidad de los datos es un
subconjunto de la ciberseguridad
22 Criptografiacutea
La Criptografiacutea tambieacuten llamada ldquoescritura ocultardquo tradicionalmente en el aacutembito de
criptografiacutea es donde se ocupan las teacutecnicas de cifrado o codificacioacuten que permiten alterar el
contenido de cierta informacioacuten o mensajes con el fin de hacerlos ininteligibles a receptores o
personas no autorizadas (Meneacutendez-Barzanallana 17)
Actualmente la criptografiacutea se encarga de analizar algoritmos protocolos y sistemas que
son utilizados para proveer seguridad a las comunicaciones informacioacuten y a las entidades que se
comunican entre siacute
221 Tipos de Criptografiacuteas
2211 Tablas Hash Un hash o funcioacuten hash toma un grupo de caracteres (llamado clave)
y lo asigna a un valor de cierta longitud (llamado valor hash o hash) El valor hash es representativo
de la cadena de caracteres original pero normalmente es maacutes pequentildeo que el original
El hash tambieacuten es utilizado en el cifrado y descifrado de firmas digitales La funcioacuten hash
transforma la firma digital luego tanto el valor hash como la firma se enviacutean al receptor El
receptor utiliza la misma funcioacuten hash para generar el valor hash y luego lo compara con el recibido
31
en el mensaje Si los valores hash son los mismos es probable que el mensaje se haya transmitido
sin errores
Un ejemplo de una funcioacuten hash se llama plegado(folding) Esta toma un valor original lo
divide en varias partes luego agrega las partes y usa los uacuteltimos cuatro diacutegitos restantes como
valor o clave hash
2212 Tipos de algoritmos Hash
22121 SHA - 1 (Secure Hash Algorithm) Es un algoritmo criptograacutefico de Hash
publicado por el gobierno de los Estados Unidos Genera un valor Hash de 160 bits a partir de una
secuencia de longitud arbitraria Es considerado lo suficientemente seguro para aplicaciones
praacutecticas pero hay disponibles versiones maacutes robustas SHA - 256 SHA - 384 y SHA - 512 que
generan valores Hash de 256 384 y 512 bits respectivamente estas versiones reemplazaraacuten a SHA
- 1 mientras se siga trabajando sobre ellas (Borghello 2009)
22122 MD5 (Message Digest Algorithm) En criptografiacutea MD5 es una funcioacuten hash
criptograacutefica ampliamente utilizada con un valor hash de 128 bits Como estaacutendar de Internet (RFC
1321) MD5 se ha empleado en una amplia variedad de aplicaciones de seguridad y tambieacuten se
usa comuacutenmente para verificar la integridad de los archivos Un hash MD5 generalmente se
expresa como un nuacutemero hexadecimal de 32 diacutegitos
MD5 es una versioacuten reforzada de MD4 Al igual que MD4 el hash MD5 fue inventado por
el profesor Ronald Rivest del Massachusetts Institute of Technology (MIT) Ademaacutes MD5 se
32
utilizoacute como modelo para SHA-1 ya que comparten muchas caracteriacutesticas comunes MD5 y
SHA-1 son los dos algoritmos hash maacutes utilizados en la actualidad aunque el uso de MD5 ha
disminuido ya que ahora se considera roto (Borghello 2009)
22123 RIPEMD ndash 160 Es una funcioacuten hash criptograacutefica basada en la construccioacuten
Merkle-Damgaringrd (MD) Se usa en el estaacutendar de Bitcoin Es una versioacuten reforzada del algoritmo
RIPEMD que produce un resumen de hash de 128 bits mientras que el algoritmo RIPEMD-160
produce una salida de 160 bits La funcioacuten de compresioacuten consta de 80 etapas formadas por 5
bloques que se ejecutan 16 veces cada uno Este patroacuten se ejecuta dos veces con los resultados
combinados en la parte inferior utilizando la adicioacuten del moacutedulo 32 (Borghello 2009)
22124 Funcioacuten Merkle-Damgaringrd La construccioacuten MD es una metodologiacutea para crear
funciones hash resistentes a colisiones a partir de funciones de compresioacuten unidireccionales Ralph
Merkle la propuso en el antildeo de 1979 en ldquoA certified Digital Signaturerdquo posterior a este estudio
Ivan Damgaringrd demostroacute de manera independiente que la estructura era soacutelida (Merkle amp
Damgaringrd sf)
2213 Cifrado simeacutetrico Los cifrados simeacutetricos son los cifrados criptograacuteficos maacutes
antiguos y maacutes utilizados En un cifrado simeacutetrico la clave que descifra el texto cifrado es la
misma (o puede derivarse faacutecilmente) de la clave que cifra el texto claro Esta clave a menudo se
conoce como la clave secreta Los cifrados simeacutetricos maacutes utilizados son DES y AES
La problemaacutetica que surge es la seguridad de la clave
33
El emisor cifra el mensaje con una clave
Enviacutea el mensaje cifrado de tal manera que nadie puede descifrarlo sin dicha clave
El receptor obtiene la clave y entonces puede descifrar el mensaje con la misma clave
que recibioacute del emisor
Algunos algoritmos de este tipo son
22131 RC5 (Cifrado de Rivest) Es un algoritmo de cifrado de bloque de clave simeacutetrica
disentildeado por Ron Rivest en 1994 Se destaca por ser simple raacutepido (debido a que usa solo
operaciones de coacutemputo primitivas como XOR o shift) y ademaacutes por consumir menos memoria
RC5 es un cifrado de bloques y aborda dos bloques de palabras a la vez Dependiendo del
tamantildeo del bloque de texto sin formato nuacutemero de rondas y tamantildeo de clave se pueden definir
varias instancias de RC5 y cada instancia se denota como RC5-w r b donde w = tamantildeo de
palabra en bits r = nuacutemero de rondas y b = tamantildeo de la clave en bytes (Pawar 2016)
Como se ha mencionado RC5 utiliza bloques de 2 palabras el tamantildeo del bloque de texto
sin formato puede ser de 32 64 o 128 bits
22132 IDEA (International Data Encryption Algorithm) Baacutesicamente es un algoritmo
de cifrado de bloque simeacutetrico El algoritmo asimeacutetrico utiliza la misma clave para el cifrado y
descifrado Un cifrado de bloque divide el mensaje en bloques cada uno de una longitud fija y
luego cifra cada bloque de forma independiente
34
El tamantildeo de bloque tiacutepico es de 16 bytes de 128 bits Un cifrado de bloque generalmente
operaraacute en bloques o rondas donde se aplica parte de la clave a la ronda Despueacutes de un cierto
nuacutemero de rondas digamos entre 10 y 16 se termina con el texto cifrado para ese bloque
El bloque de texto cifrado tiene exactamente el mismo tamantildeo que el bloque de texto sin
formato 16 bytes Para cada ronda se trabaja en el bloque utilizando una parte de la clave de
cifrado a la que se le llama la clave redonda Muacuteltiples claves redondas se derivan de la clave de
cifrado utilizando para esto un programa de claves
La programacioacuten de claves es un algoritmo que cambia XOR multiplica y realiza otros
tipos de operaciones en la clave de cifrado original para obtener estas claves redondas Bueno si
tengo un bloque de 16 bytes y tengo una clave de 128 bits que tambieacuten es de 16 bytes (Educba
2019)
22133 DES (Data Encryption Standard) El algoritmo DES es el algoritmo de seguridad
maacutes popular Es un algoritmo simeacutetrico lo que significa que se utilizan las mismas claves para
cifrar descifrar datos confidenciales La longitud de la clave es de 8 bytes (64 bits) Entonces
para cifrar descifrar datos el algoritmo DES utiliza una clave de 8 bytes pero 1 byte (8 bits) para
la verificacioacuten de paridad Es un algoritmo de cifrado de bloque por lo tanto el tamantildeo del bloque
de datos del algoritmo DES es de 64 bits Para cifrar descifrar datos el algoritmo DES utiliza la
estructura Feistel Entonces utiliza una ronda para cifrar descifrar datos Aunque el tamantildeo del
35
bloque de datos es de 64 bits el nuacutemero de rondas seraacute de 16 rondas asiacute mismo utilizaraacute diferentes
subclaves para cada ronda por lo tanto el nuacutemero de subclaves seraacute de 16 subclaves
Como se puede observar la clave efectiva es de 56 bits por consiguiente se tiene 256
combinaciones posibles por lo que la fuerza bruta se hace casi imposible (Sanjoy 2015)
2214 Cifrado asimeacutetrico Los cifrados asimeacutetricos tambieacuten se conocen como cifrados
con claves puacuteblicas y privadas Usan dos claves una para el cifrado de mensajes y la otra durante
el descifrado
Un intruso puede encriptar cualquier mensaje usando la clave puacuteblica conocida Los
cifrados asimeacutetricos son por lo tanto vulnerables a los ataques de texto sin formato Los cifrados
con encriptacioacuten de clave puacuteblica deben proporcionar seguridad contra tales ataques Despueacutes de
encriptar dos mensajes con la misma clave puacuteblica el intruso no puede distinguir queacute texto cifrado
estaacute conectado con queacute texto plano Ademaacutes un observador que analiza dos mensajes encriptados
usando el mismo algoritmo y la misma clave puacuteblica no puede distinguir sus textos cifrados
(Kowalczyk 2015)
Los cifrados asimeacutetricos son mucho maacutes lentos que los cifrados simeacutetricos (generalmente
mil veces maacutes lentos) Es una praacutectica comuacuten usar el cifrado de clave puacuteblica solo para establecer
la conexioacuten segura y negociar la nueva clave secreta que luego se utilizaraacute para proteger la
comunicacioacuten mediante cifrado simeacutetrico Ejemplos de este cifrado son
36
22141 DSA (Digital Signature Algorithm - Algoritmo de Firma digital) Es un estaacutendar
del Gobierno Federal de los Estados Unidos para firmas digitales Fue propuesto por el Instituto
Nacional de Estaacutendares y Tecnologiacutea (NIST) en agosto de 1991 para ser usado en su Estaacutendar de
Firma Digital (DSS) en el antildeo de 1993
La primera parte del algoritmo DSA es la generacioacuten de clave puacuteblica y clave privada que
puede describirse como
Se elige un nuacutemero primo q que se llama divisor primo
Se elige otro nuacutemero primo p de modo que pndash1 mod q = 0 p seraacute llamado moacutedulo
primo
Ahora se elige un nuacutemero entero g tal que 1 ltg ltp g q mod p = 1 g = h ((p
ndash 1) q) mod p q tambieacuten se llama moacutedulo de orden multiplicativo de g moacutedulo p
Se elige un nuacutemero entero tal que 0 ltx ltq
Se calcula y como g x mod p
Se empaqueta la clave puacuteblica como p q g y
Por uacuteltimo se empaqueta la clave privada como p q g x
La segunda parte del algoritmo DSA es la generacioacuten de firma y la verificacioacuten de firma
Para generar una firma de mensaje el remitente puede seguir estos pasos
Se genera el resumen del mensaje h utilizando un algoritmo hash como SHA1
Se genera un nuacutemero aleatorio k tal que 0 ltk ltq
37
Se calcula r como (g k mod p) mod q Si r = 0 seleccione una k diferente
Ahora se calcula i de modo que k i mod q = 1 i se llama el inverso multiplicativo modular
de k moacutedulo q
Se calcula s = i (h + r x) mod q Si s = 0 se selecciona una k diferente
Por uacuteltimo se empaqueta la firma digital como r s (Yang 2019)
22142 RSA Encriptacioacuten RSA encriptacioacuten Rivest-Shamir-Adleman tipo de
criptografiacutea de clave puacuteblica ampliamente utilizada para la encriptacioacuten de datos de correo
electroacutenico y otras transacciones digitales a traveacutes de Internet RSA lleva el nombre de sus
inventores Ronald L Rivest Adi Shamir y Leonard M Adleman quienes lo crearon mientras
trabajaban en la facultad del Instituto Tecnoloacutegico de Massachusetts (Simmons 2019)
En el sistema RSA un usuario elige de manera secreta un par de nuacutemeros primos p y q tan
grandes que factorizar el producto n = pq estaacute mucho maacutes allaacute de las capacidades informaacuteticas
proyectadas para la vida uacutetil de los cifrados A partir del antildeo 2000 los estaacutendares de seguridad del
gobierno de EE UU exigen que el moacutedulo tenga un tamantildeo de 1024 bits es decir p y q deben
tener un tamantildeo de aproximadamente 155 diacutegitos decimales por lo que n es aproximadamente un
nuacutemero de 310 diacutegitos Dado que los nuacutemeros duros maacutes grandes que actualmente se pueden
factorizar son solo la mitad de este tamantildeo y dado que la dificultad de factorizar se duplica
aproximadamente por cada tres diacutegitos adicionales en el moacutedulo se cree que los moacutedulos de 310
diacutegitos estaacuten a salvo de factorizar durante varias deacutecadas
38
2215 Cifrado hiacutebrido Es una teacutecnica comuacuten que combina diferentes funciones
criptograacuteficas como el cifrado de bloque Con el cifrado hiacutebrido se pueden cifrar datos firmarlos
o agregar un MAC y enviarlos en un objeto seguro (como una cadena o archivo) a traveacutes de un
canal de comunicacioacuten inseguro (sin un acuerdo clave entre dos partes)
En el sistema de cifrado hiacutebrido el texto plano (sin formato) se divide en tokens Luego
se calcula la longitud de cada ficha Los tokens y sus longitudes se almacenan en una matriz
Posteriormente se aplica el algoritmo Ceacutesar anidado sugerido El texto producido se almacena en
una matriz n x m llamada A Luego la transposicioacuten de esta matriz At se calcula utilizando
nuestra versioacuten revisada del cifrado de transposicioacuten para resolver el problema de secuenciacioacuten
A continuacioacuten el algoritmo RSA revisado se aplica en la matriz producida En el paso final se
aplica el formato de datos textuales usando el coacutedigo ASCII para producir el texto cifrado El
proceso de descifrado se realiza de la misma manera pero en orden inverso (Nahar amp Abu Abbas
2010)
23 Criptoanaacutelisis
El criptoanaacutelisis es el proceso de estudiar sistemas criptograacuteficos para buscar debilidades
o fugas de informacioacuten En general se considera que el criptoanaacutelisis explora las debilidades de
las matemaacuteticas subyacentes de un sistema criptograacutefico pero tambieacuten incluye la buacutesqueda de
debilidades en la implementacioacuten como ataques de canal lateral o entradas de entropiacutea deacutebiles
39
Su funcioacuten es la de conseguir obtener el significado de mensajes creados por medio de
criptografiacutea El objetivo principal del criptoanaacutelisis es opuesto al de la criptografiacutea Tiene como
finalidad encontrar la debilidad de las diferentes teacutecnicas criptograacuteficas para explotarla y de esta
manera reducir o eliminar la seguridad de la teacutecnica criptograacutefica Cualquier intento de
criptoanaacutelisis puede ser llamado ataque Una vez que un atacante logra romper la seguridad que
una teacutecnica criptograacutefica aportaba al sistema se dice que dicho sistema ha sido roto y por lo tanto
dicho ataque tuvo eacutexito
El criptoanaacutelisis es la investigacioacuten de sistemas texto cifrado y cifrados para revelar el
significado oculto o los detalles del sistema mismo El objetivo de este tipo de estudio es descubrir
los aspectos ocultos incluso si la clave o el algoritmo principal no se pueden descifrar Se necesita
una combinacioacuten exitosa de persistencia matemaacuteticas intuicioacuten curiosidad y una computadora
que funcione para hacer un buen criptoanalista Este tipo de ruptura de coacutedigo es extremadamente
importante especialmente en el mundo tecnoloacutegicamente dependiente de hoy El criptoanaacutelisis es
constantemente realizado por criptoacutegrafos que intentan obtener informacioacuten valiosa y por aquellos
que intentan descifrar el coacutedigo para revelar secretos (Security Degree Hub 2017)
24 Niveles de seguridad
Los niveles de seguridad de sistemas operativos son otorgados de acuerdo con el sistema
operativo que esteacute utilizando la empresa o institucioacuten ya sea puacuteblica privada gubernamental o no
gubernamental En el manual ldquoTrusted Computer System Evaluation Criteriardquo (United States
40
Government Department of Defense 1983) el Departamento de Defensa de los Estados Unidos
define los siguientes niveles
241 Nivel D1 Este nivel es el maacutes bajo de seguridad por lo tanto la norma establece que
el sistema no es confiable Esta divisioacuten contiene solo una clase Estaacute reservado para aquellos
sistemas que han sido evaluados pero que no cumplen con los requisitos para un nivel de
evaluacioacuten superior
242 Nivel C1 Un sistema de nivel C1 cumple nominalmente los requisitos de seguridad
discrecionales al proporcionar separacioacuten de usuarios y datos Incorpora alguna forma de controles
creiacutebles capaces de imponer limitaciones de acceso de manera individual es decir aparentemente
adecuados para permitir que los usuarios puedan proteger la informacioacuten privada o del proyecto y
evitar que otros usuarios lean o destruyan accidentalmente sus datos Se espera que el entorno de
nivel C1 sea uno de los usuarios cooperantes que procesan datos con el mismo nivel de
sensibilidad Los siguientes son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten
de nivel C1 son
Control de acceso discrecional por ejemplo listas de control de acceso (ACL)
usuario grupo
Por lo general para usuarios que estaacuten en el mismo nivel de seguridad
Proteccioacuten de nombre de usuario y contrasentildea y base de datos de autorizaciones
seguras (ADB)
Sistema operativo protegido y modo de operaciones del sistema
Comprobacioacuten perioacutedica de integridad de TCB
41
Mecanismos de seguridad probados sin derivaciones obvias
Documentacioacuten para la seguridad del usuario
Documentacioacuten para la seguridad de la administracioacuten de sistemas
Documentacioacuten para pruebas de seguridad
Documentacioacuten de disentildeo TCB
Tiacutepicamente para usuarios en el mismo nivel de seguridad
La certificacioacuten C1 es rara Los sistemas de ejemplo son versiones anteriores de
Unix IBM RACF
243 Nivel C2 Los sistemas de esta clase imponen un control de acceso discrecional maacutes
fino que los sistemas (C1) lo que hace que los usuarios sean individualmente responsables de sus
acciones a traveacutes de procedimientos de inicio de sesioacuten auditoriacutea de eventos relevantes para la
seguridad y aislamiento de recursos Los siguientes son requisitos miacutenimos para los sistemas
asignados a una clasificacioacuten de nivel C2
La proteccioacuten de objetos puede ser para un solo usuario Por ejemplo a traveacutes de
una base de datos ACL
La autorizacioacuten de acceso solo puede ser asignada por usuarios autorizados
Proteccioacuten de reutilizacioacuten de objetos (Por ejemplo para evitar la reasignacioacuten de
objetos eliminados de manera segura)
Procedimientos obligatorios de identificacioacuten y autorizacioacuten para los usuarios (Por
ejemplo Usuario Contrasentildea)
Auditoriacutea completa de eventos de seguridad (es decir fecha hora evento usuario
eacutexito falla ID de terminal)
42
Modo de operacioacuten del sistema protegido
Proteccioacuten adicional para la autorizacioacuten y los datos de auditoriacutea
Documentacioacuten como C1 maacutes informacioacuten sobre el examen de la informacioacuten de
auditoriacutea
Esta es una de las certificaciones maacutes comunes Los sistemas operativos de ejemplo
son VMS IBM OS 400 Windows NT Novell NetWare 411 Oracle 7 DG AOS
VS II
244 Nivel B1 Los sistemas de este nivel requieren todas las caracteriacutesticas requeridas
para el nivel C2 Ademaacutes debe estar presente una declaracioacuten informal del modelo de poliacutetica de
seguridad etiquetado de datos y control de acceso obligatorio sobre sujetos y objetos nombrados
La capacidad debe existir para etiquetar con precisioacuten la informacioacuten exportada Cualquier falla
identificada por la prueba debe ser eliminada Los siguientes son requisitos miacutenimos para los
sistemas asignados a una clasificacioacuten de nivel B1
Etiquetado obligatorio de seguridad y acceso de todos los objetos (Por ejemplo
archivos procesos dispositivos)
Comprobacioacuten de integridad de etiquetas (Por ejemplo mantenimiento de etiquetas
de sensibilidad cuando se exportan datos)
Auditoriacutea de objetos etiquetados
Control de acceso obligatorio para todas las operaciones
Capacidad para especificar el nivel de seguridad impreso en salida legible para
humanos (Por ejemplo impresoras)
43
Capacidad para especificar el nivel de seguridad en cualquier salida legible por
maacutequina
Auditoriacutea mejorada
Proteccioacuten mejorada del sistema operativo
Documentacioacuten mejorada
Los sistemas operativos de ejemplo son HP-UX BLS Cray Research Trusted
Unicos 80 Digital SEVMS Harris CS SX SGI Trusted IRIX
245 Nivel B2 En los sistemas de nivel B2 el TCB se basa en un modelo de poliacutetica de
seguridad formal claramente definido y documentado que requiere que la aplicacioacuten de control de
acceso discrecional y obligatoria que se encuentra en los sistemas de nivel B1 se extienda a todos
los sujetos y objetos en el sistema Ademaacutes se abordan los canales encubiertos El TCB debe
estructurarse cuidadosamente en elementos criacuteticos para la proteccioacuten y no criacuteticos para la
proteccioacuten La interfaz TCB estaacute bien definida y el disentildeo y la implementacioacuten TCB le permiten
someterse a pruebas maacutes exhaustivas y una revisioacuten maacutes completa Se fortalecen los mecanismos
de autenticacioacuten se proporciona una gestioacuten confiable de las instalaciones en forma de soporte
para las funciones de administrador y operador del sistema y se imponen estrictos controles de
gestioacuten de la configuracioacuten El sistema es relativamente resistente a la penetracioacuten Los siguientes
son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten de nivel B2
Notificacioacuten de cambios en el nivel de seguridad que afectan a los usuarios
interactivos
Etiquetas de dispositivos jeraacuterquicos
44
Acceso obligatorio a todos los objetos y dispositivos
Comunicaciones de ruta confiables entre usuario y sistema
Rastreo de canales de almacenamiento encubiertos
Modo de operaciones del sistema maacutes estricto en unidades independientes de varios
niveles
Anaacutelisis de canales encubiertos
Pruebas de seguridad mejoradas
Modelos formales de TCB
Versioacuten actualizacioacuten y anaacutelisis y revisioacuten de parches
Los sistemas de ejemplo son Honeywell Multics Cryptek VSLAN Trusted
XENIX
246 Nivel B3 El TCB debe satisfacer los requisitos del monitor de referencia para mediar
todos los accesos de los sujetos a los objetos ser a prueba de manipulaciones y ser lo
suficientemente pequentildeo como para ser sometido a anaacutelisis y pruebas Con este fin el TCB estaacute
estructurado para excluir el coacutedigo que no es esencial para la aplicacioacuten de la poliacutetica de seguridad
con una importante ingenieriacutea del sistema durante el disentildeo y la implementacioacuten del TCB dirigido
a minimizar su complejidad Se admite un administrador de seguridad los mecanismos de
auditoriacutea se ampliacutean para sentildealar eventos relevantes para la seguridad y se requieren
procedimientos de recuperacioacuten del sistema El sistema es altamente resistente a la penetracioacuten
Los siguientes son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten de clase
(B3)
45
ACL adicionalmente basadas en grupos e identificadores
Acceso de ruta confiable y autenticacioacuten
Anaacutelisis automaacutetico de seguridad
Modelos TCB maacutes formales
Auditoriacutea de eventos de auditoriacutea de seguridad
Recuperacioacuten confiable despueacutes de la caiacuteda del sistema y documentacioacuten relevante
Cero defectos de disentildeo en TCB y defectos miacutenimos de implementacioacuten
El uacutenico sistema operativo con certificacioacuten B3 es Getronics Wang Federal XTS-
300
247 Nivel A1 Los sistemas en el nivel A1 son funcionalmente equivalentes a los del nivel
B3 en que no se agregan caracteriacutesticas arquitectoacutenicas adicionales ni requisitos de poliacuteticas La
caracteriacutestica distintiva de los sistemas en este nivel es el anaacutelisis derivado de la especificacioacuten
formal del disentildeo y las teacutecnicas de verificacioacuten y el alto grado resultante de seguridad de que el
TCB se implementa correctamente Esta garantiacutea es de naturaleza de desarrollo comenzando con
un modelo formal de la poliacutetica de seguridad y una especificacioacuten formal de alto nivel del disentildeo
Independientemente del lenguaje de especificacioacuten particular o del sistema de verificacioacuten
utilizado existen los siguientes criterios importantes para la verificacioacuten del disentildeo de nivel A1
Meacutetodos formales y prueba de integridad de TCB
Estos son los uacutenicos sistemas con certificacioacuten A1 Boeing MLS LAN Gemini
Trusted Network Processor Honeywell SCOMP (United States Government
Department of Defense 1983)
46
25 Sistemas Operativos
Un sistema operativo actuacutea como intermediario entre el usuario de una computadora y el
hardware de la computadora El propoacutesito de un sistema operativo es proporcionar un entorno en
el que un usuario pueda ejecutar programas de manera conveniente y eficiente
Un sistema operativo es un software que administra el hardware de la computadora El
hardware debe proporcionar mecanismos apropiados para garantizar el correcto funcionamiento
del sistema informaacutetico y para evitar que los programas del usuario interfieran con el correcto
funcionamiento del sistema (Carretero Peacuterez de Miguel Anasagasti Garciacutea Carballeira amp Peacuterez
Costoya 2001)
Un sistema operativo es un programa que controla la ejecucioacuten de programas de aplicacioacuten
y actuacutea como una interfaz entre el usuario de una computadora y el hardware de la computadora
Una definicioacuten maacutes comuacuten es que el sistema operativo es el uacutenico programa que se ejecuta
en todo momento en la computadora (generalmente llamado kernel) y todo lo demaacutes son
programas de aplicacioacuten
Un sistema operativo se ocupa de la asignacioacuten de recursos y servicios como memoria
procesadores dispositivos e informacioacuten El sistema operativo incluye los programas para
administrar estos recursos como un controlador de traacutefico un programador un moacutedulo de
administracioacuten de memoria programas de E S y un sistema de archivos (Pawar 2016)
47
251 Windows Sistema operativo de la empresa Microsoft es un conjunto de programas
que administra los recursos de una computadora Windows empieza a trabajar cuando se enciende
o inicializa el equipo para gestionar el hardware empezando desde los niveles maacutes baacutesicos
Es importante conocer que los sistemas operativos funcionan tanto en las computadoras
como en diferentes dispositivos electroacutenicos que usan microprocesadores En este caso Windows
su versioacuten estaacutendar funciona con computadoras Microsoft domina el mercado de los sistemas
operativos debido a su comodidad se puede decir que eacuteste sistema operativo se encuentra
instalado en el 887 de los equipos de coacutemputo que cuentan con acceso a Internet en todo el
mundo
Se pueden mencionar algunas aplicaciones principales (que eacutestas tambieacuten pueden ser
desinstaladas por los usuarios o actualizadas sin que el sistema operativo se dantildee o deje de
funcionar) se encuentran el procesador de texto WordPad el navegador Internet Explorer el
reproductor multimedia Windows Media y el editor de imaacutegenes Paint
La principal novedad que aportoacute Windows desde sus oriacutegenes fue la facilidad para usarlo
y el atractivo visual De hecho su nombre (ldquoventanasrdquo) se debe a la forma en que el sistema
presenta a los usuarios los recursos con los que cuenta su computadora lo que facilita las tareas
cotidianas Windows tambieacuten suele recibir varias criacuteticas por sus problemas de seguridad y por
otros fallos
48
252 Registro de Windows El registro es una base de datos jeraacuterquica que contiene datos
que son criacuteticos para el funcionamiento de Windows y las aplicaciones y servicios que se ejecutan
en Windows Los datos estaacuten estructurados en un formato de aacuterbol Cada nodo en el aacuterbol se llama
clave Cada clave puede contener subclaves y entradas de datos llamadas valores A veces la
presencia de una clave es el uacutenico dato que requiere una aplicacioacuten otras veces una aplicacioacuten
abre una clave y usa los valores asociados con la clave (Microsoft Inc 2019) Una clave puede
tener cualquier nuacutemero de valores y los valores pueden tener cualquier forma El registro es
utilizado por
Autenticacioacuten
Nuacutecleo (Kernel)
Controladores de dispositivos
Servicios
SAM
Las carpetas del sistema se almacenaraacuten en distintas rutas de acceso dependiendo de la
versioacuten de Windows con la que se esteacute trabajando a continuacioacuten cuatro de los cinco archivos
que maacutes interesan a esta investigacioacuten se encuentran en la siguiente ubicacioacuten SystemRoot
System32 Config dentro de las siguientes sub llaves
SAM - HKEY LOCAL MACHINE SAM
SECURITY - HKEY LOCAL MACHINE SECURITY
SOFTWARE - HKEY LOCAL MACHINE SOFTWARE
SYSTEM - HKEY LOCAL MACHINE SYSTEM
49
253 Administrador de cuentas de seguridad El administrador de cuentas de seguridad
(SAM por sus siglas en ingleacutes) es una base de datos en donde se encuentran las cuentas de
seguridad Esto es utilizado por Windows para administrar las cuentas de usuario y contrasentildeas en
el formato hash
Las contrasentildeas nunca se almacenan en formato de texto claro Se almacenan en formato
de hash para protegerlas de los ataques La base de datos SAM se implementa como un archivo de
registro y las obtiene del kernel de Windows y mantiene un bloqueo exclusivo al archivo SAM
esto quiere decir que el archivo tiene cierta medida de seguridad para el almacenamiento de las
contrasentildeas (Hernandez 2013)
No es posible copiar el archivo SAM a otra ubicacioacuten en el caso de los ataques en liacutenea
Dado que el archivo SAM estaacute bloqueado con un bloqueo exclusivo al sistema de archivos no
puede ser copiado o movido mientras se ejecuta Windows El bloqueo no iniciaraacute hasta que la
excepcioacuten de la pantalla azul haya sido inicializada o el sistema operativo haya sido apagado Sin
embargo los archivos en formato hash de contrasentildeas fuera de liacutenea estaacuten disponibles para los
ataques de fuerza bruta el contenido del archivo SAM puede ser copiado o descargado utilizando
diversas teacutecnicas
Un identificador de seguridad (SID) es un valor uacutenico de longitud variable utilizado para
identificar a un usuario Cada cuenta tiene un SID uacutenico emitido por una autoridad como un
controlador de dominio de Windows y almacenado en una base de datos de seguridad Cada vez
50
que un usuario inicia sesioacuten el sistema recupera el SID para ese usuario de la base de datos y lo
coloca en el token de acceso para ese usuario El sistema usa el SID en el token de acceso para
identificar al usuario en todas las interacciones posteriores con la seguridad de Windows Cuando
se ha usado un SID como identificador uacutenico para un usuario o grupo no se puede volver a usar
para identificar a otro usuario o grupo
La seguridad de Windows usa SID en los siguientes elementos de seguridad
En descriptores de seguridad para identificar al propietario de un objeto y grupo
primario
En las entradas de control de acceso para identificar al usuario para quien el acceso
estaacute permitido denegado o auditado
En tokens de acceso para identificar al usuario y los grupos a los que pertenece
2531 Identificador de Seguridad (SID Security Identifier)
S - 1 - 5 - 21 - 3983109318 - 554656936 - 3066752241 - 1000
S - indica que es un string de SID
1 - el nivel de revisioacuten
5 - el identificador de valor de autoridad o authority value no siempre seraacute 5 Entre otros
valores que se pueden encontrar estaacuten los siguientes
51
0 - sin autoridad
1 - autoridad global
2 - autoridad local
3 - autoridad de creador
4 - autoridad no uacutenica
5 - autoridad NT
9 - autoridad de administrador de recursos
21 - 3983109318 - 554656936 - 3066752241 - es el dominio en el que se encuentra el
sistema o el identificador local de la computadora
1000 - ID uacutenico para cada cuenta aquiacute se encuentra el RID (Relative Identifier) Nuacutemero
de longitud variable cualquier grupo o usuario que se cree de manera diferente a la predeterminada
recibiraacute un RID de 1000 o superior En el caso de que el valor sea 500 responde a que este SID
representa la cuenta de un administrador el valor de 500 siempre seraacute el mismo en cualquier cuenta
de administrador a su vez el valor 501 representa el SID de una cuenta Invitado (Guest)
(Hernandez 2013)
254 Autenticacioacuten NTML NTLM (NT LAN Manager) es un protocolo empleado por
muchos productos de Microsoft para realizar la autenticacioacuten desafiacuteorespuesta por lo tanto es el
esquema de autenticacioacuten que por defecto usa Firewall de Microsoft y tambieacuten los productos del
servidor proxy
52
Este software fue desarrollado para afrontar el problema del trabajo con Tecnologiacuteas Java
en un entorno orientado a Microsoft Puesto que no se basa en ninguna especificacioacuten oficial de
protocolo por lo tanto no hay garantiacutea de que funciona correctamente en todos los casos Tambieacuten
ha estado en algunas instalaciones de Windows donde funcionoacute con eacutexito
La Autenticacioacuten NTLM se compone de dos protocolos protocolo de autenticacioacuten NTLM
y protocolo de autenticacioacuten LM Estos protocolos utilizan una metodologiacutea de hash diferente para
almacenar contrasentildeas de los usuarios en la base de datos SAM (Hernandez 2013) (Meneacutendez-
Barzanallana 17)
26 LINUX (ROCKS)
Rocks es una distribucioacuten para cluacutester de Linux de coacutedigo abierto que permite a los usuarios
finales construir de manera maacutes amigable cluacutesteres computacionales y muros de visualizacioacuten en
mosaico Cientos de investigadores de todo el mundo han utilizado Rocks para implementar su
propio cluacutester
Desde mayo de 2000 el grupo Rocks ha abordado las dificultades de implementar cluacutesteres
manejables Encaminados hacia un objetivo crear cluacutesters de manera maacutes sencilla Por sencilla
significa faacutecil de implementar administrar actualizar y escalar Este objetivo impulsa a los
creadores de esta herramienta a ayudar a entregar el poder computacional de los cluacutesteres a una
amplia gama de usuarios cientiacuteficos Estaacute claro que poner a disposicioacuten de una amplia gama de
53
cientiacuteficos plataformas de computacioacuten paralelas estables y manejables ayudaraacute enormemente a
mejorar el estado del arte en herramientas paralelas (Rocksclusters 2010)
261 Escritorio De todos los escritorios disponibles para el sistema operativo Linux
GNOME ha logrado convertirse en el maacutes eficiente estable y confiable sin dejar de ser sencillo
de usar De hecho la mayoriacutea de los usuarios independientemente de su experiencia pueden
trabajar con GNOME casi sin esfuerzo
Los usuarios que son nuevos tanto en Linux como en GNOME hariacutean mejor en conocer
los entresijos del escritorio que hacen que Linux no solo sea faacutecil sino tambieacuten divertido
Un entorno de escritorio agrupa programas que trabajan juntos para formar un espacio de
trabajo informaacutetico cohesivo unificado transparente e interactivo para los usuarios O para
decirlo de manera maacutes simple el entorno de escritorio es la interfaz de usuario para el sistema
operativo En el caso de GNOME ese sistema operativo es Linux Sin un entorno de escritorio su
uacutenica alternativa es una sesioacuten de Shell (liacutenea de comandos) basada en texto (Wallen 2019)
262 Paquete de Oficina Una suite ofimaacutetica es una coleccioacuten de software creada por el
mismo proveedor y disentildeada para ser utilizada para tareas rutinarias dentro de una organizacioacuten
Por lo general una suite ofimaacutetica incluye aplicaciones como procesamiento de texto hojas de
caacutelculo presentacioacuten correo electroacutenico toma de notas base de datos colaboracioacuten y otros tipos
de software relacionados En la mayoriacutea de los casos cada aplicacioacuten en la suite ofimaacutetica se puede
instalar por separado y todas las aplicaciones dentro de la suite admiten la interoperabilidad entre
54
siacute Microsoft Office Suite Lotus Live Notes y LibreOffice son todas suites de oficina de uso
comuacuten
263 Organizador de archivos Es una funcioacuten avanzada disentildeada para agrupar y
renombrar archivos usando sus atributos del sistema o meta atributos
Cada archivo tiene atributos del sistema como la fecha (Acceso Creado y Modificado) el
tipo de archivo (definido por extensioacuten) y asociado con la aplicacioacuten registrada de ese tipo de
archivo Estos atributos se pueden usar para generar un nuevo nombre de archivo o carpeta (grupo)
para cada archivo con el mismo atributo Ademaacutes de los atributos del sistema algunos archivos
en su mayoriacutea medios o imaacutegenes pueden contener metacampos como el nombre del artista el
tiacutetulo el nombre del aacutelbum y otros El Organizador de archivos tambieacuten usa estos metacampos
para agrupar archivos en una carpeta con el mismo atributo Por lo tanto el organizador de archivos
opera reglas de organizacioacuten de archivos que definen la jerarquiacutea de agrupacioacuten de carpetas y las
reglas de cambio de nombre de archivos
Asiacute como el conocido ldquoexplorador de Windowsrdquo Linux integra un organizador de archivos
y carpetas llamado NAUTILUS para realizar tareas de manejo de archivos como mover copiar
renombrar crear carpetas y de esta manera administrar nuestros dispositivos de almacenamiento
55
27 Agrupamiento (Cluacutester) de Computadoras
El agrupamiento (cluacutester) de computadoras estaacute conformado por una coleccioacuten de
computadoras autoacutenomas interconectadas trabajando unidas como un solo recurso de computacioacuten
integrado El concepto de agrupamiento de computadoras nacioacute cuando los pioneros de la
supercomputacioacuten intentaban difundir diferentes procesos entre varias computadoras para luego
poder recoger los resultados que dichos procesos debiacutean producir Con un hardware maacutes barato y
faacutecil de conseguir se pudo perfilar que podriacutean conseguirse resultados muy parecidos a los
obtenidos con aquellas maacutequinas mucho maacutes costosas (Chirinov 2003)
Un agrupamiento de computadoras se puede definir como el trabajo realizado por dos o
maacutes computadoras que en conjunto se encargan de proveer una determinada solucioacuten Tiene como
finalidad agrupar el poder de coacutemputo de los nodos implicados para proporcionar una mayor
escalabilidad disponibilidad y fiabilidad (Branch Bedoya amp Mesa Muacutenera 2008)
La escalabilidad es la capacidad de un equipo para hacer frente a voluacutemenes de trabajo
cada vez mayores sin por ello dejar de prestar un nivel de rendimiento aceptable
La disponibilidad y la fiabilidad se encuentran bastante relacionadas aunque difieren
ligeramente en algunos aspectos La disponibilidad es la calidad de estar presente y listo para su
uso mientras que la fiabilidad es la probabilidad de un correcto funcionamiento
56
Entre los tipos de agrupamiento maacutes comunes se pueden encontrar de alta disponibilidad
(ambiente a prueba de fallas) coacutemputo de alto desempentildeo (los procesos o las tareas dadas se
presentan como un solo sistema virtual) y escalamiento horizontal (se utiliza para proporcionar
una sola interfaz a un conjunto de recursos que pueden aumentar o disminuir arbitrariamente su
tamantildeo en un cierto periodo de tiempo) (Gonzaacutelez Ramiacuterez amp Rodriacuteguez Saacutenchez 2008)
271 Beowulf Es una clase de computadora masivamente paralela de altas prestaciones
principalmente construida a base de agrupamiento de componentes hardware estaacutendar (Llorens amp
Pentildea 2002) Consta de un conjunto de nodos minimalistas unidos por un medio de
comunicaciones econoacutemico Esto quiere decir que tienen lo miacutenimo para ejecutar su funcioacuten de
hecho los nodos por siacute solos no son capaces de ejecutar siquiera un sistema operativo (Nievas
Pino amp Arroyo) Se puede ver como una supercomputadora paralela construida con hardware
comercial de faacutecil adquisicioacuten que posee como sistema operativo Linux Los cluacutesters Beowulf son
extremadamente poderosos pero no son para todas las personas Su principal desventaja es que
requieren software disentildeado para poder aprovechar los recursos del cluacutester (Lizaacuterraga 2002)
272 Mosix Seguacuten Peacuterez (2001) la arquitectura Mosix estaacute basada en la misma ideologiacutea
de la arquitectura Beowulf Se basa en un conjunto de parches aplicados al nuacutecleo (kernel) de Linux
y que asignan a todo el grupo de nodos un espacio de direcciones y de procesos comuacuten gracias al
cual los procesos migran de uno a otro con el fin de equilibrar favorablemente la carga del sistema
global Es una herramienta disentildeada para realizar balanceo de carga en el agrupamiento de forma
totalmente transparente de manera tal que los nodos se comportan como una sola maacutequina y asiacute
incrementar el aprovechamiento de cada uno de los nodos (Chaacutevez y otros 1999) La principal
57
ventaja de Mosix frente a Beowulf se basa precisamente en esto Mosix da mejores respuestas que
Beowulf frente a la caiacuteda o insercioacuten de nodos A parte de esto Mosix permite un cambio constante
de aplicacioacuten o incluso el correr aplicaciones independientes de forma simultaacutenea
273 OpenMosix OpenMosix es una extensioacuten del proyecto Mosix Seguacuten Chirinov
(2003) la idea de este modelo es que la distribucioacuten de tareas en el cluacutester la determina OpenMosix
de forma dinaacutemica conforme se van creando tareas Cuando un nodo estaacute demasiado cargado las
tareas que se estaacuten ejecutando pueden migrar a cualquier otro nodo del cluacutester Asiacute desde que se
ejecuta una tarea hasta que eacutesta muere podraacute migrar de un nodo a otro sin que el proceso sufra
mayores cambios
Ademaacutes OpenMosix funciona a nivel de kernel por tanto puede conseguir toda la
informacioacuten que necesite para decidir que tanto estaacute cargado un sistema y queacute pasos se deben
seguir para aumentar el rendimiento ademaacutes puede realizar maacutes funciones que cualquier
aplicacioacuten a nivel de usuario
Despueacutes de elegir el tipo de cluacutester a utilizar se procede a elegir los elementos baacutesicos que
se emplearaacuten para implementar el cluacutester capacidad de procesamiento memoria espacio del disco
de cada nodo asiacute como tambieacuten el ancho de banda de la comunicacioacuten entre los nodos Se deberaacute
decidir cuaacuteles son importantes basaacutendose en la variedad de aplicaciones que se piensen ejecutar
en el cluacutester y de la cantidad de dinero que se disponga para construirlo
58
Bajo estos mismos paraacutemetros se debe escoger tambieacuten el tipo de red que interconectaraacute
los nodos (Turner 2004)
Luego se debe escoger el sistema operativo a utilizar Esta eleccioacuten dependeraacute mucho de
la maacutequina que se escoja Linux es siempre una opcioacuten en cualquier maacutequina y es la eleccioacuten maacutes
comuacuten Muchas de las herramientas necesarias para la implementacioacuten de un cluacutester han sido
desarrolladas bajo Linux Pero existen cluacutesters corriendo bajo Windows NT UNIX Solaris y AIX
59
Capiacutetulo 3 Implementacioacuten de Cluacutester
31 Requisitos previos
Antes de iniciar la instalacioacuten del FrontEnd es necesario asegurarse que las conexiones de
red de los equipos junto con la configuracioacuten de la BIOS de cada uno sean las correctas
311 Conexioacuten de los equipos y acceso a la red
Un cluacutester de alto desempentildeo funciona como un uacutenico equipo el cuaacutel comparte los recursos
de los nodos esclavos con el nodo maestro para ello es esencial la existencia de una red interna de
alta velocidad por medio de la cual se realice la comunicacioacuten entre el nodo maestro y los nodos
esclavos como se muestra en la Figura 31 El nodo maestro necesitaraacute 2 tarjetas de red de alta
Figura 31 Esquema tiacutepico de configuracioacuten de un cluacutester (Fuente Elaboracioacuten propia)
60
velocidad una para la comunicacioacuten interna y otra para la comunicacioacuten con redes externas El
sistema operativo Rocks asigna automaacuteticamente la interface ldquoeth0rdquo a la red interna del cluacutester y
la interface ldquoeth1rdquo a la red externa En caso de que Rocks sea incapaz de determinar cuaacutel es la red
externa debido a la falta de conexioacuten a internet estas podriacutean ser asignadas de manera incorrecta
por tal motivo se sugiere asegurar el nombre de cada una de las interfaces
Dado que Rocks no permite volverlas a asignar una vez finalizada la instalacioacuten es
necesario volver a reinstalarlo para poder solucionar este inconveniente
312 Configuracioacuten de la BIOS Para evitar problemas durante la instalacioacuten conviene
configurar correctamente la Bios
3121 ATAIDE Mode Algunos sistemas operativos puede que no sean capaces de
reconocer el controlador del disco duro como es en el caso de esta distribucioacuten de Rocks usada
Para evitar complicaciones de tener que antildeadir el controlador a mano lo mejor es habilitar el modo
ldquoLegacyrdquo de controlador de disco duro
61
Para ello se accede a la Bios pulsando F2 al encender el equipo se situacutea en la pestantildea
ldquoAdvancedrdquo y se selecciona ldquoDrive Configurationrdquo como se muestra en la Figura 32
Figura 32 Imagen del Bios del equipo en la opcioacuten ldquodrive configurationrdquo (Fuente Elaboracioacuten propia)
Figura 33 Bios ATAIDE Legacy Mode (Fuente Elaboracioacuten propia)
62
Dentro del menuacute se tiene que seleccionar el Modo ldquoLegacyrdquo en la opcioacuten ldquoATAIDE
Moderdquo como se muestra en la Figura 33 y para salir se guardan los cambios con F10
3122 PXE Al momento de instalar un nodo puede ocurrir falla al arrancar y aparecer
bootsplash (Reboot and Select proper device) Para evitarlo es necesario habilitar la opcioacuten de
PXE para que tome los archivos de instalacioacuten del nodo maestro a traveacutes de la red interna
En la Bios se selecciona la pestantildea ldquoBootrdquo y dentro de ese mismo menuacute se deshabilita
ldquoSilent bootrdquo y se habilita la opcioacuten de ldquoPXE boot to lanrdquo como se muestra en la Figura 34
Finalmente hay que verificar que en la secuencia de arranque (Figura 35) como primer
dispositivo sea desde red para que de esta manera inicie desde el PXE
Figura 34 Bios Boot PXE (Fuente Elaboracioacuten propia)
63
Se guardan los cambios antes de salir
32 Instalacioacuten de Sistema Operativo Rocks
Una vez configurados los equipos se enciende el equipo que seraacute el nodo maestro
(FrontEnd) en el cuaacutel previamente se ha modificado la secuencia de inicio del boot desde la Bios
de modo que al insertar el CD de Rocks eacuteste procederaacute a iniciar la instalacioacuten con la siguiente
pantalla que se muestra a continuacioacuten
Figura 35 Bios Boot device prioriry (Fuente Elaboracioacuten propia)
64
Para iniciar la instalacioacuten uacutenicamente se selecciona la opcioacuten ldquoInstall CentOS 7rdquo como se
muestra en la Figura 36 dando asiacute comienzo al proceso de instalacioacuten Tras finalizar un proceso
de carga en memoria Rocks mostraraacute un formulario en entorno graacutefico mediante el cual
procederemos a configurar el FrontEnd
Esta primera pantalla se muestra coacutemo se desea realizar la instalacioacuten puede realizarse
por medio de la descarga del sistema operativo (se requiere internet) En este caso como se muestra
en la Figura 37 dado que previamente se descargoacute el DVD completo se seleccionoacute ldquoCDDVD
based rollsrdquo
Figura 36 Pantalla de Inicio de instalacioacuten de Rocks (Fuente Elaboracioacuten propia)
65
A continuacioacuten Figura 38 se selecciona de la lista de Rolls aquellos que se desean instalar
Figura 37 Pantalla de seleccioacuten de Rolls (Fuente Elaboracioacuten propia)
Figura 38 Listado de opciones de rolls para instalar (Fuente Elaboracioacuten propia)
66
Tras presionar el botoacuten ldquoSubmitrdquo la siguiente pantalla (Figura 39) muestra formulario en
el que hay que indicar la informacioacuten baacutesica del cluacutester entre las cuales aparecen
Fully-Qualified Host Name Nombre con el que se conoceraacute en la red externa el cluacutester
Cluster Name Nombre utilizado para ser identificado dentro de las herramientas del cluacutester
Certificate Organization Locality State and Country Organizacioacuten a la que pertenece el
cluacutester la localidad el estado y la ciudad
Contact URL and LattitudeLongitude Contacto direccioacuten web y posicioacuten GPS
Figura 39 Informacioacuten baacutesica del cluacutester a instalar (Fuente Elaboracioacuten propia)
67
Una vez que se ingresa la informacioacuten al cluacutester se presiona el botoacuten ldquoListordquo y
posteriormente se podraacute cambiar la configuracioacuten baacutesica de la red interna del cluacutester En este caso
Figura 310 se dejoacute el valor por defecto una IP de clase B (1011116)
El siguiente paso es la configuracioacuten de la red externa (para tener acceso a internet) En
este punto se introducen los datos de la red externa a la que se encuentra conectado el nodo
maestro como se muestra en la Figura 311
Figura 310 Configuracioacuten Ethernet de la red privada (Fuente Elaboracioacuten propia)
Figura 311 Configuracioacuten Ethernet de la red puacuteblica (Fuente Elaboracioacuten propia)
68
Para terminar de configurar la red externa como se muestra en la Figura 312 se ingresa la
direccioacuten IP del Gateway y los DNS (Servidor de nombre de dominio) que va a usar para el acceso
a internet
Se continuacutea con el resto del formulario donde se introduce la contrasentildea para el usuario
root tal y como se muestran en la Figura 313
Figura 312 Configuracioacuten de DNS y Gateway (Fuente Elaboracioacuten propia)
Figura 313 Ingresar contrasentildea de usuario root (Fuente Elaboracioacuten propia)
69
Paso siguiente se procede a seleccionar la zona horaria como se muestra en la Figura 314
donde se encuentra ubicado el cluacutester asiacute como un servidor de donde podraacute obtener la zona horaria
automaacuteticamente en este caso se dejoacute el valor por default
En el formulario de la Figura 315 se selecciona la forma de particionar el disco duro
(automaacutetica manual) una vez seleccionado daraacute comienzo al proceso de instalacioacuten de manera
Figura 314 Configuracioacuten horaria (Fuente Elaboracioacuten propia)
Figura 315 Particiones del disco duro (Fuente Elaboracioacuten propia)
70
desatendida Cuando ha concluido la instalacioacuten el equipo se reiniciaraacute y se requeriraacute iniciar con
el usuario root y la contrasentildea establecida previamente
321 Configuracioacuten del teclado Debido a que el teclado por defecto estaacute en idioma
ingleacutes podriacutea provocar problemas al momento de escribir la contrasentildea u otros comandos
Seguacuten las pruebas realizadas aunque se cambie la configuracioacuten del teclado desde el menuacute
de preferencias uacutenicamente se mantiene dentro de la sesioacuten desde la que se ha cambiado dicha
opcioacuten (lo cual implica que la contrasentildea de usuario hay que introducirla seguacuten la distribucioacuten
inglesa)
33 Instalacioacuten de los nodos
Previo a la instalacioacuten de los nodos esclavos cada uno de los equipos fueron configurados
desde la Bios para que arranquen desde la red (seccioacuten 3122) Para ir antildeadiendo los nodos solo
se tiene que introducir el siguiente comando desde nuestro FrontEnd
$insert-ethers
A continuacioacuten como se muestra en la Figura 316 apareceraacute una ventana en la pantalla
en la cual se seleccionaraacute la opcioacuten ldquoComputerdquo
71
Una vez realizado este paso se procede a encender los equipos que funcionaraacuten como
nodos esclavos uno a uno
Se sugiere esperar a que cada nuevo equipo encendido esteacute marcado con un asterisco antes
de proceder a encender el siguiente como se muestra en la Figura 317 De esta manera se asegura
que cada nuevo nodo antildeadido posea el nombre y numeracioacuten deseada
Figura 316 Pantalla para ingresar nodos (Fuente Elaboracioacuten propia)
Figura 317 Indicador de insercioacuten de nuevos nodos (Fuente Elaboracioacuten propia)
72
Puede darse el caso de que un nodo no sea detectado automaacuteticamente eso indica que se
ha omitido alguacuten paso o parte de la configuracioacuten realizada hasta el momento es incorrecta En ese
caso comprobar lo siguiente
Que el nodo esclavo este correctamente conectado a la red interna
Que el FrontEnd (nodo maestro) tenga correctamente configurada la red interna y externa
Que el PXE esteacute habilitado en la Bios del nodo esclavo
331 Administracioacuten de nodos Algunos de los comandos maacutes uacutetiles para para la gestioacuten
de los nodos son los siguientes
Eliminar un nodo de la lista
Reinstalar un nodo
Listar los nodos ya instalados
Acceder a un nodo
$rocks remove host nombre_nodo
$rocks remove host nombre_nodo
$rocks set host boot nombre_nodo action=install
$rocks set host boot nombre_nodo action=install
$rocks list host
$rocks list host
$ssh nombre_nodo
$ssh nombre_nodo
73
Ejecutar un comando de manera remota a un nodo
332 Creacioacuten de cuentas de usuario Para agregar a un usuario hay que realizar los
siguientes pasos
1 Creacioacuten de la cuenta
$useradd nombre_usuario
2 Asignacioacuten de una contrasentildea
$passwd nombre_usuario
3 Sincronizacioacuten de la cuenta de usuario con el resto de nodos
$rocks-user-sync
333 Configuracioacuten del directorio compartido El directorio share es compartido por el
FrontEnd y el resto de nodos se localiza dentro del FrontEnd en la carpeta exports siendo la
carpeta share un enlace simboacutelico a esta uacuteltima
Al principio es posible que no se sincronicen correctamente los archivos introducidos en el
directorio debido a que la carpeta inicialmente estaacute vaciacutea por lo que para solucionar este
inconveniente puede usarse el comando siguiente para reiniciar dicho servicio
$ssh nombre_nodo lsquocomandorsquo
$ssh nombre_nodo lsquocomandorsquo
$cd
$export fs ndashrv
service nfs restart
$cd
$export fs ndashrv
service nfs restart
74
34 Operaciones baacutesicas de Rocks
Comandos y aplicaciones esenciales para el manejo del cluacutester
Ver que rolls estaacuten instalados
$rocks list roll
Visualizar el estado del sistema Figura 318
$qstat ndashf
Probar el sistema de colas para distribuir tareas a los nodos
Para ello se prueba que el SGE del cluacutester funcione enviaacutendole una serie de trabajos
mediante el comando qsub
En primer lugar se crea un fichero (pruebapl) que tenga permisos de ejecucioacuten con el
siguiente contenido
Figura 318 Comando qstat ndashf (Fuente Elaboracioacuten propia)
75
usrbinperl
for(my $i=0$ilt30$i++) sleep(2) print okn
Y se ejecuta con el siguiente comando
$ for ((i=1ilt=10i+=1)) do qsub pruebapl done
Al ejecutarse se puede comprobar que los trabajos se han mandado Figura 319
Y al realizar de nuevo un ldquoqstat ndashfrdquo Figura 320 se observa coacutemo se van realizando
Figura 319 Enviacuteo de trabajos por medio del comando qsub (Fuente Elaboracioacuten propia)
Figura 320 Estado de los trabajos pendientes mostrados por qstat ndashf (Fuente Elaboracioacuten propia)
76
Para ver la carga de trabajo en el cluacutester de manera global y de forma graacutefica se tiene que
ingresar en un navegador web en la siguiente direccioacuten httplocalhostganglia apareceraacute la
Figura 321
Figura 321 Visualizacioacuten de la distribucioacuten de cargas en el cluacutester usando la herramienta Ganglia (Fuente Elaboracioacuten propia)
77
Capiacutetulo 4 Metodologiacutea y Resultados
Una vez finalizada la instalacioacuten y puesta en operacioacuten del equipo se analizaron diferentes
metodologiacuteas de trabajo lo que implicoacute un trabajo arduo debido a que existen complicaciones
cuando se buscan temas relacionados a vulnerar sistemas operativos La realizacioacuten de este
proyecto estaacute basado en la metodologiacutea de Joshua Picolet ldquoCracking Methodologyrdquo (Picolet
2017)
41 Obtener Archivo hash
Se pueden vulnerar contrasentildeas de Windows de diferentes maneras Una de ellas es
mediante el acceso al archivo del Administrador de cuentas de seguridad (SAM) el cual se detalla
en el apartado 253 a traveacutes de la obtencioacuten de las contrasentildeas del sistema en su forma hash por
medio de herramientas diferentes Alternativamente las contrasentildeas se pueden leer desde la
memoria lo que tiene el beneficio adicional de recuperar las contrasentildeas en texto plano y evitar el
requisito de descifrado Para comprender los formatos que se observan cuando se descarguen
hashes del sistema de Windows se requiere una breve descripcioacuten de los diferentes formatos de
almacenamiento
Originalmente las contrasentildeas de Windows de menos de 15 caracteres se almacenaban en
el formato hash de Lan Manager (LM) Algunos sistemas operativos como Windows 2000 XP y
Server 2003 continuacutean usando estos hashes a menos que esteacuten deshabilitados por el usuario
Ocasionalmente un sistema operativo como Windows Vista puede almacenar el hash LM para la
compatibilidad con otros sistemas Seguacuten analistas incluye varias vulnerabilidades como dividir
78
la contrasentildea en dos bloques y permitir que cada uno se descifre de forma independiente Mediante
el uso de tablas Rainbow es trivial descifrar una contrasentildea almacenada en un hash LM
independientemente de la complejidad Este hash se almacena con la misma contrasentildea calculada
en el formato de hash NT como el que se muestra en el siguiente ejemplo
Ejemplo de un hash NTLM con el componente LM y NT
Administrator500611D6F6E763B902934544489FCC9192BB71ED1E7F2B60ED5A2
EDD28379D45C91
Los sistemas operativos Windows maacutes recientes como el Windows 8 y 10 usan el hash NT
En teacuterminos simples no hay una debilidad significativa en este hash que lo diferencie de cualquier
otra funcioacuten hash criptograacutefica Se requieren meacutetodos de descifrado como lo es la fuerza bruta o
ataque de diccionario para recuperar la contrasentildea si uacutenicamente se almacena en el formato NT
Ejemplo de un hash NTLM uacutenicamente con el componente NT (como se ve en los sistemas
Windows mas recientes
Administrator500NOPASSWORDEC054D40119570A4663
4350291AF0F72
Es importante sentildealar que la cadena NO PASSWORD es variable seguacuten la herramienta
que se utilice Otras pueden presentar esta informacioacuten como ceros rellenos o comuacutenmente puede
79
ver la cadena ldquoAAD3B435B51404EEAAD3B435B51404EErdquo en lugar de ninguna contrasentildea
Esto significa que el hash LM estaacute vaciacuteo y no estaacute almacenado
El archivo hash se encuentran en el directorio ldquoWindows System32 configrdquo y se
necesitan ambos archivos SAM y SYSTEM Ademaacutes tambieacuten se encuentran en el archivo de
registro HKEY_LOCAL_MACHINE SAM al que no se puede acceder durante el tiempo de
ejecucioacuten Finalmente las copias de seguridad se pueden encontrar a menudo en ldquoWindows
Repairrdquo (Peleus 2019)
Para extraer el archivo hash de un sistema operativo con un nivel de seguridad C1 existen
diferentes meacutetodos en esta ocasioacuten se procederaacute a iniciar el equipo objetivo con una distribucioacuten
de Linux desde una memoria USB como se muestra en la figura 41 para de esta manera ingresar
al directorio CWINDOWSSystem32Config directorio de ubicacioacuten de los archivos SAM y
SYSTEM que son los necesarios para obtener el archivo hash (Caballero 2018)
Figura 41 Arranque con LiveUSB KaliLinux (Fuente Elaboracioacuten propia)
80
42 Dar Formato al Hash
En este punto es donde se tiene que identificar el algoritmo con el que fueron encriptados
los archivos SAM y SYSTEM que se han obtenido en el punto anterior con la finalidad de
seleccionar el tratamiento que se les daraacute El algoritmo de encriptacioacuten del archivo SAM de
Windows 10 es NTLM y ademaacutes estaacute almacenado en un formato binario (ByteBleeder 2017) por
lo que fue necesario instalar la herramienta con licencia GNU samdump2 para obtener la syskey y
de esta manera poder extraer los hash desde el archivo SAM de Windows
En la figura 42 se han obtenido los hashes del archivo SAM donde se puede observar que
los usuarios Administrador e Invitado estaacuten deshabilitados ademaacutes de que existen tres cuentas de
usuario activas las cuales son Gad prueba y usuarioprueba cada una con su contrasentildea cifrada
en formato NTLM a la derecha del nombre de usuario la cuenta usuarioprueba fue a la que se le
realizoacute el anaacutelisis que se detalla posteriormente
43 Evaluar la fuerza del Hash
En criptografiacutea se dice que un algoritmo criptograacutefico se rompe si por alguacuten meacutetodo se
consigue reducir su fortaleza es decir reducir por ejemplo su entropiacutea de los 2256 bits teoacutericos a
Figura 42 Resultado de la ejecucioacuten de la herramienta samdump2 (Fuente Elaboracioacuten propia)
81
tan soacutelo 2255 por ejemplo El hecho de que se encuentre una colisioacuten no implica necesariamente
que un algoritmo se haya roto pues podriacutea haber sido realizado mediante fuerza bruta pero puede
ser una causa
Un ataque de colisioacuten significa que encuentro dos entradas diferentes que producen el
mismo resultado de un hash particular Este es generalmente el tipo de ataque maacutes faacutecil Es el tipo
de ataque que se conoce desde hace varios antildeos contra MD5
Dado que una utilidad importante de las funciones hash estaacute en las firmas digitales
encontrar colisiones puede facilitar falsificar firmas digitales Es decir dos mensajes distintos que
tengan un mismo resumen tienen ademaacutes la misma firma y un atacante puede reemplazar un
mensaje por el otro Un ejemplo de este ataque fue demostrado en 2008 por un grupo de
investigadores en Aacutemsterdam los cuales falsificaron un certificado raiacutez mediante el uso de un
ataque de colisioacuten contra el algoritmo MD5 (Preukschat 2015)
Un ataque previo a la imagen generalmente es mucho maacutes difiacutecil es encontrar otra entrada
que produzca el mismo resultado que un hash que ya se conoce
Para tratar de aclarar la diferencia aquiacute en un ataque de colisioacuten encuentro dos entradas A
y B que producen el mismo resultado En un ataque de preimagen comienzo a partir de alguacuten
resultado conocido X y encuentro una entrada que produciraacute X como resultado (Coffin 2015)
82
Para realizar esta evaluacioacuten se tomoacute como base la tabla del apeacutendice Hash craking
benchmark (Picolet 2017) el objetivo es observar el comportamiento y velocidad del Hash
mencionado cuando fue sometido a pruebas de criptoanaacutelisis Si se trata de un Hash lento se deberaacute
ser maacutes selectivo en queacute tipos de diccionarios y meacutetodos de criptoanaacutelisis se le debe aplicar Si es
un Hash raacutepido se puede ser maacutes libre con la estrategia de criptoanaacutelisis Este estudio busca
realizar una prueba de criptoanaacutelisis mostrando las diferencias entre el poder de procesamiento de
un cluacutester de 17 nodos contra una computadora personal por lo que no necesariamente se
implementaraacute el meacutetodo oacuteptimo para la realizacioacuten del criptoanaacutelisis
44 Calcular la capacidad del equipo
Con la informacioacuten de la evaluacioacuten de la fuerza del Hash obtenida en el apartado anterior en
este apartado se tiene que establecer la capacidad de la plataforma o plataformas que realizaraacuten
el criptoanaacutelisis
Para conocer la capacidad de procesamiento del cluacutester de alto rendimiento se utilizoacute la
herramienta Linpack Benchmark HPL es una implementacioacuten portaacutetil del Benchmark de alto
rendimiento LINPACK para equipos de coacutemputo distribuido Actualmente se utiliza para obtener
varios resultados en la lista actual de Top500 de HP cluacutesters (Dongarra 2010)
El Linpack Benchmark (HPL del Ingleacutes High-Performance Linpack Bench-mark) es un
software que resuelve un sistema lineal aleatorio de doble precisioacuten aritmeacutetica (64 bits) en equipos
de memoria distribuida El rendimiento muestra el nuacutemero de operaciones de punto flotante por
segundo logradas por el sistema (Petitet Whaley Dongarra amp Cleary 2008)
83
El HPL fue desarrollado en el Argone National Laboratory por Jack Don-garra en 1976 y
es uno de los maacutes usados en sistemas cientiacuteficos y de ingenieriacutea para el caacutelculo de prestaciones
Las principales caracteriacutesticas del algoritmo utilizado por el HPL son
Distribucioacuten ciacuteclica de datos de bloques de dos dimensiones
Variante derecha de la factorizacioacuten LU con pivoteo parcial (Teacutecnica de pivoteo
Dicta que el elemento pivote que debe escogerse es el mayor absolutamente de cada
columna)
Factorizacioacuten recursiva con pivoteo y reenviacuteo de columna
Distintas topologiacuteas virtuales de reenviacuteos
Algoritmo de reduccioacuten de reenviacuteo para ancho de banda (Castelloacute Gimeno 2014)
La resolucioacuten del sistema de ecuaciones se realiza del siguiente modo
1 Se crea un sistema de ecuaciones
(1)
119860119909 = 119887
(2)
119860 isin 119877119899119909119899
(3)
119909 119887 isin 119877119899
84
HPL calcula que la solucioacuten para un sistema de ecuaciones lineales se puede generalizar
como 119860119909 = 119887 donde 119860 es una matriz 119873 119909 119873 cuyos valores se generan aleatoriamente
119909 119910 119887 son vectores de tamantildeo 119873 Como se muestra en la Figura 43
2 Primero se calcula la factorizacioacuten 119871119880 con pivoteo parcial de los coeficientes 119899 y 119899 + 1
de la matriz [119860 119887]
(4)
119875119903[119860 119887] = [[119871119880] 119910]
(5)
119875119903 119871 119880 isin 119877119899119909119899
(6)
119910 isin 119877119899
El primer paso es la factorizacioacuten de la matriz 119860 en una matriz triangular superior 119880
y una matriz triangular inferior 119871 tal que 119860 = 119871119880 La factorizacioacuten se usa para calcular
el vector solucioacuten 119909
3 Una vez el pivoteo (representado por la permutacioacuten de la matriz 119875119903) y la factorizacioacuten
inferior se aplican sobre 119887 la solucioacuten se obtiene en un paso resolviendo el sistema
superior triangular
Figura 43 Sistema de Ecuaciones tipo 119860119909 = 119887 (Fuente Elaboracioacuten propia)
85
(7)
119880119909 = 119910
La matriz triangular inferior izquierda y el conjunto de pivotes no se devuelven en el
resultado Para la estabilidad numeacuterica el algoritmo de factorizacioacuten utiliza un pivote parcial de
fila
La implementacioacuten paralela de Linpack divide la matriz 119860 119873 119909 119873 en una cuadriacutecula de
procesos 119875 119909 119876 bidimensional y luego la divide en subgrupos de mosaicos 119873119861 119909 119873119861 (Petitet
Whaley Dongarra amp Cleary 2008)
Utilizando la herramienta HPL en esta investigacioacuten se obtuvieron los siguientes
resultados
La prueba abordoacute el ajuste de 119873 y la eficiencia obtenida en comparacioacuten con el rendimiento
maacuteximo Se determinoacute un valor para 119873 = 800000 aleatoriamente para ejecutar HPL en todo el
cluacutester Sin embargo el tiempo fue excesivo por lo tanto se determinoacute que este tamantildeo del
problema fue demasiado grande para el cluacutester Al realizar otros experimentos con valores maacutes
pequentildeos de 119873 se obtuvieron mejores resultados de rendimiento La Tabla 41 muestra el
rendimiento de HPL en GFlops para 119873 = 300000 400000 y 500000 Como se puede observar
en la Tabla 41 se obtuvo el mejor resultado de rendimiento 850 GFlops para 119873 = 500000 para
valores mayores de 119873 la distribucioacuten de cargas del cluacutester empieza a sobrepasar su capacidad como
se muestra en la Figura 44 y la vez su rendimiento disminuye Esto ocurre porque la cantidad de
memoria utilizada con las memorias intermedias de comunicacioacuten MPI es mayor de lo esperado
Por lo tanto es necesario dejar maacutes del 20 de la memoria para el sistema (Petitet Whaley
86
Dongarra amp Cleary 2008) Tambieacuten se realizaron pruebas usando solo un nodo de coacutemputo y el
rendimiento fue de 34 GFlops para 119873 = 20000
Tabla 41 Rendimiento de HP cluacutester (Fuente Elaboracioacuten propia)
Analizando la eficiencia obtenida para la ejecucioacuten de un solo nodo cuando 119873 = 20000
se obtuvo el 823 del rendimiento maacuteximo (el rendimiento maacuteximo para un solo nodo es 477
Gflops) Para todo el cluacutester el rendimiento maacuteximo seriacutea 119879119898119886119909 = 477 119909 17 =
8109 119866119891119897119900119901119904 aproximadamente
Figura 44 Distribucioacuten de cargas del cluacutester
0
500
1000
300000 400000 500000
Gflops
Gflops
87
La Figura 44 titulada ldquoDistribucioacuten de cargas del cluacutesterrdquo muestra la imagen de la
herramienta Ganglia de manera graacutefica a traveacutes de cuadros que variacutean de color dependiendo de la
carga que tenga cada uno de los nodos al momento de implementar la herramienta HPL De manera
inicial indica que el cluacutester tiene un total de 17 equipos de 4 cores cada uno eso da un total de 68
cores trabajando sin equipos inactivos Muestra tambieacuten una sobrecarga en el cluacutester y un
porcentaje promedio de 100 de uso en la uacuteltima hora
45 Establecer Estrategia
Esto significa uacutenicamente que en este apartado se realizaraacute una guiacutea baacutesica para procesar
los hashes obtenidos sin perder de vista que cada escenario a criptoanalizar es uacutenico en funcioacuten
de las circunstancias externas Como ya se ha mencionado anteriormente esta estrategia de
criptoanaacutelisis se ha planteado implementar dos meacutetodos los cuales son Fuerza Bruta y ataque de
diccionario sin importar si son o no los oacuteptimos debido a que se realizaraacute una comparativa de
capacidad de procesamiento
451 Fuerza Bruta Una vez que se han intentado varios meacutetodos y han fallado se puede
iniciar un ataque de fuerza bruta estaacutendar poniendo especial atencioacuten en la cantidad de siacutembolos
del alfabeto que puede usar el equipo a analizar Por encima de 8 caracteres esto generalmente no
tiene sentido debido a limitaciones de hardware y entropiacutea (complejidad de la contrasentildea) Una
contrasentildea de Windows seguacuten Microsoft (Microsoft Inc 2019) una contrasentildea de Windows debe
estaacute formada por
88
26 Caracteres mayuacutesculas de la ldquoArdquo a la ldquoZrdquo
26 Caracteres minuacutesculas de la ldquoardquo a la ldquozrdquo
10 Diacutegitos de base 10 (0 a 9)
32 Caracteres especiales (~$^amp_-+=|()[]ltgt)
94 Caracteres alfanumeacutericos en total
4511 Cantidad de combinaciones posibles Si se usa una clave numeacuterica (nuacutemeros del 0
al 9) existen 10 posibilidades de 4 diacutegitos de longitud que es la extensioacuten por defecto de los
teleacutefonos celulares Para 4 diacutegitos las combinaciones posibles seriacutean 10 mil 104 = 10000
(Labaca Castro 2014)
Por otro lado si tomamos un alfabeto de 26 letras mayuacutesculas y 26 minuacutesculas 10 nuacutemeros
y 10 caracteres especiales en total tenemos 72 diferentes posibilidades para un uacutenico caraacutecter Eso
significa que las combinaciones para una contrasentildea de 4 caracteres seriacutean 724 = 26873856
Baacutesicamente maacutes de 26 millones de combinaciones en una clave de 4 caracteres contra 10 mil en
una clave de 4 diacutegitos numeacutericos En este estudio se utiliza la contrasentildea de bloqueo descrita en el
apartado anterior que es de 94 combinaciones para cada caraacutecter teniendo una longitud de 7
caracteres por lo tanto seraacuten 947 = 64847759000000 de posibles combinaciones que
nuestros equipos deben explorar para obtener la contrasentildea correcta
Como se mencionoacute en el apartado 42 el usuario sobre el cual se realizoacute el criptoanaacutelisis
fue usuarioprueba el cual constaba de una contrasentildea de longitud 7 caracteres la cual despueacutes
de realizado el anaacutelisis y como se puede observar en la Figura 45
89
1 Anaacutelisis a usuario usuarioprueba
2 Nuacutemero de nodos en operacioacuten 17
3 Nuacutemero de procesos ejecutaacutendose de forma paralela 68
4 Tiempo de duracioacuten del anaacutelisis en el cluacutester 122727 horas
5 Contrasentildea criptoanalizada Pass7
Asiacute mismo en la Tabla 42 se muestra el resultado final y el tiempo de duracioacuten del
criptoanaacutelisis realizado al archivo SAM con el cluacutester y la computadora personal
Tabla 42 Resultados de criptoanaacutelisis de archivo SAM (Fuente Elaboracioacuten propia)
Nodos Nuacutecleos Tiempo de Procesamiento (Horas)
1 (PC) 4 1075316
17 (Cluacutester) 68 122727
1
2
3
4 5
Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester (Fuente Elaboracioacuten propia)
90
452 Diccionario Meacutetodo empleado para romper la seguridad de los sistemas basados en
contrasentildeas (password) en la que el atacante intenta dar con la clave adecuada probando todas (o
casi todas) las palabras posibles ingresadas previamente en un diccionario idiomaacutetico
Generalmente se emplean programas especiales que se encargan de ello
Este meacutetodo suele ser maacutes eficiente que el meacutetodo de fuerza bruta debido a que muchas
usuarios casi siempre suelen utilizar contrasentildeas con una o varias palabras existentes en su lengua
para que la contrasentildea no sea olvidada faacutecilmente y sea sencilla de recordar esto no es una praacutectica
recomendable (Alegsa 2018)
Para realizar este meacutetodo se utilizoacute un diccionario descargado de internet el cual contiene
10000000 de posibles contrasentildeas (g0tmi1k 2018)
Ademaacutes se ejecutoacute un programa creado en lenguaje C (Anexo 1) a traveacutes de la
implementacioacuten de las libreriacuteas MPI y open MPI propias de la arquitectura de cluacutester de
computadoras Este programa fue ejecutado en los mismos equipos descritos anteriormente para
obtener todos los nuacutemeros primos encontrados dentro de un intervalo dado En este caso el
intervalo dado fue de 10000000 con los siguientes resultados mostrados en la Tabla 43
Tabla 43 Resultados de ejecucioacuten de programa en C para la obtencioacuten de nuacutemeros primos (Fuente Elaboracioacuten
propia)
Nodos Nuacutecleos Tiempo de Procesamiento (Segs)
1 (PC) 4 5078
17 (Cluacutester) 68 00013
91
453 Analizar los resultados Posterior a realizar el criptoanaacutelisis y descifrar con eacutexito
una cantidad suficiente de hashes se analizan los resultados en busca de pistas o patrones Este
anaacutelisis puede ayudar a tener eacutexito en cualquier hash restante
454 Personalizar ataques Tomando como base el anaacutelisis de resultados realizado
previamente se disentildearaacuten diversas estrategias personalizadas que aprovechen las vulnerabilidades
conocidas o patrones Los ejemplos seriacutean ataques de maacutescara personalizados o reglas para
adaptarse al comportamiento o las preferencias del usuario objetivo
92
Conclusioacuten
El trabajo de investigacioacuten presentado parte de la necesidad de buscar alternativas para
explotar al maacuteximo la capacidad de procesamiento del equipo de coacutemputo que existe actualmente
dentro del inventario del Instituto Tecnoloacutegico de Acapulco asiacute como proveer una plataforma que
coadyuve a la investigacioacuten dentro del Instituto a traveacutes de implementar un cluacutester de coacutemputo
con capacidad para realizar proyectos en el aacuterea de ingenieriacutea y matemaacuteticas con el fin de optimizar
el tiempo de ejecucioacuten lo cual en un futuro se veraacute reflejado en ventajas para el desarrollo de la
regioacuten
La revisioacuten y anaacutelisis de informacioacuten en relacioacuten a cluacutesters es muy interesante pero a la
vez es compleja dado que involucra diferentes aspectos durante su evolucioacuten asiacute como diversas
metodologiacuteas para su formacioacuten e implementacioacuten Se considera de suma importancia para este
trabajo las revisiones efectuadas ya que son la base para la propuesta entregada
De acuerdo a las especificaciones teacutecnicas de los equipos informaacuteticos existentes dentro
del laboratorio de la Maestriacutea en Sistemas Computacionales y una vez que se realizoacute el anaacutelisis
de varios casos de eacutexito se propuso la metodologiacutea para implementacioacuten de un cluacutester homogeacuteneo
tipo Beowolf Este meacutetodo estaacute basado en otros que ya se han implementado bajo realidades
acadeacutemicas similares rescatando las etapas maacutes importantes de cada uno y complementaacutendolo con
los aportes personales se consideroacute que fue el oacuteptimo debido a que se implementoacute con hardware
convencional y herramientas de uso libre
93
El hecho de haber seleccionado un meacutetodo adecuado permitioacute superar gran parte los
problemas que presentaban las metodologiacuteas que fueron analizadas simplificoacute la implementacioacuten
del cluacutester y permitioacute el poder alcanzar una mayor estabilidad en su desempentildeo desde su etapa
inicial fue importante conocer el resultado en cada una de las etapas de implementacioacuten para
asegurar su desenvolvimiento en el futuro
Para integrar los equipos independientes a la arquitectura cluacutester se realizoacute el disentildeo de
una topologiacutea de red Gigabit Ethernet tipo estrella con un direccionamiento IP estaacutetico la
configuracioacuten de protocolos de comunicacioacuten remota sin autenticacioacuten la comparticioacuten de
archivos en red y la utilizacioacuten de aplicaciones de licencia GPL que permiten obtener el
funcionamiento similar a la de una supercomputadora
Haciendo uso de libreriacuteas de paso de mensajes (MPI) y el software John the Ripper para el
descifrado de contrasentildeas la arquitectura cluacutester implementada alcanzoacute una eficiencia de 885
de rendimiento en comparacioacuten con los recursos computacionales de un solo equipo con las
caracteriacutesticas de un nodo Ademaacutes otros de los proyectos ejecutados en la arquitectura cluacutester
para probar el rendimiento fue la ejecucioacuten de un programa para la deteccioacuten de nuacutemeros primos
dentro de un archivo de 10000000 de nuacutemeros obteniendo una eficiencia de maacutes de 99 gracias
a la distribucioacuten de tareas que proporcionan las libreriacuteas de paso de mensajes (MPI) dentro de la
arquitectura cluacutester
Con la implementacioacuten de la arquitectura cluacutester el laboratorio de la Maestriacutea en Sistemas
Computacionales podraacute dar soluciones potentes eficientes y econoacutemicas en los entornos de
94
investigacioacuten mejorando la capacidad de procesamiento en aplicaciones como evaluacioacuten de
algoritmos compresioacuten de archivos renderizacioacuten de imaacutegenes anaacutelisis de datos (big data) en un
tiempo relativamente bajo ideal para las necesidades educativas
La experiencia obtenida al realizar esta investigacioacuten y propuesta ha sido enriquecedora
tanto por la obtencioacuten de conocimiento en base a la historia evolucioacuten y arquitectura de cluacutesters
asiacute como la programacioacuten paralela y sus ventajas en diferentes proyectos desarrollados en todo el
mundo Igualmente la comparacioacuten entre cada uno de los modelos y meacutetodos resulta interesante
dado que existe un sinnuacutemero de ejemplos con caracteriacutesticas diferentes pero baacutesicamente con un
mismo objetivo final
Trabajo Futuro
El cluacutester implementado en el Laboratorio de la Maestriacutea en Sistemas computacionales del
Instituto Tecnoloacutegico de Acapulco puede ser utilizado en gran cantidad de aplicaciones dentro de
las diferentes aacutereas de investigacioacuten del Instituto asiacute como estar disponible para el Departamento
de Posgrado e Investigacioacuten como apoyo durante la realizacioacuten de tareas y proyectos dentro de las
aacutereas de Desarrollo de Sistemas Inteligentes asiacute como de Tecnologiacuteas Web
Propuesta de Trabajo a Futuro
Durante la realizacioacuten de este proyecto se observoacute la necesidad que existe dentro del
departamento de Investigacioacuten y Posgrado de equipos de alta capacidad de procesamiento para
realizar de una manera maacutes eficiente las investigaciones que se estaacuten llevando a cabo Una de ellas
es el ldquoSistema de apoyo al diagnoacutestico oportuno de Retinopatiacutea Diabeacuteticardquo en la cual a traveacutes del
entrenamiento de una red neuronal se clasificaraacuten y evaluaraacuten un nuacutemero de 3000 imaacutegenes para
95
demostrar la presencia de dicha enfermedad en pacientes del Instituto Estatal de Oftalmologiacutea
Actualmente se ha realizado una prueba de entrenamiento de dicha red neuronal con 70 imaacutegenes
obteniendo como resultado un tiempo clasificacioacuten y evaluacioacuten de 301532 horas en un equipo
con un procesador Core I7 con 8 GB en memoria RAM
96
Bibliografiacutea
Alegsa (01 de 01 de 2018) Alegsa Diccionario Informaacutetico Recuperado el 07 de 2019 de
Alegsa httpwwwalegsacomarDicataque_por_diccionariophp
Avecto (2017) Avecto Limited Recuperado el 10 de 08 de 2018 de AVECTO a Bomgar
Company wwwavectocom
Borghello C (2009) Seguridad de la Informacioacuten Recuperado el 11 de 2018 de Criptografiacutea de
la A-Z httpswwwsegu-infocomarproyectosp1_hashhtm
Branch Bedoya J amp Mesa Muacutenera A (Diciembre de 2008) Implementacioacuten de un cluster
homogeacuteneo para la resolucioacuten de problemas de alta complejidad computacional Avances
en Sistemas e Informaacutetica 5(3)
ByteBleeder (02 de 06 de 2017) Practical guide to NTLM Relaying in 2017 Obtenido de Github
httpsbyt3bl33d3rgithubiopractical-guide-to-ntlm-relaying-in-2017-aka-getting-a-
foothold-in-under-5-minuteshtml
Caballero A (26 de 06 de 2018) Hacking Eacutetico Recuperado el 03 de 2019 de John The Ripper
httpwwwreydescomdq=Recuperar_la_Contrasena_del_Administrador_utilizando_s
amdump2_y_John_The_Ripper
Carretero Peacuterez J de Miguel Anasagasti P Garciacutea Carballeira F amp Peacuterez Costoya F (2001)
Sistemas Operativos Una visioacuten aplicada (C F Madrid Ed) Madrid Espantildea
McGRAW-HillInteramericana
Castelloacute Gimeno A (30 de 07 de 2014) Universitat Jaume Recuperado el 10 de 2019 de
Evaluacioacuten de prestaciones mediante laaplicacioacuten HPL de clusters utilizandorCUDA
97
httprepositoriujiesxmluibitstreamhandle10234115082TFM_2014_CastelloGimen
oApdfsequence=1ampisAllowed=y
Chaacutevez J Echeverriacutea C Correa M Vaacutezquez E Suaacuterez M Maacutermol X Diacuteaz G (07 de
1999) Centro de Caacutelculo Cientiacutefico Recuperado el 01 de 05 de 2018 de Universidad de
Los Andes httpwwwcecalculavedocumentaciontutorialesbeowulfinformehtml
Chirinov R (2003) Nfinite9000 SL Recuperado el 26 de 04 de 2018 de Noticias 3D
httpswwwnoticias3dcomarticuloaspidarticulo=248amppag=4
Coffin J (23 de 07 de 2015) Quora Recuperado el 15 de 08 de 2019 de
httpswwwquoracomWhat-does-it-mean-when-a-hashing-algorithm-has-been-broken
Dongarra J (2010) Top500 Super computer sites Recuperado el 07 de 2019 de http
wwwtop500org
Educba (01 de 01 de 2019) Recuperado el 10 de 2019 de Educbaorg
httpswwweducbacomidea-algorithm
europa press (04 de 06 de 2013) Portal Tic Recuperado el 18 de 11 de 2018 de Europa Press
httpswwweuropapressesportalticgadgetsnoticia-cuarta-generacion-intel-core-mayor-
salto-cuanto-ahorro-energetico-20130604174722html
g0tmi1k (2018) github Recuperado el 05 de 2019 de github
httpsgithubcomdanielmiesslerSecListsblobmasterPasswordsCommon-
Credentials10-million-password-list-top-1000000txt
Gonzaacutelez Agudelo D (2014) El riesgo y la falta de politicas de seguridad informaacutetica una
amenaza en las empresas certificadas basc Recuperado el 20 de 05 de 2018 de
Universidad Militar Nueva Granada
httpsrepositoryunimilitareducobitstream10654122511ENSAYO20FINALpdf
98
Gonzaacutelez Ramiacuterez E amp Rodriacuteguez Saacutenchez A (2008) Disentildeo e implementacioacuten de un cluster
tipo BEOWULF para el desarrollo de coacutemputo cientiacutefico avanzado CdMx Mexico
Hernandez M (2013) Forensics Mexico Recuperado el 07 de 2018 de La importancia del
registro de Windows parte 1 httpforensicsmexicoblogspotcom201309la-
importancia-del-registro-de-windowshtml
Kowalczyk C (01 de 2015) Crypto-IT Recuperado el 11 de 2018 de Crypto-IT
httpwwwcrypto-itnetengasymmetricindexhtml
Labaca Castro R (13 de 06 de 2014) We live security Recuperado el 2019 de 08 de 07 de
Welivesecuritybyeset httpswwwwelivesecuritycomla-es20140613matematica-
claves-numerica-alfanumerica
Lizaacuterraga C (2002) Departamento de Fiacutesica Recuperado el 12 de 03 de 2018 de Universidad
de Sonora httpclustersfisicausonmx
Llorens E amp Pentildea M (2002) Recuperado el 04 de 2018 de Departament dArquitectura de
Computadors httppersonalsacupceduenricPFCBeowulfbeowulfhtml
Meneacutendez-Barzanallana R (07 de 08 de 17) Universidad de Murcia Recuperado el 11 de 2018
de Informaacutetica Aplicada a las Ciencias Sociales
httpswwwumesdocenciabarzanaIACCSSCriptografiahtml
Merkle R amp Damgaringrd I (sf) Numerenturorg Recuperado el 06 de 2019 de Para computar -
numerenturorg httpnumerenturorgfuncion-merkle-damgard
Microsoft Inc (02 de 05 de 2019) wwwmicrosoftcom Obtenido de Password must meet
complexity requirements httpsdocsmicrosoftcomes-eswindowssecuritythreat-
protectionsecurity-policy-settingspassword-must-meet-complexity-requirements
99
Mifsud E (26 de 03 de 2012) Introduccioacuten a la seguridad informaacutetica Recuperado el 07 de 05
de 2018 de Ministerio de educacioacuten cultura y deportes Gobierno de Espantildea
httprecursosticeducacionesobservatoriowebessoftwaresoftware-general1040-
introduccion-a-la-seguridad-informaticashowall=1
Murugesan S (01 de 02 de 2008) Researchgate doi101109MITP200810
Nahar K amp Abu Abbas O (01 de 2010) Researchgate Recuperado el 07 de 2019 de
Researchgate
httpswwwresearchgatenetpublication315492522_Hybrid_Cipher_System
Nievas F Pino O amp Arroyo R (sf) Los clusters como Plataforma de Procesamiento Paralelo
Recuperado el 25 de 04 de 2018 de
httpusuarioslycoseslacaraocultadescargasClusters_definitivo pdf
Pawar S (2016) A computer science portal for geeks Recuperado el 10 de 2018 de
Geeksforgeeks httpswwwgeeksforgeeksorgrc5-encryption-algorithm
Peleus (2019) NETSEC Recuperado el 08 de 2019 de httpsnetsecwsp=314
Peacuterez Tavera I (2014) Obtenido de Universidad Autonoma del Estado de Hidalgo
httpswwwuaehedumxscigeboletinprepa4n2e4html
Peacuterez M (2001) Recuperado el 15 de 04 de 2018 de
httpwwwdragonesorgBibliotecaArticulosArquitecturaParalela2pdf
Petitet A Whaley R C Dongarra J amp Cleary A (2008) HPL - A Portable Implementation of
the High-Performance Linpack Benchmark for Distributed-Memory Computers
Recuperado el 07 de 2019 de httpwwwnetliborgbenchmarkhpl
Picolet J (2017) Hash Crack Password Cracking Manual (Vol 2) Createspace Independent
Pub
100
Preukschat A (23 de 02 de 2015) Oro y Finanzas Recuperado el 07 de 2019 de
httpswwworoyfinanzascom201502que-es-colision-criptografia-bitcoin
Robbins D (2008) OpenMosix Recuperado el 22 de 04 de 2018 de the openMosix Project
httpopenmosixsourceforgenetintroduction_to_openmosixhtml
Rocha Quezada J d Botello Rionda S Vargas Feacutelix J M amp Munguiacutea Torres I A (Sep-Dic
de 2011) Disentildeo e implementacioacuten de un cluacutester de coacutemputo de alto rendimiento Acta
Universitaria 21(3) 24-33 Recuperado el 1 de 12 de 2018
Rocksclusters (01 de 01 de 2010) httpwwwrocksclustersorg Recuperado el 01 de 06 de 2018
de httpwwwrocksclustersorg httpwwwrocksclustersorg
Sanjoy K (01 de 01 de 2015) DZone Recuperado el 15 de 06 de 2019 de DZone
httpsdzonecomarticlessecurity-algorithms-des-algorithm
Security Degree Hub (01 de 2017) Security Degree Hub Recuperado el 13 de 02 de 2019 de
Security Degree Hub httpswwwsecuritydegreehubcomwhat-is-cryptanalysis
Simmons G (01 de 01 de 2019) Encyclopedia Britannica Recuperado el 08 de 2019 de
Encyclopedia Britannica httpswwwbritannicacomtopicRSA-encryption
statista (09 de 2017) Statista Obtenido de Statista Co httpsesstatistacom
Turner D (2004) Recuperado el 12 de 02 de 2018 de Ames Lab
httpwwwsclameslabgovProjectsparrallel_computingpara_intohtml
United States Government Department of Defense (1983) Trusted Computer System Evaluation
Criteria Rainbow Series
Universidad Internacional de Valencia (09 de Septiembre de 2016) Nuestros
expertosTecnologiacutea Recuperado el 27 de Abril de 2018 de Universidad Internacional de
Valencia httpswwwuniversidadviuesla-seguridad-informatica-puede-ayudarme
101
Wallen J (19 de 01 de 2019) Lifewire Recuperado el 13 de 06 de 2019 de Lifewire
httpswwwlifewirecomgnome-3-desktop-4175640
Yang H (01 de 02 de 2019) Herong Yang Recuperado el 15 de 06 de 2019 de Cryptography
Tutorials httpwwwherongyangcomCryptographyDSA-Introduction-What-Is-DSA-
Digital-Signature-Algorithmhtml
102
Anexo 1
Programa en Lenguaje C para la obtencioacuten de nuacutemeros primos utilizando libreriacuteas mpi
include ltcstdlibgt
include ltiostreamgt
include ltiomanipgt
include ltcmathgt
include ltctimegt
include mpih
using namespace std
int main ( int argc char argv[] )
int prime_number ( int n int id int p )
void timestamp ( )
int main ( int argc char argv[] )
int i
int id
int master = 0
int n
int n_factor
int n_hi
int n_lo
int p
int primes
int primes_part
double wtime
n_lo = 1
n_hi = 10000000
n_factor = 2
MPIInit ( argc argv )
p = MPICOMM_WORLDGet_size ( )
id = MPICOMM_WORLDGet_rank ( )
if ( id == master )
cout ltlt n
cout ltlt Cuenta primosn
cout ltlt C++MPI versionn
cout ltlt n
cout ltlt Programa para contar cantidad de primos para un N dadon
cout ltlt Corriendo en ltlt p ltlt procesosn
cout ltlt n
103
cout ltlt N S Tiempon
cout ltlt n
n = n_lo
while ( n lt= n_hi )
if ( id == master )
wtime = MPIWtime ( )
MPICOMM_WORLDBcast ( ampn 1 MPIINT master )
primes_part = prime_number ( n id p )
MPICOMM_WORLDReduce ( ampprimes_part ampprimes 1 MPIINT
MPISUM
master )
if ( id == master )
wtime = MPIWtime ( ) - wtime
cout ltlt ltlt setw(8) ltlt n
ltlt ltlt setw(8) ltlt primes
ltlt ltlt setw(14) ltlt wtime ltlt n
n = n n_factor
MPIFinalize ( )
if ( id == master )
cout ltlt n
cout ltlt PRIME_MPI - Procesos maestron
cout ltlt Finalizacion del calculo normaln
return 0
int prime_number ( int n int id int p )
int i
int j
int prime
int total
104
total = 0
for ( i = 2 + id i lt= n i = i + p )
prime = 1
for ( j = 2 j lt i j++ )
if ( ( i j ) == 0 )
prime = 0
break
total = total + prime
return total
void timestamp ( )
define TIME_SIZE 40
static char time_buffer[TIME_SIZE]
const struct tm tm
size_t len
time_t now
now = time ( NULL )
tm = localtime ( ampnow )
len = strftime ( time_buffer TIME_SIZE d B Y IMS p tm )
cout ltlt time_buffer ltlt n
return
undef TIME_SIZE
viii
1911 Equipo de coacutemputo 14
Capiacutetulo 2 Estado del Arte 16
Marco Teoacuterico 27 21 Seguridad de la Informacioacuten 27
211 Objetivo de la seguridad de la informacioacuten 27
212 Principios de la seguridad informaacutetica 28
213 Caracteriacutesticas de seguridad informaacutetica 28
214 Formas de Autenticacioacuten 29
215 Ciber-seguridad 29
22 Criptografiacutea 30
221 Tipos de Criptografiacuteas 30
2211 Tablas Hash 30
2212 Tipos de algoritmos Hash 31
22121 SHA - 1 (Secure Hash Algorithm) 31
22122 MD5 (Message Digest Algorithm) 31
22123 RIPEMD ndash 160 32
22124 Funcioacuten Merkle-Damgaringrd 32
2213 Cifrado simeacutetrico 32
22131 RC5 (Cifrado de Rivest) 33
22132 IDEA (International Data Encryption Algorithm) 33
22133 DES (Data Encryption Standard) 34
2214 Cifrado asimeacutetrico 35
22141 DSA (Digital Signature Algorithm - Algoritmo de Firma digital) 36
22142 RSA 37
2215 Cifrado hiacutebrido 38
23 Criptoanaacutelisis 38
24 Niveles de seguridad 39
241 Nivel D1 40
242 Nivel C1 40
243 Nivel C2 41
244 Nivel B1 42
245 Nivel B2 43
246 Nivel B3 44
247 Nivel A1 45
25 Sistemas Operativos 46
251 Windows 47
252 Registro de Windows 48
253 Administrador de cuentas de seguridad 49
2531 Identificador de Seguridad (SID Security Identifier) 50
254 Autenticacioacuten NTML 51
26 LINUX (ROCKS) 52
261 Escritorio 53
262 Paquete de Oficina 53
263 Organizador de archivos 54
27 Agrupamiento (Cluacutester) de Computadoras 55
271 Beowulf 56
ix
272 Mosix 56
273 OpenMosix 57
Capiacutetulo 3 Implementacioacuten de Cluacutester 59 31 Requisitos previos 59
311 Conexioacuten de los equipos y acceso a la red 59
312 Configuracioacuten de la BIOS 60
3121 ATAIDE Mode 60
3122 PXE 62
32 Instalacioacuten de Sistema Operativo Rocks 63
321 Configuracioacuten del teclado 70
33 Instalacioacuten de los nodos 70
331 Administracioacuten de nodos 72
332 Creacioacuten de cuentas de usuario 73
333 Configuracioacuten del directorio compartido 73
34 Operaciones baacutesicas de Rocks 74
Capiacutetulo 4 Metodologiacutea y Resultados 77 41 Obtener Archivo hash 77
42 Dar Formato al Hash 80
43 Evaluar la fuerza del Hash 80
44 Calcular la capacidad del equipo 82
45 Establecer Estrategia 87
451 Fuerza Bruta 87
4511 Cantidad de combinaciones posibles 88
452 Diccionario 90
453 Analizar los resultados 91
454 Personalizar ataques 91
Conclusioacuten 92
Trabajo Futuro 94 Propuesta de Trabajo a Futuro 94
Bibliografiacutea 96
Anexo 1 102
x
Iacutendice de Figuras
Figura 31 Esquema tiacutepico de configuracioacuten de un cluacutester xi
Figura 32 Imagen del Bios del equipo en la opcioacuten ldquodrive configurationrdquo 61
Figura 33 Bios ATAIDE Legacy Mode 61
Figura 34 Bios Boot PXE 62
Figura 35 Bios Boot device prioriry 63
Figura 36 Pantalla de Inicio de instalacioacuten de Rocks 64
Figura 37 Pantalla de seleccioacuten de Rolls 65
Figura 38 Listado de opciones de rolls para instalar 65
Figura 39 Informacioacuten baacutesica del cluacutester a instalar 66
Figura 310 Configuracioacuten Ethernet de la red privada 67
Figura 311 Configuracioacuten Ethernet de la red puacuteblica 67
Figura 312 Configuracioacuten de DNS y Gateway 68
Figura 313 Ingresar contrasentildea de usuario root 68
Figura 314 Configuracioacuten horaria 69
Figura 315 Particiones del disco duro 69
Figura 316 Pantalla para ingresar nodos 71
Figura 317 Indicador de insercioacuten de nuevos nodos 71
Figura 318 Comando qstat ndashf 74
Figura 319 Enviacuteo de trabajos por medio del comando qsub 75
Figura 320 Estado de los trabajos pendientes mostrados por qstat ndashf 75
Figura 321 Visualizacioacuten de la distribucioacuten de cargas en el cluacutester usando la herramienta
Ganglia 76
Figura 41 Arranque con LiveUSB KaliLinux 79
Figura 42 Resultado de la ejecucioacuten de la herramienta samdump2 80
Figura 43 Sistema de Ecuaciones tipo 119860119909 = 119887 Fuente Propia 84 Figura 44 Distribucioacuten de cargas del cluacutester 86
Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester 89
xi
Iacutendice de Tablas
Tabla 11 Costo del Proyecto 15
Tabla 41 Rendimiento de HP cluacutester (Fuente Elaboracioacuten propia) 86
Tabla 42 Resultados de criptoanaacutelisis de archivo SAM (Fuente Elaboracioacuten propia) 89
Tabla 43 Resultados de ejecucioacuten de programa en C para la obtencioacuten de nuacutemeros primos
(Fuente Elaboracioacuten propia) 90
1
Capiacutetulo 1 Introduccioacuten
11 Antecedentes del problema
Sin lugar a duda una de las herramientas maacutes importantes producida en el siglo XX ha sido
la computadora la cual ha provocado cambios vertiginosos en la sociedad y en el progreso de la
misma En la actualidad el entorno estaacute praacutecticamente controlado por las nuevas tecnologiacuteas que
a medida que transcurre el tiempo avanzan sin liacutemites y en ocasiones son utilizadas
incorrectamente provocando dantildeos de grandes dimensiones
Los trascendentales cambios operados en el mundo moderno caracterizados por su
constante desarrollo la acelerada globalizacioacuten de la economiacutea la acentuada dependencia a
almacenar grandes voluacutemenes de informacioacuten y los sistemas que la proveen aunado a grandes
inversiones de las empresas en conocimiento actual y futuro en sistemas de informacioacuten ademaacutes
del potencial que poseen las tecnologiacuteas para cambiar draacutesticamente las organizaciones y las
praacutecticas de negocio asiacute como crear nuevas oportunidades disentildear nuevas estructuras tecnoloacutegicas
basadas en informacioacuten la convierte en un activo codiciable Tales avances hacen permanente el
riesgo en las tecnologiacuteas y nos llevan a pensar en la problemaacutetica sobre la seguridad informaacutetica
La proteccioacuten de datos documentos y control de acceso a la informacioacuten es un tema que
cada diacutea toma maacutes fuerza en las grandes compantildeiacuteas debido a las diferentes praacutecticas de
especialistas tecnoloacutegicos como los son los hackers y crackers que roban informacioacuten vital para
posteriormente sacar provecho de ella
2
ldquoDesde la aparicioacuten de los grandes sistemas aislados hasta nuestros diacuteas en los que el
trabajo en red es lo habitual los problemas derivados de la seguridad de la informacioacuten han ido
tambieacuten cambiando evolucionando pero estaacuten ahiacute y las soluciones han tenido que ir adaptaacutendose
a los nuevos requerimientos teacutecnicos Aumenta la sofisticacioacuten en el ataque y ello aumenta la
complejidad de la solucioacuten pero la esencia es la mismardquo (Mifsud 2012)
Dentro del mundo actual la informacioacuten es denominada un activo importante de una
institucioacuten la cual debe ser protegida para evitar su peacuterdida modificacioacuten o el uso inadecuado de
su contenido
El extraviacuteo o el mal uso de informacioacuten que para alguien es confidencial genera dantildeos y
repercusiones directas relacionadas a la integridad disponibilidad y confidencialidad de los
archivos y a su vez a los duentildeos de dicha informacioacuten
ldquoLa seguridad informaacutetica se distingue por tener dos propoacutesitos de seguridad la Seguridad
de la Informacioacuten y la Proteccioacuten de Datos estos se diferencian debido a que los datos son valores
numeacutericos que soportan la informacioacuten mientras que la informacioacuten es aquello que tiene un
significado para nosotrosrdquo (Gonzaacutelez Agudelo 2014)
La seguridad informaacutetica consiste en asegurar que los recursos del sistema de informacioacuten
(material informaacutetico o programas) de una organizacioacuten sean utilizados de la manera que se decidioacute
3
inicialmente y que el acceso a la informacioacuten alliacute contenida asiacute como su modificacioacuten soacutelo sea
posible a las personas que se encuentren acreditadas y dentro de los liacutemites de su autorizacioacuten
Actualmente hay mucha informacioacuten circulando en internet por ejemplo correos
electroacutenicos publicaciones en Twitter Facebook videos fotos comercio electroacutenico secretos de
estado militares o industriales Lamentablemente dicha red es puacuteblica e insegura dentro de la cual
existen usuarios bien intencionados y muchos mal intencionados Diariamente encontramos
noticias de sitios con intrusiones mal intencionadas (hackeados) clonacioacuten de tarjeta de creacutedito o
imaacutegenes adulteradas Todo lo anterior motiva la necesidad de proteger la informacioacuten a traveacutes de
mecanismos que impidan a los usuarios no autorizados acceder a dicha informacioacuten
4
12 Planteamiento del Problema
Los sistemas de informacioacuten actuales estaacuten relacionados completamente con la exposicioacuten
de su informacioacuten a entidades externas que son ajenas a la organizacioacuten o delegacioacuten a la que
pertenecen
Cuando no se conoce el alcance que tienen los sistemas informaacuteticos ni lo vulnerables que
pueden ser si son expuestos a Internet por los mismos empleados de la organizacioacuten puede darse
ldquofugardquo de informacioacuten hacia el exterior esto los hace vulnerables a eventos y amenazas que
conllevan a riesgos que pueden provocar peacuterdidas tangibles e intangibles las cuales se traducen
en peacuterdidas que en muchos de los casos por decir lo menos seraacuten monetarias
El portal espantildeol de estadiacutesticas statista muestra la cuota de mercado de los principales
sistemas operativos a nivel mundial a fecha de febrero de 2017 seguacuten el nuacutemero de instalaciones
(statista 2017) Windows 10 fue el segundo sistema operativo maacutes instalado con una cuota de
mercado de 253 Esto significa que alrededor de una de cada cuatro computadoras estaacute
gobernado por este sistema operativo Por su parte en el caso de Windows 7 el porcentaje se situacutea
por encima del 45 a pesar de que ya no se vende ninguacuten PC con este sistema operativo Hablando
de manera conjunta los sistemas operativos Windows cuentan con una cuota del mercado global
de 8857
La empresa de seguridad informaacutetica Britaacutenica Avecto informoacute en su Microsoft
Vulnerabilities Report 2017 (Avecto 2017) (reporte 2017 de vulnerabilidades de Windows) un
aumento de vulnerabilidades publicadas del 111 en los uacuteltimos 5 antildeos de las cuales 235 criacuteticas
5
fueron mitigadas removiendo permisos de administrador asiacute como otras muy importantes
enfocadas al Administrador de Cuentas de Seguridad (SAM Security Account Manager por sus
siglas en ingleacutes) la cual es una base de datos almacenada como un archivo del registro en Windows
y que almacena las contrasentildeas de los usuarios en un formato hash (Algoritmos que crean a partir
de una entrada una salida alfanumeacuterica de longitud fija)
6
13 Objetivos
131 Objetivo General A traveacutes de la implementacioacuten de un procedimiento de fuerza
bruta utilizando para ello un cluacutester de alto rendimiento asiacute como software de uso libre lograr
capacidad de procesamiento capaz de vulnerar un sistema de autenticacioacuten nivel C1
132 Objetivos Especiacuteficos
Analizar los diferentes niveles de seguridad de sistemas operativos
Analizar diferentes meacutetodos de criptoanaacutelisis para vulnerar el Administrador de
cuentas de seguridad
Estudiar las teacutecnicas de agrupamiento de computadoras (clustering) para la
obtencioacuten de mayor poder de procesamiento
Implementar un cluacutester de alto rendimiento en el Laboratorio de la Maestriacutea en
Sistemas Computacionales del Instituto Tecnoloacutegico de Acapulco para ejecutar
operaciones de coacutemputo distribuido
7
14 Justificacioacuten
Antes la seguridad de la informacioacuten se realizaba a traveacutes de medios fiacutesicos por ejemplo
una caja fuerte en la cual las personas resguardaban objetos o informacioacuten valiosa para ellos Con
la introduccioacuten de las computadoras y el uso de internet los usuarios comienzan a almacenar
informacioacuten importante dentro de sus equipos por lo que se considera indispensable el uso de
herramientas que brinden proteccioacuten a la informacioacuten que se encuentra resguardada dentro de
eacutestas Los usuarios informaacuteticos suelen enviar informacioacuten por la red en las empresas al realizar
traacutemites o enviar informes a socios jefes entre otros
El resguardo de informacioacuten siempre ha sido importante para los seres humanos con la
diferencia que anteriormente no se contaba con los avances tecnoloacutegicos que tenemos actualmente
puesto que con la introduccioacuten de internet y el uso de dispositivos electroacutenicos se tiene mayor
riesgo de la informacioacuten que en ellos se maneja
La proteccioacuten del contenido de los datos es una necesidad urgente en casi todos los aacutembitos
de la sociedad incluyendo los servicios puacuteblicos y privados por lo que la tecnologiacutea de la
seguridad de los sistemas de cifrado se encuentra de frente a verdaderos retos
15 Hipoacutetesis
A traveacutes de un de fuerza bruta como teacutecnica de criptoanaacutelisis y con la ayuda de una mayor
capacidad de procesamiento mediante la implementacioacuten de agrupamiento de computadoras
(cluacutester) de alto rendimiento seraacute posible encontrar alguna vulnerabilidad dentro del sistema de
administracioacuten de cuentas de seguridad de Windows server 2012
8
16 Alcances y Limitaciones
Esta tesis se centraraacute en el sistema operativo Windows como objeto de estudio al cual se
le realizaraacute el criptoanaacutelisis
La tesis se enfocaraacute en el meacutetodo Beowulf para realizar el agrupamiento de computadoras
asiacute como la distribucioacuten de software libre del sistema operativo Linux Rocks
El nuacutemero de equipos disponibles para poder realizar el agrupamiento es de 17
computadoras hasta lograr el poder de coacutemputo de 800 Gflops
17 Impacto Social Tecnoloacutegico Econoacutemico y Ambiental
La sostenibilidad del presente proyecto seraacute abordada a partir de los siguientes aspectos
171 Impacto social A veces se puede pensar que un cluacutester de alto rendimiento pudiera
no tener alguacuten impacto directo en el medio social pero si nos enfocamos a un punto de vista en
donde gracias a la capacidad de procesamiento de estas maacutequinas han sido parte fundamental en
el desarrollo de proyectos que inciden de manera directa en beneficio de la sociedad en la que
vivimos como lo es la medicina la fiacutesica quiacutemica
Este proyecto busca beneficiar a nuestra sociedad proveyendo su capacidad de
procesamiento en la buacutesqueda de alguna vulnerabilidad en el sistema operativo maacutes utilizado hoy
en diacutea como lo es Windows ademaacutes de que estaraacute disponible para la comunidad cientiacutefica y
9
estudiantil del Instituto Tecnoloacutegico de Acapulco para optimizar tiempo de caacutelculo en futuras
investigaciones
172 Impacto ambiental Green IT tambieacuten conocido como Green Computing o
traducido al espantildeol como Tecnologiacuteas Informaacuteticas Verdes es definido como el estudio y la
praacutectica de disentildear desarrollar usar y disponer de computadoras servidores y diferentes
perifeacutericos tales como monitores impresoras dispositivos de almacenamiento de redes y
comunicaciones eficientemente y efectivamente con un impacto miacutenimo o nulo en el medio
ambiente (Murugesan 2008)
Bajo la premisa anterior este proyecto hace uso de los equipos con los que cuenta
actualmente el laboratorio de la Maestriacutea en Sistemas Computacionales lo cual evitaraacute la
adquisicioacuten de equipo nuevo y por consecuencia desechar el equipo existente evitando desperdicio
electroacutenico Dicho equipo cuenta con un procesador Intel I3 de 4ta generacioacuten lo cual seguacuten el
portal electroacutenico Europa press
ldquoEsta nueva generacioacuten supone el mayor salto en cuanto ahorro energeacutetico de la historia
de Intel asiacute como una mejora en los graacuteficos y nuevas experiencias de usuariordquo (europa press
2013)
Teniendo como base estos dos puntos importantes como lo son la reutilizacioacuten de equipo
y utilizando procesadores de bajo consumo energeacutetico es como este proyecto busca contribuir de
manera positiva con el medio ambiente
10
173 Impacto econoacutemico Actualmente existe una gran necesidad de procesar grandes
cantidades de datos lo cual hace imprescindible disponer de maacutequinas con estas caracteriacutesticas sin
embargo su alta complejidad aunado al gran costo hace que en instituciones de caraacutecter puacuteblico
sea muy complicado conseguir recurso para este fin Sin embargo un cluacutester de alto rendimiento
reutilizaraacute equipo propio evitando asiacute gastos por concepto de adquisicioacuten de equipo siendo de
esta manera viable para instituciones de caraacutecter puacuteblico
18 Metodologiacutea a Utilizar
181 Anaacutelisis Despueacutes de analizar las diferentes metodologiacuteas de clustering se optoacute por
desarrollar e implementar un cluacutester de alto rendimiento (HPC)
182 Disentildeo
1821 Economiacutea Debido a las caracteriacutesticas del equipo con el cual cuenta el Laboratorios
de la Maestriacutea en Sistemas Computacionales los componentes utilizados para este proyecto son
considerados de uso comuacuten y de bajo costo lo cual los hace faacutecilmente reemplazables en caso de
fallo a un costo accesible El equipo es de la marca Acer Aspire modelos AXC-605-M021 lo cual
nos hace tener ventaja y respaldo del fabricante con respecto a hardware geneacuterico
1822 Instalaciones Un cluacutester requiere de un ambiente controlado Esto es una
habitacioacuten especial con sistema de enfriamiento capacidad suficiente de carga eleacutectrica control
de humedad y un ambiente libre de polvo Ademaacutes se deben considerar el peso del equipo sobre
el piso (ya sea falso o piso normal) Se recomienda colocarlo en los soacutetanos o en la plata baja de
edificios (Rocha Quezada Botello Rionda Vargas Feacutelix amp Munguiacutea Torres 2011)
11
En el laboratorio de la Maestriacutea en Sistemas Computacionales se cuenta con espacio que
reuniacutea la mayoriacutea de las caracteriacutesticas requeridas para este proyecto
1823 Escalabilidad Un cluacutester debe ser faacutecilmente escalable y a su vez confiable Por
tal motivo se ha utilizado equipo de marca lo cual nos proporciona maacutes de confiabilidad en su
desempentildeo y a su vez facilidad de aumentar el nuacutemero de equipos si en un futuro fuese necesario
agrandar este proyecto Se armoacute un cluacutester de cinco computadoras con procesadores Intel Core I3
de 64 bits en cada nodo La memoria incluida y perifeacutericos son faacuteciles de adquirir en el mercado
1824 Red En la parte de redes se utilizoacute un switch fast Ethernet con una velocidad de 1
Gbps el cual tiene tazas de transferencia raacutepida y el costo es notablemente maacutes econoacutemico que
uno de fibra oacuteptica
El cableado seleccionado fue el estaacutendar UTP de cobre con la norma Gigabit Ethernet de
IEEE 8023ab con la categoriacutea de cableado 6e que soporta tazas de transferencia de datos de
1000Base T (1 Gbps)
1825 Software
ldquoEl sistema operativo debe constar con servicios dedicados para compartir y respaldar
archivos asiacute como capacidad de acceder a los datos de trabajo raacutepidamente El sistema operativo
debe tambieacuten proveer servicios de monitoreo y reporte de fallas en el sistemardquo (Rocha Quezada
Botello Rionda Vargas Feacutelix amp Munguiacutea Torres 2011)
12
Existe una gran variedad de software para instalar cluacutester de alto rendimiento sin embargo
como se ha comentado con anterioridad el costo de adquisicioacuten debe ser accesible por tal motivo
se optoacute por una distribucioacuten con licencia GNU de Linux Rocks Cluster la cual es una distribucioacuten
sencilla de instalar y configurar en comparacioacuten con otras distribuciones analizadas dicha
distribucioacuten estaacute basada en CentOS que a su vez estaacute basada en la conocida distribucioacuten de Linux
Red Hat
1826 Almacenamiento Para este proyecto no se requeriraacute un gran espacio de
almacenamiento por tal motivo los equipos utilizados tanto maestro como esclavos mantuvieron
sus unidades de disco originales las cuales son de 1 TB de almacenamiento
183 Implementacioacuten La implementacioacuten del cluacutester de alto rendimiento fue realizada
dentro de las instalaciones del Laboratorio de la Maestriacutea en Sistemas Computacionales del
Instituto Tecnoloacutegico de Acapulco construido inicialmente para este proyecto de criptoanaacutelisis lo
cual requeriraacute suficiente capacidad de procesamiento para poder implementar ataques de fuerza
bruta a sistemas operativos Las caracteriacutesticas del cluacutester construido son
1831 Software El software instalado en cada uno de los nodos es el siguiente
bull Sistema operativo Rocks Cluacutester Linux 74 (64 bits)
bull Libreriacutea de manejo de mensajes Open-MPI 153
bull Software de monitoreo Ganglia
13
1832 Hardware El cluacutester estaacute compuesto de 17 equipos con las siguientes
caracteriacutesticas
bull Nodo Maestro y 16 Nodos Esclavos
- Procesador Intel Core I3 4150 (4 nuacutecleos) Memoria 6 GB Disco Duro SATA 1 TB
tarjeta de Red Gigabit Ethernet
El hardware adicional es el siguiente
bull Interconexioacuten de Red
bull Switch Cisco 26 puertos 1Gbps modelo SG200 Red interna
1833 Recursos totales del cluacutester
bull Nuacutecleos de unidades de procesamiento (cores) 68
bull Capacidad en memoria 92 GB
bull Capacidad en disco 17 TB
19 Aseguramiento Teacutecnico ndash Material
A continuacioacuten se muestra el desglose del equipo utilizado para la elaboracioacuten de un
cluacutester de alto rendimiento estos componentes consisten en Hardware y Software especializado
asiacute como los costos de produccioacuten y personal involucrados en la metodologiacutea y elaboracioacuten del
proyecto
Costos de Hardware
Costos de Software
14
191 Hardware En este punto se refleja el costo de los dispositivos y herramientas a nivel
fiacutesico las cuales sirvieron para la implementacioacuten del proyecto cluacutester de alto rendimiento Cabe
resaltar que el equipo utilizado forma parte del inventario actual del Laboratorio motivo por el
cual su utilizacioacuten no causoacute erogacioacuten alguna sin embargo la investigacioacuten de costos se realizoacute
con la finalidad que el lector pueda establecer comparativas y buscar alternativas en caso de ajuste
de presupuesto
1911 Equipo de coacutemputo El equipo de coacutemputo utilizado consta de diecisiete
computadoras las cuales serviraacuten una para Nodo Maestro y las dieciseacuteis restantes como Nodos
Esclavos
La descripcioacuten de estos equipos se muestra en la tabla a continuacioacuten mostrando los costos
de todos los equipos utilizados dentro del proyecto
15
Tabla 11 Costo del Proyecto
Modelo
Cantidad
Caracteriacutesticas
Costos
PC - Acer AXC-
605
17
Procesador Intel Core i3
Pantalla 156rdquo
Disco duro 1TB HDD
RAM 6GB
Salida HDMI
Tarjeta de graacuteficos INTEGRADA
Lector de CD
Los costos en el mercado de una PC de
escritorio con estas caracteriacutesticas tiene un
valor aproximado de $600000 pesos
(Moneda nacional Mexicana)
Switch Cisco
Gigabit Ethernet
1
Modelo SG200 de 26 puertos
Costo en el mercado alrededor de
$2000000 pesos MN
Total
12200000 pesos MN
16
Capiacutetulo 2 Estado del Arte
Tiacutetulo del Trabajo Introduccioacuten a la Criptografiacutea
Autor Gibraacuten Granados Paredes
Fecha Julio 2010
Lugar Ciudad de Meacutexico
Publicado en Coordinacioacuten de Publicaciones Digitales DGSCA-UNAM
httpwwwrevistaunammxvol7num7art55int55htm
Siacutentesis Cuando se desea tener seguridad hablando en aacutembitos informaacuteticos la
criptografiacutea es una herramienta muy uacutetil el autor lo entiende tambieacuten como un medio para
garantizar las propiedades de confidencialidad integridad y disponibilidad de los recursos de un
sistema
Con la criptografiacutea se puede garantizar las propiedades de integridad y confidencialidad
pero hay que saber coacutemo utilizarla para ello es importante tener claros los conceptos baacutesicos que
estaacuten detraacutes de los sistemas criptograacuteficos modernos Estos conceptos van desde entender queacute es
la criptografiacutea coacutemo estaacute clasificada entender el funcionamiento baacutesico de algunos sistemas de
cifrado y conocer coacutemo se forman los documentos digitales como firmas y sobres digitales
Resultados El autor realiza un viaje por un gran nuacutemero de conceptos utilizados en
criptografiacutea el inicio y la clasificacioacuten de la misma asiacute como la criptografiacutea claacutesica y moderna y
analiza de manera breve algunos meacutetodos de cifrado maacutes comunes
17
Tiacutetulo del Trabajo Criptoanaacutelisis sobre meacutetodos claacutesicos de cifrado
Autores Sebastiaacuten Goacutemez Juan David Arias Diego Agudelo
Fecha 2 de mayo 2013
Lugar Ciudad de Meacutexico
Publicado en Scientia et Technica Antildeo XVII No 50 abril de 2012
Siacutentesis Los algoritmos criptograacuteficos utilizados desde la antigua Roma hasta nuestros
diacuteas son meacutetodos que convierten un mensaje de texto plano a cifrado al proceso inverso se le
conoce como descifrar Este artiacuteculo realiza un estudio de algunas teacutecnicas de encriptacioacuten claacutesicas
del siglo pasado como lo son el cifrado de Cesar y el cifrado de Vigeneacutere asiacute como muestra
teacutecnicas baacutesicas y modernas de criptoanaacutelisis basadas en la teoriacutea de la informacioacuten y estadiacutestica
como lo son la entropiacutea y el ataque de maacutexima correlacioacuten Las teacutecnicas de criptoanaacutelisis descritas
anteriormente pueden ser usadas en otros meacutetodos de cifrado siempre y cuando esteacuten presentes las
mismas debilidades
Resultados Los autores implementaron en lenguajes de programacioacuten Python un
algoritmo para el caacutelculo de entropiacutea para diferentes longitudes de clave Para la implementacioacuten
de los algoritmos de cifrado y descifrado de Vigeneacutere y de maacutexima correlacioacuten utilizaron lenguaje
de programacioacuten C++ Se probaron los meacutetodos anteriormente descritos sobre textos planos de
diferentes longitudes logrando un resultado de 9385 de efectividad en promedio
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de dos de los
algoritmos de encriptacioacuten maacutes antiguos y baacutesicos pero sobre todo que conociendo los meacutetodos
de criptoanaacutelisis me permitiraacuten analizar debilidades y fortalezas de algoritmos
18
Tiacutetulo del Trabajo ULTRACOM Computacioacuten de Alto Rendimiento para Criptoanaacutelisis
Autor Antonio Castro Lechtaler Alejandro Repetto Martiacuten Bianchi Marcelo Cipriano
Alejandro Arroyo Arzubi Ceacutesar Cicerchia Eduardo Malvacio
Fecha octubre 2014
Lugar Buenos Aires Argentina
Publicado en XX Congreso Argentino de Ciencias de la Computacioacuten (Buenos Aires
2014)
Siacutentesis La generacioacuten de nuacutemeros primos fundamentales para la produccioacuten de claves
el anaacutelisis de secuencias pseudo-aleatorias los procesos de verificacioacuten y validacioacuten de algoritmos
de seguridad en un sentido geneacuterico requieren enormes cantidades de procesamiento Los
procesos relacionados con la matemaacutetica criptograacutefica se caracterizan por la alta necesidad de
coacutemputo El objetivo de ULTRACOM es desarrollar una computacioacuten distribuida multipropoacutesito
que permita como primera aplicacioacuten real el anaacutelisis la validacioacuten y la ejecucioacuten de pruebas de
estreacutes sobre sistemas criptograacuteficos El presente trabajo de investigacioacuten detalla el proceso de
desarrollo de ULTRACOM y muestra un ejemplo de su implementacioacuten en una versioacuten Beta Para
ello toman como entrada dos versiones del algoritmo Trivium Utilizando la misma
infraestructura y sin desarrollo extra se prueban grandes voluacutemenes de claves y vectores de
inicializacioacuten de los algoritmos en busca de secuencias deacutebiles de menor longitud que la de la
buscada
Resultados El equipo implementoacute una versioacuten beta de la plataforma ULTRACOM
comprobando la factibilidad y viabilidad teacutecnica de la generalizacioacuten de la infraestructura de
computacioacuten distribuida en grilla (malla) BOINC Este avance permite extender los horizontes de
BOINC y habilita la posibilidad de obtener la capacidad de coacutemputo de alto rendimiento a bajo
19
costo Concluyeron que ULTRACOM es un proyecto viable escalable y de alto impacto para la
evaluacioacuten y validacioacuten de algoritmos criptograacuteficos
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento y la
implementacioacuten de una arquitectura de computacioacuten distribuida y una vez siendo factible su
desarrollo utilizar su poder de coacutemputo atacando a traveacutes de un algoritmo un sistema criptograacutefico
20
Tiacutetulo del Trabajo Criptografiacutea Cuaacutentica
Autor M Baig
Fecha 2010
Lugar Barcelona Espantildea
Siacutentesis En este artiacuteculo el autor realiza una breve introduccioacuten a la criptografiacutea claacutesica y
la relacioacuten que existe con la teoriacutea de la informacioacuten de Shannon la cual asegura que el cifrado
digital simeacutetrico es secreto y perfecto siempre y cuando se cumplan los tres requisitos
1 La llave ha de ser aleatoria
2 La llave debe usarse soacutelo una vez
3 La llave ha de ser tan larga como el mensaje y de un solo uso debe de estar en posesioacuten
tanto del emisor como del receptor
El punto 3 es el maacutes complicado de cumplir debido a la forma de compartir la llave entre
el emisor y receptor
Maacutes adelante en el artiacuteculo se hace un anaacutelisis sobre otra teacutecnica de criptografiacutea que es el
cifrado digital asimeacutetrico en la que se estudia coacutemo funcionan las llaves privadas y puacuteblicas asiacute
como el meacutetodo de criptograacutefico RSA
Resultados
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento maacutes profundo de
los meacutetodos de criptografiacutea simeacutetricos y asimeacutetricos especiacuteficamente el algoritmo asimeacutetrico
RSA
21
Tiacutetulo del Trabajo La Criptografiacutea Maderista en la Revolucioacuten Mexicana (1910-1911)
Criptoanaacutelisis de una carta cifrada por Gabriel Leyva Solano
Autor Roberto Narvaacuteez
Fecha 2011
Lugar Meacutexico DF
Siacutentesis Este trabajo aborda temas relacionados con las comunicaciones secretas del
movimiento revolucionario comandado por Francisco I Madero a partir de 1910 Se compone de
dos partes la primera es una breve resentildea criacutetica de ejemplos criptograacuteficos del maderismo que
fueron generados entre 1910 y 1911 la segunda describe paso a paso el criptoanaacutelisis que aplicoacute
el autor Roberto Narvaacuteez para desencriptar una carta parcialmente cifrada de Gabriel Leyva Solano
a Francisco I Madero
Resultados El propoacutesito general uacuteltimo es contribuir al conocimiento de la criptografiacutea
mexicana en el siglo XX En lo particular se trata de poner a disposicioacuten de los estudiosos el
contenido completo de la carta de Leyva Solano por primera vez despueacutes de 100 antildeos y al mismo
tiempo someter a la criacutetica teacutecnica e histoacuterica el procedimiento criptoanaliacutetico puesto en operacioacuten
para recuperar el texto plano
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de la teacutecnicas y
estudios realizados en nuestro paiacutes sobre formas y meacutetodos de encriptacioacuten durante la Revolucioacuten
Mexicana incluso mucho antes de la 2ordf Guerra mundial momento donde se registroacute un auge
importante dentro de la criptografiacutea moderna
22
Tiacutetulo de Tesis Anaacutelisis de la programacioacuten concurrente sobre la cpu y gpu en el
desarrollo de fractal build
Autor Joseacute Vicente Anilema Guadalupe
Fecha 2012
Lugar Riobamba Ecuador
Siacutentesis Este trabajo aborda temas relacionados con la geometriacutea euclidiana debido a que
el autor realiza una aplicacioacuten que crea paisajes fractales lo que significa crear un paisaje con una
misma figura geomeacutetrica Lo anterior se traduce en una necesidad de gran poder de coacutemputo para
realizar de una manera eficaz la tarea Dentro de la tesis el autor realiza diversos estudios
comparativos entre el procesamiento serializado realizado por una CPU (unidad central de
procesamiento) y procesamiento paralelizado realizado por una GPU (Unidad grafica de
procesamiento) a traveacutes de diversas herramientas para obtener el mejor aprovechamiento de los
recursos
Resultados El autor concluye que es necesario examinar los algoritmos a utilizar para que
estos puedan ser utilizados en coacutemputo paralelo Ademaacutes de que es necesario aprender ciertas
herramientas a utilizar para aprovechar al maacuteximo el coacutemputo distribuido y no desperdiciar el
poder de procesamiento muy superior que las GPUrsquos nos pueden brindar
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de la teacutecnicas y
estudios realizados para medir y comparar la velocidad de procesamiento de la unidad central de
procesamiento (CPU) y la unidad graacutefica de procesamiento (GPU) Asiacute como la medida en Flops
(Operaciones de punto flotante por segundo)
23
Tiacutetulo del Trabajo Arquitectura cluacutester de alto rendimiento utilizando herramientas de
software libre
Autores Leonardo Chiquiguanca Edyson Malla Freddy Ajila Rene Guamaacuten-Quincheacute
Fecha mayo 2015
Lugar Loja Ecuador
Siacutentesis Este trabajo aborda temas relacionados con la gran cantidad de datos que tienen
que procesar las universidades puacuteblicas dentro de sus investigaciones realizadas en diferentes aacutereas
como la ingenieriacutea medicina etc y la carencia de recursos econoacutemicos para obtener
supercomputadoras que procesen dicha informacioacuten Los autores proponen dentro de su
investigacioacuten la utilizacioacuten de equipo de coacutemputo existente dentro de su universidad y por medio
de software libre realizar agrupamiento de computadoras para poder lograr el procesamiento de
grandes voluacutemenes de datos de una manera accesible
Resultados Los autores concluyen que la mejor arquitectura para el agrupamiento
(cluacutester) de computadoras en ambientes universitarios es la arquitectura Beowulf debido a que la
implementaron en hardware convencional existente dentro de su campus universitario y que
ademaacutes usaron software libre mencionando que el poder de coacutemputo logrado fue muy cercano al
de una supercomputadora
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de las teacutecnicas
utilizadas en ambientes universitarios para la realizacioacuten de agrupamiento de computadoras y
sobre todo la optimizacioacuten de costos para realizar dicha tarea y tener como finalidad el lograr
mayor capacidad de procesamiento
24
Tiacutetulo de Tesis Desarrollo de un algoritmo de cifrado simeacutetrico de resumen
Autores Jonathan Dave Orjuela Navarrete
Antildeo 2008
Lugar Bogotaacute DC
Siacutentesis Esta tesis realiza un estudio de varios meacutetodos de criptografiacutea simeacutetrica para
posteriormente utilizando diferentes foacutermulas matemaacuteticas crear un algoritmo criptograacutefico
nuevo Dentro de la tesis utiliza dos meacutetodos para realizar pruebas a su algoritmo criptoanaacutelisis
diferencial y criptoanaacutelisis basado en fallos de hardware Dentro de los cuales hace un estudio
detallado de las teacutecnicas y herramientas de criptoanaacutelisis realizado a su algoritmo
Resultados El autor concluye de manera positiva con la realizacioacuten del algoritmo y de
manera satisfactoria con la realizacioacuten de criptoanaacutelisis a su algoritmo pudiendo demostrar la
fortaleza del algoritmo a traveacutes de ejemplo de cifrado con textos claro muy parecido y su
conversioacuten a cadenas completamente diferentes
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de criptoanaacutelisis diferencial y criptoanaacutelisis basado en fallos de hardware para la
evaluacioacuten de algoritmos de cifrado simeacutetrico de textos claros
25
Tiacutetulo del Trabajo Firt step in a Pc cluster development with openMosix
Autores Javier Bilbao Gorka Garate
Antildeo 2008
Lugar Bilbao Spain
Siacutentesis En este trabajo se afirma que es posible hacer maacutequinas de alta capacidad de
caacutelculo mediante la interconexioacuten de equipos con redes de alta velocidad A este tipo de sistemas
se les llama sistemas distribuidos y hoy en diacutea es la tecnologiacutea maacutes utilizada para resolver
problemas que requieren una gran capacidad de caacutelculo La agrupacioacuten de computadoras permite
que varias computadoras trabajen juntas para resolver los problemas de informaacutetica comuacuten Este
artiacuteculo centra su estudio en uno de los diferentes meacutetodos de agrupamiento de computadoras
openMosix El trabajo tambieacuten evaluacutea el cluacutester por dos casos de estudio donde se mejora el
tiempo de ejecucioacuten de los problemas resueltos
Resultados El autor del artiacuteculo concluye con la realizacioacuten satisfactoria de agrupamiento
de computadoras bajo el meacutetodo openMosix el cual uacutenicamente permite agrupamiento de la forma
SSI (Single System Image) que se refiere a que uacutenicamente se puede realizar el agrupamiento con
todos los nodos ejecutando un mismo sistema operativo
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de agrupamiento de computadoras openMosix ventajas desventajas y dificultades para
su implementacioacuten
26
Tiacutetulo del Trabajo Disentildeo e implementacioacuten de un cluacutester tipo Beowulf para el desarrollo
de coacutemputo cientiacutefico avanzado
Autores Edgar Rubeacuten Gonzaacutelez Ramiacuterez Abimael Rodriacuteguez Saacutenchez
Antildeo 2008
Lugar Instituto Politeacutecnico Nacional Meacutexico DF
Siacutentesis Este trabajo de tesis ha desarrollado e implementado una herramienta
computacional llamada Cluster Beowulf para mejorar la programacioacuten paralela Comenzando
con la memoria compartida y distribuida el autor implemento el agrupamiento tipo Beowulf
pensando en procesamiento paralelo la optimizacioacuten de las fuentes informaacuteticas El disentildeo se
construye mediante una distribucioacuten Linux Fedora Core 6 a 64 bits utilizando todas las ventajas
que ofrece el estaacutendar Gigabyt Ethernet La programacioacuten paralela fue desarrollada en lenguaje C
tanto para MPI como para OPENMP
Resultados El autor del artiacuteculo concluye que de acuerdo con los resultados el tiempo
de procesamiento se redujo con el uso muacuteltiples nuacutecleos mejoroacute hasta ocho veces gracias al
multihilo
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de agrupamiento de computadoras Beowulf y su implementacioacuten en sistemas operativos
de uso libre Linux distribucioacuten Fedora 6
27
Marco Teoacuterico
21 Seguridad de la Informacioacuten
La Seguridad de la Informacioacuten consiste y hace referencia a la proteccioacuten de cualquier
amenaza para salvaguardar los activos fijos y en especial toda informacioacuten de la cual estaacute basada
la continuidad de las operaciones de la empresa sean estas ocasionadas dentro o fuera de la misma
con esto se logra disminuir los dantildeos y perjuicios que estas amenazas causariacutean a la organizacioacuten
y a la vez aumentar las oportunidades de servicio hacia otras empresas
La Seguridad de la informacioacuten se consigue mediante la implementacioacuten de controles
efectivos que pueden ser normas manual de funciones buenas praacutecticas procedimientos
estructuras organizativas funciones de software y hardware planes de contingencia y herramientas
que se encargan de proteger la privacidad e integridad de la informacioacuten que se almacena en un
sistema informaacutetico Estos controles necesitan continuamente ser establecidos monitoreados
revisados y mejorados en donde sea necesario para asegurar que se cumplan los objetivos
especiacuteficos de seguridad en cada aacuterea de negocio de la organizacioacuten
La seguridad informaacutetica es en realidad una rama de la seguridad de la informacioacuten aunque
de forma praacutectica algunos autores suelen utilizar de manera indistinta ambos teacuterminos
211 Objetivo de la seguridad de la informacioacuten En la seguridad de la informacioacuten
sabiendo que dichos procesos de seguridad permiten proteger el recurso maacutes importante y valioso
de una organizacioacuten partiendo como principio fundamental los procesos de aseguramiento el
28
objetivo del proceso de seguridad informaacutetica es obtener un nivel aceptable de seguridad ya que
la informacioacuten es lo maacutes valioso que tiene una institucioacuten o empresa por lo tanto esta debe ser
protegida para que no sea vulnerable y utilizada para fines maliciosos
212 Principios de la seguridad informaacutetica
Confidencialidad Los datos solo deben ser conocidos y accedidos por quienes esteacuten
autorizados durante su almacenamiento procesamiento o trasmisioacuten Verificar y certificar que solo
los usuarios con accesos autorizados puedan acceder a la informacioacuten
Integridad Los datos solo pueden ser modificados y eliminados por quienes esteacuten
autorizados para ello es decir los sistemas y aplicaciones solo deben ser operados por personal
autorizado
Disponibilidad Los sistemas que almacenan datos e informacioacuten deben garantizar su
acceso cuando asiacute se requiera por quienes tengan derecho a ello
213 Caracteriacutesticas de seguridad informaacutetica
Control Solo los usuarios autorizados deciden cuaacutendo y coacutemo permitir el acceso a la
informacioacuten
Auditoriacutea Establece las acciones cuaacutendo las implementa y quieacuten las realiza sobre el
sistema
Autenticidad Define que la informacioacuten necesaria es correcta utilizable y vaacutelida en tiempo
y forma
No Repudio Su funcioacuten es evitar que alguna entidad que envioacute o recibioacute informacioacuten
alegue que no lo hizo
29
214 Formas de Autenticacioacuten
Contrasentildea Una contrasentildea es un tipo de seguridad informaacutetica ya que es una serie de
caracteres secretos que permiten a un usuario tener acceso a un archivo equipo de coacutemputo o
programa y negar el acceso a usuarios no autorizados
Certificado digital Es un tipo de seguridad informaacutetica que permite la firma digital
electroacutenica que garantiza teacutecnica y legalmente la identidad de una persona en Internet
Autenticacioacuten HTTP Tipo de seguridad informaacutetica que delega la autenticacioacuten de
usuarios a un servidor a traveacutes de Kerberos
215 Ciber-seguridad Con los avances tecnoloacutegicos y la demanda que ha causado en ello
existe un elevado iacutendice de informacioacuten personal y empresarial que circula y se mantiene en la red
por la utilizacioacuten del internet esto permite que toda informacioacuten quede expuesta a cualquier ataque
de ciber-delincuentes los cuales buscan la manera de vulnerar cualquier sistema para espiar robar
informacioacuten o hacer dantildeo de cualquier tipo por lo que se ha visto la necesidad de tomar medidas
de seguridad para salvaguardar la informacioacuten ya que es muy importante
La ciberseguridad es la proteccioacuten de los sistemas conectados a Internet incluidos el
hardware el software y los datos de los ciberataques En un contexto informaacutetico la seguridad
comprende la ciberseguridad y la seguridad fiacutesica ambas son utilizadas por las empresas para
proteger contra el acceso no autorizado a los centros de datos y otros sistemas de coacutemputo El
objetivo de la ciberseguridad es limitar el riesgo y proteger los activos de Tecnologiacuteas de
Informacioacuten de los atacantes con intenciones maliciosas La seguridad de la informacioacuten estaacute
30
disentildeada para mantener la confidencialidad integridad y disponibilidad de los datos es un
subconjunto de la ciberseguridad
22 Criptografiacutea
La Criptografiacutea tambieacuten llamada ldquoescritura ocultardquo tradicionalmente en el aacutembito de
criptografiacutea es donde se ocupan las teacutecnicas de cifrado o codificacioacuten que permiten alterar el
contenido de cierta informacioacuten o mensajes con el fin de hacerlos ininteligibles a receptores o
personas no autorizadas (Meneacutendez-Barzanallana 17)
Actualmente la criptografiacutea se encarga de analizar algoritmos protocolos y sistemas que
son utilizados para proveer seguridad a las comunicaciones informacioacuten y a las entidades que se
comunican entre siacute
221 Tipos de Criptografiacuteas
2211 Tablas Hash Un hash o funcioacuten hash toma un grupo de caracteres (llamado clave)
y lo asigna a un valor de cierta longitud (llamado valor hash o hash) El valor hash es representativo
de la cadena de caracteres original pero normalmente es maacutes pequentildeo que el original
El hash tambieacuten es utilizado en el cifrado y descifrado de firmas digitales La funcioacuten hash
transforma la firma digital luego tanto el valor hash como la firma se enviacutean al receptor El
receptor utiliza la misma funcioacuten hash para generar el valor hash y luego lo compara con el recibido
31
en el mensaje Si los valores hash son los mismos es probable que el mensaje se haya transmitido
sin errores
Un ejemplo de una funcioacuten hash se llama plegado(folding) Esta toma un valor original lo
divide en varias partes luego agrega las partes y usa los uacuteltimos cuatro diacutegitos restantes como
valor o clave hash
2212 Tipos de algoritmos Hash
22121 SHA - 1 (Secure Hash Algorithm) Es un algoritmo criptograacutefico de Hash
publicado por el gobierno de los Estados Unidos Genera un valor Hash de 160 bits a partir de una
secuencia de longitud arbitraria Es considerado lo suficientemente seguro para aplicaciones
praacutecticas pero hay disponibles versiones maacutes robustas SHA - 256 SHA - 384 y SHA - 512 que
generan valores Hash de 256 384 y 512 bits respectivamente estas versiones reemplazaraacuten a SHA
- 1 mientras se siga trabajando sobre ellas (Borghello 2009)
22122 MD5 (Message Digest Algorithm) En criptografiacutea MD5 es una funcioacuten hash
criptograacutefica ampliamente utilizada con un valor hash de 128 bits Como estaacutendar de Internet (RFC
1321) MD5 se ha empleado en una amplia variedad de aplicaciones de seguridad y tambieacuten se
usa comuacutenmente para verificar la integridad de los archivos Un hash MD5 generalmente se
expresa como un nuacutemero hexadecimal de 32 diacutegitos
MD5 es una versioacuten reforzada de MD4 Al igual que MD4 el hash MD5 fue inventado por
el profesor Ronald Rivest del Massachusetts Institute of Technology (MIT) Ademaacutes MD5 se
32
utilizoacute como modelo para SHA-1 ya que comparten muchas caracteriacutesticas comunes MD5 y
SHA-1 son los dos algoritmos hash maacutes utilizados en la actualidad aunque el uso de MD5 ha
disminuido ya que ahora se considera roto (Borghello 2009)
22123 RIPEMD ndash 160 Es una funcioacuten hash criptograacutefica basada en la construccioacuten
Merkle-Damgaringrd (MD) Se usa en el estaacutendar de Bitcoin Es una versioacuten reforzada del algoritmo
RIPEMD que produce un resumen de hash de 128 bits mientras que el algoritmo RIPEMD-160
produce una salida de 160 bits La funcioacuten de compresioacuten consta de 80 etapas formadas por 5
bloques que se ejecutan 16 veces cada uno Este patroacuten se ejecuta dos veces con los resultados
combinados en la parte inferior utilizando la adicioacuten del moacutedulo 32 (Borghello 2009)
22124 Funcioacuten Merkle-Damgaringrd La construccioacuten MD es una metodologiacutea para crear
funciones hash resistentes a colisiones a partir de funciones de compresioacuten unidireccionales Ralph
Merkle la propuso en el antildeo de 1979 en ldquoA certified Digital Signaturerdquo posterior a este estudio
Ivan Damgaringrd demostroacute de manera independiente que la estructura era soacutelida (Merkle amp
Damgaringrd sf)
2213 Cifrado simeacutetrico Los cifrados simeacutetricos son los cifrados criptograacuteficos maacutes
antiguos y maacutes utilizados En un cifrado simeacutetrico la clave que descifra el texto cifrado es la
misma (o puede derivarse faacutecilmente) de la clave que cifra el texto claro Esta clave a menudo se
conoce como la clave secreta Los cifrados simeacutetricos maacutes utilizados son DES y AES
La problemaacutetica que surge es la seguridad de la clave
33
El emisor cifra el mensaje con una clave
Enviacutea el mensaje cifrado de tal manera que nadie puede descifrarlo sin dicha clave
El receptor obtiene la clave y entonces puede descifrar el mensaje con la misma clave
que recibioacute del emisor
Algunos algoritmos de este tipo son
22131 RC5 (Cifrado de Rivest) Es un algoritmo de cifrado de bloque de clave simeacutetrica
disentildeado por Ron Rivest en 1994 Se destaca por ser simple raacutepido (debido a que usa solo
operaciones de coacutemputo primitivas como XOR o shift) y ademaacutes por consumir menos memoria
RC5 es un cifrado de bloques y aborda dos bloques de palabras a la vez Dependiendo del
tamantildeo del bloque de texto sin formato nuacutemero de rondas y tamantildeo de clave se pueden definir
varias instancias de RC5 y cada instancia se denota como RC5-w r b donde w = tamantildeo de
palabra en bits r = nuacutemero de rondas y b = tamantildeo de la clave en bytes (Pawar 2016)
Como se ha mencionado RC5 utiliza bloques de 2 palabras el tamantildeo del bloque de texto
sin formato puede ser de 32 64 o 128 bits
22132 IDEA (International Data Encryption Algorithm) Baacutesicamente es un algoritmo
de cifrado de bloque simeacutetrico El algoritmo asimeacutetrico utiliza la misma clave para el cifrado y
descifrado Un cifrado de bloque divide el mensaje en bloques cada uno de una longitud fija y
luego cifra cada bloque de forma independiente
34
El tamantildeo de bloque tiacutepico es de 16 bytes de 128 bits Un cifrado de bloque generalmente
operaraacute en bloques o rondas donde se aplica parte de la clave a la ronda Despueacutes de un cierto
nuacutemero de rondas digamos entre 10 y 16 se termina con el texto cifrado para ese bloque
El bloque de texto cifrado tiene exactamente el mismo tamantildeo que el bloque de texto sin
formato 16 bytes Para cada ronda se trabaja en el bloque utilizando una parte de la clave de
cifrado a la que se le llama la clave redonda Muacuteltiples claves redondas se derivan de la clave de
cifrado utilizando para esto un programa de claves
La programacioacuten de claves es un algoritmo que cambia XOR multiplica y realiza otros
tipos de operaciones en la clave de cifrado original para obtener estas claves redondas Bueno si
tengo un bloque de 16 bytes y tengo una clave de 128 bits que tambieacuten es de 16 bytes (Educba
2019)
22133 DES (Data Encryption Standard) El algoritmo DES es el algoritmo de seguridad
maacutes popular Es un algoritmo simeacutetrico lo que significa que se utilizan las mismas claves para
cifrar descifrar datos confidenciales La longitud de la clave es de 8 bytes (64 bits) Entonces
para cifrar descifrar datos el algoritmo DES utiliza una clave de 8 bytes pero 1 byte (8 bits) para
la verificacioacuten de paridad Es un algoritmo de cifrado de bloque por lo tanto el tamantildeo del bloque
de datos del algoritmo DES es de 64 bits Para cifrar descifrar datos el algoritmo DES utiliza la
estructura Feistel Entonces utiliza una ronda para cifrar descifrar datos Aunque el tamantildeo del
35
bloque de datos es de 64 bits el nuacutemero de rondas seraacute de 16 rondas asiacute mismo utilizaraacute diferentes
subclaves para cada ronda por lo tanto el nuacutemero de subclaves seraacute de 16 subclaves
Como se puede observar la clave efectiva es de 56 bits por consiguiente se tiene 256
combinaciones posibles por lo que la fuerza bruta se hace casi imposible (Sanjoy 2015)
2214 Cifrado asimeacutetrico Los cifrados asimeacutetricos tambieacuten se conocen como cifrados
con claves puacuteblicas y privadas Usan dos claves una para el cifrado de mensajes y la otra durante
el descifrado
Un intruso puede encriptar cualquier mensaje usando la clave puacuteblica conocida Los
cifrados asimeacutetricos son por lo tanto vulnerables a los ataques de texto sin formato Los cifrados
con encriptacioacuten de clave puacuteblica deben proporcionar seguridad contra tales ataques Despueacutes de
encriptar dos mensajes con la misma clave puacuteblica el intruso no puede distinguir queacute texto cifrado
estaacute conectado con queacute texto plano Ademaacutes un observador que analiza dos mensajes encriptados
usando el mismo algoritmo y la misma clave puacuteblica no puede distinguir sus textos cifrados
(Kowalczyk 2015)
Los cifrados asimeacutetricos son mucho maacutes lentos que los cifrados simeacutetricos (generalmente
mil veces maacutes lentos) Es una praacutectica comuacuten usar el cifrado de clave puacuteblica solo para establecer
la conexioacuten segura y negociar la nueva clave secreta que luego se utilizaraacute para proteger la
comunicacioacuten mediante cifrado simeacutetrico Ejemplos de este cifrado son
36
22141 DSA (Digital Signature Algorithm - Algoritmo de Firma digital) Es un estaacutendar
del Gobierno Federal de los Estados Unidos para firmas digitales Fue propuesto por el Instituto
Nacional de Estaacutendares y Tecnologiacutea (NIST) en agosto de 1991 para ser usado en su Estaacutendar de
Firma Digital (DSS) en el antildeo de 1993
La primera parte del algoritmo DSA es la generacioacuten de clave puacuteblica y clave privada que
puede describirse como
Se elige un nuacutemero primo q que se llama divisor primo
Se elige otro nuacutemero primo p de modo que pndash1 mod q = 0 p seraacute llamado moacutedulo
primo
Ahora se elige un nuacutemero entero g tal que 1 ltg ltp g q mod p = 1 g = h ((p
ndash 1) q) mod p q tambieacuten se llama moacutedulo de orden multiplicativo de g moacutedulo p
Se elige un nuacutemero entero tal que 0 ltx ltq
Se calcula y como g x mod p
Se empaqueta la clave puacuteblica como p q g y
Por uacuteltimo se empaqueta la clave privada como p q g x
La segunda parte del algoritmo DSA es la generacioacuten de firma y la verificacioacuten de firma
Para generar una firma de mensaje el remitente puede seguir estos pasos
Se genera el resumen del mensaje h utilizando un algoritmo hash como SHA1
Se genera un nuacutemero aleatorio k tal que 0 ltk ltq
37
Se calcula r como (g k mod p) mod q Si r = 0 seleccione una k diferente
Ahora se calcula i de modo que k i mod q = 1 i se llama el inverso multiplicativo modular
de k moacutedulo q
Se calcula s = i (h + r x) mod q Si s = 0 se selecciona una k diferente
Por uacuteltimo se empaqueta la firma digital como r s (Yang 2019)
22142 RSA Encriptacioacuten RSA encriptacioacuten Rivest-Shamir-Adleman tipo de
criptografiacutea de clave puacuteblica ampliamente utilizada para la encriptacioacuten de datos de correo
electroacutenico y otras transacciones digitales a traveacutes de Internet RSA lleva el nombre de sus
inventores Ronald L Rivest Adi Shamir y Leonard M Adleman quienes lo crearon mientras
trabajaban en la facultad del Instituto Tecnoloacutegico de Massachusetts (Simmons 2019)
En el sistema RSA un usuario elige de manera secreta un par de nuacutemeros primos p y q tan
grandes que factorizar el producto n = pq estaacute mucho maacutes allaacute de las capacidades informaacuteticas
proyectadas para la vida uacutetil de los cifrados A partir del antildeo 2000 los estaacutendares de seguridad del
gobierno de EE UU exigen que el moacutedulo tenga un tamantildeo de 1024 bits es decir p y q deben
tener un tamantildeo de aproximadamente 155 diacutegitos decimales por lo que n es aproximadamente un
nuacutemero de 310 diacutegitos Dado que los nuacutemeros duros maacutes grandes que actualmente se pueden
factorizar son solo la mitad de este tamantildeo y dado que la dificultad de factorizar se duplica
aproximadamente por cada tres diacutegitos adicionales en el moacutedulo se cree que los moacutedulos de 310
diacutegitos estaacuten a salvo de factorizar durante varias deacutecadas
38
2215 Cifrado hiacutebrido Es una teacutecnica comuacuten que combina diferentes funciones
criptograacuteficas como el cifrado de bloque Con el cifrado hiacutebrido se pueden cifrar datos firmarlos
o agregar un MAC y enviarlos en un objeto seguro (como una cadena o archivo) a traveacutes de un
canal de comunicacioacuten inseguro (sin un acuerdo clave entre dos partes)
En el sistema de cifrado hiacutebrido el texto plano (sin formato) se divide en tokens Luego
se calcula la longitud de cada ficha Los tokens y sus longitudes se almacenan en una matriz
Posteriormente se aplica el algoritmo Ceacutesar anidado sugerido El texto producido se almacena en
una matriz n x m llamada A Luego la transposicioacuten de esta matriz At se calcula utilizando
nuestra versioacuten revisada del cifrado de transposicioacuten para resolver el problema de secuenciacioacuten
A continuacioacuten el algoritmo RSA revisado se aplica en la matriz producida En el paso final se
aplica el formato de datos textuales usando el coacutedigo ASCII para producir el texto cifrado El
proceso de descifrado se realiza de la misma manera pero en orden inverso (Nahar amp Abu Abbas
2010)
23 Criptoanaacutelisis
El criptoanaacutelisis es el proceso de estudiar sistemas criptograacuteficos para buscar debilidades
o fugas de informacioacuten En general se considera que el criptoanaacutelisis explora las debilidades de
las matemaacuteticas subyacentes de un sistema criptograacutefico pero tambieacuten incluye la buacutesqueda de
debilidades en la implementacioacuten como ataques de canal lateral o entradas de entropiacutea deacutebiles
39
Su funcioacuten es la de conseguir obtener el significado de mensajes creados por medio de
criptografiacutea El objetivo principal del criptoanaacutelisis es opuesto al de la criptografiacutea Tiene como
finalidad encontrar la debilidad de las diferentes teacutecnicas criptograacuteficas para explotarla y de esta
manera reducir o eliminar la seguridad de la teacutecnica criptograacutefica Cualquier intento de
criptoanaacutelisis puede ser llamado ataque Una vez que un atacante logra romper la seguridad que
una teacutecnica criptograacutefica aportaba al sistema se dice que dicho sistema ha sido roto y por lo tanto
dicho ataque tuvo eacutexito
El criptoanaacutelisis es la investigacioacuten de sistemas texto cifrado y cifrados para revelar el
significado oculto o los detalles del sistema mismo El objetivo de este tipo de estudio es descubrir
los aspectos ocultos incluso si la clave o el algoritmo principal no se pueden descifrar Se necesita
una combinacioacuten exitosa de persistencia matemaacuteticas intuicioacuten curiosidad y una computadora
que funcione para hacer un buen criptoanalista Este tipo de ruptura de coacutedigo es extremadamente
importante especialmente en el mundo tecnoloacutegicamente dependiente de hoy El criptoanaacutelisis es
constantemente realizado por criptoacutegrafos que intentan obtener informacioacuten valiosa y por aquellos
que intentan descifrar el coacutedigo para revelar secretos (Security Degree Hub 2017)
24 Niveles de seguridad
Los niveles de seguridad de sistemas operativos son otorgados de acuerdo con el sistema
operativo que esteacute utilizando la empresa o institucioacuten ya sea puacuteblica privada gubernamental o no
gubernamental En el manual ldquoTrusted Computer System Evaluation Criteriardquo (United States
40
Government Department of Defense 1983) el Departamento de Defensa de los Estados Unidos
define los siguientes niveles
241 Nivel D1 Este nivel es el maacutes bajo de seguridad por lo tanto la norma establece que
el sistema no es confiable Esta divisioacuten contiene solo una clase Estaacute reservado para aquellos
sistemas que han sido evaluados pero que no cumplen con los requisitos para un nivel de
evaluacioacuten superior
242 Nivel C1 Un sistema de nivel C1 cumple nominalmente los requisitos de seguridad
discrecionales al proporcionar separacioacuten de usuarios y datos Incorpora alguna forma de controles
creiacutebles capaces de imponer limitaciones de acceso de manera individual es decir aparentemente
adecuados para permitir que los usuarios puedan proteger la informacioacuten privada o del proyecto y
evitar que otros usuarios lean o destruyan accidentalmente sus datos Se espera que el entorno de
nivel C1 sea uno de los usuarios cooperantes que procesan datos con el mismo nivel de
sensibilidad Los siguientes son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten
de nivel C1 son
Control de acceso discrecional por ejemplo listas de control de acceso (ACL)
usuario grupo
Por lo general para usuarios que estaacuten en el mismo nivel de seguridad
Proteccioacuten de nombre de usuario y contrasentildea y base de datos de autorizaciones
seguras (ADB)
Sistema operativo protegido y modo de operaciones del sistema
Comprobacioacuten perioacutedica de integridad de TCB
41
Mecanismos de seguridad probados sin derivaciones obvias
Documentacioacuten para la seguridad del usuario
Documentacioacuten para la seguridad de la administracioacuten de sistemas
Documentacioacuten para pruebas de seguridad
Documentacioacuten de disentildeo TCB
Tiacutepicamente para usuarios en el mismo nivel de seguridad
La certificacioacuten C1 es rara Los sistemas de ejemplo son versiones anteriores de
Unix IBM RACF
243 Nivel C2 Los sistemas de esta clase imponen un control de acceso discrecional maacutes
fino que los sistemas (C1) lo que hace que los usuarios sean individualmente responsables de sus
acciones a traveacutes de procedimientos de inicio de sesioacuten auditoriacutea de eventos relevantes para la
seguridad y aislamiento de recursos Los siguientes son requisitos miacutenimos para los sistemas
asignados a una clasificacioacuten de nivel C2
La proteccioacuten de objetos puede ser para un solo usuario Por ejemplo a traveacutes de
una base de datos ACL
La autorizacioacuten de acceso solo puede ser asignada por usuarios autorizados
Proteccioacuten de reutilizacioacuten de objetos (Por ejemplo para evitar la reasignacioacuten de
objetos eliminados de manera segura)
Procedimientos obligatorios de identificacioacuten y autorizacioacuten para los usuarios (Por
ejemplo Usuario Contrasentildea)
Auditoriacutea completa de eventos de seguridad (es decir fecha hora evento usuario
eacutexito falla ID de terminal)
42
Modo de operacioacuten del sistema protegido
Proteccioacuten adicional para la autorizacioacuten y los datos de auditoriacutea
Documentacioacuten como C1 maacutes informacioacuten sobre el examen de la informacioacuten de
auditoriacutea
Esta es una de las certificaciones maacutes comunes Los sistemas operativos de ejemplo
son VMS IBM OS 400 Windows NT Novell NetWare 411 Oracle 7 DG AOS
VS II
244 Nivel B1 Los sistemas de este nivel requieren todas las caracteriacutesticas requeridas
para el nivel C2 Ademaacutes debe estar presente una declaracioacuten informal del modelo de poliacutetica de
seguridad etiquetado de datos y control de acceso obligatorio sobre sujetos y objetos nombrados
La capacidad debe existir para etiquetar con precisioacuten la informacioacuten exportada Cualquier falla
identificada por la prueba debe ser eliminada Los siguientes son requisitos miacutenimos para los
sistemas asignados a una clasificacioacuten de nivel B1
Etiquetado obligatorio de seguridad y acceso de todos los objetos (Por ejemplo
archivos procesos dispositivos)
Comprobacioacuten de integridad de etiquetas (Por ejemplo mantenimiento de etiquetas
de sensibilidad cuando se exportan datos)
Auditoriacutea de objetos etiquetados
Control de acceso obligatorio para todas las operaciones
Capacidad para especificar el nivel de seguridad impreso en salida legible para
humanos (Por ejemplo impresoras)
43
Capacidad para especificar el nivel de seguridad en cualquier salida legible por
maacutequina
Auditoriacutea mejorada
Proteccioacuten mejorada del sistema operativo
Documentacioacuten mejorada
Los sistemas operativos de ejemplo son HP-UX BLS Cray Research Trusted
Unicos 80 Digital SEVMS Harris CS SX SGI Trusted IRIX
245 Nivel B2 En los sistemas de nivel B2 el TCB se basa en un modelo de poliacutetica de
seguridad formal claramente definido y documentado que requiere que la aplicacioacuten de control de
acceso discrecional y obligatoria que se encuentra en los sistemas de nivel B1 se extienda a todos
los sujetos y objetos en el sistema Ademaacutes se abordan los canales encubiertos El TCB debe
estructurarse cuidadosamente en elementos criacuteticos para la proteccioacuten y no criacuteticos para la
proteccioacuten La interfaz TCB estaacute bien definida y el disentildeo y la implementacioacuten TCB le permiten
someterse a pruebas maacutes exhaustivas y una revisioacuten maacutes completa Se fortalecen los mecanismos
de autenticacioacuten se proporciona una gestioacuten confiable de las instalaciones en forma de soporte
para las funciones de administrador y operador del sistema y se imponen estrictos controles de
gestioacuten de la configuracioacuten El sistema es relativamente resistente a la penetracioacuten Los siguientes
son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten de nivel B2
Notificacioacuten de cambios en el nivel de seguridad que afectan a los usuarios
interactivos
Etiquetas de dispositivos jeraacuterquicos
44
Acceso obligatorio a todos los objetos y dispositivos
Comunicaciones de ruta confiables entre usuario y sistema
Rastreo de canales de almacenamiento encubiertos
Modo de operaciones del sistema maacutes estricto en unidades independientes de varios
niveles
Anaacutelisis de canales encubiertos
Pruebas de seguridad mejoradas
Modelos formales de TCB
Versioacuten actualizacioacuten y anaacutelisis y revisioacuten de parches
Los sistemas de ejemplo son Honeywell Multics Cryptek VSLAN Trusted
XENIX
246 Nivel B3 El TCB debe satisfacer los requisitos del monitor de referencia para mediar
todos los accesos de los sujetos a los objetos ser a prueba de manipulaciones y ser lo
suficientemente pequentildeo como para ser sometido a anaacutelisis y pruebas Con este fin el TCB estaacute
estructurado para excluir el coacutedigo que no es esencial para la aplicacioacuten de la poliacutetica de seguridad
con una importante ingenieriacutea del sistema durante el disentildeo y la implementacioacuten del TCB dirigido
a minimizar su complejidad Se admite un administrador de seguridad los mecanismos de
auditoriacutea se ampliacutean para sentildealar eventos relevantes para la seguridad y se requieren
procedimientos de recuperacioacuten del sistema El sistema es altamente resistente a la penetracioacuten
Los siguientes son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten de clase
(B3)
45
ACL adicionalmente basadas en grupos e identificadores
Acceso de ruta confiable y autenticacioacuten
Anaacutelisis automaacutetico de seguridad
Modelos TCB maacutes formales
Auditoriacutea de eventos de auditoriacutea de seguridad
Recuperacioacuten confiable despueacutes de la caiacuteda del sistema y documentacioacuten relevante
Cero defectos de disentildeo en TCB y defectos miacutenimos de implementacioacuten
El uacutenico sistema operativo con certificacioacuten B3 es Getronics Wang Federal XTS-
300
247 Nivel A1 Los sistemas en el nivel A1 son funcionalmente equivalentes a los del nivel
B3 en que no se agregan caracteriacutesticas arquitectoacutenicas adicionales ni requisitos de poliacuteticas La
caracteriacutestica distintiva de los sistemas en este nivel es el anaacutelisis derivado de la especificacioacuten
formal del disentildeo y las teacutecnicas de verificacioacuten y el alto grado resultante de seguridad de que el
TCB se implementa correctamente Esta garantiacutea es de naturaleza de desarrollo comenzando con
un modelo formal de la poliacutetica de seguridad y una especificacioacuten formal de alto nivel del disentildeo
Independientemente del lenguaje de especificacioacuten particular o del sistema de verificacioacuten
utilizado existen los siguientes criterios importantes para la verificacioacuten del disentildeo de nivel A1
Meacutetodos formales y prueba de integridad de TCB
Estos son los uacutenicos sistemas con certificacioacuten A1 Boeing MLS LAN Gemini
Trusted Network Processor Honeywell SCOMP (United States Government
Department of Defense 1983)
46
25 Sistemas Operativos
Un sistema operativo actuacutea como intermediario entre el usuario de una computadora y el
hardware de la computadora El propoacutesito de un sistema operativo es proporcionar un entorno en
el que un usuario pueda ejecutar programas de manera conveniente y eficiente
Un sistema operativo es un software que administra el hardware de la computadora El
hardware debe proporcionar mecanismos apropiados para garantizar el correcto funcionamiento
del sistema informaacutetico y para evitar que los programas del usuario interfieran con el correcto
funcionamiento del sistema (Carretero Peacuterez de Miguel Anasagasti Garciacutea Carballeira amp Peacuterez
Costoya 2001)
Un sistema operativo es un programa que controla la ejecucioacuten de programas de aplicacioacuten
y actuacutea como una interfaz entre el usuario de una computadora y el hardware de la computadora
Una definicioacuten maacutes comuacuten es que el sistema operativo es el uacutenico programa que se ejecuta
en todo momento en la computadora (generalmente llamado kernel) y todo lo demaacutes son
programas de aplicacioacuten
Un sistema operativo se ocupa de la asignacioacuten de recursos y servicios como memoria
procesadores dispositivos e informacioacuten El sistema operativo incluye los programas para
administrar estos recursos como un controlador de traacutefico un programador un moacutedulo de
administracioacuten de memoria programas de E S y un sistema de archivos (Pawar 2016)
47
251 Windows Sistema operativo de la empresa Microsoft es un conjunto de programas
que administra los recursos de una computadora Windows empieza a trabajar cuando se enciende
o inicializa el equipo para gestionar el hardware empezando desde los niveles maacutes baacutesicos
Es importante conocer que los sistemas operativos funcionan tanto en las computadoras
como en diferentes dispositivos electroacutenicos que usan microprocesadores En este caso Windows
su versioacuten estaacutendar funciona con computadoras Microsoft domina el mercado de los sistemas
operativos debido a su comodidad se puede decir que eacuteste sistema operativo se encuentra
instalado en el 887 de los equipos de coacutemputo que cuentan con acceso a Internet en todo el
mundo
Se pueden mencionar algunas aplicaciones principales (que eacutestas tambieacuten pueden ser
desinstaladas por los usuarios o actualizadas sin que el sistema operativo se dantildee o deje de
funcionar) se encuentran el procesador de texto WordPad el navegador Internet Explorer el
reproductor multimedia Windows Media y el editor de imaacutegenes Paint
La principal novedad que aportoacute Windows desde sus oriacutegenes fue la facilidad para usarlo
y el atractivo visual De hecho su nombre (ldquoventanasrdquo) se debe a la forma en que el sistema
presenta a los usuarios los recursos con los que cuenta su computadora lo que facilita las tareas
cotidianas Windows tambieacuten suele recibir varias criacuteticas por sus problemas de seguridad y por
otros fallos
48
252 Registro de Windows El registro es una base de datos jeraacuterquica que contiene datos
que son criacuteticos para el funcionamiento de Windows y las aplicaciones y servicios que se ejecutan
en Windows Los datos estaacuten estructurados en un formato de aacuterbol Cada nodo en el aacuterbol se llama
clave Cada clave puede contener subclaves y entradas de datos llamadas valores A veces la
presencia de una clave es el uacutenico dato que requiere una aplicacioacuten otras veces una aplicacioacuten
abre una clave y usa los valores asociados con la clave (Microsoft Inc 2019) Una clave puede
tener cualquier nuacutemero de valores y los valores pueden tener cualquier forma El registro es
utilizado por
Autenticacioacuten
Nuacutecleo (Kernel)
Controladores de dispositivos
Servicios
SAM
Las carpetas del sistema se almacenaraacuten en distintas rutas de acceso dependiendo de la
versioacuten de Windows con la que se esteacute trabajando a continuacioacuten cuatro de los cinco archivos
que maacutes interesan a esta investigacioacuten se encuentran en la siguiente ubicacioacuten SystemRoot
System32 Config dentro de las siguientes sub llaves
SAM - HKEY LOCAL MACHINE SAM
SECURITY - HKEY LOCAL MACHINE SECURITY
SOFTWARE - HKEY LOCAL MACHINE SOFTWARE
SYSTEM - HKEY LOCAL MACHINE SYSTEM
49
253 Administrador de cuentas de seguridad El administrador de cuentas de seguridad
(SAM por sus siglas en ingleacutes) es una base de datos en donde se encuentran las cuentas de
seguridad Esto es utilizado por Windows para administrar las cuentas de usuario y contrasentildeas en
el formato hash
Las contrasentildeas nunca se almacenan en formato de texto claro Se almacenan en formato
de hash para protegerlas de los ataques La base de datos SAM se implementa como un archivo de
registro y las obtiene del kernel de Windows y mantiene un bloqueo exclusivo al archivo SAM
esto quiere decir que el archivo tiene cierta medida de seguridad para el almacenamiento de las
contrasentildeas (Hernandez 2013)
No es posible copiar el archivo SAM a otra ubicacioacuten en el caso de los ataques en liacutenea
Dado que el archivo SAM estaacute bloqueado con un bloqueo exclusivo al sistema de archivos no
puede ser copiado o movido mientras se ejecuta Windows El bloqueo no iniciaraacute hasta que la
excepcioacuten de la pantalla azul haya sido inicializada o el sistema operativo haya sido apagado Sin
embargo los archivos en formato hash de contrasentildeas fuera de liacutenea estaacuten disponibles para los
ataques de fuerza bruta el contenido del archivo SAM puede ser copiado o descargado utilizando
diversas teacutecnicas
Un identificador de seguridad (SID) es un valor uacutenico de longitud variable utilizado para
identificar a un usuario Cada cuenta tiene un SID uacutenico emitido por una autoridad como un
controlador de dominio de Windows y almacenado en una base de datos de seguridad Cada vez
50
que un usuario inicia sesioacuten el sistema recupera el SID para ese usuario de la base de datos y lo
coloca en el token de acceso para ese usuario El sistema usa el SID en el token de acceso para
identificar al usuario en todas las interacciones posteriores con la seguridad de Windows Cuando
se ha usado un SID como identificador uacutenico para un usuario o grupo no se puede volver a usar
para identificar a otro usuario o grupo
La seguridad de Windows usa SID en los siguientes elementos de seguridad
En descriptores de seguridad para identificar al propietario de un objeto y grupo
primario
En las entradas de control de acceso para identificar al usuario para quien el acceso
estaacute permitido denegado o auditado
En tokens de acceso para identificar al usuario y los grupos a los que pertenece
2531 Identificador de Seguridad (SID Security Identifier)
S - 1 - 5 - 21 - 3983109318 - 554656936 - 3066752241 - 1000
S - indica que es un string de SID
1 - el nivel de revisioacuten
5 - el identificador de valor de autoridad o authority value no siempre seraacute 5 Entre otros
valores que se pueden encontrar estaacuten los siguientes
51
0 - sin autoridad
1 - autoridad global
2 - autoridad local
3 - autoridad de creador
4 - autoridad no uacutenica
5 - autoridad NT
9 - autoridad de administrador de recursos
21 - 3983109318 - 554656936 - 3066752241 - es el dominio en el que se encuentra el
sistema o el identificador local de la computadora
1000 - ID uacutenico para cada cuenta aquiacute se encuentra el RID (Relative Identifier) Nuacutemero
de longitud variable cualquier grupo o usuario que se cree de manera diferente a la predeterminada
recibiraacute un RID de 1000 o superior En el caso de que el valor sea 500 responde a que este SID
representa la cuenta de un administrador el valor de 500 siempre seraacute el mismo en cualquier cuenta
de administrador a su vez el valor 501 representa el SID de una cuenta Invitado (Guest)
(Hernandez 2013)
254 Autenticacioacuten NTML NTLM (NT LAN Manager) es un protocolo empleado por
muchos productos de Microsoft para realizar la autenticacioacuten desafiacuteorespuesta por lo tanto es el
esquema de autenticacioacuten que por defecto usa Firewall de Microsoft y tambieacuten los productos del
servidor proxy
52
Este software fue desarrollado para afrontar el problema del trabajo con Tecnologiacuteas Java
en un entorno orientado a Microsoft Puesto que no se basa en ninguna especificacioacuten oficial de
protocolo por lo tanto no hay garantiacutea de que funciona correctamente en todos los casos Tambieacuten
ha estado en algunas instalaciones de Windows donde funcionoacute con eacutexito
La Autenticacioacuten NTLM se compone de dos protocolos protocolo de autenticacioacuten NTLM
y protocolo de autenticacioacuten LM Estos protocolos utilizan una metodologiacutea de hash diferente para
almacenar contrasentildeas de los usuarios en la base de datos SAM (Hernandez 2013) (Meneacutendez-
Barzanallana 17)
26 LINUX (ROCKS)
Rocks es una distribucioacuten para cluacutester de Linux de coacutedigo abierto que permite a los usuarios
finales construir de manera maacutes amigable cluacutesteres computacionales y muros de visualizacioacuten en
mosaico Cientos de investigadores de todo el mundo han utilizado Rocks para implementar su
propio cluacutester
Desde mayo de 2000 el grupo Rocks ha abordado las dificultades de implementar cluacutesteres
manejables Encaminados hacia un objetivo crear cluacutesters de manera maacutes sencilla Por sencilla
significa faacutecil de implementar administrar actualizar y escalar Este objetivo impulsa a los
creadores de esta herramienta a ayudar a entregar el poder computacional de los cluacutesteres a una
amplia gama de usuarios cientiacuteficos Estaacute claro que poner a disposicioacuten de una amplia gama de
53
cientiacuteficos plataformas de computacioacuten paralelas estables y manejables ayudaraacute enormemente a
mejorar el estado del arte en herramientas paralelas (Rocksclusters 2010)
261 Escritorio De todos los escritorios disponibles para el sistema operativo Linux
GNOME ha logrado convertirse en el maacutes eficiente estable y confiable sin dejar de ser sencillo
de usar De hecho la mayoriacutea de los usuarios independientemente de su experiencia pueden
trabajar con GNOME casi sin esfuerzo
Los usuarios que son nuevos tanto en Linux como en GNOME hariacutean mejor en conocer
los entresijos del escritorio que hacen que Linux no solo sea faacutecil sino tambieacuten divertido
Un entorno de escritorio agrupa programas que trabajan juntos para formar un espacio de
trabajo informaacutetico cohesivo unificado transparente e interactivo para los usuarios O para
decirlo de manera maacutes simple el entorno de escritorio es la interfaz de usuario para el sistema
operativo En el caso de GNOME ese sistema operativo es Linux Sin un entorno de escritorio su
uacutenica alternativa es una sesioacuten de Shell (liacutenea de comandos) basada en texto (Wallen 2019)
262 Paquete de Oficina Una suite ofimaacutetica es una coleccioacuten de software creada por el
mismo proveedor y disentildeada para ser utilizada para tareas rutinarias dentro de una organizacioacuten
Por lo general una suite ofimaacutetica incluye aplicaciones como procesamiento de texto hojas de
caacutelculo presentacioacuten correo electroacutenico toma de notas base de datos colaboracioacuten y otros tipos
de software relacionados En la mayoriacutea de los casos cada aplicacioacuten en la suite ofimaacutetica se puede
instalar por separado y todas las aplicaciones dentro de la suite admiten la interoperabilidad entre
54
siacute Microsoft Office Suite Lotus Live Notes y LibreOffice son todas suites de oficina de uso
comuacuten
263 Organizador de archivos Es una funcioacuten avanzada disentildeada para agrupar y
renombrar archivos usando sus atributos del sistema o meta atributos
Cada archivo tiene atributos del sistema como la fecha (Acceso Creado y Modificado) el
tipo de archivo (definido por extensioacuten) y asociado con la aplicacioacuten registrada de ese tipo de
archivo Estos atributos se pueden usar para generar un nuevo nombre de archivo o carpeta (grupo)
para cada archivo con el mismo atributo Ademaacutes de los atributos del sistema algunos archivos
en su mayoriacutea medios o imaacutegenes pueden contener metacampos como el nombre del artista el
tiacutetulo el nombre del aacutelbum y otros El Organizador de archivos tambieacuten usa estos metacampos
para agrupar archivos en una carpeta con el mismo atributo Por lo tanto el organizador de archivos
opera reglas de organizacioacuten de archivos que definen la jerarquiacutea de agrupacioacuten de carpetas y las
reglas de cambio de nombre de archivos
Asiacute como el conocido ldquoexplorador de Windowsrdquo Linux integra un organizador de archivos
y carpetas llamado NAUTILUS para realizar tareas de manejo de archivos como mover copiar
renombrar crear carpetas y de esta manera administrar nuestros dispositivos de almacenamiento
55
27 Agrupamiento (Cluacutester) de Computadoras
El agrupamiento (cluacutester) de computadoras estaacute conformado por una coleccioacuten de
computadoras autoacutenomas interconectadas trabajando unidas como un solo recurso de computacioacuten
integrado El concepto de agrupamiento de computadoras nacioacute cuando los pioneros de la
supercomputacioacuten intentaban difundir diferentes procesos entre varias computadoras para luego
poder recoger los resultados que dichos procesos debiacutean producir Con un hardware maacutes barato y
faacutecil de conseguir se pudo perfilar que podriacutean conseguirse resultados muy parecidos a los
obtenidos con aquellas maacutequinas mucho maacutes costosas (Chirinov 2003)
Un agrupamiento de computadoras se puede definir como el trabajo realizado por dos o
maacutes computadoras que en conjunto se encargan de proveer una determinada solucioacuten Tiene como
finalidad agrupar el poder de coacutemputo de los nodos implicados para proporcionar una mayor
escalabilidad disponibilidad y fiabilidad (Branch Bedoya amp Mesa Muacutenera 2008)
La escalabilidad es la capacidad de un equipo para hacer frente a voluacutemenes de trabajo
cada vez mayores sin por ello dejar de prestar un nivel de rendimiento aceptable
La disponibilidad y la fiabilidad se encuentran bastante relacionadas aunque difieren
ligeramente en algunos aspectos La disponibilidad es la calidad de estar presente y listo para su
uso mientras que la fiabilidad es la probabilidad de un correcto funcionamiento
56
Entre los tipos de agrupamiento maacutes comunes se pueden encontrar de alta disponibilidad
(ambiente a prueba de fallas) coacutemputo de alto desempentildeo (los procesos o las tareas dadas se
presentan como un solo sistema virtual) y escalamiento horizontal (se utiliza para proporcionar
una sola interfaz a un conjunto de recursos que pueden aumentar o disminuir arbitrariamente su
tamantildeo en un cierto periodo de tiempo) (Gonzaacutelez Ramiacuterez amp Rodriacuteguez Saacutenchez 2008)
271 Beowulf Es una clase de computadora masivamente paralela de altas prestaciones
principalmente construida a base de agrupamiento de componentes hardware estaacutendar (Llorens amp
Pentildea 2002) Consta de un conjunto de nodos minimalistas unidos por un medio de
comunicaciones econoacutemico Esto quiere decir que tienen lo miacutenimo para ejecutar su funcioacuten de
hecho los nodos por siacute solos no son capaces de ejecutar siquiera un sistema operativo (Nievas
Pino amp Arroyo) Se puede ver como una supercomputadora paralela construida con hardware
comercial de faacutecil adquisicioacuten que posee como sistema operativo Linux Los cluacutesters Beowulf son
extremadamente poderosos pero no son para todas las personas Su principal desventaja es que
requieren software disentildeado para poder aprovechar los recursos del cluacutester (Lizaacuterraga 2002)
272 Mosix Seguacuten Peacuterez (2001) la arquitectura Mosix estaacute basada en la misma ideologiacutea
de la arquitectura Beowulf Se basa en un conjunto de parches aplicados al nuacutecleo (kernel) de Linux
y que asignan a todo el grupo de nodos un espacio de direcciones y de procesos comuacuten gracias al
cual los procesos migran de uno a otro con el fin de equilibrar favorablemente la carga del sistema
global Es una herramienta disentildeada para realizar balanceo de carga en el agrupamiento de forma
totalmente transparente de manera tal que los nodos se comportan como una sola maacutequina y asiacute
incrementar el aprovechamiento de cada uno de los nodos (Chaacutevez y otros 1999) La principal
57
ventaja de Mosix frente a Beowulf se basa precisamente en esto Mosix da mejores respuestas que
Beowulf frente a la caiacuteda o insercioacuten de nodos A parte de esto Mosix permite un cambio constante
de aplicacioacuten o incluso el correr aplicaciones independientes de forma simultaacutenea
273 OpenMosix OpenMosix es una extensioacuten del proyecto Mosix Seguacuten Chirinov
(2003) la idea de este modelo es que la distribucioacuten de tareas en el cluacutester la determina OpenMosix
de forma dinaacutemica conforme se van creando tareas Cuando un nodo estaacute demasiado cargado las
tareas que se estaacuten ejecutando pueden migrar a cualquier otro nodo del cluacutester Asiacute desde que se
ejecuta una tarea hasta que eacutesta muere podraacute migrar de un nodo a otro sin que el proceso sufra
mayores cambios
Ademaacutes OpenMosix funciona a nivel de kernel por tanto puede conseguir toda la
informacioacuten que necesite para decidir que tanto estaacute cargado un sistema y queacute pasos se deben
seguir para aumentar el rendimiento ademaacutes puede realizar maacutes funciones que cualquier
aplicacioacuten a nivel de usuario
Despueacutes de elegir el tipo de cluacutester a utilizar se procede a elegir los elementos baacutesicos que
se emplearaacuten para implementar el cluacutester capacidad de procesamiento memoria espacio del disco
de cada nodo asiacute como tambieacuten el ancho de banda de la comunicacioacuten entre los nodos Se deberaacute
decidir cuaacuteles son importantes basaacutendose en la variedad de aplicaciones que se piensen ejecutar
en el cluacutester y de la cantidad de dinero que se disponga para construirlo
58
Bajo estos mismos paraacutemetros se debe escoger tambieacuten el tipo de red que interconectaraacute
los nodos (Turner 2004)
Luego se debe escoger el sistema operativo a utilizar Esta eleccioacuten dependeraacute mucho de
la maacutequina que se escoja Linux es siempre una opcioacuten en cualquier maacutequina y es la eleccioacuten maacutes
comuacuten Muchas de las herramientas necesarias para la implementacioacuten de un cluacutester han sido
desarrolladas bajo Linux Pero existen cluacutesters corriendo bajo Windows NT UNIX Solaris y AIX
59
Capiacutetulo 3 Implementacioacuten de Cluacutester
31 Requisitos previos
Antes de iniciar la instalacioacuten del FrontEnd es necesario asegurarse que las conexiones de
red de los equipos junto con la configuracioacuten de la BIOS de cada uno sean las correctas
311 Conexioacuten de los equipos y acceso a la red
Un cluacutester de alto desempentildeo funciona como un uacutenico equipo el cuaacutel comparte los recursos
de los nodos esclavos con el nodo maestro para ello es esencial la existencia de una red interna de
alta velocidad por medio de la cual se realice la comunicacioacuten entre el nodo maestro y los nodos
esclavos como se muestra en la Figura 31 El nodo maestro necesitaraacute 2 tarjetas de red de alta
Figura 31 Esquema tiacutepico de configuracioacuten de un cluacutester (Fuente Elaboracioacuten propia)
60
velocidad una para la comunicacioacuten interna y otra para la comunicacioacuten con redes externas El
sistema operativo Rocks asigna automaacuteticamente la interface ldquoeth0rdquo a la red interna del cluacutester y
la interface ldquoeth1rdquo a la red externa En caso de que Rocks sea incapaz de determinar cuaacutel es la red
externa debido a la falta de conexioacuten a internet estas podriacutean ser asignadas de manera incorrecta
por tal motivo se sugiere asegurar el nombre de cada una de las interfaces
Dado que Rocks no permite volverlas a asignar una vez finalizada la instalacioacuten es
necesario volver a reinstalarlo para poder solucionar este inconveniente
312 Configuracioacuten de la BIOS Para evitar problemas durante la instalacioacuten conviene
configurar correctamente la Bios
3121 ATAIDE Mode Algunos sistemas operativos puede que no sean capaces de
reconocer el controlador del disco duro como es en el caso de esta distribucioacuten de Rocks usada
Para evitar complicaciones de tener que antildeadir el controlador a mano lo mejor es habilitar el modo
ldquoLegacyrdquo de controlador de disco duro
61
Para ello se accede a la Bios pulsando F2 al encender el equipo se situacutea en la pestantildea
ldquoAdvancedrdquo y se selecciona ldquoDrive Configurationrdquo como se muestra en la Figura 32
Figura 32 Imagen del Bios del equipo en la opcioacuten ldquodrive configurationrdquo (Fuente Elaboracioacuten propia)
Figura 33 Bios ATAIDE Legacy Mode (Fuente Elaboracioacuten propia)
62
Dentro del menuacute se tiene que seleccionar el Modo ldquoLegacyrdquo en la opcioacuten ldquoATAIDE
Moderdquo como se muestra en la Figura 33 y para salir se guardan los cambios con F10
3122 PXE Al momento de instalar un nodo puede ocurrir falla al arrancar y aparecer
bootsplash (Reboot and Select proper device) Para evitarlo es necesario habilitar la opcioacuten de
PXE para que tome los archivos de instalacioacuten del nodo maestro a traveacutes de la red interna
En la Bios se selecciona la pestantildea ldquoBootrdquo y dentro de ese mismo menuacute se deshabilita
ldquoSilent bootrdquo y se habilita la opcioacuten de ldquoPXE boot to lanrdquo como se muestra en la Figura 34
Finalmente hay que verificar que en la secuencia de arranque (Figura 35) como primer
dispositivo sea desde red para que de esta manera inicie desde el PXE
Figura 34 Bios Boot PXE (Fuente Elaboracioacuten propia)
63
Se guardan los cambios antes de salir
32 Instalacioacuten de Sistema Operativo Rocks
Una vez configurados los equipos se enciende el equipo que seraacute el nodo maestro
(FrontEnd) en el cuaacutel previamente se ha modificado la secuencia de inicio del boot desde la Bios
de modo que al insertar el CD de Rocks eacuteste procederaacute a iniciar la instalacioacuten con la siguiente
pantalla que se muestra a continuacioacuten
Figura 35 Bios Boot device prioriry (Fuente Elaboracioacuten propia)
64
Para iniciar la instalacioacuten uacutenicamente se selecciona la opcioacuten ldquoInstall CentOS 7rdquo como se
muestra en la Figura 36 dando asiacute comienzo al proceso de instalacioacuten Tras finalizar un proceso
de carga en memoria Rocks mostraraacute un formulario en entorno graacutefico mediante el cual
procederemos a configurar el FrontEnd
Esta primera pantalla se muestra coacutemo se desea realizar la instalacioacuten puede realizarse
por medio de la descarga del sistema operativo (se requiere internet) En este caso como se muestra
en la Figura 37 dado que previamente se descargoacute el DVD completo se seleccionoacute ldquoCDDVD
based rollsrdquo
Figura 36 Pantalla de Inicio de instalacioacuten de Rocks (Fuente Elaboracioacuten propia)
65
A continuacioacuten Figura 38 se selecciona de la lista de Rolls aquellos que se desean instalar
Figura 37 Pantalla de seleccioacuten de Rolls (Fuente Elaboracioacuten propia)
Figura 38 Listado de opciones de rolls para instalar (Fuente Elaboracioacuten propia)
66
Tras presionar el botoacuten ldquoSubmitrdquo la siguiente pantalla (Figura 39) muestra formulario en
el que hay que indicar la informacioacuten baacutesica del cluacutester entre las cuales aparecen
Fully-Qualified Host Name Nombre con el que se conoceraacute en la red externa el cluacutester
Cluster Name Nombre utilizado para ser identificado dentro de las herramientas del cluacutester
Certificate Organization Locality State and Country Organizacioacuten a la que pertenece el
cluacutester la localidad el estado y la ciudad
Contact URL and LattitudeLongitude Contacto direccioacuten web y posicioacuten GPS
Figura 39 Informacioacuten baacutesica del cluacutester a instalar (Fuente Elaboracioacuten propia)
67
Una vez que se ingresa la informacioacuten al cluacutester se presiona el botoacuten ldquoListordquo y
posteriormente se podraacute cambiar la configuracioacuten baacutesica de la red interna del cluacutester En este caso
Figura 310 se dejoacute el valor por defecto una IP de clase B (1011116)
El siguiente paso es la configuracioacuten de la red externa (para tener acceso a internet) En
este punto se introducen los datos de la red externa a la que se encuentra conectado el nodo
maestro como se muestra en la Figura 311
Figura 310 Configuracioacuten Ethernet de la red privada (Fuente Elaboracioacuten propia)
Figura 311 Configuracioacuten Ethernet de la red puacuteblica (Fuente Elaboracioacuten propia)
68
Para terminar de configurar la red externa como se muestra en la Figura 312 se ingresa la
direccioacuten IP del Gateway y los DNS (Servidor de nombre de dominio) que va a usar para el acceso
a internet
Se continuacutea con el resto del formulario donde se introduce la contrasentildea para el usuario
root tal y como se muestran en la Figura 313
Figura 312 Configuracioacuten de DNS y Gateway (Fuente Elaboracioacuten propia)
Figura 313 Ingresar contrasentildea de usuario root (Fuente Elaboracioacuten propia)
69
Paso siguiente se procede a seleccionar la zona horaria como se muestra en la Figura 314
donde se encuentra ubicado el cluacutester asiacute como un servidor de donde podraacute obtener la zona horaria
automaacuteticamente en este caso se dejoacute el valor por default
En el formulario de la Figura 315 se selecciona la forma de particionar el disco duro
(automaacutetica manual) una vez seleccionado daraacute comienzo al proceso de instalacioacuten de manera
Figura 314 Configuracioacuten horaria (Fuente Elaboracioacuten propia)
Figura 315 Particiones del disco duro (Fuente Elaboracioacuten propia)
70
desatendida Cuando ha concluido la instalacioacuten el equipo se reiniciaraacute y se requeriraacute iniciar con
el usuario root y la contrasentildea establecida previamente
321 Configuracioacuten del teclado Debido a que el teclado por defecto estaacute en idioma
ingleacutes podriacutea provocar problemas al momento de escribir la contrasentildea u otros comandos
Seguacuten las pruebas realizadas aunque se cambie la configuracioacuten del teclado desde el menuacute
de preferencias uacutenicamente se mantiene dentro de la sesioacuten desde la que se ha cambiado dicha
opcioacuten (lo cual implica que la contrasentildea de usuario hay que introducirla seguacuten la distribucioacuten
inglesa)
33 Instalacioacuten de los nodos
Previo a la instalacioacuten de los nodos esclavos cada uno de los equipos fueron configurados
desde la Bios para que arranquen desde la red (seccioacuten 3122) Para ir antildeadiendo los nodos solo
se tiene que introducir el siguiente comando desde nuestro FrontEnd
$insert-ethers
A continuacioacuten como se muestra en la Figura 316 apareceraacute una ventana en la pantalla
en la cual se seleccionaraacute la opcioacuten ldquoComputerdquo
71
Una vez realizado este paso se procede a encender los equipos que funcionaraacuten como
nodos esclavos uno a uno
Se sugiere esperar a que cada nuevo equipo encendido esteacute marcado con un asterisco antes
de proceder a encender el siguiente como se muestra en la Figura 317 De esta manera se asegura
que cada nuevo nodo antildeadido posea el nombre y numeracioacuten deseada
Figura 316 Pantalla para ingresar nodos (Fuente Elaboracioacuten propia)
Figura 317 Indicador de insercioacuten de nuevos nodos (Fuente Elaboracioacuten propia)
72
Puede darse el caso de que un nodo no sea detectado automaacuteticamente eso indica que se
ha omitido alguacuten paso o parte de la configuracioacuten realizada hasta el momento es incorrecta En ese
caso comprobar lo siguiente
Que el nodo esclavo este correctamente conectado a la red interna
Que el FrontEnd (nodo maestro) tenga correctamente configurada la red interna y externa
Que el PXE esteacute habilitado en la Bios del nodo esclavo
331 Administracioacuten de nodos Algunos de los comandos maacutes uacutetiles para para la gestioacuten
de los nodos son los siguientes
Eliminar un nodo de la lista
Reinstalar un nodo
Listar los nodos ya instalados
Acceder a un nodo
$rocks remove host nombre_nodo
$rocks remove host nombre_nodo
$rocks set host boot nombre_nodo action=install
$rocks set host boot nombre_nodo action=install
$rocks list host
$rocks list host
$ssh nombre_nodo
$ssh nombre_nodo
73
Ejecutar un comando de manera remota a un nodo
332 Creacioacuten de cuentas de usuario Para agregar a un usuario hay que realizar los
siguientes pasos
1 Creacioacuten de la cuenta
$useradd nombre_usuario
2 Asignacioacuten de una contrasentildea
$passwd nombre_usuario
3 Sincronizacioacuten de la cuenta de usuario con el resto de nodos
$rocks-user-sync
333 Configuracioacuten del directorio compartido El directorio share es compartido por el
FrontEnd y el resto de nodos se localiza dentro del FrontEnd en la carpeta exports siendo la
carpeta share un enlace simboacutelico a esta uacuteltima
Al principio es posible que no se sincronicen correctamente los archivos introducidos en el
directorio debido a que la carpeta inicialmente estaacute vaciacutea por lo que para solucionar este
inconveniente puede usarse el comando siguiente para reiniciar dicho servicio
$ssh nombre_nodo lsquocomandorsquo
$ssh nombre_nodo lsquocomandorsquo
$cd
$export fs ndashrv
service nfs restart
$cd
$export fs ndashrv
service nfs restart
74
34 Operaciones baacutesicas de Rocks
Comandos y aplicaciones esenciales para el manejo del cluacutester
Ver que rolls estaacuten instalados
$rocks list roll
Visualizar el estado del sistema Figura 318
$qstat ndashf
Probar el sistema de colas para distribuir tareas a los nodos
Para ello se prueba que el SGE del cluacutester funcione enviaacutendole una serie de trabajos
mediante el comando qsub
En primer lugar se crea un fichero (pruebapl) que tenga permisos de ejecucioacuten con el
siguiente contenido
Figura 318 Comando qstat ndashf (Fuente Elaboracioacuten propia)
75
usrbinperl
for(my $i=0$ilt30$i++) sleep(2) print okn
Y se ejecuta con el siguiente comando
$ for ((i=1ilt=10i+=1)) do qsub pruebapl done
Al ejecutarse se puede comprobar que los trabajos se han mandado Figura 319
Y al realizar de nuevo un ldquoqstat ndashfrdquo Figura 320 se observa coacutemo se van realizando
Figura 319 Enviacuteo de trabajos por medio del comando qsub (Fuente Elaboracioacuten propia)
Figura 320 Estado de los trabajos pendientes mostrados por qstat ndashf (Fuente Elaboracioacuten propia)
76
Para ver la carga de trabajo en el cluacutester de manera global y de forma graacutefica se tiene que
ingresar en un navegador web en la siguiente direccioacuten httplocalhostganglia apareceraacute la
Figura 321
Figura 321 Visualizacioacuten de la distribucioacuten de cargas en el cluacutester usando la herramienta Ganglia (Fuente Elaboracioacuten propia)
77
Capiacutetulo 4 Metodologiacutea y Resultados
Una vez finalizada la instalacioacuten y puesta en operacioacuten del equipo se analizaron diferentes
metodologiacuteas de trabajo lo que implicoacute un trabajo arduo debido a que existen complicaciones
cuando se buscan temas relacionados a vulnerar sistemas operativos La realizacioacuten de este
proyecto estaacute basado en la metodologiacutea de Joshua Picolet ldquoCracking Methodologyrdquo (Picolet
2017)
41 Obtener Archivo hash
Se pueden vulnerar contrasentildeas de Windows de diferentes maneras Una de ellas es
mediante el acceso al archivo del Administrador de cuentas de seguridad (SAM) el cual se detalla
en el apartado 253 a traveacutes de la obtencioacuten de las contrasentildeas del sistema en su forma hash por
medio de herramientas diferentes Alternativamente las contrasentildeas se pueden leer desde la
memoria lo que tiene el beneficio adicional de recuperar las contrasentildeas en texto plano y evitar el
requisito de descifrado Para comprender los formatos que se observan cuando se descarguen
hashes del sistema de Windows se requiere una breve descripcioacuten de los diferentes formatos de
almacenamiento
Originalmente las contrasentildeas de Windows de menos de 15 caracteres se almacenaban en
el formato hash de Lan Manager (LM) Algunos sistemas operativos como Windows 2000 XP y
Server 2003 continuacutean usando estos hashes a menos que esteacuten deshabilitados por el usuario
Ocasionalmente un sistema operativo como Windows Vista puede almacenar el hash LM para la
compatibilidad con otros sistemas Seguacuten analistas incluye varias vulnerabilidades como dividir
78
la contrasentildea en dos bloques y permitir que cada uno se descifre de forma independiente Mediante
el uso de tablas Rainbow es trivial descifrar una contrasentildea almacenada en un hash LM
independientemente de la complejidad Este hash se almacena con la misma contrasentildea calculada
en el formato de hash NT como el que se muestra en el siguiente ejemplo
Ejemplo de un hash NTLM con el componente LM y NT
Administrator500611D6F6E763B902934544489FCC9192BB71ED1E7F2B60ED5A2
EDD28379D45C91
Los sistemas operativos Windows maacutes recientes como el Windows 8 y 10 usan el hash NT
En teacuterminos simples no hay una debilidad significativa en este hash que lo diferencie de cualquier
otra funcioacuten hash criptograacutefica Se requieren meacutetodos de descifrado como lo es la fuerza bruta o
ataque de diccionario para recuperar la contrasentildea si uacutenicamente se almacena en el formato NT
Ejemplo de un hash NTLM uacutenicamente con el componente NT (como se ve en los sistemas
Windows mas recientes
Administrator500NOPASSWORDEC054D40119570A4663
4350291AF0F72
Es importante sentildealar que la cadena NO PASSWORD es variable seguacuten la herramienta
que se utilice Otras pueden presentar esta informacioacuten como ceros rellenos o comuacutenmente puede
79
ver la cadena ldquoAAD3B435B51404EEAAD3B435B51404EErdquo en lugar de ninguna contrasentildea
Esto significa que el hash LM estaacute vaciacuteo y no estaacute almacenado
El archivo hash se encuentran en el directorio ldquoWindows System32 configrdquo y se
necesitan ambos archivos SAM y SYSTEM Ademaacutes tambieacuten se encuentran en el archivo de
registro HKEY_LOCAL_MACHINE SAM al que no se puede acceder durante el tiempo de
ejecucioacuten Finalmente las copias de seguridad se pueden encontrar a menudo en ldquoWindows
Repairrdquo (Peleus 2019)
Para extraer el archivo hash de un sistema operativo con un nivel de seguridad C1 existen
diferentes meacutetodos en esta ocasioacuten se procederaacute a iniciar el equipo objetivo con una distribucioacuten
de Linux desde una memoria USB como se muestra en la figura 41 para de esta manera ingresar
al directorio CWINDOWSSystem32Config directorio de ubicacioacuten de los archivos SAM y
SYSTEM que son los necesarios para obtener el archivo hash (Caballero 2018)
Figura 41 Arranque con LiveUSB KaliLinux (Fuente Elaboracioacuten propia)
80
42 Dar Formato al Hash
En este punto es donde se tiene que identificar el algoritmo con el que fueron encriptados
los archivos SAM y SYSTEM que se han obtenido en el punto anterior con la finalidad de
seleccionar el tratamiento que se les daraacute El algoritmo de encriptacioacuten del archivo SAM de
Windows 10 es NTLM y ademaacutes estaacute almacenado en un formato binario (ByteBleeder 2017) por
lo que fue necesario instalar la herramienta con licencia GNU samdump2 para obtener la syskey y
de esta manera poder extraer los hash desde el archivo SAM de Windows
En la figura 42 se han obtenido los hashes del archivo SAM donde se puede observar que
los usuarios Administrador e Invitado estaacuten deshabilitados ademaacutes de que existen tres cuentas de
usuario activas las cuales son Gad prueba y usuarioprueba cada una con su contrasentildea cifrada
en formato NTLM a la derecha del nombre de usuario la cuenta usuarioprueba fue a la que se le
realizoacute el anaacutelisis que se detalla posteriormente
43 Evaluar la fuerza del Hash
En criptografiacutea se dice que un algoritmo criptograacutefico se rompe si por alguacuten meacutetodo se
consigue reducir su fortaleza es decir reducir por ejemplo su entropiacutea de los 2256 bits teoacutericos a
Figura 42 Resultado de la ejecucioacuten de la herramienta samdump2 (Fuente Elaboracioacuten propia)
81
tan soacutelo 2255 por ejemplo El hecho de que se encuentre una colisioacuten no implica necesariamente
que un algoritmo se haya roto pues podriacutea haber sido realizado mediante fuerza bruta pero puede
ser una causa
Un ataque de colisioacuten significa que encuentro dos entradas diferentes que producen el
mismo resultado de un hash particular Este es generalmente el tipo de ataque maacutes faacutecil Es el tipo
de ataque que se conoce desde hace varios antildeos contra MD5
Dado que una utilidad importante de las funciones hash estaacute en las firmas digitales
encontrar colisiones puede facilitar falsificar firmas digitales Es decir dos mensajes distintos que
tengan un mismo resumen tienen ademaacutes la misma firma y un atacante puede reemplazar un
mensaje por el otro Un ejemplo de este ataque fue demostrado en 2008 por un grupo de
investigadores en Aacutemsterdam los cuales falsificaron un certificado raiacutez mediante el uso de un
ataque de colisioacuten contra el algoritmo MD5 (Preukschat 2015)
Un ataque previo a la imagen generalmente es mucho maacutes difiacutecil es encontrar otra entrada
que produzca el mismo resultado que un hash que ya se conoce
Para tratar de aclarar la diferencia aquiacute en un ataque de colisioacuten encuentro dos entradas A
y B que producen el mismo resultado En un ataque de preimagen comienzo a partir de alguacuten
resultado conocido X y encuentro una entrada que produciraacute X como resultado (Coffin 2015)
82
Para realizar esta evaluacioacuten se tomoacute como base la tabla del apeacutendice Hash craking
benchmark (Picolet 2017) el objetivo es observar el comportamiento y velocidad del Hash
mencionado cuando fue sometido a pruebas de criptoanaacutelisis Si se trata de un Hash lento se deberaacute
ser maacutes selectivo en queacute tipos de diccionarios y meacutetodos de criptoanaacutelisis se le debe aplicar Si es
un Hash raacutepido se puede ser maacutes libre con la estrategia de criptoanaacutelisis Este estudio busca
realizar una prueba de criptoanaacutelisis mostrando las diferencias entre el poder de procesamiento de
un cluacutester de 17 nodos contra una computadora personal por lo que no necesariamente se
implementaraacute el meacutetodo oacuteptimo para la realizacioacuten del criptoanaacutelisis
44 Calcular la capacidad del equipo
Con la informacioacuten de la evaluacioacuten de la fuerza del Hash obtenida en el apartado anterior en
este apartado se tiene que establecer la capacidad de la plataforma o plataformas que realizaraacuten
el criptoanaacutelisis
Para conocer la capacidad de procesamiento del cluacutester de alto rendimiento se utilizoacute la
herramienta Linpack Benchmark HPL es una implementacioacuten portaacutetil del Benchmark de alto
rendimiento LINPACK para equipos de coacutemputo distribuido Actualmente se utiliza para obtener
varios resultados en la lista actual de Top500 de HP cluacutesters (Dongarra 2010)
El Linpack Benchmark (HPL del Ingleacutes High-Performance Linpack Bench-mark) es un
software que resuelve un sistema lineal aleatorio de doble precisioacuten aritmeacutetica (64 bits) en equipos
de memoria distribuida El rendimiento muestra el nuacutemero de operaciones de punto flotante por
segundo logradas por el sistema (Petitet Whaley Dongarra amp Cleary 2008)
83
El HPL fue desarrollado en el Argone National Laboratory por Jack Don-garra en 1976 y
es uno de los maacutes usados en sistemas cientiacuteficos y de ingenieriacutea para el caacutelculo de prestaciones
Las principales caracteriacutesticas del algoritmo utilizado por el HPL son
Distribucioacuten ciacuteclica de datos de bloques de dos dimensiones
Variante derecha de la factorizacioacuten LU con pivoteo parcial (Teacutecnica de pivoteo
Dicta que el elemento pivote que debe escogerse es el mayor absolutamente de cada
columna)
Factorizacioacuten recursiva con pivoteo y reenviacuteo de columna
Distintas topologiacuteas virtuales de reenviacuteos
Algoritmo de reduccioacuten de reenviacuteo para ancho de banda (Castelloacute Gimeno 2014)
La resolucioacuten del sistema de ecuaciones se realiza del siguiente modo
1 Se crea un sistema de ecuaciones
(1)
119860119909 = 119887
(2)
119860 isin 119877119899119909119899
(3)
119909 119887 isin 119877119899
84
HPL calcula que la solucioacuten para un sistema de ecuaciones lineales se puede generalizar
como 119860119909 = 119887 donde 119860 es una matriz 119873 119909 119873 cuyos valores se generan aleatoriamente
119909 119910 119887 son vectores de tamantildeo 119873 Como se muestra en la Figura 43
2 Primero se calcula la factorizacioacuten 119871119880 con pivoteo parcial de los coeficientes 119899 y 119899 + 1
de la matriz [119860 119887]
(4)
119875119903[119860 119887] = [[119871119880] 119910]
(5)
119875119903 119871 119880 isin 119877119899119909119899
(6)
119910 isin 119877119899
El primer paso es la factorizacioacuten de la matriz 119860 en una matriz triangular superior 119880
y una matriz triangular inferior 119871 tal que 119860 = 119871119880 La factorizacioacuten se usa para calcular
el vector solucioacuten 119909
3 Una vez el pivoteo (representado por la permutacioacuten de la matriz 119875119903) y la factorizacioacuten
inferior se aplican sobre 119887 la solucioacuten se obtiene en un paso resolviendo el sistema
superior triangular
Figura 43 Sistema de Ecuaciones tipo 119860119909 = 119887 (Fuente Elaboracioacuten propia)
85
(7)
119880119909 = 119910
La matriz triangular inferior izquierda y el conjunto de pivotes no se devuelven en el
resultado Para la estabilidad numeacuterica el algoritmo de factorizacioacuten utiliza un pivote parcial de
fila
La implementacioacuten paralela de Linpack divide la matriz 119860 119873 119909 119873 en una cuadriacutecula de
procesos 119875 119909 119876 bidimensional y luego la divide en subgrupos de mosaicos 119873119861 119909 119873119861 (Petitet
Whaley Dongarra amp Cleary 2008)
Utilizando la herramienta HPL en esta investigacioacuten se obtuvieron los siguientes
resultados
La prueba abordoacute el ajuste de 119873 y la eficiencia obtenida en comparacioacuten con el rendimiento
maacuteximo Se determinoacute un valor para 119873 = 800000 aleatoriamente para ejecutar HPL en todo el
cluacutester Sin embargo el tiempo fue excesivo por lo tanto se determinoacute que este tamantildeo del
problema fue demasiado grande para el cluacutester Al realizar otros experimentos con valores maacutes
pequentildeos de 119873 se obtuvieron mejores resultados de rendimiento La Tabla 41 muestra el
rendimiento de HPL en GFlops para 119873 = 300000 400000 y 500000 Como se puede observar
en la Tabla 41 se obtuvo el mejor resultado de rendimiento 850 GFlops para 119873 = 500000 para
valores mayores de 119873 la distribucioacuten de cargas del cluacutester empieza a sobrepasar su capacidad como
se muestra en la Figura 44 y la vez su rendimiento disminuye Esto ocurre porque la cantidad de
memoria utilizada con las memorias intermedias de comunicacioacuten MPI es mayor de lo esperado
Por lo tanto es necesario dejar maacutes del 20 de la memoria para el sistema (Petitet Whaley
86
Dongarra amp Cleary 2008) Tambieacuten se realizaron pruebas usando solo un nodo de coacutemputo y el
rendimiento fue de 34 GFlops para 119873 = 20000
Tabla 41 Rendimiento de HP cluacutester (Fuente Elaboracioacuten propia)
Analizando la eficiencia obtenida para la ejecucioacuten de un solo nodo cuando 119873 = 20000
se obtuvo el 823 del rendimiento maacuteximo (el rendimiento maacuteximo para un solo nodo es 477
Gflops) Para todo el cluacutester el rendimiento maacuteximo seriacutea 119879119898119886119909 = 477 119909 17 =
8109 119866119891119897119900119901119904 aproximadamente
Figura 44 Distribucioacuten de cargas del cluacutester
0
500
1000
300000 400000 500000
Gflops
Gflops
87
La Figura 44 titulada ldquoDistribucioacuten de cargas del cluacutesterrdquo muestra la imagen de la
herramienta Ganglia de manera graacutefica a traveacutes de cuadros que variacutean de color dependiendo de la
carga que tenga cada uno de los nodos al momento de implementar la herramienta HPL De manera
inicial indica que el cluacutester tiene un total de 17 equipos de 4 cores cada uno eso da un total de 68
cores trabajando sin equipos inactivos Muestra tambieacuten una sobrecarga en el cluacutester y un
porcentaje promedio de 100 de uso en la uacuteltima hora
45 Establecer Estrategia
Esto significa uacutenicamente que en este apartado se realizaraacute una guiacutea baacutesica para procesar
los hashes obtenidos sin perder de vista que cada escenario a criptoanalizar es uacutenico en funcioacuten
de las circunstancias externas Como ya se ha mencionado anteriormente esta estrategia de
criptoanaacutelisis se ha planteado implementar dos meacutetodos los cuales son Fuerza Bruta y ataque de
diccionario sin importar si son o no los oacuteptimos debido a que se realizaraacute una comparativa de
capacidad de procesamiento
451 Fuerza Bruta Una vez que se han intentado varios meacutetodos y han fallado se puede
iniciar un ataque de fuerza bruta estaacutendar poniendo especial atencioacuten en la cantidad de siacutembolos
del alfabeto que puede usar el equipo a analizar Por encima de 8 caracteres esto generalmente no
tiene sentido debido a limitaciones de hardware y entropiacutea (complejidad de la contrasentildea) Una
contrasentildea de Windows seguacuten Microsoft (Microsoft Inc 2019) una contrasentildea de Windows debe
estaacute formada por
88
26 Caracteres mayuacutesculas de la ldquoArdquo a la ldquoZrdquo
26 Caracteres minuacutesculas de la ldquoardquo a la ldquozrdquo
10 Diacutegitos de base 10 (0 a 9)
32 Caracteres especiales (~$^amp_-+=|()[]ltgt)
94 Caracteres alfanumeacutericos en total
4511 Cantidad de combinaciones posibles Si se usa una clave numeacuterica (nuacutemeros del 0
al 9) existen 10 posibilidades de 4 diacutegitos de longitud que es la extensioacuten por defecto de los
teleacutefonos celulares Para 4 diacutegitos las combinaciones posibles seriacutean 10 mil 104 = 10000
(Labaca Castro 2014)
Por otro lado si tomamos un alfabeto de 26 letras mayuacutesculas y 26 minuacutesculas 10 nuacutemeros
y 10 caracteres especiales en total tenemos 72 diferentes posibilidades para un uacutenico caraacutecter Eso
significa que las combinaciones para una contrasentildea de 4 caracteres seriacutean 724 = 26873856
Baacutesicamente maacutes de 26 millones de combinaciones en una clave de 4 caracteres contra 10 mil en
una clave de 4 diacutegitos numeacutericos En este estudio se utiliza la contrasentildea de bloqueo descrita en el
apartado anterior que es de 94 combinaciones para cada caraacutecter teniendo una longitud de 7
caracteres por lo tanto seraacuten 947 = 64847759000000 de posibles combinaciones que
nuestros equipos deben explorar para obtener la contrasentildea correcta
Como se mencionoacute en el apartado 42 el usuario sobre el cual se realizoacute el criptoanaacutelisis
fue usuarioprueba el cual constaba de una contrasentildea de longitud 7 caracteres la cual despueacutes
de realizado el anaacutelisis y como se puede observar en la Figura 45
89
1 Anaacutelisis a usuario usuarioprueba
2 Nuacutemero de nodos en operacioacuten 17
3 Nuacutemero de procesos ejecutaacutendose de forma paralela 68
4 Tiempo de duracioacuten del anaacutelisis en el cluacutester 122727 horas
5 Contrasentildea criptoanalizada Pass7
Asiacute mismo en la Tabla 42 se muestra el resultado final y el tiempo de duracioacuten del
criptoanaacutelisis realizado al archivo SAM con el cluacutester y la computadora personal
Tabla 42 Resultados de criptoanaacutelisis de archivo SAM (Fuente Elaboracioacuten propia)
Nodos Nuacutecleos Tiempo de Procesamiento (Horas)
1 (PC) 4 1075316
17 (Cluacutester) 68 122727
1
2
3
4 5
Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester (Fuente Elaboracioacuten propia)
90
452 Diccionario Meacutetodo empleado para romper la seguridad de los sistemas basados en
contrasentildeas (password) en la que el atacante intenta dar con la clave adecuada probando todas (o
casi todas) las palabras posibles ingresadas previamente en un diccionario idiomaacutetico
Generalmente se emplean programas especiales que se encargan de ello
Este meacutetodo suele ser maacutes eficiente que el meacutetodo de fuerza bruta debido a que muchas
usuarios casi siempre suelen utilizar contrasentildeas con una o varias palabras existentes en su lengua
para que la contrasentildea no sea olvidada faacutecilmente y sea sencilla de recordar esto no es una praacutectica
recomendable (Alegsa 2018)
Para realizar este meacutetodo se utilizoacute un diccionario descargado de internet el cual contiene
10000000 de posibles contrasentildeas (g0tmi1k 2018)
Ademaacutes se ejecutoacute un programa creado en lenguaje C (Anexo 1) a traveacutes de la
implementacioacuten de las libreriacuteas MPI y open MPI propias de la arquitectura de cluacutester de
computadoras Este programa fue ejecutado en los mismos equipos descritos anteriormente para
obtener todos los nuacutemeros primos encontrados dentro de un intervalo dado En este caso el
intervalo dado fue de 10000000 con los siguientes resultados mostrados en la Tabla 43
Tabla 43 Resultados de ejecucioacuten de programa en C para la obtencioacuten de nuacutemeros primos (Fuente Elaboracioacuten
propia)
Nodos Nuacutecleos Tiempo de Procesamiento (Segs)
1 (PC) 4 5078
17 (Cluacutester) 68 00013
91
453 Analizar los resultados Posterior a realizar el criptoanaacutelisis y descifrar con eacutexito
una cantidad suficiente de hashes se analizan los resultados en busca de pistas o patrones Este
anaacutelisis puede ayudar a tener eacutexito en cualquier hash restante
454 Personalizar ataques Tomando como base el anaacutelisis de resultados realizado
previamente se disentildearaacuten diversas estrategias personalizadas que aprovechen las vulnerabilidades
conocidas o patrones Los ejemplos seriacutean ataques de maacutescara personalizados o reglas para
adaptarse al comportamiento o las preferencias del usuario objetivo
92
Conclusioacuten
El trabajo de investigacioacuten presentado parte de la necesidad de buscar alternativas para
explotar al maacuteximo la capacidad de procesamiento del equipo de coacutemputo que existe actualmente
dentro del inventario del Instituto Tecnoloacutegico de Acapulco asiacute como proveer una plataforma que
coadyuve a la investigacioacuten dentro del Instituto a traveacutes de implementar un cluacutester de coacutemputo
con capacidad para realizar proyectos en el aacuterea de ingenieriacutea y matemaacuteticas con el fin de optimizar
el tiempo de ejecucioacuten lo cual en un futuro se veraacute reflejado en ventajas para el desarrollo de la
regioacuten
La revisioacuten y anaacutelisis de informacioacuten en relacioacuten a cluacutesters es muy interesante pero a la
vez es compleja dado que involucra diferentes aspectos durante su evolucioacuten asiacute como diversas
metodologiacuteas para su formacioacuten e implementacioacuten Se considera de suma importancia para este
trabajo las revisiones efectuadas ya que son la base para la propuesta entregada
De acuerdo a las especificaciones teacutecnicas de los equipos informaacuteticos existentes dentro
del laboratorio de la Maestriacutea en Sistemas Computacionales y una vez que se realizoacute el anaacutelisis
de varios casos de eacutexito se propuso la metodologiacutea para implementacioacuten de un cluacutester homogeacuteneo
tipo Beowolf Este meacutetodo estaacute basado en otros que ya se han implementado bajo realidades
acadeacutemicas similares rescatando las etapas maacutes importantes de cada uno y complementaacutendolo con
los aportes personales se consideroacute que fue el oacuteptimo debido a que se implementoacute con hardware
convencional y herramientas de uso libre
93
El hecho de haber seleccionado un meacutetodo adecuado permitioacute superar gran parte los
problemas que presentaban las metodologiacuteas que fueron analizadas simplificoacute la implementacioacuten
del cluacutester y permitioacute el poder alcanzar una mayor estabilidad en su desempentildeo desde su etapa
inicial fue importante conocer el resultado en cada una de las etapas de implementacioacuten para
asegurar su desenvolvimiento en el futuro
Para integrar los equipos independientes a la arquitectura cluacutester se realizoacute el disentildeo de
una topologiacutea de red Gigabit Ethernet tipo estrella con un direccionamiento IP estaacutetico la
configuracioacuten de protocolos de comunicacioacuten remota sin autenticacioacuten la comparticioacuten de
archivos en red y la utilizacioacuten de aplicaciones de licencia GPL que permiten obtener el
funcionamiento similar a la de una supercomputadora
Haciendo uso de libreriacuteas de paso de mensajes (MPI) y el software John the Ripper para el
descifrado de contrasentildeas la arquitectura cluacutester implementada alcanzoacute una eficiencia de 885
de rendimiento en comparacioacuten con los recursos computacionales de un solo equipo con las
caracteriacutesticas de un nodo Ademaacutes otros de los proyectos ejecutados en la arquitectura cluacutester
para probar el rendimiento fue la ejecucioacuten de un programa para la deteccioacuten de nuacutemeros primos
dentro de un archivo de 10000000 de nuacutemeros obteniendo una eficiencia de maacutes de 99 gracias
a la distribucioacuten de tareas que proporcionan las libreriacuteas de paso de mensajes (MPI) dentro de la
arquitectura cluacutester
Con la implementacioacuten de la arquitectura cluacutester el laboratorio de la Maestriacutea en Sistemas
Computacionales podraacute dar soluciones potentes eficientes y econoacutemicas en los entornos de
94
investigacioacuten mejorando la capacidad de procesamiento en aplicaciones como evaluacioacuten de
algoritmos compresioacuten de archivos renderizacioacuten de imaacutegenes anaacutelisis de datos (big data) en un
tiempo relativamente bajo ideal para las necesidades educativas
La experiencia obtenida al realizar esta investigacioacuten y propuesta ha sido enriquecedora
tanto por la obtencioacuten de conocimiento en base a la historia evolucioacuten y arquitectura de cluacutesters
asiacute como la programacioacuten paralela y sus ventajas en diferentes proyectos desarrollados en todo el
mundo Igualmente la comparacioacuten entre cada uno de los modelos y meacutetodos resulta interesante
dado que existe un sinnuacutemero de ejemplos con caracteriacutesticas diferentes pero baacutesicamente con un
mismo objetivo final
Trabajo Futuro
El cluacutester implementado en el Laboratorio de la Maestriacutea en Sistemas computacionales del
Instituto Tecnoloacutegico de Acapulco puede ser utilizado en gran cantidad de aplicaciones dentro de
las diferentes aacutereas de investigacioacuten del Instituto asiacute como estar disponible para el Departamento
de Posgrado e Investigacioacuten como apoyo durante la realizacioacuten de tareas y proyectos dentro de las
aacutereas de Desarrollo de Sistemas Inteligentes asiacute como de Tecnologiacuteas Web
Propuesta de Trabajo a Futuro
Durante la realizacioacuten de este proyecto se observoacute la necesidad que existe dentro del
departamento de Investigacioacuten y Posgrado de equipos de alta capacidad de procesamiento para
realizar de una manera maacutes eficiente las investigaciones que se estaacuten llevando a cabo Una de ellas
es el ldquoSistema de apoyo al diagnoacutestico oportuno de Retinopatiacutea Diabeacuteticardquo en la cual a traveacutes del
entrenamiento de una red neuronal se clasificaraacuten y evaluaraacuten un nuacutemero de 3000 imaacutegenes para
95
demostrar la presencia de dicha enfermedad en pacientes del Instituto Estatal de Oftalmologiacutea
Actualmente se ha realizado una prueba de entrenamiento de dicha red neuronal con 70 imaacutegenes
obteniendo como resultado un tiempo clasificacioacuten y evaluacioacuten de 301532 horas en un equipo
con un procesador Core I7 con 8 GB en memoria RAM
96
Bibliografiacutea
Alegsa (01 de 01 de 2018) Alegsa Diccionario Informaacutetico Recuperado el 07 de 2019 de
Alegsa httpwwwalegsacomarDicataque_por_diccionariophp
Avecto (2017) Avecto Limited Recuperado el 10 de 08 de 2018 de AVECTO a Bomgar
Company wwwavectocom
Borghello C (2009) Seguridad de la Informacioacuten Recuperado el 11 de 2018 de Criptografiacutea de
la A-Z httpswwwsegu-infocomarproyectosp1_hashhtm
Branch Bedoya J amp Mesa Muacutenera A (Diciembre de 2008) Implementacioacuten de un cluster
homogeacuteneo para la resolucioacuten de problemas de alta complejidad computacional Avances
en Sistemas e Informaacutetica 5(3)
ByteBleeder (02 de 06 de 2017) Practical guide to NTLM Relaying in 2017 Obtenido de Github
httpsbyt3bl33d3rgithubiopractical-guide-to-ntlm-relaying-in-2017-aka-getting-a-
foothold-in-under-5-minuteshtml
Caballero A (26 de 06 de 2018) Hacking Eacutetico Recuperado el 03 de 2019 de John The Ripper
httpwwwreydescomdq=Recuperar_la_Contrasena_del_Administrador_utilizando_s
amdump2_y_John_The_Ripper
Carretero Peacuterez J de Miguel Anasagasti P Garciacutea Carballeira F amp Peacuterez Costoya F (2001)
Sistemas Operativos Una visioacuten aplicada (C F Madrid Ed) Madrid Espantildea
McGRAW-HillInteramericana
Castelloacute Gimeno A (30 de 07 de 2014) Universitat Jaume Recuperado el 10 de 2019 de
Evaluacioacuten de prestaciones mediante laaplicacioacuten HPL de clusters utilizandorCUDA
97
httprepositoriujiesxmluibitstreamhandle10234115082TFM_2014_CastelloGimen
oApdfsequence=1ampisAllowed=y
Chaacutevez J Echeverriacutea C Correa M Vaacutezquez E Suaacuterez M Maacutermol X Diacuteaz G (07 de
1999) Centro de Caacutelculo Cientiacutefico Recuperado el 01 de 05 de 2018 de Universidad de
Los Andes httpwwwcecalculavedocumentaciontutorialesbeowulfinformehtml
Chirinov R (2003) Nfinite9000 SL Recuperado el 26 de 04 de 2018 de Noticias 3D
httpswwwnoticias3dcomarticuloaspidarticulo=248amppag=4
Coffin J (23 de 07 de 2015) Quora Recuperado el 15 de 08 de 2019 de
httpswwwquoracomWhat-does-it-mean-when-a-hashing-algorithm-has-been-broken
Dongarra J (2010) Top500 Super computer sites Recuperado el 07 de 2019 de http
wwwtop500org
Educba (01 de 01 de 2019) Recuperado el 10 de 2019 de Educbaorg
httpswwweducbacomidea-algorithm
europa press (04 de 06 de 2013) Portal Tic Recuperado el 18 de 11 de 2018 de Europa Press
httpswwweuropapressesportalticgadgetsnoticia-cuarta-generacion-intel-core-mayor-
salto-cuanto-ahorro-energetico-20130604174722html
g0tmi1k (2018) github Recuperado el 05 de 2019 de github
httpsgithubcomdanielmiesslerSecListsblobmasterPasswordsCommon-
Credentials10-million-password-list-top-1000000txt
Gonzaacutelez Agudelo D (2014) El riesgo y la falta de politicas de seguridad informaacutetica una
amenaza en las empresas certificadas basc Recuperado el 20 de 05 de 2018 de
Universidad Militar Nueva Granada
httpsrepositoryunimilitareducobitstream10654122511ENSAYO20FINALpdf
98
Gonzaacutelez Ramiacuterez E amp Rodriacuteguez Saacutenchez A (2008) Disentildeo e implementacioacuten de un cluster
tipo BEOWULF para el desarrollo de coacutemputo cientiacutefico avanzado CdMx Mexico
Hernandez M (2013) Forensics Mexico Recuperado el 07 de 2018 de La importancia del
registro de Windows parte 1 httpforensicsmexicoblogspotcom201309la-
importancia-del-registro-de-windowshtml
Kowalczyk C (01 de 2015) Crypto-IT Recuperado el 11 de 2018 de Crypto-IT
httpwwwcrypto-itnetengasymmetricindexhtml
Labaca Castro R (13 de 06 de 2014) We live security Recuperado el 2019 de 08 de 07 de
Welivesecuritybyeset httpswwwwelivesecuritycomla-es20140613matematica-
claves-numerica-alfanumerica
Lizaacuterraga C (2002) Departamento de Fiacutesica Recuperado el 12 de 03 de 2018 de Universidad
de Sonora httpclustersfisicausonmx
Llorens E amp Pentildea M (2002) Recuperado el 04 de 2018 de Departament dArquitectura de
Computadors httppersonalsacupceduenricPFCBeowulfbeowulfhtml
Meneacutendez-Barzanallana R (07 de 08 de 17) Universidad de Murcia Recuperado el 11 de 2018
de Informaacutetica Aplicada a las Ciencias Sociales
httpswwwumesdocenciabarzanaIACCSSCriptografiahtml
Merkle R amp Damgaringrd I (sf) Numerenturorg Recuperado el 06 de 2019 de Para computar -
numerenturorg httpnumerenturorgfuncion-merkle-damgard
Microsoft Inc (02 de 05 de 2019) wwwmicrosoftcom Obtenido de Password must meet
complexity requirements httpsdocsmicrosoftcomes-eswindowssecuritythreat-
protectionsecurity-policy-settingspassword-must-meet-complexity-requirements
99
Mifsud E (26 de 03 de 2012) Introduccioacuten a la seguridad informaacutetica Recuperado el 07 de 05
de 2018 de Ministerio de educacioacuten cultura y deportes Gobierno de Espantildea
httprecursosticeducacionesobservatoriowebessoftwaresoftware-general1040-
introduccion-a-la-seguridad-informaticashowall=1
Murugesan S (01 de 02 de 2008) Researchgate doi101109MITP200810
Nahar K amp Abu Abbas O (01 de 2010) Researchgate Recuperado el 07 de 2019 de
Researchgate
httpswwwresearchgatenetpublication315492522_Hybrid_Cipher_System
Nievas F Pino O amp Arroyo R (sf) Los clusters como Plataforma de Procesamiento Paralelo
Recuperado el 25 de 04 de 2018 de
httpusuarioslycoseslacaraocultadescargasClusters_definitivo pdf
Pawar S (2016) A computer science portal for geeks Recuperado el 10 de 2018 de
Geeksforgeeks httpswwwgeeksforgeeksorgrc5-encryption-algorithm
Peleus (2019) NETSEC Recuperado el 08 de 2019 de httpsnetsecwsp=314
Peacuterez Tavera I (2014) Obtenido de Universidad Autonoma del Estado de Hidalgo
httpswwwuaehedumxscigeboletinprepa4n2e4html
Peacuterez M (2001) Recuperado el 15 de 04 de 2018 de
httpwwwdragonesorgBibliotecaArticulosArquitecturaParalela2pdf
Petitet A Whaley R C Dongarra J amp Cleary A (2008) HPL - A Portable Implementation of
the High-Performance Linpack Benchmark for Distributed-Memory Computers
Recuperado el 07 de 2019 de httpwwwnetliborgbenchmarkhpl
Picolet J (2017) Hash Crack Password Cracking Manual (Vol 2) Createspace Independent
Pub
100
Preukschat A (23 de 02 de 2015) Oro y Finanzas Recuperado el 07 de 2019 de
httpswwworoyfinanzascom201502que-es-colision-criptografia-bitcoin
Robbins D (2008) OpenMosix Recuperado el 22 de 04 de 2018 de the openMosix Project
httpopenmosixsourceforgenetintroduction_to_openmosixhtml
Rocha Quezada J d Botello Rionda S Vargas Feacutelix J M amp Munguiacutea Torres I A (Sep-Dic
de 2011) Disentildeo e implementacioacuten de un cluacutester de coacutemputo de alto rendimiento Acta
Universitaria 21(3) 24-33 Recuperado el 1 de 12 de 2018
Rocksclusters (01 de 01 de 2010) httpwwwrocksclustersorg Recuperado el 01 de 06 de 2018
de httpwwwrocksclustersorg httpwwwrocksclustersorg
Sanjoy K (01 de 01 de 2015) DZone Recuperado el 15 de 06 de 2019 de DZone
httpsdzonecomarticlessecurity-algorithms-des-algorithm
Security Degree Hub (01 de 2017) Security Degree Hub Recuperado el 13 de 02 de 2019 de
Security Degree Hub httpswwwsecuritydegreehubcomwhat-is-cryptanalysis
Simmons G (01 de 01 de 2019) Encyclopedia Britannica Recuperado el 08 de 2019 de
Encyclopedia Britannica httpswwwbritannicacomtopicRSA-encryption
statista (09 de 2017) Statista Obtenido de Statista Co httpsesstatistacom
Turner D (2004) Recuperado el 12 de 02 de 2018 de Ames Lab
httpwwwsclameslabgovProjectsparrallel_computingpara_intohtml
United States Government Department of Defense (1983) Trusted Computer System Evaluation
Criteria Rainbow Series
Universidad Internacional de Valencia (09 de Septiembre de 2016) Nuestros
expertosTecnologiacutea Recuperado el 27 de Abril de 2018 de Universidad Internacional de
Valencia httpswwwuniversidadviuesla-seguridad-informatica-puede-ayudarme
101
Wallen J (19 de 01 de 2019) Lifewire Recuperado el 13 de 06 de 2019 de Lifewire
httpswwwlifewirecomgnome-3-desktop-4175640
Yang H (01 de 02 de 2019) Herong Yang Recuperado el 15 de 06 de 2019 de Cryptography
Tutorials httpwwwherongyangcomCryptographyDSA-Introduction-What-Is-DSA-
Digital-Signature-Algorithmhtml
102
Anexo 1
Programa en Lenguaje C para la obtencioacuten de nuacutemeros primos utilizando libreriacuteas mpi
include ltcstdlibgt
include ltiostreamgt
include ltiomanipgt
include ltcmathgt
include ltctimegt
include mpih
using namespace std
int main ( int argc char argv[] )
int prime_number ( int n int id int p )
void timestamp ( )
int main ( int argc char argv[] )
int i
int id
int master = 0
int n
int n_factor
int n_hi
int n_lo
int p
int primes
int primes_part
double wtime
n_lo = 1
n_hi = 10000000
n_factor = 2
MPIInit ( argc argv )
p = MPICOMM_WORLDGet_size ( )
id = MPICOMM_WORLDGet_rank ( )
if ( id == master )
cout ltlt n
cout ltlt Cuenta primosn
cout ltlt C++MPI versionn
cout ltlt n
cout ltlt Programa para contar cantidad de primos para un N dadon
cout ltlt Corriendo en ltlt p ltlt procesosn
cout ltlt n
103
cout ltlt N S Tiempon
cout ltlt n
n = n_lo
while ( n lt= n_hi )
if ( id == master )
wtime = MPIWtime ( )
MPICOMM_WORLDBcast ( ampn 1 MPIINT master )
primes_part = prime_number ( n id p )
MPICOMM_WORLDReduce ( ampprimes_part ampprimes 1 MPIINT
MPISUM
master )
if ( id == master )
wtime = MPIWtime ( ) - wtime
cout ltlt ltlt setw(8) ltlt n
ltlt ltlt setw(8) ltlt primes
ltlt ltlt setw(14) ltlt wtime ltlt n
n = n n_factor
MPIFinalize ( )
if ( id == master )
cout ltlt n
cout ltlt PRIME_MPI - Procesos maestron
cout ltlt Finalizacion del calculo normaln
return 0
int prime_number ( int n int id int p )
int i
int j
int prime
int total
104
total = 0
for ( i = 2 + id i lt= n i = i + p )
prime = 1
for ( j = 2 j lt i j++ )
if ( ( i j ) == 0 )
prime = 0
break
total = total + prime
return total
void timestamp ( )
define TIME_SIZE 40
static char time_buffer[TIME_SIZE]
const struct tm tm
size_t len
time_t now
now = time ( NULL )
tm = localtime ( ampnow )
len = strftime ( time_buffer TIME_SIZE d B Y IMS p tm )
cout ltlt time_buffer ltlt n
return
undef TIME_SIZE
ix
272 Mosix 56
273 OpenMosix 57
Capiacutetulo 3 Implementacioacuten de Cluacutester 59 31 Requisitos previos 59
311 Conexioacuten de los equipos y acceso a la red 59
312 Configuracioacuten de la BIOS 60
3121 ATAIDE Mode 60
3122 PXE 62
32 Instalacioacuten de Sistema Operativo Rocks 63
321 Configuracioacuten del teclado 70
33 Instalacioacuten de los nodos 70
331 Administracioacuten de nodos 72
332 Creacioacuten de cuentas de usuario 73
333 Configuracioacuten del directorio compartido 73
34 Operaciones baacutesicas de Rocks 74
Capiacutetulo 4 Metodologiacutea y Resultados 77 41 Obtener Archivo hash 77
42 Dar Formato al Hash 80
43 Evaluar la fuerza del Hash 80
44 Calcular la capacidad del equipo 82
45 Establecer Estrategia 87
451 Fuerza Bruta 87
4511 Cantidad de combinaciones posibles 88
452 Diccionario 90
453 Analizar los resultados 91
454 Personalizar ataques 91
Conclusioacuten 92
Trabajo Futuro 94 Propuesta de Trabajo a Futuro 94
Bibliografiacutea 96
Anexo 1 102
x
Iacutendice de Figuras
Figura 31 Esquema tiacutepico de configuracioacuten de un cluacutester xi
Figura 32 Imagen del Bios del equipo en la opcioacuten ldquodrive configurationrdquo 61
Figura 33 Bios ATAIDE Legacy Mode 61
Figura 34 Bios Boot PXE 62
Figura 35 Bios Boot device prioriry 63
Figura 36 Pantalla de Inicio de instalacioacuten de Rocks 64
Figura 37 Pantalla de seleccioacuten de Rolls 65
Figura 38 Listado de opciones de rolls para instalar 65
Figura 39 Informacioacuten baacutesica del cluacutester a instalar 66
Figura 310 Configuracioacuten Ethernet de la red privada 67
Figura 311 Configuracioacuten Ethernet de la red puacuteblica 67
Figura 312 Configuracioacuten de DNS y Gateway 68
Figura 313 Ingresar contrasentildea de usuario root 68
Figura 314 Configuracioacuten horaria 69
Figura 315 Particiones del disco duro 69
Figura 316 Pantalla para ingresar nodos 71
Figura 317 Indicador de insercioacuten de nuevos nodos 71
Figura 318 Comando qstat ndashf 74
Figura 319 Enviacuteo de trabajos por medio del comando qsub 75
Figura 320 Estado de los trabajos pendientes mostrados por qstat ndashf 75
Figura 321 Visualizacioacuten de la distribucioacuten de cargas en el cluacutester usando la herramienta
Ganglia 76
Figura 41 Arranque con LiveUSB KaliLinux 79
Figura 42 Resultado de la ejecucioacuten de la herramienta samdump2 80
Figura 43 Sistema de Ecuaciones tipo 119860119909 = 119887 Fuente Propia 84 Figura 44 Distribucioacuten de cargas del cluacutester 86
Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester 89
xi
Iacutendice de Tablas
Tabla 11 Costo del Proyecto 15
Tabla 41 Rendimiento de HP cluacutester (Fuente Elaboracioacuten propia) 86
Tabla 42 Resultados de criptoanaacutelisis de archivo SAM (Fuente Elaboracioacuten propia) 89
Tabla 43 Resultados de ejecucioacuten de programa en C para la obtencioacuten de nuacutemeros primos
(Fuente Elaboracioacuten propia) 90
1
Capiacutetulo 1 Introduccioacuten
11 Antecedentes del problema
Sin lugar a duda una de las herramientas maacutes importantes producida en el siglo XX ha sido
la computadora la cual ha provocado cambios vertiginosos en la sociedad y en el progreso de la
misma En la actualidad el entorno estaacute praacutecticamente controlado por las nuevas tecnologiacuteas que
a medida que transcurre el tiempo avanzan sin liacutemites y en ocasiones son utilizadas
incorrectamente provocando dantildeos de grandes dimensiones
Los trascendentales cambios operados en el mundo moderno caracterizados por su
constante desarrollo la acelerada globalizacioacuten de la economiacutea la acentuada dependencia a
almacenar grandes voluacutemenes de informacioacuten y los sistemas que la proveen aunado a grandes
inversiones de las empresas en conocimiento actual y futuro en sistemas de informacioacuten ademaacutes
del potencial que poseen las tecnologiacuteas para cambiar draacutesticamente las organizaciones y las
praacutecticas de negocio asiacute como crear nuevas oportunidades disentildear nuevas estructuras tecnoloacutegicas
basadas en informacioacuten la convierte en un activo codiciable Tales avances hacen permanente el
riesgo en las tecnologiacuteas y nos llevan a pensar en la problemaacutetica sobre la seguridad informaacutetica
La proteccioacuten de datos documentos y control de acceso a la informacioacuten es un tema que
cada diacutea toma maacutes fuerza en las grandes compantildeiacuteas debido a las diferentes praacutecticas de
especialistas tecnoloacutegicos como los son los hackers y crackers que roban informacioacuten vital para
posteriormente sacar provecho de ella
2
ldquoDesde la aparicioacuten de los grandes sistemas aislados hasta nuestros diacuteas en los que el
trabajo en red es lo habitual los problemas derivados de la seguridad de la informacioacuten han ido
tambieacuten cambiando evolucionando pero estaacuten ahiacute y las soluciones han tenido que ir adaptaacutendose
a los nuevos requerimientos teacutecnicos Aumenta la sofisticacioacuten en el ataque y ello aumenta la
complejidad de la solucioacuten pero la esencia es la mismardquo (Mifsud 2012)
Dentro del mundo actual la informacioacuten es denominada un activo importante de una
institucioacuten la cual debe ser protegida para evitar su peacuterdida modificacioacuten o el uso inadecuado de
su contenido
El extraviacuteo o el mal uso de informacioacuten que para alguien es confidencial genera dantildeos y
repercusiones directas relacionadas a la integridad disponibilidad y confidencialidad de los
archivos y a su vez a los duentildeos de dicha informacioacuten
ldquoLa seguridad informaacutetica se distingue por tener dos propoacutesitos de seguridad la Seguridad
de la Informacioacuten y la Proteccioacuten de Datos estos se diferencian debido a que los datos son valores
numeacutericos que soportan la informacioacuten mientras que la informacioacuten es aquello que tiene un
significado para nosotrosrdquo (Gonzaacutelez Agudelo 2014)
La seguridad informaacutetica consiste en asegurar que los recursos del sistema de informacioacuten
(material informaacutetico o programas) de una organizacioacuten sean utilizados de la manera que se decidioacute
3
inicialmente y que el acceso a la informacioacuten alliacute contenida asiacute como su modificacioacuten soacutelo sea
posible a las personas que se encuentren acreditadas y dentro de los liacutemites de su autorizacioacuten
Actualmente hay mucha informacioacuten circulando en internet por ejemplo correos
electroacutenicos publicaciones en Twitter Facebook videos fotos comercio electroacutenico secretos de
estado militares o industriales Lamentablemente dicha red es puacuteblica e insegura dentro de la cual
existen usuarios bien intencionados y muchos mal intencionados Diariamente encontramos
noticias de sitios con intrusiones mal intencionadas (hackeados) clonacioacuten de tarjeta de creacutedito o
imaacutegenes adulteradas Todo lo anterior motiva la necesidad de proteger la informacioacuten a traveacutes de
mecanismos que impidan a los usuarios no autorizados acceder a dicha informacioacuten
4
12 Planteamiento del Problema
Los sistemas de informacioacuten actuales estaacuten relacionados completamente con la exposicioacuten
de su informacioacuten a entidades externas que son ajenas a la organizacioacuten o delegacioacuten a la que
pertenecen
Cuando no se conoce el alcance que tienen los sistemas informaacuteticos ni lo vulnerables que
pueden ser si son expuestos a Internet por los mismos empleados de la organizacioacuten puede darse
ldquofugardquo de informacioacuten hacia el exterior esto los hace vulnerables a eventos y amenazas que
conllevan a riesgos que pueden provocar peacuterdidas tangibles e intangibles las cuales se traducen
en peacuterdidas que en muchos de los casos por decir lo menos seraacuten monetarias
El portal espantildeol de estadiacutesticas statista muestra la cuota de mercado de los principales
sistemas operativos a nivel mundial a fecha de febrero de 2017 seguacuten el nuacutemero de instalaciones
(statista 2017) Windows 10 fue el segundo sistema operativo maacutes instalado con una cuota de
mercado de 253 Esto significa que alrededor de una de cada cuatro computadoras estaacute
gobernado por este sistema operativo Por su parte en el caso de Windows 7 el porcentaje se situacutea
por encima del 45 a pesar de que ya no se vende ninguacuten PC con este sistema operativo Hablando
de manera conjunta los sistemas operativos Windows cuentan con una cuota del mercado global
de 8857
La empresa de seguridad informaacutetica Britaacutenica Avecto informoacute en su Microsoft
Vulnerabilities Report 2017 (Avecto 2017) (reporte 2017 de vulnerabilidades de Windows) un
aumento de vulnerabilidades publicadas del 111 en los uacuteltimos 5 antildeos de las cuales 235 criacuteticas
5
fueron mitigadas removiendo permisos de administrador asiacute como otras muy importantes
enfocadas al Administrador de Cuentas de Seguridad (SAM Security Account Manager por sus
siglas en ingleacutes) la cual es una base de datos almacenada como un archivo del registro en Windows
y que almacena las contrasentildeas de los usuarios en un formato hash (Algoritmos que crean a partir
de una entrada una salida alfanumeacuterica de longitud fija)
6
13 Objetivos
131 Objetivo General A traveacutes de la implementacioacuten de un procedimiento de fuerza
bruta utilizando para ello un cluacutester de alto rendimiento asiacute como software de uso libre lograr
capacidad de procesamiento capaz de vulnerar un sistema de autenticacioacuten nivel C1
132 Objetivos Especiacuteficos
Analizar los diferentes niveles de seguridad de sistemas operativos
Analizar diferentes meacutetodos de criptoanaacutelisis para vulnerar el Administrador de
cuentas de seguridad
Estudiar las teacutecnicas de agrupamiento de computadoras (clustering) para la
obtencioacuten de mayor poder de procesamiento
Implementar un cluacutester de alto rendimiento en el Laboratorio de la Maestriacutea en
Sistemas Computacionales del Instituto Tecnoloacutegico de Acapulco para ejecutar
operaciones de coacutemputo distribuido
7
14 Justificacioacuten
Antes la seguridad de la informacioacuten se realizaba a traveacutes de medios fiacutesicos por ejemplo
una caja fuerte en la cual las personas resguardaban objetos o informacioacuten valiosa para ellos Con
la introduccioacuten de las computadoras y el uso de internet los usuarios comienzan a almacenar
informacioacuten importante dentro de sus equipos por lo que se considera indispensable el uso de
herramientas que brinden proteccioacuten a la informacioacuten que se encuentra resguardada dentro de
eacutestas Los usuarios informaacuteticos suelen enviar informacioacuten por la red en las empresas al realizar
traacutemites o enviar informes a socios jefes entre otros
El resguardo de informacioacuten siempre ha sido importante para los seres humanos con la
diferencia que anteriormente no se contaba con los avances tecnoloacutegicos que tenemos actualmente
puesto que con la introduccioacuten de internet y el uso de dispositivos electroacutenicos se tiene mayor
riesgo de la informacioacuten que en ellos se maneja
La proteccioacuten del contenido de los datos es una necesidad urgente en casi todos los aacutembitos
de la sociedad incluyendo los servicios puacuteblicos y privados por lo que la tecnologiacutea de la
seguridad de los sistemas de cifrado se encuentra de frente a verdaderos retos
15 Hipoacutetesis
A traveacutes de un de fuerza bruta como teacutecnica de criptoanaacutelisis y con la ayuda de una mayor
capacidad de procesamiento mediante la implementacioacuten de agrupamiento de computadoras
(cluacutester) de alto rendimiento seraacute posible encontrar alguna vulnerabilidad dentro del sistema de
administracioacuten de cuentas de seguridad de Windows server 2012
8
16 Alcances y Limitaciones
Esta tesis se centraraacute en el sistema operativo Windows como objeto de estudio al cual se
le realizaraacute el criptoanaacutelisis
La tesis se enfocaraacute en el meacutetodo Beowulf para realizar el agrupamiento de computadoras
asiacute como la distribucioacuten de software libre del sistema operativo Linux Rocks
El nuacutemero de equipos disponibles para poder realizar el agrupamiento es de 17
computadoras hasta lograr el poder de coacutemputo de 800 Gflops
17 Impacto Social Tecnoloacutegico Econoacutemico y Ambiental
La sostenibilidad del presente proyecto seraacute abordada a partir de los siguientes aspectos
171 Impacto social A veces se puede pensar que un cluacutester de alto rendimiento pudiera
no tener alguacuten impacto directo en el medio social pero si nos enfocamos a un punto de vista en
donde gracias a la capacidad de procesamiento de estas maacutequinas han sido parte fundamental en
el desarrollo de proyectos que inciden de manera directa en beneficio de la sociedad en la que
vivimos como lo es la medicina la fiacutesica quiacutemica
Este proyecto busca beneficiar a nuestra sociedad proveyendo su capacidad de
procesamiento en la buacutesqueda de alguna vulnerabilidad en el sistema operativo maacutes utilizado hoy
en diacutea como lo es Windows ademaacutes de que estaraacute disponible para la comunidad cientiacutefica y
9
estudiantil del Instituto Tecnoloacutegico de Acapulco para optimizar tiempo de caacutelculo en futuras
investigaciones
172 Impacto ambiental Green IT tambieacuten conocido como Green Computing o
traducido al espantildeol como Tecnologiacuteas Informaacuteticas Verdes es definido como el estudio y la
praacutectica de disentildear desarrollar usar y disponer de computadoras servidores y diferentes
perifeacutericos tales como monitores impresoras dispositivos de almacenamiento de redes y
comunicaciones eficientemente y efectivamente con un impacto miacutenimo o nulo en el medio
ambiente (Murugesan 2008)
Bajo la premisa anterior este proyecto hace uso de los equipos con los que cuenta
actualmente el laboratorio de la Maestriacutea en Sistemas Computacionales lo cual evitaraacute la
adquisicioacuten de equipo nuevo y por consecuencia desechar el equipo existente evitando desperdicio
electroacutenico Dicho equipo cuenta con un procesador Intel I3 de 4ta generacioacuten lo cual seguacuten el
portal electroacutenico Europa press
ldquoEsta nueva generacioacuten supone el mayor salto en cuanto ahorro energeacutetico de la historia
de Intel asiacute como una mejora en los graacuteficos y nuevas experiencias de usuariordquo (europa press
2013)
Teniendo como base estos dos puntos importantes como lo son la reutilizacioacuten de equipo
y utilizando procesadores de bajo consumo energeacutetico es como este proyecto busca contribuir de
manera positiva con el medio ambiente
10
173 Impacto econoacutemico Actualmente existe una gran necesidad de procesar grandes
cantidades de datos lo cual hace imprescindible disponer de maacutequinas con estas caracteriacutesticas sin
embargo su alta complejidad aunado al gran costo hace que en instituciones de caraacutecter puacuteblico
sea muy complicado conseguir recurso para este fin Sin embargo un cluacutester de alto rendimiento
reutilizaraacute equipo propio evitando asiacute gastos por concepto de adquisicioacuten de equipo siendo de
esta manera viable para instituciones de caraacutecter puacuteblico
18 Metodologiacutea a Utilizar
181 Anaacutelisis Despueacutes de analizar las diferentes metodologiacuteas de clustering se optoacute por
desarrollar e implementar un cluacutester de alto rendimiento (HPC)
182 Disentildeo
1821 Economiacutea Debido a las caracteriacutesticas del equipo con el cual cuenta el Laboratorios
de la Maestriacutea en Sistemas Computacionales los componentes utilizados para este proyecto son
considerados de uso comuacuten y de bajo costo lo cual los hace faacutecilmente reemplazables en caso de
fallo a un costo accesible El equipo es de la marca Acer Aspire modelos AXC-605-M021 lo cual
nos hace tener ventaja y respaldo del fabricante con respecto a hardware geneacuterico
1822 Instalaciones Un cluacutester requiere de un ambiente controlado Esto es una
habitacioacuten especial con sistema de enfriamiento capacidad suficiente de carga eleacutectrica control
de humedad y un ambiente libre de polvo Ademaacutes se deben considerar el peso del equipo sobre
el piso (ya sea falso o piso normal) Se recomienda colocarlo en los soacutetanos o en la plata baja de
edificios (Rocha Quezada Botello Rionda Vargas Feacutelix amp Munguiacutea Torres 2011)
11
En el laboratorio de la Maestriacutea en Sistemas Computacionales se cuenta con espacio que
reuniacutea la mayoriacutea de las caracteriacutesticas requeridas para este proyecto
1823 Escalabilidad Un cluacutester debe ser faacutecilmente escalable y a su vez confiable Por
tal motivo se ha utilizado equipo de marca lo cual nos proporciona maacutes de confiabilidad en su
desempentildeo y a su vez facilidad de aumentar el nuacutemero de equipos si en un futuro fuese necesario
agrandar este proyecto Se armoacute un cluacutester de cinco computadoras con procesadores Intel Core I3
de 64 bits en cada nodo La memoria incluida y perifeacutericos son faacuteciles de adquirir en el mercado
1824 Red En la parte de redes se utilizoacute un switch fast Ethernet con una velocidad de 1
Gbps el cual tiene tazas de transferencia raacutepida y el costo es notablemente maacutes econoacutemico que
uno de fibra oacuteptica
El cableado seleccionado fue el estaacutendar UTP de cobre con la norma Gigabit Ethernet de
IEEE 8023ab con la categoriacutea de cableado 6e que soporta tazas de transferencia de datos de
1000Base T (1 Gbps)
1825 Software
ldquoEl sistema operativo debe constar con servicios dedicados para compartir y respaldar
archivos asiacute como capacidad de acceder a los datos de trabajo raacutepidamente El sistema operativo
debe tambieacuten proveer servicios de monitoreo y reporte de fallas en el sistemardquo (Rocha Quezada
Botello Rionda Vargas Feacutelix amp Munguiacutea Torres 2011)
12
Existe una gran variedad de software para instalar cluacutester de alto rendimiento sin embargo
como se ha comentado con anterioridad el costo de adquisicioacuten debe ser accesible por tal motivo
se optoacute por una distribucioacuten con licencia GNU de Linux Rocks Cluster la cual es una distribucioacuten
sencilla de instalar y configurar en comparacioacuten con otras distribuciones analizadas dicha
distribucioacuten estaacute basada en CentOS que a su vez estaacute basada en la conocida distribucioacuten de Linux
Red Hat
1826 Almacenamiento Para este proyecto no se requeriraacute un gran espacio de
almacenamiento por tal motivo los equipos utilizados tanto maestro como esclavos mantuvieron
sus unidades de disco originales las cuales son de 1 TB de almacenamiento
183 Implementacioacuten La implementacioacuten del cluacutester de alto rendimiento fue realizada
dentro de las instalaciones del Laboratorio de la Maestriacutea en Sistemas Computacionales del
Instituto Tecnoloacutegico de Acapulco construido inicialmente para este proyecto de criptoanaacutelisis lo
cual requeriraacute suficiente capacidad de procesamiento para poder implementar ataques de fuerza
bruta a sistemas operativos Las caracteriacutesticas del cluacutester construido son
1831 Software El software instalado en cada uno de los nodos es el siguiente
bull Sistema operativo Rocks Cluacutester Linux 74 (64 bits)
bull Libreriacutea de manejo de mensajes Open-MPI 153
bull Software de monitoreo Ganglia
13
1832 Hardware El cluacutester estaacute compuesto de 17 equipos con las siguientes
caracteriacutesticas
bull Nodo Maestro y 16 Nodos Esclavos
- Procesador Intel Core I3 4150 (4 nuacutecleos) Memoria 6 GB Disco Duro SATA 1 TB
tarjeta de Red Gigabit Ethernet
El hardware adicional es el siguiente
bull Interconexioacuten de Red
bull Switch Cisco 26 puertos 1Gbps modelo SG200 Red interna
1833 Recursos totales del cluacutester
bull Nuacutecleos de unidades de procesamiento (cores) 68
bull Capacidad en memoria 92 GB
bull Capacidad en disco 17 TB
19 Aseguramiento Teacutecnico ndash Material
A continuacioacuten se muestra el desglose del equipo utilizado para la elaboracioacuten de un
cluacutester de alto rendimiento estos componentes consisten en Hardware y Software especializado
asiacute como los costos de produccioacuten y personal involucrados en la metodologiacutea y elaboracioacuten del
proyecto
Costos de Hardware
Costos de Software
14
191 Hardware En este punto se refleja el costo de los dispositivos y herramientas a nivel
fiacutesico las cuales sirvieron para la implementacioacuten del proyecto cluacutester de alto rendimiento Cabe
resaltar que el equipo utilizado forma parte del inventario actual del Laboratorio motivo por el
cual su utilizacioacuten no causoacute erogacioacuten alguna sin embargo la investigacioacuten de costos se realizoacute
con la finalidad que el lector pueda establecer comparativas y buscar alternativas en caso de ajuste
de presupuesto
1911 Equipo de coacutemputo El equipo de coacutemputo utilizado consta de diecisiete
computadoras las cuales serviraacuten una para Nodo Maestro y las dieciseacuteis restantes como Nodos
Esclavos
La descripcioacuten de estos equipos se muestra en la tabla a continuacioacuten mostrando los costos
de todos los equipos utilizados dentro del proyecto
15
Tabla 11 Costo del Proyecto
Modelo
Cantidad
Caracteriacutesticas
Costos
PC - Acer AXC-
605
17
Procesador Intel Core i3
Pantalla 156rdquo
Disco duro 1TB HDD
RAM 6GB
Salida HDMI
Tarjeta de graacuteficos INTEGRADA
Lector de CD
Los costos en el mercado de una PC de
escritorio con estas caracteriacutesticas tiene un
valor aproximado de $600000 pesos
(Moneda nacional Mexicana)
Switch Cisco
Gigabit Ethernet
1
Modelo SG200 de 26 puertos
Costo en el mercado alrededor de
$2000000 pesos MN
Total
12200000 pesos MN
16
Capiacutetulo 2 Estado del Arte
Tiacutetulo del Trabajo Introduccioacuten a la Criptografiacutea
Autor Gibraacuten Granados Paredes
Fecha Julio 2010
Lugar Ciudad de Meacutexico
Publicado en Coordinacioacuten de Publicaciones Digitales DGSCA-UNAM
httpwwwrevistaunammxvol7num7art55int55htm
Siacutentesis Cuando se desea tener seguridad hablando en aacutembitos informaacuteticos la
criptografiacutea es una herramienta muy uacutetil el autor lo entiende tambieacuten como un medio para
garantizar las propiedades de confidencialidad integridad y disponibilidad de los recursos de un
sistema
Con la criptografiacutea se puede garantizar las propiedades de integridad y confidencialidad
pero hay que saber coacutemo utilizarla para ello es importante tener claros los conceptos baacutesicos que
estaacuten detraacutes de los sistemas criptograacuteficos modernos Estos conceptos van desde entender queacute es
la criptografiacutea coacutemo estaacute clasificada entender el funcionamiento baacutesico de algunos sistemas de
cifrado y conocer coacutemo se forman los documentos digitales como firmas y sobres digitales
Resultados El autor realiza un viaje por un gran nuacutemero de conceptos utilizados en
criptografiacutea el inicio y la clasificacioacuten de la misma asiacute como la criptografiacutea claacutesica y moderna y
analiza de manera breve algunos meacutetodos de cifrado maacutes comunes
17
Tiacutetulo del Trabajo Criptoanaacutelisis sobre meacutetodos claacutesicos de cifrado
Autores Sebastiaacuten Goacutemez Juan David Arias Diego Agudelo
Fecha 2 de mayo 2013
Lugar Ciudad de Meacutexico
Publicado en Scientia et Technica Antildeo XVII No 50 abril de 2012
Siacutentesis Los algoritmos criptograacuteficos utilizados desde la antigua Roma hasta nuestros
diacuteas son meacutetodos que convierten un mensaje de texto plano a cifrado al proceso inverso se le
conoce como descifrar Este artiacuteculo realiza un estudio de algunas teacutecnicas de encriptacioacuten claacutesicas
del siglo pasado como lo son el cifrado de Cesar y el cifrado de Vigeneacutere asiacute como muestra
teacutecnicas baacutesicas y modernas de criptoanaacutelisis basadas en la teoriacutea de la informacioacuten y estadiacutestica
como lo son la entropiacutea y el ataque de maacutexima correlacioacuten Las teacutecnicas de criptoanaacutelisis descritas
anteriormente pueden ser usadas en otros meacutetodos de cifrado siempre y cuando esteacuten presentes las
mismas debilidades
Resultados Los autores implementaron en lenguajes de programacioacuten Python un
algoritmo para el caacutelculo de entropiacutea para diferentes longitudes de clave Para la implementacioacuten
de los algoritmos de cifrado y descifrado de Vigeneacutere y de maacutexima correlacioacuten utilizaron lenguaje
de programacioacuten C++ Se probaron los meacutetodos anteriormente descritos sobre textos planos de
diferentes longitudes logrando un resultado de 9385 de efectividad en promedio
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de dos de los
algoritmos de encriptacioacuten maacutes antiguos y baacutesicos pero sobre todo que conociendo los meacutetodos
de criptoanaacutelisis me permitiraacuten analizar debilidades y fortalezas de algoritmos
18
Tiacutetulo del Trabajo ULTRACOM Computacioacuten de Alto Rendimiento para Criptoanaacutelisis
Autor Antonio Castro Lechtaler Alejandro Repetto Martiacuten Bianchi Marcelo Cipriano
Alejandro Arroyo Arzubi Ceacutesar Cicerchia Eduardo Malvacio
Fecha octubre 2014
Lugar Buenos Aires Argentina
Publicado en XX Congreso Argentino de Ciencias de la Computacioacuten (Buenos Aires
2014)
Siacutentesis La generacioacuten de nuacutemeros primos fundamentales para la produccioacuten de claves
el anaacutelisis de secuencias pseudo-aleatorias los procesos de verificacioacuten y validacioacuten de algoritmos
de seguridad en un sentido geneacuterico requieren enormes cantidades de procesamiento Los
procesos relacionados con la matemaacutetica criptograacutefica se caracterizan por la alta necesidad de
coacutemputo El objetivo de ULTRACOM es desarrollar una computacioacuten distribuida multipropoacutesito
que permita como primera aplicacioacuten real el anaacutelisis la validacioacuten y la ejecucioacuten de pruebas de
estreacutes sobre sistemas criptograacuteficos El presente trabajo de investigacioacuten detalla el proceso de
desarrollo de ULTRACOM y muestra un ejemplo de su implementacioacuten en una versioacuten Beta Para
ello toman como entrada dos versiones del algoritmo Trivium Utilizando la misma
infraestructura y sin desarrollo extra se prueban grandes voluacutemenes de claves y vectores de
inicializacioacuten de los algoritmos en busca de secuencias deacutebiles de menor longitud que la de la
buscada
Resultados El equipo implementoacute una versioacuten beta de la plataforma ULTRACOM
comprobando la factibilidad y viabilidad teacutecnica de la generalizacioacuten de la infraestructura de
computacioacuten distribuida en grilla (malla) BOINC Este avance permite extender los horizontes de
BOINC y habilita la posibilidad de obtener la capacidad de coacutemputo de alto rendimiento a bajo
19
costo Concluyeron que ULTRACOM es un proyecto viable escalable y de alto impacto para la
evaluacioacuten y validacioacuten de algoritmos criptograacuteficos
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento y la
implementacioacuten de una arquitectura de computacioacuten distribuida y una vez siendo factible su
desarrollo utilizar su poder de coacutemputo atacando a traveacutes de un algoritmo un sistema criptograacutefico
20
Tiacutetulo del Trabajo Criptografiacutea Cuaacutentica
Autor M Baig
Fecha 2010
Lugar Barcelona Espantildea
Siacutentesis En este artiacuteculo el autor realiza una breve introduccioacuten a la criptografiacutea claacutesica y
la relacioacuten que existe con la teoriacutea de la informacioacuten de Shannon la cual asegura que el cifrado
digital simeacutetrico es secreto y perfecto siempre y cuando se cumplan los tres requisitos
1 La llave ha de ser aleatoria
2 La llave debe usarse soacutelo una vez
3 La llave ha de ser tan larga como el mensaje y de un solo uso debe de estar en posesioacuten
tanto del emisor como del receptor
El punto 3 es el maacutes complicado de cumplir debido a la forma de compartir la llave entre
el emisor y receptor
Maacutes adelante en el artiacuteculo se hace un anaacutelisis sobre otra teacutecnica de criptografiacutea que es el
cifrado digital asimeacutetrico en la que se estudia coacutemo funcionan las llaves privadas y puacuteblicas asiacute
como el meacutetodo de criptograacutefico RSA
Resultados
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento maacutes profundo de
los meacutetodos de criptografiacutea simeacutetricos y asimeacutetricos especiacuteficamente el algoritmo asimeacutetrico
RSA
21
Tiacutetulo del Trabajo La Criptografiacutea Maderista en la Revolucioacuten Mexicana (1910-1911)
Criptoanaacutelisis de una carta cifrada por Gabriel Leyva Solano
Autor Roberto Narvaacuteez
Fecha 2011
Lugar Meacutexico DF
Siacutentesis Este trabajo aborda temas relacionados con las comunicaciones secretas del
movimiento revolucionario comandado por Francisco I Madero a partir de 1910 Se compone de
dos partes la primera es una breve resentildea criacutetica de ejemplos criptograacuteficos del maderismo que
fueron generados entre 1910 y 1911 la segunda describe paso a paso el criptoanaacutelisis que aplicoacute
el autor Roberto Narvaacuteez para desencriptar una carta parcialmente cifrada de Gabriel Leyva Solano
a Francisco I Madero
Resultados El propoacutesito general uacuteltimo es contribuir al conocimiento de la criptografiacutea
mexicana en el siglo XX En lo particular se trata de poner a disposicioacuten de los estudiosos el
contenido completo de la carta de Leyva Solano por primera vez despueacutes de 100 antildeos y al mismo
tiempo someter a la criacutetica teacutecnica e histoacuterica el procedimiento criptoanaliacutetico puesto en operacioacuten
para recuperar el texto plano
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de la teacutecnicas y
estudios realizados en nuestro paiacutes sobre formas y meacutetodos de encriptacioacuten durante la Revolucioacuten
Mexicana incluso mucho antes de la 2ordf Guerra mundial momento donde se registroacute un auge
importante dentro de la criptografiacutea moderna
22
Tiacutetulo de Tesis Anaacutelisis de la programacioacuten concurrente sobre la cpu y gpu en el
desarrollo de fractal build
Autor Joseacute Vicente Anilema Guadalupe
Fecha 2012
Lugar Riobamba Ecuador
Siacutentesis Este trabajo aborda temas relacionados con la geometriacutea euclidiana debido a que
el autor realiza una aplicacioacuten que crea paisajes fractales lo que significa crear un paisaje con una
misma figura geomeacutetrica Lo anterior se traduce en una necesidad de gran poder de coacutemputo para
realizar de una manera eficaz la tarea Dentro de la tesis el autor realiza diversos estudios
comparativos entre el procesamiento serializado realizado por una CPU (unidad central de
procesamiento) y procesamiento paralelizado realizado por una GPU (Unidad grafica de
procesamiento) a traveacutes de diversas herramientas para obtener el mejor aprovechamiento de los
recursos
Resultados El autor concluye que es necesario examinar los algoritmos a utilizar para que
estos puedan ser utilizados en coacutemputo paralelo Ademaacutes de que es necesario aprender ciertas
herramientas a utilizar para aprovechar al maacuteximo el coacutemputo distribuido y no desperdiciar el
poder de procesamiento muy superior que las GPUrsquos nos pueden brindar
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de la teacutecnicas y
estudios realizados para medir y comparar la velocidad de procesamiento de la unidad central de
procesamiento (CPU) y la unidad graacutefica de procesamiento (GPU) Asiacute como la medida en Flops
(Operaciones de punto flotante por segundo)
23
Tiacutetulo del Trabajo Arquitectura cluacutester de alto rendimiento utilizando herramientas de
software libre
Autores Leonardo Chiquiguanca Edyson Malla Freddy Ajila Rene Guamaacuten-Quincheacute
Fecha mayo 2015
Lugar Loja Ecuador
Siacutentesis Este trabajo aborda temas relacionados con la gran cantidad de datos que tienen
que procesar las universidades puacuteblicas dentro de sus investigaciones realizadas en diferentes aacutereas
como la ingenieriacutea medicina etc y la carencia de recursos econoacutemicos para obtener
supercomputadoras que procesen dicha informacioacuten Los autores proponen dentro de su
investigacioacuten la utilizacioacuten de equipo de coacutemputo existente dentro de su universidad y por medio
de software libre realizar agrupamiento de computadoras para poder lograr el procesamiento de
grandes voluacutemenes de datos de una manera accesible
Resultados Los autores concluyen que la mejor arquitectura para el agrupamiento
(cluacutester) de computadoras en ambientes universitarios es la arquitectura Beowulf debido a que la
implementaron en hardware convencional existente dentro de su campus universitario y que
ademaacutes usaron software libre mencionando que el poder de coacutemputo logrado fue muy cercano al
de una supercomputadora
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de las teacutecnicas
utilizadas en ambientes universitarios para la realizacioacuten de agrupamiento de computadoras y
sobre todo la optimizacioacuten de costos para realizar dicha tarea y tener como finalidad el lograr
mayor capacidad de procesamiento
24
Tiacutetulo de Tesis Desarrollo de un algoritmo de cifrado simeacutetrico de resumen
Autores Jonathan Dave Orjuela Navarrete
Antildeo 2008
Lugar Bogotaacute DC
Siacutentesis Esta tesis realiza un estudio de varios meacutetodos de criptografiacutea simeacutetrica para
posteriormente utilizando diferentes foacutermulas matemaacuteticas crear un algoritmo criptograacutefico
nuevo Dentro de la tesis utiliza dos meacutetodos para realizar pruebas a su algoritmo criptoanaacutelisis
diferencial y criptoanaacutelisis basado en fallos de hardware Dentro de los cuales hace un estudio
detallado de las teacutecnicas y herramientas de criptoanaacutelisis realizado a su algoritmo
Resultados El autor concluye de manera positiva con la realizacioacuten del algoritmo y de
manera satisfactoria con la realizacioacuten de criptoanaacutelisis a su algoritmo pudiendo demostrar la
fortaleza del algoritmo a traveacutes de ejemplo de cifrado con textos claro muy parecido y su
conversioacuten a cadenas completamente diferentes
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de criptoanaacutelisis diferencial y criptoanaacutelisis basado en fallos de hardware para la
evaluacioacuten de algoritmos de cifrado simeacutetrico de textos claros
25
Tiacutetulo del Trabajo Firt step in a Pc cluster development with openMosix
Autores Javier Bilbao Gorka Garate
Antildeo 2008
Lugar Bilbao Spain
Siacutentesis En este trabajo se afirma que es posible hacer maacutequinas de alta capacidad de
caacutelculo mediante la interconexioacuten de equipos con redes de alta velocidad A este tipo de sistemas
se les llama sistemas distribuidos y hoy en diacutea es la tecnologiacutea maacutes utilizada para resolver
problemas que requieren una gran capacidad de caacutelculo La agrupacioacuten de computadoras permite
que varias computadoras trabajen juntas para resolver los problemas de informaacutetica comuacuten Este
artiacuteculo centra su estudio en uno de los diferentes meacutetodos de agrupamiento de computadoras
openMosix El trabajo tambieacuten evaluacutea el cluacutester por dos casos de estudio donde se mejora el
tiempo de ejecucioacuten de los problemas resueltos
Resultados El autor del artiacuteculo concluye con la realizacioacuten satisfactoria de agrupamiento
de computadoras bajo el meacutetodo openMosix el cual uacutenicamente permite agrupamiento de la forma
SSI (Single System Image) que se refiere a que uacutenicamente se puede realizar el agrupamiento con
todos los nodos ejecutando un mismo sistema operativo
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de agrupamiento de computadoras openMosix ventajas desventajas y dificultades para
su implementacioacuten
26
Tiacutetulo del Trabajo Disentildeo e implementacioacuten de un cluacutester tipo Beowulf para el desarrollo
de coacutemputo cientiacutefico avanzado
Autores Edgar Rubeacuten Gonzaacutelez Ramiacuterez Abimael Rodriacuteguez Saacutenchez
Antildeo 2008
Lugar Instituto Politeacutecnico Nacional Meacutexico DF
Siacutentesis Este trabajo de tesis ha desarrollado e implementado una herramienta
computacional llamada Cluster Beowulf para mejorar la programacioacuten paralela Comenzando
con la memoria compartida y distribuida el autor implemento el agrupamiento tipo Beowulf
pensando en procesamiento paralelo la optimizacioacuten de las fuentes informaacuteticas El disentildeo se
construye mediante una distribucioacuten Linux Fedora Core 6 a 64 bits utilizando todas las ventajas
que ofrece el estaacutendar Gigabyt Ethernet La programacioacuten paralela fue desarrollada en lenguaje C
tanto para MPI como para OPENMP
Resultados El autor del artiacuteculo concluye que de acuerdo con los resultados el tiempo
de procesamiento se redujo con el uso muacuteltiples nuacutecleos mejoroacute hasta ocho veces gracias al
multihilo
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de agrupamiento de computadoras Beowulf y su implementacioacuten en sistemas operativos
de uso libre Linux distribucioacuten Fedora 6
27
Marco Teoacuterico
21 Seguridad de la Informacioacuten
La Seguridad de la Informacioacuten consiste y hace referencia a la proteccioacuten de cualquier
amenaza para salvaguardar los activos fijos y en especial toda informacioacuten de la cual estaacute basada
la continuidad de las operaciones de la empresa sean estas ocasionadas dentro o fuera de la misma
con esto se logra disminuir los dantildeos y perjuicios que estas amenazas causariacutean a la organizacioacuten
y a la vez aumentar las oportunidades de servicio hacia otras empresas
La Seguridad de la informacioacuten se consigue mediante la implementacioacuten de controles
efectivos que pueden ser normas manual de funciones buenas praacutecticas procedimientos
estructuras organizativas funciones de software y hardware planes de contingencia y herramientas
que se encargan de proteger la privacidad e integridad de la informacioacuten que se almacena en un
sistema informaacutetico Estos controles necesitan continuamente ser establecidos monitoreados
revisados y mejorados en donde sea necesario para asegurar que se cumplan los objetivos
especiacuteficos de seguridad en cada aacuterea de negocio de la organizacioacuten
La seguridad informaacutetica es en realidad una rama de la seguridad de la informacioacuten aunque
de forma praacutectica algunos autores suelen utilizar de manera indistinta ambos teacuterminos
211 Objetivo de la seguridad de la informacioacuten En la seguridad de la informacioacuten
sabiendo que dichos procesos de seguridad permiten proteger el recurso maacutes importante y valioso
de una organizacioacuten partiendo como principio fundamental los procesos de aseguramiento el
28
objetivo del proceso de seguridad informaacutetica es obtener un nivel aceptable de seguridad ya que
la informacioacuten es lo maacutes valioso que tiene una institucioacuten o empresa por lo tanto esta debe ser
protegida para que no sea vulnerable y utilizada para fines maliciosos
212 Principios de la seguridad informaacutetica
Confidencialidad Los datos solo deben ser conocidos y accedidos por quienes esteacuten
autorizados durante su almacenamiento procesamiento o trasmisioacuten Verificar y certificar que solo
los usuarios con accesos autorizados puedan acceder a la informacioacuten
Integridad Los datos solo pueden ser modificados y eliminados por quienes esteacuten
autorizados para ello es decir los sistemas y aplicaciones solo deben ser operados por personal
autorizado
Disponibilidad Los sistemas que almacenan datos e informacioacuten deben garantizar su
acceso cuando asiacute se requiera por quienes tengan derecho a ello
213 Caracteriacutesticas de seguridad informaacutetica
Control Solo los usuarios autorizados deciden cuaacutendo y coacutemo permitir el acceso a la
informacioacuten
Auditoriacutea Establece las acciones cuaacutendo las implementa y quieacuten las realiza sobre el
sistema
Autenticidad Define que la informacioacuten necesaria es correcta utilizable y vaacutelida en tiempo
y forma
No Repudio Su funcioacuten es evitar que alguna entidad que envioacute o recibioacute informacioacuten
alegue que no lo hizo
29
214 Formas de Autenticacioacuten
Contrasentildea Una contrasentildea es un tipo de seguridad informaacutetica ya que es una serie de
caracteres secretos que permiten a un usuario tener acceso a un archivo equipo de coacutemputo o
programa y negar el acceso a usuarios no autorizados
Certificado digital Es un tipo de seguridad informaacutetica que permite la firma digital
electroacutenica que garantiza teacutecnica y legalmente la identidad de una persona en Internet
Autenticacioacuten HTTP Tipo de seguridad informaacutetica que delega la autenticacioacuten de
usuarios a un servidor a traveacutes de Kerberos
215 Ciber-seguridad Con los avances tecnoloacutegicos y la demanda que ha causado en ello
existe un elevado iacutendice de informacioacuten personal y empresarial que circula y se mantiene en la red
por la utilizacioacuten del internet esto permite que toda informacioacuten quede expuesta a cualquier ataque
de ciber-delincuentes los cuales buscan la manera de vulnerar cualquier sistema para espiar robar
informacioacuten o hacer dantildeo de cualquier tipo por lo que se ha visto la necesidad de tomar medidas
de seguridad para salvaguardar la informacioacuten ya que es muy importante
La ciberseguridad es la proteccioacuten de los sistemas conectados a Internet incluidos el
hardware el software y los datos de los ciberataques En un contexto informaacutetico la seguridad
comprende la ciberseguridad y la seguridad fiacutesica ambas son utilizadas por las empresas para
proteger contra el acceso no autorizado a los centros de datos y otros sistemas de coacutemputo El
objetivo de la ciberseguridad es limitar el riesgo y proteger los activos de Tecnologiacuteas de
Informacioacuten de los atacantes con intenciones maliciosas La seguridad de la informacioacuten estaacute
30
disentildeada para mantener la confidencialidad integridad y disponibilidad de los datos es un
subconjunto de la ciberseguridad
22 Criptografiacutea
La Criptografiacutea tambieacuten llamada ldquoescritura ocultardquo tradicionalmente en el aacutembito de
criptografiacutea es donde se ocupan las teacutecnicas de cifrado o codificacioacuten que permiten alterar el
contenido de cierta informacioacuten o mensajes con el fin de hacerlos ininteligibles a receptores o
personas no autorizadas (Meneacutendez-Barzanallana 17)
Actualmente la criptografiacutea se encarga de analizar algoritmos protocolos y sistemas que
son utilizados para proveer seguridad a las comunicaciones informacioacuten y a las entidades que se
comunican entre siacute
221 Tipos de Criptografiacuteas
2211 Tablas Hash Un hash o funcioacuten hash toma un grupo de caracteres (llamado clave)
y lo asigna a un valor de cierta longitud (llamado valor hash o hash) El valor hash es representativo
de la cadena de caracteres original pero normalmente es maacutes pequentildeo que el original
El hash tambieacuten es utilizado en el cifrado y descifrado de firmas digitales La funcioacuten hash
transforma la firma digital luego tanto el valor hash como la firma se enviacutean al receptor El
receptor utiliza la misma funcioacuten hash para generar el valor hash y luego lo compara con el recibido
31
en el mensaje Si los valores hash son los mismos es probable que el mensaje se haya transmitido
sin errores
Un ejemplo de una funcioacuten hash se llama plegado(folding) Esta toma un valor original lo
divide en varias partes luego agrega las partes y usa los uacuteltimos cuatro diacutegitos restantes como
valor o clave hash
2212 Tipos de algoritmos Hash
22121 SHA - 1 (Secure Hash Algorithm) Es un algoritmo criptograacutefico de Hash
publicado por el gobierno de los Estados Unidos Genera un valor Hash de 160 bits a partir de una
secuencia de longitud arbitraria Es considerado lo suficientemente seguro para aplicaciones
praacutecticas pero hay disponibles versiones maacutes robustas SHA - 256 SHA - 384 y SHA - 512 que
generan valores Hash de 256 384 y 512 bits respectivamente estas versiones reemplazaraacuten a SHA
- 1 mientras se siga trabajando sobre ellas (Borghello 2009)
22122 MD5 (Message Digest Algorithm) En criptografiacutea MD5 es una funcioacuten hash
criptograacutefica ampliamente utilizada con un valor hash de 128 bits Como estaacutendar de Internet (RFC
1321) MD5 se ha empleado en una amplia variedad de aplicaciones de seguridad y tambieacuten se
usa comuacutenmente para verificar la integridad de los archivos Un hash MD5 generalmente se
expresa como un nuacutemero hexadecimal de 32 diacutegitos
MD5 es una versioacuten reforzada de MD4 Al igual que MD4 el hash MD5 fue inventado por
el profesor Ronald Rivest del Massachusetts Institute of Technology (MIT) Ademaacutes MD5 se
32
utilizoacute como modelo para SHA-1 ya que comparten muchas caracteriacutesticas comunes MD5 y
SHA-1 son los dos algoritmos hash maacutes utilizados en la actualidad aunque el uso de MD5 ha
disminuido ya que ahora se considera roto (Borghello 2009)
22123 RIPEMD ndash 160 Es una funcioacuten hash criptograacutefica basada en la construccioacuten
Merkle-Damgaringrd (MD) Se usa en el estaacutendar de Bitcoin Es una versioacuten reforzada del algoritmo
RIPEMD que produce un resumen de hash de 128 bits mientras que el algoritmo RIPEMD-160
produce una salida de 160 bits La funcioacuten de compresioacuten consta de 80 etapas formadas por 5
bloques que se ejecutan 16 veces cada uno Este patroacuten se ejecuta dos veces con los resultados
combinados en la parte inferior utilizando la adicioacuten del moacutedulo 32 (Borghello 2009)
22124 Funcioacuten Merkle-Damgaringrd La construccioacuten MD es una metodologiacutea para crear
funciones hash resistentes a colisiones a partir de funciones de compresioacuten unidireccionales Ralph
Merkle la propuso en el antildeo de 1979 en ldquoA certified Digital Signaturerdquo posterior a este estudio
Ivan Damgaringrd demostroacute de manera independiente que la estructura era soacutelida (Merkle amp
Damgaringrd sf)
2213 Cifrado simeacutetrico Los cifrados simeacutetricos son los cifrados criptograacuteficos maacutes
antiguos y maacutes utilizados En un cifrado simeacutetrico la clave que descifra el texto cifrado es la
misma (o puede derivarse faacutecilmente) de la clave que cifra el texto claro Esta clave a menudo se
conoce como la clave secreta Los cifrados simeacutetricos maacutes utilizados son DES y AES
La problemaacutetica que surge es la seguridad de la clave
33
El emisor cifra el mensaje con una clave
Enviacutea el mensaje cifrado de tal manera que nadie puede descifrarlo sin dicha clave
El receptor obtiene la clave y entonces puede descifrar el mensaje con la misma clave
que recibioacute del emisor
Algunos algoritmos de este tipo son
22131 RC5 (Cifrado de Rivest) Es un algoritmo de cifrado de bloque de clave simeacutetrica
disentildeado por Ron Rivest en 1994 Se destaca por ser simple raacutepido (debido a que usa solo
operaciones de coacutemputo primitivas como XOR o shift) y ademaacutes por consumir menos memoria
RC5 es un cifrado de bloques y aborda dos bloques de palabras a la vez Dependiendo del
tamantildeo del bloque de texto sin formato nuacutemero de rondas y tamantildeo de clave se pueden definir
varias instancias de RC5 y cada instancia se denota como RC5-w r b donde w = tamantildeo de
palabra en bits r = nuacutemero de rondas y b = tamantildeo de la clave en bytes (Pawar 2016)
Como se ha mencionado RC5 utiliza bloques de 2 palabras el tamantildeo del bloque de texto
sin formato puede ser de 32 64 o 128 bits
22132 IDEA (International Data Encryption Algorithm) Baacutesicamente es un algoritmo
de cifrado de bloque simeacutetrico El algoritmo asimeacutetrico utiliza la misma clave para el cifrado y
descifrado Un cifrado de bloque divide el mensaje en bloques cada uno de una longitud fija y
luego cifra cada bloque de forma independiente
34
El tamantildeo de bloque tiacutepico es de 16 bytes de 128 bits Un cifrado de bloque generalmente
operaraacute en bloques o rondas donde se aplica parte de la clave a la ronda Despueacutes de un cierto
nuacutemero de rondas digamos entre 10 y 16 se termina con el texto cifrado para ese bloque
El bloque de texto cifrado tiene exactamente el mismo tamantildeo que el bloque de texto sin
formato 16 bytes Para cada ronda se trabaja en el bloque utilizando una parte de la clave de
cifrado a la que se le llama la clave redonda Muacuteltiples claves redondas se derivan de la clave de
cifrado utilizando para esto un programa de claves
La programacioacuten de claves es un algoritmo que cambia XOR multiplica y realiza otros
tipos de operaciones en la clave de cifrado original para obtener estas claves redondas Bueno si
tengo un bloque de 16 bytes y tengo una clave de 128 bits que tambieacuten es de 16 bytes (Educba
2019)
22133 DES (Data Encryption Standard) El algoritmo DES es el algoritmo de seguridad
maacutes popular Es un algoritmo simeacutetrico lo que significa que se utilizan las mismas claves para
cifrar descifrar datos confidenciales La longitud de la clave es de 8 bytes (64 bits) Entonces
para cifrar descifrar datos el algoritmo DES utiliza una clave de 8 bytes pero 1 byte (8 bits) para
la verificacioacuten de paridad Es un algoritmo de cifrado de bloque por lo tanto el tamantildeo del bloque
de datos del algoritmo DES es de 64 bits Para cifrar descifrar datos el algoritmo DES utiliza la
estructura Feistel Entonces utiliza una ronda para cifrar descifrar datos Aunque el tamantildeo del
35
bloque de datos es de 64 bits el nuacutemero de rondas seraacute de 16 rondas asiacute mismo utilizaraacute diferentes
subclaves para cada ronda por lo tanto el nuacutemero de subclaves seraacute de 16 subclaves
Como se puede observar la clave efectiva es de 56 bits por consiguiente se tiene 256
combinaciones posibles por lo que la fuerza bruta se hace casi imposible (Sanjoy 2015)
2214 Cifrado asimeacutetrico Los cifrados asimeacutetricos tambieacuten se conocen como cifrados
con claves puacuteblicas y privadas Usan dos claves una para el cifrado de mensajes y la otra durante
el descifrado
Un intruso puede encriptar cualquier mensaje usando la clave puacuteblica conocida Los
cifrados asimeacutetricos son por lo tanto vulnerables a los ataques de texto sin formato Los cifrados
con encriptacioacuten de clave puacuteblica deben proporcionar seguridad contra tales ataques Despueacutes de
encriptar dos mensajes con la misma clave puacuteblica el intruso no puede distinguir queacute texto cifrado
estaacute conectado con queacute texto plano Ademaacutes un observador que analiza dos mensajes encriptados
usando el mismo algoritmo y la misma clave puacuteblica no puede distinguir sus textos cifrados
(Kowalczyk 2015)
Los cifrados asimeacutetricos son mucho maacutes lentos que los cifrados simeacutetricos (generalmente
mil veces maacutes lentos) Es una praacutectica comuacuten usar el cifrado de clave puacuteblica solo para establecer
la conexioacuten segura y negociar la nueva clave secreta que luego se utilizaraacute para proteger la
comunicacioacuten mediante cifrado simeacutetrico Ejemplos de este cifrado son
36
22141 DSA (Digital Signature Algorithm - Algoritmo de Firma digital) Es un estaacutendar
del Gobierno Federal de los Estados Unidos para firmas digitales Fue propuesto por el Instituto
Nacional de Estaacutendares y Tecnologiacutea (NIST) en agosto de 1991 para ser usado en su Estaacutendar de
Firma Digital (DSS) en el antildeo de 1993
La primera parte del algoritmo DSA es la generacioacuten de clave puacuteblica y clave privada que
puede describirse como
Se elige un nuacutemero primo q que se llama divisor primo
Se elige otro nuacutemero primo p de modo que pndash1 mod q = 0 p seraacute llamado moacutedulo
primo
Ahora se elige un nuacutemero entero g tal que 1 ltg ltp g q mod p = 1 g = h ((p
ndash 1) q) mod p q tambieacuten se llama moacutedulo de orden multiplicativo de g moacutedulo p
Se elige un nuacutemero entero tal que 0 ltx ltq
Se calcula y como g x mod p
Se empaqueta la clave puacuteblica como p q g y
Por uacuteltimo se empaqueta la clave privada como p q g x
La segunda parte del algoritmo DSA es la generacioacuten de firma y la verificacioacuten de firma
Para generar una firma de mensaje el remitente puede seguir estos pasos
Se genera el resumen del mensaje h utilizando un algoritmo hash como SHA1
Se genera un nuacutemero aleatorio k tal que 0 ltk ltq
37
Se calcula r como (g k mod p) mod q Si r = 0 seleccione una k diferente
Ahora se calcula i de modo que k i mod q = 1 i se llama el inverso multiplicativo modular
de k moacutedulo q
Se calcula s = i (h + r x) mod q Si s = 0 se selecciona una k diferente
Por uacuteltimo se empaqueta la firma digital como r s (Yang 2019)
22142 RSA Encriptacioacuten RSA encriptacioacuten Rivest-Shamir-Adleman tipo de
criptografiacutea de clave puacuteblica ampliamente utilizada para la encriptacioacuten de datos de correo
electroacutenico y otras transacciones digitales a traveacutes de Internet RSA lleva el nombre de sus
inventores Ronald L Rivest Adi Shamir y Leonard M Adleman quienes lo crearon mientras
trabajaban en la facultad del Instituto Tecnoloacutegico de Massachusetts (Simmons 2019)
En el sistema RSA un usuario elige de manera secreta un par de nuacutemeros primos p y q tan
grandes que factorizar el producto n = pq estaacute mucho maacutes allaacute de las capacidades informaacuteticas
proyectadas para la vida uacutetil de los cifrados A partir del antildeo 2000 los estaacutendares de seguridad del
gobierno de EE UU exigen que el moacutedulo tenga un tamantildeo de 1024 bits es decir p y q deben
tener un tamantildeo de aproximadamente 155 diacutegitos decimales por lo que n es aproximadamente un
nuacutemero de 310 diacutegitos Dado que los nuacutemeros duros maacutes grandes que actualmente se pueden
factorizar son solo la mitad de este tamantildeo y dado que la dificultad de factorizar se duplica
aproximadamente por cada tres diacutegitos adicionales en el moacutedulo se cree que los moacutedulos de 310
diacutegitos estaacuten a salvo de factorizar durante varias deacutecadas
38
2215 Cifrado hiacutebrido Es una teacutecnica comuacuten que combina diferentes funciones
criptograacuteficas como el cifrado de bloque Con el cifrado hiacutebrido se pueden cifrar datos firmarlos
o agregar un MAC y enviarlos en un objeto seguro (como una cadena o archivo) a traveacutes de un
canal de comunicacioacuten inseguro (sin un acuerdo clave entre dos partes)
En el sistema de cifrado hiacutebrido el texto plano (sin formato) se divide en tokens Luego
se calcula la longitud de cada ficha Los tokens y sus longitudes se almacenan en una matriz
Posteriormente se aplica el algoritmo Ceacutesar anidado sugerido El texto producido se almacena en
una matriz n x m llamada A Luego la transposicioacuten de esta matriz At se calcula utilizando
nuestra versioacuten revisada del cifrado de transposicioacuten para resolver el problema de secuenciacioacuten
A continuacioacuten el algoritmo RSA revisado se aplica en la matriz producida En el paso final se
aplica el formato de datos textuales usando el coacutedigo ASCII para producir el texto cifrado El
proceso de descifrado se realiza de la misma manera pero en orden inverso (Nahar amp Abu Abbas
2010)
23 Criptoanaacutelisis
El criptoanaacutelisis es el proceso de estudiar sistemas criptograacuteficos para buscar debilidades
o fugas de informacioacuten En general se considera que el criptoanaacutelisis explora las debilidades de
las matemaacuteticas subyacentes de un sistema criptograacutefico pero tambieacuten incluye la buacutesqueda de
debilidades en la implementacioacuten como ataques de canal lateral o entradas de entropiacutea deacutebiles
39
Su funcioacuten es la de conseguir obtener el significado de mensajes creados por medio de
criptografiacutea El objetivo principal del criptoanaacutelisis es opuesto al de la criptografiacutea Tiene como
finalidad encontrar la debilidad de las diferentes teacutecnicas criptograacuteficas para explotarla y de esta
manera reducir o eliminar la seguridad de la teacutecnica criptograacutefica Cualquier intento de
criptoanaacutelisis puede ser llamado ataque Una vez que un atacante logra romper la seguridad que
una teacutecnica criptograacutefica aportaba al sistema se dice que dicho sistema ha sido roto y por lo tanto
dicho ataque tuvo eacutexito
El criptoanaacutelisis es la investigacioacuten de sistemas texto cifrado y cifrados para revelar el
significado oculto o los detalles del sistema mismo El objetivo de este tipo de estudio es descubrir
los aspectos ocultos incluso si la clave o el algoritmo principal no se pueden descifrar Se necesita
una combinacioacuten exitosa de persistencia matemaacuteticas intuicioacuten curiosidad y una computadora
que funcione para hacer un buen criptoanalista Este tipo de ruptura de coacutedigo es extremadamente
importante especialmente en el mundo tecnoloacutegicamente dependiente de hoy El criptoanaacutelisis es
constantemente realizado por criptoacutegrafos que intentan obtener informacioacuten valiosa y por aquellos
que intentan descifrar el coacutedigo para revelar secretos (Security Degree Hub 2017)
24 Niveles de seguridad
Los niveles de seguridad de sistemas operativos son otorgados de acuerdo con el sistema
operativo que esteacute utilizando la empresa o institucioacuten ya sea puacuteblica privada gubernamental o no
gubernamental En el manual ldquoTrusted Computer System Evaluation Criteriardquo (United States
40
Government Department of Defense 1983) el Departamento de Defensa de los Estados Unidos
define los siguientes niveles
241 Nivel D1 Este nivel es el maacutes bajo de seguridad por lo tanto la norma establece que
el sistema no es confiable Esta divisioacuten contiene solo una clase Estaacute reservado para aquellos
sistemas que han sido evaluados pero que no cumplen con los requisitos para un nivel de
evaluacioacuten superior
242 Nivel C1 Un sistema de nivel C1 cumple nominalmente los requisitos de seguridad
discrecionales al proporcionar separacioacuten de usuarios y datos Incorpora alguna forma de controles
creiacutebles capaces de imponer limitaciones de acceso de manera individual es decir aparentemente
adecuados para permitir que los usuarios puedan proteger la informacioacuten privada o del proyecto y
evitar que otros usuarios lean o destruyan accidentalmente sus datos Se espera que el entorno de
nivel C1 sea uno de los usuarios cooperantes que procesan datos con el mismo nivel de
sensibilidad Los siguientes son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten
de nivel C1 son
Control de acceso discrecional por ejemplo listas de control de acceso (ACL)
usuario grupo
Por lo general para usuarios que estaacuten en el mismo nivel de seguridad
Proteccioacuten de nombre de usuario y contrasentildea y base de datos de autorizaciones
seguras (ADB)
Sistema operativo protegido y modo de operaciones del sistema
Comprobacioacuten perioacutedica de integridad de TCB
41
Mecanismos de seguridad probados sin derivaciones obvias
Documentacioacuten para la seguridad del usuario
Documentacioacuten para la seguridad de la administracioacuten de sistemas
Documentacioacuten para pruebas de seguridad
Documentacioacuten de disentildeo TCB
Tiacutepicamente para usuarios en el mismo nivel de seguridad
La certificacioacuten C1 es rara Los sistemas de ejemplo son versiones anteriores de
Unix IBM RACF
243 Nivel C2 Los sistemas de esta clase imponen un control de acceso discrecional maacutes
fino que los sistemas (C1) lo que hace que los usuarios sean individualmente responsables de sus
acciones a traveacutes de procedimientos de inicio de sesioacuten auditoriacutea de eventos relevantes para la
seguridad y aislamiento de recursos Los siguientes son requisitos miacutenimos para los sistemas
asignados a una clasificacioacuten de nivel C2
La proteccioacuten de objetos puede ser para un solo usuario Por ejemplo a traveacutes de
una base de datos ACL
La autorizacioacuten de acceso solo puede ser asignada por usuarios autorizados
Proteccioacuten de reutilizacioacuten de objetos (Por ejemplo para evitar la reasignacioacuten de
objetos eliminados de manera segura)
Procedimientos obligatorios de identificacioacuten y autorizacioacuten para los usuarios (Por
ejemplo Usuario Contrasentildea)
Auditoriacutea completa de eventos de seguridad (es decir fecha hora evento usuario
eacutexito falla ID de terminal)
42
Modo de operacioacuten del sistema protegido
Proteccioacuten adicional para la autorizacioacuten y los datos de auditoriacutea
Documentacioacuten como C1 maacutes informacioacuten sobre el examen de la informacioacuten de
auditoriacutea
Esta es una de las certificaciones maacutes comunes Los sistemas operativos de ejemplo
son VMS IBM OS 400 Windows NT Novell NetWare 411 Oracle 7 DG AOS
VS II
244 Nivel B1 Los sistemas de este nivel requieren todas las caracteriacutesticas requeridas
para el nivel C2 Ademaacutes debe estar presente una declaracioacuten informal del modelo de poliacutetica de
seguridad etiquetado de datos y control de acceso obligatorio sobre sujetos y objetos nombrados
La capacidad debe existir para etiquetar con precisioacuten la informacioacuten exportada Cualquier falla
identificada por la prueba debe ser eliminada Los siguientes son requisitos miacutenimos para los
sistemas asignados a una clasificacioacuten de nivel B1
Etiquetado obligatorio de seguridad y acceso de todos los objetos (Por ejemplo
archivos procesos dispositivos)
Comprobacioacuten de integridad de etiquetas (Por ejemplo mantenimiento de etiquetas
de sensibilidad cuando se exportan datos)
Auditoriacutea de objetos etiquetados
Control de acceso obligatorio para todas las operaciones
Capacidad para especificar el nivel de seguridad impreso en salida legible para
humanos (Por ejemplo impresoras)
43
Capacidad para especificar el nivel de seguridad en cualquier salida legible por
maacutequina
Auditoriacutea mejorada
Proteccioacuten mejorada del sistema operativo
Documentacioacuten mejorada
Los sistemas operativos de ejemplo son HP-UX BLS Cray Research Trusted
Unicos 80 Digital SEVMS Harris CS SX SGI Trusted IRIX
245 Nivel B2 En los sistemas de nivel B2 el TCB se basa en un modelo de poliacutetica de
seguridad formal claramente definido y documentado que requiere que la aplicacioacuten de control de
acceso discrecional y obligatoria que se encuentra en los sistemas de nivel B1 se extienda a todos
los sujetos y objetos en el sistema Ademaacutes se abordan los canales encubiertos El TCB debe
estructurarse cuidadosamente en elementos criacuteticos para la proteccioacuten y no criacuteticos para la
proteccioacuten La interfaz TCB estaacute bien definida y el disentildeo y la implementacioacuten TCB le permiten
someterse a pruebas maacutes exhaustivas y una revisioacuten maacutes completa Se fortalecen los mecanismos
de autenticacioacuten se proporciona una gestioacuten confiable de las instalaciones en forma de soporte
para las funciones de administrador y operador del sistema y se imponen estrictos controles de
gestioacuten de la configuracioacuten El sistema es relativamente resistente a la penetracioacuten Los siguientes
son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten de nivel B2
Notificacioacuten de cambios en el nivel de seguridad que afectan a los usuarios
interactivos
Etiquetas de dispositivos jeraacuterquicos
44
Acceso obligatorio a todos los objetos y dispositivos
Comunicaciones de ruta confiables entre usuario y sistema
Rastreo de canales de almacenamiento encubiertos
Modo de operaciones del sistema maacutes estricto en unidades independientes de varios
niveles
Anaacutelisis de canales encubiertos
Pruebas de seguridad mejoradas
Modelos formales de TCB
Versioacuten actualizacioacuten y anaacutelisis y revisioacuten de parches
Los sistemas de ejemplo son Honeywell Multics Cryptek VSLAN Trusted
XENIX
246 Nivel B3 El TCB debe satisfacer los requisitos del monitor de referencia para mediar
todos los accesos de los sujetos a los objetos ser a prueba de manipulaciones y ser lo
suficientemente pequentildeo como para ser sometido a anaacutelisis y pruebas Con este fin el TCB estaacute
estructurado para excluir el coacutedigo que no es esencial para la aplicacioacuten de la poliacutetica de seguridad
con una importante ingenieriacutea del sistema durante el disentildeo y la implementacioacuten del TCB dirigido
a minimizar su complejidad Se admite un administrador de seguridad los mecanismos de
auditoriacutea se ampliacutean para sentildealar eventos relevantes para la seguridad y se requieren
procedimientos de recuperacioacuten del sistema El sistema es altamente resistente a la penetracioacuten
Los siguientes son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten de clase
(B3)
45
ACL adicionalmente basadas en grupos e identificadores
Acceso de ruta confiable y autenticacioacuten
Anaacutelisis automaacutetico de seguridad
Modelos TCB maacutes formales
Auditoriacutea de eventos de auditoriacutea de seguridad
Recuperacioacuten confiable despueacutes de la caiacuteda del sistema y documentacioacuten relevante
Cero defectos de disentildeo en TCB y defectos miacutenimos de implementacioacuten
El uacutenico sistema operativo con certificacioacuten B3 es Getronics Wang Federal XTS-
300
247 Nivel A1 Los sistemas en el nivel A1 son funcionalmente equivalentes a los del nivel
B3 en que no se agregan caracteriacutesticas arquitectoacutenicas adicionales ni requisitos de poliacuteticas La
caracteriacutestica distintiva de los sistemas en este nivel es el anaacutelisis derivado de la especificacioacuten
formal del disentildeo y las teacutecnicas de verificacioacuten y el alto grado resultante de seguridad de que el
TCB se implementa correctamente Esta garantiacutea es de naturaleza de desarrollo comenzando con
un modelo formal de la poliacutetica de seguridad y una especificacioacuten formal de alto nivel del disentildeo
Independientemente del lenguaje de especificacioacuten particular o del sistema de verificacioacuten
utilizado existen los siguientes criterios importantes para la verificacioacuten del disentildeo de nivel A1
Meacutetodos formales y prueba de integridad de TCB
Estos son los uacutenicos sistemas con certificacioacuten A1 Boeing MLS LAN Gemini
Trusted Network Processor Honeywell SCOMP (United States Government
Department of Defense 1983)
46
25 Sistemas Operativos
Un sistema operativo actuacutea como intermediario entre el usuario de una computadora y el
hardware de la computadora El propoacutesito de un sistema operativo es proporcionar un entorno en
el que un usuario pueda ejecutar programas de manera conveniente y eficiente
Un sistema operativo es un software que administra el hardware de la computadora El
hardware debe proporcionar mecanismos apropiados para garantizar el correcto funcionamiento
del sistema informaacutetico y para evitar que los programas del usuario interfieran con el correcto
funcionamiento del sistema (Carretero Peacuterez de Miguel Anasagasti Garciacutea Carballeira amp Peacuterez
Costoya 2001)
Un sistema operativo es un programa que controla la ejecucioacuten de programas de aplicacioacuten
y actuacutea como una interfaz entre el usuario de una computadora y el hardware de la computadora
Una definicioacuten maacutes comuacuten es que el sistema operativo es el uacutenico programa que se ejecuta
en todo momento en la computadora (generalmente llamado kernel) y todo lo demaacutes son
programas de aplicacioacuten
Un sistema operativo se ocupa de la asignacioacuten de recursos y servicios como memoria
procesadores dispositivos e informacioacuten El sistema operativo incluye los programas para
administrar estos recursos como un controlador de traacutefico un programador un moacutedulo de
administracioacuten de memoria programas de E S y un sistema de archivos (Pawar 2016)
47
251 Windows Sistema operativo de la empresa Microsoft es un conjunto de programas
que administra los recursos de una computadora Windows empieza a trabajar cuando se enciende
o inicializa el equipo para gestionar el hardware empezando desde los niveles maacutes baacutesicos
Es importante conocer que los sistemas operativos funcionan tanto en las computadoras
como en diferentes dispositivos electroacutenicos que usan microprocesadores En este caso Windows
su versioacuten estaacutendar funciona con computadoras Microsoft domina el mercado de los sistemas
operativos debido a su comodidad se puede decir que eacuteste sistema operativo se encuentra
instalado en el 887 de los equipos de coacutemputo que cuentan con acceso a Internet en todo el
mundo
Se pueden mencionar algunas aplicaciones principales (que eacutestas tambieacuten pueden ser
desinstaladas por los usuarios o actualizadas sin que el sistema operativo se dantildee o deje de
funcionar) se encuentran el procesador de texto WordPad el navegador Internet Explorer el
reproductor multimedia Windows Media y el editor de imaacutegenes Paint
La principal novedad que aportoacute Windows desde sus oriacutegenes fue la facilidad para usarlo
y el atractivo visual De hecho su nombre (ldquoventanasrdquo) se debe a la forma en que el sistema
presenta a los usuarios los recursos con los que cuenta su computadora lo que facilita las tareas
cotidianas Windows tambieacuten suele recibir varias criacuteticas por sus problemas de seguridad y por
otros fallos
48
252 Registro de Windows El registro es una base de datos jeraacuterquica que contiene datos
que son criacuteticos para el funcionamiento de Windows y las aplicaciones y servicios que se ejecutan
en Windows Los datos estaacuten estructurados en un formato de aacuterbol Cada nodo en el aacuterbol se llama
clave Cada clave puede contener subclaves y entradas de datos llamadas valores A veces la
presencia de una clave es el uacutenico dato que requiere una aplicacioacuten otras veces una aplicacioacuten
abre una clave y usa los valores asociados con la clave (Microsoft Inc 2019) Una clave puede
tener cualquier nuacutemero de valores y los valores pueden tener cualquier forma El registro es
utilizado por
Autenticacioacuten
Nuacutecleo (Kernel)
Controladores de dispositivos
Servicios
SAM
Las carpetas del sistema se almacenaraacuten en distintas rutas de acceso dependiendo de la
versioacuten de Windows con la que se esteacute trabajando a continuacioacuten cuatro de los cinco archivos
que maacutes interesan a esta investigacioacuten se encuentran en la siguiente ubicacioacuten SystemRoot
System32 Config dentro de las siguientes sub llaves
SAM - HKEY LOCAL MACHINE SAM
SECURITY - HKEY LOCAL MACHINE SECURITY
SOFTWARE - HKEY LOCAL MACHINE SOFTWARE
SYSTEM - HKEY LOCAL MACHINE SYSTEM
49
253 Administrador de cuentas de seguridad El administrador de cuentas de seguridad
(SAM por sus siglas en ingleacutes) es una base de datos en donde se encuentran las cuentas de
seguridad Esto es utilizado por Windows para administrar las cuentas de usuario y contrasentildeas en
el formato hash
Las contrasentildeas nunca se almacenan en formato de texto claro Se almacenan en formato
de hash para protegerlas de los ataques La base de datos SAM se implementa como un archivo de
registro y las obtiene del kernel de Windows y mantiene un bloqueo exclusivo al archivo SAM
esto quiere decir que el archivo tiene cierta medida de seguridad para el almacenamiento de las
contrasentildeas (Hernandez 2013)
No es posible copiar el archivo SAM a otra ubicacioacuten en el caso de los ataques en liacutenea
Dado que el archivo SAM estaacute bloqueado con un bloqueo exclusivo al sistema de archivos no
puede ser copiado o movido mientras se ejecuta Windows El bloqueo no iniciaraacute hasta que la
excepcioacuten de la pantalla azul haya sido inicializada o el sistema operativo haya sido apagado Sin
embargo los archivos en formato hash de contrasentildeas fuera de liacutenea estaacuten disponibles para los
ataques de fuerza bruta el contenido del archivo SAM puede ser copiado o descargado utilizando
diversas teacutecnicas
Un identificador de seguridad (SID) es un valor uacutenico de longitud variable utilizado para
identificar a un usuario Cada cuenta tiene un SID uacutenico emitido por una autoridad como un
controlador de dominio de Windows y almacenado en una base de datos de seguridad Cada vez
50
que un usuario inicia sesioacuten el sistema recupera el SID para ese usuario de la base de datos y lo
coloca en el token de acceso para ese usuario El sistema usa el SID en el token de acceso para
identificar al usuario en todas las interacciones posteriores con la seguridad de Windows Cuando
se ha usado un SID como identificador uacutenico para un usuario o grupo no se puede volver a usar
para identificar a otro usuario o grupo
La seguridad de Windows usa SID en los siguientes elementos de seguridad
En descriptores de seguridad para identificar al propietario de un objeto y grupo
primario
En las entradas de control de acceso para identificar al usuario para quien el acceso
estaacute permitido denegado o auditado
En tokens de acceso para identificar al usuario y los grupos a los que pertenece
2531 Identificador de Seguridad (SID Security Identifier)
S - 1 - 5 - 21 - 3983109318 - 554656936 - 3066752241 - 1000
S - indica que es un string de SID
1 - el nivel de revisioacuten
5 - el identificador de valor de autoridad o authority value no siempre seraacute 5 Entre otros
valores que se pueden encontrar estaacuten los siguientes
51
0 - sin autoridad
1 - autoridad global
2 - autoridad local
3 - autoridad de creador
4 - autoridad no uacutenica
5 - autoridad NT
9 - autoridad de administrador de recursos
21 - 3983109318 - 554656936 - 3066752241 - es el dominio en el que se encuentra el
sistema o el identificador local de la computadora
1000 - ID uacutenico para cada cuenta aquiacute se encuentra el RID (Relative Identifier) Nuacutemero
de longitud variable cualquier grupo o usuario que se cree de manera diferente a la predeterminada
recibiraacute un RID de 1000 o superior En el caso de que el valor sea 500 responde a que este SID
representa la cuenta de un administrador el valor de 500 siempre seraacute el mismo en cualquier cuenta
de administrador a su vez el valor 501 representa el SID de una cuenta Invitado (Guest)
(Hernandez 2013)
254 Autenticacioacuten NTML NTLM (NT LAN Manager) es un protocolo empleado por
muchos productos de Microsoft para realizar la autenticacioacuten desafiacuteorespuesta por lo tanto es el
esquema de autenticacioacuten que por defecto usa Firewall de Microsoft y tambieacuten los productos del
servidor proxy
52
Este software fue desarrollado para afrontar el problema del trabajo con Tecnologiacuteas Java
en un entorno orientado a Microsoft Puesto que no se basa en ninguna especificacioacuten oficial de
protocolo por lo tanto no hay garantiacutea de que funciona correctamente en todos los casos Tambieacuten
ha estado en algunas instalaciones de Windows donde funcionoacute con eacutexito
La Autenticacioacuten NTLM se compone de dos protocolos protocolo de autenticacioacuten NTLM
y protocolo de autenticacioacuten LM Estos protocolos utilizan una metodologiacutea de hash diferente para
almacenar contrasentildeas de los usuarios en la base de datos SAM (Hernandez 2013) (Meneacutendez-
Barzanallana 17)
26 LINUX (ROCKS)
Rocks es una distribucioacuten para cluacutester de Linux de coacutedigo abierto que permite a los usuarios
finales construir de manera maacutes amigable cluacutesteres computacionales y muros de visualizacioacuten en
mosaico Cientos de investigadores de todo el mundo han utilizado Rocks para implementar su
propio cluacutester
Desde mayo de 2000 el grupo Rocks ha abordado las dificultades de implementar cluacutesteres
manejables Encaminados hacia un objetivo crear cluacutesters de manera maacutes sencilla Por sencilla
significa faacutecil de implementar administrar actualizar y escalar Este objetivo impulsa a los
creadores de esta herramienta a ayudar a entregar el poder computacional de los cluacutesteres a una
amplia gama de usuarios cientiacuteficos Estaacute claro que poner a disposicioacuten de una amplia gama de
53
cientiacuteficos plataformas de computacioacuten paralelas estables y manejables ayudaraacute enormemente a
mejorar el estado del arte en herramientas paralelas (Rocksclusters 2010)
261 Escritorio De todos los escritorios disponibles para el sistema operativo Linux
GNOME ha logrado convertirse en el maacutes eficiente estable y confiable sin dejar de ser sencillo
de usar De hecho la mayoriacutea de los usuarios independientemente de su experiencia pueden
trabajar con GNOME casi sin esfuerzo
Los usuarios que son nuevos tanto en Linux como en GNOME hariacutean mejor en conocer
los entresijos del escritorio que hacen que Linux no solo sea faacutecil sino tambieacuten divertido
Un entorno de escritorio agrupa programas que trabajan juntos para formar un espacio de
trabajo informaacutetico cohesivo unificado transparente e interactivo para los usuarios O para
decirlo de manera maacutes simple el entorno de escritorio es la interfaz de usuario para el sistema
operativo En el caso de GNOME ese sistema operativo es Linux Sin un entorno de escritorio su
uacutenica alternativa es una sesioacuten de Shell (liacutenea de comandos) basada en texto (Wallen 2019)
262 Paquete de Oficina Una suite ofimaacutetica es una coleccioacuten de software creada por el
mismo proveedor y disentildeada para ser utilizada para tareas rutinarias dentro de una organizacioacuten
Por lo general una suite ofimaacutetica incluye aplicaciones como procesamiento de texto hojas de
caacutelculo presentacioacuten correo electroacutenico toma de notas base de datos colaboracioacuten y otros tipos
de software relacionados En la mayoriacutea de los casos cada aplicacioacuten en la suite ofimaacutetica se puede
instalar por separado y todas las aplicaciones dentro de la suite admiten la interoperabilidad entre
54
siacute Microsoft Office Suite Lotus Live Notes y LibreOffice son todas suites de oficina de uso
comuacuten
263 Organizador de archivos Es una funcioacuten avanzada disentildeada para agrupar y
renombrar archivos usando sus atributos del sistema o meta atributos
Cada archivo tiene atributos del sistema como la fecha (Acceso Creado y Modificado) el
tipo de archivo (definido por extensioacuten) y asociado con la aplicacioacuten registrada de ese tipo de
archivo Estos atributos se pueden usar para generar un nuevo nombre de archivo o carpeta (grupo)
para cada archivo con el mismo atributo Ademaacutes de los atributos del sistema algunos archivos
en su mayoriacutea medios o imaacutegenes pueden contener metacampos como el nombre del artista el
tiacutetulo el nombre del aacutelbum y otros El Organizador de archivos tambieacuten usa estos metacampos
para agrupar archivos en una carpeta con el mismo atributo Por lo tanto el organizador de archivos
opera reglas de organizacioacuten de archivos que definen la jerarquiacutea de agrupacioacuten de carpetas y las
reglas de cambio de nombre de archivos
Asiacute como el conocido ldquoexplorador de Windowsrdquo Linux integra un organizador de archivos
y carpetas llamado NAUTILUS para realizar tareas de manejo de archivos como mover copiar
renombrar crear carpetas y de esta manera administrar nuestros dispositivos de almacenamiento
55
27 Agrupamiento (Cluacutester) de Computadoras
El agrupamiento (cluacutester) de computadoras estaacute conformado por una coleccioacuten de
computadoras autoacutenomas interconectadas trabajando unidas como un solo recurso de computacioacuten
integrado El concepto de agrupamiento de computadoras nacioacute cuando los pioneros de la
supercomputacioacuten intentaban difundir diferentes procesos entre varias computadoras para luego
poder recoger los resultados que dichos procesos debiacutean producir Con un hardware maacutes barato y
faacutecil de conseguir se pudo perfilar que podriacutean conseguirse resultados muy parecidos a los
obtenidos con aquellas maacutequinas mucho maacutes costosas (Chirinov 2003)
Un agrupamiento de computadoras se puede definir como el trabajo realizado por dos o
maacutes computadoras que en conjunto se encargan de proveer una determinada solucioacuten Tiene como
finalidad agrupar el poder de coacutemputo de los nodos implicados para proporcionar una mayor
escalabilidad disponibilidad y fiabilidad (Branch Bedoya amp Mesa Muacutenera 2008)
La escalabilidad es la capacidad de un equipo para hacer frente a voluacutemenes de trabajo
cada vez mayores sin por ello dejar de prestar un nivel de rendimiento aceptable
La disponibilidad y la fiabilidad se encuentran bastante relacionadas aunque difieren
ligeramente en algunos aspectos La disponibilidad es la calidad de estar presente y listo para su
uso mientras que la fiabilidad es la probabilidad de un correcto funcionamiento
56
Entre los tipos de agrupamiento maacutes comunes se pueden encontrar de alta disponibilidad
(ambiente a prueba de fallas) coacutemputo de alto desempentildeo (los procesos o las tareas dadas se
presentan como un solo sistema virtual) y escalamiento horizontal (se utiliza para proporcionar
una sola interfaz a un conjunto de recursos que pueden aumentar o disminuir arbitrariamente su
tamantildeo en un cierto periodo de tiempo) (Gonzaacutelez Ramiacuterez amp Rodriacuteguez Saacutenchez 2008)
271 Beowulf Es una clase de computadora masivamente paralela de altas prestaciones
principalmente construida a base de agrupamiento de componentes hardware estaacutendar (Llorens amp
Pentildea 2002) Consta de un conjunto de nodos minimalistas unidos por un medio de
comunicaciones econoacutemico Esto quiere decir que tienen lo miacutenimo para ejecutar su funcioacuten de
hecho los nodos por siacute solos no son capaces de ejecutar siquiera un sistema operativo (Nievas
Pino amp Arroyo) Se puede ver como una supercomputadora paralela construida con hardware
comercial de faacutecil adquisicioacuten que posee como sistema operativo Linux Los cluacutesters Beowulf son
extremadamente poderosos pero no son para todas las personas Su principal desventaja es que
requieren software disentildeado para poder aprovechar los recursos del cluacutester (Lizaacuterraga 2002)
272 Mosix Seguacuten Peacuterez (2001) la arquitectura Mosix estaacute basada en la misma ideologiacutea
de la arquitectura Beowulf Se basa en un conjunto de parches aplicados al nuacutecleo (kernel) de Linux
y que asignan a todo el grupo de nodos un espacio de direcciones y de procesos comuacuten gracias al
cual los procesos migran de uno a otro con el fin de equilibrar favorablemente la carga del sistema
global Es una herramienta disentildeada para realizar balanceo de carga en el agrupamiento de forma
totalmente transparente de manera tal que los nodos se comportan como una sola maacutequina y asiacute
incrementar el aprovechamiento de cada uno de los nodos (Chaacutevez y otros 1999) La principal
57
ventaja de Mosix frente a Beowulf se basa precisamente en esto Mosix da mejores respuestas que
Beowulf frente a la caiacuteda o insercioacuten de nodos A parte de esto Mosix permite un cambio constante
de aplicacioacuten o incluso el correr aplicaciones independientes de forma simultaacutenea
273 OpenMosix OpenMosix es una extensioacuten del proyecto Mosix Seguacuten Chirinov
(2003) la idea de este modelo es que la distribucioacuten de tareas en el cluacutester la determina OpenMosix
de forma dinaacutemica conforme se van creando tareas Cuando un nodo estaacute demasiado cargado las
tareas que se estaacuten ejecutando pueden migrar a cualquier otro nodo del cluacutester Asiacute desde que se
ejecuta una tarea hasta que eacutesta muere podraacute migrar de un nodo a otro sin que el proceso sufra
mayores cambios
Ademaacutes OpenMosix funciona a nivel de kernel por tanto puede conseguir toda la
informacioacuten que necesite para decidir que tanto estaacute cargado un sistema y queacute pasos se deben
seguir para aumentar el rendimiento ademaacutes puede realizar maacutes funciones que cualquier
aplicacioacuten a nivel de usuario
Despueacutes de elegir el tipo de cluacutester a utilizar se procede a elegir los elementos baacutesicos que
se emplearaacuten para implementar el cluacutester capacidad de procesamiento memoria espacio del disco
de cada nodo asiacute como tambieacuten el ancho de banda de la comunicacioacuten entre los nodos Se deberaacute
decidir cuaacuteles son importantes basaacutendose en la variedad de aplicaciones que se piensen ejecutar
en el cluacutester y de la cantidad de dinero que se disponga para construirlo
58
Bajo estos mismos paraacutemetros se debe escoger tambieacuten el tipo de red que interconectaraacute
los nodos (Turner 2004)
Luego se debe escoger el sistema operativo a utilizar Esta eleccioacuten dependeraacute mucho de
la maacutequina que se escoja Linux es siempre una opcioacuten en cualquier maacutequina y es la eleccioacuten maacutes
comuacuten Muchas de las herramientas necesarias para la implementacioacuten de un cluacutester han sido
desarrolladas bajo Linux Pero existen cluacutesters corriendo bajo Windows NT UNIX Solaris y AIX
59
Capiacutetulo 3 Implementacioacuten de Cluacutester
31 Requisitos previos
Antes de iniciar la instalacioacuten del FrontEnd es necesario asegurarse que las conexiones de
red de los equipos junto con la configuracioacuten de la BIOS de cada uno sean las correctas
311 Conexioacuten de los equipos y acceso a la red
Un cluacutester de alto desempentildeo funciona como un uacutenico equipo el cuaacutel comparte los recursos
de los nodos esclavos con el nodo maestro para ello es esencial la existencia de una red interna de
alta velocidad por medio de la cual se realice la comunicacioacuten entre el nodo maestro y los nodos
esclavos como se muestra en la Figura 31 El nodo maestro necesitaraacute 2 tarjetas de red de alta
Figura 31 Esquema tiacutepico de configuracioacuten de un cluacutester (Fuente Elaboracioacuten propia)
60
velocidad una para la comunicacioacuten interna y otra para la comunicacioacuten con redes externas El
sistema operativo Rocks asigna automaacuteticamente la interface ldquoeth0rdquo a la red interna del cluacutester y
la interface ldquoeth1rdquo a la red externa En caso de que Rocks sea incapaz de determinar cuaacutel es la red
externa debido a la falta de conexioacuten a internet estas podriacutean ser asignadas de manera incorrecta
por tal motivo se sugiere asegurar el nombre de cada una de las interfaces
Dado que Rocks no permite volverlas a asignar una vez finalizada la instalacioacuten es
necesario volver a reinstalarlo para poder solucionar este inconveniente
312 Configuracioacuten de la BIOS Para evitar problemas durante la instalacioacuten conviene
configurar correctamente la Bios
3121 ATAIDE Mode Algunos sistemas operativos puede que no sean capaces de
reconocer el controlador del disco duro como es en el caso de esta distribucioacuten de Rocks usada
Para evitar complicaciones de tener que antildeadir el controlador a mano lo mejor es habilitar el modo
ldquoLegacyrdquo de controlador de disco duro
61
Para ello se accede a la Bios pulsando F2 al encender el equipo se situacutea en la pestantildea
ldquoAdvancedrdquo y se selecciona ldquoDrive Configurationrdquo como se muestra en la Figura 32
Figura 32 Imagen del Bios del equipo en la opcioacuten ldquodrive configurationrdquo (Fuente Elaboracioacuten propia)
Figura 33 Bios ATAIDE Legacy Mode (Fuente Elaboracioacuten propia)
62
Dentro del menuacute se tiene que seleccionar el Modo ldquoLegacyrdquo en la opcioacuten ldquoATAIDE
Moderdquo como se muestra en la Figura 33 y para salir se guardan los cambios con F10
3122 PXE Al momento de instalar un nodo puede ocurrir falla al arrancar y aparecer
bootsplash (Reboot and Select proper device) Para evitarlo es necesario habilitar la opcioacuten de
PXE para que tome los archivos de instalacioacuten del nodo maestro a traveacutes de la red interna
En la Bios se selecciona la pestantildea ldquoBootrdquo y dentro de ese mismo menuacute se deshabilita
ldquoSilent bootrdquo y se habilita la opcioacuten de ldquoPXE boot to lanrdquo como se muestra en la Figura 34
Finalmente hay que verificar que en la secuencia de arranque (Figura 35) como primer
dispositivo sea desde red para que de esta manera inicie desde el PXE
Figura 34 Bios Boot PXE (Fuente Elaboracioacuten propia)
63
Se guardan los cambios antes de salir
32 Instalacioacuten de Sistema Operativo Rocks
Una vez configurados los equipos se enciende el equipo que seraacute el nodo maestro
(FrontEnd) en el cuaacutel previamente se ha modificado la secuencia de inicio del boot desde la Bios
de modo que al insertar el CD de Rocks eacuteste procederaacute a iniciar la instalacioacuten con la siguiente
pantalla que se muestra a continuacioacuten
Figura 35 Bios Boot device prioriry (Fuente Elaboracioacuten propia)
64
Para iniciar la instalacioacuten uacutenicamente se selecciona la opcioacuten ldquoInstall CentOS 7rdquo como se
muestra en la Figura 36 dando asiacute comienzo al proceso de instalacioacuten Tras finalizar un proceso
de carga en memoria Rocks mostraraacute un formulario en entorno graacutefico mediante el cual
procederemos a configurar el FrontEnd
Esta primera pantalla se muestra coacutemo se desea realizar la instalacioacuten puede realizarse
por medio de la descarga del sistema operativo (se requiere internet) En este caso como se muestra
en la Figura 37 dado que previamente se descargoacute el DVD completo se seleccionoacute ldquoCDDVD
based rollsrdquo
Figura 36 Pantalla de Inicio de instalacioacuten de Rocks (Fuente Elaboracioacuten propia)
65
A continuacioacuten Figura 38 se selecciona de la lista de Rolls aquellos que se desean instalar
Figura 37 Pantalla de seleccioacuten de Rolls (Fuente Elaboracioacuten propia)
Figura 38 Listado de opciones de rolls para instalar (Fuente Elaboracioacuten propia)
66
Tras presionar el botoacuten ldquoSubmitrdquo la siguiente pantalla (Figura 39) muestra formulario en
el que hay que indicar la informacioacuten baacutesica del cluacutester entre las cuales aparecen
Fully-Qualified Host Name Nombre con el que se conoceraacute en la red externa el cluacutester
Cluster Name Nombre utilizado para ser identificado dentro de las herramientas del cluacutester
Certificate Organization Locality State and Country Organizacioacuten a la que pertenece el
cluacutester la localidad el estado y la ciudad
Contact URL and LattitudeLongitude Contacto direccioacuten web y posicioacuten GPS
Figura 39 Informacioacuten baacutesica del cluacutester a instalar (Fuente Elaboracioacuten propia)
67
Una vez que se ingresa la informacioacuten al cluacutester se presiona el botoacuten ldquoListordquo y
posteriormente se podraacute cambiar la configuracioacuten baacutesica de la red interna del cluacutester En este caso
Figura 310 se dejoacute el valor por defecto una IP de clase B (1011116)
El siguiente paso es la configuracioacuten de la red externa (para tener acceso a internet) En
este punto se introducen los datos de la red externa a la que se encuentra conectado el nodo
maestro como se muestra en la Figura 311
Figura 310 Configuracioacuten Ethernet de la red privada (Fuente Elaboracioacuten propia)
Figura 311 Configuracioacuten Ethernet de la red puacuteblica (Fuente Elaboracioacuten propia)
68
Para terminar de configurar la red externa como se muestra en la Figura 312 se ingresa la
direccioacuten IP del Gateway y los DNS (Servidor de nombre de dominio) que va a usar para el acceso
a internet
Se continuacutea con el resto del formulario donde se introduce la contrasentildea para el usuario
root tal y como se muestran en la Figura 313
Figura 312 Configuracioacuten de DNS y Gateway (Fuente Elaboracioacuten propia)
Figura 313 Ingresar contrasentildea de usuario root (Fuente Elaboracioacuten propia)
69
Paso siguiente se procede a seleccionar la zona horaria como se muestra en la Figura 314
donde se encuentra ubicado el cluacutester asiacute como un servidor de donde podraacute obtener la zona horaria
automaacuteticamente en este caso se dejoacute el valor por default
En el formulario de la Figura 315 se selecciona la forma de particionar el disco duro
(automaacutetica manual) una vez seleccionado daraacute comienzo al proceso de instalacioacuten de manera
Figura 314 Configuracioacuten horaria (Fuente Elaboracioacuten propia)
Figura 315 Particiones del disco duro (Fuente Elaboracioacuten propia)
70
desatendida Cuando ha concluido la instalacioacuten el equipo se reiniciaraacute y se requeriraacute iniciar con
el usuario root y la contrasentildea establecida previamente
321 Configuracioacuten del teclado Debido a que el teclado por defecto estaacute en idioma
ingleacutes podriacutea provocar problemas al momento de escribir la contrasentildea u otros comandos
Seguacuten las pruebas realizadas aunque se cambie la configuracioacuten del teclado desde el menuacute
de preferencias uacutenicamente se mantiene dentro de la sesioacuten desde la que se ha cambiado dicha
opcioacuten (lo cual implica que la contrasentildea de usuario hay que introducirla seguacuten la distribucioacuten
inglesa)
33 Instalacioacuten de los nodos
Previo a la instalacioacuten de los nodos esclavos cada uno de los equipos fueron configurados
desde la Bios para que arranquen desde la red (seccioacuten 3122) Para ir antildeadiendo los nodos solo
se tiene que introducir el siguiente comando desde nuestro FrontEnd
$insert-ethers
A continuacioacuten como se muestra en la Figura 316 apareceraacute una ventana en la pantalla
en la cual se seleccionaraacute la opcioacuten ldquoComputerdquo
71
Una vez realizado este paso se procede a encender los equipos que funcionaraacuten como
nodos esclavos uno a uno
Se sugiere esperar a que cada nuevo equipo encendido esteacute marcado con un asterisco antes
de proceder a encender el siguiente como se muestra en la Figura 317 De esta manera se asegura
que cada nuevo nodo antildeadido posea el nombre y numeracioacuten deseada
Figura 316 Pantalla para ingresar nodos (Fuente Elaboracioacuten propia)
Figura 317 Indicador de insercioacuten de nuevos nodos (Fuente Elaboracioacuten propia)
72
Puede darse el caso de que un nodo no sea detectado automaacuteticamente eso indica que se
ha omitido alguacuten paso o parte de la configuracioacuten realizada hasta el momento es incorrecta En ese
caso comprobar lo siguiente
Que el nodo esclavo este correctamente conectado a la red interna
Que el FrontEnd (nodo maestro) tenga correctamente configurada la red interna y externa
Que el PXE esteacute habilitado en la Bios del nodo esclavo
331 Administracioacuten de nodos Algunos de los comandos maacutes uacutetiles para para la gestioacuten
de los nodos son los siguientes
Eliminar un nodo de la lista
Reinstalar un nodo
Listar los nodos ya instalados
Acceder a un nodo
$rocks remove host nombre_nodo
$rocks remove host nombre_nodo
$rocks set host boot nombre_nodo action=install
$rocks set host boot nombre_nodo action=install
$rocks list host
$rocks list host
$ssh nombre_nodo
$ssh nombre_nodo
73
Ejecutar un comando de manera remota a un nodo
332 Creacioacuten de cuentas de usuario Para agregar a un usuario hay que realizar los
siguientes pasos
1 Creacioacuten de la cuenta
$useradd nombre_usuario
2 Asignacioacuten de una contrasentildea
$passwd nombre_usuario
3 Sincronizacioacuten de la cuenta de usuario con el resto de nodos
$rocks-user-sync
333 Configuracioacuten del directorio compartido El directorio share es compartido por el
FrontEnd y el resto de nodos se localiza dentro del FrontEnd en la carpeta exports siendo la
carpeta share un enlace simboacutelico a esta uacuteltima
Al principio es posible que no se sincronicen correctamente los archivos introducidos en el
directorio debido a que la carpeta inicialmente estaacute vaciacutea por lo que para solucionar este
inconveniente puede usarse el comando siguiente para reiniciar dicho servicio
$ssh nombre_nodo lsquocomandorsquo
$ssh nombre_nodo lsquocomandorsquo
$cd
$export fs ndashrv
service nfs restart
$cd
$export fs ndashrv
service nfs restart
74
34 Operaciones baacutesicas de Rocks
Comandos y aplicaciones esenciales para el manejo del cluacutester
Ver que rolls estaacuten instalados
$rocks list roll
Visualizar el estado del sistema Figura 318
$qstat ndashf
Probar el sistema de colas para distribuir tareas a los nodos
Para ello se prueba que el SGE del cluacutester funcione enviaacutendole una serie de trabajos
mediante el comando qsub
En primer lugar se crea un fichero (pruebapl) que tenga permisos de ejecucioacuten con el
siguiente contenido
Figura 318 Comando qstat ndashf (Fuente Elaboracioacuten propia)
75
usrbinperl
for(my $i=0$ilt30$i++) sleep(2) print okn
Y se ejecuta con el siguiente comando
$ for ((i=1ilt=10i+=1)) do qsub pruebapl done
Al ejecutarse se puede comprobar que los trabajos se han mandado Figura 319
Y al realizar de nuevo un ldquoqstat ndashfrdquo Figura 320 se observa coacutemo se van realizando
Figura 319 Enviacuteo de trabajos por medio del comando qsub (Fuente Elaboracioacuten propia)
Figura 320 Estado de los trabajos pendientes mostrados por qstat ndashf (Fuente Elaboracioacuten propia)
76
Para ver la carga de trabajo en el cluacutester de manera global y de forma graacutefica se tiene que
ingresar en un navegador web en la siguiente direccioacuten httplocalhostganglia apareceraacute la
Figura 321
Figura 321 Visualizacioacuten de la distribucioacuten de cargas en el cluacutester usando la herramienta Ganglia (Fuente Elaboracioacuten propia)
77
Capiacutetulo 4 Metodologiacutea y Resultados
Una vez finalizada la instalacioacuten y puesta en operacioacuten del equipo se analizaron diferentes
metodologiacuteas de trabajo lo que implicoacute un trabajo arduo debido a que existen complicaciones
cuando se buscan temas relacionados a vulnerar sistemas operativos La realizacioacuten de este
proyecto estaacute basado en la metodologiacutea de Joshua Picolet ldquoCracking Methodologyrdquo (Picolet
2017)
41 Obtener Archivo hash
Se pueden vulnerar contrasentildeas de Windows de diferentes maneras Una de ellas es
mediante el acceso al archivo del Administrador de cuentas de seguridad (SAM) el cual se detalla
en el apartado 253 a traveacutes de la obtencioacuten de las contrasentildeas del sistema en su forma hash por
medio de herramientas diferentes Alternativamente las contrasentildeas se pueden leer desde la
memoria lo que tiene el beneficio adicional de recuperar las contrasentildeas en texto plano y evitar el
requisito de descifrado Para comprender los formatos que se observan cuando se descarguen
hashes del sistema de Windows se requiere una breve descripcioacuten de los diferentes formatos de
almacenamiento
Originalmente las contrasentildeas de Windows de menos de 15 caracteres se almacenaban en
el formato hash de Lan Manager (LM) Algunos sistemas operativos como Windows 2000 XP y
Server 2003 continuacutean usando estos hashes a menos que esteacuten deshabilitados por el usuario
Ocasionalmente un sistema operativo como Windows Vista puede almacenar el hash LM para la
compatibilidad con otros sistemas Seguacuten analistas incluye varias vulnerabilidades como dividir
78
la contrasentildea en dos bloques y permitir que cada uno se descifre de forma independiente Mediante
el uso de tablas Rainbow es trivial descifrar una contrasentildea almacenada en un hash LM
independientemente de la complejidad Este hash se almacena con la misma contrasentildea calculada
en el formato de hash NT como el que se muestra en el siguiente ejemplo
Ejemplo de un hash NTLM con el componente LM y NT
Administrator500611D6F6E763B902934544489FCC9192BB71ED1E7F2B60ED5A2
EDD28379D45C91
Los sistemas operativos Windows maacutes recientes como el Windows 8 y 10 usan el hash NT
En teacuterminos simples no hay una debilidad significativa en este hash que lo diferencie de cualquier
otra funcioacuten hash criptograacutefica Se requieren meacutetodos de descifrado como lo es la fuerza bruta o
ataque de diccionario para recuperar la contrasentildea si uacutenicamente se almacena en el formato NT
Ejemplo de un hash NTLM uacutenicamente con el componente NT (como se ve en los sistemas
Windows mas recientes
Administrator500NOPASSWORDEC054D40119570A4663
4350291AF0F72
Es importante sentildealar que la cadena NO PASSWORD es variable seguacuten la herramienta
que se utilice Otras pueden presentar esta informacioacuten como ceros rellenos o comuacutenmente puede
79
ver la cadena ldquoAAD3B435B51404EEAAD3B435B51404EErdquo en lugar de ninguna contrasentildea
Esto significa que el hash LM estaacute vaciacuteo y no estaacute almacenado
El archivo hash se encuentran en el directorio ldquoWindows System32 configrdquo y se
necesitan ambos archivos SAM y SYSTEM Ademaacutes tambieacuten se encuentran en el archivo de
registro HKEY_LOCAL_MACHINE SAM al que no se puede acceder durante el tiempo de
ejecucioacuten Finalmente las copias de seguridad se pueden encontrar a menudo en ldquoWindows
Repairrdquo (Peleus 2019)
Para extraer el archivo hash de un sistema operativo con un nivel de seguridad C1 existen
diferentes meacutetodos en esta ocasioacuten se procederaacute a iniciar el equipo objetivo con una distribucioacuten
de Linux desde una memoria USB como se muestra en la figura 41 para de esta manera ingresar
al directorio CWINDOWSSystem32Config directorio de ubicacioacuten de los archivos SAM y
SYSTEM que son los necesarios para obtener el archivo hash (Caballero 2018)
Figura 41 Arranque con LiveUSB KaliLinux (Fuente Elaboracioacuten propia)
80
42 Dar Formato al Hash
En este punto es donde se tiene que identificar el algoritmo con el que fueron encriptados
los archivos SAM y SYSTEM que se han obtenido en el punto anterior con la finalidad de
seleccionar el tratamiento que se les daraacute El algoritmo de encriptacioacuten del archivo SAM de
Windows 10 es NTLM y ademaacutes estaacute almacenado en un formato binario (ByteBleeder 2017) por
lo que fue necesario instalar la herramienta con licencia GNU samdump2 para obtener la syskey y
de esta manera poder extraer los hash desde el archivo SAM de Windows
En la figura 42 se han obtenido los hashes del archivo SAM donde se puede observar que
los usuarios Administrador e Invitado estaacuten deshabilitados ademaacutes de que existen tres cuentas de
usuario activas las cuales son Gad prueba y usuarioprueba cada una con su contrasentildea cifrada
en formato NTLM a la derecha del nombre de usuario la cuenta usuarioprueba fue a la que se le
realizoacute el anaacutelisis que se detalla posteriormente
43 Evaluar la fuerza del Hash
En criptografiacutea se dice que un algoritmo criptograacutefico se rompe si por alguacuten meacutetodo se
consigue reducir su fortaleza es decir reducir por ejemplo su entropiacutea de los 2256 bits teoacutericos a
Figura 42 Resultado de la ejecucioacuten de la herramienta samdump2 (Fuente Elaboracioacuten propia)
81
tan soacutelo 2255 por ejemplo El hecho de que se encuentre una colisioacuten no implica necesariamente
que un algoritmo se haya roto pues podriacutea haber sido realizado mediante fuerza bruta pero puede
ser una causa
Un ataque de colisioacuten significa que encuentro dos entradas diferentes que producen el
mismo resultado de un hash particular Este es generalmente el tipo de ataque maacutes faacutecil Es el tipo
de ataque que se conoce desde hace varios antildeos contra MD5
Dado que una utilidad importante de las funciones hash estaacute en las firmas digitales
encontrar colisiones puede facilitar falsificar firmas digitales Es decir dos mensajes distintos que
tengan un mismo resumen tienen ademaacutes la misma firma y un atacante puede reemplazar un
mensaje por el otro Un ejemplo de este ataque fue demostrado en 2008 por un grupo de
investigadores en Aacutemsterdam los cuales falsificaron un certificado raiacutez mediante el uso de un
ataque de colisioacuten contra el algoritmo MD5 (Preukschat 2015)
Un ataque previo a la imagen generalmente es mucho maacutes difiacutecil es encontrar otra entrada
que produzca el mismo resultado que un hash que ya se conoce
Para tratar de aclarar la diferencia aquiacute en un ataque de colisioacuten encuentro dos entradas A
y B que producen el mismo resultado En un ataque de preimagen comienzo a partir de alguacuten
resultado conocido X y encuentro una entrada que produciraacute X como resultado (Coffin 2015)
82
Para realizar esta evaluacioacuten se tomoacute como base la tabla del apeacutendice Hash craking
benchmark (Picolet 2017) el objetivo es observar el comportamiento y velocidad del Hash
mencionado cuando fue sometido a pruebas de criptoanaacutelisis Si se trata de un Hash lento se deberaacute
ser maacutes selectivo en queacute tipos de diccionarios y meacutetodos de criptoanaacutelisis se le debe aplicar Si es
un Hash raacutepido se puede ser maacutes libre con la estrategia de criptoanaacutelisis Este estudio busca
realizar una prueba de criptoanaacutelisis mostrando las diferencias entre el poder de procesamiento de
un cluacutester de 17 nodos contra una computadora personal por lo que no necesariamente se
implementaraacute el meacutetodo oacuteptimo para la realizacioacuten del criptoanaacutelisis
44 Calcular la capacidad del equipo
Con la informacioacuten de la evaluacioacuten de la fuerza del Hash obtenida en el apartado anterior en
este apartado se tiene que establecer la capacidad de la plataforma o plataformas que realizaraacuten
el criptoanaacutelisis
Para conocer la capacidad de procesamiento del cluacutester de alto rendimiento se utilizoacute la
herramienta Linpack Benchmark HPL es una implementacioacuten portaacutetil del Benchmark de alto
rendimiento LINPACK para equipos de coacutemputo distribuido Actualmente se utiliza para obtener
varios resultados en la lista actual de Top500 de HP cluacutesters (Dongarra 2010)
El Linpack Benchmark (HPL del Ingleacutes High-Performance Linpack Bench-mark) es un
software que resuelve un sistema lineal aleatorio de doble precisioacuten aritmeacutetica (64 bits) en equipos
de memoria distribuida El rendimiento muestra el nuacutemero de operaciones de punto flotante por
segundo logradas por el sistema (Petitet Whaley Dongarra amp Cleary 2008)
83
El HPL fue desarrollado en el Argone National Laboratory por Jack Don-garra en 1976 y
es uno de los maacutes usados en sistemas cientiacuteficos y de ingenieriacutea para el caacutelculo de prestaciones
Las principales caracteriacutesticas del algoritmo utilizado por el HPL son
Distribucioacuten ciacuteclica de datos de bloques de dos dimensiones
Variante derecha de la factorizacioacuten LU con pivoteo parcial (Teacutecnica de pivoteo
Dicta que el elemento pivote que debe escogerse es el mayor absolutamente de cada
columna)
Factorizacioacuten recursiva con pivoteo y reenviacuteo de columna
Distintas topologiacuteas virtuales de reenviacuteos
Algoritmo de reduccioacuten de reenviacuteo para ancho de banda (Castelloacute Gimeno 2014)
La resolucioacuten del sistema de ecuaciones se realiza del siguiente modo
1 Se crea un sistema de ecuaciones
(1)
119860119909 = 119887
(2)
119860 isin 119877119899119909119899
(3)
119909 119887 isin 119877119899
84
HPL calcula que la solucioacuten para un sistema de ecuaciones lineales se puede generalizar
como 119860119909 = 119887 donde 119860 es una matriz 119873 119909 119873 cuyos valores se generan aleatoriamente
119909 119910 119887 son vectores de tamantildeo 119873 Como se muestra en la Figura 43
2 Primero se calcula la factorizacioacuten 119871119880 con pivoteo parcial de los coeficientes 119899 y 119899 + 1
de la matriz [119860 119887]
(4)
119875119903[119860 119887] = [[119871119880] 119910]
(5)
119875119903 119871 119880 isin 119877119899119909119899
(6)
119910 isin 119877119899
El primer paso es la factorizacioacuten de la matriz 119860 en una matriz triangular superior 119880
y una matriz triangular inferior 119871 tal que 119860 = 119871119880 La factorizacioacuten se usa para calcular
el vector solucioacuten 119909
3 Una vez el pivoteo (representado por la permutacioacuten de la matriz 119875119903) y la factorizacioacuten
inferior se aplican sobre 119887 la solucioacuten se obtiene en un paso resolviendo el sistema
superior triangular
Figura 43 Sistema de Ecuaciones tipo 119860119909 = 119887 (Fuente Elaboracioacuten propia)
85
(7)
119880119909 = 119910
La matriz triangular inferior izquierda y el conjunto de pivotes no se devuelven en el
resultado Para la estabilidad numeacuterica el algoritmo de factorizacioacuten utiliza un pivote parcial de
fila
La implementacioacuten paralela de Linpack divide la matriz 119860 119873 119909 119873 en una cuadriacutecula de
procesos 119875 119909 119876 bidimensional y luego la divide en subgrupos de mosaicos 119873119861 119909 119873119861 (Petitet
Whaley Dongarra amp Cleary 2008)
Utilizando la herramienta HPL en esta investigacioacuten se obtuvieron los siguientes
resultados
La prueba abordoacute el ajuste de 119873 y la eficiencia obtenida en comparacioacuten con el rendimiento
maacuteximo Se determinoacute un valor para 119873 = 800000 aleatoriamente para ejecutar HPL en todo el
cluacutester Sin embargo el tiempo fue excesivo por lo tanto se determinoacute que este tamantildeo del
problema fue demasiado grande para el cluacutester Al realizar otros experimentos con valores maacutes
pequentildeos de 119873 se obtuvieron mejores resultados de rendimiento La Tabla 41 muestra el
rendimiento de HPL en GFlops para 119873 = 300000 400000 y 500000 Como se puede observar
en la Tabla 41 se obtuvo el mejor resultado de rendimiento 850 GFlops para 119873 = 500000 para
valores mayores de 119873 la distribucioacuten de cargas del cluacutester empieza a sobrepasar su capacidad como
se muestra en la Figura 44 y la vez su rendimiento disminuye Esto ocurre porque la cantidad de
memoria utilizada con las memorias intermedias de comunicacioacuten MPI es mayor de lo esperado
Por lo tanto es necesario dejar maacutes del 20 de la memoria para el sistema (Petitet Whaley
86
Dongarra amp Cleary 2008) Tambieacuten se realizaron pruebas usando solo un nodo de coacutemputo y el
rendimiento fue de 34 GFlops para 119873 = 20000
Tabla 41 Rendimiento de HP cluacutester (Fuente Elaboracioacuten propia)
Analizando la eficiencia obtenida para la ejecucioacuten de un solo nodo cuando 119873 = 20000
se obtuvo el 823 del rendimiento maacuteximo (el rendimiento maacuteximo para un solo nodo es 477
Gflops) Para todo el cluacutester el rendimiento maacuteximo seriacutea 119879119898119886119909 = 477 119909 17 =
8109 119866119891119897119900119901119904 aproximadamente
Figura 44 Distribucioacuten de cargas del cluacutester
0
500
1000
300000 400000 500000
Gflops
Gflops
87
La Figura 44 titulada ldquoDistribucioacuten de cargas del cluacutesterrdquo muestra la imagen de la
herramienta Ganglia de manera graacutefica a traveacutes de cuadros que variacutean de color dependiendo de la
carga que tenga cada uno de los nodos al momento de implementar la herramienta HPL De manera
inicial indica que el cluacutester tiene un total de 17 equipos de 4 cores cada uno eso da un total de 68
cores trabajando sin equipos inactivos Muestra tambieacuten una sobrecarga en el cluacutester y un
porcentaje promedio de 100 de uso en la uacuteltima hora
45 Establecer Estrategia
Esto significa uacutenicamente que en este apartado se realizaraacute una guiacutea baacutesica para procesar
los hashes obtenidos sin perder de vista que cada escenario a criptoanalizar es uacutenico en funcioacuten
de las circunstancias externas Como ya se ha mencionado anteriormente esta estrategia de
criptoanaacutelisis se ha planteado implementar dos meacutetodos los cuales son Fuerza Bruta y ataque de
diccionario sin importar si son o no los oacuteptimos debido a que se realizaraacute una comparativa de
capacidad de procesamiento
451 Fuerza Bruta Una vez que se han intentado varios meacutetodos y han fallado se puede
iniciar un ataque de fuerza bruta estaacutendar poniendo especial atencioacuten en la cantidad de siacutembolos
del alfabeto que puede usar el equipo a analizar Por encima de 8 caracteres esto generalmente no
tiene sentido debido a limitaciones de hardware y entropiacutea (complejidad de la contrasentildea) Una
contrasentildea de Windows seguacuten Microsoft (Microsoft Inc 2019) una contrasentildea de Windows debe
estaacute formada por
88
26 Caracteres mayuacutesculas de la ldquoArdquo a la ldquoZrdquo
26 Caracteres minuacutesculas de la ldquoardquo a la ldquozrdquo
10 Diacutegitos de base 10 (0 a 9)
32 Caracteres especiales (~$^amp_-+=|()[]ltgt)
94 Caracteres alfanumeacutericos en total
4511 Cantidad de combinaciones posibles Si se usa una clave numeacuterica (nuacutemeros del 0
al 9) existen 10 posibilidades de 4 diacutegitos de longitud que es la extensioacuten por defecto de los
teleacutefonos celulares Para 4 diacutegitos las combinaciones posibles seriacutean 10 mil 104 = 10000
(Labaca Castro 2014)
Por otro lado si tomamos un alfabeto de 26 letras mayuacutesculas y 26 minuacutesculas 10 nuacutemeros
y 10 caracteres especiales en total tenemos 72 diferentes posibilidades para un uacutenico caraacutecter Eso
significa que las combinaciones para una contrasentildea de 4 caracteres seriacutean 724 = 26873856
Baacutesicamente maacutes de 26 millones de combinaciones en una clave de 4 caracteres contra 10 mil en
una clave de 4 diacutegitos numeacutericos En este estudio se utiliza la contrasentildea de bloqueo descrita en el
apartado anterior que es de 94 combinaciones para cada caraacutecter teniendo una longitud de 7
caracteres por lo tanto seraacuten 947 = 64847759000000 de posibles combinaciones que
nuestros equipos deben explorar para obtener la contrasentildea correcta
Como se mencionoacute en el apartado 42 el usuario sobre el cual se realizoacute el criptoanaacutelisis
fue usuarioprueba el cual constaba de una contrasentildea de longitud 7 caracteres la cual despueacutes
de realizado el anaacutelisis y como se puede observar en la Figura 45
89
1 Anaacutelisis a usuario usuarioprueba
2 Nuacutemero de nodos en operacioacuten 17
3 Nuacutemero de procesos ejecutaacutendose de forma paralela 68
4 Tiempo de duracioacuten del anaacutelisis en el cluacutester 122727 horas
5 Contrasentildea criptoanalizada Pass7
Asiacute mismo en la Tabla 42 se muestra el resultado final y el tiempo de duracioacuten del
criptoanaacutelisis realizado al archivo SAM con el cluacutester y la computadora personal
Tabla 42 Resultados de criptoanaacutelisis de archivo SAM (Fuente Elaboracioacuten propia)
Nodos Nuacutecleos Tiempo de Procesamiento (Horas)
1 (PC) 4 1075316
17 (Cluacutester) 68 122727
1
2
3
4 5
Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester (Fuente Elaboracioacuten propia)
90
452 Diccionario Meacutetodo empleado para romper la seguridad de los sistemas basados en
contrasentildeas (password) en la que el atacante intenta dar con la clave adecuada probando todas (o
casi todas) las palabras posibles ingresadas previamente en un diccionario idiomaacutetico
Generalmente se emplean programas especiales que se encargan de ello
Este meacutetodo suele ser maacutes eficiente que el meacutetodo de fuerza bruta debido a que muchas
usuarios casi siempre suelen utilizar contrasentildeas con una o varias palabras existentes en su lengua
para que la contrasentildea no sea olvidada faacutecilmente y sea sencilla de recordar esto no es una praacutectica
recomendable (Alegsa 2018)
Para realizar este meacutetodo se utilizoacute un diccionario descargado de internet el cual contiene
10000000 de posibles contrasentildeas (g0tmi1k 2018)
Ademaacutes se ejecutoacute un programa creado en lenguaje C (Anexo 1) a traveacutes de la
implementacioacuten de las libreriacuteas MPI y open MPI propias de la arquitectura de cluacutester de
computadoras Este programa fue ejecutado en los mismos equipos descritos anteriormente para
obtener todos los nuacutemeros primos encontrados dentro de un intervalo dado En este caso el
intervalo dado fue de 10000000 con los siguientes resultados mostrados en la Tabla 43
Tabla 43 Resultados de ejecucioacuten de programa en C para la obtencioacuten de nuacutemeros primos (Fuente Elaboracioacuten
propia)
Nodos Nuacutecleos Tiempo de Procesamiento (Segs)
1 (PC) 4 5078
17 (Cluacutester) 68 00013
91
453 Analizar los resultados Posterior a realizar el criptoanaacutelisis y descifrar con eacutexito
una cantidad suficiente de hashes se analizan los resultados en busca de pistas o patrones Este
anaacutelisis puede ayudar a tener eacutexito en cualquier hash restante
454 Personalizar ataques Tomando como base el anaacutelisis de resultados realizado
previamente se disentildearaacuten diversas estrategias personalizadas que aprovechen las vulnerabilidades
conocidas o patrones Los ejemplos seriacutean ataques de maacutescara personalizados o reglas para
adaptarse al comportamiento o las preferencias del usuario objetivo
92
Conclusioacuten
El trabajo de investigacioacuten presentado parte de la necesidad de buscar alternativas para
explotar al maacuteximo la capacidad de procesamiento del equipo de coacutemputo que existe actualmente
dentro del inventario del Instituto Tecnoloacutegico de Acapulco asiacute como proveer una plataforma que
coadyuve a la investigacioacuten dentro del Instituto a traveacutes de implementar un cluacutester de coacutemputo
con capacidad para realizar proyectos en el aacuterea de ingenieriacutea y matemaacuteticas con el fin de optimizar
el tiempo de ejecucioacuten lo cual en un futuro se veraacute reflejado en ventajas para el desarrollo de la
regioacuten
La revisioacuten y anaacutelisis de informacioacuten en relacioacuten a cluacutesters es muy interesante pero a la
vez es compleja dado que involucra diferentes aspectos durante su evolucioacuten asiacute como diversas
metodologiacuteas para su formacioacuten e implementacioacuten Se considera de suma importancia para este
trabajo las revisiones efectuadas ya que son la base para la propuesta entregada
De acuerdo a las especificaciones teacutecnicas de los equipos informaacuteticos existentes dentro
del laboratorio de la Maestriacutea en Sistemas Computacionales y una vez que se realizoacute el anaacutelisis
de varios casos de eacutexito se propuso la metodologiacutea para implementacioacuten de un cluacutester homogeacuteneo
tipo Beowolf Este meacutetodo estaacute basado en otros que ya se han implementado bajo realidades
acadeacutemicas similares rescatando las etapas maacutes importantes de cada uno y complementaacutendolo con
los aportes personales se consideroacute que fue el oacuteptimo debido a que se implementoacute con hardware
convencional y herramientas de uso libre
93
El hecho de haber seleccionado un meacutetodo adecuado permitioacute superar gran parte los
problemas que presentaban las metodologiacuteas que fueron analizadas simplificoacute la implementacioacuten
del cluacutester y permitioacute el poder alcanzar una mayor estabilidad en su desempentildeo desde su etapa
inicial fue importante conocer el resultado en cada una de las etapas de implementacioacuten para
asegurar su desenvolvimiento en el futuro
Para integrar los equipos independientes a la arquitectura cluacutester se realizoacute el disentildeo de
una topologiacutea de red Gigabit Ethernet tipo estrella con un direccionamiento IP estaacutetico la
configuracioacuten de protocolos de comunicacioacuten remota sin autenticacioacuten la comparticioacuten de
archivos en red y la utilizacioacuten de aplicaciones de licencia GPL que permiten obtener el
funcionamiento similar a la de una supercomputadora
Haciendo uso de libreriacuteas de paso de mensajes (MPI) y el software John the Ripper para el
descifrado de contrasentildeas la arquitectura cluacutester implementada alcanzoacute una eficiencia de 885
de rendimiento en comparacioacuten con los recursos computacionales de un solo equipo con las
caracteriacutesticas de un nodo Ademaacutes otros de los proyectos ejecutados en la arquitectura cluacutester
para probar el rendimiento fue la ejecucioacuten de un programa para la deteccioacuten de nuacutemeros primos
dentro de un archivo de 10000000 de nuacutemeros obteniendo una eficiencia de maacutes de 99 gracias
a la distribucioacuten de tareas que proporcionan las libreriacuteas de paso de mensajes (MPI) dentro de la
arquitectura cluacutester
Con la implementacioacuten de la arquitectura cluacutester el laboratorio de la Maestriacutea en Sistemas
Computacionales podraacute dar soluciones potentes eficientes y econoacutemicas en los entornos de
94
investigacioacuten mejorando la capacidad de procesamiento en aplicaciones como evaluacioacuten de
algoritmos compresioacuten de archivos renderizacioacuten de imaacutegenes anaacutelisis de datos (big data) en un
tiempo relativamente bajo ideal para las necesidades educativas
La experiencia obtenida al realizar esta investigacioacuten y propuesta ha sido enriquecedora
tanto por la obtencioacuten de conocimiento en base a la historia evolucioacuten y arquitectura de cluacutesters
asiacute como la programacioacuten paralela y sus ventajas en diferentes proyectos desarrollados en todo el
mundo Igualmente la comparacioacuten entre cada uno de los modelos y meacutetodos resulta interesante
dado que existe un sinnuacutemero de ejemplos con caracteriacutesticas diferentes pero baacutesicamente con un
mismo objetivo final
Trabajo Futuro
El cluacutester implementado en el Laboratorio de la Maestriacutea en Sistemas computacionales del
Instituto Tecnoloacutegico de Acapulco puede ser utilizado en gran cantidad de aplicaciones dentro de
las diferentes aacutereas de investigacioacuten del Instituto asiacute como estar disponible para el Departamento
de Posgrado e Investigacioacuten como apoyo durante la realizacioacuten de tareas y proyectos dentro de las
aacutereas de Desarrollo de Sistemas Inteligentes asiacute como de Tecnologiacuteas Web
Propuesta de Trabajo a Futuro
Durante la realizacioacuten de este proyecto se observoacute la necesidad que existe dentro del
departamento de Investigacioacuten y Posgrado de equipos de alta capacidad de procesamiento para
realizar de una manera maacutes eficiente las investigaciones que se estaacuten llevando a cabo Una de ellas
es el ldquoSistema de apoyo al diagnoacutestico oportuno de Retinopatiacutea Diabeacuteticardquo en la cual a traveacutes del
entrenamiento de una red neuronal se clasificaraacuten y evaluaraacuten un nuacutemero de 3000 imaacutegenes para
95
demostrar la presencia de dicha enfermedad en pacientes del Instituto Estatal de Oftalmologiacutea
Actualmente se ha realizado una prueba de entrenamiento de dicha red neuronal con 70 imaacutegenes
obteniendo como resultado un tiempo clasificacioacuten y evaluacioacuten de 301532 horas en un equipo
con un procesador Core I7 con 8 GB en memoria RAM
96
Bibliografiacutea
Alegsa (01 de 01 de 2018) Alegsa Diccionario Informaacutetico Recuperado el 07 de 2019 de
Alegsa httpwwwalegsacomarDicataque_por_diccionariophp
Avecto (2017) Avecto Limited Recuperado el 10 de 08 de 2018 de AVECTO a Bomgar
Company wwwavectocom
Borghello C (2009) Seguridad de la Informacioacuten Recuperado el 11 de 2018 de Criptografiacutea de
la A-Z httpswwwsegu-infocomarproyectosp1_hashhtm
Branch Bedoya J amp Mesa Muacutenera A (Diciembre de 2008) Implementacioacuten de un cluster
homogeacuteneo para la resolucioacuten de problemas de alta complejidad computacional Avances
en Sistemas e Informaacutetica 5(3)
ByteBleeder (02 de 06 de 2017) Practical guide to NTLM Relaying in 2017 Obtenido de Github
httpsbyt3bl33d3rgithubiopractical-guide-to-ntlm-relaying-in-2017-aka-getting-a-
foothold-in-under-5-minuteshtml
Caballero A (26 de 06 de 2018) Hacking Eacutetico Recuperado el 03 de 2019 de John The Ripper
httpwwwreydescomdq=Recuperar_la_Contrasena_del_Administrador_utilizando_s
amdump2_y_John_The_Ripper
Carretero Peacuterez J de Miguel Anasagasti P Garciacutea Carballeira F amp Peacuterez Costoya F (2001)
Sistemas Operativos Una visioacuten aplicada (C F Madrid Ed) Madrid Espantildea
McGRAW-HillInteramericana
Castelloacute Gimeno A (30 de 07 de 2014) Universitat Jaume Recuperado el 10 de 2019 de
Evaluacioacuten de prestaciones mediante laaplicacioacuten HPL de clusters utilizandorCUDA
97
httprepositoriujiesxmluibitstreamhandle10234115082TFM_2014_CastelloGimen
oApdfsequence=1ampisAllowed=y
Chaacutevez J Echeverriacutea C Correa M Vaacutezquez E Suaacuterez M Maacutermol X Diacuteaz G (07 de
1999) Centro de Caacutelculo Cientiacutefico Recuperado el 01 de 05 de 2018 de Universidad de
Los Andes httpwwwcecalculavedocumentaciontutorialesbeowulfinformehtml
Chirinov R (2003) Nfinite9000 SL Recuperado el 26 de 04 de 2018 de Noticias 3D
httpswwwnoticias3dcomarticuloaspidarticulo=248amppag=4
Coffin J (23 de 07 de 2015) Quora Recuperado el 15 de 08 de 2019 de
httpswwwquoracomWhat-does-it-mean-when-a-hashing-algorithm-has-been-broken
Dongarra J (2010) Top500 Super computer sites Recuperado el 07 de 2019 de http
wwwtop500org
Educba (01 de 01 de 2019) Recuperado el 10 de 2019 de Educbaorg
httpswwweducbacomidea-algorithm
europa press (04 de 06 de 2013) Portal Tic Recuperado el 18 de 11 de 2018 de Europa Press
httpswwweuropapressesportalticgadgetsnoticia-cuarta-generacion-intel-core-mayor-
salto-cuanto-ahorro-energetico-20130604174722html
g0tmi1k (2018) github Recuperado el 05 de 2019 de github
httpsgithubcomdanielmiesslerSecListsblobmasterPasswordsCommon-
Credentials10-million-password-list-top-1000000txt
Gonzaacutelez Agudelo D (2014) El riesgo y la falta de politicas de seguridad informaacutetica una
amenaza en las empresas certificadas basc Recuperado el 20 de 05 de 2018 de
Universidad Militar Nueva Granada
httpsrepositoryunimilitareducobitstream10654122511ENSAYO20FINALpdf
98
Gonzaacutelez Ramiacuterez E amp Rodriacuteguez Saacutenchez A (2008) Disentildeo e implementacioacuten de un cluster
tipo BEOWULF para el desarrollo de coacutemputo cientiacutefico avanzado CdMx Mexico
Hernandez M (2013) Forensics Mexico Recuperado el 07 de 2018 de La importancia del
registro de Windows parte 1 httpforensicsmexicoblogspotcom201309la-
importancia-del-registro-de-windowshtml
Kowalczyk C (01 de 2015) Crypto-IT Recuperado el 11 de 2018 de Crypto-IT
httpwwwcrypto-itnetengasymmetricindexhtml
Labaca Castro R (13 de 06 de 2014) We live security Recuperado el 2019 de 08 de 07 de
Welivesecuritybyeset httpswwwwelivesecuritycomla-es20140613matematica-
claves-numerica-alfanumerica
Lizaacuterraga C (2002) Departamento de Fiacutesica Recuperado el 12 de 03 de 2018 de Universidad
de Sonora httpclustersfisicausonmx
Llorens E amp Pentildea M (2002) Recuperado el 04 de 2018 de Departament dArquitectura de
Computadors httppersonalsacupceduenricPFCBeowulfbeowulfhtml
Meneacutendez-Barzanallana R (07 de 08 de 17) Universidad de Murcia Recuperado el 11 de 2018
de Informaacutetica Aplicada a las Ciencias Sociales
httpswwwumesdocenciabarzanaIACCSSCriptografiahtml
Merkle R amp Damgaringrd I (sf) Numerenturorg Recuperado el 06 de 2019 de Para computar -
numerenturorg httpnumerenturorgfuncion-merkle-damgard
Microsoft Inc (02 de 05 de 2019) wwwmicrosoftcom Obtenido de Password must meet
complexity requirements httpsdocsmicrosoftcomes-eswindowssecuritythreat-
protectionsecurity-policy-settingspassword-must-meet-complexity-requirements
99
Mifsud E (26 de 03 de 2012) Introduccioacuten a la seguridad informaacutetica Recuperado el 07 de 05
de 2018 de Ministerio de educacioacuten cultura y deportes Gobierno de Espantildea
httprecursosticeducacionesobservatoriowebessoftwaresoftware-general1040-
introduccion-a-la-seguridad-informaticashowall=1
Murugesan S (01 de 02 de 2008) Researchgate doi101109MITP200810
Nahar K amp Abu Abbas O (01 de 2010) Researchgate Recuperado el 07 de 2019 de
Researchgate
httpswwwresearchgatenetpublication315492522_Hybrid_Cipher_System
Nievas F Pino O amp Arroyo R (sf) Los clusters como Plataforma de Procesamiento Paralelo
Recuperado el 25 de 04 de 2018 de
httpusuarioslycoseslacaraocultadescargasClusters_definitivo pdf
Pawar S (2016) A computer science portal for geeks Recuperado el 10 de 2018 de
Geeksforgeeks httpswwwgeeksforgeeksorgrc5-encryption-algorithm
Peleus (2019) NETSEC Recuperado el 08 de 2019 de httpsnetsecwsp=314
Peacuterez Tavera I (2014) Obtenido de Universidad Autonoma del Estado de Hidalgo
httpswwwuaehedumxscigeboletinprepa4n2e4html
Peacuterez M (2001) Recuperado el 15 de 04 de 2018 de
httpwwwdragonesorgBibliotecaArticulosArquitecturaParalela2pdf
Petitet A Whaley R C Dongarra J amp Cleary A (2008) HPL - A Portable Implementation of
the High-Performance Linpack Benchmark for Distributed-Memory Computers
Recuperado el 07 de 2019 de httpwwwnetliborgbenchmarkhpl
Picolet J (2017) Hash Crack Password Cracking Manual (Vol 2) Createspace Independent
Pub
100
Preukschat A (23 de 02 de 2015) Oro y Finanzas Recuperado el 07 de 2019 de
httpswwworoyfinanzascom201502que-es-colision-criptografia-bitcoin
Robbins D (2008) OpenMosix Recuperado el 22 de 04 de 2018 de the openMosix Project
httpopenmosixsourceforgenetintroduction_to_openmosixhtml
Rocha Quezada J d Botello Rionda S Vargas Feacutelix J M amp Munguiacutea Torres I A (Sep-Dic
de 2011) Disentildeo e implementacioacuten de un cluacutester de coacutemputo de alto rendimiento Acta
Universitaria 21(3) 24-33 Recuperado el 1 de 12 de 2018
Rocksclusters (01 de 01 de 2010) httpwwwrocksclustersorg Recuperado el 01 de 06 de 2018
de httpwwwrocksclustersorg httpwwwrocksclustersorg
Sanjoy K (01 de 01 de 2015) DZone Recuperado el 15 de 06 de 2019 de DZone
httpsdzonecomarticlessecurity-algorithms-des-algorithm
Security Degree Hub (01 de 2017) Security Degree Hub Recuperado el 13 de 02 de 2019 de
Security Degree Hub httpswwwsecuritydegreehubcomwhat-is-cryptanalysis
Simmons G (01 de 01 de 2019) Encyclopedia Britannica Recuperado el 08 de 2019 de
Encyclopedia Britannica httpswwwbritannicacomtopicRSA-encryption
statista (09 de 2017) Statista Obtenido de Statista Co httpsesstatistacom
Turner D (2004) Recuperado el 12 de 02 de 2018 de Ames Lab
httpwwwsclameslabgovProjectsparrallel_computingpara_intohtml
United States Government Department of Defense (1983) Trusted Computer System Evaluation
Criteria Rainbow Series
Universidad Internacional de Valencia (09 de Septiembre de 2016) Nuestros
expertosTecnologiacutea Recuperado el 27 de Abril de 2018 de Universidad Internacional de
Valencia httpswwwuniversidadviuesla-seguridad-informatica-puede-ayudarme
101
Wallen J (19 de 01 de 2019) Lifewire Recuperado el 13 de 06 de 2019 de Lifewire
httpswwwlifewirecomgnome-3-desktop-4175640
Yang H (01 de 02 de 2019) Herong Yang Recuperado el 15 de 06 de 2019 de Cryptography
Tutorials httpwwwherongyangcomCryptographyDSA-Introduction-What-Is-DSA-
Digital-Signature-Algorithmhtml
102
Anexo 1
Programa en Lenguaje C para la obtencioacuten de nuacutemeros primos utilizando libreriacuteas mpi
include ltcstdlibgt
include ltiostreamgt
include ltiomanipgt
include ltcmathgt
include ltctimegt
include mpih
using namespace std
int main ( int argc char argv[] )
int prime_number ( int n int id int p )
void timestamp ( )
int main ( int argc char argv[] )
int i
int id
int master = 0
int n
int n_factor
int n_hi
int n_lo
int p
int primes
int primes_part
double wtime
n_lo = 1
n_hi = 10000000
n_factor = 2
MPIInit ( argc argv )
p = MPICOMM_WORLDGet_size ( )
id = MPICOMM_WORLDGet_rank ( )
if ( id == master )
cout ltlt n
cout ltlt Cuenta primosn
cout ltlt C++MPI versionn
cout ltlt n
cout ltlt Programa para contar cantidad de primos para un N dadon
cout ltlt Corriendo en ltlt p ltlt procesosn
cout ltlt n
103
cout ltlt N S Tiempon
cout ltlt n
n = n_lo
while ( n lt= n_hi )
if ( id == master )
wtime = MPIWtime ( )
MPICOMM_WORLDBcast ( ampn 1 MPIINT master )
primes_part = prime_number ( n id p )
MPICOMM_WORLDReduce ( ampprimes_part ampprimes 1 MPIINT
MPISUM
master )
if ( id == master )
wtime = MPIWtime ( ) - wtime
cout ltlt ltlt setw(8) ltlt n
ltlt ltlt setw(8) ltlt primes
ltlt ltlt setw(14) ltlt wtime ltlt n
n = n n_factor
MPIFinalize ( )
if ( id == master )
cout ltlt n
cout ltlt PRIME_MPI - Procesos maestron
cout ltlt Finalizacion del calculo normaln
return 0
int prime_number ( int n int id int p )
int i
int j
int prime
int total
104
total = 0
for ( i = 2 + id i lt= n i = i + p )
prime = 1
for ( j = 2 j lt i j++ )
if ( ( i j ) == 0 )
prime = 0
break
total = total + prime
return total
void timestamp ( )
define TIME_SIZE 40
static char time_buffer[TIME_SIZE]
const struct tm tm
size_t len
time_t now
now = time ( NULL )
tm = localtime ( ampnow )
len = strftime ( time_buffer TIME_SIZE d B Y IMS p tm )
cout ltlt time_buffer ltlt n
return
undef TIME_SIZE
x
Iacutendice de Figuras
Figura 31 Esquema tiacutepico de configuracioacuten de un cluacutester xi
Figura 32 Imagen del Bios del equipo en la opcioacuten ldquodrive configurationrdquo 61
Figura 33 Bios ATAIDE Legacy Mode 61
Figura 34 Bios Boot PXE 62
Figura 35 Bios Boot device prioriry 63
Figura 36 Pantalla de Inicio de instalacioacuten de Rocks 64
Figura 37 Pantalla de seleccioacuten de Rolls 65
Figura 38 Listado de opciones de rolls para instalar 65
Figura 39 Informacioacuten baacutesica del cluacutester a instalar 66
Figura 310 Configuracioacuten Ethernet de la red privada 67
Figura 311 Configuracioacuten Ethernet de la red puacuteblica 67
Figura 312 Configuracioacuten de DNS y Gateway 68
Figura 313 Ingresar contrasentildea de usuario root 68
Figura 314 Configuracioacuten horaria 69
Figura 315 Particiones del disco duro 69
Figura 316 Pantalla para ingresar nodos 71
Figura 317 Indicador de insercioacuten de nuevos nodos 71
Figura 318 Comando qstat ndashf 74
Figura 319 Enviacuteo de trabajos por medio del comando qsub 75
Figura 320 Estado de los trabajos pendientes mostrados por qstat ndashf 75
Figura 321 Visualizacioacuten de la distribucioacuten de cargas en el cluacutester usando la herramienta
Ganglia 76
Figura 41 Arranque con LiveUSB KaliLinux 79
Figura 42 Resultado de la ejecucioacuten de la herramienta samdump2 80
Figura 43 Sistema de Ecuaciones tipo 119860119909 = 119887 Fuente Propia 84 Figura 44 Distribucioacuten de cargas del cluacutester 86
Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester 89
xi
Iacutendice de Tablas
Tabla 11 Costo del Proyecto 15
Tabla 41 Rendimiento de HP cluacutester (Fuente Elaboracioacuten propia) 86
Tabla 42 Resultados de criptoanaacutelisis de archivo SAM (Fuente Elaboracioacuten propia) 89
Tabla 43 Resultados de ejecucioacuten de programa en C para la obtencioacuten de nuacutemeros primos
(Fuente Elaboracioacuten propia) 90
1
Capiacutetulo 1 Introduccioacuten
11 Antecedentes del problema
Sin lugar a duda una de las herramientas maacutes importantes producida en el siglo XX ha sido
la computadora la cual ha provocado cambios vertiginosos en la sociedad y en el progreso de la
misma En la actualidad el entorno estaacute praacutecticamente controlado por las nuevas tecnologiacuteas que
a medida que transcurre el tiempo avanzan sin liacutemites y en ocasiones son utilizadas
incorrectamente provocando dantildeos de grandes dimensiones
Los trascendentales cambios operados en el mundo moderno caracterizados por su
constante desarrollo la acelerada globalizacioacuten de la economiacutea la acentuada dependencia a
almacenar grandes voluacutemenes de informacioacuten y los sistemas que la proveen aunado a grandes
inversiones de las empresas en conocimiento actual y futuro en sistemas de informacioacuten ademaacutes
del potencial que poseen las tecnologiacuteas para cambiar draacutesticamente las organizaciones y las
praacutecticas de negocio asiacute como crear nuevas oportunidades disentildear nuevas estructuras tecnoloacutegicas
basadas en informacioacuten la convierte en un activo codiciable Tales avances hacen permanente el
riesgo en las tecnologiacuteas y nos llevan a pensar en la problemaacutetica sobre la seguridad informaacutetica
La proteccioacuten de datos documentos y control de acceso a la informacioacuten es un tema que
cada diacutea toma maacutes fuerza en las grandes compantildeiacuteas debido a las diferentes praacutecticas de
especialistas tecnoloacutegicos como los son los hackers y crackers que roban informacioacuten vital para
posteriormente sacar provecho de ella
2
ldquoDesde la aparicioacuten de los grandes sistemas aislados hasta nuestros diacuteas en los que el
trabajo en red es lo habitual los problemas derivados de la seguridad de la informacioacuten han ido
tambieacuten cambiando evolucionando pero estaacuten ahiacute y las soluciones han tenido que ir adaptaacutendose
a los nuevos requerimientos teacutecnicos Aumenta la sofisticacioacuten en el ataque y ello aumenta la
complejidad de la solucioacuten pero la esencia es la mismardquo (Mifsud 2012)
Dentro del mundo actual la informacioacuten es denominada un activo importante de una
institucioacuten la cual debe ser protegida para evitar su peacuterdida modificacioacuten o el uso inadecuado de
su contenido
El extraviacuteo o el mal uso de informacioacuten que para alguien es confidencial genera dantildeos y
repercusiones directas relacionadas a la integridad disponibilidad y confidencialidad de los
archivos y a su vez a los duentildeos de dicha informacioacuten
ldquoLa seguridad informaacutetica se distingue por tener dos propoacutesitos de seguridad la Seguridad
de la Informacioacuten y la Proteccioacuten de Datos estos se diferencian debido a que los datos son valores
numeacutericos que soportan la informacioacuten mientras que la informacioacuten es aquello que tiene un
significado para nosotrosrdquo (Gonzaacutelez Agudelo 2014)
La seguridad informaacutetica consiste en asegurar que los recursos del sistema de informacioacuten
(material informaacutetico o programas) de una organizacioacuten sean utilizados de la manera que se decidioacute
3
inicialmente y que el acceso a la informacioacuten alliacute contenida asiacute como su modificacioacuten soacutelo sea
posible a las personas que se encuentren acreditadas y dentro de los liacutemites de su autorizacioacuten
Actualmente hay mucha informacioacuten circulando en internet por ejemplo correos
electroacutenicos publicaciones en Twitter Facebook videos fotos comercio electroacutenico secretos de
estado militares o industriales Lamentablemente dicha red es puacuteblica e insegura dentro de la cual
existen usuarios bien intencionados y muchos mal intencionados Diariamente encontramos
noticias de sitios con intrusiones mal intencionadas (hackeados) clonacioacuten de tarjeta de creacutedito o
imaacutegenes adulteradas Todo lo anterior motiva la necesidad de proteger la informacioacuten a traveacutes de
mecanismos que impidan a los usuarios no autorizados acceder a dicha informacioacuten
4
12 Planteamiento del Problema
Los sistemas de informacioacuten actuales estaacuten relacionados completamente con la exposicioacuten
de su informacioacuten a entidades externas que son ajenas a la organizacioacuten o delegacioacuten a la que
pertenecen
Cuando no se conoce el alcance que tienen los sistemas informaacuteticos ni lo vulnerables que
pueden ser si son expuestos a Internet por los mismos empleados de la organizacioacuten puede darse
ldquofugardquo de informacioacuten hacia el exterior esto los hace vulnerables a eventos y amenazas que
conllevan a riesgos que pueden provocar peacuterdidas tangibles e intangibles las cuales se traducen
en peacuterdidas que en muchos de los casos por decir lo menos seraacuten monetarias
El portal espantildeol de estadiacutesticas statista muestra la cuota de mercado de los principales
sistemas operativos a nivel mundial a fecha de febrero de 2017 seguacuten el nuacutemero de instalaciones
(statista 2017) Windows 10 fue el segundo sistema operativo maacutes instalado con una cuota de
mercado de 253 Esto significa que alrededor de una de cada cuatro computadoras estaacute
gobernado por este sistema operativo Por su parte en el caso de Windows 7 el porcentaje se situacutea
por encima del 45 a pesar de que ya no se vende ninguacuten PC con este sistema operativo Hablando
de manera conjunta los sistemas operativos Windows cuentan con una cuota del mercado global
de 8857
La empresa de seguridad informaacutetica Britaacutenica Avecto informoacute en su Microsoft
Vulnerabilities Report 2017 (Avecto 2017) (reporte 2017 de vulnerabilidades de Windows) un
aumento de vulnerabilidades publicadas del 111 en los uacuteltimos 5 antildeos de las cuales 235 criacuteticas
5
fueron mitigadas removiendo permisos de administrador asiacute como otras muy importantes
enfocadas al Administrador de Cuentas de Seguridad (SAM Security Account Manager por sus
siglas en ingleacutes) la cual es una base de datos almacenada como un archivo del registro en Windows
y que almacena las contrasentildeas de los usuarios en un formato hash (Algoritmos que crean a partir
de una entrada una salida alfanumeacuterica de longitud fija)
6
13 Objetivos
131 Objetivo General A traveacutes de la implementacioacuten de un procedimiento de fuerza
bruta utilizando para ello un cluacutester de alto rendimiento asiacute como software de uso libre lograr
capacidad de procesamiento capaz de vulnerar un sistema de autenticacioacuten nivel C1
132 Objetivos Especiacuteficos
Analizar los diferentes niveles de seguridad de sistemas operativos
Analizar diferentes meacutetodos de criptoanaacutelisis para vulnerar el Administrador de
cuentas de seguridad
Estudiar las teacutecnicas de agrupamiento de computadoras (clustering) para la
obtencioacuten de mayor poder de procesamiento
Implementar un cluacutester de alto rendimiento en el Laboratorio de la Maestriacutea en
Sistemas Computacionales del Instituto Tecnoloacutegico de Acapulco para ejecutar
operaciones de coacutemputo distribuido
7
14 Justificacioacuten
Antes la seguridad de la informacioacuten se realizaba a traveacutes de medios fiacutesicos por ejemplo
una caja fuerte en la cual las personas resguardaban objetos o informacioacuten valiosa para ellos Con
la introduccioacuten de las computadoras y el uso de internet los usuarios comienzan a almacenar
informacioacuten importante dentro de sus equipos por lo que se considera indispensable el uso de
herramientas que brinden proteccioacuten a la informacioacuten que se encuentra resguardada dentro de
eacutestas Los usuarios informaacuteticos suelen enviar informacioacuten por la red en las empresas al realizar
traacutemites o enviar informes a socios jefes entre otros
El resguardo de informacioacuten siempre ha sido importante para los seres humanos con la
diferencia que anteriormente no se contaba con los avances tecnoloacutegicos que tenemos actualmente
puesto que con la introduccioacuten de internet y el uso de dispositivos electroacutenicos se tiene mayor
riesgo de la informacioacuten que en ellos se maneja
La proteccioacuten del contenido de los datos es una necesidad urgente en casi todos los aacutembitos
de la sociedad incluyendo los servicios puacuteblicos y privados por lo que la tecnologiacutea de la
seguridad de los sistemas de cifrado se encuentra de frente a verdaderos retos
15 Hipoacutetesis
A traveacutes de un de fuerza bruta como teacutecnica de criptoanaacutelisis y con la ayuda de una mayor
capacidad de procesamiento mediante la implementacioacuten de agrupamiento de computadoras
(cluacutester) de alto rendimiento seraacute posible encontrar alguna vulnerabilidad dentro del sistema de
administracioacuten de cuentas de seguridad de Windows server 2012
8
16 Alcances y Limitaciones
Esta tesis se centraraacute en el sistema operativo Windows como objeto de estudio al cual se
le realizaraacute el criptoanaacutelisis
La tesis se enfocaraacute en el meacutetodo Beowulf para realizar el agrupamiento de computadoras
asiacute como la distribucioacuten de software libre del sistema operativo Linux Rocks
El nuacutemero de equipos disponibles para poder realizar el agrupamiento es de 17
computadoras hasta lograr el poder de coacutemputo de 800 Gflops
17 Impacto Social Tecnoloacutegico Econoacutemico y Ambiental
La sostenibilidad del presente proyecto seraacute abordada a partir de los siguientes aspectos
171 Impacto social A veces se puede pensar que un cluacutester de alto rendimiento pudiera
no tener alguacuten impacto directo en el medio social pero si nos enfocamos a un punto de vista en
donde gracias a la capacidad de procesamiento de estas maacutequinas han sido parte fundamental en
el desarrollo de proyectos que inciden de manera directa en beneficio de la sociedad en la que
vivimos como lo es la medicina la fiacutesica quiacutemica
Este proyecto busca beneficiar a nuestra sociedad proveyendo su capacidad de
procesamiento en la buacutesqueda de alguna vulnerabilidad en el sistema operativo maacutes utilizado hoy
en diacutea como lo es Windows ademaacutes de que estaraacute disponible para la comunidad cientiacutefica y
9
estudiantil del Instituto Tecnoloacutegico de Acapulco para optimizar tiempo de caacutelculo en futuras
investigaciones
172 Impacto ambiental Green IT tambieacuten conocido como Green Computing o
traducido al espantildeol como Tecnologiacuteas Informaacuteticas Verdes es definido como el estudio y la
praacutectica de disentildear desarrollar usar y disponer de computadoras servidores y diferentes
perifeacutericos tales como monitores impresoras dispositivos de almacenamiento de redes y
comunicaciones eficientemente y efectivamente con un impacto miacutenimo o nulo en el medio
ambiente (Murugesan 2008)
Bajo la premisa anterior este proyecto hace uso de los equipos con los que cuenta
actualmente el laboratorio de la Maestriacutea en Sistemas Computacionales lo cual evitaraacute la
adquisicioacuten de equipo nuevo y por consecuencia desechar el equipo existente evitando desperdicio
electroacutenico Dicho equipo cuenta con un procesador Intel I3 de 4ta generacioacuten lo cual seguacuten el
portal electroacutenico Europa press
ldquoEsta nueva generacioacuten supone el mayor salto en cuanto ahorro energeacutetico de la historia
de Intel asiacute como una mejora en los graacuteficos y nuevas experiencias de usuariordquo (europa press
2013)
Teniendo como base estos dos puntos importantes como lo son la reutilizacioacuten de equipo
y utilizando procesadores de bajo consumo energeacutetico es como este proyecto busca contribuir de
manera positiva con el medio ambiente
10
173 Impacto econoacutemico Actualmente existe una gran necesidad de procesar grandes
cantidades de datos lo cual hace imprescindible disponer de maacutequinas con estas caracteriacutesticas sin
embargo su alta complejidad aunado al gran costo hace que en instituciones de caraacutecter puacuteblico
sea muy complicado conseguir recurso para este fin Sin embargo un cluacutester de alto rendimiento
reutilizaraacute equipo propio evitando asiacute gastos por concepto de adquisicioacuten de equipo siendo de
esta manera viable para instituciones de caraacutecter puacuteblico
18 Metodologiacutea a Utilizar
181 Anaacutelisis Despueacutes de analizar las diferentes metodologiacuteas de clustering se optoacute por
desarrollar e implementar un cluacutester de alto rendimiento (HPC)
182 Disentildeo
1821 Economiacutea Debido a las caracteriacutesticas del equipo con el cual cuenta el Laboratorios
de la Maestriacutea en Sistemas Computacionales los componentes utilizados para este proyecto son
considerados de uso comuacuten y de bajo costo lo cual los hace faacutecilmente reemplazables en caso de
fallo a un costo accesible El equipo es de la marca Acer Aspire modelos AXC-605-M021 lo cual
nos hace tener ventaja y respaldo del fabricante con respecto a hardware geneacuterico
1822 Instalaciones Un cluacutester requiere de un ambiente controlado Esto es una
habitacioacuten especial con sistema de enfriamiento capacidad suficiente de carga eleacutectrica control
de humedad y un ambiente libre de polvo Ademaacutes se deben considerar el peso del equipo sobre
el piso (ya sea falso o piso normal) Se recomienda colocarlo en los soacutetanos o en la plata baja de
edificios (Rocha Quezada Botello Rionda Vargas Feacutelix amp Munguiacutea Torres 2011)
11
En el laboratorio de la Maestriacutea en Sistemas Computacionales se cuenta con espacio que
reuniacutea la mayoriacutea de las caracteriacutesticas requeridas para este proyecto
1823 Escalabilidad Un cluacutester debe ser faacutecilmente escalable y a su vez confiable Por
tal motivo se ha utilizado equipo de marca lo cual nos proporciona maacutes de confiabilidad en su
desempentildeo y a su vez facilidad de aumentar el nuacutemero de equipos si en un futuro fuese necesario
agrandar este proyecto Se armoacute un cluacutester de cinco computadoras con procesadores Intel Core I3
de 64 bits en cada nodo La memoria incluida y perifeacutericos son faacuteciles de adquirir en el mercado
1824 Red En la parte de redes se utilizoacute un switch fast Ethernet con una velocidad de 1
Gbps el cual tiene tazas de transferencia raacutepida y el costo es notablemente maacutes econoacutemico que
uno de fibra oacuteptica
El cableado seleccionado fue el estaacutendar UTP de cobre con la norma Gigabit Ethernet de
IEEE 8023ab con la categoriacutea de cableado 6e que soporta tazas de transferencia de datos de
1000Base T (1 Gbps)
1825 Software
ldquoEl sistema operativo debe constar con servicios dedicados para compartir y respaldar
archivos asiacute como capacidad de acceder a los datos de trabajo raacutepidamente El sistema operativo
debe tambieacuten proveer servicios de monitoreo y reporte de fallas en el sistemardquo (Rocha Quezada
Botello Rionda Vargas Feacutelix amp Munguiacutea Torres 2011)
12
Existe una gran variedad de software para instalar cluacutester de alto rendimiento sin embargo
como se ha comentado con anterioridad el costo de adquisicioacuten debe ser accesible por tal motivo
se optoacute por una distribucioacuten con licencia GNU de Linux Rocks Cluster la cual es una distribucioacuten
sencilla de instalar y configurar en comparacioacuten con otras distribuciones analizadas dicha
distribucioacuten estaacute basada en CentOS que a su vez estaacute basada en la conocida distribucioacuten de Linux
Red Hat
1826 Almacenamiento Para este proyecto no se requeriraacute un gran espacio de
almacenamiento por tal motivo los equipos utilizados tanto maestro como esclavos mantuvieron
sus unidades de disco originales las cuales son de 1 TB de almacenamiento
183 Implementacioacuten La implementacioacuten del cluacutester de alto rendimiento fue realizada
dentro de las instalaciones del Laboratorio de la Maestriacutea en Sistemas Computacionales del
Instituto Tecnoloacutegico de Acapulco construido inicialmente para este proyecto de criptoanaacutelisis lo
cual requeriraacute suficiente capacidad de procesamiento para poder implementar ataques de fuerza
bruta a sistemas operativos Las caracteriacutesticas del cluacutester construido son
1831 Software El software instalado en cada uno de los nodos es el siguiente
bull Sistema operativo Rocks Cluacutester Linux 74 (64 bits)
bull Libreriacutea de manejo de mensajes Open-MPI 153
bull Software de monitoreo Ganglia
13
1832 Hardware El cluacutester estaacute compuesto de 17 equipos con las siguientes
caracteriacutesticas
bull Nodo Maestro y 16 Nodos Esclavos
- Procesador Intel Core I3 4150 (4 nuacutecleos) Memoria 6 GB Disco Duro SATA 1 TB
tarjeta de Red Gigabit Ethernet
El hardware adicional es el siguiente
bull Interconexioacuten de Red
bull Switch Cisco 26 puertos 1Gbps modelo SG200 Red interna
1833 Recursos totales del cluacutester
bull Nuacutecleos de unidades de procesamiento (cores) 68
bull Capacidad en memoria 92 GB
bull Capacidad en disco 17 TB
19 Aseguramiento Teacutecnico ndash Material
A continuacioacuten se muestra el desglose del equipo utilizado para la elaboracioacuten de un
cluacutester de alto rendimiento estos componentes consisten en Hardware y Software especializado
asiacute como los costos de produccioacuten y personal involucrados en la metodologiacutea y elaboracioacuten del
proyecto
Costos de Hardware
Costos de Software
14
191 Hardware En este punto se refleja el costo de los dispositivos y herramientas a nivel
fiacutesico las cuales sirvieron para la implementacioacuten del proyecto cluacutester de alto rendimiento Cabe
resaltar que el equipo utilizado forma parte del inventario actual del Laboratorio motivo por el
cual su utilizacioacuten no causoacute erogacioacuten alguna sin embargo la investigacioacuten de costos se realizoacute
con la finalidad que el lector pueda establecer comparativas y buscar alternativas en caso de ajuste
de presupuesto
1911 Equipo de coacutemputo El equipo de coacutemputo utilizado consta de diecisiete
computadoras las cuales serviraacuten una para Nodo Maestro y las dieciseacuteis restantes como Nodos
Esclavos
La descripcioacuten de estos equipos se muestra en la tabla a continuacioacuten mostrando los costos
de todos los equipos utilizados dentro del proyecto
15
Tabla 11 Costo del Proyecto
Modelo
Cantidad
Caracteriacutesticas
Costos
PC - Acer AXC-
605
17
Procesador Intel Core i3
Pantalla 156rdquo
Disco duro 1TB HDD
RAM 6GB
Salida HDMI
Tarjeta de graacuteficos INTEGRADA
Lector de CD
Los costos en el mercado de una PC de
escritorio con estas caracteriacutesticas tiene un
valor aproximado de $600000 pesos
(Moneda nacional Mexicana)
Switch Cisco
Gigabit Ethernet
1
Modelo SG200 de 26 puertos
Costo en el mercado alrededor de
$2000000 pesos MN
Total
12200000 pesos MN
16
Capiacutetulo 2 Estado del Arte
Tiacutetulo del Trabajo Introduccioacuten a la Criptografiacutea
Autor Gibraacuten Granados Paredes
Fecha Julio 2010
Lugar Ciudad de Meacutexico
Publicado en Coordinacioacuten de Publicaciones Digitales DGSCA-UNAM
httpwwwrevistaunammxvol7num7art55int55htm
Siacutentesis Cuando se desea tener seguridad hablando en aacutembitos informaacuteticos la
criptografiacutea es una herramienta muy uacutetil el autor lo entiende tambieacuten como un medio para
garantizar las propiedades de confidencialidad integridad y disponibilidad de los recursos de un
sistema
Con la criptografiacutea se puede garantizar las propiedades de integridad y confidencialidad
pero hay que saber coacutemo utilizarla para ello es importante tener claros los conceptos baacutesicos que
estaacuten detraacutes de los sistemas criptograacuteficos modernos Estos conceptos van desde entender queacute es
la criptografiacutea coacutemo estaacute clasificada entender el funcionamiento baacutesico de algunos sistemas de
cifrado y conocer coacutemo se forman los documentos digitales como firmas y sobres digitales
Resultados El autor realiza un viaje por un gran nuacutemero de conceptos utilizados en
criptografiacutea el inicio y la clasificacioacuten de la misma asiacute como la criptografiacutea claacutesica y moderna y
analiza de manera breve algunos meacutetodos de cifrado maacutes comunes
17
Tiacutetulo del Trabajo Criptoanaacutelisis sobre meacutetodos claacutesicos de cifrado
Autores Sebastiaacuten Goacutemez Juan David Arias Diego Agudelo
Fecha 2 de mayo 2013
Lugar Ciudad de Meacutexico
Publicado en Scientia et Technica Antildeo XVII No 50 abril de 2012
Siacutentesis Los algoritmos criptograacuteficos utilizados desde la antigua Roma hasta nuestros
diacuteas son meacutetodos que convierten un mensaje de texto plano a cifrado al proceso inverso se le
conoce como descifrar Este artiacuteculo realiza un estudio de algunas teacutecnicas de encriptacioacuten claacutesicas
del siglo pasado como lo son el cifrado de Cesar y el cifrado de Vigeneacutere asiacute como muestra
teacutecnicas baacutesicas y modernas de criptoanaacutelisis basadas en la teoriacutea de la informacioacuten y estadiacutestica
como lo son la entropiacutea y el ataque de maacutexima correlacioacuten Las teacutecnicas de criptoanaacutelisis descritas
anteriormente pueden ser usadas en otros meacutetodos de cifrado siempre y cuando esteacuten presentes las
mismas debilidades
Resultados Los autores implementaron en lenguajes de programacioacuten Python un
algoritmo para el caacutelculo de entropiacutea para diferentes longitudes de clave Para la implementacioacuten
de los algoritmos de cifrado y descifrado de Vigeneacutere y de maacutexima correlacioacuten utilizaron lenguaje
de programacioacuten C++ Se probaron los meacutetodos anteriormente descritos sobre textos planos de
diferentes longitudes logrando un resultado de 9385 de efectividad en promedio
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de dos de los
algoritmos de encriptacioacuten maacutes antiguos y baacutesicos pero sobre todo que conociendo los meacutetodos
de criptoanaacutelisis me permitiraacuten analizar debilidades y fortalezas de algoritmos
18
Tiacutetulo del Trabajo ULTRACOM Computacioacuten de Alto Rendimiento para Criptoanaacutelisis
Autor Antonio Castro Lechtaler Alejandro Repetto Martiacuten Bianchi Marcelo Cipriano
Alejandro Arroyo Arzubi Ceacutesar Cicerchia Eduardo Malvacio
Fecha octubre 2014
Lugar Buenos Aires Argentina
Publicado en XX Congreso Argentino de Ciencias de la Computacioacuten (Buenos Aires
2014)
Siacutentesis La generacioacuten de nuacutemeros primos fundamentales para la produccioacuten de claves
el anaacutelisis de secuencias pseudo-aleatorias los procesos de verificacioacuten y validacioacuten de algoritmos
de seguridad en un sentido geneacuterico requieren enormes cantidades de procesamiento Los
procesos relacionados con la matemaacutetica criptograacutefica se caracterizan por la alta necesidad de
coacutemputo El objetivo de ULTRACOM es desarrollar una computacioacuten distribuida multipropoacutesito
que permita como primera aplicacioacuten real el anaacutelisis la validacioacuten y la ejecucioacuten de pruebas de
estreacutes sobre sistemas criptograacuteficos El presente trabajo de investigacioacuten detalla el proceso de
desarrollo de ULTRACOM y muestra un ejemplo de su implementacioacuten en una versioacuten Beta Para
ello toman como entrada dos versiones del algoritmo Trivium Utilizando la misma
infraestructura y sin desarrollo extra se prueban grandes voluacutemenes de claves y vectores de
inicializacioacuten de los algoritmos en busca de secuencias deacutebiles de menor longitud que la de la
buscada
Resultados El equipo implementoacute una versioacuten beta de la plataforma ULTRACOM
comprobando la factibilidad y viabilidad teacutecnica de la generalizacioacuten de la infraestructura de
computacioacuten distribuida en grilla (malla) BOINC Este avance permite extender los horizontes de
BOINC y habilita la posibilidad de obtener la capacidad de coacutemputo de alto rendimiento a bajo
19
costo Concluyeron que ULTRACOM es un proyecto viable escalable y de alto impacto para la
evaluacioacuten y validacioacuten de algoritmos criptograacuteficos
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento y la
implementacioacuten de una arquitectura de computacioacuten distribuida y una vez siendo factible su
desarrollo utilizar su poder de coacutemputo atacando a traveacutes de un algoritmo un sistema criptograacutefico
20
Tiacutetulo del Trabajo Criptografiacutea Cuaacutentica
Autor M Baig
Fecha 2010
Lugar Barcelona Espantildea
Siacutentesis En este artiacuteculo el autor realiza una breve introduccioacuten a la criptografiacutea claacutesica y
la relacioacuten que existe con la teoriacutea de la informacioacuten de Shannon la cual asegura que el cifrado
digital simeacutetrico es secreto y perfecto siempre y cuando se cumplan los tres requisitos
1 La llave ha de ser aleatoria
2 La llave debe usarse soacutelo una vez
3 La llave ha de ser tan larga como el mensaje y de un solo uso debe de estar en posesioacuten
tanto del emisor como del receptor
El punto 3 es el maacutes complicado de cumplir debido a la forma de compartir la llave entre
el emisor y receptor
Maacutes adelante en el artiacuteculo se hace un anaacutelisis sobre otra teacutecnica de criptografiacutea que es el
cifrado digital asimeacutetrico en la que se estudia coacutemo funcionan las llaves privadas y puacuteblicas asiacute
como el meacutetodo de criptograacutefico RSA
Resultados
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento maacutes profundo de
los meacutetodos de criptografiacutea simeacutetricos y asimeacutetricos especiacuteficamente el algoritmo asimeacutetrico
RSA
21
Tiacutetulo del Trabajo La Criptografiacutea Maderista en la Revolucioacuten Mexicana (1910-1911)
Criptoanaacutelisis de una carta cifrada por Gabriel Leyva Solano
Autor Roberto Narvaacuteez
Fecha 2011
Lugar Meacutexico DF
Siacutentesis Este trabajo aborda temas relacionados con las comunicaciones secretas del
movimiento revolucionario comandado por Francisco I Madero a partir de 1910 Se compone de
dos partes la primera es una breve resentildea criacutetica de ejemplos criptograacuteficos del maderismo que
fueron generados entre 1910 y 1911 la segunda describe paso a paso el criptoanaacutelisis que aplicoacute
el autor Roberto Narvaacuteez para desencriptar una carta parcialmente cifrada de Gabriel Leyva Solano
a Francisco I Madero
Resultados El propoacutesito general uacuteltimo es contribuir al conocimiento de la criptografiacutea
mexicana en el siglo XX En lo particular se trata de poner a disposicioacuten de los estudiosos el
contenido completo de la carta de Leyva Solano por primera vez despueacutes de 100 antildeos y al mismo
tiempo someter a la criacutetica teacutecnica e histoacuterica el procedimiento criptoanaliacutetico puesto en operacioacuten
para recuperar el texto plano
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de la teacutecnicas y
estudios realizados en nuestro paiacutes sobre formas y meacutetodos de encriptacioacuten durante la Revolucioacuten
Mexicana incluso mucho antes de la 2ordf Guerra mundial momento donde se registroacute un auge
importante dentro de la criptografiacutea moderna
22
Tiacutetulo de Tesis Anaacutelisis de la programacioacuten concurrente sobre la cpu y gpu en el
desarrollo de fractal build
Autor Joseacute Vicente Anilema Guadalupe
Fecha 2012
Lugar Riobamba Ecuador
Siacutentesis Este trabajo aborda temas relacionados con la geometriacutea euclidiana debido a que
el autor realiza una aplicacioacuten que crea paisajes fractales lo que significa crear un paisaje con una
misma figura geomeacutetrica Lo anterior se traduce en una necesidad de gran poder de coacutemputo para
realizar de una manera eficaz la tarea Dentro de la tesis el autor realiza diversos estudios
comparativos entre el procesamiento serializado realizado por una CPU (unidad central de
procesamiento) y procesamiento paralelizado realizado por una GPU (Unidad grafica de
procesamiento) a traveacutes de diversas herramientas para obtener el mejor aprovechamiento de los
recursos
Resultados El autor concluye que es necesario examinar los algoritmos a utilizar para que
estos puedan ser utilizados en coacutemputo paralelo Ademaacutes de que es necesario aprender ciertas
herramientas a utilizar para aprovechar al maacuteximo el coacutemputo distribuido y no desperdiciar el
poder de procesamiento muy superior que las GPUrsquos nos pueden brindar
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de la teacutecnicas y
estudios realizados para medir y comparar la velocidad de procesamiento de la unidad central de
procesamiento (CPU) y la unidad graacutefica de procesamiento (GPU) Asiacute como la medida en Flops
(Operaciones de punto flotante por segundo)
23
Tiacutetulo del Trabajo Arquitectura cluacutester de alto rendimiento utilizando herramientas de
software libre
Autores Leonardo Chiquiguanca Edyson Malla Freddy Ajila Rene Guamaacuten-Quincheacute
Fecha mayo 2015
Lugar Loja Ecuador
Siacutentesis Este trabajo aborda temas relacionados con la gran cantidad de datos que tienen
que procesar las universidades puacuteblicas dentro de sus investigaciones realizadas en diferentes aacutereas
como la ingenieriacutea medicina etc y la carencia de recursos econoacutemicos para obtener
supercomputadoras que procesen dicha informacioacuten Los autores proponen dentro de su
investigacioacuten la utilizacioacuten de equipo de coacutemputo existente dentro de su universidad y por medio
de software libre realizar agrupamiento de computadoras para poder lograr el procesamiento de
grandes voluacutemenes de datos de una manera accesible
Resultados Los autores concluyen que la mejor arquitectura para el agrupamiento
(cluacutester) de computadoras en ambientes universitarios es la arquitectura Beowulf debido a que la
implementaron en hardware convencional existente dentro de su campus universitario y que
ademaacutes usaron software libre mencionando que el poder de coacutemputo logrado fue muy cercano al
de una supercomputadora
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de las teacutecnicas
utilizadas en ambientes universitarios para la realizacioacuten de agrupamiento de computadoras y
sobre todo la optimizacioacuten de costos para realizar dicha tarea y tener como finalidad el lograr
mayor capacidad de procesamiento
24
Tiacutetulo de Tesis Desarrollo de un algoritmo de cifrado simeacutetrico de resumen
Autores Jonathan Dave Orjuela Navarrete
Antildeo 2008
Lugar Bogotaacute DC
Siacutentesis Esta tesis realiza un estudio de varios meacutetodos de criptografiacutea simeacutetrica para
posteriormente utilizando diferentes foacutermulas matemaacuteticas crear un algoritmo criptograacutefico
nuevo Dentro de la tesis utiliza dos meacutetodos para realizar pruebas a su algoritmo criptoanaacutelisis
diferencial y criptoanaacutelisis basado en fallos de hardware Dentro de los cuales hace un estudio
detallado de las teacutecnicas y herramientas de criptoanaacutelisis realizado a su algoritmo
Resultados El autor concluye de manera positiva con la realizacioacuten del algoritmo y de
manera satisfactoria con la realizacioacuten de criptoanaacutelisis a su algoritmo pudiendo demostrar la
fortaleza del algoritmo a traveacutes de ejemplo de cifrado con textos claro muy parecido y su
conversioacuten a cadenas completamente diferentes
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de criptoanaacutelisis diferencial y criptoanaacutelisis basado en fallos de hardware para la
evaluacioacuten de algoritmos de cifrado simeacutetrico de textos claros
25
Tiacutetulo del Trabajo Firt step in a Pc cluster development with openMosix
Autores Javier Bilbao Gorka Garate
Antildeo 2008
Lugar Bilbao Spain
Siacutentesis En este trabajo se afirma que es posible hacer maacutequinas de alta capacidad de
caacutelculo mediante la interconexioacuten de equipos con redes de alta velocidad A este tipo de sistemas
se les llama sistemas distribuidos y hoy en diacutea es la tecnologiacutea maacutes utilizada para resolver
problemas que requieren una gran capacidad de caacutelculo La agrupacioacuten de computadoras permite
que varias computadoras trabajen juntas para resolver los problemas de informaacutetica comuacuten Este
artiacuteculo centra su estudio en uno de los diferentes meacutetodos de agrupamiento de computadoras
openMosix El trabajo tambieacuten evaluacutea el cluacutester por dos casos de estudio donde se mejora el
tiempo de ejecucioacuten de los problemas resueltos
Resultados El autor del artiacuteculo concluye con la realizacioacuten satisfactoria de agrupamiento
de computadoras bajo el meacutetodo openMosix el cual uacutenicamente permite agrupamiento de la forma
SSI (Single System Image) que se refiere a que uacutenicamente se puede realizar el agrupamiento con
todos los nodos ejecutando un mismo sistema operativo
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de agrupamiento de computadoras openMosix ventajas desventajas y dificultades para
su implementacioacuten
26
Tiacutetulo del Trabajo Disentildeo e implementacioacuten de un cluacutester tipo Beowulf para el desarrollo
de coacutemputo cientiacutefico avanzado
Autores Edgar Rubeacuten Gonzaacutelez Ramiacuterez Abimael Rodriacuteguez Saacutenchez
Antildeo 2008
Lugar Instituto Politeacutecnico Nacional Meacutexico DF
Siacutentesis Este trabajo de tesis ha desarrollado e implementado una herramienta
computacional llamada Cluster Beowulf para mejorar la programacioacuten paralela Comenzando
con la memoria compartida y distribuida el autor implemento el agrupamiento tipo Beowulf
pensando en procesamiento paralelo la optimizacioacuten de las fuentes informaacuteticas El disentildeo se
construye mediante una distribucioacuten Linux Fedora Core 6 a 64 bits utilizando todas las ventajas
que ofrece el estaacutendar Gigabyt Ethernet La programacioacuten paralela fue desarrollada en lenguaje C
tanto para MPI como para OPENMP
Resultados El autor del artiacuteculo concluye que de acuerdo con los resultados el tiempo
de procesamiento se redujo con el uso muacuteltiples nuacutecleos mejoroacute hasta ocho veces gracias al
multihilo
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de agrupamiento de computadoras Beowulf y su implementacioacuten en sistemas operativos
de uso libre Linux distribucioacuten Fedora 6
27
Marco Teoacuterico
21 Seguridad de la Informacioacuten
La Seguridad de la Informacioacuten consiste y hace referencia a la proteccioacuten de cualquier
amenaza para salvaguardar los activos fijos y en especial toda informacioacuten de la cual estaacute basada
la continuidad de las operaciones de la empresa sean estas ocasionadas dentro o fuera de la misma
con esto se logra disminuir los dantildeos y perjuicios que estas amenazas causariacutean a la organizacioacuten
y a la vez aumentar las oportunidades de servicio hacia otras empresas
La Seguridad de la informacioacuten se consigue mediante la implementacioacuten de controles
efectivos que pueden ser normas manual de funciones buenas praacutecticas procedimientos
estructuras organizativas funciones de software y hardware planes de contingencia y herramientas
que se encargan de proteger la privacidad e integridad de la informacioacuten que se almacena en un
sistema informaacutetico Estos controles necesitan continuamente ser establecidos monitoreados
revisados y mejorados en donde sea necesario para asegurar que se cumplan los objetivos
especiacuteficos de seguridad en cada aacuterea de negocio de la organizacioacuten
La seguridad informaacutetica es en realidad una rama de la seguridad de la informacioacuten aunque
de forma praacutectica algunos autores suelen utilizar de manera indistinta ambos teacuterminos
211 Objetivo de la seguridad de la informacioacuten En la seguridad de la informacioacuten
sabiendo que dichos procesos de seguridad permiten proteger el recurso maacutes importante y valioso
de una organizacioacuten partiendo como principio fundamental los procesos de aseguramiento el
28
objetivo del proceso de seguridad informaacutetica es obtener un nivel aceptable de seguridad ya que
la informacioacuten es lo maacutes valioso que tiene una institucioacuten o empresa por lo tanto esta debe ser
protegida para que no sea vulnerable y utilizada para fines maliciosos
212 Principios de la seguridad informaacutetica
Confidencialidad Los datos solo deben ser conocidos y accedidos por quienes esteacuten
autorizados durante su almacenamiento procesamiento o trasmisioacuten Verificar y certificar que solo
los usuarios con accesos autorizados puedan acceder a la informacioacuten
Integridad Los datos solo pueden ser modificados y eliminados por quienes esteacuten
autorizados para ello es decir los sistemas y aplicaciones solo deben ser operados por personal
autorizado
Disponibilidad Los sistemas que almacenan datos e informacioacuten deben garantizar su
acceso cuando asiacute se requiera por quienes tengan derecho a ello
213 Caracteriacutesticas de seguridad informaacutetica
Control Solo los usuarios autorizados deciden cuaacutendo y coacutemo permitir el acceso a la
informacioacuten
Auditoriacutea Establece las acciones cuaacutendo las implementa y quieacuten las realiza sobre el
sistema
Autenticidad Define que la informacioacuten necesaria es correcta utilizable y vaacutelida en tiempo
y forma
No Repudio Su funcioacuten es evitar que alguna entidad que envioacute o recibioacute informacioacuten
alegue que no lo hizo
29
214 Formas de Autenticacioacuten
Contrasentildea Una contrasentildea es un tipo de seguridad informaacutetica ya que es una serie de
caracteres secretos que permiten a un usuario tener acceso a un archivo equipo de coacutemputo o
programa y negar el acceso a usuarios no autorizados
Certificado digital Es un tipo de seguridad informaacutetica que permite la firma digital
electroacutenica que garantiza teacutecnica y legalmente la identidad de una persona en Internet
Autenticacioacuten HTTP Tipo de seguridad informaacutetica que delega la autenticacioacuten de
usuarios a un servidor a traveacutes de Kerberos
215 Ciber-seguridad Con los avances tecnoloacutegicos y la demanda que ha causado en ello
existe un elevado iacutendice de informacioacuten personal y empresarial que circula y se mantiene en la red
por la utilizacioacuten del internet esto permite que toda informacioacuten quede expuesta a cualquier ataque
de ciber-delincuentes los cuales buscan la manera de vulnerar cualquier sistema para espiar robar
informacioacuten o hacer dantildeo de cualquier tipo por lo que se ha visto la necesidad de tomar medidas
de seguridad para salvaguardar la informacioacuten ya que es muy importante
La ciberseguridad es la proteccioacuten de los sistemas conectados a Internet incluidos el
hardware el software y los datos de los ciberataques En un contexto informaacutetico la seguridad
comprende la ciberseguridad y la seguridad fiacutesica ambas son utilizadas por las empresas para
proteger contra el acceso no autorizado a los centros de datos y otros sistemas de coacutemputo El
objetivo de la ciberseguridad es limitar el riesgo y proteger los activos de Tecnologiacuteas de
Informacioacuten de los atacantes con intenciones maliciosas La seguridad de la informacioacuten estaacute
30
disentildeada para mantener la confidencialidad integridad y disponibilidad de los datos es un
subconjunto de la ciberseguridad
22 Criptografiacutea
La Criptografiacutea tambieacuten llamada ldquoescritura ocultardquo tradicionalmente en el aacutembito de
criptografiacutea es donde se ocupan las teacutecnicas de cifrado o codificacioacuten que permiten alterar el
contenido de cierta informacioacuten o mensajes con el fin de hacerlos ininteligibles a receptores o
personas no autorizadas (Meneacutendez-Barzanallana 17)
Actualmente la criptografiacutea se encarga de analizar algoritmos protocolos y sistemas que
son utilizados para proveer seguridad a las comunicaciones informacioacuten y a las entidades que se
comunican entre siacute
221 Tipos de Criptografiacuteas
2211 Tablas Hash Un hash o funcioacuten hash toma un grupo de caracteres (llamado clave)
y lo asigna a un valor de cierta longitud (llamado valor hash o hash) El valor hash es representativo
de la cadena de caracteres original pero normalmente es maacutes pequentildeo que el original
El hash tambieacuten es utilizado en el cifrado y descifrado de firmas digitales La funcioacuten hash
transforma la firma digital luego tanto el valor hash como la firma se enviacutean al receptor El
receptor utiliza la misma funcioacuten hash para generar el valor hash y luego lo compara con el recibido
31
en el mensaje Si los valores hash son los mismos es probable que el mensaje se haya transmitido
sin errores
Un ejemplo de una funcioacuten hash se llama plegado(folding) Esta toma un valor original lo
divide en varias partes luego agrega las partes y usa los uacuteltimos cuatro diacutegitos restantes como
valor o clave hash
2212 Tipos de algoritmos Hash
22121 SHA - 1 (Secure Hash Algorithm) Es un algoritmo criptograacutefico de Hash
publicado por el gobierno de los Estados Unidos Genera un valor Hash de 160 bits a partir de una
secuencia de longitud arbitraria Es considerado lo suficientemente seguro para aplicaciones
praacutecticas pero hay disponibles versiones maacutes robustas SHA - 256 SHA - 384 y SHA - 512 que
generan valores Hash de 256 384 y 512 bits respectivamente estas versiones reemplazaraacuten a SHA
- 1 mientras se siga trabajando sobre ellas (Borghello 2009)
22122 MD5 (Message Digest Algorithm) En criptografiacutea MD5 es una funcioacuten hash
criptograacutefica ampliamente utilizada con un valor hash de 128 bits Como estaacutendar de Internet (RFC
1321) MD5 se ha empleado en una amplia variedad de aplicaciones de seguridad y tambieacuten se
usa comuacutenmente para verificar la integridad de los archivos Un hash MD5 generalmente se
expresa como un nuacutemero hexadecimal de 32 diacutegitos
MD5 es una versioacuten reforzada de MD4 Al igual que MD4 el hash MD5 fue inventado por
el profesor Ronald Rivest del Massachusetts Institute of Technology (MIT) Ademaacutes MD5 se
32
utilizoacute como modelo para SHA-1 ya que comparten muchas caracteriacutesticas comunes MD5 y
SHA-1 son los dos algoritmos hash maacutes utilizados en la actualidad aunque el uso de MD5 ha
disminuido ya que ahora se considera roto (Borghello 2009)
22123 RIPEMD ndash 160 Es una funcioacuten hash criptograacutefica basada en la construccioacuten
Merkle-Damgaringrd (MD) Se usa en el estaacutendar de Bitcoin Es una versioacuten reforzada del algoritmo
RIPEMD que produce un resumen de hash de 128 bits mientras que el algoritmo RIPEMD-160
produce una salida de 160 bits La funcioacuten de compresioacuten consta de 80 etapas formadas por 5
bloques que se ejecutan 16 veces cada uno Este patroacuten se ejecuta dos veces con los resultados
combinados en la parte inferior utilizando la adicioacuten del moacutedulo 32 (Borghello 2009)
22124 Funcioacuten Merkle-Damgaringrd La construccioacuten MD es una metodologiacutea para crear
funciones hash resistentes a colisiones a partir de funciones de compresioacuten unidireccionales Ralph
Merkle la propuso en el antildeo de 1979 en ldquoA certified Digital Signaturerdquo posterior a este estudio
Ivan Damgaringrd demostroacute de manera independiente que la estructura era soacutelida (Merkle amp
Damgaringrd sf)
2213 Cifrado simeacutetrico Los cifrados simeacutetricos son los cifrados criptograacuteficos maacutes
antiguos y maacutes utilizados En un cifrado simeacutetrico la clave que descifra el texto cifrado es la
misma (o puede derivarse faacutecilmente) de la clave que cifra el texto claro Esta clave a menudo se
conoce como la clave secreta Los cifrados simeacutetricos maacutes utilizados son DES y AES
La problemaacutetica que surge es la seguridad de la clave
33
El emisor cifra el mensaje con una clave
Enviacutea el mensaje cifrado de tal manera que nadie puede descifrarlo sin dicha clave
El receptor obtiene la clave y entonces puede descifrar el mensaje con la misma clave
que recibioacute del emisor
Algunos algoritmos de este tipo son
22131 RC5 (Cifrado de Rivest) Es un algoritmo de cifrado de bloque de clave simeacutetrica
disentildeado por Ron Rivest en 1994 Se destaca por ser simple raacutepido (debido a que usa solo
operaciones de coacutemputo primitivas como XOR o shift) y ademaacutes por consumir menos memoria
RC5 es un cifrado de bloques y aborda dos bloques de palabras a la vez Dependiendo del
tamantildeo del bloque de texto sin formato nuacutemero de rondas y tamantildeo de clave se pueden definir
varias instancias de RC5 y cada instancia se denota como RC5-w r b donde w = tamantildeo de
palabra en bits r = nuacutemero de rondas y b = tamantildeo de la clave en bytes (Pawar 2016)
Como se ha mencionado RC5 utiliza bloques de 2 palabras el tamantildeo del bloque de texto
sin formato puede ser de 32 64 o 128 bits
22132 IDEA (International Data Encryption Algorithm) Baacutesicamente es un algoritmo
de cifrado de bloque simeacutetrico El algoritmo asimeacutetrico utiliza la misma clave para el cifrado y
descifrado Un cifrado de bloque divide el mensaje en bloques cada uno de una longitud fija y
luego cifra cada bloque de forma independiente
34
El tamantildeo de bloque tiacutepico es de 16 bytes de 128 bits Un cifrado de bloque generalmente
operaraacute en bloques o rondas donde se aplica parte de la clave a la ronda Despueacutes de un cierto
nuacutemero de rondas digamos entre 10 y 16 se termina con el texto cifrado para ese bloque
El bloque de texto cifrado tiene exactamente el mismo tamantildeo que el bloque de texto sin
formato 16 bytes Para cada ronda se trabaja en el bloque utilizando una parte de la clave de
cifrado a la que se le llama la clave redonda Muacuteltiples claves redondas se derivan de la clave de
cifrado utilizando para esto un programa de claves
La programacioacuten de claves es un algoritmo que cambia XOR multiplica y realiza otros
tipos de operaciones en la clave de cifrado original para obtener estas claves redondas Bueno si
tengo un bloque de 16 bytes y tengo una clave de 128 bits que tambieacuten es de 16 bytes (Educba
2019)
22133 DES (Data Encryption Standard) El algoritmo DES es el algoritmo de seguridad
maacutes popular Es un algoritmo simeacutetrico lo que significa que se utilizan las mismas claves para
cifrar descifrar datos confidenciales La longitud de la clave es de 8 bytes (64 bits) Entonces
para cifrar descifrar datos el algoritmo DES utiliza una clave de 8 bytes pero 1 byte (8 bits) para
la verificacioacuten de paridad Es un algoritmo de cifrado de bloque por lo tanto el tamantildeo del bloque
de datos del algoritmo DES es de 64 bits Para cifrar descifrar datos el algoritmo DES utiliza la
estructura Feistel Entonces utiliza una ronda para cifrar descifrar datos Aunque el tamantildeo del
35
bloque de datos es de 64 bits el nuacutemero de rondas seraacute de 16 rondas asiacute mismo utilizaraacute diferentes
subclaves para cada ronda por lo tanto el nuacutemero de subclaves seraacute de 16 subclaves
Como se puede observar la clave efectiva es de 56 bits por consiguiente se tiene 256
combinaciones posibles por lo que la fuerza bruta se hace casi imposible (Sanjoy 2015)
2214 Cifrado asimeacutetrico Los cifrados asimeacutetricos tambieacuten se conocen como cifrados
con claves puacuteblicas y privadas Usan dos claves una para el cifrado de mensajes y la otra durante
el descifrado
Un intruso puede encriptar cualquier mensaje usando la clave puacuteblica conocida Los
cifrados asimeacutetricos son por lo tanto vulnerables a los ataques de texto sin formato Los cifrados
con encriptacioacuten de clave puacuteblica deben proporcionar seguridad contra tales ataques Despueacutes de
encriptar dos mensajes con la misma clave puacuteblica el intruso no puede distinguir queacute texto cifrado
estaacute conectado con queacute texto plano Ademaacutes un observador que analiza dos mensajes encriptados
usando el mismo algoritmo y la misma clave puacuteblica no puede distinguir sus textos cifrados
(Kowalczyk 2015)
Los cifrados asimeacutetricos son mucho maacutes lentos que los cifrados simeacutetricos (generalmente
mil veces maacutes lentos) Es una praacutectica comuacuten usar el cifrado de clave puacuteblica solo para establecer
la conexioacuten segura y negociar la nueva clave secreta que luego se utilizaraacute para proteger la
comunicacioacuten mediante cifrado simeacutetrico Ejemplos de este cifrado son
36
22141 DSA (Digital Signature Algorithm - Algoritmo de Firma digital) Es un estaacutendar
del Gobierno Federal de los Estados Unidos para firmas digitales Fue propuesto por el Instituto
Nacional de Estaacutendares y Tecnologiacutea (NIST) en agosto de 1991 para ser usado en su Estaacutendar de
Firma Digital (DSS) en el antildeo de 1993
La primera parte del algoritmo DSA es la generacioacuten de clave puacuteblica y clave privada que
puede describirse como
Se elige un nuacutemero primo q que se llama divisor primo
Se elige otro nuacutemero primo p de modo que pndash1 mod q = 0 p seraacute llamado moacutedulo
primo
Ahora se elige un nuacutemero entero g tal que 1 ltg ltp g q mod p = 1 g = h ((p
ndash 1) q) mod p q tambieacuten se llama moacutedulo de orden multiplicativo de g moacutedulo p
Se elige un nuacutemero entero tal que 0 ltx ltq
Se calcula y como g x mod p
Se empaqueta la clave puacuteblica como p q g y
Por uacuteltimo se empaqueta la clave privada como p q g x
La segunda parte del algoritmo DSA es la generacioacuten de firma y la verificacioacuten de firma
Para generar una firma de mensaje el remitente puede seguir estos pasos
Se genera el resumen del mensaje h utilizando un algoritmo hash como SHA1
Se genera un nuacutemero aleatorio k tal que 0 ltk ltq
37
Se calcula r como (g k mod p) mod q Si r = 0 seleccione una k diferente
Ahora se calcula i de modo que k i mod q = 1 i se llama el inverso multiplicativo modular
de k moacutedulo q
Se calcula s = i (h + r x) mod q Si s = 0 se selecciona una k diferente
Por uacuteltimo se empaqueta la firma digital como r s (Yang 2019)
22142 RSA Encriptacioacuten RSA encriptacioacuten Rivest-Shamir-Adleman tipo de
criptografiacutea de clave puacuteblica ampliamente utilizada para la encriptacioacuten de datos de correo
electroacutenico y otras transacciones digitales a traveacutes de Internet RSA lleva el nombre de sus
inventores Ronald L Rivest Adi Shamir y Leonard M Adleman quienes lo crearon mientras
trabajaban en la facultad del Instituto Tecnoloacutegico de Massachusetts (Simmons 2019)
En el sistema RSA un usuario elige de manera secreta un par de nuacutemeros primos p y q tan
grandes que factorizar el producto n = pq estaacute mucho maacutes allaacute de las capacidades informaacuteticas
proyectadas para la vida uacutetil de los cifrados A partir del antildeo 2000 los estaacutendares de seguridad del
gobierno de EE UU exigen que el moacutedulo tenga un tamantildeo de 1024 bits es decir p y q deben
tener un tamantildeo de aproximadamente 155 diacutegitos decimales por lo que n es aproximadamente un
nuacutemero de 310 diacutegitos Dado que los nuacutemeros duros maacutes grandes que actualmente se pueden
factorizar son solo la mitad de este tamantildeo y dado que la dificultad de factorizar se duplica
aproximadamente por cada tres diacutegitos adicionales en el moacutedulo se cree que los moacutedulos de 310
diacutegitos estaacuten a salvo de factorizar durante varias deacutecadas
38
2215 Cifrado hiacutebrido Es una teacutecnica comuacuten que combina diferentes funciones
criptograacuteficas como el cifrado de bloque Con el cifrado hiacutebrido se pueden cifrar datos firmarlos
o agregar un MAC y enviarlos en un objeto seguro (como una cadena o archivo) a traveacutes de un
canal de comunicacioacuten inseguro (sin un acuerdo clave entre dos partes)
En el sistema de cifrado hiacutebrido el texto plano (sin formato) se divide en tokens Luego
se calcula la longitud de cada ficha Los tokens y sus longitudes se almacenan en una matriz
Posteriormente se aplica el algoritmo Ceacutesar anidado sugerido El texto producido se almacena en
una matriz n x m llamada A Luego la transposicioacuten de esta matriz At se calcula utilizando
nuestra versioacuten revisada del cifrado de transposicioacuten para resolver el problema de secuenciacioacuten
A continuacioacuten el algoritmo RSA revisado se aplica en la matriz producida En el paso final se
aplica el formato de datos textuales usando el coacutedigo ASCII para producir el texto cifrado El
proceso de descifrado se realiza de la misma manera pero en orden inverso (Nahar amp Abu Abbas
2010)
23 Criptoanaacutelisis
El criptoanaacutelisis es el proceso de estudiar sistemas criptograacuteficos para buscar debilidades
o fugas de informacioacuten En general se considera que el criptoanaacutelisis explora las debilidades de
las matemaacuteticas subyacentes de un sistema criptograacutefico pero tambieacuten incluye la buacutesqueda de
debilidades en la implementacioacuten como ataques de canal lateral o entradas de entropiacutea deacutebiles
39
Su funcioacuten es la de conseguir obtener el significado de mensajes creados por medio de
criptografiacutea El objetivo principal del criptoanaacutelisis es opuesto al de la criptografiacutea Tiene como
finalidad encontrar la debilidad de las diferentes teacutecnicas criptograacuteficas para explotarla y de esta
manera reducir o eliminar la seguridad de la teacutecnica criptograacutefica Cualquier intento de
criptoanaacutelisis puede ser llamado ataque Una vez que un atacante logra romper la seguridad que
una teacutecnica criptograacutefica aportaba al sistema se dice que dicho sistema ha sido roto y por lo tanto
dicho ataque tuvo eacutexito
El criptoanaacutelisis es la investigacioacuten de sistemas texto cifrado y cifrados para revelar el
significado oculto o los detalles del sistema mismo El objetivo de este tipo de estudio es descubrir
los aspectos ocultos incluso si la clave o el algoritmo principal no se pueden descifrar Se necesita
una combinacioacuten exitosa de persistencia matemaacuteticas intuicioacuten curiosidad y una computadora
que funcione para hacer un buen criptoanalista Este tipo de ruptura de coacutedigo es extremadamente
importante especialmente en el mundo tecnoloacutegicamente dependiente de hoy El criptoanaacutelisis es
constantemente realizado por criptoacutegrafos que intentan obtener informacioacuten valiosa y por aquellos
que intentan descifrar el coacutedigo para revelar secretos (Security Degree Hub 2017)
24 Niveles de seguridad
Los niveles de seguridad de sistemas operativos son otorgados de acuerdo con el sistema
operativo que esteacute utilizando la empresa o institucioacuten ya sea puacuteblica privada gubernamental o no
gubernamental En el manual ldquoTrusted Computer System Evaluation Criteriardquo (United States
40
Government Department of Defense 1983) el Departamento de Defensa de los Estados Unidos
define los siguientes niveles
241 Nivel D1 Este nivel es el maacutes bajo de seguridad por lo tanto la norma establece que
el sistema no es confiable Esta divisioacuten contiene solo una clase Estaacute reservado para aquellos
sistemas que han sido evaluados pero que no cumplen con los requisitos para un nivel de
evaluacioacuten superior
242 Nivel C1 Un sistema de nivel C1 cumple nominalmente los requisitos de seguridad
discrecionales al proporcionar separacioacuten de usuarios y datos Incorpora alguna forma de controles
creiacutebles capaces de imponer limitaciones de acceso de manera individual es decir aparentemente
adecuados para permitir que los usuarios puedan proteger la informacioacuten privada o del proyecto y
evitar que otros usuarios lean o destruyan accidentalmente sus datos Se espera que el entorno de
nivel C1 sea uno de los usuarios cooperantes que procesan datos con el mismo nivel de
sensibilidad Los siguientes son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten
de nivel C1 son
Control de acceso discrecional por ejemplo listas de control de acceso (ACL)
usuario grupo
Por lo general para usuarios que estaacuten en el mismo nivel de seguridad
Proteccioacuten de nombre de usuario y contrasentildea y base de datos de autorizaciones
seguras (ADB)
Sistema operativo protegido y modo de operaciones del sistema
Comprobacioacuten perioacutedica de integridad de TCB
41
Mecanismos de seguridad probados sin derivaciones obvias
Documentacioacuten para la seguridad del usuario
Documentacioacuten para la seguridad de la administracioacuten de sistemas
Documentacioacuten para pruebas de seguridad
Documentacioacuten de disentildeo TCB
Tiacutepicamente para usuarios en el mismo nivel de seguridad
La certificacioacuten C1 es rara Los sistemas de ejemplo son versiones anteriores de
Unix IBM RACF
243 Nivel C2 Los sistemas de esta clase imponen un control de acceso discrecional maacutes
fino que los sistemas (C1) lo que hace que los usuarios sean individualmente responsables de sus
acciones a traveacutes de procedimientos de inicio de sesioacuten auditoriacutea de eventos relevantes para la
seguridad y aislamiento de recursos Los siguientes son requisitos miacutenimos para los sistemas
asignados a una clasificacioacuten de nivel C2
La proteccioacuten de objetos puede ser para un solo usuario Por ejemplo a traveacutes de
una base de datos ACL
La autorizacioacuten de acceso solo puede ser asignada por usuarios autorizados
Proteccioacuten de reutilizacioacuten de objetos (Por ejemplo para evitar la reasignacioacuten de
objetos eliminados de manera segura)
Procedimientos obligatorios de identificacioacuten y autorizacioacuten para los usuarios (Por
ejemplo Usuario Contrasentildea)
Auditoriacutea completa de eventos de seguridad (es decir fecha hora evento usuario
eacutexito falla ID de terminal)
42
Modo de operacioacuten del sistema protegido
Proteccioacuten adicional para la autorizacioacuten y los datos de auditoriacutea
Documentacioacuten como C1 maacutes informacioacuten sobre el examen de la informacioacuten de
auditoriacutea
Esta es una de las certificaciones maacutes comunes Los sistemas operativos de ejemplo
son VMS IBM OS 400 Windows NT Novell NetWare 411 Oracle 7 DG AOS
VS II
244 Nivel B1 Los sistemas de este nivel requieren todas las caracteriacutesticas requeridas
para el nivel C2 Ademaacutes debe estar presente una declaracioacuten informal del modelo de poliacutetica de
seguridad etiquetado de datos y control de acceso obligatorio sobre sujetos y objetos nombrados
La capacidad debe existir para etiquetar con precisioacuten la informacioacuten exportada Cualquier falla
identificada por la prueba debe ser eliminada Los siguientes son requisitos miacutenimos para los
sistemas asignados a una clasificacioacuten de nivel B1
Etiquetado obligatorio de seguridad y acceso de todos los objetos (Por ejemplo
archivos procesos dispositivos)
Comprobacioacuten de integridad de etiquetas (Por ejemplo mantenimiento de etiquetas
de sensibilidad cuando se exportan datos)
Auditoriacutea de objetos etiquetados
Control de acceso obligatorio para todas las operaciones
Capacidad para especificar el nivel de seguridad impreso en salida legible para
humanos (Por ejemplo impresoras)
43
Capacidad para especificar el nivel de seguridad en cualquier salida legible por
maacutequina
Auditoriacutea mejorada
Proteccioacuten mejorada del sistema operativo
Documentacioacuten mejorada
Los sistemas operativos de ejemplo son HP-UX BLS Cray Research Trusted
Unicos 80 Digital SEVMS Harris CS SX SGI Trusted IRIX
245 Nivel B2 En los sistemas de nivel B2 el TCB se basa en un modelo de poliacutetica de
seguridad formal claramente definido y documentado que requiere que la aplicacioacuten de control de
acceso discrecional y obligatoria que se encuentra en los sistemas de nivel B1 se extienda a todos
los sujetos y objetos en el sistema Ademaacutes se abordan los canales encubiertos El TCB debe
estructurarse cuidadosamente en elementos criacuteticos para la proteccioacuten y no criacuteticos para la
proteccioacuten La interfaz TCB estaacute bien definida y el disentildeo y la implementacioacuten TCB le permiten
someterse a pruebas maacutes exhaustivas y una revisioacuten maacutes completa Se fortalecen los mecanismos
de autenticacioacuten se proporciona una gestioacuten confiable de las instalaciones en forma de soporte
para las funciones de administrador y operador del sistema y se imponen estrictos controles de
gestioacuten de la configuracioacuten El sistema es relativamente resistente a la penetracioacuten Los siguientes
son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten de nivel B2
Notificacioacuten de cambios en el nivel de seguridad que afectan a los usuarios
interactivos
Etiquetas de dispositivos jeraacuterquicos
44
Acceso obligatorio a todos los objetos y dispositivos
Comunicaciones de ruta confiables entre usuario y sistema
Rastreo de canales de almacenamiento encubiertos
Modo de operaciones del sistema maacutes estricto en unidades independientes de varios
niveles
Anaacutelisis de canales encubiertos
Pruebas de seguridad mejoradas
Modelos formales de TCB
Versioacuten actualizacioacuten y anaacutelisis y revisioacuten de parches
Los sistemas de ejemplo son Honeywell Multics Cryptek VSLAN Trusted
XENIX
246 Nivel B3 El TCB debe satisfacer los requisitos del monitor de referencia para mediar
todos los accesos de los sujetos a los objetos ser a prueba de manipulaciones y ser lo
suficientemente pequentildeo como para ser sometido a anaacutelisis y pruebas Con este fin el TCB estaacute
estructurado para excluir el coacutedigo que no es esencial para la aplicacioacuten de la poliacutetica de seguridad
con una importante ingenieriacutea del sistema durante el disentildeo y la implementacioacuten del TCB dirigido
a minimizar su complejidad Se admite un administrador de seguridad los mecanismos de
auditoriacutea se ampliacutean para sentildealar eventos relevantes para la seguridad y se requieren
procedimientos de recuperacioacuten del sistema El sistema es altamente resistente a la penetracioacuten
Los siguientes son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten de clase
(B3)
45
ACL adicionalmente basadas en grupos e identificadores
Acceso de ruta confiable y autenticacioacuten
Anaacutelisis automaacutetico de seguridad
Modelos TCB maacutes formales
Auditoriacutea de eventos de auditoriacutea de seguridad
Recuperacioacuten confiable despueacutes de la caiacuteda del sistema y documentacioacuten relevante
Cero defectos de disentildeo en TCB y defectos miacutenimos de implementacioacuten
El uacutenico sistema operativo con certificacioacuten B3 es Getronics Wang Federal XTS-
300
247 Nivel A1 Los sistemas en el nivel A1 son funcionalmente equivalentes a los del nivel
B3 en que no se agregan caracteriacutesticas arquitectoacutenicas adicionales ni requisitos de poliacuteticas La
caracteriacutestica distintiva de los sistemas en este nivel es el anaacutelisis derivado de la especificacioacuten
formal del disentildeo y las teacutecnicas de verificacioacuten y el alto grado resultante de seguridad de que el
TCB se implementa correctamente Esta garantiacutea es de naturaleza de desarrollo comenzando con
un modelo formal de la poliacutetica de seguridad y una especificacioacuten formal de alto nivel del disentildeo
Independientemente del lenguaje de especificacioacuten particular o del sistema de verificacioacuten
utilizado existen los siguientes criterios importantes para la verificacioacuten del disentildeo de nivel A1
Meacutetodos formales y prueba de integridad de TCB
Estos son los uacutenicos sistemas con certificacioacuten A1 Boeing MLS LAN Gemini
Trusted Network Processor Honeywell SCOMP (United States Government
Department of Defense 1983)
46
25 Sistemas Operativos
Un sistema operativo actuacutea como intermediario entre el usuario de una computadora y el
hardware de la computadora El propoacutesito de un sistema operativo es proporcionar un entorno en
el que un usuario pueda ejecutar programas de manera conveniente y eficiente
Un sistema operativo es un software que administra el hardware de la computadora El
hardware debe proporcionar mecanismos apropiados para garantizar el correcto funcionamiento
del sistema informaacutetico y para evitar que los programas del usuario interfieran con el correcto
funcionamiento del sistema (Carretero Peacuterez de Miguel Anasagasti Garciacutea Carballeira amp Peacuterez
Costoya 2001)
Un sistema operativo es un programa que controla la ejecucioacuten de programas de aplicacioacuten
y actuacutea como una interfaz entre el usuario de una computadora y el hardware de la computadora
Una definicioacuten maacutes comuacuten es que el sistema operativo es el uacutenico programa que se ejecuta
en todo momento en la computadora (generalmente llamado kernel) y todo lo demaacutes son
programas de aplicacioacuten
Un sistema operativo se ocupa de la asignacioacuten de recursos y servicios como memoria
procesadores dispositivos e informacioacuten El sistema operativo incluye los programas para
administrar estos recursos como un controlador de traacutefico un programador un moacutedulo de
administracioacuten de memoria programas de E S y un sistema de archivos (Pawar 2016)
47
251 Windows Sistema operativo de la empresa Microsoft es un conjunto de programas
que administra los recursos de una computadora Windows empieza a trabajar cuando se enciende
o inicializa el equipo para gestionar el hardware empezando desde los niveles maacutes baacutesicos
Es importante conocer que los sistemas operativos funcionan tanto en las computadoras
como en diferentes dispositivos electroacutenicos que usan microprocesadores En este caso Windows
su versioacuten estaacutendar funciona con computadoras Microsoft domina el mercado de los sistemas
operativos debido a su comodidad se puede decir que eacuteste sistema operativo se encuentra
instalado en el 887 de los equipos de coacutemputo que cuentan con acceso a Internet en todo el
mundo
Se pueden mencionar algunas aplicaciones principales (que eacutestas tambieacuten pueden ser
desinstaladas por los usuarios o actualizadas sin que el sistema operativo se dantildee o deje de
funcionar) se encuentran el procesador de texto WordPad el navegador Internet Explorer el
reproductor multimedia Windows Media y el editor de imaacutegenes Paint
La principal novedad que aportoacute Windows desde sus oriacutegenes fue la facilidad para usarlo
y el atractivo visual De hecho su nombre (ldquoventanasrdquo) se debe a la forma en que el sistema
presenta a los usuarios los recursos con los que cuenta su computadora lo que facilita las tareas
cotidianas Windows tambieacuten suele recibir varias criacuteticas por sus problemas de seguridad y por
otros fallos
48
252 Registro de Windows El registro es una base de datos jeraacuterquica que contiene datos
que son criacuteticos para el funcionamiento de Windows y las aplicaciones y servicios que se ejecutan
en Windows Los datos estaacuten estructurados en un formato de aacuterbol Cada nodo en el aacuterbol se llama
clave Cada clave puede contener subclaves y entradas de datos llamadas valores A veces la
presencia de una clave es el uacutenico dato que requiere una aplicacioacuten otras veces una aplicacioacuten
abre una clave y usa los valores asociados con la clave (Microsoft Inc 2019) Una clave puede
tener cualquier nuacutemero de valores y los valores pueden tener cualquier forma El registro es
utilizado por
Autenticacioacuten
Nuacutecleo (Kernel)
Controladores de dispositivos
Servicios
SAM
Las carpetas del sistema se almacenaraacuten en distintas rutas de acceso dependiendo de la
versioacuten de Windows con la que se esteacute trabajando a continuacioacuten cuatro de los cinco archivos
que maacutes interesan a esta investigacioacuten se encuentran en la siguiente ubicacioacuten SystemRoot
System32 Config dentro de las siguientes sub llaves
SAM - HKEY LOCAL MACHINE SAM
SECURITY - HKEY LOCAL MACHINE SECURITY
SOFTWARE - HKEY LOCAL MACHINE SOFTWARE
SYSTEM - HKEY LOCAL MACHINE SYSTEM
49
253 Administrador de cuentas de seguridad El administrador de cuentas de seguridad
(SAM por sus siglas en ingleacutes) es una base de datos en donde se encuentran las cuentas de
seguridad Esto es utilizado por Windows para administrar las cuentas de usuario y contrasentildeas en
el formato hash
Las contrasentildeas nunca se almacenan en formato de texto claro Se almacenan en formato
de hash para protegerlas de los ataques La base de datos SAM se implementa como un archivo de
registro y las obtiene del kernel de Windows y mantiene un bloqueo exclusivo al archivo SAM
esto quiere decir que el archivo tiene cierta medida de seguridad para el almacenamiento de las
contrasentildeas (Hernandez 2013)
No es posible copiar el archivo SAM a otra ubicacioacuten en el caso de los ataques en liacutenea
Dado que el archivo SAM estaacute bloqueado con un bloqueo exclusivo al sistema de archivos no
puede ser copiado o movido mientras se ejecuta Windows El bloqueo no iniciaraacute hasta que la
excepcioacuten de la pantalla azul haya sido inicializada o el sistema operativo haya sido apagado Sin
embargo los archivos en formato hash de contrasentildeas fuera de liacutenea estaacuten disponibles para los
ataques de fuerza bruta el contenido del archivo SAM puede ser copiado o descargado utilizando
diversas teacutecnicas
Un identificador de seguridad (SID) es un valor uacutenico de longitud variable utilizado para
identificar a un usuario Cada cuenta tiene un SID uacutenico emitido por una autoridad como un
controlador de dominio de Windows y almacenado en una base de datos de seguridad Cada vez
50
que un usuario inicia sesioacuten el sistema recupera el SID para ese usuario de la base de datos y lo
coloca en el token de acceso para ese usuario El sistema usa el SID en el token de acceso para
identificar al usuario en todas las interacciones posteriores con la seguridad de Windows Cuando
se ha usado un SID como identificador uacutenico para un usuario o grupo no se puede volver a usar
para identificar a otro usuario o grupo
La seguridad de Windows usa SID en los siguientes elementos de seguridad
En descriptores de seguridad para identificar al propietario de un objeto y grupo
primario
En las entradas de control de acceso para identificar al usuario para quien el acceso
estaacute permitido denegado o auditado
En tokens de acceso para identificar al usuario y los grupos a los que pertenece
2531 Identificador de Seguridad (SID Security Identifier)
S - 1 - 5 - 21 - 3983109318 - 554656936 - 3066752241 - 1000
S - indica que es un string de SID
1 - el nivel de revisioacuten
5 - el identificador de valor de autoridad o authority value no siempre seraacute 5 Entre otros
valores que se pueden encontrar estaacuten los siguientes
51
0 - sin autoridad
1 - autoridad global
2 - autoridad local
3 - autoridad de creador
4 - autoridad no uacutenica
5 - autoridad NT
9 - autoridad de administrador de recursos
21 - 3983109318 - 554656936 - 3066752241 - es el dominio en el que se encuentra el
sistema o el identificador local de la computadora
1000 - ID uacutenico para cada cuenta aquiacute se encuentra el RID (Relative Identifier) Nuacutemero
de longitud variable cualquier grupo o usuario que se cree de manera diferente a la predeterminada
recibiraacute un RID de 1000 o superior En el caso de que el valor sea 500 responde a que este SID
representa la cuenta de un administrador el valor de 500 siempre seraacute el mismo en cualquier cuenta
de administrador a su vez el valor 501 representa el SID de una cuenta Invitado (Guest)
(Hernandez 2013)
254 Autenticacioacuten NTML NTLM (NT LAN Manager) es un protocolo empleado por
muchos productos de Microsoft para realizar la autenticacioacuten desafiacuteorespuesta por lo tanto es el
esquema de autenticacioacuten que por defecto usa Firewall de Microsoft y tambieacuten los productos del
servidor proxy
52
Este software fue desarrollado para afrontar el problema del trabajo con Tecnologiacuteas Java
en un entorno orientado a Microsoft Puesto que no se basa en ninguna especificacioacuten oficial de
protocolo por lo tanto no hay garantiacutea de que funciona correctamente en todos los casos Tambieacuten
ha estado en algunas instalaciones de Windows donde funcionoacute con eacutexito
La Autenticacioacuten NTLM se compone de dos protocolos protocolo de autenticacioacuten NTLM
y protocolo de autenticacioacuten LM Estos protocolos utilizan una metodologiacutea de hash diferente para
almacenar contrasentildeas de los usuarios en la base de datos SAM (Hernandez 2013) (Meneacutendez-
Barzanallana 17)
26 LINUX (ROCKS)
Rocks es una distribucioacuten para cluacutester de Linux de coacutedigo abierto que permite a los usuarios
finales construir de manera maacutes amigable cluacutesteres computacionales y muros de visualizacioacuten en
mosaico Cientos de investigadores de todo el mundo han utilizado Rocks para implementar su
propio cluacutester
Desde mayo de 2000 el grupo Rocks ha abordado las dificultades de implementar cluacutesteres
manejables Encaminados hacia un objetivo crear cluacutesters de manera maacutes sencilla Por sencilla
significa faacutecil de implementar administrar actualizar y escalar Este objetivo impulsa a los
creadores de esta herramienta a ayudar a entregar el poder computacional de los cluacutesteres a una
amplia gama de usuarios cientiacuteficos Estaacute claro que poner a disposicioacuten de una amplia gama de
53
cientiacuteficos plataformas de computacioacuten paralelas estables y manejables ayudaraacute enormemente a
mejorar el estado del arte en herramientas paralelas (Rocksclusters 2010)
261 Escritorio De todos los escritorios disponibles para el sistema operativo Linux
GNOME ha logrado convertirse en el maacutes eficiente estable y confiable sin dejar de ser sencillo
de usar De hecho la mayoriacutea de los usuarios independientemente de su experiencia pueden
trabajar con GNOME casi sin esfuerzo
Los usuarios que son nuevos tanto en Linux como en GNOME hariacutean mejor en conocer
los entresijos del escritorio que hacen que Linux no solo sea faacutecil sino tambieacuten divertido
Un entorno de escritorio agrupa programas que trabajan juntos para formar un espacio de
trabajo informaacutetico cohesivo unificado transparente e interactivo para los usuarios O para
decirlo de manera maacutes simple el entorno de escritorio es la interfaz de usuario para el sistema
operativo En el caso de GNOME ese sistema operativo es Linux Sin un entorno de escritorio su
uacutenica alternativa es una sesioacuten de Shell (liacutenea de comandos) basada en texto (Wallen 2019)
262 Paquete de Oficina Una suite ofimaacutetica es una coleccioacuten de software creada por el
mismo proveedor y disentildeada para ser utilizada para tareas rutinarias dentro de una organizacioacuten
Por lo general una suite ofimaacutetica incluye aplicaciones como procesamiento de texto hojas de
caacutelculo presentacioacuten correo electroacutenico toma de notas base de datos colaboracioacuten y otros tipos
de software relacionados En la mayoriacutea de los casos cada aplicacioacuten en la suite ofimaacutetica se puede
instalar por separado y todas las aplicaciones dentro de la suite admiten la interoperabilidad entre
54
siacute Microsoft Office Suite Lotus Live Notes y LibreOffice son todas suites de oficina de uso
comuacuten
263 Organizador de archivos Es una funcioacuten avanzada disentildeada para agrupar y
renombrar archivos usando sus atributos del sistema o meta atributos
Cada archivo tiene atributos del sistema como la fecha (Acceso Creado y Modificado) el
tipo de archivo (definido por extensioacuten) y asociado con la aplicacioacuten registrada de ese tipo de
archivo Estos atributos se pueden usar para generar un nuevo nombre de archivo o carpeta (grupo)
para cada archivo con el mismo atributo Ademaacutes de los atributos del sistema algunos archivos
en su mayoriacutea medios o imaacutegenes pueden contener metacampos como el nombre del artista el
tiacutetulo el nombre del aacutelbum y otros El Organizador de archivos tambieacuten usa estos metacampos
para agrupar archivos en una carpeta con el mismo atributo Por lo tanto el organizador de archivos
opera reglas de organizacioacuten de archivos que definen la jerarquiacutea de agrupacioacuten de carpetas y las
reglas de cambio de nombre de archivos
Asiacute como el conocido ldquoexplorador de Windowsrdquo Linux integra un organizador de archivos
y carpetas llamado NAUTILUS para realizar tareas de manejo de archivos como mover copiar
renombrar crear carpetas y de esta manera administrar nuestros dispositivos de almacenamiento
55
27 Agrupamiento (Cluacutester) de Computadoras
El agrupamiento (cluacutester) de computadoras estaacute conformado por una coleccioacuten de
computadoras autoacutenomas interconectadas trabajando unidas como un solo recurso de computacioacuten
integrado El concepto de agrupamiento de computadoras nacioacute cuando los pioneros de la
supercomputacioacuten intentaban difundir diferentes procesos entre varias computadoras para luego
poder recoger los resultados que dichos procesos debiacutean producir Con un hardware maacutes barato y
faacutecil de conseguir se pudo perfilar que podriacutean conseguirse resultados muy parecidos a los
obtenidos con aquellas maacutequinas mucho maacutes costosas (Chirinov 2003)
Un agrupamiento de computadoras se puede definir como el trabajo realizado por dos o
maacutes computadoras que en conjunto se encargan de proveer una determinada solucioacuten Tiene como
finalidad agrupar el poder de coacutemputo de los nodos implicados para proporcionar una mayor
escalabilidad disponibilidad y fiabilidad (Branch Bedoya amp Mesa Muacutenera 2008)
La escalabilidad es la capacidad de un equipo para hacer frente a voluacutemenes de trabajo
cada vez mayores sin por ello dejar de prestar un nivel de rendimiento aceptable
La disponibilidad y la fiabilidad se encuentran bastante relacionadas aunque difieren
ligeramente en algunos aspectos La disponibilidad es la calidad de estar presente y listo para su
uso mientras que la fiabilidad es la probabilidad de un correcto funcionamiento
56
Entre los tipos de agrupamiento maacutes comunes se pueden encontrar de alta disponibilidad
(ambiente a prueba de fallas) coacutemputo de alto desempentildeo (los procesos o las tareas dadas se
presentan como un solo sistema virtual) y escalamiento horizontal (se utiliza para proporcionar
una sola interfaz a un conjunto de recursos que pueden aumentar o disminuir arbitrariamente su
tamantildeo en un cierto periodo de tiempo) (Gonzaacutelez Ramiacuterez amp Rodriacuteguez Saacutenchez 2008)
271 Beowulf Es una clase de computadora masivamente paralela de altas prestaciones
principalmente construida a base de agrupamiento de componentes hardware estaacutendar (Llorens amp
Pentildea 2002) Consta de un conjunto de nodos minimalistas unidos por un medio de
comunicaciones econoacutemico Esto quiere decir que tienen lo miacutenimo para ejecutar su funcioacuten de
hecho los nodos por siacute solos no son capaces de ejecutar siquiera un sistema operativo (Nievas
Pino amp Arroyo) Se puede ver como una supercomputadora paralela construida con hardware
comercial de faacutecil adquisicioacuten que posee como sistema operativo Linux Los cluacutesters Beowulf son
extremadamente poderosos pero no son para todas las personas Su principal desventaja es que
requieren software disentildeado para poder aprovechar los recursos del cluacutester (Lizaacuterraga 2002)
272 Mosix Seguacuten Peacuterez (2001) la arquitectura Mosix estaacute basada en la misma ideologiacutea
de la arquitectura Beowulf Se basa en un conjunto de parches aplicados al nuacutecleo (kernel) de Linux
y que asignan a todo el grupo de nodos un espacio de direcciones y de procesos comuacuten gracias al
cual los procesos migran de uno a otro con el fin de equilibrar favorablemente la carga del sistema
global Es una herramienta disentildeada para realizar balanceo de carga en el agrupamiento de forma
totalmente transparente de manera tal que los nodos se comportan como una sola maacutequina y asiacute
incrementar el aprovechamiento de cada uno de los nodos (Chaacutevez y otros 1999) La principal
57
ventaja de Mosix frente a Beowulf se basa precisamente en esto Mosix da mejores respuestas que
Beowulf frente a la caiacuteda o insercioacuten de nodos A parte de esto Mosix permite un cambio constante
de aplicacioacuten o incluso el correr aplicaciones independientes de forma simultaacutenea
273 OpenMosix OpenMosix es una extensioacuten del proyecto Mosix Seguacuten Chirinov
(2003) la idea de este modelo es que la distribucioacuten de tareas en el cluacutester la determina OpenMosix
de forma dinaacutemica conforme se van creando tareas Cuando un nodo estaacute demasiado cargado las
tareas que se estaacuten ejecutando pueden migrar a cualquier otro nodo del cluacutester Asiacute desde que se
ejecuta una tarea hasta que eacutesta muere podraacute migrar de un nodo a otro sin que el proceso sufra
mayores cambios
Ademaacutes OpenMosix funciona a nivel de kernel por tanto puede conseguir toda la
informacioacuten que necesite para decidir que tanto estaacute cargado un sistema y queacute pasos se deben
seguir para aumentar el rendimiento ademaacutes puede realizar maacutes funciones que cualquier
aplicacioacuten a nivel de usuario
Despueacutes de elegir el tipo de cluacutester a utilizar se procede a elegir los elementos baacutesicos que
se emplearaacuten para implementar el cluacutester capacidad de procesamiento memoria espacio del disco
de cada nodo asiacute como tambieacuten el ancho de banda de la comunicacioacuten entre los nodos Se deberaacute
decidir cuaacuteles son importantes basaacutendose en la variedad de aplicaciones que se piensen ejecutar
en el cluacutester y de la cantidad de dinero que se disponga para construirlo
58
Bajo estos mismos paraacutemetros se debe escoger tambieacuten el tipo de red que interconectaraacute
los nodos (Turner 2004)
Luego se debe escoger el sistema operativo a utilizar Esta eleccioacuten dependeraacute mucho de
la maacutequina que se escoja Linux es siempre una opcioacuten en cualquier maacutequina y es la eleccioacuten maacutes
comuacuten Muchas de las herramientas necesarias para la implementacioacuten de un cluacutester han sido
desarrolladas bajo Linux Pero existen cluacutesters corriendo bajo Windows NT UNIX Solaris y AIX
59
Capiacutetulo 3 Implementacioacuten de Cluacutester
31 Requisitos previos
Antes de iniciar la instalacioacuten del FrontEnd es necesario asegurarse que las conexiones de
red de los equipos junto con la configuracioacuten de la BIOS de cada uno sean las correctas
311 Conexioacuten de los equipos y acceso a la red
Un cluacutester de alto desempentildeo funciona como un uacutenico equipo el cuaacutel comparte los recursos
de los nodos esclavos con el nodo maestro para ello es esencial la existencia de una red interna de
alta velocidad por medio de la cual se realice la comunicacioacuten entre el nodo maestro y los nodos
esclavos como se muestra en la Figura 31 El nodo maestro necesitaraacute 2 tarjetas de red de alta
Figura 31 Esquema tiacutepico de configuracioacuten de un cluacutester (Fuente Elaboracioacuten propia)
60
velocidad una para la comunicacioacuten interna y otra para la comunicacioacuten con redes externas El
sistema operativo Rocks asigna automaacuteticamente la interface ldquoeth0rdquo a la red interna del cluacutester y
la interface ldquoeth1rdquo a la red externa En caso de que Rocks sea incapaz de determinar cuaacutel es la red
externa debido a la falta de conexioacuten a internet estas podriacutean ser asignadas de manera incorrecta
por tal motivo se sugiere asegurar el nombre de cada una de las interfaces
Dado que Rocks no permite volverlas a asignar una vez finalizada la instalacioacuten es
necesario volver a reinstalarlo para poder solucionar este inconveniente
312 Configuracioacuten de la BIOS Para evitar problemas durante la instalacioacuten conviene
configurar correctamente la Bios
3121 ATAIDE Mode Algunos sistemas operativos puede que no sean capaces de
reconocer el controlador del disco duro como es en el caso de esta distribucioacuten de Rocks usada
Para evitar complicaciones de tener que antildeadir el controlador a mano lo mejor es habilitar el modo
ldquoLegacyrdquo de controlador de disco duro
61
Para ello se accede a la Bios pulsando F2 al encender el equipo se situacutea en la pestantildea
ldquoAdvancedrdquo y se selecciona ldquoDrive Configurationrdquo como se muestra en la Figura 32
Figura 32 Imagen del Bios del equipo en la opcioacuten ldquodrive configurationrdquo (Fuente Elaboracioacuten propia)
Figura 33 Bios ATAIDE Legacy Mode (Fuente Elaboracioacuten propia)
62
Dentro del menuacute se tiene que seleccionar el Modo ldquoLegacyrdquo en la opcioacuten ldquoATAIDE
Moderdquo como se muestra en la Figura 33 y para salir se guardan los cambios con F10
3122 PXE Al momento de instalar un nodo puede ocurrir falla al arrancar y aparecer
bootsplash (Reboot and Select proper device) Para evitarlo es necesario habilitar la opcioacuten de
PXE para que tome los archivos de instalacioacuten del nodo maestro a traveacutes de la red interna
En la Bios se selecciona la pestantildea ldquoBootrdquo y dentro de ese mismo menuacute se deshabilita
ldquoSilent bootrdquo y se habilita la opcioacuten de ldquoPXE boot to lanrdquo como se muestra en la Figura 34
Finalmente hay que verificar que en la secuencia de arranque (Figura 35) como primer
dispositivo sea desde red para que de esta manera inicie desde el PXE
Figura 34 Bios Boot PXE (Fuente Elaboracioacuten propia)
63
Se guardan los cambios antes de salir
32 Instalacioacuten de Sistema Operativo Rocks
Una vez configurados los equipos se enciende el equipo que seraacute el nodo maestro
(FrontEnd) en el cuaacutel previamente se ha modificado la secuencia de inicio del boot desde la Bios
de modo que al insertar el CD de Rocks eacuteste procederaacute a iniciar la instalacioacuten con la siguiente
pantalla que se muestra a continuacioacuten
Figura 35 Bios Boot device prioriry (Fuente Elaboracioacuten propia)
64
Para iniciar la instalacioacuten uacutenicamente se selecciona la opcioacuten ldquoInstall CentOS 7rdquo como se
muestra en la Figura 36 dando asiacute comienzo al proceso de instalacioacuten Tras finalizar un proceso
de carga en memoria Rocks mostraraacute un formulario en entorno graacutefico mediante el cual
procederemos a configurar el FrontEnd
Esta primera pantalla se muestra coacutemo se desea realizar la instalacioacuten puede realizarse
por medio de la descarga del sistema operativo (se requiere internet) En este caso como se muestra
en la Figura 37 dado que previamente se descargoacute el DVD completo se seleccionoacute ldquoCDDVD
based rollsrdquo
Figura 36 Pantalla de Inicio de instalacioacuten de Rocks (Fuente Elaboracioacuten propia)
65
A continuacioacuten Figura 38 se selecciona de la lista de Rolls aquellos que se desean instalar
Figura 37 Pantalla de seleccioacuten de Rolls (Fuente Elaboracioacuten propia)
Figura 38 Listado de opciones de rolls para instalar (Fuente Elaboracioacuten propia)
66
Tras presionar el botoacuten ldquoSubmitrdquo la siguiente pantalla (Figura 39) muestra formulario en
el que hay que indicar la informacioacuten baacutesica del cluacutester entre las cuales aparecen
Fully-Qualified Host Name Nombre con el que se conoceraacute en la red externa el cluacutester
Cluster Name Nombre utilizado para ser identificado dentro de las herramientas del cluacutester
Certificate Organization Locality State and Country Organizacioacuten a la que pertenece el
cluacutester la localidad el estado y la ciudad
Contact URL and LattitudeLongitude Contacto direccioacuten web y posicioacuten GPS
Figura 39 Informacioacuten baacutesica del cluacutester a instalar (Fuente Elaboracioacuten propia)
67
Una vez que se ingresa la informacioacuten al cluacutester se presiona el botoacuten ldquoListordquo y
posteriormente se podraacute cambiar la configuracioacuten baacutesica de la red interna del cluacutester En este caso
Figura 310 se dejoacute el valor por defecto una IP de clase B (1011116)
El siguiente paso es la configuracioacuten de la red externa (para tener acceso a internet) En
este punto se introducen los datos de la red externa a la que se encuentra conectado el nodo
maestro como se muestra en la Figura 311
Figura 310 Configuracioacuten Ethernet de la red privada (Fuente Elaboracioacuten propia)
Figura 311 Configuracioacuten Ethernet de la red puacuteblica (Fuente Elaboracioacuten propia)
68
Para terminar de configurar la red externa como se muestra en la Figura 312 se ingresa la
direccioacuten IP del Gateway y los DNS (Servidor de nombre de dominio) que va a usar para el acceso
a internet
Se continuacutea con el resto del formulario donde se introduce la contrasentildea para el usuario
root tal y como se muestran en la Figura 313
Figura 312 Configuracioacuten de DNS y Gateway (Fuente Elaboracioacuten propia)
Figura 313 Ingresar contrasentildea de usuario root (Fuente Elaboracioacuten propia)
69
Paso siguiente se procede a seleccionar la zona horaria como se muestra en la Figura 314
donde se encuentra ubicado el cluacutester asiacute como un servidor de donde podraacute obtener la zona horaria
automaacuteticamente en este caso se dejoacute el valor por default
En el formulario de la Figura 315 se selecciona la forma de particionar el disco duro
(automaacutetica manual) una vez seleccionado daraacute comienzo al proceso de instalacioacuten de manera
Figura 314 Configuracioacuten horaria (Fuente Elaboracioacuten propia)
Figura 315 Particiones del disco duro (Fuente Elaboracioacuten propia)
70
desatendida Cuando ha concluido la instalacioacuten el equipo se reiniciaraacute y se requeriraacute iniciar con
el usuario root y la contrasentildea establecida previamente
321 Configuracioacuten del teclado Debido a que el teclado por defecto estaacute en idioma
ingleacutes podriacutea provocar problemas al momento de escribir la contrasentildea u otros comandos
Seguacuten las pruebas realizadas aunque se cambie la configuracioacuten del teclado desde el menuacute
de preferencias uacutenicamente se mantiene dentro de la sesioacuten desde la que se ha cambiado dicha
opcioacuten (lo cual implica que la contrasentildea de usuario hay que introducirla seguacuten la distribucioacuten
inglesa)
33 Instalacioacuten de los nodos
Previo a la instalacioacuten de los nodos esclavos cada uno de los equipos fueron configurados
desde la Bios para que arranquen desde la red (seccioacuten 3122) Para ir antildeadiendo los nodos solo
se tiene que introducir el siguiente comando desde nuestro FrontEnd
$insert-ethers
A continuacioacuten como se muestra en la Figura 316 apareceraacute una ventana en la pantalla
en la cual se seleccionaraacute la opcioacuten ldquoComputerdquo
71
Una vez realizado este paso se procede a encender los equipos que funcionaraacuten como
nodos esclavos uno a uno
Se sugiere esperar a que cada nuevo equipo encendido esteacute marcado con un asterisco antes
de proceder a encender el siguiente como se muestra en la Figura 317 De esta manera se asegura
que cada nuevo nodo antildeadido posea el nombre y numeracioacuten deseada
Figura 316 Pantalla para ingresar nodos (Fuente Elaboracioacuten propia)
Figura 317 Indicador de insercioacuten de nuevos nodos (Fuente Elaboracioacuten propia)
72
Puede darse el caso de que un nodo no sea detectado automaacuteticamente eso indica que se
ha omitido alguacuten paso o parte de la configuracioacuten realizada hasta el momento es incorrecta En ese
caso comprobar lo siguiente
Que el nodo esclavo este correctamente conectado a la red interna
Que el FrontEnd (nodo maestro) tenga correctamente configurada la red interna y externa
Que el PXE esteacute habilitado en la Bios del nodo esclavo
331 Administracioacuten de nodos Algunos de los comandos maacutes uacutetiles para para la gestioacuten
de los nodos son los siguientes
Eliminar un nodo de la lista
Reinstalar un nodo
Listar los nodos ya instalados
Acceder a un nodo
$rocks remove host nombre_nodo
$rocks remove host nombre_nodo
$rocks set host boot nombre_nodo action=install
$rocks set host boot nombre_nodo action=install
$rocks list host
$rocks list host
$ssh nombre_nodo
$ssh nombre_nodo
73
Ejecutar un comando de manera remota a un nodo
332 Creacioacuten de cuentas de usuario Para agregar a un usuario hay que realizar los
siguientes pasos
1 Creacioacuten de la cuenta
$useradd nombre_usuario
2 Asignacioacuten de una contrasentildea
$passwd nombre_usuario
3 Sincronizacioacuten de la cuenta de usuario con el resto de nodos
$rocks-user-sync
333 Configuracioacuten del directorio compartido El directorio share es compartido por el
FrontEnd y el resto de nodos se localiza dentro del FrontEnd en la carpeta exports siendo la
carpeta share un enlace simboacutelico a esta uacuteltima
Al principio es posible que no se sincronicen correctamente los archivos introducidos en el
directorio debido a que la carpeta inicialmente estaacute vaciacutea por lo que para solucionar este
inconveniente puede usarse el comando siguiente para reiniciar dicho servicio
$ssh nombre_nodo lsquocomandorsquo
$ssh nombre_nodo lsquocomandorsquo
$cd
$export fs ndashrv
service nfs restart
$cd
$export fs ndashrv
service nfs restart
74
34 Operaciones baacutesicas de Rocks
Comandos y aplicaciones esenciales para el manejo del cluacutester
Ver que rolls estaacuten instalados
$rocks list roll
Visualizar el estado del sistema Figura 318
$qstat ndashf
Probar el sistema de colas para distribuir tareas a los nodos
Para ello se prueba que el SGE del cluacutester funcione enviaacutendole una serie de trabajos
mediante el comando qsub
En primer lugar se crea un fichero (pruebapl) que tenga permisos de ejecucioacuten con el
siguiente contenido
Figura 318 Comando qstat ndashf (Fuente Elaboracioacuten propia)
75
usrbinperl
for(my $i=0$ilt30$i++) sleep(2) print okn
Y se ejecuta con el siguiente comando
$ for ((i=1ilt=10i+=1)) do qsub pruebapl done
Al ejecutarse se puede comprobar que los trabajos se han mandado Figura 319
Y al realizar de nuevo un ldquoqstat ndashfrdquo Figura 320 se observa coacutemo se van realizando
Figura 319 Enviacuteo de trabajos por medio del comando qsub (Fuente Elaboracioacuten propia)
Figura 320 Estado de los trabajos pendientes mostrados por qstat ndashf (Fuente Elaboracioacuten propia)
76
Para ver la carga de trabajo en el cluacutester de manera global y de forma graacutefica se tiene que
ingresar en un navegador web en la siguiente direccioacuten httplocalhostganglia apareceraacute la
Figura 321
Figura 321 Visualizacioacuten de la distribucioacuten de cargas en el cluacutester usando la herramienta Ganglia (Fuente Elaboracioacuten propia)
77
Capiacutetulo 4 Metodologiacutea y Resultados
Una vez finalizada la instalacioacuten y puesta en operacioacuten del equipo se analizaron diferentes
metodologiacuteas de trabajo lo que implicoacute un trabajo arduo debido a que existen complicaciones
cuando se buscan temas relacionados a vulnerar sistemas operativos La realizacioacuten de este
proyecto estaacute basado en la metodologiacutea de Joshua Picolet ldquoCracking Methodologyrdquo (Picolet
2017)
41 Obtener Archivo hash
Se pueden vulnerar contrasentildeas de Windows de diferentes maneras Una de ellas es
mediante el acceso al archivo del Administrador de cuentas de seguridad (SAM) el cual se detalla
en el apartado 253 a traveacutes de la obtencioacuten de las contrasentildeas del sistema en su forma hash por
medio de herramientas diferentes Alternativamente las contrasentildeas se pueden leer desde la
memoria lo que tiene el beneficio adicional de recuperar las contrasentildeas en texto plano y evitar el
requisito de descifrado Para comprender los formatos que se observan cuando se descarguen
hashes del sistema de Windows se requiere una breve descripcioacuten de los diferentes formatos de
almacenamiento
Originalmente las contrasentildeas de Windows de menos de 15 caracteres se almacenaban en
el formato hash de Lan Manager (LM) Algunos sistemas operativos como Windows 2000 XP y
Server 2003 continuacutean usando estos hashes a menos que esteacuten deshabilitados por el usuario
Ocasionalmente un sistema operativo como Windows Vista puede almacenar el hash LM para la
compatibilidad con otros sistemas Seguacuten analistas incluye varias vulnerabilidades como dividir
78
la contrasentildea en dos bloques y permitir que cada uno se descifre de forma independiente Mediante
el uso de tablas Rainbow es trivial descifrar una contrasentildea almacenada en un hash LM
independientemente de la complejidad Este hash se almacena con la misma contrasentildea calculada
en el formato de hash NT como el que se muestra en el siguiente ejemplo
Ejemplo de un hash NTLM con el componente LM y NT
Administrator500611D6F6E763B902934544489FCC9192BB71ED1E7F2B60ED5A2
EDD28379D45C91
Los sistemas operativos Windows maacutes recientes como el Windows 8 y 10 usan el hash NT
En teacuterminos simples no hay una debilidad significativa en este hash que lo diferencie de cualquier
otra funcioacuten hash criptograacutefica Se requieren meacutetodos de descifrado como lo es la fuerza bruta o
ataque de diccionario para recuperar la contrasentildea si uacutenicamente se almacena en el formato NT
Ejemplo de un hash NTLM uacutenicamente con el componente NT (como se ve en los sistemas
Windows mas recientes
Administrator500NOPASSWORDEC054D40119570A4663
4350291AF0F72
Es importante sentildealar que la cadena NO PASSWORD es variable seguacuten la herramienta
que se utilice Otras pueden presentar esta informacioacuten como ceros rellenos o comuacutenmente puede
79
ver la cadena ldquoAAD3B435B51404EEAAD3B435B51404EErdquo en lugar de ninguna contrasentildea
Esto significa que el hash LM estaacute vaciacuteo y no estaacute almacenado
El archivo hash se encuentran en el directorio ldquoWindows System32 configrdquo y se
necesitan ambos archivos SAM y SYSTEM Ademaacutes tambieacuten se encuentran en el archivo de
registro HKEY_LOCAL_MACHINE SAM al que no se puede acceder durante el tiempo de
ejecucioacuten Finalmente las copias de seguridad se pueden encontrar a menudo en ldquoWindows
Repairrdquo (Peleus 2019)
Para extraer el archivo hash de un sistema operativo con un nivel de seguridad C1 existen
diferentes meacutetodos en esta ocasioacuten se procederaacute a iniciar el equipo objetivo con una distribucioacuten
de Linux desde una memoria USB como se muestra en la figura 41 para de esta manera ingresar
al directorio CWINDOWSSystem32Config directorio de ubicacioacuten de los archivos SAM y
SYSTEM que son los necesarios para obtener el archivo hash (Caballero 2018)
Figura 41 Arranque con LiveUSB KaliLinux (Fuente Elaboracioacuten propia)
80
42 Dar Formato al Hash
En este punto es donde se tiene que identificar el algoritmo con el que fueron encriptados
los archivos SAM y SYSTEM que se han obtenido en el punto anterior con la finalidad de
seleccionar el tratamiento que se les daraacute El algoritmo de encriptacioacuten del archivo SAM de
Windows 10 es NTLM y ademaacutes estaacute almacenado en un formato binario (ByteBleeder 2017) por
lo que fue necesario instalar la herramienta con licencia GNU samdump2 para obtener la syskey y
de esta manera poder extraer los hash desde el archivo SAM de Windows
En la figura 42 se han obtenido los hashes del archivo SAM donde se puede observar que
los usuarios Administrador e Invitado estaacuten deshabilitados ademaacutes de que existen tres cuentas de
usuario activas las cuales son Gad prueba y usuarioprueba cada una con su contrasentildea cifrada
en formato NTLM a la derecha del nombre de usuario la cuenta usuarioprueba fue a la que se le
realizoacute el anaacutelisis que se detalla posteriormente
43 Evaluar la fuerza del Hash
En criptografiacutea se dice que un algoritmo criptograacutefico se rompe si por alguacuten meacutetodo se
consigue reducir su fortaleza es decir reducir por ejemplo su entropiacutea de los 2256 bits teoacutericos a
Figura 42 Resultado de la ejecucioacuten de la herramienta samdump2 (Fuente Elaboracioacuten propia)
81
tan soacutelo 2255 por ejemplo El hecho de que se encuentre una colisioacuten no implica necesariamente
que un algoritmo se haya roto pues podriacutea haber sido realizado mediante fuerza bruta pero puede
ser una causa
Un ataque de colisioacuten significa que encuentro dos entradas diferentes que producen el
mismo resultado de un hash particular Este es generalmente el tipo de ataque maacutes faacutecil Es el tipo
de ataque que se conoce desde hace varios antildeos contra MD5
Dado que una utilidad importante de las funciones hash estaacute en las firmas digitales
encontrar colisiones puede facilitar falsificar firmas digitales Es decir dos mensajes distintos que
tengan un mismo resumen tienen ademaacutes la misma firma y un atacante puede reemplazar un
mensaje por el otro Un ejemplo de este ataque fue demostrado en 2008 por un grupo de
investigadores en Aacutemsterdam los cuales falsificaron un certificado raiacutez mediante el uso de un
ataque de colisioacuten contra el algoritmo MD5 (Preukschat 2015)
Un ataque previo a la imagen generalmente es mucho maacutes difiacutecil es encontrar otra entrada
que produzca el mismo resultado que un hash que ya se conoce
Para tratar de aclarar la diferencia aquiacute en un ataque de colisioacuten encuentro dos entradas A
y B que producen el mismo resultado En un ataque de preimagen comienzo a partir de alguacuten
resultado conocido X y encuentro una entrada que produciraacute X como resultado (Coffin 2015)
82
Para realizar esta evaluacioacuten se tomoacute como base la tabla del apeacutendice Hash craking
benchmark (Picolet 2017) el objetivo es observar el comportamiento y velocidad del Hash
mencionado cuando fue sometido a pruebas de criptoanaacutelisis Si se trata de un Hash lento se deberaacute
ser maacutes selectivo en queacute tipos de diccionarios y meacutetodos de criptoanaacutelisis se le debe aplicar Si es
un Hash raacutepido se puede ser maacutes libre con la estrategia de criptoanaacutelisis Este estudio busca
realizar una prueba de criptoanaacutelisis mostrando las diferencias entre el poder de procesamiento de
un cluacutester de 17 nodos contra una computadora personal por lo que no necesariamente se
implementaraacute el meacutetodo oacuteptimo para la realizacioacuten del criptoanaacutelisis
44 Calcular la capacidad del equipo
Con la informacioacuten de la evaluacioacuten de la fuerza del Hash obtenida en el apartado anterior en
este apartado se tiene que establecer la capacidad de la plataforma o plataformas que realizaraacuten
el criptoanaacutelisis
Para conocer la capacidad de procesamiento del cluacutester de alto rendimiento se utilizoacute la
herramienta Linpack Benchmark HPL es una implementacioacuten portaacutetil del Benchmark de alto
rendimiento LINPACK para equipos de coacutemputo distribuido Actualmente se utiliza para obtener
varios resultados en la lista actual de Top500 de HP cluacutesters (Dongarra 2010)
El Linpack Benchmark (HPL del Ingleacutes High-Performance Linpack Bench-mark) es un
software que resuelve un sistema lineal aleatorio de doble precisioacuten aritmeacutetica (64 bits) en equipos
de memoria distribuida El rendimiento muestra el nuacutemero de operaciones de punto flotante por
segundo logradas por el sistema (Petitet Whaley Dongarra amp Cleary 2008)
83
El HPL fue desarrollado en el Argone National Laboratory por Jack Don-garra en 1976 y
es uno de los maacutes usados en sistemas cientiacuteficos y de ingenieriacutea para el caacutelculo de prestaciones
Las principales caracteriacutesticas del algoritmo utilizado por el HPL son
Distribucioacuten ciacuteclica de datos de bloques de dos dimensiones
Variante derecha de la factorizacioacuten LU con pivoteo parcial (Teacutecnica de pivoteo
Dicta que el elemento pivote que debe escogerse es el mayor absolutamente de cada
columna)
Factorizacioacuten recursiva con pivoteo y reenviacuteo de columna
Distintas topologiacuteas virtuales de reenviacuteos
Algoritmo de reduccioacuten de reenviacuteo para ancho de banda (Castelloacute Gimeno 2014)
La resolucioacuten del sistema de ecuaciones se realiza del siguiente modo
1 Se crea un sistema de ecuaciones
(1)
119860119909 = 119887
(2)
119860 isin 119877119899119909119899
(3)
119909 119887 isin 119877119899
84
HPL calcula que la solucioacuten para un sistema de ecuaciones lineales se puede generalizar
como 119860119909 = 119887 donde 119860 es una matriz 119873 119909 119873 cuyos valores se generan aleatoriamente
119909 119910 119887 son vectores de tamantildeo 119873 Como se muestra en la Figura 43
2 Primero se calcula la factorizacioacuten 119871119880 con pivoteo parcial de los coeficientes 119899 y 119899 + 1
de la matriz [119860 119887]
(4)
119875119903[119860 119887] = [[119871119880] 119910]
(5)
119875119903 119871 119880 isin 119877119899119909119899
(6)
119910 isin 119877119899
El primer paso es la factorizacioacuten de la matriz 119860 en una matriz triangular superior 119880
y una matriz triangular inferior 119871 tal que 119860 = 119871119880 La factorizacioacuten se usa para calcular
el vector solucioacuten 119909
3 Una vez el pivoteo (representado por la permutacioacuten de la matriz 119875119903) y la factorizacioacuten
inferior se aplican sobre 119887 la solucioacuten se obtiene en un paso resolviendo el sistema
superior triangular
Figura 43 Sistema de Ecuaciones tipo 119860119909 = 119887 (Fuente Elaboracioacuten propia)
85
(7)
119880119909 = 119910
La matriz triangular inferior izquierda y el conjunto de pivotes no se devuelven en el
resultado Para la estabilidad numeacuterica el algoritmo de factorizacioacuten utiliza un pivote parcial de
fila
La implementacioacuten paralela de Linpack divide la matriz 119860 119873 119909 119873 en una cuadriacutecula de
procesos 119875 119909 119876 bidimensional y luego la divide en subgrupos de mosaicos 119873119861 119909 119873119861 (Petitet
Whaley Dongarra amp Cleary 2008)
Utilizando la herramienta HPL en esta investigacioacuten se obtuvieron los siguientes
resultados
La prueba abordoacute el ajuste de 119873 y la eficiencia obtenida en comparacioacuten con el rendimiento
maacuteximo Se determinoacute un valor para 119873 = 800000 aleatoriamente para ejecutar HPL en todo el
cluacutester Sin embargo el tiempo fue excesivo por lo tanto se determinoacute que este tamantildeo del
problema fue demasiado grande para el cluacutester Al realizar otros experimentos con valores maacutes
pequentildeos de 119873 se obtuvieron mejores resultados de rendimiento La Tabla 41 muestra el
rendimiento de HPL en GFlops para 119873 = 300000 400000 y 500000 Como se puede observar
en la Tabla 41 se obtuvo el mejor resultado de rendimiento 850 GFlops para 119873 = 500000 para
valores mayores de 119873 la distribucioacuten de cargas del cluacutester empieza a sobrepasar su capacidad como
se muestra en la Figura 44 y la vez su rendimiento disminuye Esto ocurre porque la cantidad de
memoria utilizada con las memorias intermedias de comunicacioacuten MPI es mayor de lo esperado
Por lo tanto es necesario dejar maacutes del 20 de la memoria para el sistema (Petitet Whaley
86
Dongarra amp Cleary 2008) Tambieacuten se realizaron pruebas usando solo un nodo de coacutemputo y el
rendimiento fue de 34 GFlops para 119873 = 20000
Tabla 41 Rendimiento de HP cluacutester (Fuente Elaboracioacuten propia)
Analizando la eficiencia obtenida para la ejecucioacuten de un solo nodo cuando 119873 = 20000
se obtuvo el 823 del rendimiento maacuteximo (el rendimiento maacuteximo para un solo nodo es 477
Gflops) Para todo el cluacutester el rendimiento maacuteximo seriacutea 119879119898119886119909 = 477 119909 17 =
8109 119866119891119897119900119901119904 aproximadamente
Figura 44 Distribucioacuten de cargas del cluacutester
0
500
1000
300000 400000 500000
Gflops
Gflops
87
La Figura 44 titulada ldquoDistribucioacuten de cargas del cluacutesterrdquo muestra la imagen de la
herramienta Ganglia de manera graacutefica a traveacutes de cuadros que variacutean de color dependiendo de la
carga que tenga cada uno de los nodos al momento de implementar la herramienta HPL De manera
inicial indica que el cluacutester tiene un total de 17 equipos de 4 cores cada uno eso da un total de 68
cores trabajando sin equipos inactivos Muestra tambieacuten una sobrecarga en el cluacutester y un
porcentaje promedio de 100 de uso en la uacuteltima hora
45 Establecer Estrategia
Esto significa uacutenicamente que en este apartado se realizaraacute una guiacutea baacutesica para procesar
los hashes obtenidos sin perder de vista que cada escenario a criptoanalizar es uacutenico en funcioacuten
de las circunstancias externas Como ya se ha mencionado anteriormente esta estrategia de
criptoanaacutelisis se ha planteado implementar dos meacutetodos los cuales son Fuerza Bruta y ataque de
diccionario sin importar si son o no los oacuteptimos debido a que se realizaraacute una comparativa de
capacidad de procesamiento
451 Fuerza Bruta Una vez que se han intentado varios meacutetodos y han fallado se puede
iniciar un ataque de fuerza bruta estaacutendar poniendo especial atencioacuten en la cantidad de siacutembolos
del alfabeto que puede usar el equipo a analizar Por encima de 8 caracteres esto generalmente no
tiene sentido debido a limitaciones de hardware y entropiacutea (complejidad de la contrasentildea) Una
contrasentildea de Windows seguacuten Microsoft (Microsoft Inc 2019) una contrasentildea de Windows debe
estaacute formada por
88
26 Caracteres mayuacutesculas de la ldquoArdquo a la ldquoZrdquo
26 Caracteres minuacutesculas de la ldquoardquo a la ldquozrdquo
10 Diacutegitos de base 10 (0 a 9)
32 Caracteres especiales (~$^amp_-+=|()[]ltgt)
94 Caracteres alfanumeacutericos en total
4511 Cantidad de combinaciones posibles Si se usa una clave numeacuterica (nuacutemeros del 0
al 9) existen 10 posibilidades de 4 diacutegitos de longitud que es la extensioacuten por defecto de los
teleacutefonos celulares Para 4 diacutegitos las combinaciones posibles seriacutean 10 mil 104 = 10000
(Labaca Castro 2014)
Por otro lado si tomamos un alfabeto de 26 letras mayuacutesculas y 26 minuacutesculas 10 nuacutemeros
y 10 caracteres especiales en total tenemos 72 diferentes posibilidades para un uacutenico caraacutecter Eso
significa que las combinaciones para una contrasentildea de 4 caracteres seriacutean 724 = 26873856
Baacutesicamente maacutes de 26 millones de combinaciones en una clave de 4 caracteres contra 10 mil en
una clave de 4 diacutegitos numeacutericos En este estudio se utiliza la contrasentildea de bloqueo descrita en el
apartado anterior que es de 94 combinaciones para cada caraacutecter teniendo una longitud de 7
caracteres por lo tanto seraacuten 947 = 64847759000000 de posibles combinaciones que
nuestros equipos deben explorar para obtener la contrasentildea correcta
Como se mencionoacute en el apartado 42 el usuario sobre el cual se realizoacute el criptoanaacutelisis
fue usuarioprueba el cual constaba de una contrasentildea de longitud 7 caracteres la cual despueacutes
de realizado el anaacutelisis y como se puede observar en la Figura 45
89
1 Anaacutelisis a usuario usuarioprueba
2 Nuacutemero de nodos en operacioacuten 17
3 Nuacutemero de procesos ejecutaacutendose de forma paralela 68
4 Tiempo de duracioacuten del anaacutelisis en el cluacutester 122727 horas
5 Contrasentildea criptoanalizada Pass7
Asiacute mismo en la Tabla 42 se muestra el resultado final y el tiempo de duracioacuten del
criptoanaacutelisis realizado al archivo SAM con el cluacutester y la computadora personal
Tabla 42 Resultados de criptoanaacutelisis de archivo SAM (Fuente Elaboracioacuten propia)
Nodos Nuacutecleos Tiempo de Procesamiento (Horas)
1 (PC) 4 1075316
17 (Cluacutester) 68 122727
1
2
3
4 5
Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester (Fuente Elaboracioacuten propia)
90
452 Diccionario Meacutetodo empleado para romper la seguridad de los sistemas basados en
contrasentildeas (password) en la que el atacante intenta dar con la clave adecuada probando todas (o
casi todas) las palabras posibles ingresadas previamente en un diccionario idiomaacutetico
Generalmente se emplean programas especiales que se encargan de ello
Este meacutetodo suele ser maacutes eficiente que el meacutetodo de fuerza bruta debido a que muchas
usuarios casi siempre suelen utilizar contrasentildeas con una o varias palabras existentes en su lengua
para que la contrasentildea no sea olvidada faacutecilmente y sea sencilla de recordar esto no es una praacutectica
recomendable (Alegsa 2018)
Para realizar este meacutetodo se utilizoacute un diccionario descargado de internet el cual contiene
10000000 de posibles contrasentildeas (g0tmi1k 2018)
Ademaacutes se ejecutoacute un programa creado en lenguaje C (Anexo 1) a traveacutes de la
implementacioacuten de las libreriacuteas MPI y open MPI propias de la arquitectura de cluacutester de
computadoras Este programa fue ejecutado en los mismos equipos descritos anteriormente para
obtener todos los nuacutemeros primos encontrados dentro de un intervalo dado En este caso el
intervalo dado fue de 10000000 con los siguientes resultados mostrados en la Tabla 43
Tabla 43 Resultados de ejecucioacuten de programa en C para la obtencioacuten de nuacutemeros primos (Fuente Elaboracioacuten
propia)
Nodos Nuacutecleos Tiempo de Procesamiento (Segs)
1 (PC) 4 5078
17 (Cluacutester) 68 00013
91
453 Analizar los resultados Posterior a realizar el criptoanaacutelisis y descifrar con eacutexito
una cantidad suficiente de hashes se analizan los resultados en busca de pistas o patrones Este
anaacutelisis puede ayudar a tener eacutexito en cualquier hash restante
454 Personalizar ataques Tomando como base el anaacutelisis de resultados realizado
previamente se disentildearaacuten diversas estrategias personalizadas que aprovechen las vulnerabilidades
conocidas o patrones Los ejemplos seriacutean ataques de maacutescara personalizados o reglas para
adaptarse al comportamiento o las preferencias del usuario objetivo
92
Conclusioacuten
El trabajo de investigacioacuten presentado parte de la necesidad de buscar alternativas para
explotar al maacuteximo la capacidad de procesamiento del equipo de coacutemputo que existe actualmente
dentro del inventario del Instituto Tecnoloacutegico de Acapulco asiacute como proveer una plataforma que
coadyuve a la investigacioacuten dentro del Instituto a traveacutes de implementar un cluacutester de coacutemputo
con capacidad para realizar proyectos en el aacuterea de ingenieriacutea y matemaacuteticas con el fin de optimizar
el tiempo de ejecucioacuten lo cual en un futuro se veraacute reflejado en ventajas para el desarrollo de la
regioacuten
La revisioacuten y anaacutelisis de informacioacuten en relacioacuten a cluacutesters es muy interesante pero a la
vez es compleja dado que involucra diferentes aspectos durante su evolucioacuten asiacute como diversas
metodologiacuteas para su formacioacuten e implementacioacuten Se considera de suma importancia para este
trabajo las revisiones efectuadas ya que son la base para la propuesta entregada
De acuerdo a las especificaciones teacutecnicas de los equipos informaacuteticos existentes dentro
del laboratorio de la Maestriacutea en Sistemas Computacionales y una vez que se realizoacute el anaacutelisis
de varios casos de eacutexito se propuso la metodologiacutea para implementacioacuten de un cluacutester homogeacuteneo
tipo Beowolf Este meacutetodo estaacute basado en otros que ya se han implementado bajo realidades
acadeacutemicas similares rescatando las etapas maacutes importantes de cada uno y complementaacutendolo con
los aportes personales se consideroacute que fue el oacuteptimo debido a que se implementoacute con hardware
convencional y herramientas de uso libre
93
El hecho de haber seleccionado un meacutetodo adecuado permitioacute superar gran parte los
problemas que presentaban las metodologiacuteas que fueron analizadas simplificoacute la implementacioacuten
del cluacutester y permitioacute el poder alcanzar una mayor estabilidad en su desempentildeo desde su etapa
inicial fue importante conocer el resultado en cada una de las etapas de implementacioacuten para
asegurar su desenvolvimiento en el futuro
Para integrar los equipos independientes a la arquitectura cluacutester se realizoacute el disentildeo de
una topologiacutea de red Gigabit Ethernet tipo estrella con un direccionamiento IP estaacutetico la
configuracioacuten de protocolos de comunicacioacuten remota sin autenticacioacuten la comparticioacuten de
archivos en red y la utilizacioacuten de aplicaciones de licencia GPL que permiten obtener el
funcionamiento similar a la de una supercomputadora
Haciendo uso de libreriacuteas de paso de mensajes (MPI) y el software John the Ripper para el
descifrado de contrasentildeas la arquitectura cluacutester implementada alcanzoacute una eficiencia de 885
de rendimiento en comparacioacuten con los recursos computacionales de un solo equipo con las
caracteriacutesticas de un nodo Ademaacutes otros de los proyectos ejecutados en la arquitectura cluacutester
para probar el rendimiento fue la ejecucioacuten de un programa para la deteccioacuten de nuacutemeros primos
dentro de un archivo de 10000000 de nuacutemeros obteniendo una eficiencia de maacutes de 99 gracias
a la distribucioacuten de tareas que proporcionan las libreriacuteas de paso de mensajes (MPI) dentro de la
arquitectura cluacutester
Con la implementacioacuten de la arquitectura cluacutester el laboratorio de la Maestriacutea en Sistemas
Computacionales podraacute dar soluciones potentes eficientes y econoacutemicas en los entornos de
94
investigacioacuten mejorando la capacidad de procesamiento en aplicaciones como evaluacioacuten de
algoritmos compresioacuten de archivos renderizacioacuten de imaacutegenes anaacutelisis de datos (big data) en un
tiempo relativamente bajo ideal para las necesidades educativas
La experiencia obtenida al realizar esta investigacioacuten y propuesta ha sido enriquecedora
tanto por la obtencioacuten de conocimiento en base a la historia evolucioacuten y arquitectura de cluacutesters
asiacute como la programacioacuten paralela y sus ventajas en diferentes proyectos desarrollados en todo el
mundo Igualmente la comparacioacuten entre cada uno de los modelos y meacutetodos resulta interesante
dado que existe un sinnuacutemero de ejemplos con caracteriacutesticas diferentes pero baacutesicamente con un
mismo objetivo final
Trabajo Futuro
El cluacutester implementado en el Laboratorio de la Maestriacutea en Sistemas computacionales del
Instituto Tecnoloacutegico de Acapulco puede ser utilizado en gran cantidad de aplicaciones dentro de
las diferentes aacutereas de investigacioacuten del Instituto asiacute como estar disponible para el Departamento
de Posgrado e Investigacioacuten como apoyo durante la realizacioacuten de tareas y proyectos dentro de las
aacutereas de Desarrollo de Sistemas Inteligentes asiacute como de Tecnologiacuteas Web
Propuesta de Trabajo a Futuro
Durante la realizacioacuten de este proyecto se observoacute la necesidad que existe dentro del
departamento de Investigacioacuten y Posgrado de equipos de alta capacidad de procesamiento para
realizar de una manera maacutes eficiente las investigaciones que se estaacuten llevando a cabo Una de ellas
es el ldquoSistema de apoyo al diagnoacutestico oportuno de Retinopatiacutea Diabeacuteticardquo en la cual a traveacutes del
entrenamiento de una red neuronal se clasificaraacuten y evaluaraacuten un nuacutemero de 3000 imaacutegenes para
95
demostrar la presencia de dicha enfermedad en pacientes del Instituto Estatal de Oftalmologiacutea
Actualmente se ha realizado una prueba de entrenamiento de dicha red neuronal con 70 imaacutegenes
obteniendo como resultado un tiempo clasificacioacuten y evaluacioacuten de 301532 horas en un equipo
con un procesador Core I7 con 8 GB en memoria RAM
96
Bibliografiacutea
Alegsa (01 de 01 de 2018) Alegsa Diccionario Informaacutetico Recuperado el 07 de 2019 de
Alegsa httpwwwalegsacomarDicataque_por_diccionariophp
Avecto (2017) Avecto Limited Recuperado el 10 de 08 de 2018 de AVECTO a Bomgar
Company wwwavectocom
Borghello C (2009) Seguridad de la Informacioacuten Recuperado el 11 de 2018 de Criptografiacutea de
la A-Z httpswwwsegu-infocomarproyectosp1_hashhtm
Branch Bedoya J amp Mesa Muacutenera A (Diciembre de 2008) Implementacioacuten de un cluster
homogeacuteneo para la resolucioacuten de problemas de alta complejidad computacional Avances
en Sistemas e Informaacutetica 5(3)
ByteBleeder (02 de 06 de 2017) Practical guide to NTLM Relaying in 2017 Obtenido de Github
httpsbyt3bl33d3rgithubiopractical-guide-to-ntlm-relaying-in-2017-aka-getting-a-
foothold-in-under-5-minuteshtml
Caballero A (26 de 06 de 2018) Hacking Eacutetico Recuperado el 03 de 2019 de John The Ripper
httpwwwreydescomdq=Recuperar_la_Contrasena_del_Administrador_utilizando_s
amdump2_y_John_The_Ripper
Carretero Peacuterez J de Miguel Anasagasti P Garciacutea Carballeira F amp Peacuterez Costoya F (2001)
Sistemas Operativos Una visioacuten aplicada (C F Madrid Ed) Madrid Espantildea
McGRAW-HillInteramericana
Castelloacute Gimeno A (30 de 07 de 2014) Universitat Jaume Recuperado el 10 de 2019 de
Evaluacioacuten de prestaciones mediante laaplicacioacuten HPL de clusters utilizandorCUDA
97
httprepositoriujiesxmluibitstreamhandle10234115082TFM_2014_CastelloGimen
oApdfsequence=1ampisAllowed=y
Chaacutevez J Echeverriacutea C Correa M Vaacutezquez E Suaacuterez M Maacutermol X Diacuteaz G (07 de
1999) Centro de Caacutelculo Cientiacutefico Recuperado el 01 de 05 de 2018 de Universidad de
Los Andes httpwwwcecalculavedocumentaciontutorialesbeowulfinformehtml
Chirinov R (2003) Nfinite9000 SL Recuperado el 26 de 04 de 2018 de Noticias 3D
httpswwwnoticias3dcomarticuloaspidarticulo=248amppag=4
Coffin J (23 de 07 de 2015) Quora Recuperado el 15 de 08 de 2019 de
httpswwwquoracomWhat-does-it-mean-when-a-hashing-algorithm-has-been-broken
Dongarra J (2010) Top500 Super computer sites Recuperado el 07 de 2019 de http
wwwtop500org
Educba (01 de 01 de 2019) Recuperado el 10 de 2019 de Educbaorg
httpswwweducbacomidea-algorithm
europa press (04 de 06 de 2013) Portal Tic Recuperado el 18 de 11 de 2018 de Europa Press
httpswwweuropapressesportalticgadgetsnoticia-cuarta-generacion-intel-core-mayor-
salto-cuanto-ahorro-energetico-20130604174722html
g0tmi1k (2018) github Recuperado el 05 de 2019 de github
httpsgithubcomdanielmiesslerSecListsblobmasterPasswordsCommon-
Credentials10-million-password-list-top-1000000txt
Gonzaacutelez Agudelo D (2014) El riesgo y la falta de politicas de seguridad informaacutetica una
amenaza en las empresas certificadas basc Recuperado el 20 de 05 de 2018 de
Universidad Militar Nueva Granada
httpsrepositoryunimilitareducobitstream10654122511ENSAYO20FINALpdf
98
Gonzaacutelez Ramiacuterez E amp Rodriacuteguez Saacutenchez A (2008) Disentildeo e implementacioacuten de un cluster
tipo BEOWULF para el desarrollo de coacutemputo cientiacutefico avanzado CdMx Mexico
Hernandez M (2013) Forensics Mexico Recuperado el 07 de 2018 de La importancia del
registro de Windows parte 1 httpforensicsmexicoblogspotcom201309la-
importancia-del-registro-de-windowshtml
Kowalczyk C (01 de 2015) Crypto-IT Recuperado el 11 de 2018 de Crypto-IT
httpwwwcrypto-itnetengasymmetricindexhtml
Labaca Castro R (13 de 06 de 2014) We live security Recuperado el 2019 de 08 de 07 de
Welivesecuritybyeset httpswwwwelivesecuritycomla-es20140613matematica-
claves-numerica-alfanumerica
Lizaacuterraga C (2002) Departamento de Fiacutesica Recuperado el 12 de 03 de 2018 de Universidad
de Sonora httpclustersfisicausonmx
Llorens E amp Pentildea M (2002) Recuperado el 04 de 2018 de Departament dArquitectura de
Computadors httppersonalsacupceduenricPFCBeowulfbeowulfhtml
Meneacutendez-Barzanallana R (07 de 08 de 17) Universidad de Murcia Recuperado el 11 de 2018
de Informaacutetica Aplicada a las Ciencias Sociales
httpswwwumesdocenciabarzanaIACCSSCriptografiahtml
Merkle R amp Damgaringrd I (sf) Numerenturorg Recuperado el 06 de 2019 de Para computar -
numerenturorg httpnumerenturorgfuncion-merkle-damgard
Microsoft Inc (02 de 05 de 2019) wwwmicrosoftcom Obtenido de Password must meet
complexity requirements httpsdocsmicrosoftcomes-eswindowssecuritythreat-
protectionsecurity-policy-settingspassword-must-meet-complexity-requirements
99
Mifsud E (26 de 03 de 2012) Introduccioacuten a la seguridad informaacutetica Recuperado el 07 de 05
de 2018 de Ministerio de educacioacuten cultura y deportes Gobierno de Espantildea
httprecursosticeducacionesobservatoriowebessoftwaresoftware-general1040-
introduccion-a-la-seguridad-informaticashowall=1
Murugesan S (01 de 02 de 2008) Researchgate doi101109MITP200810
Nahar K amp Abu Abbas O (01 de 2010) Researchgate Recuperado el 07 de 2019 de
Researchgate
httpswwwresearchgatenetpublication315492522_Hybrid_Cipher_System
Nievas F Pino O amp Arroyo R (sf) Los clusters como Plataforma de Procesamiento Paralelo
Recuperado el 25 de 04 de 2018 de
httpusuarioslycoseslacaraocultadescargasClusters_definitivo pdf
Pawar S (2016) A computer science portal for geeks Recuperado el 10 de 2018 de
Geeksforgeeks httpswwwgeeksforgeeksorgrc5-encryption-algorithm
Peleus (2019) NETSEC Recuperado el 08 de 2019 de httpsnetsecwsp=314
Peacuterez Tavera I (2014) Obtenido de Universidad Autonoma del Estado de Hidalgo
httpswwwuaehedumxscigeboletinprepa4n2e4html
Peacuterez M (2001) Recuperado el 15 de 04 de 2018 de
httpwwwdragonesorgBibliotecaArticulosArquitecturaParalela2pdf
Petitet A Whaley R C Dongarra J amp Cleary A (2008) HPL - A Portable Implementation of
the High-Performance Linpack Benchmark for Distributed-Memory Computers
Recuperado el 07 de 2019 de httpwwwnetliborgbenchmarkhpl
Picolet J (2017) Hash Crack Password Cracking Manual (Vol 2) Createspace Independent
Pub
100
Preukschat A (23 de 02 de 2015) Oro y Finanzas Recuperado el 07 de 2019 de
httpswwworoyfinanzascom201502que-es-colision-criptografia-bitcoin
Robbins D (2008) OpenMosix Recuperado el 22 de 04 de 2018 de the openMosix Project
httpopenmosixsourceforgenetintroduction_to_openmosixhtml
Rocha Quezada J d Botello Rionda S Vargas Feacutelix J M amp Munguiacutea Torres I A (Sep-Dic
de 2011) Disentildeo e implementacioacuten de un cluacutester de coacutemputo de alto rendimiento Acta
Universitaria 21(3) 24-33 Recuperado el 1 de 12 de 2018
Rocksclusters (01 de 01 de 2010) httpwwwrocksclustersorg Recuperado el 01 de 06 de 2018
de httpwwwrocksclustersorg httpwwwrocksclustersorg
Sanjoy K (01 de 01 de 2015) DZone Recuperado el 15 de 06 de 2019 de DZone
httpsdzonecomarticlessecurity-algorithms-des-algorithm
Security Degree Hub (01 de 2017) Security Degree Hub Recuperado el 13 de 02 de 2019 de
Security Degree Hub httpswwwsecuritydegreehubcomwhat-is-cryptanalysis
Simmons G (01 de 01 de 2019) Encyclopedia Britannica Recuperado el 08 de 2019 de
Encyclopedia Britannica httpswwwbritannicacomtopicRSA-encryption
statista (09 de 2017) Statista Obtenido de Statista Co httpsesstatistacom
Turner D (2004) Recuperado el 12 de 02 de 2018 de Ames Lab
httpwwwsclameslabgovProjectsparrallel_computingpara_intohtml
United States Government Department of Defense (1983) Trusted Computer System Evaluation
Criteria Rainbow Series
Universidad Internacional de Valencia (09 de Septiembre de 2016) Nuestros
expertosTecnologiacutea Recuperado el 27 de Abril de 2018 de Universidad Internacional de
Valencia httpswwwuniversidadviuesla-seguridad-informatica-puede-ayudarme
101
Wallen J (19 de 01 de 2019) Lifewire Recuperado el 13 de 06 de 2019 de Lifewire
httpswwwlifewirecomgnome-3-desktop-4175640
Yang H (01 de 02 de 2019) Herong Yang Recuperado el 15 de 06 de 2019 de Cryptography
Tutorials httpwwwherongyangcomCryptographyDSA-Introduction-What-Is-DSA-
Digital-Signature-Algorithmhtml
102
Anexo 1
Programa en Lenguaje C para la obtencioacuten de nuacutemeros primos utilizando libreriacuteas mpi
include ltcstdlibgt
include ltiostreamgt
include ltiomanipgt
include ltcmathgt
include ltctimegt
include mpih
using namespace std
int main ( int argc char argv[] )
int prime_number ( int n int id int p )
void timestamp ( )
int main ( int argc char argv[] )
int i
int id
int master = 0
int n
int n_factor
int n_hi
int n_lo
int p
int primes
int primes_part
double wtime
n_lo = 1
n_hi = 10000000
n_factor = 2
MPIInit ( argc argv )
p = MPICOMM_WORLDGet_size ( )
id = MPICOMM_WORLDGet_rank ( )
if ( id == master )
cout ltlt n
cout ltlt Cuenta primosn
cout ltlt C++MPI versionn
cout ltlt n
cout ltlt Programa para contar cantidad de primos para un N dadon
cout ltlt Corriendo en ltlt p ltlt procesosn
cout ltlt n
103
cout ltlt N S Tiempon
cout ltlt n
n = n_lo
while ( n lt= n_hi )
if ( id == master )
wtime = MPIWtime ( )
MPICOMM_WORLDBcast ( ampn 1 MPIINT master )
primes_part = prime_number ( n id p )
MPICOMM_WORLDReduce ( ampprimes_part ampprimes 1 MPIINT
MPISUM
master )
if ( id == master )
wtime = MPIWtime ( ) - wtime
cout ltlt ltlt setw(8) ltlt n
ltlt ltlt setw(8) ltlt primes
ltlt ltlt setw(14) ltlt wtime ltlt n
n = n n_factor
MPIFinalize ( )
if ( id == master )
cout ltlt n
cout ltlt PRIME_MPI - Procesos maestron
cout ltlt Finalizacion del calculo normaln
return 0
int prime_number ( int n int id int p )
int i
int j
int prime
int total
104
total = 0
for ( i = 2 + id i lt= n i = i + p )
prime = 1
for ( j = 2 j lt i j++ )
if ( ( i j ) == 0 )
prime = 0
break
total = total + prime
return total
void timestamp ( )
define TIME_SIZE 40
static char time_buffer[TIME_SIZE]
const struct tm tm
size_t len
time_t now
now = time ( NULL )
tm = localtime ( ampnow )
len = strftime ( time_buffer TIME_SIZE d B Y IMS p tm )
cout ltlt time_buffer ltlt n
return
undef TIME_SIZE
xi
Iacutendice de Tablas
Tabla 11 Costo del Proyecto 15
Tabla 41 Rendimiento de HP cluacutester (Fuente Elaboracioacuten propia) 86
Tabla 42 Resultados de criptoanaacutelisis de archivo SAM (Fuente Elaboracioacuten propia) 89
Tabla 43 Resultados de ejecucioacuten de programa en C para la obtencioacuten de nuacutemeros primos
(Fuente Elaboracioacuten propia) 90
1
Capiacutetulo 1 Introduccioacuten
11 Antecedentes del problema
Sin lugar a duda una de las herramientas maacutes importantes producida en el siglo XX ha sido
la computadora la cual ha provocado cambios vertiginosos en la sociedad y en el progreso de la
misma En la actualidad el entorno estaacute praacutecticamente controlado por las nuevas tecnologiacuteas que
a medida que transcurre el tiempo avanzan sin liacutemites y en ocasiones son utilizadas
incorrectamente provocando dantildeos de grandes dimensiones
Los trascendentales cambios operados en el mundo moderno caracterizados por su
constante desarrollo la acelerada globalizacioacuten de la economiacutea la acentuada dependencia a
almacenar grandes voluacutemenes de informacioacuten y los sistemas que la proveen aunado a grandes
inversiones de las empresas en conocimiento actual y futuro en sistemas de informacioacuten ademaacutes
del potencial que poseen las tecnologiacuteas para cambiar draacutesticamente las organizaciones y las
praacutecticas de negocio asiacute como crear nuevas oportunidades disentildear nuevas estructuras tecnoloacutegicas
basadas en informacioacuten la convierte en un activo codiciable Tales avances hacen permanente el
riesgo en las tecnologiacuteas y nos llevan a pensar en la problemaacutetica sobre la seguridad informaacutetica
La proteccioacuten de datos documentos y control de acceso a la informacioacuten es un tema que
cada diacutea toma maacutes fuerza en las grandes compantildeiacuteas debido a las diferentes praacutecticas de
especialistas tecnoloacutegicos como los son los hackers y crackers que roban informacioacuten vital para
posteriormente sacar provecho de ella
2
ldquoDesde la aparicioacuten de los grandes sistemas aislados hasta nuestros diacuteas en los que el
trabajo en red es lo habitual los problemas derivados de la seguridad de la informacioacuten han ido
tambieacuten cambiando evolucionando pero estaacuten ahiacute y las soluciones han tenido que ir adaptaacutendose
a los nuevos requerimientos teacutecnicos Aumenta la sofisticacioacuten en el ataque y ello aumenta la
complejidad de la solucioacuten pero la esencia es la mismardquo (Mifsud 2012)
Dentro del mundo actual la informacioacuten es denominada un activo importante de una
institucioacuten la cual debe ser protegida para evitar su peacuterdida modificacioacuten o el uso inadecuado de
su contenido
El extraviacuteo o el mal uso de informacioacuten que para alguien es confidencial genera dantildeos y
repercusiones directas relacionadas a la integridad disponibilidad y confidencialidad de los
archivos y a su vez a los duentildeos de dicha informacioacuten
ldquoLa seguridad informaacutetica se distingue por tener dos propoacutesitos de seguridad la Seguridad
de la Informacioacuten y la Proteccioacuten de Datos estos se diferencian debido a que los datos son valores
numeacutericos que soportan la informacioacuten mientras que la informacioacuten es aquello que tiene un
significado para nosotrosrdquo (Gonzaacutelez Agudelo 2014)
La seguridad informaacutetica consiste en asegurar que los recursos del sistema de informacioacuten
(material informaacutetico o programas) de una organizacioacuten sean utilizados de la manera que se decidioacute
3
inicialmente y que el acceso a la informacioacuten alliacute contenida asiacute como su modificacioacuten soacutelo sea
posible a las personas que se encuentren acreditadas y dentro de los liacutemites de su autorizacioacuten
Actualmente hay mucha informacioacuten circulando en internet por ejemplo correos
electroacutenicos publicaciones en Twitter Facebook videos fotos comercio electroacutenico secretos de
estado militares o industriales Lamentablemente dicha red es puacuteblica e insegura dentro de la cual
existen usuarios bien intencionados y muchos mal intencionados Diariamente encontramos
noticias de sitios con intrusiones mal intencionadas (hackeados) clonacioacuten de tarjeta de creacutedito o
imaacutegenes adulteradas Todo lo anterior motiva la necesidad de proteger la informacioacuten a traveacutes de
mecanismos que impidan a los usuarios no autorizados acceder a dicha informacioacuten
4
12 Planteamiento del Problema
Los sistemas de informacioacuten actuales estaacuten relacionados completamente con la exposicioacuten
de su informacioacuten a entidades externas que son ajenas a la organizacioacuten o delegacioacuten a la que
pertenecen
Cuando no se conoce el alcance que tienen los sistemas informaacuteticos ni lo vulnerables que
pueden ser si son expuestos a Internet por los mismos empleados de la organizacioacuten puede darse
ldquofugardquo de informacioacuten hacia el exterior esto los hace vulnerables a eventos y amenazas que
conllevan a riesgos que pueden provocar peacuterdidas tangibles e intangibles las cuales se traducen
en peacuterdidas que en muchos de los casos por decir lo menos seraacuten monetarias
El portal espantildeol de estadiacutesticas statista muestra la cuota de mercado de los principales
sistemas operativos a nivel mundial a fecha de febrero de 2017 seguacuten el nuacutemero de instalaciones
(statista 2017) Windows 10 fue el segundo sistema operativo maacutes instalado con una cuota de
mercado de 253 Esto significa que alrededor de una de cada cuatro computadoras estaacute
gobernado por este sistema operativo Por su parte en el caso de Windows 7 el porcentaje se situacutea
por encima del 45 a pesar de que ya no se vende ninguacuten PC con este sistema operativo Hablando
de manera conjunta los sistemas operativos Windows cuentan con una cuota del mercado global
de 8857
La empresa de seguridad informaacutetica Britaacutenica Avecto informoacute en su Microsoft
Vulnerabilities Report 2017 (Avecto 2017) (reporte 2017 de vulnerabilidades de Windows) un
aumento de vulnerabilidades publicadas del 111 en los uacuteltimos 5 antildeos de las cuales 235 criacuteticas
5
fueron mitigadas removiendo permisos de administrador asiacute como otras muy importantes
enfocadas al Administrador de Cuentas de Seguridad (SAM Security Account Manager por sus
siglas en ingleacutes) la cual es una base de datos almacenada como un archivo del registro en Windows
y que almacena las contrasentildeas de los usuarios en un formato hash (Algoritmos que crean a partir
de una entrada una salida alfanumeacuterica de longitud fija)
6
13 Objetivos
131 Objetivo General A traveacutes de la implementacioacuten de un procedimiento de fuerza
bruta utilizando para ello un cluacutester de alto rendimiento asiacute como software de uso libre lograr
capacidad de procesamiento capaz de vulnerar un sistema de autenticacioacuten nivel C1
132 Objetivos Especiacuteficos
Analizar los diferentes niveles de seguridad de sistemas operativos
Analizar diferentes meacutetodos de criptoanaacutelisis para vulnerar el Administrador de
cuentas de seguridad
Estudiar las teacutecnicas de agrupamiento de computadoras (clustering) para la
obtencioacuten de mayor poder de procesamiento
Implementar un cluacutester de alto rendimiento en el Laboratorio de la Maestriacutea en
Sistemas Computacionales del Instituto Tecnoloacutegico de Acapulco para ejecutar
operaciones de coacutemputo distribuido
7
14 Justificacioacuten
Antes la seguridad de la informacioacuten se realizaba a traveacutes de medios fiacutesicos por ejemplo
una caja fuerte en la cual las personas resguardaban objetos o informacioacuten valiosa para ellos Con
la introduccioacuten de las computadoras y el uso de internet los usuarios comienzan a almacenar
informacioacuten importante dentro de sus equipos por lo que se considera indispensable el uso de
herramientas que brinden proteccioacuten a la informacioacuten que se encuentra resguardada dentro de
eacutestas Los usuarios informaacuteticos suelen enviar informacioacuten por la red en las empresas al realizar
traacutemites o enviar informes a socios jefes entre otros
El resguardo de informacioacuten siempre ha sido importante para los seres humanos con la
diferencia que anteriormente no se contaba con los avances tecnoloacutegicos que tenemos actualmente
puesto que con la introduccioacuten de internet y el uso de dispositivos electroacutenicos se tiene mayor
riesgo de la informacioacuten que en ellos se maneja
La proteccioacuten del contenido de los datos es una necesidad urgente en casi todos los aacutembitos
de la sociedad incluyendo los servicios puacuteblicos y privados por lo que la tecnologiacutea de la
seguridad de los sistemas de cifrado se encuentra de frente a verdaderos retos
15 Hipoacutetesis
A traveacutes de un de fuerza bruta como teacutecnica de criptoanaacutelisis y con la ayuda de una mayor
capacidad de procesamiento mediante la implementacioacuten de agrupamiento de computadoras
(cluacutester) de alto rendimiento seraacute posible encontrar alguna vulnerabilidad dentro del sistema de
administracioacuten de cuentas de seguridad de Windows server 2012
8
16 Alcances y Limitaciones
Esta tesis se centraraacute en el sistema operativo Windows como objeto de estudio al cual se
le realizaraacute el criptoanaacutelisis
La tesis se enfocaraacute en el meacutetodo Beowulf para realizar el agrupamiento de computadoras
asiacute como la distribucioacuten de software libre del sistema operativo Linux Rocks
El nuacutemero de equipos disponibles para poder realizar el agrupamiento es de 17
computadoras hasta lograr el poder de coacutemputo de 800 Gflops
17 Impacto Social Tecnoloacutegico Econoacutemico y Ambiental
La sostenibilidad del presente proyecto seraacute abordada a partir de los siguientes aspectos
171 Impacto social A veces se puede pensar que un cluacutester de alto rendimiento pudiera
no tener alguacuten impacto directo en el medio social pero si nos enfocamos a un punto de vista en
donde gracias a la capacidad de procesamiento de estas maacutequinas han sido parte fundamental en
el desarrollo de proyectos que inciden de manera directa en beneficio de la sociedad en la que
vivimos como lo es la medicina la fiacutesica quiacutemica
Este proyecto busca beneficiar a nuestra sociedad proveyendo su capacidad de
procesamiento en la buacutesqueda de alguna vulnerabilidad en el sistema operativo maacutes utilizado hoy
en diacutea como lo es Windows ademaacutes de que estaraacute disponible para la comunidad cientiacutefica y
9
estudiantil del Instituto Tecnoloacutegico de Acapulco para optimizar tiempo de caacutelculo en futuras
investigaciones
172 Impacto ambiental Green IT tambieacuten conocido como Green Computing o
traducido al espantildeol como Tecnologiacuteas Informaacuteticas Verdes es definido como el estudio y la
praacutectica de disentildear desarrollar usar y disponer de computadoras servidores y diferentes
perifeacutericos tales como monitores impresoras dispositivos de almacenamiento de redes y
comunicaciones eficientemente y efectivamente con un impacto miacutenimo o nulo en el medio
ambiente (Murugesan 2008)
Bajo la premisa anterior este proyecto hace uso de los equipos con los que cuenta
actualmente el laboratorio de la Maestriacutea en Sistemas Computacionales lo cual evitaraacute la
adquisicioacuten de equipo nuevo y por consecuencia desechar el equipo existente evitando desperdicio
electroacutenico Dicho equipo cuenta con un procesador Intel I3 de 4ta generacioacuten lo cual seguacuten el
portal electroacutenico Europa press
ldquoEsta nueva generacioacuten supone el mayor salto en cuanto ahorro energeacutetico de la historia
de Intel asiacute como una mejora en los graacuteficos y nuevas experiencias de usuariordquo (europa press
2013)
Teniendo como base estos dos puntos importantes como lo son la reutilizacioacuten de equipo
y utilizando procesadores de bajo consumo energeacutetico es como este proyecto busca contribuir de
manera positiva con el medio ambiente
10
173 Impacto econoacutemico Actualmente existe una gran necesidad de procesar grandes
cantidades de datos lo cual hace imprescindible disponer de maacutequinas con estas caracteriacutesticas sin
embargo su alta complejidad aunado al gran costo hace que en instituciones de caraacutecter puacuteblico
sea muy complicado conseguir recurso para este fin Sin embargo un cluacutester de alto rendimiento
reutilizaraacute equipo propio evitando asiacute gastos por concepto de adquisicioacuten de equipo siendo de
esta manera viable para instituciones de caraacutecter puacuteblico
18 Metodologiacutea a Utilizar
181 Anaacutelisis Despueacutes de analizar las diferentes metodologiacuteas de clustering se optoacute por
desarrollar e implementar un cluacutester de alto rendimiento (HPC)
182 Disentildeo
1821 Economiacutea Debido a las caracteriacutesticas del equipo con el cual cuenta el Laboratorios
de la Maestriacutea en Sistemas Computacionales los componentes utilizados para este proyecto son
considerados de uso comuacuten y de bajo costo lo cual los hace faacutecilmente reemplazables en caso de
fallo a un costo accesible El equipo es de la marca Acer Aspire modelos AXC-605-M021 lo cual
nos hace tener ventaja y respaldo del fabricante con respecto a hardware geneacuterico
1822 Instalaciones Un cluacutester requiere de un ambiente controlado Esto es una
habitacioacuten especial con sistema de enfriamiento capacidad suficiente de carga eleacutectrica control
de humedad y un ambiente libre de polvo Ademaacutes se deben considerar el peso del equipo sobre
el piso (ya sea falso o piso normal) Se recomienda colocarlo en los soacutetanos o en la plata baja de
edificios (Rocha Quezada Botello Rionda Vargas Feacutelix amp Munguiacutea Torres 2011)
11
En el laboratorio de la Maestriacutea en Sistemas Computacionales se cuenta con espacio que
reuniacutea la mayoriacutea de las caracteriacutesticas requeridas para este proyecto
1823 Escalabilidad Un cluacutester debe ser faacutecilmente escalable y a su vez confiable Por
tal motivo se ha utilizado equipo de marca lo cual nos proporciona maacutes de confiabilidad en su
desempentildeo y a su vez facilidad de aumentar el nuacutemero de equipos si en un futuro fuese necesario
agrandar este proyecto Se armoacute un cluacutester de cinco computadoras con procesadores Intel Core I3
de 64 bits en cada nodo La memoria incluida y perifeacutericos son faacuteciles de adquirir en el mercado
1824 Red En la parte de redes se utilizoacute un switch fast Ethernet con una velocidad de 1
Gbps el cual tiene tazas de transferencia raacutepida y el costo es notablemente maacutes econoacutemico que
uno de fibra oacuteptica
El cableado seleccionado fue el estaacutendar UTP de cobre con la norma Gigabit Ethernet de
IEEE 8023ab con la categoriacutea de cableado 6e que soporta tazas de transferencia de datos de
1000Base T (1 Gbps)
1825 Software
ldquoEl sistema operativo debe constar con servicios dedicados para compartir y respaldar
archivos asiacute como capacidad de acceder a los datos de trabajo raacutepidamente El sistema operativo
debe tambieacuten proveer servicios de monitoreo y reporte de fallas en el sistemardquo (Rocha Quezada
Botello Rionda Vargas Feacutelix amp Munguiacutea Torres 2011)
12
Existe una gran variedad de software para instalar cluacutester de alto rendimiento sin embargo
como se ha comentado con anterioridad el costo de adquisicioacuten debe ser accesible por tal motivo
se optoacute por una distribucioacuten con licencia GNU de Linux Rocks Cluster la cual es una distribucioacuten
sencilla de instalar y configurar en comparacioacuten con otras distribuciones analizadas dicha
distribucioacuten estaacute basada en CentOS que a su vez estaacute basada en la conocida distribucioacuten de Linux
Red Hat
1826 Almacenamiento Para este proyecto no se requeriraacute un gran espacio de
almacenamiento por tal motivo los equipos utilizados tanto maestro como esclavos mantuvieron
sus unidades de disco originales las cuales son de 1 TB de almacenamiento
183 Implementacioacuten La implementacioacuten del cluacutester de alto rendimiento fue realizada
dentro de las instalaciones del Laboratorio de la Maestriacutea en Sistemas Computacionales del
Instituto Tecnoloacutegico de Acapulco construido inicialmente para este proyecto de criptoanaacutelisis lo
cual requeriraacute suficiente capacidad de procesamiento para poder implementar ataques de fuerza
bruta a sistemas operativos Las caracteriacutesticas del cluacutester construido son
1831 Software El software instalado en cada uno de los nodos es el siguiente
bull Sistema operativo Rocks Cluacutester Linux 74 (64 bits)
bull Libreriacutea de manejo de mensajes Open-MPI 153
bull Software de monitoreo Ganglia
13
1832 Hardware El cluacutester estaacute compuesto de 17 equipos con las siguientes
caracteriacutesticas
bull Nodo Maestro y 16 Nodos Esclavos
- Procesador Intel Core I3 4150 (4 nuacutecleos) Memoria 6 GB Disco Duro SATA 1 TB
tarjeta de Red Gigabit Ethernet
El hardware adicional es el siguiente
bull Interconexioacuten de Red
bull Switch Cisco 26 puertos 1Gbps modelo SG200 Red interna
1833 Recursos totales del cluacutester
bull Nuacutecleos de unidades de procesamiento (cores) 68
bull Capacidad en memoria 92 GB
bull Capacidad en disco 17 TB
19 Aseguramiento Teacutecnico ndash Material
A continuacioacuten se muestra el desglose del equipo utilizado para la elaboracioacuten de un
cluacutester de alto rendimiento estos componentes consisten en Hardware y Software especializado
asiacute como los costos de produccioacuten y personal involucrados en la metodologiacutea y elaboracioacuten del
proyecto
Costos de Hardware
Costos de Software
14
191 Hardware En este punto se refleja el costo de los dispositivos y herramientas a nivel
fiacutesico las cuales sirvieron para la implementacioacuten del proyecto cluacutester de alto rendimiento Cabe
resaltar que el equipo utilizado forma parte del inventario actual del Laboratorio motivo por el
cual su utilizacioacuten no causoacute erogacioacuten alguna sin embargo la investigacioacuten de costos se realizoacute
con la finalidad que el lector pueda establecer comparativas y buscar alternativas en caso de ajuste
de presupuesto
1911 Equipo de coacutemputo El equipo de coacutemputo utilizado consta de diecisiete
computadoras las cuales serviraacuten una para Nodo Maestro y las dieciseacuteis restantes como Nodos
Esclavos
La descripcioacuten de estos equipos se muestra en la tabla a continuacioacuten mostrando los costos
de todos los equipos utilizados dentro del proyecto
15
Tabla 11 Costo del Proyecto
Modelo
Cantidad
Caracteriacutesticas
Costos
PC - Acer AXC-
605
17
Procesador Intel Core i3
Pantalla 156rdquo
Disco duro 1TB HDD
RAM 6GB
Salida HDMI
Tarjeta de graacuteficos INTEGRADA
Lector de CD
Los costos en el mercado de una PC de
escritorio con estas caracteriacutesticas tiene un
valor aproximado de $600000 pesos
(Moneda nacional Mexicana)
Switch Cisco
Gigabit Ethernet
1
Modelo SG200 de 26 puertos
Costo en el mercado alrededor de
$2000000 pesos MN
Total
12200000 pesos MN
16
Capiacutetulo 2 Estado del Arte
Tiacutetulo del Trabajo Introduccioacuten a la Criptografiacutea
Autor Gibraacuten Granados Paredes
Fecha Julio 2010
Lugar Ciudad de Meacutexico
Publicado en Coordinacioacuten de Publicaciones Digitales DGSCA-UNAM
httpwwwrevistaunammxvol7num7art55int55htm
Siacutentesis Cuando se desea tener seguridad hablando en aacutembitos informaacuteticos la
criptografiacutea es una herramienta muy uacutetil el autor lo entiende tambieacuten como un medio para
garantizar las propiedades de confidencialidad integridad y disponibilidad de los recursos de un
sistema
Con la criptografiacutea se puede garantizar las propiedades de integridad y confidencialidad
pero hay que saber coacutemo utilizarla para ello es importante tener claros los conceptos baacutesicos que
estaacuten detraacutes de los sistemas criptograacuteficos modernos Estos conceptos van desde entender queacute es
la criptografiacutea coacutemo estaacute clasificada entender el funcionamiento baacutesico de algunos sistemas de
cifrado y conocer coacutemo se forman los documentos digitales como firmas y sobres digitales
Resultados El autor realiza un viaje por un gran nuacutemero de conceptos utilizados en
criptografiacutea el inicio y la clasificacioacuten de la misma asiacute como la criptografiacutea claacutesica y moderna y
analiza de manera breve algunos meacutetodos de cifrado maacutes comunes
17
Tiacutetulo del Trabajo Criptoanaacutelisis sobre meacutetodos claacutesicos de cifrado
Autores Sebastiaacuten Goacutemez Juan David Arias Diego Agudelo
Fecha 2 de mayo 2013
Lugar Ciudad de Meacutexico
Publicado en Scientia et Technica Antildeo XVII No 50 abril de 2012
Siacutentesis Los algoritmos criptograacuteficos utilizados desde la antigua Roma hasta nuestros
diacuteas son meacutetodos que convierten un mensaje de texto plano a cifrado al proceso inverso se le
conoce como descifrar Este artiacuteculo realiza un estudio de algunas teacutecnicas de encriptacioacuten claacutesicas
del siglo pasado como lo son el cifrado de Cesar y el cifrado de Vigeneacutere asiacute como muestra
teacutecnicas baacutesicas y modernas de criptoanaacutelisis basadas en la teoriacutea de la informacioacuten y estadiacutestica
como lo son la entropiacutea y el ataque de maacutexima correlacioacuten Las teacutecnicas de criptoanaacutelisis descritas
anteriormente pueden ser usadas en otros meacutetodos de cifrado siempre y cuando esteacuten presentes las
mismas debilidades
Resultados Los autores implementaron en lenguajes de programacioacuten Python un
algoritmo para el caacutelculo de entropiacutea para diferentes longitudes de clave Para la implementacioacuten
de los algoritmos de cifrado y descifrado de Vigeneacutere y de maacutexima correlacioacuten utilizaron lenguaje
de programacioacuten C++ Se probaron los meacutetodos anteriormente descritos sobre textos planos de
diferentes longitudes logrando un resultado de 9385 de efectividad en promedio
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de dos de los
algoritmos de encriptacioacuten maacutes antiguos y baacutesicos pero sobre todo que conociendo los meacutetodos
de criptoanaacutelisis me permitiraacuten analizar debilidades y fortalezas de algoritmos
18
Tiacutetulo del Trabajo ULTRACOM Computacioacuten de Alto Rendimiento para Criptoanaacutelisis
Autor Antonio Castro Lechtaler Alejandro Repetto Martiacuten Bianchi Marcelo Cipriano
Alejandro Arroyo Arzubi Ceacutesar Cicerchia Eduardo Malvacio
Fecha octubre 2014
Lugar Buenos Aires Argentina
Publicado en XX Congreso Argentino de Ciencias de la Computacioacuten (Buenos Aires
2014)
Siacutentesis La generacioacuten de nuacutemeros primos fundamentales para la produccioacuten de claves
el anaacutelisis de secuencias pseudo-aleatorias los procesos de verificacioacuten y validacioacuten de algoritmos
de seguridad en un sentido geneacuterico requieren enormes cantidades de procesamiento Los
procesos relacionados con la matemaacutetica criptograacutefica se caracterizan por la alta necesidad de
coacutemputo El objetivo de ULTRACOM es desarrollar una computacioacuten distribuida multipropoacutesito
que permita como primera aplicacioacuten real el anaacutelisis la validacioacuten y la ejecucioacuten de pruebas de
estreacutes sobre sistemas criptograacuteficos El presente trabajo de investigacioacuten detalla el proceso de
desarrollo de ULTRACOM y muestra un ejemplo de su implementacioacuten en una versioacuten Beta Para
ello toman como entrada dos versiones del algoritmo Trivium Utilizando la misma
infraestructura y sin desarrollo extra se prueban grandes voluacutemenes de claves y vectores de
inicializacioacuten de los algoritmos en busca de secuencias deacutebiles de menor longitud que la de la
buscada
Resultados El equipo implementoacute una versioacuten beta de la plataforma ULTRACOM
comprobando la factibilidad y viabilidad teacutecnica de la generalizacioacuten de la infraestructura de
computacioacuten distribuida en grilla (malla) BOINC Este avance permite extender los horizontes de
BOINC y habilita la posibilidad de obtener la capacidad de coacutemputo de alto rendimiento a bajo
19
costo Concluyeron que ULTRACOM es un proyecto viable escalable y de alto impacto para la
evaluacioacuten y validacioacuten de algoritmos criptograacuteficos
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento y la
implementacioacuten de una arquitectura de computacioacuten distribuida y una vez siendo factible su
desarrollo utilizar su poder de coacutemputo atacando a traveacutes de un algoritmo un sistema criptograacutefico
20
Tiacutetulo del Trabajo Criptografiacutea Cuaacutentica
Autor M Baig
Fecha 2010
Lugar Barcelona Espantildea
Siacutentesis En este artiacuteculo el autor realiza una breve introduccioacuten a la criptografiacutea claacutesica y
la relacioacuten que existe con la teoriacutea de la informacioacuten de Shannon la cual asegura que el cifrado
digital simeacutetrico es secreto y perfecto siempre y cuando se cumplan los tres requisitos
1 La llave ha de ser aleatoria
2 La llave debe usarse soacutelo una vez
3 La llave ha de ser tan larga como el mensaje y de un solo uso debe de estar en posesioacuten
tanto del emisor como del receptor
El punto 3 es el maacutes complicado de cumplir debido a la forma de compartir la llave entre
el emisor y receptor
Maacutes adelante en el artiacuteculo se hace un anaacutelisis sobre otra teacutecnica de criptografiacutea que es el
cifrado digital asimeacutetrico en la que se estudia coacutemo funcionan las llaves privadas y puacuteblicas asiacute
como el meacutetodo de criptograacutefico RSA
Resultados
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento maacutes profundo de
los meacutetodos de criptografiacutea simeacutetricos y asimeacutetricos especiacuteficamente el algoritmo asimeacutetrico
RSA
21
Tiacutetulo del Trabajo La Criptografiacutea Maderista en la Revolucioacuten Mexicana (1910-1911)
Criptoanaacutelisis de una carta cifrada por Gabriel Leyva Solano
Autor Roberto Narvaacuteez
Fecha 2011
Lugar Meacutexico DF
Siacutentesis Este trabajo aborda temas relacionados con las comunicaciones secretas del
movimiento revolucionario comandado por Francisco I Madero a partir de 1910 Se compone de
dos partes la primera es una breve resentildea criacutetica de ejemplos criptograacuteficos del maderismo que
fueron generados entre 1910 y 1911 la segunda describe paso a paso el criptoanaacutelisis que aplicoacute
el autor Roberto Narvaacuteez para desencriptar una carta parcialmente cifrada de Gabriel Leyva Solano
a Francisco I Madero
Resultados El propoacutesito general uacuteltimo es contribuir al conocimiento de la criptografiacutea
mexicana en el siglo XX En lo particular se trata de poner a disposicioacuten de los estudiosos el
contenido completo de la carta de Leyva Solano por primera vez despueacutes de 100 antildeos y al mismo
tiempo someter a la criacutetica teacutecnica e histoacuterica el procedimiento criptoanaliacutetico puesto en operacioacuten
para recuperar el texto plano
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de la teacutecnicas y
estudios realizados en nuestro paiacutes sobre formas y meacutetodos de encriptacioacuten durante la Revolucioacuten
Mexicana incluso mucho antes de la 2ordf Guerra mundial momento donde se registroacute un auge
importante dentro de la criptografiacutea moderna
22
Tiacutetulo de Tesis Anaacutelisis de la programacioacuten concurrente sobre la cpu y gpu en el
desarrollo de fractal build
Autor Joseacute Vicente Anilema Guadalupe
Fecha 2012
Lugar Riobamba Ecuador
Siacutentesis Este trabajo aborda temas relacionados con la geometriacutea euclidiana debido a que
el autor realiza una aplicacioacuten que crea paisajes fractales lo que significa crear un paisaje con una
misma figura geomeacutetrica Lo anterior se traduce en una necesidad de gran poder de coacutemputo para
realizar de una manera eficaz la tarea Dentro de la tesis el autor realiza diversos estudios
comparativos entre el procesamiento serializado realizado por una CPU (unidad central de
procesamiento) y procesamiento paralelizado realizado por una GPU (Unidad grafica de
procesamiento) a traveacutes de diversas herramientas para obtener el mejor aprovechamiento de los
recursos
Resultados El autor concluye que es necesario examinar los algoritmos a utilizar para que
estos puedan ser utilizados en coacutemputo paralelo Ademaacutes de que es necesario aprender ciertas
herramientas a utilizar para aprovechar al maacuteximo el coacutemputo distribuido y no desperdiciar el
poder de procesamiento muy superior que las GPUrsquos nos pueden brindar
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de la teacutecnicas y
estudios realizados para medir y comparar la velocidad de procesamiento de la unidad central de
procesamiento (CPU) y la unidad graacutefica de procesamiento (GPU) Asiacute como la medida en Flops
(Operaciones de punto flotante por segundo)
23
Tiacutetulo del Trabajo Arquitectura cluacutester de alto rendimiento utilizando herramientas de
software libre
Autores Leonardo Chiquiguanca Edyson Malla Freddy Ajila Rene Guamaacuten-Quincheacute
Fecha mayo 2015
Lugar Loja Ecuador
Siacutentesis Este trabajo aborda temas relacionados con la gran cantidad de datos que tienen
que procesar las universidades puacuteblicas dentro de sus investigaciones realizadas en diferentes aacutereas
como la ingenieriacutea medicina etc y la carencia de recursos econoacutemicos para obtener
supercomputadoras que procesen dicha informacioacuten Los autores proponen dentro de su
investigacioacuten la utilizacioacuten de equipo de coacutemputo existente dentro de su universidad y por medio
de software libre realizar agrupamiento de computadoras para poder lograr el procesamiento de
grandes voluacutemenes de datos de una manera accesible
Resultados Los autores concluyen que la mejor arquitectura para el agrupamiento
(cluacutester) de computadoras en ambientes universitarios es la arquitectura Beowulf debido a que la
implementaron en hardware convencional existente dentro de su campus universitario y que
ademaacutes usaron software libre mencionando que el poder de coacutemputo logrado fue muy cercano al
de una supercomputadora
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de las teacutecnicas
utilizadas en ambientes universitarios para la realizacioacuten de agrupamiento de computadoras y
sobre todo la optimizacioacuten de costos para realizar dicha tarea y tener como finalidad el lograr
mayor capacidad de procesamiento
24
Tiacutetulo de Tesis Desarrollo de un algoritmo de cifrado simeacutetrico de resumen
Autores Jonathan Dave Orjuela Navarrete
Antildeo 2008
Lugar Bogotaacute DC
Siacutentesis Esta tesis realiza un estudio de varios meacutetodos de criptografiacutea simeacutetrica para
posteriormente utilizando diferentes foacutermulas matemaacuteticas crear un algoritmo criptograacutefico
nuevo Dentro de la tesis utiliza dos meacutetodos para realizar pruebas a su algoritmo criptoanaacutelisis
diferencial y criptoanaacutelisis basado en fallos de hardware Dentro de los cuales hace un estudio
detallado de las teacutecnicas y herramientas de criptoanaacutelisis realizado a su algoritmo
Resultados El autor concluye de manera positiva con la realizacioacuten del algoritmo y de
manera satisfactoria con la realizacioacuten de criptoanaacutelisis a su algoritmo pudiendo demostrar la
fortaleza del algoritmo a traveacutes de ejemplo de cifrado con textos claro muy parecido y su
conversioacuten a cadenas completamente diferentes
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de criptoanaacutelisis diferencial y criptoanaacutelisis basado en fallos de hardware para la
evaluacioacuten de algoritmos de cifrado simeacutetrico de textos claros
25
Tiacutetulo del Trabajo Firt step in a Pc cluster development with openMosix
Autores Javier Bilbao Gorka Garate
Antildeo 2008
Lugar Bilbao Spain
Siacutentesis En este trabajo se afirma que es posible hacer maacutequinas de alta capacidad de
caacutelculo mediante la interconexioacuten de equipos con redes de alta velocidad A este tipo de sistemas
se les llama sistemas distribuidos y hoy en diacutea es la tecnologiacutea maacutes utilizada para resolver
problemas que requieren una gran capacidad de caacutelculo La agrupacioacuten de computadoras permite
que varias computadoras trabajen juntas para resolver los problemas de informaacutetica comuacuten Este
artiacuteculo centra su estudio en uno de los diferentes meacutetodos de agrupamiento de computadoras
openMosix El trabajo tambieacuten evaluacutea el cluacutester por dos casos de estudio donde se mejora el
tiempo de ejecucioacuten de los problemas resueltos
Resultados El autor del artiacuteculo concluye con la realizacioacuten satisfactoria de agrupamiento
de computadoras bajo el meacutetodo openMosix el cual uacutenicamente permite agrupamiento de la forma
SSI (Single System Image) que se refiere a que uacutenicamente se puede realizar el agrupamiento con
todos los nodos ejecutando un mismo sistema operativo
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de agrupamiento de computadoras openMosix ventajas desventajas y dificultades para
su implementacioacuten
26
Tiacutetulo del Trabajo Disentildeo e implementacioacuten de un cluacutester tipo Beowulf para el desarrollo
de coacutemputo cientiacutefico avanzado
Autores Edgar Rubeacuten Gonzaacutelez Ramiacuterez Abimael Rodriacuteguez Saacutenchez
Antildeo 2008
Lugar Instituto Politeacutecnico Nacional Meacutexico DF
Siacutentesis Este trabajo de tesis ha desarrollado e implementado una herramienta
computacional llamada Cluster Beowulf para mejorar la programacioacuten paralela Comenzando
con la memoria compartida y distribuida el autor implemento el agrupamiento tipo Beowulf
pensando en procesamiento paralelo la optimizacioacuten de las fuentes informaacuteticas El disentildeo se
construye mediante una distribucioacuten Linux Fedora Core 6 a 64 bits utilizando todas las ventajas
que ofrece el estaacutendar Gigabyt Ethernet La programacioacuten paralela fue desarrollada en lenguaje C
tanto para MPI como para OPENMP
Resultados El autor del artiacuteculo concluye que de acuerdo con los resultados el tiempo
de procesamiento se redujo con el uso muacuteltiples nuacutecleos mejoroacute hasta ocho veces gracias al
multihilo
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de agrupamiento de computadoras Beowulf y su implementacioacuten en sistemas operativos
de uso libre Linux distribucioacuten Fedora 6
27
Marco Teoacuterico
21 Seguridad de la Informacioacuten
La Seguridad de la Informacioacuten consiste y hace referencia a la proteccioacuten de cualquier
amenaza para salvaguardar los activos fijos y en especial toda informacioacuten de la cual estaacute basada
la continuidad de las operaciones de la empresa sean estas ocasionadas dentro o fuera de la misma
con esto se logra disminuir los dantildeos y perjuicios que estas amenazas causariacutean a la organizacioacuten
y a la vez aumentar las oportunidades de servicio hacia otras empresas
La Seguridad de la informacioacuten se consigue mediante la implementacioacuten de controles
efectivos que pueden ser normas manual de funciones buenas praacutecticas procedimientos
estructuras organizativas funciones de software y hardware planes de contingencia y herramientas
que se encargan de proteger la privacidad e integridad de la informacioacuten que se almacena en un
sistema informaacutetico Estos controles necesitan continuamente ser establecidos monitoreados
revisados y mejorados en donde sea necesario para asegurar que se cumplan los objetivos
especiacuteficos de seguridad en cada aacuterea de negocio de la organizacioacuten
La seguridad informaacutetica es en realidad una rama de la seguridad de la informacioacuten aunque
de forma praacutectica algunos autores suelen utilizar de manera indistinta ambos teacuterminos
211 Objetivo de la seguridad de la informacioacuten En la seguridad de la informacioacuten
sabiendo que dichos procesos de seguridad permiten proteger el recurso maacutes importante y valioso
de una organizacioacuten partiendo como principio fundamental los procesos de aseguramiento el
28
objetivo del proceso de seguridad informaacutetica es obtener un nivel aceptable de seguridad ya que
la informacioacuten es lo maacutes valioso que tiene una institucioacuten o empresa por lo tanto esta debe ser
protegida para que no sea vulnerable y utilizada para fines maliciosos
212 Principios de la seguridad informaacutetica
Confidencialidad Los datos solo deben ser conocidos y accedidos por quienes esteacuten
autorizados durante su almacenamiento procesamiento o trasmisioacuten Verificar y certificar que solo
los usuarios con accesos autorizados puedan acceder a la informacioacuten
Integridad Los datos solo pueden ser modificados y eliminados por quienes esteacuten
autorizados para ello es decir los sistemas y aplicaciones solo deben ser operados por personal
autorizado
Disponibilidad Los sistemas que almacenan datos e informacioacuten deben garantizar su
acceso cuando asiacute se requiera por quienes tengan derecho a ello
213 Caracteriacutesticas de seguridad informaacutetica
Control Solo los usuarios autorizados deciden cuaacutendo y coacutemo permitir el acceso a la
informacioacuten
Auditoriacutea Establece las acciones cuaacutendo las implementa y quieacuten las realiza sobre el
sistema
Autenticidad Define que la informacioacuten necesaria es correcta utilizable y vaacutelida en tiempo
y forma
No Repudio Su funcioacuten es evitar que alguna entidad que envioacute o recibioacute informacioacuten
alegue que no lo hizo
29
214 Formas de Autenticacioacuten
Contrasentildea Una contrasentildea es un tipo de seguridad informaacutetica ya que es una serie de
caracteres secretos que permiten a un usuario tener acceso a un archivo equipo de coacutemputo o
programa y negar el acceso a usuarios no autorizados
Certificado digital Es un tipo de seguridad informaacutetica que permite la firma digital
electroacutenica que garantiza teacutecnica y legalmente la identidad de una persona en Internet
Autenticacioacuten HTTP Tipo de seguridad informaacutetica que delega la autenticacioacuten de
usuarios a un servidor a traveacutes de Kerberos
215 Ciber-seguridad Con los avances tecnoloacutegicos y la demanda que ha causado en ello
existe un elevado iacutendice de informacioacuten personal y empresarial que circula y se mantiene en la red
por la utilizacioacuten del internet esto permite que toda informacioacuten quede expuesta a cualquier ataque
de ciber-delincuentes los cuales buscan la manera de vulnerar cualquier sistema para espiar robar
informacioacuten o hacer dantildeo de cualquier tipo por lo que se ha visto la necesidad de tomar medidas
de seguridad para salvaguardar la informacioacuten ya que es muy importante
La ciberseguridad es la proteccioacuten de los sistemas conectados a Internet incluidos el
hardware el software y los datos de los ciberataques En un contexto informaacutetico la seguridad
comprende la ciberseguridad y la seguridad fiacutesica ambas son utilizadas por las empresas para
proteger contra el acceso no autorizado a los centros de datos y otros sistemas de coacutemputo El
objetivo de la ciberseguridad es limitar el riesgo y proteger los activos de Tecnologiacuteas de
Informacioacuten de los atacantes con intenciones maliciosas La seguridad de la informacioacuten estaacute
30
disentildeada para mantener la confidencialidad integridad y disponibilidad de los datos es un
subconjunto de la ciberseguridad
22 Criptografiacutea
La Criptografiacutea tambieacuten llamada ldquoescritura ocultardquo tradicionalmente en el aacutembito de
criptografiacutea es donde se ocupan las teacutecnicas de cifrado o codificacioacuten que permiten alterar el
contenido de cierta informacioacuten o mensajes con el fin de hacerlos ininteligibles a receptores o
personas no autorizadas (Meneacutendez-Barzanallana 17)
Actualmente la criptografiacutea se encarga de analizar algoritmos protocolos y sistemas que
son utilizados para proveer seguridad a las comunicaciones informacioacuten y a las entidades que se
comunican entre siacute
221 Tipos de Criptografiacuteas
2211 Tablas Hash Un hash o funcioacuten hash toma un grupo de caracteres (llamado clave)
y lo asigna a un valor de cierta longitud (llamado valor hash o hash) El valor hash es representativo
de la cadena de caracteres original pero normalmente es maacutes pequentildeo que el original
El hash tambieacuten es utilizado en el cifrado y descifrado de firmas digitales La funcioacuten hash
transforma la firma digital luego tanto el valor hash como la firma se enviacutean al receptor El
receptor utiliza la misma funcioacuten hash para generar el valor hash y luego lo compara con el recibido
31
en el mensaje Si los valores hash son los mismos es probable que el mensaje se haya transmitido
sin errores
Un ejemplo de una funcioacuten hash se llama plegado(folding) Esta toma un valor original lo
divide en varias partes luego agrega las partes y usa los uacuteltimos cuatro diacutegitos restantes como
valor o clave hash
2212 Tipos de algoritmos Hash
22121 SHA - 1 (Secure Hash Algorithm) Es un algoritmo criptograacutefico de Hash
publicado por el gobierno de los Estados Unidos Genera un valor Hash de 160 bits a partir de una
secuencia de longitud arbitraria Es considerado lo suficientemente seguro para aplicaciones
praacutecticas pero hay disponibles versiones maacutes robustas SHA - 256 SHA - 384 y SHA - 512 que
generan valores Hash de 256 384 y 512 bits respectivamente estas versiones reemplazaraacuten a SHA
- 1 mientras se siga trabajando sobre ellas (Borghello 2009)
22122 MD5 (Message Digest Algorithm) En criptografiacutea MD5 es una funcioacuten hash
criptograacutefica ampliamente utilizada con un valor hash de 128 bits Como estaacutendar de Internet (RFC
1321) MD5 se ha empleado en una amplia variedad de aplicaciones de seguridad y tambieacuten se
usa comuacutenmente para verificar la integridad de los archivos Un hash MD5 generalmente se
expresa como un nuacutemero hexadecimal de 32 diacutegitos
MD5 es una versioacuten reforzada de MD4 Al igual que MD4 el hash MD5 fue inventado por
el profesor Ronald Rivest del Massachusetts Institute of Technology (MIT) Ademaacutes MD5 se
32
utilizoacute como modelo para SHA-1 ya que comparten muchas caracteriacutesticas comunes MD5 y
SHA-1 son los dos algoritmos hash maacutes utilizados en la actualidad aunque el uso de MD5 ha
disminuido ya que ahora se considera roto (Borghello 2009)
22123 RIPEMD ndash 160 Es una funcioacuten hash criptograacutefica basada en la construccioacuten
Merkle-Damgaringrd (MD) Se usa en el estaacutendar de Bitcoin Es una versioacuten reforzada del algoritmo
RIPEMD que produce un resumen de hash de 128 bits mientras que el algoritmo RIPEMD-160
produce una salida de 160 bits La funcioacuten de compresioacuten consta de 80 etapas formadas por 5
bloques que se ejecutan 16 veces cada uno Este patroacuten se ejecuta dos veces con los resultados
combinados en la parte inferior utilizando la adicioacuten del moacutedulo 32 (Borghello 2009)
22124 Funcioacuten Merkle-Damgaringrd La construccioacuten MD es una metodologiacutea para crear
funciones hash resistentes a colisiones a partir de funciones de compresioacuten unidireccionales Ralph
Merkle la propuso en el antildeo de 1979 en ldquoA certified Digital Signaturerdquo posterior a este estudio
Ivan Damgaringrd demostroacute de manera independiente que la estructura era soacutelida (Merkle amp
Damgaringrd sf)
2213 Cifrado simeacutetrico Los cifrados simeacutetricos son los cifrados criptograacuteficos maacutes
antiguos y maacutes utilizados En un cifrado simeacutetrico la clave que descifra el texto cifrado es la
misma (o puede derivarse faacutecilmente) de la clave que cifra el texto claro Esta clave a menudo se
conoce como la clave secreta Los cifrados simeacutetricos maacutes utilizados son DES y AES
La problemaacutetica que surge es la seguridad de la clave
33
El emisor cifra el mensaje con una clave
Enviacutea el mensaje cifrado de tal manera que nadie puede descifrarlo sin dicha clave
El receptor obtiene la clave y entonces puede descifrar el mensaje con la misma clave
que recibioacute del emisor
Algunos algoritmos de este tipo son
22131 RC5 (Cifrado de Rivest) Es un algoritmo de cifrado de bloque de clave simeacutetrica
disentildeado por Ron Rivest en 1994 Se destaca por ser simple raacutepido (debido a que usa solo
operaciones de coacutemputo primitivas como XOR o shift) y ademaacutes por consumir menos memoria
RC5 es un cifrado de bloques y aborda dos bloques de palabras a la vez Dependiendo del
tamantildeo del bloque de texto sin formato nuacutemero de rondas y tamantildeo de clave se pueden definir
varias instancias de RC5 y cada instancia se denota como RC5-w r b donde w = tamantildeo de
palabra en bits r = nuacutemero de rondas y b = tamantildeo de la clave en bytes (Pawar 2016)
Como se ha mencionado RC5 utiliza bloques de 2 palabras el tamantildeo del bloque de texto
sin formato puede ser de 32 64 o 128 bits
22132 IDEA (International Data Encryption Algorithm) Baacutesicamente es un algoritmo
de cifrado de bloque simeacutetrico El algoritmo asimeacutetrico utiliza la misma clave para el cifrado y
descifrado Un cifrado de bloque divide el mensaje en bloques cada uno de una longitud fija y
luego cifra cada bloque de forma independiente
34
El tamantildeo de bloque tiacutepico es de 16 bytes de 128 bits Un cifrado de bloque generalmente
operaraacute en bloques o rondas donde se aplica parte de la clave a la ronda Despueacutes de un cierto
nuacutemero de rondas digamos entre 10 y 16 se termina con el texto cifrado para ese bloque
El bloque de texto cifrado tiene exactamente el mismo tamantildeo que el bloque de texto sin
formato 16 bytes Para cada ronda se trabaja en el bloque utilizando una parte de la clave de
cifrado a la que se le llama la clave redonda Muacuteltiples claves redondas se derivan de la clave de
cifrado utilizando para esto un programa de claves
La programacioacuten de claves es un algoritmo que cambia XOR multiplica y realiza otros
tipos de operaciones en la clave de cifrado original para obtener estas claves redondas Bueno si
tengo un bloque de 16 bytes y tengo una clave de 128 bits que tambieacuten es de 16 bytes (Educba
2019)
22133 DES (Data Encryption Standard) El algoritmo DES es el algoritmo de seguridad
maacutes popular Es un algoritmo simeacutetrico lo que significa que se utilizan las mismas claves para
cifrar descifrar datos confidenciales La longitud de la clave es de 8 bytes (64 bits) Entonces
para cifrar descifrar datos el algoritmo DES utiliza una clave de 8 bytes pero 1 byte (8 bits) para
la verificacioacuten de paridad Es un algoritmo de cifrado de bloque por lo tanto el tamantildeo del bloque
de datos del algoritmo DES es de 64 bits Para cifrar descifrar datos el algoritmo DES utiliza la
estructura Feistel Entonces utiliza una ronda para cifrar descifrar datos Aunque el tamantildeo del
35
bloque de datos es de 64 bits el nuacutemero de rondas seraacute de 16 rondas asiacute mismo utilizaraacute diferentes
subclaves para cada ronda por lo tanto el nuacutemero de subclaves seraacute de 16 subclaves
Como se puede observar la clave efectiva es de 56 bits por consiguiente se tiene 256
combinaciones posibles por lo que la fuerza bruta se hace casi imposible (Sanjoy 2015)
2214 Cifrado asimeacutetrico Los cifrados asimeacutetricos tambieacuten se conocen como cifrados
con claves puacuteblicas y privadas Usan dos claves una para el cifrado de mensajes y la otra durante
el descifrado
Un intruso puede encriptar cualquier mensaje usando la clave puacuteblica conocida Los
cifrados asimeacutetricos son por lo tanto vulnerables a los ataques de texto sin formato Los cifrados
con encriptacioacuten de clave puacuteblica deben proporcionar seguridad contra tales ataques Despueacutes de
encriptar dos mensajes con la misma clave puacuteblica el intruso no puede distinguir queacute texto cifrado
estaacute conectado con queacute texto plano Ademaacutes un observador que analiza dos mensajes encriptados
usando el mismo algoritmo y la misma clave puacuteblica no puede distinguir sus textos cifrados
(Kowalczyk 2015)
Los cifrados asimeacutetricos son mucho maacutes lentos que los cifrados simeacutetricos (generalmente
mil veces maacutes lentos) Es una praacutectica comuacuten usar el cifrado de clave puacuteblica solo para establecer
la conexioacuten segura y negociar la nueva clave secreta que luego se utilizaraacute para proteger la
comunicacioacuten mediante cifrado simeacutetrico Ejemplos de este cifrado son
36
22141 DSA (Digital Signature Algorithm - Algoritmo de Firma digital) Es un estaacutendar
del Gobierno Federal de los Estados Unidos para firmas digitales Fue propuesto por el Instituto
Nacional de Estaacutendares y Tecnologiacutea (NIST) en agosto de 1991 para ser usado en su Estaacutendar de
Firma Digital (DSS) en el antildeo de 1993
La primera parte del algoritmo DSA es la generacioacuten de clave puacuteblica y clave privada que
puede describirse como
Se elige un nuacutemero primo q que se llama divisor primo
Se elige otro nuacutemero primo p de modo que pndash1 mod q = 0 p seraacute llamado moacutedulo
primo
Ahora se elige un nuacutemero entero g tal que 1 ltg ltp g q mod p = 1 g = h ((p
ndash 1) q) mod p q tambieacuten se llama moacutedulo de orden multiplicativo de g moacutedulo p
Se elige un nuacutemero entero tal que 0 ltx ltq
Se calcula y como g x mod p
Se empaqueta la clave puacuteblica como p q g y
Por uacuteltimo se empaqueta la clave privada como p q g x
La segunda parte del algoritmo DSA es la generacioacuten de firma y la verificacioacuten de firma
Para generar una firma de mensaje el remitente puede seguir estos pasos
Se genera el resumen del mensaje h utilizando un algoritmo hash como SHA1
Se genera un nuacutemero aleatorio k tal que 0 ltk ltq
37
Se calcula r como (g k mod p) mod q Si r = 0 seleccione una k diferente
Ahora se calcula i de modo que k i mod q = 1 i se llama el inverso multiplicativo modular
de k moacutedulo q
Se calcula s = i (h + r x) mod q Si s = 0 se selecciona una k diferente
Por uacuteltimo se empaqueta la firma digital como r s (Yang 2019)
22142 RSA Encriptacioacuten RSA encriptacioacuten Rivest-Shamir-Adleman tipo de
criptografiacutea de clave puacuteblica ampliamente utilizada para la encriptacioacuten de datos de correo
electroacutenico y otras transacciones digitales a traveacutes de Internet RSA lleva el nombre de sus
inventores Ronald L Rivest Adi Shamir y Leonard M Adleman quienes lo crearon mientras
trabajaban en la facultad del Instituto Tecnoloacutegico de Massachusetts (Simmons 2019)
En el sistema RSA un usuario elige de manera secreta un par de nuacutemeros primos p y q tan
grandes que factorizar el producto n = pq estaacute mucho maacutes allaacute de las capacidades informaacuteticas
proyectadas para la vida uacutetil de los cifrados A partir del antildeo 2000 los estaacutendares de seguridad del
gobierno de EE UU exigen que el moacutedulo tenga un tamantildeo de 1024 bits es decir p y q deben
tener un tamantildeo de aproximadamente 155 diacutegitos decimales por lo que n es aproximadamente un
nuacutemero de 310 diacutegitos Dado que los nuacutemeros duros maacutes grandes que actualmente se pueden
factorizar son solo la mitad de este tamantildeo y dado que la dificultad de factorizar se duplica
aproximadamente por cada tres diacutegitos adicionales en el moacutedulo se cree que los moacutedulos de 310
diacutegitos estaacuten a salvo de factorizar durante varias deacutecadas
38
2215 Cifrado hiacutebrido Es una teacutecnica comuacuten que combina diferentes funciones
criptograacuteficas como el cifrado de bloque Con el cifrado hiacutebrido se pueden cifrar datos firmarlos
o agregar un MAC y enviarlos en un objeto seguro (como una cadena o archivo) a traveacutes de un
canal de comunicacioacuten inseguro (sin un acuerdo clave entre dos partes)
En el sistema de cifrado hiacutebrido el texto plano (sin formato) se divide en tokens Luego
se calcula la longitud de cada ficha Los tokens y sus longitudes se almacenan en una matriz
Posteriormente se aplica el algoritmo Ceacutesar anidado sugerido El texto producido se almacena en
una matriz n x m llamada A Luego la transposicioacuten de esta matriz At se calcula utilizando
nuestra versioacuten revisada del cifrado de transposicioacuten para resolver el problema de secuenciacioacuten
A continuacioacuten el algoritmo RSA revisado se aplica en la matriz producida En el paso final se
aplica el formato de datos textuales usando el coacutedigo ASCII para producir el texto cifrado El
proceso de descifrado se realiza de la misma manera pero en orden inverso (Nahar amp Abu Abbas
2010)
23 Criptoanaacutelisis
El criptoanaacutelisis es el proceso de estudiar sistemas criptograacuteficos para buscar debilidades
o fugas de informacioacuten En general se considera que el criptoanaacutelisis explora las debilidades de
las matemaacuteticas subyacentes de un sistema criptograacutefico pero tambieacuten incluye la buacutesqueda de
debilidades en la implementacioacuten como ataques de canal lateral o entradas de entropiacutea deacutebiles
39
Su funcioacuten es la de conseguir obtener el significado de mensajes creados por medio de
criptografiacutea El objetivo principal del criptoanaacutelisis es opuesto al de la criptografiacutea Tiene como
finalidad encontrar la debilidad de las diferentes teacutecnicas criptograacuteficas para explotarla y de esta
manera reducir o eliminar la seguridad de la teacutecnica criptograacutefica Cualquier intento de
criptoanaacutelisis puede ser llamado ataque Una vez que un atacante logra romper la seguridad que
una teacutecnica criptograacutefica aportaba al sistema se dice que dicho sistema ha sido roto y por lo tanto
dicho ataque tuvo eacutexito
El criptoanaacutelisis es la investigacioacuten de sistemas texto cifrado y cifrados para revelar el
significado oculto o los detalles del sistema mismo El objetivo de este tipo de estudio es descubrir
los aspectos ocultos incluso si la clave o el algoritmo principal no se pueden descifrar Se necesita
una combinacioacuten exitosa de persistencia matemaacuteticas intuicioacuten curiosidad y una computadora
que funcione para hacer un buen criptoanalista Este tipo de ruptura de coacutedigo es extremadamente
importante especialmente en el mundo tecnoloacutegicamente dependiente de hoy El criptoanaacutelisis es
constantemente realizado por criptoacutegrafos que intentan obtener informacioacuten valiosa y por aquellos
que intentan descifrar el coacutedigo para revelar secretos (Security Degree Hub 2017)
24 Niveles de seguridad
Los niveles de seguridad de sistemas operativos son otorgados de acuerdo con el sistema
operativo que esteacute utilizando la empresa o institucioacuten ya sea puacuteblica privada gubernamental o no
gubernamental En el manual ldquoTrusted Computer System Evaluation Criteriardquo (United States
40
Government Department of Defense 1983) el Departamento de Defensa de los Estados Unidos
define los siguientes niveles
241 Nivel D1 Este nivel es el maacutes bajo de seguridad por lo tanto la norma establece que
el sistema no es confiable Esta divisioacuten contiene solo una clase Estaacute reservado para aquellos
sistemas que han sido evaluados pero que no cumplen con los requisitos para un nivel de
evaluacioacuten superior
242 Nivel C1 Un sistema de nivel C1 cumple nominalmente los requisitos de seguridad
discrecionales al proporcionar separacioacuten de usuarios y datos Incorpora alguna forma de controles
creiacutebles capaces de imponer limitaciones de acceso de manera individual es decir aparentemente
adecuados para permitir que los usuarios puedan proteger la informacioacuten privada o del proyecto y
evitar que otros usuarios lean o destruyan accidentalmente sus datos Se espera que el entorno de
nivel C1 sea uno de los usuarios cooperantes que procesan datos con el mismo nivel de
sensibilidad Los siguientes son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten
de nivel C1 son
Control de acceso discrecional por ejemplo listas de control de acceso (ACL)
usuario grupo
Por lo general para usuarios que estaacuten en el mismo nivel de seguridad
Proteccioacuten de nombre de usuario y contrasentildea y base de datos de autorizaciones
seguras (ADB)
Sistema operativo protegido y modo de operaciones del sistema
Comprobacioacuten perioacutedica de integridad de TCB
41
Mecanismos de seguridad probados sin derivaciones obvias
Documentacioacuten para la seguridad del usuario
Documentacioacuten para la seguridad de la administracioacuten de sistemas
Documentacioacuten para pruebas de seguridad
Documentacioacuten de disentildeo TCB
Tiacutepicamente para usuarios en el mismo nivel de seguridad
La certificacioacuten C1 es rara Los sistemas de ejemplo son versiones anteriores de
Unix IBM RACF
243 Nivel C2 Los sistemas de esta clase imponen un control de acceso discrecional maacutes
fino que los sistemas (C1) lo que hace que los usuarios sean individualmente responsables de sus
acciones a traveacutes de procedimientos de inicio de sesioacuten auditoriacutea de eventos relevantes para la
seguridad y aislamiento de recursos Los siguientes son requisitos miacutenimos para los sistemas
asignados a una clasificacioacuten de nivel C2
La proteccioacuten de objetos puede ser para un solo usuario Por ejemplo a traveacutes de
una base de datos ACL
La autorizacioacuten de acceso solo puede ser asignada por usuarios autorizados
Proteccioacuten de reutilizacioacuten de objetos (Por ejemplo para evitar la reasignacioacuten de
objetos eliminados de manera segura)
Procedimientos obligatorios de identificacioacuten y autorizacioacuten para los usuarios (Por
ejemplo Usuario Contrasentildea)
Auditoriacutea completa de eventos de seguridad (es decir fecha hora evento usuario
eacutexito falla ID de terminal)
42
Modo de operacioacuten del sistema protegido
Proteccioacuten adicional para la autorizacioacuten y los datos de auditoriacutea
Documentacioacuten como C1 maacutes informacioacuten sobre el examen de la informacioacuten de
auditoriacutea
Esta es una de las certificaciones maacutes comunes Los sistemas operativos de ejemplo
son VMS IBM OS 400 Windows NT Novell NetWare 411 Oracle 7 DG AOS
VS II
244 Nivel B1 Los sistemas de este nivel requieren todas las caracteriacutesticas requeridas
para el nivel C2 Ademaacutes debe estar presente una declaracioacuten informal del modelo de poliacutetica de
seguridad etiquetado de datos y control de acceso obligatorio sobre sujetos y objetos nombrados
La capacidad debe existir para etiquetar con precisioacuten la informacioacuten exportada Cualquier falla
identificada por la prueba debe ser eliminada Los siguientes son requisitos miacutenimos para los
sistemas asignados a una clasificacioacuten de nivel B1
Etiquetado obligatorio de seguridad y acceso de todos los objetos (Por ejemplo
archivos procesos dispositivos)
Comprobacioacuten de integridad de etiquetas (Por ejemplo mantenimiento de etiquetas
de sensibilidad cuando se exportan datos)
Auditoriacutea de objetos etiquetados
Control de acceso obligatorio para todas las operaciones
Capacidad para especificar el nivel de seguridad impreso en salida legible para
humanos (Por ejemplo impresoras)
43
Capacidad para especificar el nivel de seguridad en cualquier salida legible por
maacutequina
Auditoriacutea mejorada
Proteccioacuten mejorada del sistema operativo
Documentacioacuten mejorada
Los sistemas operativos de ejemplo son HP-UX BLS Cray Research Trusted
Unicos 80 Digital SEVMS Harris CS SX SGI Trusted IRIX
245 Nivel B2 En los sistemas de nivel B2 el TCB se basa en un modelo de poliacutetica de
seguridad formal claramente definido y documentado que requiere que la aplicacioacuten de control de
acceso discrecional y obligatoria que se encuentra en los sistemas de nivel B1 se extienda a todos
los sujetos y objetos en el sistema Ademaacutes se abordan los canales encubiertos El TCB debe
estructurarse cuidadosamente en elementos criacuteticos para la proteccioacuten y no criacuteticos para la
proteccioacuten La interfaz TCB estaacute bien definida y el disentildeo y la implementacioacuten TCB le permiten
someterse a pruebas maacutes exhaustivas y una revisioacuten maacutes completa Se fortalecen los mecanismos
de autenticacioacuten se proporciona una gestioacuten confiable de las instalaciones en forma de soporte
para las funciones de administrador y operador del sistema y se imponen estrictos controles de
gestioacuten de la configuracioacuten El sistema es relativamente resistente a la penetracioacuten Los siguientes
son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten de nivel B2
Notificacioacuten de cambios en el nivel de seguridad que afectan a los usuarios
interactivos
Etiquetas de dispositivos jeraacuterquicos
44
Acceso obligatorio a todos los objetos y dispositivos
Comunicaciones de ruta confiables entre usuario y sistema
Rastreo de canales de almacenamiento encubiertos
Modo de operaciones del sistema maacutes estricto en unidades independientes de varios
niveles
Anaacutelisis de canales encubiertos
Pruebas de seguridad mejoradas
Modelos formales de TCB
Versioacuten actualizacioacuten y anaacutelisis y revisioacuten de parches
Los sistemas de ejemplo son Honeywell Multics Cryptek VSLAN Trusted
XENIX
246 Nivel B3 El TCB debe satisfacer los requisitos del monitor de referencia para mediar
todos los accesos de los sujetos a los objetos ser a prueba de manipulaciones y ser lo
suficientemente pequentildeo como para ser sometido a anaacutelisis y pruebas Con este fin el TCB estaacute
estructurado para excluir el coacutedigo que no es esencial para la aplicacioacuten de la poliacutetica de seguridad
con una importante ingenieriacutea del sistema durante el disentildeo y la implementacioacuten del TCB dirigido
a minimizar su complejidad Se admite un administrador de seguridad los mecanismos de
auditoriacutea se ampliacutean para sentildealar eventos relevantes para la seguridad y se requieren
procedimientos de recuperacioacuten del sistema El sistema es altamente resistente a la penetracioacuten
Los siguientes son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten de clase
(B3)
45
ACL adicionalmente basadas en grupos e identificadores
Acceso de ruta confiable y autenticacioacuten
Anaacutelisis automaacutetico de seguridad
Modelos TCB maacutes formales
Auditoriacutea de eventos de auditoriacutea de seguridad
Recuperacioacuten confiable despueacutes de la caiacuteda del sistema y documentacioacuten relevante
Cero defectos de disentildeo en TCB y defectos miacutenimos de implementacioacuten
El uacutenico sistema operativo con certificacioacuten B3 es Getronics Wang Federal XTS-
300
247 Nivel A1 Los sistemas en el nivel A1 son funcionalmente equivalentes a los del nivel
B3 en que no se agregan caracteriacutesticas arquitectoacutenicas adicionales ni requisitos de poliacuteticas La
caracteriacutestica distintiva de los sistemas en este nivel es el anaacutelisis derivado de la especificacioacuten
formal del disentildeo y las teacutecnicas de verificacioacuten y el alto grado resultante de seguridad de que el
TCB se implementa correctamente Esta garantiacutea es de naturaleza de desarrollo comenzando con
un modelo formal de la poliacutetica de seguridad y una especificacioacuten formal de alto nivel del disentildeo
Independientemente del lenguaje de especificacioacuten particular o del sistema de verificacioacuten
utilizado existen los siguientes criterios importantes para la verificacioacuten del disentildeo de nivel A1
Meacutetodos formales y prueba de integridad de TCB
Estos son los uacutenicos sistemas con certificacioacuten A1 Boeing MLS LAN Gemini
Trusted Network Processor Honeywell SCOMP (United States Government
Department of Defense 1983)
46
25 Sistemas Operativos
Un sistema operativo actuacutea como intermediario entre el usuario de una computadora y el
hardware de la computadora El propoacutesito de un sistema operativo es proporcionar un entorno en
el que un usuario pueda ejecutar programas de manera conveniente y eficiente
Un sistema operativo es un software que administra el hardware de la computadora El
hardware debe proporcionar mecanismos apropiados para garantizar el correcto funcionamiento
del sistema informaacutetico y para evitar que los programas del usuario interfieran con el correcto
funcionamiento del sistema (Carretero Peacuterez de Miguel Anasagasti Garciacutea Carballeira amp Peacuterez
Costoya 2001)
Un sistema operativo es un programa que controla la ejecucioacuten de programas de aplicacioacuten
y actuacutea como una interfaz entre el usuario de una computadora y el hardware de la computadora
Una definicioacuten maacutes comuacuten es que el sistema operativo es el uacutenico programa que se ejecuta
en todo momento en la computadora (generalmente llamado kernel) y todo lo demaacutes son
programas de aplicacioacuten
Un sistema operativo se ocupa de la asignacioacuten de recursos y servicios como memoria
procesadores dispositivos e informacioacuten El sistema operativo incluye los programas para
administrar estos recursos como un controlador de traacutefico un programador un moacutedulo de
administracioacuten de memoria programas de E S y un sistema de archivos (Pawar 2016)
47
251 Windows Sistema operativo de la empresa Microsoft es un conjunto de programas
que administra los recursos de una computadora Windows empieza a trabajar cuando se enciende
o inicializa el equipo para gestionar el hardware empezando desde los niveles maacutes baacutesicos
Es importante conocer que los sistemas operativos funcionan tanto en las computadoras
como en diferentes dispositivos electroacutenicos que usan microprocesadores En este caso Windows
su versioacuten estaacutendar funciona con computadoras Microsoft domina el mercado de los sistemas
operativos debido a su comodidad se puede decir que eacuteste sistema operativo se encuentra
instalado en el 887 de los equipos de coacutemputo que cuentan con acceso a Internet en todo el
mundo
Se pueden mencionar algunas aplicaciones principales (que eacutestas tambieacuten pueden ser
desinstaladas por los usuarios o actualizadas sin que el sistema operativo se dantildee o deje de
funcionar) se encuentran el procesador de texto WordPad el navegador Internet Explorer el
reproductor multimedia Windows Media y el editor de imaacutegenes Paint
La principal novedad que aportoacute Windows desde sus oriacutegenes fue la facilidad para usarlo
y el atractivo visual De hecho su nombre (ldquoventanasrdquo) se debe a la forma en que el sistema
presenta a los usuarios los recursos con los que cuenta su computadora lo que facilita las tareas
cotidianas Windows tambieacuten suele recibir varias criacuteticas por sus problemas de seguridad y por
otros fallos
48
252 Registro de Windows El registro es una base de datos jeraacuterquica que contiene datos
que son criacuteticos para el funcionamiento de Windows y las aplicaciones y servicios que se ejecutan
en Windows Los datos estaacuten estructurados en un formato de aacuterbol Cada nodo en el aacuterbol se llama
clave Cada clave puede contener subclaves y entradas de datos llamadas valores A veces la
presencia de una clave es el uacutenico dato que requiere una aplicacioacuten otras veces una aplicacioacuten
abre una clave y usa los valores asociados con la clave (Microsoft Inc 2019) Una clave puede
tener cualquier nuacutemero de valores y los valores pueden tener cualquier forma El registro es
utilizado por
Autenticacioacuten
Nuacutecleo (Kernel)
Controladores de dispositivos
Servicios
SAM
Las carpetas del sistema se almacenaraacuten en distintas rutas de acceso dependiendo de la
versioacuten de Windows con la que se esteacute trabajando a continuacioacuten cuatro de los cinco archivos
que maacutes interesan a esta investigacioacuten se encuentran en la siguiente ubicacioacuten SystemRoot
System32 Config dentro de las siguientes sub llaves
SAM - HKEY LOCAL MACHINE SAM
SECURITY - HKEY LOCAL MACHINE SECURITY
SOFTWARE - HKEY LOCAL MACHINE SOFTWARE
SYSTEM - HKEY LOCAL MACHINE SYSTEM
49
253 Administrador de cuentas de seguridad El administrador de cuentas de seguridad
(SAM por sus siglas en ingleacutes) es una base de datos en donde se encuentran las cuentas de
seguridad Esto es utilizado por Windows para administrar las cuentas de usuario y contrasentildeas en
el formato hash
Las contrasentildeas nunca se almacenan en formato de texto claro Se almacenan en formato
de hash para protegerlas de los ataques La base de datos SAM se implementa como un archivo de
registro y las obtiene del kernel de Windows y mantiene un bloqueo exclusivo al archivo SAM
esto quiere decir que el archivo tiene cierta medida de seguridad para el almacenamiento de las
contrasentildeas (Hernandez 2013)
No es posible copiar el archivo SAM a otra ubicacioacuten en el caso de los ataques en liacutenea
Dado que el archivo SAM estaacute bloqueado con un bloqueo exclusivo al sistema de archivos no
puede ser copiado o movido mientras se ejecuta Windows El bloqueo no iniciaraacute hasta que la
excepcioacuten de la pantalla azul haya sido inicializada o el sistema operativo haya sido apagado Sin
embargo los archivos en formato hash de contrasentildeas fuera de liacutenea estaacuten disponibles para los
ataques de fuerza bruta el contenido del archivo SAM puede ser copiado o descargado utilizando
diversas teacutecnicas
Un identificador de seguridad (SID) es un valor uacutenico de longitud variable utilizado para
identificar a un usuario Cada cuenta tiene un SID uacutenico emitido por una autoridad como un
controlador de dominio de Windows y almacenado en una base de datos de seguridad Cada vez
50
que un usuario inicia sesioacuten el sistema recupera el SID para ese usuario de la base de datos y lo
coloca en el token de acceso para ese usuario El sistema usa el SID en el token de acceso para
identificar al usuario en todas las interacciones posteriores con la seguridad de Windows Cuando
se ha usado un SID como identificador uacutenico para un usuario o grupo no se puede volver a usar
para identificar a otro usuario o grupo
La seguridad de Windows usa SID en los siguientes elementos de seguridad
En descriptores de seguridad para identificar al propietario de un objeto y grupo
primario
En las entradas de control de acceso para identificar al usuario para quien el acceso
estaacute permitido denegado o auditado
En tokens de acceso para identificar al usuario y los grupos a los que pertenece
2531 Identificador de Seguridad (SID Security Identifier)
S - 1 - 5 - 21 - 3983109318 - 554656936 - 3066752241 - 1000
S - indica que es un string de SID
1 - el nivel de revisioacuten
5 - el identificador de valor de autoridad o authority value no siempre seraacute 5 Entre otros
valores que se pueden encontrar estaacuten los siguientes
51
0 - sin autoridad
1 - autoridad global
2 - autoridad local
3 - autoridad de creador
4 - autoridad no uacutenica
5 - autoridad NT
9 - autoridad de administrador de recursos
21 - 3983109318 - 554656936 - 3066752241 - es el dominio en el que se encuentra el
sistema o el identificador local de la computadora
1000 - ID uacutenico para cada cuenta aquiacute se encuentra el RID (Relative Identifier) Nuacutemero
de longitud variable cualquier grupo o usuario que se cree de manera diferente a la predeterminada
recibiraacute un RID de 1000 o superior En el caso de que el valor sea 500 responde a que este SID
representa la cuenta de un administrador el valor de 500 siempre seraacute el mismo en cualquier cuenta
de administrador a su vez el valor 501 representa el SID de una cuenta Invitado (Guest)
(Hernandez 2013)
254 Autenticacioacuten NTML NTLM (NT LAN Manager) es un protocolo empleado por
muchos productos de Microsoft para realizar la autenticacioacuten desafiacuteorespuesta por lo tanto es el
esquema de autenticacioacuten que por defecto usa Firewall de Microsoft y tambieacuten los productos del
servidor proxy
52
Este software fue desarrollado para afrontar el problema del trabajo con Tecnologiacuteas Java
en un entorno orientado a Microsoft Puesto que no se basa en ninguna especificacioacuten oficial de
protocolo por lo tanto no hay garantiacutea de que funciona correctamente en todos los casos Tambieacuten
ha estado en algunas instalaciones de Windows donde funcionoacute con eacutexito
La Autenticacioacuten NTLM se compone de dos protocolos protocolo de autenticacioacuten NTLM
y protocolo de autenticacioacuten LM Estos protocolos utilizan una metodologiacutea de hash diferente para
almacenar contrasentildeas de los usuarios en la base de datos SAM (Hernandez 2013) (Meneacutendez-
Barzanallana 17)
26 LINUX (ROCKS)
Rocks es una distribucioacuten para cluacutester de Linux de coacutedigo abierto que permite a los usuarios
finales construir de manera maacutes amigable cluacutesteres computacionales y muros de visualizacioacuten en
mosaico Cientos de investigadores de todo el mundo han utilizado Rocks para implementar su
propio cluacutester
Desde mayo de 2000 el grupo Rocks ha abordado las dificultades de implementar cluacutesteres
manejables Encaminados hacia un objetivo crear cluacutesters de manera maacutes sencilla Por sencilla
significa faacutecil de implementar administrar actualizar y escalar Este objetivo impulsa a los
creadores de esta herramienta a ayudar a entregar el poder computacional de los cluacutesteres a una
amplia gama de usuarios cientiacuteficos Estaacute claro que poner a disposicioacuten de una amplia gama de
53
cientiacuteficos plataformas de computacioacuten paralelas estables y manejables ayudaraacute enormemente a
mejorar el estado del arte en herramientas paralelas (Rocksclusters 2010)
261 Escritorio De todos los escritorios disponibles para el sistema operativo Linux
GNOME ha logrado convertirse en el maacutes eficiente estable y confiable sin dejar de ser sencillo
de usar De hecho la mayoriacutea de los usuarios independientemente de su experiencia pueden
trabajar con GNOME casi sin esfuerzo
Los usuarios que son nuevos tanto en Linux como en GNOME hariacutean mejor en conocer
los entresijos del escritorio que hacen que Linux no solo sea faacutecil sino tambieacuten divertido
Un entorno de escritorio agrupa programas que trabajan juntos para formar un espacio de
trabajo informaacutetico cohesivo unificado transparente e interactivo para los usuarios O para
decirlo de manera maacutes simple el entorno de escritorio es la interfaz de usuario para el sistema
operativo En el caso de GNOME ese sistema operativo es Linux Sin un entorno de escritorio su
uacutenica alternativa es una sesioacuten de Shell (liacutenea de comandos) basada en texto (Wallen 2019)
262 Paquete de Oficina Una suite ofimaacutetica es una coleccioacuten de software creada por el
mismo proveedor y disentildeada para ser utilizada para tareas rutinarias dentro de una organizacioacuten
Por lo general una suite ofimaacutetica incluye aplicaciones como procesamiento de texto hojas de
caacutelculo presentacioacuten correo electroacutenico toma de notas base de datos colaboracioacuten y otros tipos
de software relacionados En la mayoriacutea de los casos cada aplicacioacuten en la suite ofimaacutetica se puede
instalar por separado y todas las aplicaciones dentro de la suite admiten la interoperabilidad entre
54
siacute Microsoft Office Suite Lotus Live Notes y LibreOffice son todas suites de oficina de uso
comuacuten
263 Organizador de archivos Es una funcioacuten avanzada disentildeada para agrupar y
renombrar archivos usando sus atributos del sistema o meta atributos
Cada archivo tiene atributos del sistema como la fecha (Acceso Creado y Modificado) el
tipo de archivo (definido por extensioacuten) y asociado con la aplicacioacuten registrada de ese tipo de
archivo Estos atributos se pueden usar para generar un nuevo nombre de archivo o carpeta (grupo)
para cada archivo con el mismo atributo Ademaacutes de los atributos del sistema algunos archivos
en su mayoriacutea medios o imaacutegenes pueden contener metacampos como el nombre del artista el
tiacutetulo el nombre del aacutelbum y otros El Organizador de archivos tambieacuten usa estos metacampos
para agrupar archivos en una carpeta con el mismo atributo Por lo tanto el organizador de archivos
opera reglas de organizacioacuten de archivos que definen la jerarquiacutea de agrupacioacuten de carpetas y las
reglas de cambio de nombre de archivos
Asiacute como el conocido ldquoexplorador de Windowsrdquo Linux integra un organizador de archivos
y carpetas llamado NAUTILUS para realizar tareas de manejo de archivos como mover copiar
renombrar crear carpetas y de esta manera administrar nuestros dispositivos de almacenamiento
55
27 Agrupamiento (Cluacutester) de Computadoras
El agrupamiento (cluacutester) de computadoras estaacute conformado por una coleccioacuten de
computadoras autoacutenomas interconectadas trabajando unidas como un solo recurso de computacioacuten
integrado El concepto de agrupamiento de computadoras nacioacute cuando los pioneros de la
supercomputacioacuten intentaban difundir diferentes procesos entre varias computadoras para luego
poder recoger los resultados que dichos procesos debiacutean producir Con un hardware maacutes barato y
faacutecil de conseguir se pudo perfilar que podriacutean conseguirse resultados muy parecidos a los
obtenidos con aquellas maacutequinas mucho maacutes costosas (Chirinov 2003)
Un agrupamiento de computadoras se puede definir como el trabajo realizado por dos o
maacutes computadoras que en conjunto se encargan de proveer una determinada solucioacuten Tiene como
finalidad agrupar el poder de coacutemputo de los nodos implicados para proporcionar una mayor
escalabilidad disponibilidad y fiabilidad (Branch Bedoya amp Mesa Muacutenera 2008)
La escalabilidad es la capacidad de un equipo para hacer frente a voluacutemenes de trabajo
cada vez mayores sin por ello dejar de prestar un nivel de rendimiento aceptable
La disponibilidad y la fiabilidad se encuentran bastante relacionadas aunque difieren
ligeramente en algunos aspectos La disponibilidad es la calidad de estar presente y listo para su
uso mientras que la fiabilidad es la probabilidad de un correcto funcionamiento
56
Entre los tipos de agrupamiento maacutes comunes se pueden encontrar de alta disponibilidad
(ambiente a prueba de fallas) coacutemputo de alto desempentildeo (los procesos o las tareas dadas se
presentan como un solo sistema virtual) y escalamiento horizontal (se utiliza para proporcionar
una sola interfaz a un conjunto de recursos que pueden aumentar o disminuir arbitrariamente su
tamantildeo en un cierto periodo de tiempo) (Gonzaacutelez Ramiacuterez amp Rodriacuteguez Saacutenchez 2008)
271 Beowulf Es una clase de computadora masivamente paralela de altas prestaciones
principalmente construida a base de agrupamiento de componentes hardware estaacutendar (Llorens amp
Pentildea 2002) Consta de un conjunto de nodos minimalistas unidos por un medio de
comunicaciones econoacutemico Esto quiere decir que tienen lo miacutenimo para ejecutar su funcioacuten de
hecho los nodos por siacute solos no son capaces de ejecutar siquiera un sistema operativo (Nievas
Pino amp Arroyo) Se puede ver como una supercomputadora paralela construida con hardware
comercial de faacutecil adquisicioacuten que posee como sistema operativo Linux Los cluacutesters Beowulf son
extremadamente poderosos pero no son para todas las personas Su principal desventaja es que
requieren software disentildeado para poder aprovechar los recursos del cluacutester (Lizaacuterraga 2002)
272 Mosix Seguacuten Peacuterez (2001) la arquitectura Mosix estaacute basada en la misma ideologiacutea
de la arquitectura Beowulf Se basa en un conjunto de parches aplicados al nuacutecleo (kernel) de Linux
y que asignan a todo el grupo de nodos un espacio de direcciones y de procesos comuacuten gracias al
cual los procesos migran de uno a otro con el fin de equilibrar favorablemente la carga del sistema
global Es una herramienta disentildeada para realizar balanceo de carga en el agrupamiento de forma
totalmente transparente de manera tal que los nodos se comportan como una sola maacutequina y asiacute
incrementar el aprovechamiento de cada uno de los nodos (Chaacutevez y otros 1999) La principal
57
ventaja de Mosix frente a Beowulf se basa precisamente en esto Mosix da mejores respuestas que
Beowulf frente a la caiacuteda o insercioacuten de nodos A parte de esto Mosix permite un cambio constante
de aplicacioacuten o incluso el correr aplicaciones independientes de forma simultaacutenea
273 OpenMosix OpenMosix es una extensioacuten del proyecto Mosix Seguacuten Chirinov
(2003) la idea de este modelo es que la distribucioacuten de tareas en el cluacutester la determina OpenMosix
de forma dinaacutemica conforme se van creando tareas Cuando un nodo estaacute demasiado cargado las
tareas que se estaacuten ejecutando pueden migrar a cualquier otro nodo del cluacutester Asiacute desde que se
ejecuta una tarea hasta que eacutesta muere podraacute migrar de un nodo a otro sin que el proceso sufra
mayores cambios
Ademaacutes OpenMosix funciona a nivel de kernel por tanto puede conseguir toda la
informacioacuten que necesite para decidir que tanto estaacute cargado un sistema y queacute pasos se deben
seguir para aumentar el rendimiento ademaacutes puede realizar maacutes funciones que cualquier
aplicacioacuten a nivel de usuario
Despueacutes de elegir el tipo de cluacutester a utilizar se procede a elegir los elementos baacutesicos que
se emplearaacuten para implementar el cluacutester capacidad de procesamiento memoria espacio del disco
de cada nodo asiacute como tambieacuten el ancho de banda de la comunicacioacuten entre los nodos Se deberaacute
decidir cuaacuteles son importantes basaacutendose en la variedad de aplicaciones que se piensen ejecutar
en el cluacutester y de la cantidad de dinero que se disponga para construirlo
58
Bajo estos mismos paraacutemetros se debe escoger tambieacuten el tipo de red que interconectaraacute
los nodos (Turner 2004)
Luego se debe escoger el sistema operativo a utilizar Esta eleccioacuten dependeraacute mucho de
la maacutequina que se escoja Linux es siempre una opcioacuten en cualquier maacutequina y es la eleccioacuten maacutes
comuacuten Muchas de las herramientas necesarias para la implementacioacuten de un cluacutester han sido
desarrolladas bajo Linux Pero existen cluacutesters corriendo bajo Windows NT UNIX Solaris y AIX
59
Capiacutetulo 3 Implementacioacuten de Cluacutester
31 Requisitos previos
Antes de iniciar la instalacioacuten del FrontEnd es necesario asegurarse que las conexiones de
red de los equipos junto con la configuracioacuten de la BIOS de cada uno sean las correctas
311 Conexioacuten de los equipos y acceso a la red
Un cluacutester de alto desempentildeo funciona como un uacutenico equipo el cuaacutel comparte los recursos
de los nodos esclavos con el nodo maestro para ello es esencial la existencia de una red interna de
alta velocidad por medio de la cual se realice la comunicacioacuten entre el nodo maestro y los nodos
esclavos como se muestra en la Figura 31 El nodo maestro necesitaraacute 2 tarjetas de red de alta
Figura 31 Esquema tiacutepico de configuracioacuten de un cluacutester (Fuente Elaboracioacuten propia)
60
velocidad una para la comunicacioacuten interna y otra para la comunicacioacuten con redes externas El
sistema operativo Rocks asigna automaacuteticamente la interface ldquoeth0rdquo a la red interna del cluacutester y
la interface ldquoeth1rdquo a la red externa En caso de que Rocks sea incapaz de determinar cuaacutel es la red
externa debido a la falta de conexioacuten a internet estas podriacutean ser asignadas de manera incorrecta
por tal motivo se sugiere asegurar el nombre de cada una de las interfaces
Dado que Rocks no permite volverlas a asignar una vez finalizada la instalacioacuten es
necesario volver a reinstalarlo para poder solucionar este inconveniente
312 Configuracioacuten de la BIOS Para evitar problemas durante la instalacioacuten conviene
configurar correctamente la Bios
3121 ATAIDE Mode Algunos sistemas operativos puede que no sean capaces de
reconocer el controlador del disco duro como es en el caso de esta distribucioacuten de Rocks usada
Para evitar complicaciones de tener que antildeadir el controlador a mano lo mejor es habilitar el modo
ldquoLegacyrdquo de controlador de disco duro
61
Para ello se accede a la Bios pulsando F2 al encender el equipo se situacutea en la pestantildea
ldquoAdvancedrdquo y se selecciona ldquoDrive Configurationrdquo como se muestra en la Figura 32
Figura 32 Imagen del Bios del equipo en la opcioacuten ldquodrive configurationrdquo (Fuente Elaboracioacuten propia)
Figura 33 Bios ATAIDE Legacy Mode (Fuente Elaboracioacuten propia)
62
Dentro del menuacute se tiene que seleccionar el Modo ldquoLegacyrdquo en la opcioacuten ldquoATAIDE
Moderdquo como se muestra en la Figura 33 y para salir se guardan los cambios con F10
3122 PXE Al momento de instalar un nodo puede ocurrir falla al arrancar y aparecer
bootsplash (Reboot and Select proper device) Para evitarlo es necesario habilitar la opcioacuten de
PXE para que tome los archivos de instalacioacuten del nodo maestro a traveacutes de la red interna
En la Bios se selecciona la pestantildea ldquoBootrdquo y dentro de ese mismo menuacute se deshabilita
ldquoSilent bootrdquo y se habilita la opcioacuten de ldquoPXE boot to lanrdquo como se muestra en la Figura 34
Finalmente hay que verificar que en la secuencia de arranque (Figura 35) como primer
dispositivo sea desde red para que de esta manera inicie desde el PXE
Figura 34 Bios Boot PXE (Fuente Elaboracioacuten propia)
63
Se guardan los cambios antes de salir
32 Instalacioacuten de Sistema Operativo Rocks
Una vez configurados los equipos se enciende el equipo que seraacute el nodo maestro
(FrontEnd) en el cuaacutel previamente se ha modificado la secuencia de inicio del boot desde la Bios
de modo que al insertar el CD de Rocks eacuteste procederaacute a iniciar la instalacioacuten con la siguiente
pantalla que se muestra a continuacioacuten
Figura 35 Bios Boot device prioriry (Fuente Elaboracioacuten propia)
64
Para iniciar la instalacioacuten uacutenicamente se selecciona la opcioacuten ldquoInstall CentOS 7rdquo como se
muestra en la Figura 36 dando asiacute comienzo al proceso de instalacioacuten Tras finalizar un proceso
de carga en memoria Rocks mostraraacute un formulario en entorno graacutefico mediante el cual
procederemos a configurar el FrontEnd
Esta primera pantalla se muestra coacutemo se desea realizar la instalacioacuten puede realizarse
por medio de la descarga del sistema operativo (se requiere internet) En este caso como se muestra
en la Figura 37 dado que previamente se descargoacute el DVD completo se seleccionoacute ldquoCDDVD
based rollsrdquo
Figura 36 Pantalla de Inicio de instalacioacuten de Rocks (Fuente Elaboracioacuten propia)
65
A continuacioacuten Figura 38 se selecciona de la lista de Rolls aquellos que se desean instalar
Figura 37 Pantalla de seleccioacuten de Rolls (Fuente Elaboracioacuten propia)
Figura 38 Listado de opciones de rolls para instalar (Fuente Elaboracioacuten propia)
66
Tras presionar el botoacuten ldquoSubmitrdquo la siguiente pantalla (Figura 39) muestra formulario en
el que hay que indicar la informacioacuten baacutesica del cluacutester entre las cuales aparecen
Fully-Qualified Host Name Nombre con el que se conoceraacute en la red externa el cluacutester
Cluster Name Nombre utilizado para ser identificado dentro de las herramientas del cluacutester
Certificate Organization Locality State and Country Organizacioacuten a la que pertenece el
cluacutester la localidad el estado y la ciudad
Contact URL and LattitudeLongitude Contacto direccioacuten web y posicioacuten GPS
Figura 39 Informacioacuten baacutesica del cluacutester a instalar (Fuente Elaboracioacuten propia)
67
Una vez que se ingresa la informacioacuten al cluacutester se presiona el botoacuten ldquoListordquo y
posteriormente se podraacute cambiar la configuracioacuten baacutesica de la red interna del cluacutester En este caso
Figura 310 se dejoacute el valor por defecto una IP de clase B (1011116)
El siguiente paso es la configuracioacuten de la red externa (para tener acceso a internet) En
este punto se introducen los datos de la red externa a la que se encuentra conectado el nodo
maestro como se muestra en la Figura 311
Figura 310 Configuracioacuten Ethernet de la red privada (Fuente Elaboracioacuten propia)
Figura 311 Configuracioacuten Ethernet de la red puacuteblica (Fuente Elaboracioacuten propia)
68
Para terminar de configurar la red externa como se muestra en la Figura 312 se ingresa la
direccioacuten IP del Gateway y los DNS (Servidor de nombre de dominio) que va a usar para el acceso
a internet
Se continuacutea con el resto del formulario donde se introduce la contrasentildea para el usuario
root tal y como se muestran en la Figura 313
Figura 312 Configuracioacuten de DNS y Gateway (Fuente Elaboracioacuten propia)
Figura 313 Ingresar contrasentildea de usuario root (Fuente Elaboracioacuten propia)
69
Paso siguiente se procede a seleccionar la zona horaria como se muestra en la Figura 314
donde se encuentra ubicado el cluacutester asiacute como un servidor de donde podraacute obtener la zona horaria
automaacuteticamente en este caso se dejoacute el valor por default
En el formulario de la Figura 315 se selecciona la forma de particionar el disco duro
(automaacutetica manual) una vez seleccionado daraacute comienzo al proceso de instalacioacuten de manera
Figura 314 Configuracioacuten horaria (Fuente Elaboracioacuten propia)
Figura 315 Particiones del disco duro (Fuente Elaboracioacuten propia)
70
desatendida Cuando ha concluido la instalacioacuten el equipo se reiniciaraacute y se requeriraacute iniciar con
el usuario root y la contrasentildea establecida previamente
321 Configuracioacuten del teclado Debido a que el teclado por defecto estaacute en idioma
ingleacutes podriacutea provocar problemas al momento de escribir la contrasentildea u otros comandos
Seguacuten las pruebas realizadas aunque se cambie la configuracioacuten del teclado desde el menuacute
de preferencias uacutenicamente se mantiene dentro de la sesioacuten desde la que se ha cambiado dicha
opcioacuten (lo cual implica que la contrasentildea de usuario hay que introducirla seguacuten la distribucioacuten
inglesa)
33 Instalacioacuten de los nodos
Previo a la instalacioacuten de los nodos esclavos cada uno de los equipos fueron configurados
desde la Bios para que arranquen desde la red (seccioacuten 3122) Para ir antildeadiendo los nodos solo
se tiene que introducir el siguiente comando desde nuestro FrontEnd
$insert-ethers
A continuacioacuten como se muestra en la Figura 316 apareceraacute una ventana en la pantalla
en la cual se seleccionaraacute la opcioacuten ldquoComputerdquo
71
Una vez realizado este paso se procede a encender los equipos que funcionaraacuten como
nodos esclavos uno a uno
Se sugiere esperar a que cada nuevo equipo encendido esteacute marcado con un asterisco antes
de proceder a encender el siguiente como se muestra en la Figura 317 De esta manera se asegura
que cada nuevo nodo antildeadido posea el nombre y numeracioacuten deseada
Figura 316 Pantalla para ingresar nodos (Fuente Elaboracioacuten propia)
Figura 317 Indicador de insercioacuten de nuevos nodos (Fuente Elaboracioacuten propia)
72
Puede darse el caso de que un nodo no sea detectado automaacuteticamente eso indica que se
ha omitido alguacuten paso o parte de la configuracioacuten realizada hasta el momento es incorrecta En ese
caso comprobar lo siguiente
Que el nodo esclavo este correctamente conectado a la red interna
Que el FrontEnd (nodo maestro) tenga correctamente configurada la red interna y externa
Que el PXE esteacute habilitado en la Bios del nodo esclavo
331 Administracioacuten de nodos Algunos de los comandos maacutes uacutetiles para para la gestioacuten
de los nodos son los siguientes
Eliminar un nodo de la lista
Reinstalar un nodo
Listar los nodos ya instalados
Acceder a un nodo
$rocks remove host nombre_nodo
$rocks remove host nombre_nodo
$rocks set host boot nombre_nodo action=install
$rocks set host boot nombre_nodo action=install
$rocks list host
$rocks list host
$ssh nombre_nodo
$ssh nombre_nodo
73
Ejecutar un comando de manera remota a un nodo
332 Creacioacuten de cuentas de usuario Para agregar a un usuario hay que realizar los
siguientes pasos
1 Creacioacuten de la cuenta
$useradd nombre_usuario
2 Asignacioacuten de una contrasentildea
$passwd nombre_usuario
3 Sincronizacioacuten de la cuenta de usuario con el resto de nodos
$rocks-user-sync
333 Configuracioacuten del directorio compartido El directorio share es compartido por el
FrontEnd y el resto de nodos se localiza dentro del FrontEnd en la carpeta exports siendo la
carpeta share un enlace simboacutelico a esta uacuteltima
Al principio es posible que no se sincronicen correctamente los archivos introducidos en el
directorio debido a que la carpeta inicialmente estaacute vaciacutea por lo que para solucionar este
inconveniente puede usarse el comando siguiente para reiniciar dicho servicio
$ssh nombre_nodo lsquocomandorsquo
$ssh nombre_nodo lsquocomandorsquo
$cd
$export fs ndashrv
service nfs restart
$cd
$export fs ndashrv
service nfs restart
74
34 Operaciones baacutesicas de Rocks
Comandos y aplicaciones esenciales para el manejo del cluacutester
Ver que rolls estaacuten instalados
$rocks list roll
Visualizar el estado del sistema Figura 318
$qstat ndashf
Probar el sistema de colas para distribuir tareas a los nodos
Para ello se prueba que el SGE del cluacutester funcione enviaacutendole una serie de trabajos
mediante el comando qsub
En primer lugar se crea un fichero (pruebapl) que tenga permisos de ejecucioacuten con el
siguiente contenido
Figura 318 Comando qstat ndashf (Fuente Elaboracioacuten propia)
75
usrbinperl
for(my $i=0$ilt30$i++) sleep(2) print okn
Y se ejecuta con el siguiente comando
$ for ((i=1ilt=10i+=1)) do qsub pruebapl done
Al ejecutarse se puede comprobar que los trabajos se han mandado Figura 319
Y al realizar de nuevo un ldquoqstat ndashfrdquo Figura 320 se observa coacutemo se van realizando
Figura 319 Enviacuteo de trabajos por medio del comando qsub (Fuente Elaboracioacuten propia)
Figura 320 Estado de los trabajos pendientes mostrados por qstat ndashf (Fuente Elaboracioacuten propia)
76
Para ver la carga de trabajo en el cluacutester de manera global y de forma graacutefica se tiene que
ingresar en un navegador web en la siguiente direccioacuten httplocalhostganglia apareceraacute la
Figura 321
Figura 321 Visualizacioacuten de la distribucioacuten de cargas en el cluacutester usando la herramienta Ganglia (Fuente Elaboracioacuten propia)
77
Capiacutetulo 4 Metodologiacutea y Resultados
Una vez finalizada la instalacioacuten y puesta en operacioacuten del equipo se analizaron diferentes
metodologiacuteas de trabajo lo que implicoacute un trabajo arduo debido a que existen complicaciones
cuando se buscan temas relacionados a vulnerar sistemas operativos La realizacioacuten de este
proyecto estaacute basado en la metodologiacutea de Joshua Picolet ldquoCracking Methodologyrdquo (Picolet
2017)
41 Obtener Archivo hash
Se pueden vulnerar contrasentildeas de Windows de diferentes maneras Una de ellas es
mediante el acceso al archivo del Administrador de cuentas de seguridad (SAM) el cual se detalla
en el apartado 253 a traveacutes de la obtencioacuten de las contrasentildeas del sistema en su forma hash por
medio de herramientas diferentes Alternativamente las contrasentildeas se pueden leer desde la
memoria lo que tiene el beneficio adicional de recuperar las contrasentildeas en texto plano y evitar el
requisito de descifrado Para comprender los formatos que se observan cuando se descarguen
hashes del sistema de Windows se requiere una breve descripcioacuten de los diferentes formatos de
almacenamiento
Originalmente las contrasentildeas de Windows de menos de 15 caracteres se almacenaban en
el formato hash de Lan Manager (LM) Algunos sistemas operativos como Windows 2000 XP y
Server 2003 continuacutean usando estos hashes a menos que esteacuten deshabilitados por el usuario
Ocasionalmente un sistema operativo como Windows Vista puede almacenar el hash LM para la
compatibilidad con otros sistemas Seguacuten analistas incluye varias vulnerabilidades como dividir
78
la contrasentildea en dos bloques y permitir que cada uno se descifre de forma independiente Mediante
el uso de tablas Rainbow es trivial descifrar una contrasentildea almacenada en un hash LM
independientemente de la complejidad Este hash se almacena con la misma contrasentildea calculada
en el formato de hash NT como el que se muestra en el siguiente ejemplo
Ejemplo de un hash NTLM con el componente LM y NT
Administrator500611D6F6E763B902934544489FCC9192BB71ED1E7F2B60ED5A2
EDD28379D45C91
Los sistemas operativos Windows maacutes recientes como el Windows 8 y 10 usan el hash NT
En teacuterminos simples no hay una debilidad significativa en este hash que lo diferencie de cualquier
otra funcioacuten hash criptograacutefica Se requieren meacutetodos de descifrado como lo es la fuerza bruta o
ataque de diccionario para recuperar la contrasentildea si uacutenicamente se almacena en el formato NT
Ejemplo de un hash NTLM uacutenicamente con el componente NT (como se ve en los sistemas
Windows mas recientes
Administrator500NOPASSWORDEC054D40119570A4663
4350291AF0F72
Es importante sentildealar que la cadena NO PASSWORD es variable seguacuten la herramienta
que se utilice Otras pueden presentar esta informacioacuten como ceros rellenos o comuacutenmente puede
79
ver la cadena ldquoAAD3B435B51404EEAAD3B435B51404EErdquo en lugar de ninguna contrasentildea
Esto significa que el hash LM estaacute vaciacuteo y no estaacute almacenado
El archivo hash se encuentran en el directorio ldquoWindows System32 configrdquo y se
necesitan ambos archivos SAM y SYSTEM Ademaacutes tambieacuten se encuentran en el archivo de
registro HKEY_LOCAL_MACHINE SAM al que no se puede acceder durante el tiempo de
ejecucioacuten Finalmente las copias de seguridad se pueden encontrar a menudo en ldquoWindows
Repairrdquo (Peleus 2019)
Para extraer el archivo hash de un sistema operativo con un nivel de seguridad C1 existen
diferentes meacutetodos en esta ocasioacuten se procederaacute a iniciar el equipo objetivo con una distribucioacuten
de Linux desde una memoria USB como se muestra en la figura 41 para de esta manera ingresar
al directorio CWINDOWSSystem32Config directorio de ubicacioacuten de los archivos SAM y
SYSTEM que son los necesarios para obtener el archivo hash (Caballero 2018)
Figura 41 Arranque con LiveUSB KaliLinux (Fuente Elaboracioacuten propia)
80
42 Dar Formato al Hash
En este punto es donde se tiene que identificar el algoritmo con el que fueron encriptados
los archivos SAM y SYSTEM que se han obtenido en el punto anterior con la finalidad de
seleccionar el tratamiento que se les daraacute El algoritmo de encriptacioacuten del archivo SAM de
Windows 10 es NTLM y ademaacutes estaacute almacenado en un formato binario (ByteBleeder 2017) por
lo que fue necesario instalar la herramienta con licencia GNU samdump2 para obtener la syskey y
de esta manera poder extraer los hash desde el archivo SAM de Windows
En la figura 42 se han obtenido los hashes del archivo SAM donde se puede observar que
los usuarios Administrador e Invitado estaacuten deshabilitados ademaacutes de que existen tres cuentas de
usuario activas las cuales son Gad prueba y usuarioprueba cada una con su contrasentildea cifrada
en formato NTLM a la derecha del nombre de usuario la cuenta usuarioprueba fue a la que se le
realizoacute el anaacutelisis que se detalla posteriormente
43 Evaluar la fuerza del Hash
En criptografiacutea se dice que un algoritmo criptograacutefico se rompe si por alguacuten meacutetodo se
consigue reducir su fortaleza es decir reducir por ejemplo su entropiacutea de los 2256 bits teoacutericos a
Figura 42 Resultado de la ejecucioacuten de la herramienta samdump2 (Fuente Elaboracioacuten propia)
81
tan soacutelo 2255 por ejemplo El hecho de que se encuentre una colisioacuten no implica necesariamente
que un algoritmo se haya roto pues podriacutea haber sido realizado mediante fuerza bruta pero puede
ser una causa
Un ataque de colisioacuten significa que encuentro dos entradas diferentes que producen el
mismo resultado de un hash particular Este es generalmente el tipo de ataque maacutes faacutecil Es el tipo
de ataque que se conoce desde hace varios antildeos contra MD5
Dado que una utilidad importante de las funciones hash estaacute en las firmas digitales
encontrar colisiones puede facilitar falsificar firmas digitales Es decir dos mensajes distintos que
tengan un mismo resumen tienen ademaacutes la misma firma y un atacante puede reemplazar un
mensaje por el otro Un ejemplo de este ataque fue demostrado en 2008 por un grupo de
investigadores en Aacutemsterdam los cuales falsificaron un certificado raiacutez mediante el uso de un
ataque de colisioacuten contra el algoritmo MD5 (Preukschat 2015)
Un ataque previo a la imagen generalmente es mucho maacutes difiacutecil es encontrar otra entrada
que produzca el mismo resultado que un hash que ya se conoce
Para tratar de aclarar la diferencia aquiacute en un ataque de colisioacuten encuentro dos entradas A
y B que producen el mismo resultado En un ataque de preimagen comienzo a partir de alguacuten
resultado conocido X y encuentro una entrada que produciraacute X como resultado (Coffin 2015)
82
Para realizar esta evaluacioacuten se tomoacute como base la tabla del apeacutendice Hash craking
benchmark (Picolet 2017) el objetivo es observar el comportamiento y velocidad del Hash
mencionado cuando fue sometido a pruebas de criptoanaacutelisis Si se trata de un Hash lento se deberaacute
ser maacutes selectivo en queacute tipos de diccionarios y meacutetodos de criptoanaacutelisis se le debe aplicar Si es
un Hash raacutepido se puede ser maacutes libre con la estrategia de criptoanaacutelisis Este estudio busca
realizar una prueba de criptoanaacutelisis mostrando las diferencias entre el poder de procesamiento de
un cluacutester de 17 nodos contra una computadora personal por lo que no necesariamente se
implementaraacute el meacutetodo oacuteptimo para la realizacioacuten del criptoanaacutelisis
44 Calcular la capacidad del equipo
Con la informacioacuten de la evaluacioacuten de la fuerza del Hash obtenida en el apartado anterior en
este apartado se tiene que establecer la capacidad de la plataforma o plataformas que realizaraacuten
el criptoanaacutelisis
Para conocer la capacidad de procesamiento del cluacutester de alto rendimiento se utilizoacute la
herramienta Linpack Benchmark HPL es una implementacioacuten portaacutetil del Benchmark de alto
rendimiento LINPACK para equipos de coacutemputo distribuido Actualmente se utiliza para obtener
varios resultados en la lista actual de Top500 de HP cluacutesters (Dongarra 2010)
El Linpack Benchmark (HPL del Ingleacutes High-Performance Linpack Bench-mark) es un
software que resuelve un sistema lineal aleatorio de doble precisioacuten aritmeacutetica (64 bits) en equipos
de memoria distribuida El rendimiento muestra el nuacutemero de operaciones de punto flotante por
segundo logradas por el sistema (Petitet Whaley Dongarra amp Cleary 2008)
83
El HPL fue desarrollado en el Argone National Laboratory por Jack Don-garra en 1976 y
es uno de los maacutes usados en sistemas cientiacuteficos y de ingenieriacutea para el caacutelculo de prestaciones
Las principales caracteriacutesticas del algoritmo utilizado por el HPL son
Distribucioacuten ciacuteclica de datos de bloques de dos dimensiones
Variante derecha de la factorizacioacuten LU con pivoteo parcial (Teacutecnica de pivoteo
Dicta que el elemento pivote que debe escogerse es el mayor absolutamente de cada
columna)
Factorizacioacuten recursiva con pivoteo y reenviacuteo de columna
Distintas topologiacuteas virtuales de reenviacuteos
Algoritmo de reduccioacuten de reenviacuteo para ancho de banda (Castelloacute Gimeno 2014)
La resolucioacuten del sistema de ecuaciones se realiza del siguiente modo
1 Se crea un sistema de ecuaciones
(1)
119860119909 = 119887
(2)
119860 isin 119877119899119909119899
(3)
119909 119887 isin 119877119899
84
HPL calcula que la solucioacuten para un sistema de ecuaciones lineales se puede generalizar
como 119860119909 = 119887 donde 119860 es una matriz 119873 119909 119873 cuyos valores se generan aleatoriamente
119909 119910 119887 son vectores de tamantildeo 119873 Como se muestra en la Figura 43
2 Primero se calcula la factorizacioacuten 119871119880 con pivoteo parcial de los coeficientes 119899 y 119899 + 1
de la matriz [119860 119887]
(4)
119875119903[119860 119887] = [[119871119880] 119910]
(5)
119875119903 119871 119880 isin 119877119899119909119899
(6)
119910 isin 119877119899
El primer paso es la factorizacioacuten de la matriz 119860 en una matriz triangular superior 119880
y una matriz triangular inferior 119871 tal que 119860 = 119871119880 La factorizacioacuten se usa para calcular
el vector solucioacuten 119909
3 Una vez el pivoteo (representado por la permutacioacuten de la matriz 119875119903) y la factorizacioacuten
inferior se aplican sobre 119887 la solucioacuten se obtiene en un paso resolviendo el sistema
superior triangular
Figura 43 Sistema de Ecuaciones tipo 119860119909 = 119887 (Fuente Elaboracioacuten propia)
85
(7)
119880119909 = 119910
La matriz triangular inferior izquierda y el conjunto de pivotes no se devuelven en el
resultado Para la estabilidad numeacuterica el algoritmo de factorizacioacuten utiliza un pivote parcial de
fila
La implementacioacuten paralela de Linpack divide la matriz 119860 119873 119909 119873 en una cuadriacutecula de
procesos 119875 119909 119876 bidimensional y luego la divide en subgrupos de mosaicos 119873119861 119909 119873119861 (Petitet
Whaley Dongarra amp Cleary 2008)
Utilizando la herramienta HPL en esta investigacioacuten se obtuvieron los siguientes
resultados
La prueba abordoacute el ajuste de 119873 y la eficiencia obtenida en comparacioacuten con el rendimiento
maacuteximo Se determinoacute un valor para 119873 = 800000 aleatoriamente para ejecutar HPL en todo el
cluacutester Sin embargo el tiempo fue excesivo por lo tanto se determinoacute que este tamantildeo del
problema fue demasiado grande para el cluacutester Al realizar otros experimentos con valores maacutes
pequentildeos de 119873 se obtuvieron mejores resultados de rendimiento La Tabla 41 muestra el
rendimiento de HPL en GFlops para 119873 = 300000 400000 y 500000 Como se puede observar
en la Tabla 41 se obtuvo el mejor resultado de rendimiento 850 GFlops para 119873 = 500000 para
valores mayores de 119873 la distribucioacuten de cargas del cluacutester empieza a sobrepasar su capacidad como
se muestra en la Figura 44 y la vez su rendimiento disminuye Esto ocurre porque la cantidad de
memoria utilizada con las memorias intermedias de comunicacioacuten MPI es mayor de lo esperado
Por lo tanto es necesario dejar maacutes del 20 de la memoria para el sistema (Petitet Whaley
86
Dongarra amp Cleary 2008) Tambieacuten se realizaron pruebas usando solo un nodo de coacutemputo y el
rendimiento fue de 34 GFlops para 119873 = 20000
Tabla 41 Rendimiento de HP cluacutester (Fuente Elaboracioacuten propia)
Analizando la eficiencia obtenida para la ejecucioacuten de un solo nodo cuando 119873 = 20000
se obtuvo el 823 del rendimiento maacuteximo (el rendimiento maacuteximo para un solo nodo es 477
Gflops) Para todo el cluacutester el rendimiento maacuteximo seriacutea 119879119898119886119909 = 477 119909 17 =
8109 119866119891119897119900119901119904 aproximadamente
Figura 44 Distribucioacuten de cargas del cluacutester
0
500
1000
300000 400000 500000
Gflops
Gflops
87
La Figura 44 titulada ldquoDistribucioacuten de cargas del cluacutesterrdquo muestra la imagen de la
herramienta Ganglia de manera graacutefica a traveacutes de cuadros que variacutean de color dependiendo de la
carga que tenga cada uno de los nodos al momento de implementar la herramienta HPL De manera
inicial indica que el cluacutester tiene un total de 17 equipos de 4 cores cada uno eso da un total de 68
cores trabajando sin equipos inactivos Muestra tambieacuten una sobrecarga en el cluacutester y un
porcentaje promedio de 100 de uso en la uacuteltima hora
45 Establecer Estrategia
Esto significa uacutenicamente que en este apartado se realizaraacute una guiacutea baacutesica para procesar
los hashes obtenidos sin perder de vista que cada escenario a criptoanalizar es uacutenico en funcioacuten
de las circunstancias externas Como ya se ha mencionado anteriormente esta estrategia de
criptoanaacutelisis se ha planteado implementar dos meacutetodos los cuales son Fuerza Bruta y ataque de
diccionario sin importar si son o no los oacuteptimos debido a que se realizaraacute una comparativa de
capacidad de procesamiento
451 Fuerza Bruta Una vez que se han intentado varios meacutetodos y han fallado se puede
iniciar un ataque de fuerza bruta estaacutendar poniendo especial atencioacuten en la cantidad de siacutembolos
del alfabeto que puede usar el equipo a analizar Por encima de 8 caracteres esto generalmente no
tiene sentido debido a limitaciones de hardware y entropiacutea (complejidad de la contrasentildea) Una
contrasentildea de Windows seguacuten Microsoft (Microsoft Inc 2019) una contrasentildea de Windows debe
estaacute formada por
88
26 Caracteres mayuacutesculas de la ldquoArdquo a la ldquoZrdquo
26 Caracteres minuacutesculas de la ldquoardquo a la ldquozrdquo
10 Diacutegitos de base 10 (0 a 9)
32 Caracteres especiales (~$^amp_-+=|()[]ltgt)
94 Caracteres alfanumeacutericos en total
4511 Cantidad de combinaciones posibles Si se usa una clave numeacuterica (nuacutemeros del 0
al 9) existen 10 posibilidades de 4 diacutegitos de longitud que es la extensioacuten por defecto de los
teleacutefonos celulares Para 4 diacutegitos las combinaciones posibles seriacutean 10 mil 104 = 10000
(Labaca Castro 2014)
Por otro lado si tomamos un alfabeto de 26 letras mayuacutesculas y 26 minuacutesculas 10 nuacutemeros
y 10 caracteres especiales en total tenemos 72 diferentes posibilidades para un uacutenico caraacutecter Eso
significa que las combinaciones para una contrasentildea de 4 caracteres seriacutean 724 = 26873856
Baacutesicamente maacutes de 26 millones de combinaciones en una clave de 4 caracteres contra 10 mil en
una clave de 4 diacutegitos numeacutericos En este estudio se utiliza la contrasentildea de bloqueo descrita en el
apartado anterior que es de 94 combinaciones para cada caraacutecter teniendo una longitud de 7
caracteres por lo tanto seraacuten 947 = 64847759000000 de posibles combinaciones que
nuestros equipos deben explorar para obtener la contrasentildea correcta
Como se mencionoacute en el apartado 42 el usuario sobre el cual se realizoacute el criptoanaacutelisis
fue usuarioprueba el cual constaba de una contrasentildea de longitud 7 caracteres la cual despueacutes
de realizado el anaacutelisis y como se puede observar en la Figura 45
89
1 Anaacutelisis a usuario usuarioprueba
2 Nuacutemero de nodos en operacioacuten 17
3 Nuacutemero de procesos ejecutaacutendose de forma paralela 68
4 Tiempo de duracioacuten del anaacutelisis en el cluacutester 122727 horas
5 Contrasentildea criptoanalizada Pass7
Asiacute mismo en la Tabla 42 se muestra el resultado final y el tiempo de duracioacuten del
criptoanaacutelisis realizado al archivo SAM con el cluacutester y la computadora personal
Tabla 42 Resultados de criptoanaacutelisis de archivo SAM (Fuente Elaboracioacuten propia)
Nodos Nuacutecleos Tiempo de Procesamiento (Horas)
1 (PC) 4 1075316
17 (Cluacutester) 68 122727
1
2
3
4 5
Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester (Fuente Elaboracioacuten propia)
90
452 Diccionario Meacutetodo empleado para romper la seguridad de los sistemas basados en
contrasentildeas (password) en la que el atacante intenta dar con la clave adecuada probando todas (o
casi todas) las palabras posibles ingresadas previamente en un diccionario idiomaacutetico
Generalmente se emplean programas especiales que se encargan de ello
Este meacutetodo suele ser maacutes eficiente que el meacutetodo de fuerza bruta debido a que muchas
usuarios casi siempre suelen utilizar contrasentildeas con una o varias palabras existentes en su lengua
para que la contrasentildea no sea olvidada faacutecilmente y sea sencilla de recordar esto no es una praacutectica
recomendable (Alegsa 2018)
Para realizar este meacutetodo se utilizoacute un diccionario descargado de internet el cual contiene
10000000 de posibles contrasentildeas (g0tmi1k 2018)
Ademaacutes se ejecutoacute un programa creado en lenguaje C (Anexo 1) a traveacutes de la
implementacioacuten de las libreriacuteas MPI y open MPI propias de la arquitectura de cluacutester de
computadoras Este programa fue ejecutado en los mismos equipos descritos anteriormente para
obtener todos los nuacutemeros primos encontrados dentro de un intervalo dado En este caso el
intervalo dado fue de 10000000 con los siguientes resultados mostrados en la Tabla 43
Tabla 43 Resultados de ejecucioacuten de programa en C para la obtencioacuten de nuacutemeros primos (Fuente Elaboracioacuten
propia)
Nodos Nuacutecleos Tiempo de Procesamiento (Segs)
1 (PC) 4 5078
17 (Cluacutester) 68 00013
91
453 Analizar los resultados Posterior a realizar el criptoanaacutelisis y descifrar con eacutexito
una cantidad suficiente de hashes se analizan los resultados en busca de pistas o patrones Este
anaacutelisis puede ayudar a tener eacutexito en cualquier hash restante
454 Personalizar ataques Tomando como base el anaacutelisis de resultados realizado
previamente se disentildearaacuten diversas estrategias personalizadas que aprovechen las vulnerabilidades
conocidas o patrones Los ejemplos seriacutean ataques de maacutescara personalizados o reglas para
adaptarse al comportamiento o las preferencias del usuario objetivo
92
Conclusioacuten
El trabajo de investigacioacuten presentado parte de la necesidad de buscar alternativas para
explotar al maacuteximo la capacidad de procesamiento del equipo de coacutemputo que existe actualmente
dentro del inventario del Instituto Tecnoloacutegico de Acapulco asiacute como proveer una plataforma que
coadyuve a la investigacioacuten dentro del Instituto a traveacutes de implementar un cluacutester de coacutemputo
con capacidad para realizar proyectos en el aacuterea de ingenieriacutea y matemaacuteticas con el fin de optimizar
el tiempo de ejecucioacuten lo cual en un futuro se veraacute reflejado en ventajas para el desarrollo de la
regioacuten
La revisioacuten y anaacutelisis de informacioacuten en relacioacuten a cluacutesters es muy interesante pero a la
vez es compleja dado que involucra diferentes aspectos durante su evolucioacuten asiacute como diversas
metodologiacuteas para su formacioacuten e implementacioacuten Se considera de suma importancia para este
trabajo las revisiones efectuadas ya que son la base para la propuesta entregada
De acuerdo a las especificaciones teacutecnicas de los equipos informaacuteticos existentes dentro
del laboratorio de la Maestriacutea en Sistemas Computacionales y una vez que se realizoacute el anaacutelisis
de varios casos de eacutexito se propuso la metodologiacutea para implementacioacuten de un cluacutester homogeacuteneo
tipo Beowolf Este meacutetodo estaacute basado en otros que ya se han implementado bajo realidades
acadeacutemicas similares rescatando las etapas maacutes importantes de cada uno y complementaacutendolo con
los aportes personales se consideroacute que fue el oacuteptimo debido a que se implementoacute con hardware
convencional y herramientas de uso libre
93
El hecho de haber seleccionado un meacutetodo adecuado permitioacute superar gran parte los
problemas que presentaban las metodologiacuteas que fueron analizadas simplificoacute la implementacioacuten
del cluacutester y permitioacute el poder alcanzar una mayor estabilidad en su desempentildeo desde su etapa
inicial fue importante conocer el resultado en cada una de las etapas de implementacioacuten para
asegurar su desenvolvimiento en el futuro
Para integrar los equipos independientes a la arquitectura cluacutester se realizoacute el disentildeo de
una topologiacutea de red Gigabit Ethernet tipo estrella con un direccionamiento IP estaacutetico la
configuracioacuten de protocolos de comunicacioacuten remota sin autenticacioacuten la comparticioacuten de
archivos en red y la utilizacioacuten de aplicaciones de licencia GPL que permiten obtener el
funcionamiento similar a la de una supercomputadora
Haciendo uso de libreriacuteas de paso de mensajes (MPI) y el software John the Ripper para el
descifrado de contrasentildeas la arquitectura cluacutester implementada alcanzoacute una eficiencia de 885
de rendimiento en comparacioacuten con los recursos computacionales de un solo equipo con las
caracteriacutesticas de un nodo Ademaacutes otros de los proyectos ejecutados en la arquitectura cluacutester
para probar el rendimiento fue la ejecucioacuten de un programa para la deteccioacuten de nuacutemeros primos
dentro de un archivo de 10000000 de nuacutemeros obteniendo una eficiencia de maacutes de 99 gracias
a la distribucioacuten de tareas que proporcionan las libreriacuteas de paso de mensajes (MPI) dentro de la
arquitectura cluacutester
Con la implementacioacuten de la arquitectura cluacutester el laboratorio de la Maestriacutea en Sistemas
Computacionales podraacute dar soluciones potentes eficientes y econoacutemicas en los entornos de
94
investigacioacuten mejorando la capacidad de procesamiento en aplicaciones como evaluacioacuten de
algoritmos compresioacuten de archivos renderizacioacuten de imaacutegenes anaacutelisis de datos (big data) en un
tiempo relativamente bajo ideal para las necesidades educativas
La experiencia obtenida al realizar esta investigacioacuten y propuesta ha sido enriquecedora
tanto por la obtencioacuten de conocimiento en base a la historia evolucioacuten y arquitectura de cluacutesters
asiacute como la programacioacuten paralela y sus ventajas en diferentes proyectos desarrollados en todo el
mundo Igualmente la comparacioacuten entre cada uno de los modelos y meacutetodos resulta interesante
dado que existe un sinnuacutemero de ejemplos con caracteriacutesticas diferentes pero baacutesicamente con un
mismo objetivo final
Trabajo Futuro
El cluacutester implementado en el Laboratorio de la Maestriacutea en Sistemas computacionales del
Instituto Tecnoloacutegico de Acapulco puede ser utilizado en gran cantidad de aplicaciones dentro de
las diferentes aacutereas de investigacioacuten del Instituto asiacute como estar disponible para el Departamento
de Posgrado e Investigacioacuten como apoyo durante la realizacioacuten de tareas y proyectos dentro de las
aacutereas de Desarrollo de Sistemas Inteligentes asiacute como de Tecnologiacuteas Web
Propuesta de Trabajo a Futuro
Durante la realizacioacuten de este proyecto se observoacute la necesidad que existe dentro del
departamento de Investigacioacuten y Posgrado de equipos de alta capacidad de procesamiento para
realizar de una manera maacutes eficiente las investigaciones que se estaacuten llevando a cabo Una de ellas
es el ldquoSistema de apoyo al diagnoacutestico oportuno de Retinopatiacutea Diabeacuteticardquo en la cual a traveacutes del
entrenamiento de una red neuronal se clasificaraacuten y evaluaraacuten un nuacutemero de 3000 imaacutegenes para
95
demostrar la presencia de dicha enfermedad en pacientes del Instituto Estatal de Oftalmologiacutea
Actualmente se ha realizado una prueba de entrenamiento de dicha red neuronal con 70 imaacutegenes
obteniendo como resultado un tiempo clasificacioacuten y evaluacioacuten de 301532 horas en un equipo
con un procesador Core I7 con 8 GB en memoria RAM
96
Bibliografiacutea
Alegsa (01 de 01 de 2018) Alegsa Diccionario Informaacutetico Recuperado el 07 de 2019 de
Alegsa httpwwwalegsacomarDicataque_por_diccionariophp
Avecto (2017) Avecto Limited Recuperado el 10 de 08 de 2018 de AVECTO a Bomgar
Company wwwavectocom
Borghello C (2009) Seguridad de la Informacioacuten Recuperado el 11 de 2018 de Criptografiacutea de
la A-Z httpswwwsegu-infocomarproyectosp1_hashhtm
Branch Bedoya J amp Mesa Muacutenera A (Diciembre de 2008) Implementacioacuten de un cluster
homogeacuteneo para la resolucioacuten de problemas de alta complejidad computacional Avances
en Sistemas e Informaacutetica 5(3)
ByteBleeder (02 de 06 de 2017) Practical guide to NTLM Relaying in 2017 Obtenido de Github
httpsbyt3bl33d3rgithubiopractical-guide-to-ntlm-relaying-in-2017-aka-getting-a-
foothold-in-under-5-minuteshtml
Caballero A (26 de 06 de 2018) Hacking Eacutetico Recuperado el 03 de 2019 de John The Ripper
httpwwwreydescomdq=Recuperar_la_Contrasena_del_Administrador_utilizando_s
amdump2_y_John_The_Ripper
Carretero Peacuterez J de Miguel Anasagasti P Garciacutea Carballeira F amp Peacuterez Costoya F (2001)
Sistemas Operativos Una visioacuten aplicada (C F Madrid Ed) Madrid Espantildea
McGRAW-HillInteramericana
Castelloacute Gimeno A (30 de 07 de 2014) Universitat Jaume Recuperado el 10 de 2019 de
Evaluacioacuten de prestaciones mediante laaplicacioacuten HPL de clusters utilizandorCUDA
97
httprepositoriujiesxmluibitstreamhandle10234115082TFM_2014_CastelloGimen
oApdfsequence=1ampisAllowed=y
Chaacutevez J Echeverriacutea C Correa M Vaacutezquez E Suaacuterez M Maacutermol X Diacuteaz G (07 de
1999) Centro de Caacutelculo Cientiacutefico Recuperado el 01 de 05 de 2018 de Universidad de
Los Andes httpwwwcecalculavedocumentaciontutorialesbeowulfinformehtml
Chirinov R (2003) Nfinite9000 SL Recuperado el 26 de 04 de 2018 de Noticias 3D
httpswwwnoticias3dcomarticuloaspidarticulo=248amppag=4
Coffin J (23 de 07 de 2015) Quora Recuperado el 15 de 08 de 2019 de
httpswwwquoracomWhat-does-it-mean-when-a-hashing-algorithm-has-been-broken
Dongarra J (2010) Top500 Super computer sites Recuperado el 07 de 2019 de http
wwwtop500org
Educba (01 de 01 de 2019) Recuperado el 10 de 2019 de Educbaorg
httpswwweducbacomidea-algorithm
europa press (04 de 06 de 2013) Portal Tic Recuperado el 18 de 11 de 2018 de Europa Press
httpswwweuropapressesportalticgadgetsnoticia-cuarta-generacion-intel-core-mayor-
salto-cuanto-ahorro-energetico-20130604174722html
g0tmi1k (2018) github Recuperado el 05 de 2019 de github
httpsgithubcomdanielmiesslerSecListsblobmasterPasswordsCommon-
Credentials10-million-password-list-top-1000000txt
Gonzaacutelez Agudelo D (2014) El riesgo y la falta de politicas de seguridad informaacutetica una
amenaza en las empresas certificadas basc Recuperado el 20 de 05 de 2018 de
Universidad Militar Nueva Granada
httpsrepositoryunimilitareducobitstream10654122511ENSAYO20FINALpdf
98
Gonzaacutelez Ramiacuterez E amp Rodriacuteguez Saacutenchez A (2008) Disentildeo e implementacioacuten de un cluster
tipo BEOWULF para el desarrollo de coacutemputo cientiacutefico avanzado CdMx Mexico
Hernandez M (2013) Forensics Mexico Recuperado el 07 de 2018 de La importancia del
registro de Windows parte 1 httpforensicsmexicoblogspotcom201309la-
importancia-del-registro-de-windowshtml
Kowalczyk C (01 de 2015) Crypto-IT Recuperado el 11 de 2018 de Crypto-IT
httpwwwcrypto-itnetengasymmetricindexhtml
Labaca Castro R (13 de 06 de 2014) We live security Recuperado el 2019 de 08 de 07 de
Welivesecuritybyeset httpswwwwelivesecuritycomla-es20140613matematica-
claves-numerica-alfanumerica
Lizaacuterraga C (2002) Departamento de Fiacutesica Recuperado el 12 de 03 de 2018 de Universidad
de Sonora httpclustersfisicausonmx
Llorens E amp Pentildea M (2002) Recuperado el 04 de 2018 de Departament dArquitectura de
Computadors httppersonalsacupceduenricPFCBeowulfbeowulfhtml
Meneacutendez-Barzanallana R (07 de 08 de 17) Universidad de Murcia Recuperado el 11 de 2018
de Informaacutetica Aplicada a las Ciencias Sociales
httpswwwumesdocenciabarzanaIACCSSCriptografiahtml
Merkle R amp Damgaringrd I (sf) Numerenturorg Recuperado el 06 de 2019 de Para computar -
numerenturorg httpnumerenturorgfuncion-merkle-damgard
Microsoft Inc (02 de 05 de 2019) wwwmicrosoftcom Obtenido de Password must meet
complexity requirements httpsdocsmicrosoftcomes-eswindowssecuritythreat-
protectionsecurity-policy-settingspassword-must-meet-complexity-requirements
99
Mifsud E (26 de 03 de 2012) Introduccioacuten a la seguridad informaacutetica Recuperado el 07 de 05
de 2018 de Ministerio de educacioacuten cultura y deportes Gobierno de Espantildea
httprecursosticeducacionesobservatoriowebessoftwaresoftware-general1040-
introduccion-a-la-seguridad-informaticashowall=1
Murugesan S (01 de 02 de 2008) Researchgate doi101109MITP200810
Nahar K amp Abu Abbas O (01 de 2010) Researchgate Recuperado el 07 de 2019 de
Researchgate
httpswwwresearchgatenetpublication315492522_Hybrid_Cipher_System
Nievas F Pino O amp Arroyo R (sf) Los clusters como Plataforma de Procesamiento Paralelo
Recuperado el 25 de 04 de 2018 de
httpusuarioslycoseslacaraocultadescargasClusters_definitivo pdf
Pawar S (2016) A computer science portal for geeks Recuperado el 10 de 2018 de
Geeksforgeeks httpswwwgeeksforgeeksorgrc5-encryption-algorithm
Peleus (2019) NETSEC Recuperado el 08 de 2019 de httpsnetsecwsp=314
Peacuterez Tavera I (2014) Obtenido de Universidad Autonoma del Estado de Hidalgo
httpswwwuaehedumxscigeboletinprepa4n2e4html
Peacuterez M (2001) Recuperado el 15 de 04 de 2018 de
httpwwwdragonesorgBibliotecaArticulosArquitecturaParalela2pdf
Petitet A Whaley R C Dongarra J amp Cleary A (2008) HPL - A Portable Implementation of
the High-Performance Linpack Benchmark for Distributed-Memory Computers
Recuperado el 07 de 2019 de httpwwwnetliborgbenchmarkhpl
Picolet J (2017) Hash Crack Password Cracking Manual (Vol 2) Createspace Independent
Pub
100
Preukschat A (23 de 02 de 2015) Oro y Finanzas Recuperado el 07 de 2019 de
httpswwworoyfinanzascom201502que-es-colision-criptografia-bitcoin
Robbins D (2008) OpenMosix Recuperado el 22 de 04 de 2018 de the openMosix Project
httpopenmosixsourceforgenetintroduction_to_openmosixhtml
Rocha Quezada J d Botello Rionda S Vargas Feacutelix J M amp Munguiacutea Torres I A (Sep-Dic
de 2011) Disentildeo e implementacioacuten de un cluacutester de coacutemputo de alto rendimiento Acta
Universitaria 21(3) 24-33 Recuperado el 1 de 12 de 2018
Rocksclusters (01 de 01 de 2010) httpwwwrocksclustersorg Recuperado el 01 de 06 de 2018
de httpwwwrocksclustersorg httpwwwrocksclustersorg
Sanjoy K (01 de 01 de 2015) DZone Recuperado el 15 de 06 de 2019 de DZone
httpsdzonecomarticlessecurity-algorithms-des-algorithm
Security Degree Hub (01 de 2017) Security Degree Hub Recuperado el 13 de 02 de 2019 de
Security Degree Hub httpswwwsecuritydegreehubcomwhat-is-cryptanalysis
Simmons G (01 de 01 de 2019) Encyclopedia Britannica Recuperado el 08 de 2019 de
Encyclopedia Britannica httpswwwbritannicacomtopicRSA-encryption
statista (09 de 2017) Statista Obtenido de Statista Co httpsesstatistacom
Turner D (2004) Recuperado el 12 de 02 de 2018 de Ames Lab
httpwwwsclameslabgovProjectsparrallel_computingpara_intohtml
United States Government Department of Defense (1983) Trusted Computer System Evaluation
Criteria Rainbow Series
Universidad Internacional de Valencia (09 de Septiembre de 2016) Nuestros
expertosTecnologiacutea Recuperado el 27 de Abril de 2018 de Universidad Internacional de
Valencia httpswwwuniversidadviuesla-seguridad-informatica-puede-ayudarme
101
Wallen J (19 de 01 de 2019) Lifewire Recuperado el 13 de 06 de 2019 de Lifewire
httpswwwlifewirecomgnome-3-desktop-4175640
Yang H (01 de 02 de 2019) Herong Yang Recuperado el 15 de 06 de 2019 de Cryptography
Tutorials httpwwwherongyangcomCryptographyDSA-Introduction-What-Is-DSA-
Digital-Signature-Algorithmhtml
102
Anexo 1
Programa en Lenguaje C para la obtencioacuten de nuacutemeros primos utilizando libreriacuteas mpi
include ltcstdlibgt
include ltiostreamgt
include ltiomanipgt
include ltcmathgt
include ltctimegt
include mpih
using namespace std
int main ( int argc char argv[] )
int prime_number ( int n int id int p )
void timestamp ( )
int main ( int argc char argv[] )
int i
int id
int master = 0
int n
int n_factor
int n_hi
int n_lo
int p
int primes
int primes_part
double wtime
n_lo = 1
n_hi = 10000000
n_factor = 2
MPIInit ( argc argv )
p = MPICOMM_WORLDGet_size ( )
id = MPICOMM_WORLDGet_rank ( )
if ( id == master )
cout ltlt n
cout ltlt Cuenta primosn
cout ltlt C++MPI versionn
cout ltlt n
cout ltlt Programa para contar cantidad de primos para un N dadon
cout ltlt Corriendo en ltlt p ltlt procesosn
cout ltlt n
103
cout ltlt N S Tiempon
cout ltlt n
n = n_lo
while ( n lt= n_hi )
if ( id == master )
wtime = MPIWtime ( )
MPICOMM_WORLDBcast ( ampn 1 MPIINT master )
primes_part = prime_number ( n id p )
MPICOMM_WORLDReduce ( ampprimes_part ampprimes 1 MPIINT
MPISUM
master )
if ( id == master )
wtime = MPIWtime ( ) - wtime
cout ltlt ltlt setw(8) ltlt n
ltlt ltlt setw(8) ltlt primes
ltlt ltlt setw(14) ltlt wtime ltlt n
n = n n_factor
MPIFinalize ( )
if ( id == master )
cout ltlt n
cout ltlt PRIME_MPI - Procesos maestron
cout ltlt Finalizacion del calculo normaln
return 0
int prime_number ( int n int id int p )
int i
int j
int prime
int total
104
total = 0
for ( i = 2 + id i lt= n i = i + p )
prime = 1
for ( j = 2 j lt i j++ )
if ( ( i j ) == 0 )
prime = 0
break
total = total + prime
return total
void timestamp ( )
define TIME_SIZE 40
static char time_buffer[TIME_SIZE]
const struct tm tm
size_t len
time_t now
now = time ( NULL )
tm = localtime ( ampnow )
len = strftime ( time_buffer TIME_SIZE d B Y IMS p tm )
cout ltlt time_buffer ltlt n
return
undef TIME_SIZE
1
Capiacutetulo 1 Introduccioacuten
11 Antecedentes del problema
Sin lugar a duda una de las herramientas maacutes importantes producida en el siglo XX ha sido
la computadora la cual ha provocado cambios vertiginosos en la sociedad y en el progreso de la
misma En la actualidad el entorno estaacute praacutecticamente controlado por las nuevas tecnologiacuteas que
a medida que transcurre el tiempo avanzan sin liacutemites y en ocasiones son utilizadas
incorrectamente provocando dantildeos de grandes dimensiones
Los trascendentales cambios operados en el mundo moderno caracterizados por su
constante desarrollo la acelerada globalizacioacuten de la economiacutea la acentuada dependencia a
almacenar grandes voluacutemenes de informacioacuten y los sistemas que la proveen aunado a grandes
inversiones de las empresas en conocimiento actual y futuro en sistemas de informacioacuten ademaacutes
del potencial que poseen las tecnologiacuteas para cambiar draacutesticamente las organizaciones y las
praacutecticas de negocio asiacute como crear nuevas oportunidades disentildear nuevas estructuras tecnoloacutegicas
basadas en informacioacuten la convierte en un activo codiciable Tales avances hacen permanente el
riesgo en las tecnologiacuteas y nos llevan a pensar en la problemaacutetica sobre la seguridad informaacutetica
La proteccioacuten de datos documentos y control de acceso a la informacioacuten es un tema que
cada diacutea toma maacutes fuerza en las grandes compantildeiacuteas debido a las diferentes praacutecticas de
especialistas tecnoloacutegicos como los son los hackers y crackers que roban informacioacuten vital para
posteriormente sacar provecho de ella
2
ldquoDesde la aparicioacuten de los grandes sistemas aislados hasta nuestros diacuteas en los que el
trabajo en red es lo habitual los problemas derivados de la seguridad de la informacioacuten han ido
tambieacuten cambiando evolucionando pero estaacuten ahiacute y las soluciones han tenido que ir adaptaacutendose
a los nuevos requerimientos teacutecnicos Aumenta la sofisticacioacuten en el ataque y ello aumenta la
complejidad de la solucioacuten pero la esencia es la mismardquo (Mifsud 2012)
Dentro del mundo actual la informacioacuten es denominada un activo importante de una
institucioacuten la cual debe ser protegida para evitar su peacuterdida modificacioacuten o el uso inadecuado de
su contenido
El extraviacuteo o el mal uso de informacioacuten que para alguien es confidencial genera dantildeos y
repercusiones directas relacionadas a la integridad disponibilidad y confidencialidad de los
archivos y a su vez a los duentildeos de dicha informacioacuten
ldquoLa seguridad informaacutetica se distingue por tener dos propoacutesitos de seguridad la Seguridad
de la Informacioacuten y la Proteccioacuten de Datos estos se diferencian debido a que los datos son valores
numeacutericos que soportan la informacioacuten mientras que la informacioacuten es aquello que tiene un
significado para nosotrosrdquo (Gonzaacutelez Agudelo 2014)
La seguridad informaacutetica consiste en asegurar que los recursos del sistema de informacioacuten
(material informaacutetico o programas) de una organizacioacuten sean utilizados de la manera que se decidioacute
3
inicialmente y que el acceso a la informacioacuten alliacute contenida asiacute como su modificacioacuten soacutelo sea
posible a las personas que se encuentren acreditadas y dentro de los liacutemites de su autorizacioacuten
Actualmente hay mucha informacioacuten circulando en internet por ejemplo correos
electroacutenicos publicaciones en Twitter Facebook videos fotos comercio electroacutenico secretos de
estado militares o industriales Lamentablemente dicha red es puacuteblica e insegura dentro de la cual
existen usuarios bien intencionados y muchos mal intencionados Diariamente encontramos
noticias de sitios con intrusiones mal intencionadas (hackeados) clonacioacuten de tarjeta de creacutedito o
imaacutegenes adulteradas Todo lo anterior motiva la necesidad de proteger la informacioacuten a traveacutes de
mecanismos que impidan a los usuarios no autorizados acceder a dicha informacioacuten
4
12 Planteamiento del Problema
Los sistemas de informacioacuten actuales estaacuten relacionados completamente con la exposicioacuten
de su informacioacuten a entidades externas que son ajenas a la organizacioacuten o delegacioacuten a la que
pertenecen
Cuando no se conoce el alcance que tienen los sistemas informaacuteticos ni lo vulnerables que
pueden ser si son expuestos a Internet por los mismos empleados de la organizacioacuten puede darse
ldquofugardquo de informacioacuten hacia el exterior esto los hace vulnerables a eventos y amenazas que
conllevan a riesgos que pueden provocar peacuterdidas tangibles e intangibles las cuales se traducen
en peacuterdidas que en muchos de los casos por decir lo menos seraacuten monetarias
El portal espantildeol de estadiacutesticas statista muestra la cuota de mercado de los principales
sistemas operativos a nivel mundial a fecha de febrero de 2017 seguacuten el nuacutemero de instalaciones
(statista 2017) Windows 10 fue el segundo sistema operativo maacutes instalado con una cuota de
mercado de 253 Esto significa que alrededor de una de cada cuatro computadoras estaacute
gobernado por este sistema operativo Por su parte en el caso de Windows 7 el porcentaje se situacutea
por encima del 45 a pesar de que ya no se vende ninguacuten PC con este sistema operativo Hablando
de manera conjunta los sistemas operativos Windows cuentan con una cuota del mercado global
de 8857
La empresa de seguridad informaacutetica Britaacutenica Avecto informoacute en su Microsoft
Vulnerabilities Report 2017 (Avecto 2017) (reporte 2017 de vulnerabilidades de Windows) un
aumento de vulnerabilidades publicadas del 111 en los uacuteltimos 5 antildeos de las cuales 235 criacuteticas
5
fueron mitigadas removiendo permisos de administrador asiacute como otras muy importantes
enfocadas al Administrador de Cuentas de Seguridad (SAM Security Account Manager por sus
siglas en ingleacutes) la cual es una base de datos almacenada como un archivo del registro en Windows
y que almacena las contrasentildeas de los usuarios en un formato hash (Algoritmos que crean a partir
de una entrada una salida alfanumeacuterica de longitud fija)
6
13 Objetivos
131 Objetivo General A traveacutes de la implementacioacuten de un procedimiento de fuerza
bruta utilizando para ello un cluacutester de alto rendimiento asiacute como software de uso libre lograr
capacidad de procesamiento capaz de vulnerar un sistema de autenticacioacuten nivel C1
132 Objetivos Especiacuteficos
Analizar los diferentes niveles de seguridad de sistemas operativos
Analizar diferentes meacutetodos de criptoanaacutelisis para vulnerar el Administrador de
cuentas de seguridad
Estudiar las teacutecnicas de agrupamiento de computadoras (clustering) para la
obtencioacuten de mayor poder de procesamiento
Implementar un cluacutester de alto rendimiento en el Laboratorio de la Maestriacutea en
Sistemas Computacionales del Instituto Tecnoloacutegico de Acapulco para ejecutar
operaciones de coacutemputo distribuido
7
14 Justificacioacuten
Antes la seguridad de la informacioacuten se realizaba a traveacutes de medios fiacutesicos por ejemplo
una caja fuerte en la cual las personas resguardaban objetos o informacioacuten valiosa para ellos Con
la introduccioacuten de las computadoras y el uso de internet los usuarios comienzan a almacenar
informacioacuten importante dentro de sus equipos por lo que se considera indispensable el uso de
herramientas que brinden proteccioacuten a la informacioacuten que se encuentra resguardada dentro de
eacutestas Los usuarios informaacuteticos suelen enviar informacioacuten por la red en las empresas al realizar
traacutemites o enviar informes a socios jefes entre otros
El resguardo de informacioacuten siempre ha sido importante para los seres humanos con la
diferencia que anteriormente no se contaba con los avances tecnoloacutegicos que tenemos actualmente
puesto que con la introduccioacuten de internet y el uso de dispositivos electroacutenicos se tiene mayor
riesgo de la informacioacuten que en ellos se maneja
La proteccioacuten del contenido de los datos es una necesidad urgente en casi todos los aacutembitos
de la sociedad incluyendo los servicios puacuteblicos y privados por lo que la tecnologiacutea de la
seguridad de los sistemas de cifrado se encuentra de frente a verdaderos retos
15 Hipoacutetesis
A traveacutes de un de fuerza bruta como teacutecnica de criptoanaacutelisis y con la ayuda de una mayor
capacidad de procesamiento mediante la implementacioacuten de agrupamiento de computadoras
(cluacutester) de alto rendimiento seraacute posible encontrar alguna vulnerabilidad dentro del sistema de
administracioacuten de cuentas de seguridad de Windows server 2012
8
16 Alcances y Limitaciones
Esta tesis se centraraacute en el sistema operativo Windows como objeto de estudio al cual se
le realizaraacute el criptoanaacutelisis
La tesis se enfocaraacute en el meacutetodo Beowulf para realizar el agrupamiento de computadoras
asiacute como la distribucioacuten de software libre del sistema operativo Linux Rocks
El nuacutemero de equipos disponibles para poder realizar el agrupamiento es de 17
computadoras hasta lograr el poder de coacutemputo de 800 Gflops
17 Impacto Social Tecnoloacutegico Econoacutemico y Ambiental
La sostenibilidad del presente proyecto seraacute abordada a partir de los siguientes aspectos
171 Impacto social A veces se puede pensar que un cluacutester de alto rendimiento pudiera
no tener alguacuten impacto directo en el medio social pero si nos enfocamos a un punto de vista en
donde gracias a la capacidad de procesamiento de estas maacutequinas han sido parte fundamental en
el desarrollo de proyectos que inciden de manera directa en beneficio de la sociedad en la que
vivimos como lo es la medicina la fiacutesica quiacutemica
Este proyecto busca beneficiar a nuestra sociedad proveyendo su capacidad de
procesamiento en la buacutesqueda de alguna vulnerabilidad en el sistema operativo maacutes utilizado hoy
en diacutea como lo es Windows ademaacutes de que estaraacute disponible para la comunidad cientiacutefica y
9
estudiantil del Instituto Tecnoloacutegico de Acapulco para optimizar tiempo de caacutelculo en futuras
investigaciones
172 Impacto ambiental Green IT tambieacuten conocido como Green Computing o
traducido al espantildeol como Tecnologiacuteas Informaacuteticas Verdes es definido como el estudio y la
praacutectica de disentildear desarrollar usar y disponer de computadoras servidores y diferentes
perifeacutericos tales como monitores impresoras dispositivos de almacenamiento de redes y
comunicaciones eficientemente y efectivamente con un impacto miacutenimo o nulo en el medio
ambiente (Murugesan 2008)
Bajo la premisa anterior este proyecto hace uso de los equipos con los que cuenta
actualmente el laboratorio de la Maestriacutea en Sistemas Computacionales lo cual evitaraacute la
adquisicioacuten de equipo nuevo y por consecuencia desechar el equipo existente evitando desperdicio
electroacutenico Dicho equipo cuenta con un procesador Intel I3 de 4ta generacioacuten lo cual seguacuten el
portal electroacutenico Europa press
ldquoEsta nueva generacioacuten supone el mayor salto en cuanto ahorro energeacutetico de la historia
de Intel asiacute como una mejora en los graacuteficos y nuevas experiencias de usuariordquo (europa press
2013)
Teniendo como base estos dos puntos importantes como lo son la reutilizacioacuten de equipo
y utilizando procesadores de bajo consumo energeacutetico es como este proyecto busca contribuir de
manera positiva con el medio ambiente
10
173 Impacto econoacutemico Actualmente existe una gran necesidad de procesar grandes
cantidades de datos lo cual hace imprescindible disponer de maacutequinas con estas caracteriacutesticas sin
embargo su alta complejidad aunado al gran costo hace que en instituciones de caraacutecter puacuteblico
sea muy complicado conseguir recurso para este fin Sin embargo un cluacutester de alto rendimiento
reutilizaraacute equipo propio evitando asiacute gastos por concepto de adquisicioacuten de equipo siendo de
esta manera viable para instituciones de caraacutecter puacuteblico
18 Metodologiacutea a Utilizar
181 Anaacutelisis Despueacutes de analizar las diferentes metodologiacuteas de clustering se optoacute por
desarrollar e implementar un cluacutester de alto rendimiento (HPC)
182 Disentildeo
1821 Economiacutea Debido a las caracteriacutesticas del equipo con el cual cuenta el Laboratorios
de la Maestriacutea en Sistemas Computacionales los componentes utilizados para este proyecto son
considerados de uso comuacuten y de bajo costo lo cual los hace faacutecilmente reemplazables en caso de
fallo a un costo accesible El equipo es de la marca Acer Aspire modelos AXC-605-M021 lo cual
nos hace tener ventaja y respaldo del fabricante con respecto a hardware geneacuterico
1822 Instalaciones Un cluacutester requiere de un ambiente controlado Esto es una
habitacioacuten especial con sistema de enfriamiento capacidad suficiente de carga eleacutectrica control
de humedad y un ambiente libre de polvo Ademaacutes se deben considerar el peso del equipo sobre
el piso (ya sea falso o piso normal) Se recomienda colocarlo en los soacutetanos o en la plata baja de
edificios (Rocha Quezada Botello Rionda Vargas Feacutelix amp Munguiacutea Torres 2011)
11
En el laboratorio de la Maestriacutea en Sistemas Computacionales se cuenta con espacio que
reuniacutea la mayoriacutea de las caracteriacutesticas requeridas para este proyecto
1823 Escalabilidad Un cluacutester debe ser faacutecilmente escalable y a su vez confiable Por
tal motivo se ha utilizado equipo de marca lo cual nos proporciona maacutes de confiabilidad en su
desempentildeo y a su vez facilidad de aumentar el nuacutemero de equipos si en un futuro fuese necesario
agrandar este proyecto Se armoacute un cluacutester de cinco computadoras con procesadores Intel Core I3
de 64 bits en cada nodo La memoria incluida y perifeacutericos son faacuteciles de adquirir en el mercado
1824 Red En la parte de redes se utilizoacute un switch fast Ethernet con una velocidad de 1
Gbps el cual tiene tazas de transferencia raacutepida y el costo es notablemente maacutes econoacutemico que
uno de fibra oacuteptica
El cableado seleccionado fue el estaacutendar UTP de cobre con la norma Gigabit Ethernet de
IEEE 8023ab con la categoriacutea de cableado 6e que soporta tazas de transferencia de datos de
1000Base T (1 Gbps)
1825 Software
ldquoEl sistema operativo debe constar con servicios dedicados para compartir y respaldar
archivos asiacute como capacidad de acceder a los datos de trabajo raacutepidamente El sistema operativo
debe tambieacuten proveer servicios de monitoreo y reporte de fallas en el sistemardquo (Rocha Quezada
Botello Rionda Vargas Feacutelix amp Munguiacutea Torres 2011)
12
Existe una gran variedad de software para instalar cluacutester de alto rendimiento sin embargo
como se ha comentado con anterioridad el costo de adquisicioacuten debe ser accesible por tal motivo
se optoacute por una distribucioacuten con licencia GNU de Linux Rocks Cluster la cual es una distribucioacuten
sencilla de instalar y configurar en comparacioacuten con otras distribuciones analizadas dicha
distribucioacuten estaacute basada en CentOS que a su vez estaacute basada en la conocida distribucioacuten de Linux
Red Hat
1826 Almacenamiento Para este proyecto no se requeriraacute un gran espacio de
almacenamiento por tal motivo los equipos utilizados tanto maestro como esclavos mantuvieron
sus unidades de disco originales las cuales son de 1 TB de almacenamiento
183 Implementacioacuten La implementacioacuten del cluacutester de alto rendimiento fue realizada
dentro de las instalaciones del Laboratorio de la Maestriacutea en Sistemas Computacionales del
Instituto Tecnoloacutegico de Acapulco construido inicialmente para este proyecto de criptoanaacutelisis lo
cual requeriraacute suficiente capacidad de procesamiento para poder implementar ataques de fuerza
bruta a sistemas operativos Las caracteriacutesticas del cluacutester construido son
1831 Software El software instalado en cada uno de los nodos es el siguiente
bull Sistema operativo Rocks Cluacutester Linux 74 (64 bits)
bull Libreriacutea de manejo de mensajes Open-MPI 153
bull Software de monitoreo Ganglia
13
1832 Hardware El cluacutester estaacute compuesto de 17 equipos con las siguientes
caracteriacutesticas
bull Nodo Maestro y 16 Nodos Esclavos
- Procesador Intel Core I3 4150 (4 nuacutecleos) Memoria 6 GB Disco Duro SATA 1 TB
tarjeta de Red Gigabit Ethernet
El hardware adicional es el siguiente
bull Interconexioacuten de Red
bull Switch Cisco 26 puertos 1Gbps modelo SG200 Red interna
1833 Recursos totales del cluacutester
bull Nuacutecleos de unidades de procesamiento (cores) 68
bull Capacidad en memoria 92 GB
bull Capacidad en disco 17 TB
19 Aseguramiento Teacutecnico ndash Material
A continuacioacuten se muestra el desglose del equipo utilizado para la elaboracioacuten de un
cluacutester de alto rendimiento estos componentes consisten en Hardware y Software especializado
asiacute como los costos de produccioacuten y personal involucrados en la metodologiacutea y elaboracioacuten del
proyecto
Costos de Hardware
Costos de Software
14
191 Hardware En este punto se refleja el costo de los dispositivos y herramientas a nivel
fiacutesico las cuales sirvieron para la implementacioacuten del proyecto cluacutester de alto rendimiento Cabe
resaltar que el equipo utilizado forma parte del inventario actual del Laboratorio motivo por el
cual su utilizacioacuten no causoacute erogacioacuten alguna sin embargo la investigacioacuten de costos se realizoacute
con la finalidad que el lector pueda establecer comparativas y buscar alternativas en caso de ajuste
de presupuesto
1911 Equipo de coacutemputo El equipo de coacutemputo utilizado consta de diecisiete
computadoras las cuales serviraacuten una para Nodo Maestro y las dieciseacuteis restantes como Nodos
Esclavos
La descripcioacuten de estos equipos se muestra en la tabla a continuacioacuten mostrando los costos
de todos los equipos utilizados dentro del proyecto
15
Tabla 11 Costo del Proyecto
Modelo
Cantidad
Caracteriacutesticas
Costos
PC - Acer AXC-
605
17
Procesador Intel Core i3
Pantalla 156rdquo
Disco duro 1TB HDD
RAM 6GB
Salida HDMI
Tarjeta de graacuteficos INTEGRADA
Lector de CD
Los costos en el mercado de una PC de
escritorio con estas caracteriacutesticas tiene un
valor aproximado de $600000 pesos
(Moneda nacional Mexicana)
Switch Cisco
Gigabit Ethernet
1
Modelo SG200 de 26 puertos
Costo en el mercado alrededor de
$2000000 pesos MN
Total
12200000 pesos MN
16
Capiacutetulo 2 Estado del Arte
Tiacutetulo del Trabajo Introduccioacuten a la Criptografiacutea
Autor Gibraacuten Granados Paredes
Fecha Julio 2010
Lugar Ciudad de Meacutexico
Publicado en Coordinacioacuten de Publicaciones Digitales DGSCA-UNAM
httpwwwrevistaunammxvol7num7art55int55htm
Siacutentesis Cuando se desea tener seguridad hablando en aacutembitos informaacuteticos la
criptografiacutea es una herramienta muy uacutetil el autor lo entiende tambieacuten como un medio para
garantizar las propiedades de confidencialidad integridad y disponibilidad de los recursos de un
sistema
Con la criptografiacutea se puede garantizar las propiedades de integridad y confidencialidad
pero hay que saber coacutemo utilizarla para ello es importante tener claros los conceptos baacutesicos que
estaacuten detraacutes de los sistemas criptograacuteficos modernos Estos conceptos van desde entender queacute es
la criptografiacutea coacutemo estaacute clasificada entender el funcionamiento baacutesico de algunos sistemas de
cifrado y conocer coacutemo se forman los documentos digitales como firmas y sobres digitales
Resultados El autor realiza un viaje por un gran nuacutemero de conceptos utilizados en
criptografiacutea el inicio y la clasificacioacuten de la misma asiacute como la criptografiacutea claacutesica y moderna y
analiza de manera breve algunos meacutetodos de cifrado maacutes comunes
17
Tiacutetulo del Trabajo Criptoanaacutelisis sobre meacutetodos claacutesicos de cifrado
Autores Sebastiaacuten Goacutemez Juan David Arias Diego Agudelo
Fecha 2 de mayo 2013
Lugar Ciudad de Meacutexico
Publicado en Scientia et Technica Antildeo XVII No 50 abril de 2012
Siacutentesis Los algoritmos criptograacuteficos utilizados desde la antigua Roma hasta nuestros
diacuteas son meacutetodos que convierten un mensaje de texto plano a cifrado al proceso inverso se le
conoce como descifrar Este artiacuteculo realiza un estudio de algunas teacutecnicas de encriptacioacuten claacutesicas
del siglo pasado como lo son el cifrado de Cesar y el cifrado de Vigeneacutere asiacute como muestra
teacutecnicas baacutesicas y modernas de criptoanaacutelisis basadas en la teoriacutea de la informacioacuten y estadiacutestica
como lo son la entropiacutea y el ataque de maacutexima correlacioacuten Las teacutecnicas de criptoanaacutelisis descritas
anteriormente pueden ser usadas en otros meacutetodos de cifrado siempre y cuando esteacuten presentes las
mismas debilidades
Resultados Los autores implementaron en lenguajes de programacioacuten Python un
algoritmo para el caacutelculo de entropiacutea para diferentes longitudes de clave Para la implementacioacuten
de los algoritmos de cifrado y descifrado de Vigeneacutere y de maacutexima correlacioacuten utilizaron lenguaje
de programacioacuten C++ Se probaron los meacutetodos anteriormente descritos sobre textos planos de
diferentes longitudes logrando un resultado de 9385 de efectividad en promedio
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de dos de los
algoritmos de encriptacioacuten maacutes antiguos y baacutesicos pero sobre todo que conociendo los meacutetodos
de criptoanaacutelisis me permitiraacuten analizar debilidades y fortalezas de algoritmos
18
Tiacutetulo del Trabajo ULTRACOM Computacioacuten de Alto Rendimiento para Criptoanaacutelisis
Autor Antonio Castro Lechtaler Alejandro Repetto Martiacuten Bianchi Marcelo Cipriano
Alejandro Arroyo Arzubi Ceacutesar Cicerchia Eduardo Malvacio
Fecha octubre 2014
Lugar Buenos Aires Argentina
Publicado en XX Congreso Argentino de Ciencias de la Computacioacuten (Buenos Aires
2014)
Siacutentesis La generacioacuten de nuacutemeros primos fundamentales para la produccioacuten de claves
el anaacutelisis de secuencias pseudo-aleatorias los procesos de verificacioacuten y validacioacuten de algoritmos
de seguridad en un sentido geneacuterico requieren enormes cantidades de procesamiento Los
procesos relacionados con la matemaacutetica criptograacutefica se caracterizan por la alta necesidad de
coacutemputo El objetivo de ULTRACOM es desarrollar una computacioacuten distribuida multipropoacutesito
que permita como primera aplicacioacuten real el anaacutelisis la validacioacuten y la ejecucioacuten de pruebas de
estreacutes sobre sistemas criptograacuteficos El presente trabajo de investigacioacuten detalla el proceso de
desarrollo de ULTRACOM y muestra un ejemplo de su implementacioacuten en una versioacuten Beta Para
ello toman como entrada dos versiones del algoritmo Trivium Utilizando la misma
infraestructura y sin desarrollo extra se prueban grandes voluacutemenes de claves y vectores de
inicializacioacuten de los algoritmos en busca de secuencias deacutebiles de menor longitud que la de la
buscada
Resultados El equipo implementoacute una versioacuten beta de la plataforma ULTRACOM
comprobando la factibilidad y viabilidad teacutecnica de la generalizacioacuten de la infraestructura de
computacioacuten distribuida en grilla (malla) BOINC Este avance permite extender los horizontes de
BOINC y habilita la posibilidad de obtener la capacidad de coacutemputo de alto rendimiento a bajo
19
costo Concluyeron que ULTRACOM es un proyecto viable escalable y de alto impacto para la
evaluacioacuten y validacioacuten de algoritmos criptograacuteficos
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento y la
implementacioacuten de una arquitectura de computacioacuten distribuida y una vez siendo factible su
desarrollo utilizar su poder de coacutemputo atacando a traveacutes de un algoritmo un sistema criptograacutefico
20
Tiacutetulo del Trabajo Criptografiacutea Cuaacutentica
Autor M Baig
Fecha 2010
Lugar Barcelona Espantildea
Siacutentesis En este artiacuteculo el autor realiza una breve introduccioacuten a la criptografiacutea claacutesica y
la relacioacuten que existe con la teoriacutea de la informacioacuten de Shannon la cual asegura que el cifrado
digital simeacutetrico es secreto y perfecto siempre y cuando se cumplan los tres requisitos
1 La llave ha de ser aleatoria
2 La llave debe usarse soacutelo una vez
3 La llave ha de ser tan larga como el mensaje y de un solo uso debe de estar en posesioacuten
tanto del emisor como del receptor
El punto 3 es el maacutes complicado de cumplir debido a la forma de compartir la llave entre
el emisor y receptor
Maacutes adelante en el artiacuteculo se hace un anaacutelisis sobre otra teacutecnica de criptografiacutea que es el
cifrado digital asimeacutetrico en la que se estudia coacutemo funcionan las llaves privadas y puacuteblicas asiacute
como el meacutetodo de criptograacutefico RSA
Resultados
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento maacutes profundo de
los meacutetodos de criptografiacutea simeacutetricos y asimeacutetricos especiacuteficamente el algoritmo asimeacutetrico
RSA
21
Tiacutetulo del Trabajo La Criptografiacutea Maderista en la Revolucioacuten Mexicana (1910-1911)
Criptoanaacutelisis de una carta cifrada por Gabriel Leyva Solano
Autor Roberto Narvaacuteez
Fecha 2011
Lugar Meacutexico DF
Siacutentesis Este trabajo aborda temas relacionados con las comunicaciones secretas del
movimiento revolucionario comandado por Francisco I Madero a partir de 1910 Se compone de
dos partes la primera es una breve resentildea criacutetica de ejemplos criptograacuteficos del maderismo que
fueron generados entre 1910 y 1911 la segunda describe paso a paso el criptoanaacutelisis que aplicoacute
el autor Roberto Narvaacuteez para desencriptar una carta parcialmente cifrada de Gabriel Leyva Solano
a Francisco I Madero
Resultados El propoacutesito general uacuteltimo es contribuir al conocimiento de la criptografiacutea
mexicana en el siglo XX En lo particular se trata de poner a disposicioacuten de los estudiosos el
contenido completo de la carta de Leyva Solano por primera vez despueacutes de 100 antildeos y al mismo
tiempo someter a la criacutetica teacutecnica e histoacuterica el procedimiento criptoanaliacutetico puesto en operacioacuten
para recuperar el texto plano
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de la teacutecnicas y
estudios realizados en nuestro paiacutes sobre formas y meacutetodos de encriptacioacuten durante la Revolucioacuten
Mexicana incluso mucho antes de la 2ordf Guerra mundial momento donde se registroacute un auge
importante dentro de la criptografiacutea moderna
22
Tiacutetulo de Tesis Anaacutelisis de la programacioacuten concurrente sobre la cpu y gpu en el
desarrollo de fractal build
Autor Joseacute Vicente Anilema Guadalupe
Fecha 2012
Lugar Riobamba Ecuador
Siacutentesis Este trabajo aborda temas relacionados con la geometriacutea euclidiana debido a que
el autor realiza una aplicacioacuten que crea paisajes fractales lo que significa crear un paisaje con una
misma figura geomeacutetrica Lo anterior se traduce en una necesidad de gran poder de coacutemputo para
realizar de una manera eficaz la tarea Dentro de la tesis el autor realiza diversos estudios
comparativos entre el procesamiento serializado realizado por una CPU (unidad central de
procesamiento) y procesamiento paralelizado realizado por una GPU (Unidad grafica de
procesamiento) a traveacutes de diversas herramientas para obtener el mejor aprovechamiento de los
recursos
Resultados El autor concluye que es necesario examinar los algoritmos a utilizar para que
estos puedan ser utilizados en coacutemputo paralelo Ademaacutes de que es necesario aprender ciertas
herramientas a utilizar para aprovechar al maacuteximo el coacutemputo distribuido y no desperdiciar el
poder de procesamiento muy superior que las GPUrsquos nos pueden brindar
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de la teacutecnicas y
estudios realizados para medir y comparar la velocidad de procesamiento de la unidad central de
procesamiento (CPU) y la unidad graacutefica de procesamiento (GPU) Asiacute como la medida en Flops
(Operaciones de punto flotante por segundo)
23
Tiacutetulo del Trabajo Arquitectura cluacutester de alto rendimiento utilizando herramientas de
software libre
Autores Leonardo Chiquiguanca Edyson Malla Freddy Ajila Rene Guamaacuten-Quincheacute
Fecha mayo 2015
Lugar Loja Ecuador
Siacutentesis Este trabajo aborda temas relacionados con la gran cantidad de datos que tienen
que procesar las universidades puacuteblicas dentro de sus investigaciones realizadas en diferentes aacutereas
como la ingenieriacutea medicina etc y la carencia de recursos econoacutemicos para obtener
supercomputadoras que procesen dicha informacioacuten Los autores proponen dentro de su
investigacioacuten la utilizacioacuten de equipo de coacutemputo existente dentro de su universidad y por medio
de software libre realizar agrupamiento de computadoras para poder lograr el procesamiento de
grandes voluacutemenes de datos de una manera accesible
Resultados Los autores concluyen que la mejor arquitectura para el agrupamiento
(cluacutester) de computadoras en ambientes universitarios es la arquitectura Beowulf debido a que la
implementaron en hardware convencional existente dentro de su campus universitario y que
ademaacutes usaron software libre mencionando que el poder de coacutemputo logrado fue muy cercano al
de una supercomputadora
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de las teacutecnicas
utilizadas en ambientes universitarios para la realizacioacuten de agrupamiento de computadoras y
sobre todo la optimizacioacuten de costos para realizar dicha tarea y tener como finalidad el lograr
mayor capacidad de procesamiento
24
Tiacutetulo de Tesis Desarrollo de un algoritmo de cifrado simeacutetrico de resumen
Autores Jonathan Dave Orjuela Navarrete
Antildeo 2008
Lugar Bogotaacute DC
Siacutentesis Esta tesis realiza un estudio de varios meacutetodos de criptografiacutea simeacutetrica para
posteriormente utilizando diferentes foacutermulas matemaacuteticas crear un algoritmo criptograacutefico
nuevo Dentro de la tesis utiliza dos meacutetodos para realizar pruebas a su algoritmo criptoanaacutelisis
diferencial y criptoanaacutelisis basado en fallos de hardware Dentro de los cuales hace un estudio
detallado de las teacutecnicas y herramientas de criptoanaacutelisis realizado a su algoritmo
Resultados El autor concluye de manera positiva con la realizacioacuten del algoritmo y de
manera satisfactoria con la realizacioacuten de criptoanaacutelisis a su algoritmo pudiendo demostrar la
fortaleza del algoritmo a traveacutes de ejemplo de cifrado con textos claro muy parecido y su
conversioacuten a cadenas completamente diferentes
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de criptoanaacutelisis diferencial y criptoanaacutelisis basado en fallos de hardware para la
evaluacioacuten de algoritmos de cifrado simeacutetrico de textos claros
25
Tiacutetulo del Trabajo Firt step in a Pc cluster development with openMosix
Autores Javier Bilbao Gorka Garate
Antildeo 2008
Lugar Bilbao Spain
Siacutentesis En este trabajo se afirma que es posible hacer maacutequinas de alta capacidad de
caacutelculo mediante la interconexioacuten de equipos con redes de alta velocidad A este tipo de sistemas
se les llama sistemas distribuidos y hoy en diacutea es la tecnologiacutea maacutes utilizada para resolver
problemas que requieren una gran capacidad de caacutelculo La agrupacioacuten de computadoras permite
que varias computadoras trabajen juntas para resolver los problemas de informaacutetica comuacuten Este
artiacuteculo centra su estudio en uno de los diferentes meacutetodos de agrupamiento de computadoras
openMosix El trabajo tambieacuten evaluacutea el cluacutester por dos casos de estudio donde se mejora el
tiempo de ejecucioacuten de los problemas resueltos
Resultados El autor del artiacuteculo concluye con la realizacioacuten satisfactoria de agrupamiento
de computadoras bajo el meacutetodo openMosix el cual uacutenicamente permite agrupamiento de la forma
SSI (Single System Image) que se refiere a que uacutenicamente se puede realizar el agrupamiento con
todos los nodos ejecutando un mismo sistema operativo
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de agrupamiento de computadoras openMosix ventajas desventajas y dificultades para
su implementacioacuten
26
Tiacutetulo del Trabajo Disentildeo e implementacioacuten de un cluacutester tipo Beowulf para el desarrollo
de coacutemputo cientiacutefico avanzado
Autores Edgar Rubeacuten Gonzaacutelez Ramiacuterez Abimael Rodriacuteguez Saacutenchez
Antildeo 2008
Lugar Instituto Politeacutecnico Nacional Meacutexico DF
Siacutentesis Este trabajo de tesis ha desarrollado e implementado una herramienta
computacional llamada Cluster Beowulf para mejorar la programacioacuten paralela Comenzando
con la memoria compartida y distribuida el autor implemento el agrupamiento tipo Beowulf
pensando en procesamiento paralelo la optimizacioacuten de las fuentes informaacuteticas El disentildeo se
construye mediante una distribucioacuten Linux Fedora Core 6 a 64 bits utilizando todas las ventajas
que ofrece el estaacutendar Gigabyt Ethernet La programacioacuten paralela fue desarrollada en lenguaje C
tanto para MPI como para OPENMP
Resultados El autor del artiacuteculo concluye que de acuerdo con los resultados el tiempo
de procesamiento se redujo con el uso muacuteltiples nuacutecleos mejoroacute hasta ocho veces gracias al
multihilo
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de agrupamiento de computadoras Beowulf y su implementacioacuten en sistemas operativos
de uso libre Linux distribucioacuten Fedora 6
27
Marco Teoacuterico
21 Seguridad de la Informacioacuten
La Seguridad de la Informacioacuten consiste y hace referencia a la proteccioacuten de cualquier
amenaza para salvaguardar los activos fijos y en especial toda informacioacuten de la cual estaacute basada
la continuidad de las operaciones de la empresa sean estas ocasionadas dentro o fuera de la misma
con esto se logra disminuir los dantildeos y perjuicios que estas amenazas causariacutean a la organizacioacuten
y a la vez aumentar las oportunidades de servicio hacia otras empresas
La Seguridad de la informacioacuten se consigue mediante la implementacioacuten de controles
efectivos que pueden ser normas manual de funciones buenas praacutecticas procedimientos
estructuras organizativas funciones de software y hardware planes de contingencia y herramientas
que se encargan de proteger la privacidad e integridad de la informacioacuten que se almacena en un
sistema informaacutetico Estos controles necesitan continuamente ser establecidos monitoreados
revisados y mejorados en donde sea necesario para asegurar que se cumplan los objetivos
especiacuteficos de seguridad en cada aacuterea de negocio de la organizacioacuten
La seguridad informaacutetica es en realidad una rama de la seguridad de la informacioacuten aunque
de forma praacutectica algunos autores suelen utilizar de manera indistinta ambos teacuterminos
211 Objetivo de la seguridad de la informacioacuten En la seguridad de la informacioacuten
sabiendo que dichos procesos de seguridad permiten proteger el recurso maacutes importante y valioso
de una organizacioacuten partiendo como principio fundamental los procesos de aseguramiento el
28
objetivo del proceso de seguridad informaacutetica es obtener un nivel aceptable de seguridad ya que
la informacioacuten es lo maacutes valioso que tiene una institucioacuten o empresa por lo tanto esta debe ser
protegida para que no sea vulnerable y utilizada para fines maliciosos
212 Principios de la seguridad informaacutetica
Confidencialidad Los datos solo deben ser conocidos y accedidos por quienes esteacuten
autorizados durante su almacenamiento procesamiento o trasmisioacuten Verificar y certificar que solo
los usuarios con accesos autorizados puedan acceder a la informacioacuten
Integridad Los datos solo pueden ser modificados y eliminados por quienes esteacuten
autorizados para ello es decir los sistemas y aplicaciones solo deben ser operados por personal
autorizado
Disponibilidad Los sistemas que almacenan datos e informacioacuten deben garantizar su
acceso cuando asiacute se requiera por quienes tengan derecho a ello
213 Caracteriacutesticas de seguridad informaacutetica
Control Solo los usuarios autorizados deciden cuaacutendo y coacutemo permitir el acceso a la
informacioacuten
Auditoriacutea Establece las acciones cuaacutendo las implementa y quieacuten las realiza sobre el
sistema
Autenticidad Define que la informacioacuten necesaria es correcta utilizable y vaacutelida en tiempo
y forma
No Repudio Su funcioacuten es evitar que alguna entidad que envioacute o recibioacute informacioacuten
alegue que no lo hizo
29
214 Formas de Autenticacioacuten
Contrasentildea Una contrasentildea es un tipo de seguridad informaacutetica ya que es una serie de
caracteres secretos que permiten a un usuario tener acceso a un archivo equipo de coacutemputo o
programa y negar el acceso a usuarios no autorizados
Certificado digital Es un tipo de seguridad informaacutetica que permite la firma digital
electroacutenica que garantiza teacutecnica y legalmente la identidad de una persona en Internet
Autenticacioacuten HTTP Tipo de seguridad informaacutetica que delega la autenticacioacuten de
usuarios a un servidor a traveacutes de Kerberos
215 Ciber-seguridad Con los avances tecnoloacutegicos y la demanda que ha causado en ello
existe un elevado iacutendice de informacioacuten personal y empresarial que circula y se mantiene en la red
por la utilizacioacuten del internet esto permite que toda informacioacuten quede expuesta a cualquier ataque
de ciber-delincuentes los cuales buscan la manera de vulnerar cualquier sistema para espiar robar
informacioacuten o hacer dantildeo de cualquier tipo por lo que se ha visto la necesidad de tomar medidas
de seguridad para salvaguardar la informacioacuten ya que es muy importante
La ciberseguridad es la proteccioacuten de los sistemas conectados a Internet incluidos el
hardware el software y los datos de los ciberataques En un contexto informaacutetico la seguridad
comprende la ciberseguridad y la seguridad fiacutesica ambas son utilizadas por las empresas para
proteger contra el acceso no autorizado a los centros de datos y otros sistemas de coacutemputo El
objetivo de la ciberseguridad es limitar el riesgo y proteger los activos de Tecnologiacuteas de
Informacioacuten de los atacantes con intenciones maliciosas La seguridad de la informacioacuten estaacute
30
disentildeada para mantener la confidencialidad integridad y disponibilidad de los datos es un
subconjunto de la ciberseguridad
22 Criptografiacutea
La Criptografiacutea tambieacuten llamada ldquoescritura ocultardquo tradicionalmente en el aacutembito de
criptografiacutea es donde se ocupan las teacutecnicas de cifrado o codificacioacuten que permiten alterar el
contenido de cierta informacioacuten o mensajes con el fin de hacerlos ininteligibles a receptores o
personas no autorizadas (Meneacutendez-Barzanallana 17)
Actualmente la criptografiacutea se encarga de analizar algoritmos protocolos y sistemas que
son utilizados para proveer seguridad a las comunicaciones informacioacuten y a las entidades que se
comunican entre siacute
221 Tipos de Criptografiacuteas
2211 Tablas Hash Un hash o funcioacuten hash toma un grupo de caracteres (llamado clave)
y lo asigna a un valor de cierta longitud (llamado valor hash o hash) El valor hash es representativo
de la cadena de caracteres original pero normalmente es maacutes pequentildeo que el original
El hash tambieacuten es utilizado en el cifrado y descifrado de firmas digitales La funcioacuten hash
transforma la firma digital luego tanto el valor hash como la firma se enviacutean al receptor El
receptor utiliza la misma funcioacuten hash para generar el valor hash y luego lo compara con el recibido
31
en el mensaje Si los valores hash son los mismos es probable que el mensaje se haya transmitido
sin errores
Un ejemplo de una funcioacuten hash se llama plegado(folding) Esta toma un valor original lo
divide en varias partes luego agrega las partes y usa los uacuteltimos cuatro diacutegitos restantes como
valor o clave hash
2212 Tipos de algoritmos Hash
22121 SHA - 1 (Secure Hash Algorithm) Es un algoritmo criptograacutefico de Hash
publicado por el gobierno de los Estados Unidos Genera un valor Hash de 160 bits a partir de una
secuencia de longitud arbitraria Es considerado lo suficientemente seguro para aplicaciones
praacutecticas pero hay disponibles versiones maacutes robustas SHA - 256 SHA - 384 y SHA - 512 que
generan valores Hash de 256 384 y 512 bits respectivamente estas versiones reemplazaraacuten a SHA
- 1 mientras se siga trabajando sobre ellas (Borghello 2009)
22122 MD5 (Message Digest Algorithm) En criptografiacutea MD5 es una funcioacuten hash
criptograacutefica ampliamente utilizada con un valor hash de 128 bits Como estaacutendar de Internet (RFC
1321) MD5 se ha empleado en una amplia variedad de aplicaciones de seguridad y tambieacuten se
usa comuacutenmente para verificar la integridad de los archivos Un hash MD5 generalmente se
expresa como un nuacutemero hexadecimal de 32 diacutegitos
MD5 es una versioacuten reforzada de MD4 Al igual que MD4 el hash MD5 fue inventado por
el profesor Ronald Rivest del Massachusetts Institute of Technology (MIT) Ademaacutes MD5 se
32
utilizoacute como modelo para SHA-1 ya que comparten muchas caracteriacutesticas comunes MD5 y
SHA-1 son los dos algoritmos hash maacutes utilizados en la actualidad aunque el uso de MD5 ha
disminuido ya que ahora se considera roto (Borghello 2009)
22123 RIPEMD ndash 160 Es una funcioacuten hash criptograacutefica basada en la construccioacuten
Merkle-Damgaringrd (MD) Se usa en el estaacutendar de Bitcoin Es una versioacuten reforzada del algoritmo
RIPEMD que produce un resumen de hash de 128 bits mientras que el algoritmo RIPEMD-160
produce una salida de 160 bits La funcioacuten de compresioacuten consta de 80 etapas formadas por 5
bloques que se ejecutan 16 veces cada uno Este patroacuten se ejecuta dos veces con los resultados
combinados en la parte inferior utilizando la adicioacuten del moacutedulo 32 (Borghello 2009)
22124 Funcioacuten Merkle-Damgaringrd La construccioacuten MD es una metodologiacutea para crear
funciones hash resistentes a colisiones a partir de funciones de compresioacuten unidireccionales Ralph
Merkle la propuso en el antildeo de 1979 en ldquoA certified Digital Signaturerdquo posterior a este estudio
Ivan Damgaringrd demostroacute de manera independiente que la estructura era soacutelida (Merkle amp
Damgaringrd sf)
2213 Cifrado simeacutetrico Los cifrados simeacutetricos son los cifrados criptograacuteficos maacutes
antiguos y maacutes utilizados En un cifrado simeacutetrico la clave que descifra el texto cifrado es la
misma (o puede derivarse faacutecilmente) de la clave que cifra el texto claro Esta clave a menudo se
conoce como la clave secreta Los cifrados simeacutetricos maacutes utilizados son DES y AES
La problemaacutetica que surge es la seguridad de la clave
33
El emisor cifra el mensaje con una clave
Enviacutea el mensaje cifrado de tal manera que nadie puede descifrarlo sin dicha clave
El receptor obtiene la clave y entonces puede descifrar el mensaje con la misma clave
que recibioacute del emisor
Algunos algoritmos de este tipo son
22131 RC5 (Cifrado de Rivest) Es un algoritmo de cifrado de bloque de clave simeacutetrica
disentildeado por Ron Rivest en 1994 Se destaca por ser simple raacutepido (debido a que usa solo
operaciones de coacutemputo primitivas como XOR o shift) y ademaacutes por consumir menos memoria
RC5 es un cifrado de bloques y aborda dos bloques de palabras a la vez Dependiendo del
tamantildeo del bloque de texto sin formato nuacutemero de rondas y tamantildeo de clave se pueden definir
varias instancias de RC5 y cada instancia se denota como RC5-w r b donde w = tamantildeo de
palabra en bits r = nuacutemero de rondas y b = tamantildeo de la clave en bytes (Pawar 2016)
Como se ha mencionado RC5 utiliza bloques de 2 palabras el tamantildeo del bloque de texto
sin formato puede ser de 32 64 o 128 bits
22132 IDEA (International Data Encryption Algorithm) Baacutesicamente es un algoritmo
de cifrado de bloque simeacutetrico El algoritmo asimeacutetrico utiliza la misma clave para el cifrado y
descifrado Un cifrado de bloque divide el mensaje en bloques cada uno de una longitud fija y
luego cifra cada bloque de forma independiente
34
El tamantildeo de bloque tiacutepico es de 16 bytes de 128 bits Un cifrado de bloque generalmente
operaraacute en bloques o rondas donde se aplica parte de la clave a la ronda Despueacutes de un cierto
nuacutemero de rondas digamos entre 10 y 16 se termina con el texto cifrado para ese bloque
El bloque de texto cifrado tiene exactamente el mismo tamantildeo que el bloque de texto sin
formato 16 bytes Para cada ronda se trabaja en el bloque utilizando una parte de la clave de
cifrado a la que se le llama la clave redonda Muacuteltiples claves redondas se derivan de la clave de
cifrado utilizando para esto un programa de claves
La programacioacuten de claves es un algoritmo que cambia XOR multiplica y realiza otros
tipos de operaciones en la clave de cifrado original para obtener estas claves redondas Bueno si
tengo un bloque de 16 bytes y tengo una clave de 128 bits que tambieacuten es de 16 bytes (Educba
2019)
22133 DES (Data Encryption Standard) El algoritmo DES es el algoritmo de seguridad
maacutes popular Es un algoritmo simeacutetrico lo que significa que se utilizan las mismas claves para
cifrar descifrar datos confidenciales La longitud de la clave es de 8 bytes (64 bits) Entonces
para cifrar descifrar datos el algoritmo DES utiliza una clave de 8 bytes pero 1 byte (8 bits) para
la verificacioacuten de paridad Es un algoritmo de cifrado de bloque por lo tanto el tamantildeo del bloque
de datos del algoritmo DES es de 64 bits Para cifrar descifrar datos el algoritmo DES utiliza la
estructura Feistel Entonces utiliza una ronda para cifrar descifrar datos Aunque el tamantildeo del
35
bloque de datos es de 64 bits el nuacutemero de rondas seraacute de 16 rondas asiacute mismo utilizaraacute diferentes
subclaves para cada ronda por lo tanto el nuacutemero de subclaves seraacute de 16 subclaves
Como se puede observar la clave efectiva es de 56 bits por consiguiente se tiene 256
combinaciones posibles por lo que la fuerza bruta se hace casi imposible (Sanjoy 2015)
2214 Cifrado asimeacutetrico Los cifrados asimeacutetricos tambieacuten se conocen como cifrados
con claves puacuteblicas y privadas Usan dos claves una para el cifrado de mensajes y la otra durante
el descifrado
Un intruso puede encriptar cualquier mensaje usando la clave puacuteblica conocida Los
cifrados asimeacutetricos son por lo tanto vulnerables a los ataques de texto sin formato Los cifrados
con encriptacioacuten de clave puacuteblica deben proporcionar seguridad contra tales ataques Despueacutes de
encriptar dos mensajes con la misma clave puacuteblica el intruso no puede distinguir queacute texto cifrado
estaacute conectado con queacute texto plano Ademaacutes un observador que analiza dos mensajes encriptados
usando el mismo algoritmo y la misma clave puacuteblica no puede distinguir sus textos cifrados
(Kowalczyk 2015)
Los cifrados asimeacutetricos son mucho maacutes lentos que los cifrados simeacutetricos (generalmente
mil veces maacutes lentos) Es una praacutectica comuacuten usar el cifrado de clave puacuteblica solo para establecer
la conexioacuten segura y negociar la nueva clave secreta que luego se utilizaraacute para proteger la
comunicacioacuten mediante cifrado simeacutetrico Ejemplos de este cifrado son
36
22141 DSA (Digital Signature Algorithm - Algoritmo de Firma digital) Es un estaacutendar
del Gobierno Federal de los Estados Unidos para firmas digitales Fue propuesto por el Instituto
Nacional de Estaacutendares y Tecnologiacutea (NIST) en agosto de 1991 para ser usado en su Estaacutendar de
Firma Digital (DSS) en el antildeo de 1993
La primera parte del algoritmo DSA es la generacioacuten de clave puacuteblica y clave privada que
puede describirse como
Se elige un nuacutemero primo q que se llama divisor primo
Se elige otro nuacutemero primo p de modo que pndash1 mod q = 0 p seraacute llamado moacutedulo
primo
Ahora se elige un nuacutemero entero g tal que 1 ltg ltp g q mod p = 1 g = h ((p
ndash 1) q) mod p q tambieacuten se llama moacutedulo de orden multiplicativo de g moacutedulo p
Se elige un nuacutemero entero tal que 0 ltx ltq
Se calcula y como g x mod p
Se empaqueta la clave puacuteblica como p q g y
Por uacuteltimo se empaqueta la clave privada como p q g x
La segunda parte del algoritmo DSA es la generacioacuten de firma y la verificacioacuten de firma
Para generar una firma de mensaje el remitente puede seguir estos pasos
Se genera el resumen del mensaje h utilizando un algoritmo hash como SHA1
Se genera un nuacutemero aleatorio k tal que 0 ltk ltq
37
Se calcula r como (g k mod p) mod q Si r = 0 seleccione una k diferente
Ahora se calcula i de modo que k i mod q = 1 i se llama el inverso multiplicativo modular
de k moacutedulo q
Se calcula s = i (h + r x) mod q Si s = 0 se selecciona una k diferente
Por uacuteltimo se empaqueta la firma digital como r s (Yang 2019)
22142 RSA Encriptacioacuten RSA encriptacioacuten Rivest-Shamir-Adleman tipo de
criptografiacutea de clave puacuteblica ampliamente utilizada para la encriptacioacuten de datos de correo
electroacutenico y otras transacciones digitales a traveacutes de Internet RSA lleva el nombre de sus
inventores Ronald L Rivest Adi Shamir y Leonard M Adleman quienes lo crearon mientras
trabajaban en la facultad del Instituto Tecnoloacutegico de Massachusetts (Simmons 2019)
En el sistema RSA un usuario elige de manera secreta un par de nuacutemeros primos p y q tan
grandes que factorizar el producto n = pq estaacute mucho maacutes allaacute de las capacidades informaacuteticas
proyectadas para la vida uacutetil de los cifrados A partir del antildeo 2000 los estaacutendares de seguridad del
gobierno de EE UU exigen que el moacutedulo tenga un tamantildeo de 1024 bits es decir p y q deben
tener un tamantildeo de aproximadamente 155 diacutegitos decimales por lo que n es aproximadamente un
nuacutemero de 310 diacutegitos Dado que los nuacutemeros duros maacutes grandes que actualmente se pueden
factorizar son solo la mitad de este tamantildeo y dado que la dificultad de factorizar se duplica
aproximadamente por cada tres diacutegitos adicionales en el moacutedulo se cree que los moacutedulos de 310
diacutegitos estaacuten a salvo de factorizar durante varias deacutecadas
38
2215 Cifrado hiacutebrido Es una teacutecnica comuacuten que combina diferentes funciones
criptograacuteficas como el cifrado de bloque Con el cifrado hiacutebrido se pueden cifrar datos firmarlos
o agregar un MAC y enviarlos en un objeto seguro (como una cadena o archivo) a traveacutes de un
canal de comunicacioacuten inseguro (sin un acuerdo clave entre dos partes)
En el sistema de cifrado hiacutebrido el texto plano (sin formato) se divide en tokens Luego
se calcula la longitud de cada ficha Los tokens y sus longitudes se almacenan en una matriz
Posteriormente se aplica el algoritmo Ceacutesar anidado sugerido El texto producido se almacena en
una matriz n x m llamada A Luego la transposicioacuten de esta matriz At se calcula utilizando
nuestra versioacuten revisada del cifrado de transposicioacuten para resolver el problema de secuenciacioacuten
A continuacioacuten el algoritmo RSA revisado se aplica en la matriz producida En el paso final se
aplica el formato de datos textuales usando el coacutedigo ASCII para producir el texto cifrado El
proceso de descifrado se realiza de la misma manera pero en orden inverso (Nahar amp Abu Abbas
2010)
23 Criptoanaacutelisis
El criptoanaacutelisis es el proceso de estudiar sistemas criptograacuteficos para buscar debilidades
o fugas de informacioacuten En general se considera que el criptoanaacutelisis explora las debilidades de
las matemaacuteticas subyacentes de un sistema criptograacutefico pero tambieacuten incluye la buacutesqueda de
debilidades en la implementacioacuten como ataques de canal lateral o entradas de entropiacutea deacutebiles
39
Su funcioacuten es la de conseguir obtener el significado de mensajes creados por medio de
criptografiacutea El objetivo principal del criptoanaacutelisis es opuesto al de la criptografiacutea Tiene como
finalidad encontrar la debilidad de las diferentes teacutecnicas criptograacuteficas para explotarla y de esta
manera reducir o eliminar la seguridad de la teacutecnica criptograacutefica Cualquier intento de
criptoanaacutelisis puede ser llamado ataque Una vez que un atacante logra romper la seguridad que
una teacutecnica criptograacutefica aportaba al sistema se dice que dicho sistema ha sido roto y por lo tanto
dicho ataque tuvo eacutexito
El criptoanaacutelisis es la investigacioacuten de sistemas texto cifrado y cifrados para revelar el
significado oculto o los detalles del sistema mismo El objetivo de este tipo de estudio es descubrir
los aspectos ocultos incluso si la clave o el algoritmo principal no se pueden descifrar Se necesita
una combinacioacuten exitosa de persistencia matemaacuteticas intuicioacuten curiosidad y una computadora
que funcione para hacer un buen criptoanalista Este tipo de ruptura de coacutedigo es extremadamente
importante especialmente en el mundo tecnoloacutegicamente dependiente de hoy El criptoanaacutelisis es
constantemente realizado por criptoacutegrafos que intentan obtener informacioacuten valiosa y por aquellos
que intentan descifrar el coacutedigo para revelar secretos (Security Degree Hub 2017)
24 Niveles de seguridad
Los niveles de seguridad de sistemas operativos son otorgados de acuerdo con el sistema
operativo que esteacute utilizando la empresa o institucioacuten ya sea puacuteblica privada gubernamental o no
gubernamental En el manual ldquoTrusted Computer System Evaluation Criteriardquo (United States
40
Government Department of Defense 1983) el Departamento de Defensa de los Estados Unidos
define los siguientes niveles
241 Nivel D1 Este nivel es el maacutes bajo de seguridad por lo tanto la norma establece que
el sistema no es confiable Esta divisioacuten contiene solo una clase Estaacute reservado para aquellos
sistemas que han sido evaluados pero que no cumplen con los requisitos para un nivel de
evaluacioacuten superior
242 Nivel C1 Un sistema de nivel C1 cumple nominalmente los requisitos de seguridad
discrecionales al proporcionar separacioacuten de usuarios y datos Incorpora alguna forma de controles
creiacutebles capaces de imponer limitaciones de acceso de manera individual es decir aparentemente
adecuados para permitir que los usuarios puedan proteger la informacioacuten privada o del proyecto y
evitar que otros usuarios lean o destruyan accidentalmente sus datos Se espera que el entorno de
nivel C1 sea uno de los usuarios cooperantes que procesan datos con el mismo nivel de
sensibilidad Los siguientes son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten
de nivel C1 son
Control de acceso discrecional por ejemplo listas de control de acceso (ACL)
usuario grupo
Por lo general para usuarios que estaacuten en el mismo nivel de seguridad
Proteccioacuten de nombre de usuario y contrasentildea y base de datos de autorizaciones
seguras (ADB)
Sistema operativo protegido y modo de operaciones del sistema
Comprobacioacuten perioacutedica de integridad de TCB
41
Mecanismos de seguridad probados sin derivaciones obvias
Documentacioacuten para la seguridad del usuario
Documentacioacuten para la seguridad de la administracioacuten de sistemas
Documentacioacuten para pruebas de seguridad
Documentacioacuten de disentildeo TCB
Tiacutepicamente para usuarios en el mismo nivel de seguridad
La certificacioacuten C1 es rara Los sistemas de ejemplo son versiones anteriores de
Unix IBM RACF
243 Nivel C2 Los sistemas de esta clase imponen un control de acceso discrecional maacutes
fino que los sistemas (C1) lo que hace que los usuarios sean individualmente responsables de sus
acciones a traveacutes de procedimientos de inicio de sesioacuten auditoriacutea de eventos relevantes para la
seguridad y aislamiento de recursos Los siguientes son requisitos miacutenimos para los sistemas
asignados a una clasificacioacuten de nivel C2
La proteccioacuten de objetos puede ser para un solo usuario Por ejemplo a traveacutes de
una base de datos ACL
La autorizacioacuten de acceso solo puede ser asignada por usuarios autorizados
Proteccioacuten de reutilizacioacuten de objetos (Por ejemplo para evitar la reasignacioacuten de
objetos eliminados de manera segura)
Procedimientos obligatorios de identificacioacuten y autorizacioacuten para los usuarios (Por
ejemplo Usuario Contrasentildea)
Auditoriacutea completa de eventos de seguridad (es decir fecha hora evento usuario
eacutexito falla ID de terminal)
42
Modo de operacioacuten del sistema protegido
Proteccioacuten adicional para la autorizacioacuten y los datos de auditoriacutea
Documentacioacuten como C1 maacutes informacioacuten sobre el examen de la informacioacuten de
auditoriacutea
Esta es una de las certificaciones maacutes comunes Los sistemas operativos de ejemplo
son VMS IBM OS 400 Windows NT Novell NetWare 411 Oracle 7 DG AOS
VS II
244 Nivel B1 Los sistemas de este nivel requieren todas las caracteriacutesticas requeridas
para el nivel C2 Ademaacutes debe estar presente una declaracioacuten informal del modelo de poliacutetica de
seguridad etiquetado de datos y control de acceso obligatorio sobre sujetos y objetos nombrados
La capacidad debe existir para etiquetar con precisioacuten la informacioacuten exportada Cualquier falla
identificada por la prueba debe ser eliminada Los siguientes son requisitos miacutenimos para los
sistemas asignados a una clasificacioacuten de nivel B1
Etiquetado obligatorio de seguridad y acceso de todos los objetos (Por ejemplo
archivos procesos dispositivos)
Comprobacioacuten de integridad de etiquetas (Por ejemplo mantenimiento de etiquetas
de sensibilidad cuando se exportan datos)
Auditoriacutea de objetos etiquetados
Control de acceso obligatorio para todas las operaciones
Capacidad para especificar el nivel de seguridad impreso en salida legible para
humanos (Por ejemplo impresoras)
43
Capacidad para especificar el nivel de seguridad en cualquier salida legible por
maacutequina
Auditoriacutea mejorada
Proteccioacuten mejorada del sistema operativo
Documentacioacuten mejorada
Los sistemas operativos de ejemplo son HP-UX BLS Cray Research Trusted
Unicos 80 Digital SEVMS Harris CS SX SGI Trusted IRIX
245 Nivel B2 En los sistemas de nivel B2 el TCB se basa en un modelo de poliacutetica de
seguridad formal claramente definido y documentado que requiere que la aplicacioacuten de control de
acceso discrecional y obligatoria que se encuentra en los sistemas de nivel B1 se extienda a todos
los sujetos y objetos en el sistema Ademaacutes se abordan los canales encubiertos El TCB debe
estructurarse cuidadosamente en elementos criacuteticos para la proteccioacuten y no criacuteticos para la
proteccioacuten La interfaz TCB estaacute bien definida y el disentildeo y la implementacioacuten TCB le permiten
someterse a pruebas maacutes exhaustivas y una revisioacuten maacutes completa Se fortalecen los mecanismos
de autenticacioacuten se proporciona una gestioacuten confiable de las instalaciones en forma de soporte
para las funciones de administrador y operador del sistema y se imponen estrictos controles de
gestioacuten de la configuracioacuten El sistema es relativamente resistente a la penetracioacuten Los siguientes
son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten de nivel B2
Notificacioacuten de cambios en el nivel de seguridad que afectan a los usuarios
interactivos
Etiquetas de dispositivos jeraacuterquicos
44
Acceso obligatorio a todos los objetos y dispositivos
Comunicaciones de ruta confiables entre usuario y sistema
Rastreo de canales de almacenamiento encubiertos
Modo de operaciones del sistema maacutes estricto en unidades independientes de varios
niveles
Anaacutelisis de canales encubiertos
Pruebas de seguridad mejoradas
Modelos formales de TCB
Versioacuten actualizacioacuten y anaacutelisis y revisioacuten de parches
Los sistemas de ejemplo son Honeywell Multics Cryptek VSLAN Trusted
XENIX
246 Nivel B3 El TCB debe satisfacer los requisitos del monitor de referencia para mediar
todos los accesos de los sujetos a los objetos ser a prueba de manipulaciones y ser lo
suficientemente pequentildeo como para ser sometido a anaacutelisis y pruebas Con este fin el TCB estaacute
estructurado para excluir el coacutedigo que no es esencial para la aplicacioacuten de la poliacutetica de seguridad
con una importante ingenieriacutea del sistema durante el disentildeo y la implementacioacuten del TCB dirigido
a minimizar su complejidad Se admite un administrador de seguridad los mecanismos de
auditoriacutea se ampliacutean para sentildealar eventos relevantes para la seguridad y se requieren
procedimientos de recuperacioacuten del sistema El sistema es altamente resistente a la penetracioacuten
Los siguientes son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten de clase
(B3)
45
ACL adicionalmente basadas en grupos e identificadores
Acceso de ruta confiable y autenticacioacuten
Anaacutelisis automaacutetico de seguridad
Modelos TCB maacutes formales
Auditoriacutea de eventos de auditoriacutea de seguridad
Recuperacioacuten confiable despueacutes de la caiacuteda del sistema y documentacioacuten relevante
Cero defectos de disentildeo en TCB y defectos miacutenimos de implementacioacuten
El uacutenico sistema operativo con certificacioacuten B3 es Getronics Wang Federal XTS-
300
247 Nivel A1 Los sistemas en el nivel A1 son funcionalmente equivalentes a los del nivel
B3 en que no se agregan caracteriacutesticas arquitectoacutenicas adicionales ni requisitos de poliacuteticas La
caracteriacutestica distintiva de los sistemas en este nivel es el anaacutelisis derivado de la especificacioacuten
formal del disentildeo y las teacutecnicas de verificacioacuten y el alto grado resultante de seguridad de que el
TCB se implementa correctamente Esta garantiacutea es de naturaleza de desarrollo comenzando con
un modelo formal de la poliacutetica de seguridad y una especificacioacuten formal de alto nivel del disentildeo
Independientemente del lenguaje de especificacioacuten particular o del sistema de verificacioacuten
utilizado existen los siguientes criterios importantes para la verificacioacuten del disentildeo de nivel A1
Meacutetodos formales y prueba de integridad de TCB
Estos son los uacutenicos sistemas con certificacioacuten A1 Boeing MLS LAN Gemini
Trusted Network Processor Honeywell SCOMP (United States Government
Department of Defense 1983)
46
25 Sistemas Operativos
Un sistema operativo actuacutea como intermediario entre el usuario de una computadora y el
hardware de la computadora El propoacutesito de un sistema operativo es proporcionar un entorno en
el que un usuario pueda ejecutar programas de manera conveniente y eficiente
Un sistema operativo es un software que administra el hardware de la computadora El
hardware debe proporcionar mecanismos apropiados para garantizar el correcto funcionamiento
del sistema informaacutetico y para evitar que los programas del usuario interfieran con el correcto
funcionamiento del sistema (Carretero Peacuterez de Miguel Anasagasti Garciacutea Carballeira amp Peacuterez
Costoya 2001)
Un sistema operativo es un programa que controla la ejecucioacuten de programas de aplicacioacuten
y actuacutea como una interfaz entre el usuario de una computadora y el hardware de la computadora
Una definicioacuten maacutes comuacuten es que el sistema operativo es el uacutenico programa que se ejecuta
en todo momento en la computadora (generalmente llamado kernel) y todo lo demaacutes son
programas de aplicacioacuten
Un sistema operativo se ocupa de la asignacioacuten de recursos y servicios como memoria
procesadores dispositivos e informacioacuten El sistema operativo incluye los programas para
administrar estos recursos como un controlador de traacutefico un programador un moacutedulo de
administracioacuten de memoria programas de E S y un sistema de archivos (Pawar 2016)
47
251 Windows Sistema operativo de la empresa Microsoft es un conjunto de programas
que administra los recursos de una computadora Windows empieza a trabajar cuando se enciende
o inicializa el equipo para gestionar el hardware empezando desde los niveles maacutes baacutesicos
Es importante conocer que los sistemas operativos funcionan tanto en las computadoras
como en diferentes dispositivos electroacutenicos que usan microprocesadores En este caso Windows
su versioacuten estaacutendar funciona con computadoras Microsoft domina el mercado de los sistemas
operativos debido a su comodidad se puede decir que eacuteste sistema operativo se encuentra
instalado en el 887 de los equipos de coacutemputo que cuentan con acceso a Internet en todo el
mundo
Se pueden mencionar algunas aplicaciones principales (que eacutestas tambieacuten pueden ser
desinstaladas por los usuarios o actualizadas sin que el sistema operativo se dantildee o deje de
funcionar) se encuentran el procesador de texto WordPad el navegador Internet Explorer el
reproductor multimedia Windows Media y el editor de imaacutegenes Paint
La principal novedad que aportoacute Windows desde sus oriacutegenes fue la facilidad para usarlo
y el atractivo visual De hecho su nombre (ldquoventanasrdquo) se debe a la forma en que el sistema
presenta a los usuarios los recursos con los que cuenta su computadora lo que facilita las tareas
cotidianas Windows tambieacuten suele recibir varias criacuteticas por sus problemas de seguridad y por
otros fallos
48
252 Registro de Windows El registro es una base de datos jeraacuterquica que contiene datos
que son criacuteticos para el funcionamiento de Windows y las aplicaciones y servicios que se ejecutan
en Windows Los datos estaacuten estructurados en un formato de aacuterbol Cada nodo en el aacuterbol se llama
clave Cada clave puede contener subclaves y entradas de datos llamadas valores A veces la
presencia de una clave es el uacutenico dato que requiere una aplicacioacuten otras veces una aplicacioacuten
abre una clave y usa los valores asociados con la clave (Microsoft Inc 2019) Una clave puede
tener cualquier nuacutemero de valores y los valores pueden tener cualquier forma El registro es
utilizado por
Autenticacioacuten
Nuacutecleo (Kernel)
Controladores de dispositivos
Servicios
SAM
Las carpetas del sistema se almacenaraacuten en distintas rutas de acceso dependiendo de la
versioacuten de Windows con la que se esteacute trabajando a continuacioacuten cuatro de los cinco archivos
que maacutes interesan a esta investigacioacuten se encuentran en la siguiente ubicacioacuten SystemRoot
System32 Config dentro de las siguientes sub llaves
SAM - HKEY LOCAL MACHINE SAM
SECURITY - HKEY LOCAL MACHINE SECURITY
SOFTWARE - HKEY LOCAL MACHINE SOFTWARE
SYSTEM - HKEY LOCAL MACHINE SYSTEM
49
253 Administrador de cuentas de seguridad El administrador de cuentas de seguridad
(SAM por sus siglas en ingleacutes) es una base de datos en donde se encuentran las cuentas de
seguridad Esto es utilizado por Windows para administrar las cuentas de usuario y contrasentildeas en
el formato hash
Las contrasentildeas nunca se almacenan en formato de texto claro Se almacenan en formato
de hash para protegerlas de los ataques La base de datos SAM se implementa como un archivo de
registro y las obtiene del kernel de Windows y mantiene un bloqueo exclusivo al archivo SAM
esto quiere decir que el archivo tiene cierta medida de seguridad para el almacenamiento de las
contrasentildeas (Hernandez 2013)
No es posible copiar el archivo SAM a otra ubicacioacuten en el caso de los ataques en liacutenea
Dado que el archivo SAM estaacute bloqueado con un bloqueo exclusivo al sistema de archivos no
puede ser copiado o movido mientras se ejecuta Windows El bloqueo no iniciaraacute hasta que la
excepcioacuten de la pantalla azul haya sido inicializada o el sistema operativo haya sido apagado Sin
embargo los archivos en formato hash de contrasentildeas fuera de liacutenea estaacuten disponibles para los
ataques de fuerza bruta el contenido del archivo SAM puede ser copiado o descargado utilizando
diversas teacutecnicas
Un identificador de seguridad (SID) es un valor uacutenico de longitud variable utilizado para
identificar a un usuario Cada cuenta tiene un SID uacutenico emitido por una autoridad como un
controlador de dominio de Windows y almacenado en una base de datos de seguridad Cada vez
50
que un usuario inicia sesioacuten el sistema recupera el SID para ese usuario de la base de datos y lo
coloca en el token de acceso para ese usuario El sistema usa el SID en el token de acceso para
identificar al usuario en todas las interacciones posteriores con la seguridad de Windows Cuando
se ha usado un SID como identificador uacutenico para un usuario o grupo no se puede volver a usar
para identificar a otro usuario o grupo
La seguridad de Windows usa SID en los siguientes elementos de seguridad
En descriptores de seguridad para identificar al propietario de un objeto y grupo
primario
En las entradas de control de acceso para identificar al usuario para quien el acceso
estaacute permitido denegado o auditado
En tokens de acceso para identificar al usuario y los grupos a los que pertenece
2531 Identificador de Seguridad (SID Security Identifier)
S - 1 - 5 - 21 - 3983109318 - 554656936 - 3066752241 - 1000
S - indica que es un string de SID
1 - el nivel de revisioacuten
5 - el identificador de valor de autoridad o authority value no siempre seraacute 5 Entre otros
valores que se pueden encontrar estaacuten los siguientes
51
0 - sin autoridad
1 - autoridad global
2 - autoridad local
3 - autoridad de creador
4 - autoridad no uacutenica
5 - autoridad NT
9 - autoridad de administrador de recursos
21 - 3983109318 - 554656936 - 3066752241 - es el dominio en el que se encuentra el
sistema o el identificador local de la computadora
1000 - ID uacutenico para cada cuenta aquiacute se encuentra el RID (Relative Identifier) Nuacutemero
de longitud variable cualquier grupo o usuario que se cree de manera diferente a la predeterminada
recibiraacute un RID de 1000 o superior En el caso de que el valor sea 500 responde a que este SID
representa la cuenta de un administrador el valor de 500 siempre seraacute el mismo en cualquier cuenta
de administrador a su vez el valor 501 representa el SID de una cuenta Invitado (Guest)
(Hernandez 2013)
254 Autenticacioacuten NTML NTLM (NT LAN Manager) es un protocolo empleado por
muchos productos de Microsoft para realizar la autenticacioacuten desafiacuteorespuesta por lo tanto es el
esquema de autenticacioacuten que por defecto usa Firewall de Microsoft y tambieacuten los productos del
servidor proxy
52
Este software fue desarrollado para afrontar el problema del trabajo con Tecnologiacuteas Java
en un entorno orientado a Microsoft Puesto que no se basa en ninguna especificacioacuten oficial de
protocolo por lo tanto no hay garantiacutea de que funciona correctamente en todos los casos Tambieacuten
ha estado en algunas instalaciones de Windows donde funcionoacute con eacutexito
La Autenticacioacuten NTLM se compone de dos protocolos protocolo de autenticacioacuten NTLM
y protocolo de autenticacioacuten LM Estos protocolos utilizan una metodologiacutea de hash diferente para
almacenar contrasentildeas de los usuarios en la base de datos SAM (Hernandez 2013) (Meneacutendez-
Barzanallana 17)
26 LINUX (ROCKS)
Rocks es una distribucioacuten para cluacutester de Linux de coacutedigo abierto que permite a los usuarios
finales construir de manera maacutes amigable cluacutesteres computacionales y muros de visualizacioacuten en
mosaico Cientos de investigadores de todo el mundo han utilizado Rocks para implementar su
propio cluacutester
Desde mayo de 2000 el grupo Rocks ha abordado las dificultades de implementar cluacutesteres
manejables Encaminados hacia un objetivo crear cluacutesters de manera maacutes sencilla Por sencilla
significa faacutecil de implementar administrar actualizar y escalar Este objetivo impulsa a los
creadores de esta herramienta a ayudar a entregar el poder computacional de los cluacutesteres a una
amplia gama de usuarios cientiacuteficos Estaacute claro que poner a disposicioacuten de una amplia gama de
53
cientiacuteficos plataformas de computacioacuten paralelas estables y manejables ayudaraacute enormemente a
mejorar el estado del arte en herramientas paralelas (Rocksclusters 2010)
261 Escritorio De todos los escritorios disponibles para el sistema operativo Linux
GNOME ha logrado convertirse en el maacutes eficiente estable y confiable sin dejar de ser sencillo
de usar De hecho la mayoriacutea de los usuarios independientemente de su experiencia pueden
trabajar con GNOME casi sin esfuerzo
Los usuarios que son nuevos tanto en Linux como en GNOME hariacutean mejor en conocer
los entresijos del escritorio que hacen que Linux no solo sea faacutecil sino tambieacuten divertido
Un entorno de escritorio agrupa programas que trabajan juntos para formar un espacio de
trabajo informaacutetico cohesivo unificado transparente e interactivo para los usuarios O para
decirlo de manera maacutes simple el entorno de escritorio es la interfaz de usuario para el sistema
operativo En el caso de GNOME ese sistema operativo es Linux Sin un entorno de escritorio su
uacutenica alternativa es una sesioacuten de Shell (liacutenea de comandos) basada en texto (Wallen 2019)
262 Paquete de Oficina Una suite ofimaacutetica es una coleccioacuten de software creada por el
mismo proveedor y disentildeada para ser utilizada para tareas rutinarias dentro de una organizacioacuten
Por lo general una suite ofimaacutetica incluye aplicaciones como procesamiento de texto hojas de
caacutelculo presentacioacuten correo electroacutenico toma de notas base de datos colaboracioacuten y otros tipos
de software relacionados En la mayoriacutea de los casos cada aplicacioacuten en la suite ofimaacutetica se puede
instalar por separado y todas las aplicaciones dentro de la suite admiten la interoperabilidad entre
54
siacute Microsoft Office Suite Lotus Live Notes y LibreOffice son todas suites de oficina de uso
comuacuten
263 Organizador de archivos Es una funcioacuten avanzada disentildeada para agrupar y
renombrar archivos usando sus atributos del sistema o meta atributos
Cada archivo tiene atributos del sistema como la fecha (Acceso Creado y Modificado) el
tipo de archivo (definido por extensioacuten) y asociado con la aplicacioacuten registrada de ese tipo de
archivo Estos atributos se pueden usar para generar un nuevo nombre de archivo o carpeta (grupo)
para cada archivo con el mismo atributo Ademaacutes de los atributos del sistema algunos archivos
en su mayoriacutea medios o imaacutegenes pueden contener metacampos como el nombre del artista el
tiacutetulo el nombre del aacutelbum y otros El Organizador de archivos tambieacuten usa estos metacampos
para agrupar archivos en una carpeta con el mismo atributo Por lo tanto el organizador de archivos
opera reglas de organizacioacuten de archivos que definen la jerarquiacutea de agrupacioacuten de carpetas y las
reglas de cambio de nombre de archivos
Asiacute como el conocido ldquoexplorador de Windowsrdquo Linux integra un organizador de archivos
y carpetas llamado NAUTILUS para realizar tareas de manejo de archivos como mover copiar
renombrar crear carpetas y de esta manera administrar nuestros dispositivos de almacenamiento
55
27 Agrupamiento (Cluacutester) de Computadoras
El agrupamiento (cluacutester) de computadoras estaacute conformado por una coleccioacuten de
computadoras autoacutenomas interconectadas trabajando unidas como un solo recurso de computacioacuten
integrado El concepto de agrupamiento de computadoras nacioacute cuando los pioneros de la
supercomputacioacuten intentaban difundir diferentes procesos entre varias computadoras para luego
poder recoger los resultados que dichos procesos debiacutean producir Con un hardware maacutes barato y
faacutecil de conseguir se pudo perfilar que podriacutean conseguirse resultados muy parecidos a los
obtenidos con aquellas maacutequinas mucho maacutes costosas (Chirinov 2003)
Un agrupamiento de computadoras se puede definir como el trabajo realizado por dos o
maacutes computadoras que en conjunto se encargan de proveer una determinada solucioacuten Tiene como
finalidad agrupar el poder de coacutemputo de los nodos implicados para proporcionar una mayor
escalabilidad disponibilidad y fiabilidad (Branch Bedoya amp Mesa Muacutenera 2008)
La escalabilidad es la capacidad de un equipo para hacer frente a voluacutemenes de trabajo
cada vez mayores sin por ello dejar de prestar un nivel de rendimiento aceptable
La disponibilidad y la fiabilidad se encuentran bastante relacionadas aunque difieren
ligeramente en algunos aspectos La disponibilidad es la calidad de estar presente y listo para su
uso mientras que la fiabilidad es la probabilidad de un correcto funcionamiento
56
Entre los tipos de agrupamiento maacutes comunes se pueden encontrar de alta disponibilidad
(ambiente a prueba de fallas) coacutemputo de alto desempentildeo (los procesos o las tareas dadas se
presentan como un solo sistema virtual) y escalamiento horizontal (se utiliza para proporcionar
una sola interfaz a un conjunto de recursos que pueden aumentar o disminuir arbitrariamente su
tamantildeo en un cierto periodo de tiempo) (Gonzaacutelez Ramiacuterez amp Rodriacuteguez Saacutenchez 2008)
271 Beowulf Es una clase de computadora masivamente paralela de altas prestaciones
principalmente construida a base de agrupamiento de componentes hardware estaacutendar (Llorens amp
Pentildea 2002) Consta de un conjunto de nodos minimalistas unidos por un medio de
comunicaciones econoacutemico Esto quiere decir que tienen lo miacutenimo para ejecutar su funcioacuten de
hecho los nodos por siacute solos no son capaces de ejecutar siquiera un sistema operativo (Nievas
Pino amp Arroyo) Se puede ver como una supercomputadora paralela construida con hardware
comercial de faacutecil adquisicioacuten que posee como sistema operativo Linux Los cluacutesters Beowulf son
extremadamente poderosos pero no son para todas las personas Su principal desventaja es que
requieren software disentildeado para poder aprovechar los recursos del cluacutester (Lizaacuterraga 2002)
272 Mosix Seguacuten Peacuterez (2001) la arquitectura Mosix estaacute basada en la misma ideologiacutea
de la arquitectura Beowulf Se basa en un conjunto de parches aplicados al nuacutecleo (kernel) de Linux
y que asignan a todo el grupo de nodos un espacio de direcciones y de procesos comuacuten gracias al
cual los procesos migran de uno a otro con el fin de equilibrar favorablemente la carga del sistema
global Es una herramienta disentildeada para realizar balanceo de carga en el agrupamiento de forma
totalmente transparente de manera tal que los nodos se comportan como una sola maacutequina y asiacute
incrementar el aprovechamiento de cada uno de los nodos (Chaacutevez y otros 1999) La principal
57
ventaja de Mosix frente a Beowulf se basa precisamente en esto Mosix da mejores respuestas que
Beowulf frente a la caiacuteda o insercioacuten de nodos A parte de esto Mosix permite un cambio constante
de aplicacioacuten o incluso el correr aplicaciones independientes de forma simultaacutenea
273 OpenMosix OpenMosix es una extensioacuten del proyecto Mosix Seguacuten Chirinov
(2003) la idea de este modelo es que la distribucioacuten de tareas en el cluacutester la determina OpenMosix
de forma dinaacutemica conforme se van creando tareas Cuando un nodo estaacute demasiado cargado las
tareas que se estaacuten ejecutando pueden migrar a cualquier otro nodo del cluacutester Asiacute desde que se
ejecuta una tarea hasta que eacutesta muere podraacute migrar de un nodo a otro sin que el proceso sufra
mayores cambios
Ademaacutes OpenMosix funciona a nivel de kernel por tanto puede conseguir toda la
informacioacuten que necesite para decidir que tanto estaacute cargado un sistema y queacute pasos se deben
seguir para aumentar el rendimiento ademaacutes puede realizar maacutes funciones que cualquier
aplicacioacuten a nivel de usuario
Despueacutes de elegir el tipo de cluacutester a utilizar se procede a elegir los elementos baacutesicos que
se emplearaacuten para implementar el cluacutester capacidad de procesamiento memoria espacio del disco
de cada nodo asiacute como tambieacuten el ancho de banda de la comunicacioacuten entre los nodos Se deberaacute
decidir cuaacuteles son importantes basaacutendose en la variedad de aplicaciones que se piensen ejecutar
en el cluacutester y de la cantidad de dinero que se disponga para construirlo
58
Bajo estos mismos paraacutemetros se debe escoger tambieacuten el tipo de red que interconectaraacute
los nodos (Turner 2004)
Luego se debe escoger el sistema operativo a utilizar Esta eleccioacuten dependeraacute mucho de
la maacutequina que se escoja Linux es siempre una opcioacuten en cualquier maacutequina y es la eleccioacuten maacutes
comuacuten Muchas de las herramientas necesarias para la implementacioacuten de un cluacutester han sido
desarrolladas bajo Linux Pero existen cluacutesters corriendo bajo Windows NT UNIX Solaris y AIX
59
Capiacutetulo 3 Implementacioacuten de Cluacutester
31 Requisitos previos
Antes de iniciar la instalacioacuten del FrontEnd es necesario asegurarse que las conexiones de
red de los equipos junto con la configuracioacuten de la BIOS de cada uno sean las correctas
311 Conexioacuten de los equipos y acceso a la red
Un cluacutester de alto desempentildeo funciona como un uacutenico equipo el cuaacutel comparte los recursos
de los nodos esclavos con el nodo maestro para ello es esencial la existencia de una red interna de
alta velocidad por medio de la cual se realice la comunicacioacuten entre el nodo maestro y los nodos
esclavos como se muestra en la Figura 31 El nodo maestro necesitaraacute 2 tarjetas de red de alta
Figura 31 Esquema tiacutepico de configuracioacuten de un cluacutester (Fuente Elaboracioacuten propia)
60
velocidad una para la comunicacioacuten interna y otra para la comunicacioacuten con redes externas El
sistema operativo Rocks asigna automaacuteticamente la interface ldquoeth0rdquo a la red interna del cluacutester y
la interface ldquoeth1rdquo a la red externa En caso de que Rocks sea incapaz de determinar cuaacutel es la red
externa debido a la falta de conexioacuten a internet estas podriacutean ser asignadas de manera incorrecta
por tal motivo se sugiere asegurar el nombre de cada una de las interfaces
Dado que Rocks no permite volverlas a asignar una vez finalizada la instalacioacuten es
necesario volver a reinstalarlo para poder solucionar este inconveniente
312 Configuracioacuten de la BIOS Para evitar problemas durante la instalacioacuten conviene
configurar correctamente la Bios
3121 ATAIDE Mode Algunos sistemas operativos puede que no sean capaces de
reconocer el controlador del disco duro como es en el caso de esta distribucioacuten de Rocks usada
Para evitar complicaciones de tener que antildeadir el controlador a mano lo mejor es habilitar el modo
ldquoLegacyrdquo de controlador de disco duro
61
Para ello se accede a la Bios pulsando F2 al encender el equipo se situacutea en la pestantildea
ldquoAdvancedrdquo y se selecciona ldquoDrive Configurationrdquo como se muestra en la Figura 32
Figura 32 Imagen del Bios del equipo en la opcioacuten ldquodrive configurationrdquo (Fuente Elaboracioacuten propia)
Figura 33 Bios ATAIDE Legacy Mode (Fuente Elaboracioacuten propia)
62
Dentro del menuacute se tiene que seleccionar el Modo ldquoLegacyrdquo en la opcioacuten ldquoATAIDE
Moderdquo como se muestra en la Figura 33 y para salir se guardan los cambios con F10
3122 PXE Al momento de instalar un nodo puede ocurrir falla al arrancar y aparecer
bootsplash (Reboot and Select proper device) Para evitarlo es necesario habilitar la opcioacuten de
PXE para que tome los archivos de instalacioacuten del nodo maestro a traveacutes de la red interna
En la Bios se selecciona la pestantildea ldquoBootrdquo y dentro de ese mismo menuacute se deshabilita
ldquoSilent bootrdquo y se habilita la opcioacuten de ldquoPXE boot to lanrdquo como se muestra en la Figura 34
Finalmente hay que verificar que en la secuencia de arranque (Figura 35) como primer
dispositivo sea desde red para que de esta manera inicie desde el PXE
Figura 34 Bios Boot PXE (Fuente Elaboracioacuten propia)
63
Se guardan los cambios antes de salir
32 Instalacioacuten de Sistema Operativo Rocks
Una vez configurados los equipos se enciende el equipo que seraacute el nodo maestro
(FrontEnd) en el cuaacutel previamente se ha modificado la secuencia de inicio del boot desde la Bios
de modo que al insertar el CD de Rocks eacuteste procederaacute a iniciar la instalacioacuten con la siguiente
pantalla que se muestra a continuacioacuten
Figura 35 Bios Boot device prioriry (Fuente Elaboracioacuten propia)
64
Para iniciar la instalacioacuten uacutenicamente se selecciona la opcioacuten ldquoInstall CentOS 7rdquo como se
muestra en la Figura 36 dando asiacute comienzo al proceso de instalacioacuten Tras finalizar un proceso
de carga en memoria Rocks mostraraacute un formulario en entorno graacutefico mediante el cual
procederemos a configurar el FrontEnd
Esta primera pantalla se muestra coacutemo se desea realizar la instalacioacuten puede realizarse
por medio de la descarga del sistema operativo (se requiere internet) En este caso como se muestra
en la Figura 37 dado que previamente se descargoacute el DVD completo se seleccionoacute ldquoCDDVD
based rollsrdquo
Figura 36 Pantalla de Inicio de instalacioacuten de Rocks (Fuente Elaboracioacuten propia)
65
A continuacioacuten Figura 38 se selecciona de la lista de Rolls aquellos que se desean instalar
Figura 37 Pantalla de seleccioacuten de Rolls (Fuente Elaboracioacuten propia)
Figura 38 Listado de opciones de rolls para instalar (Fuente Elaboracioacuten propia)
66
Tras presionar el botoacuten ldquoSubmitrdquo la siguiente pantalla (Figura 39) muestra formulario en
el que hay que indicar la informacioacuten baacutesica del cluacutester entre las cuales aparecen
Fully-Qualified Host Name Nombre con el que se conoceraacute en la red externa el cluacutester
Cluster Name Nombre utilizado para ser identificado dentro de las herramientas del cluacutester
Certificate Organization Locality State and Country Organizacioacuten a la que pertenece el
cluacutester la localidad el estado y la ciudad
Contact URL and LattitudeLongitude Contacto direccioacuten web y posicioacuten GPS
Figura 39 Informacioacuten baacutesica del cluacutester a instalar (Fuente Elaboracioacuten propia)
67
Una vez que se ingresa la informacioacuten al cluacutester se presiona el botoacuten ldquoListordquo y
posteriormente se podraacute cambiar la configuracioacuten baacutesica de la red interna del cluacutester En este caso
Figura 310 se dejoacute el valor por defecto una IP de clase B (1011116)
El siguiente paso es la configuracioacuten de la red externa (para tener acceso a internet) En
este punto se introducen los datos de la red externa a la que se encuentra conectado el nodo
maestro como se muestra en la Figura 311
Figura 310 Configuracioacuten Ethernet de la red privada (Fuente Elaboracioacuten propia)
Figura 311 Configuracioacuten Ethernet de la red puacuteblica (Fuente Elaboracioacuten propia)
68
Para terminar de configurar la red externa como se muestra en la Figura 312 se ingresa la
direccioacuten IP del Gateway y los DNS (Servidor de nombre de dominio) que va a usar para el acceso
a internet
Se continuacutea con el resto del formulario donde se introduce la contrasentildea para el usuario
root tal y como se muestran en la Figura 313
Figura 312 Configuracioacuten de DNS y Gateway (Fuente Elaboracioacuten propia)
Figura 313 Ingresar contrasentildea de usuario root (Fuente Elaboracioacuten propia)
69
Paso siguiente se procede a seleccionar la zona horaria como se muestra en la Figura 314
donde se encuentra ubicado el cluacutester asiacute como un servidor de donde podraacute obtener la zona horaria
automaacuteticamente en este caso se dejoacute el valor por default
En el formulario de la Figura 315 se selecciona la forma de particionar el disco duro
(automaacutetica manual) una vez seleccionado daraacute comienzo al proceso de instalacioacuten de manera
Figura 314 Configuracioacuten horaria (Fuente Elaboracioacuten propia)
Figura 315 Particiones del disco duro (Fuente Elaboracioacuten propia)
70
desatendida Cuando ha concluido la instalacioacuten el equipo se reiniciaraacute y se requeriraacute iniciar con
el usuario root y la contrasentildea establecida previamente
321 Configuracioacuten del teclado Debido a que el teclado por defecto estaacute en idioma
ingleacutes podriacutea provocar problemas al momento de escribir la contrasentildea u otros comandos
Seguacuten las pruebas realizadas aunque se cambie la configuracioacuten del teclado desde el menuacute
de preferencias uacutenicamente se mantiene dentro de la sesioacuten desde la que se ha cambiado dicha
opcioacuten (lo cual implica que la contrasentildea de usuario hay que introducirla seguacuten la distribucioacuten
inglesa)
33 Instalacioacuten de los nodos
Previo a la instalacioacuten de los nodos esclavos cada uno de los equipos fueron configurados
desde la Bios para que arranquen desde la red (seccioacuten 3122) Para ir antildeadiendo los nodos solo
se tiene que introducir el siguiente comando desde nuestro FrontEnd
$insert-ethers
A continuacioacuten como se muestra en la Figura 316 apareceraacute una ventana en la pantalla
en la cual se seleccionaraacute la opcioacuten ldquoComputerdquo
71
Una vez realizado este paso se procede a encender los equipos que funcionaraacuten como
nodos esclavos uno a uno
Se sugiere esperar a que cada nuevo equipo encendido esteacute marcado con un asterisco antes
de proceder a encender el siguiente como se muestra en la Figura 317 De esta manera se asegura
que cada nuevo nodo antildeadido posea el nombre y numeracioacuten deseada
Figura 316 Pantalla para ingresar nodos (Fuente Elaboracioacuten propia)
Figura 317 Indicador de insercioacuten de nuevos nodos (Fuente Elaboracioacuten propia)
72
Puede darse el caso de que un nodo no sea detectado automaacuteticamente eso indica que se
ha omitido alguacuten paso o parte de la configuracioacuten realizada hasta el momento es incorrecta En ese
caso comprobar lo siguiente
Que el nodo esclavo este correctamente conectado a la red interna
Que el FrontEnd (nodo maestro) tenga correctamente configurada la red interna y externa
Que el PXE esteacute habilitado en la Bios del nodo esclavo
331 Administracioacuten de nodos Algunos de los comandos maacutes uacutetiles para para la gestioacuten
de los nodos son los siguientes
Eliminar un nodo de la lista
Reinstalar un nodo
Listar los nodos ya instalados
Acceder a un nodo
$rocks remove host nombre_nodo
$rocks remove host nombre_nodo
$rocks set host boot nombre_nodo action=install
$rocks set host boot nombre_nodo action=install
$rocks list host
$rocks list host
$ssh nombre_nodo
$ssh nombre_nodo
73
Ejecutar un comando de manera remota a un nodo
332 Creacioacuten de cuentas de usuario Para agregar a un usuario hay que realizar los
siguientes pasos
1 Creacioacuten de la cuenta
$useradd nombre_usuario
2 Asignacioacuten de una contrasentildea
$passwd nombre_usuario
3 Sincronizacioacuten de la cuenta de usuario con el resto de nodos
$rocks-user-sync
333 Configuracioacuten del directorio compartido El directorio share es compartido por el
FrontEnd y el resto de nodos se localiza dentro del FrontEnd en la carpeta exports siendo la
carpeta share un enlace simboacutelico a esta uacuteltima
Al principio es posible que no se sincronicen correctamente los archivos introducidos en el
directorio debido a que la carpeta inicialmente estaacute vaciacutea por lo que para solucionar este
inconveniente puede usarse el comando siguiente para reiniciar dicho servicio
$ssh nombre_nodo lsquocomandorsquo
$ssh nombre_nodo lsquocomandorsquo
$cd
$export fs ndashrv
service nfs restart
$cd
$export fs ndashrv
service nfs restart
74
34 Operaciones baacutesicas de Rocks
Comandos y aplicaciones esenciales para el manejo del cluacutester
Ver que rolls estaacuten instalados
$rocks list roll
Visualizar el estado del sistema Figura 318
$qstat ndashf
Probar el sistema de colas para distribuir tareas a los nodos
Para ello se prueba que el SGE del cluacutester funcione enviaacutendole una serie de trabajos
mediante el comando qsub
En primer lugar se crea un fichero (pruebapl) que tenga permisos de ejecucioacuten con el
siguiente contenido
Figura 318 Comando qstat ndashf (Fuente Elaboracioacuten propia)
75
usrbinperl
for(my $i=0$ilt30$i++) sleep(2) print okn
Y se ejecuta con el siguiente comando
$ for ((i=1ilt=10i+=1)) do qsub pruebapl done
Al ejecutarse se puede comprobar que los trabajos se han mandado Figura 319
Y al realizar de nuevo un ldquoqstat ndashfrdquo Figura 320 se observa coacutemo se van realizando
Figura 319 Enviacuteo de trabajos por medio del comando qsub (Fuente Elaboracioacuten propia)
Figura 320 Estado de los trabajos pendientes mostrados por qstat ndashf (Fuente Elaboracioacuten propia)
76
Para ver la carga de trabajo en el cluacutester de manera global y de forma graacutefica se tiene que
ingresar en un navegador web en la siguiente direccioacuten httplocalhostganglia apareceraacute la
Figura 321
Figura 321 Visualizacioacuten de la distribucioacuten de cargas en el cluacutester usando la herramienta Ganglia (Fuente Elaboracioacuten propia)
77
Capiacutetulo 4 Metodologiacutea y Resultados
Una vez finalizada la instalacioacuten y puesta en operacioacuten del equipo se analizaron diferentes
metodologiacuteas de trabajo lo que implicoacute un trabajo arduo debido a que existen complicaciones
cuando se buscan temas relacionados a vulnerar sistemas operativos La realizacioacuten de este
proyecto estaacute basado en la metodologiacutea de Joshua Picolet ldquoCracking Methodologyrdquo (Picolet
2017)
41 Obtener Archivo hash
Se pueden vulnerar contrasentildeas de Windows de diferentes maneras Una de ellas es
mediante el acceso al archivo del Administrador de cuentas de seguridad (SAM) el cual se detalla
en el apartado 253 a traveacutes de la obtencioacuten de las contrasentildeas del sistema en su forma hash por
medio de herramientas diferentes Alternativamente las contrasentildeas se pueden leer desde la
memoria lo que tiene el beneficio adicional de recuperar las contrasentildeas en texto plano y evitar el
requisito de descifrado Para comprender los formatos que se observan cuando se descarguen
hashes del sistema de Windows se requiere una breve descripcioacuten de los diferentes formatos de
almacenamiento
Originalmente las contrasentildeas de Windows de menos de 15 caracteres se almacenaban en
el formato hash de Lan Manager (LM) Algunos sistemas operativos como Windows 2000 XP y
Server 2003 continuacutean usando estos hashes a menos que esteacuten deshabilitados por el usuario
Ocasionalmente un sistema operativo como Windows Vista puede almacenar el hash LM para la
compatibilidad con otros sistemas Seguacuten analistas incluye varias vulnerabilidades como dividir
78
la contrasentildea en dos bloques y permitir que cada uno se descifre de forma independiente Mediante
el uso de tablas Rainbow es trivial descifrar una contrasentildea almacenada en un hash LM
independientemente de la complejidad Este hash se almacena con la misma contrasentildea calculada
en el formato de hash NT como el que se muestra en el siguiente ejemplo
Ejemplo de un hash NTLM con el componente LM y NT
Administrator500611D6F6E763B902934544489FCC9192BB71ED1E7F2B60ED5A2
EDD28379D45C91
Los sistemas operativos Windows maacutes recientes como el Windows 8 y 10 usan el hash NT
En teacuterminos simples no hay una debilidad significativa en este hash que lo diferencie de cualquier
otra funcioacuten hash criptograacutefica Se requieren meacutetodos de descifrado como lo es la fuerza bruta o
ataque de diccionario para recuperar la contrasentildea si uacutenicamente se almacena en el formato NT
Ejemplo de un hash NTLM uacutenicamente con el componente NT (como se ve en los sistemas
Windows mas recientes
Administrator500NOPASSWORDEC054D40119570A4663
4350291AF0F72
Es importante sentildealar que la cadena NO PASSWORD es variable seguacuten la herramienta
que se utilice Otras pueden presentar esta informacioacuten como ceros rellenos o comuacutenmente puede
79
ver la cadena ldquoAAD3B435B51404EEAAD3B435B51404EErdquo en lugar de ninguna contrasentildea
Esto significa que el hash LM estaacute vaciacuteo y no estaacute almacenado
El archivo hash se encuentran en el directorio ldquoWindows System32 configrdquo y se
necesitan ambos archivos SAM y SYSTEM Ademaacutes tambieacuten se encuentran en el archivo de
registro HKEY_LOCAL_MACHINE SAM al que no se puede acceder durante el tiempo de
ejecucioacuten Finalmente las copias de seguridad se pueden encontrar a menudo en ldquoWindows
Repairrdquo (Peleus 2019)
Para extraer el archivo hash de un sistema operativo con un nivel de seguridad C1 existen
diferentes meacutetodos en esta ocasioacuten se procederaacute a iniciar el equipo objetivo con una distribucioacuten
de Linux desde una memoria USB como se muestra en la figura 41 para de esta manera ingresar
al directorio CWINDOWSSystem32Config directorio de ubicacioacuten de los archivos SAM y
SYSTEM que son los necesarios para obtener el archivo hash (Caballero 2018)
Figura 41 Arranque con LiveUSB KaliLinux (Fuente Elaboracioacuten propia)
80
42 Dar Formato al Hash
En este punto es donde se tiene que identificar el algoritmo con el que fueron encriptados
los archivos SAM y SYSTEM que se han obtenido en el punto anterior con la finalidad de
seleccionar el tratamiento que se les daraacute El algoritmo de encriptacioacuten del archivo SAM de
Windows 10 es NTLM y ademaacutes estaacute almacenado en un formato binario (ByteBleeder 2017) por
lo que fue necesario instalar la herramienta con licencia GNU samdump2 para obtener la syskey y
de esta manera poder extraer los hash desde el archivo SAM de Windows
En la figura 42 se han obtenido los hashes del archivo SAM donde se puede observar que
los usuarios Administrador e Invitado estaacuten deshabilitados ademaacutes de que existen tres cuentas de
usuario activas las cuales son Gad prueba y usuarioprueba cada una con su contrasentildea cifrada
en formato NTLM a la derecha del nombre de usuario la cuenta usuarioprueba fue a la que se le
realizoacute el anaacutelisis que se detalla posteriormente
43 Evaluar la fuerza del Hash
En criptografiacutea se dice que un algoritmo criptograacutefico se rompe si por alguacuten meacutetodo se
consigue reducir su fortaleza es decir reducir por ejemplo su entropiacutea de los 2256 bits teoacutericos a
Figura 42 Resultado de la ejecucioacuten de la herramienta samdump2 (Fuente Elaboracioacuten propia)
81
tan soacutelo 2255 por ejemplo El hecho de que se encuentre una colisioacuten no implica necesariamente
que un algoritmo se haya roto pues podriacutea haber sido realizado mediante fuerza bruta pero puede
ser una causa
Un ataque de colisioacuten significa que encuentro dos entradas diferentes que producen el
mismo resultado de un hash particular Este es generalmente el tipo de ataque maacutes faacutecil Es el tipo
de ataque que se conoce desde hace varios antildeos contra MD5
Dado que una utilidad importante de las funciones hash estaacute en las firmas digitales
encontrar colisiones puede facilitar falsificar firmas digitales Es decir dos mensajes distintos que
tengan un mismo resumen tienen ademaacutes la misma firma y un atacante puede reemplazar un
mensaje por el otro Un ejemplo de este ataque fue demostrado en 2008 por un grupo de
investigadores en Aacutemsterdam los cuales falsificaron un certificado raiacutez mediante el uso de un
ataque de colisioacuten contra el algoritmo MD5 (Preukschat 2015)
Un ataque previo a la imagen generalmente es mucho maacutes difiacutecil es encontrar otra entrada
que produzca el mismo resultado que un hash que ya se conoce
Para tratar de aclarar la diferencia aquiacute en un ataque de colisioacuten encuentro dos entradas A
y B que producen el mismo resultado En un ataque de preimagen comienzo a partir de alguacuten
resultado conocido X y encuentro una entrada que produciraacute X como resultado (Coffin 2015)
82
Para realizar esta evaluacioacuten se tomoacute como base la tabla del apeacutendice Hash craking
benchmark (Picolet 2017) el objetivo es observar el comportamiento y velocidad del Hash
mencionado cuando fue sometido a pruebas de criptoanaacutelisis Si se trata de un Hash lento se deberaacute
ser maacutes selectivo en queacute tipos de diccionarios y meacutetodos de criptoanaacutelisis se le debe aplicar Si es
un Hash raacutepido se puede ser maacutes libre con la estrategia de criptoanaacutelisis Este estudio busca
realizar una prueba de criptoanaacutelisis mostrando las diferencias entre el poder de procesamiento de
un cluacutester de 17 nodos contra una computadora personal por lo que no necesariamente se
implementaraacute el meacutetodo oacuteptimo para la realizacioacuten del criptoanaacutelisis
44 Calcular la capacidad del equipo
Con la informacioacuten de la evaluacioacuten de la fuerza del Hash obtenida en el apartado anterior en
este apartado se tiene que establecer la capacidad de la plataforma o plataformas que realizaraacuten
el criptoanaacutelisis
Para conocer la capacidad de procesamiento del cluacutester de alto rendimiento se utilizoacute la
herramienta Linpack Benchmark HPL es una implementacioacuten portaacutetil del Benchmark de alto
rendimiento LINPACK para equipos de coacutemputo distribuido Actualmente se utiliza para obtener
varios resultados en la lista actual de Top500 de HP cluacutesters (Dongarra 2010)
El Linpack Benchmark (HPL del Ingleacutes High-Performance Linpack Bench-mark) es un
software que resuelve un sistema lineal aleatorio de doble precisioacuten aritmeacutetica (64 bits) en equipos
de memoria distribuida El rendimiento muestra el nuacutemero de operaciones de punto flotante por
segundo logradas por el sistema (Petitet Whaley Dongarra amp Cleary 2008)
83
El HPL fue desarrollado en el Argone National Laboratory por Jack Don-garra en 1976 y
es uno de los maacutes usados en sistemas cientiacuteficos y de ingenieriacutea para el caacutelculo de prestaciones
Las principales caracteriacutesticas del algoritmo utilizado por el HPL son
Distribucioacuten ciacuteclica de datos de bloques de dos dimensiones
Variante derecha de la factorizacioacuten LU con pivoteo parcial (Teacutecnica de pivoteo
Dicta que el elemento pivote que debe escogerse es el mayor absolutamente de cada
columna)
Factorizacioacuten recursiva con pivoteo y reenviacuteo de columna
Distintas topologiacuteas virtuales de reenviacuteos
Algoritmo de reduccioacuten de reenviacuteo para ancho de banda (Castelloacute Gimeno 2014)
La resolucioacuten del sistema de ecuaciones se realiza del siguiente modo
1 Se crea un sistema de ecuaciones
(1)
119860119909 = 119887
(2)
119860 isin 119877119899119909119899
(3)
119909 119887 isin 119877119899
84
HPL calcula que la solucioacuten para un sistema de ecuaciones lineales se puede generalizar
como 119860119909 = 119887 donde 119860 es una matriz 119873 119909 119873 cuyos valores se generan aleatoriamente
119909 119910 119887 son vectores de tamantildeo 119873 Como se muestra en la Figura 43
2 Primero se calcula la factorizacioacuten 119871119880 con pivoteo parcial de los coeficientes 119899 y 119899 + 1
de la matriz [119860 119887]
(4)
119875119903[119860 119887] = [[119871119880] 119910]
(5)
119875119903 119871 119880 isin 119877119899119909119899
(6)
119910 isin 119877119899
El primer paso es la factorizacioacuten de la matriz 119860 en una matriz triangular superior 119880
y una matriz triangular inferior 119871 tal que 119860 = 119871119880 La factorizacioacuten se usa para calcular
el vector solucioacuten 119909
3 Una vez el pivoteo (representado por la permutacioacuten de la matriz 119875119903) y la factorizacioacuten
inferior se aplican sobre 119887 la solucioacuten se obtiene en un paso resolviendo el sistema
superior triangular
Figura 43 Sistema de Ecuaciones tipo 119860119909 = 119887 (Fuente Elaboracioacuten propia)
85
(7)
119880119909 = 119910
La matriz triangular inferior izquierda y el conjunto de pivotes no se devuelven en el
resultado Para la estabilidad numeacuterica el algoritmo de factorizacioacuten utiliza un pivote parcial de
fila
La implementacioacuten paralela de Linpack divide la matriz 119860 119873 119909 119873 en una cuadriacutecula de
procesos 119875 119909 119876 bidimensional y luego la divide en subgrupos de mosaicos 119873119861 119909 119873119861 (Petitet
Whaley Dongarra amp Cleary 2008)
Utilizando la herramienta HPL en esta investigacioacuten se obtuvieron los siguientes
resultados
La prueba abordoacute el ajuste de 119873 y la eficiencia obtenida en comparacioacuten con el rendimiento
maacuteximo Se determinoacute un valor para 119873 = 800000 aleatoriamente para ejecutar HPL en todo el
cluacutester Sin embargo el tiempo fue excesivo por lo tanto se determinoacute que este tamantildeo del
problema fue demasiado grande para el cluacutester Al realizar otros experimentos con valores maacutes
pequentildeos de 119873 se obtuvieron mejores resultados de rendimiento La Tabla 41 muestra el
rendimiento de HPL en GFlops para 119873 = 300000 400000 y 500000 Como se puede observar
en la Tabla 41 se obtuvo el mejor resultado de rendimiento 850 GFlops para 119873 = 500000 para
valores mayores de 119873 la distribucioacuten de cargas del cluacutester empieza a sobrepasar su capacidad como
se muestra en la Figura 44 y la vez su rendimiento disminuye Esto ocurre porque la cantidad de
memoria utilizada con las memorias intermedias de comunicacioacuten MPI es mayor de lo esperado
Por lo tanto es necesario dejar maacutes del 20 de la memoria para el sistema (Petitet Whaley
86
Dongarra amp Cleary 2008) Tambieacuten se realizaron pruebas usando solo un nodo de coacutemputo y el
rendimiento fue de 34 GFlops para 119873 = 20000
Tabla 41 Rendimiento de HP cluacutester (Fuente Elaboracioacuten propia)
Analizando la eficiencia obtenida para la ejecucioacuten de un solo nodo cuando 119873 = 20000
se obtuvo el 823 del rendimiento maacuteximo (el rendimiento maacuteximo para un solo nodo es 477
Gflops) Para todo el cluacutester el rendimiento maacuteximo seriacutea 119879119898119886119909 = 477 119909 17 =
8109 119866119891119897119900119901119904 aproximadamente
Figura 44 Distribucioacuten de cargas del cluacutester
0
500
1000
300000 400000 500000
Gflops
Gflops
87
La Figura 44 titulada ldquoDistribucioacuten de cargas del cluacutesterrdquo muestra la imagen de la
herramienta Ganglia de manera graacutefica a traveacutes de cuadros que variacutean de color dependiendo de la
carga que tenga cada uno de los nodos al momento de implementar la herramienta HPL De manera
inicial indica que el cluacutester tiene un total de 17 equipos de 4 cores cada uno eso da un total de 68
cores trabajando sin equipos inactivos Muestra tambieacuten una sobrecarga en el cluacutester y un
porcentaje promedio de 100 de uso en la uacuteltima hora
45 Establecer Estrategia
Esto significa uacutenicamente que en este apartado se realizaraacute una guiacutea baacutesica para procesar
los hashes obtenidos sin perder de vista que cada escenario a criptoanalizar es uacutenico en funcioacuten
de las circunstancias externas Como ya se ha mencionado anteriormente esta estrategia de
criptoanaacutelisis se ha planteado implementar dos meacutetodos los cuales son Fuerza Bruta y ataque de
diccionario sin importar si son o no los oacuteptimos debido a que se realizaraacute una comparativa de
capacidad de procesamiento
451 Fuerza Bruta Una vez que se han intentado varios meacutetodos y han fallado se puede
iniciar un ataque de fuerza bruta estaacutendar poniendo especial atencioacuten en la cantidad de siacutembolos
del alfabeto que puede usar el equipo a analizar Por encima de 8 caracteres esto generalmente no
tiene sentido debido a limitaciones de hardware y entropiacutea (complejidad de la contrasentildea) Una
contrasentildea de Windows seguacuten Microsoft (Microsoft Inc 2019) una contrasentildea de Windows debe
estaacute formada por
88
26 Caracteres mayuacutesculas de la ldquoArdquo a la ldquoZrdquo
26 Caracteres minuacutesculas de la ldquoardquo a la ldquozrdquo
10 Diacutegitos de base 10 (0 a 9)
32 Caracteres especiales (~$^amp_-+=|()[]ltgt)
94 Caracteres alfanumeacutericos en total
4511 Cantidad de combinaciones posibles Si se usa una clave numeacuterica (nuacutemeros del 0
al 9) existen 10 posibilidades de 4 diacutegitos de longitud que es la extensioacuten por defecto de los
teleacutefonos celulares Para 4 diacutegitos las combinaciones posibles seriacutean 10 mil 104 = 10000
(Labaca Castro 2014)
Por otro lado si tomamos un alfabeto de 26 letras mayuacutesculas y 26 minuacutesculas 10 nuacutemeros
y 10 caracteres especiales en total tenemos 72 diferentes posibilidades para un uacutenico caraacutecter Eso
significa que las combinaciones para una contrasentildea de 4 caracteres seriacutean 724 = 26873856
Baacutesicamente maacutes de 26 millones de combinaciones en una clave de 4 caracteres contra 10 mil en
una clave de 4 diacutegitos numeacutericos En este estudio se utiliza la contrasentildea de bloqueo descrita en el
apartado anterior que es de 94 combinaciones para cada caraacutecter teniendo una longitud de 7
caracteres por lo tanto seraacuten 947 = 64847759000000 de posibles combinaciones que
nuestros equipos deben explorar para obtener la contrasentildea correcta
Como se mencionoacute en el apartado 42 el usuario sobre el cual se realizoacute el criptoanaacutelisis
fue usuarioprueba el cual constaba de una contrasentildea de longitud 7 caracteres la cual despueacutes
de realizado el anaacutelisis y como se puede observar en la Figura 45
89
1 Anaacutelisis a usuario usuarioprueba
2 Nuacutemero de nodos en operacioacuten 17
3 Nuacutemero de procesos ejecutaacutendose de forma paralela 68
4 Tiempo de duracioacuten del anaacutelisis en el cluacutester 122727 horas
5 Contrasentildea criptoanalizada Pass7
Asiacute mismo en la Tabla 42 se muestra el resultado final y el tiempo de duracioacuten del
criptoanaacutelisis realizado al archivo SAM con el cluacutester y la computadora personal
Tabla 42 Resultados de criptoanaacutelisis de archivo SAM (Fuente Elaboracioacuten propia)
Nodos Nuacutecleos Tiempo de Procesamiento (Horas)
1 (PC) 4 1075316
17 (Cluacutester) 68 122727
1
2
3
4 5
Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester (Fuente Elaboracioacuten propia)
90
452 Diccionario Meacutetodo empleado para romper la seguridad de los sistemas basados en
contrasentildeas (password) en la que el atacante intenta dar con la clave adecuada probando todas (o
casi todas) las palabras posibles ingresadas previamente en un diccionario idiomaacutetico
Generalmente se emplean programas especiales que se encargan de ello
Este meacutetodo suele ser maacutes eficiente que el meacutetodo de fuerza bruta debido a que muchas
usuarios casi siempre suelen utilizar contrasentildeas con una o varias palabras existentes en su lengua
para que la contrasentildea no sea olvidada faacutecilmente y sea sencilla de recordar esto no es una praacutectica
recomendable (Alegsa 2018)
Para realizar este meacutetodo se utilizoacute un diccionario descargado de internet el cual contiene
10000000 de posibles contrasentildeas (g0tmi1k 2018)
Ademaacutes se ejecutoacute un programa creado en lenguaje C (Anexo 1) a traveacutes de la
implementacioacuten de las libreriacuteas MPI y open MPI propias de la arquitectura de cluacutester de
computadoras Este programa fue ejecutado en los mismos equipos descritos anteriormente para
obtener todos los nuacutemeros primos encontrados dentro de un intervalo dado En este caso el
intervalo dado fue de 10000000 con los siguientes resultados mostrados en la Tabla 43
Tabla 43 Resultados de ejecucioacuten de programa en C para la obtencioacuten de nuacutemeros primos (Fuente Elaboracioacuten
propia)
Nodos Nuacutecleos Tiempo de Procesamiento (Segs)
1 (PC) 4 5078
17 (Cluacutester) 68 00013
91
453 Analizar los resultados Posterior a realizar el criptoanaacutelisis y descifrar con eacutexito
una cantidad suficiente de hashes se analizan los resultados en busca de pistas o patrones Este
anaacutelisis puede ayudar a tener eacutexito en cualquier hash restante
454 Personalizar ataques Tomando como base el anaacutelisis de resultados realizado
previamente se disentildearaacuten diversas estrategias personalizadas que aprovechen las vulnerabilidades
conocidas o patrones Los ejemplos seriacutean ataques de maacutescara personalizados o reglas para
adaptarse al comportamiento o las preferencias del usuario objetivo
92
Conclusioacuten
El trabajo de investigacioacuten presentado parte de la necesidad de buscar alternativas para
explotar al maacuteximo la capacidad de procesamiento del equipo de coacutemputo que existe actualmente
dentro del inventario del Instituto Tecnoloacutegico de Acapulco asiacute como proveer una plataforma que
coadyuve a la investigacioacuten dentro del Instituto a traveacutes de implementar un cluacutester de coacutemputo
con capacidad para realizar proyectos en el aacuterea de ingenieriacutea y matemaacuteticas con el fin de optimizar
el tiempo de ejecucioacuten lo cual en un futuro se veraacute reflejado en ventajas para el desarrollo de la
regioacuten
La revisioacuten y anaacutelisis de informacioacuten en relacioacuten a cluacutesters es muy interesante pero a la
vez es compleja dado que involucra diferentes aspectos durante su evolucioacuten asiacute como diversas
metodologiacuteas para su formacioacuten e implementacioacuten Se considera de suma importancia para este
trabajo las revisiones efectuadas ya que son la base para la propuesta entregada
De acuerdo a las especificaciones teacutecnicas de los equipos informaacuteticos existentes dentro
del laboratorio de la Maestriacutea en Sistemas Computacionales y una vez que se realizoacute el anaacutelisis
de varios casos de eacutexito se propuso la metodologiacutea para implementacioacuten de un cluacutester homogeacuteneo
tipo Beowolf Este meacutetodo estaacute basado en otros que ya se han implementado bajo realidades
acadeacutemicas similares rescatando las etapas maacutes importantes de cada uno y complementaacutendolo con
los aportes personales se consideroacute que fue el oacuteptimo debido a que se implementoacute con hardware
convencional y herramientas de uso libre
93
El hecho de haber seleccionado un meacutetodo adecuado permitioacute superar gran parte los
problemas que presentaban las metodologiacuteas que fueron analizadas simplificoacute la implementacioacuten
del cluacutester y permitioacute el poder alcanzar una mayor estabilidad en su desempentildeo desde su etapa
inicial fue importante conocer el resultado en cada una de las etapas de implementacioacuten para
asegurar su desenvolvimiento en el futuro
Para integrar los equipos independientes a la arquitectura cluacutester se realizoacute el disentildeo de
una topologiacutea de red Gigabit Ethernet tipo estrella con un direccionamiento IP estaacutetico la
configuracioacuten de protocolos de comunicacioacuten remota sin autenticacioacuten la comparticioacuten de
archivos en red y la utilizacioacuten de aplicaciones de licencia GPL que permiten obtener el
funcionamiento similar a la de una supercomputadora
Haciendo uso de libreriacuteas de paso de mensajes (MPI) y el software John the Ripper para el
descifrado de contrasentildeas la arquitectura cluacutester implementada alcanzoacute una eficiencia de 885
de rendimiento en comparacioacuten con los recursos computacionales de un solo equipo con las
caracteriacutesticas de un nodo Ademaacutes otros de los proyectos ejecutados en la arquitectura cluacutester
para probar el rendimiento fue la ejecucioacuten de un programa para la deteccioacuten de nuacutemeros primos
dentro de un archivo de 10000000 de nuacutemeros obteniendo una eficiencia de maacutes de 99 gracias
a la distribucioacuten de tareas que proporcionan las libreriacuteas de paso de mensajes (MPI) dentro de la
arquitectura cluacutester
Con la implementacioacuten de la arquitectura cluacutester el laboratorio de la Maestriacutea en Sistemas
Computacionales podraacute dar soluciones potentes eficientes y econoacutemicas en los entornos de
94
investigacioacuten mejorando la capacidad de procesamiento en aplicaciones como evaluacioacuten de
algoritmos compresioacuten de archivos renderizacioacuten de imaacutegenes anaacutelisis de datos (big data) en un
tiempo relativamente bajo ideal para las necesidades educativas
La experiencia obtenida al realizar esta investigacioacuten y propuesta ha sido enriquecedora
tanto por la obtencioacuten de conocimiento en base a la historia evolucioacuten y arquitectura de cluacutesters
asiacute como la programacioacuten paralela y sus ventajas en diferentes proyectos desarrollados en todo el
mundo Igualmente la comparacioacuten entre cada uno de los modelos y meacutetodos resulta interesante
dado que existe un sinnuacutemero de ejemplos con caracteriacutesticas diferentes pero baacutesicamente con un
mismo objetivo final
Trabajo Futuro
El cluacutester implementado en el Laboratorio de la Maestriacutea en Sistemas computacionales del
Instituto Tecnoloacutegico de Acapulco puede ser utilizado en gran cantidad de aplicaciones dentro de
las diferentes aacutereas de investigacioacuten del Instituto asiacute como estar disponible para el Departamento
de Posgrado e Investigacioacuten como apoyo durante la realizacioacuten de tareas y proyectos dentro de las
aacutereas de Desarrollo de Sistemas Inteligentes asiacute como de Tecnologiacuteas Web
Propuesta de Trabajo a Futuro
Durante la realizacioacuten de este proyecto se observoacute la necesidad que existe dentro del
departamento de Investigacioacuten y Posgrado de equipos de alta capacidad de procesamiento para
realizar de una manera maacutes eficiente las investigaciones que se estaacuten llevando a cabo Una de ellas
es el ldquoSistema de apoyo al diagnoacutestico oportuno de Retinopatiacutea Diabeacuteticardquo en la cual a traveacutes del
entrenamiento de una red neuronal se clasificaraacuten y evaluaraacuten un nuacutemero de 3000 imaacutegenes para
95
demostrar la presencia de dicha enfermedad en pacientes del Instituto Estatal de Oftalmologiacutea
Actualmente se ha realizado una prueba de entrenamiento de dicha red neuronal con 70 imaacutegenes
obteniendo como resultado un tiempo clasificacioacuten y evaluacioacuten de 301532 horas en un equipo
con un procesador Core I7 con 8 GB en memoria RAM
96
Bibliografiacutea
Alegsa (01 de 01 de 2018) Alegsa Diccionario Informaacutetico Recuperado el 07 de 2019 de
Alegsa httpwwwalegsacomarDicataque_por_diccionariophp
Avecto (2017) Avecto Limited Recuperado el 10 de 08 de 2018 de AVECTO a Bomgar
Company wwwavectocom
Borghello C (2009) Seguridad de la Informacioacuten Recuperado el 11 de 2018 de Criptografiacutea de
la A-Z httpswwwsegu-infocomarproyectosp1_hashhtm
Branch Bedoya J amp Mesa Muacutenera A (Diciembre de 2008) Implementacioacuten de un cluster
homogeacuteneo para la resolucioacuten de problemas de alta complejidad computacional Avances
en Sistemas e Informaacutetica 5(3)
ByteBleeder (02 de 06 de 2017) Practical guide to NTLM Relaying in 2017 Obtenido de Github
httpsbyt3bl33d3rgithubiopractical-guide-to-ntlm-relaying-in-2017-aka-getting-a-
foothold-in-under-5-minuteshtml
Caballero A (26 de 06 de 2018) Hacking Eacutetico Recuperado el 03 de 2019 de John The Ripper
httpwwwreydescomdq=Recuperar_la_Contrasena_del_Administrador_utilizando_s
amdump2_y_John_The_Ripper
Carretero Peacuterez J de Miguel Anasagasti P Garciacutea Carballeira F amp Peacuterez Costoya F (2001)
Sistemas Operativos Una visioacuten aplicada (C F Madrid Ed) Madrid Espantildea
McGRAW-HillInteramericana
Castelloacute Gimeno A (30 de 07 de 2014) Universitat Jaume Recuperado el 10 de 2019 de
Evaluacioacuten de prestaciones mediante laaplicacioacuten HPL de clusters utilizandorCUDA
97
httprepositoriujiesxmluibitstreamhandle10234115082TFM_2014_CastelloGimen
oApdfsequence=1ampisAllowed=y
Chaacutevez J Echeverriacutea C Correa M Vaacutezquez E Suaacuterez M Maacutermol X Diacuteaz G (07 de
1999) Centro de Caacutelculo Cientiacutefico Recuperado el 01 de 05 de 2018 de Universidad de
Los Andes httpwwwcecalculavedocumentaciontutorialesbeowulfinformehtml
Chirinov R (2003) Nfinite9000 SL Recuperado el 26 de 04 de 2018 de Noticias 3D
httpswwwnoticias3dcomarticuloaspidarticulo=248amppag=4
Coffin J (23 de 07 de 2015) Quora Recuperado el 15 de 08 de 2019 de
httpswwwquoracomWhat-does-it-mean-when-a-hashing-algorithm-has-been-broken
Dongarra J (2010) Top500 Super computer sites Recuperado el 07 de 2019 de http
wwwtop500org
Educba (01 de 01 de 2019) Recuperado el 10 de 2019 de Educbaorg
httpswwweducbacomidea-algorithm
europa press (04 de 06 de 2013) Portal Tic Recuperado el 18 de 11 de 2018 de Europa Press
httpswwweuropapressesportalticgadgetsnoticia-cuarta-generacion-intel-core-mayor-
salto-cuanto-ahorro-energetico-20130604174722html
g0tmi1k (2018) github Recuperado el 05 de 2019 de github
httpsgithubcomdanielmiesslerSecListsblobmasterPasswordsCommon-
Credentials10-million-password-list-top-1000000txt
Gonzaacutelez Agudelo D (2014) El riesgo y la falta de politicas de seguridad informaacutetica una
amenaza en las empresas certificadas basc Recuperado el 20 de 05 de 2018 de
Universidad Militar Nueva Granada
httpsrepositoryunimilitareducobitstream10654122511ENSAYO20FINALpdf
98
Gonzaacutelez Ramiacuterez E amp Rodriacuteguez Saacutenchez A (2008) Disentildeo e implementacioacuten de un cluster
tipo BEOWULF para el desarrollo de coacutemputo cientiacutefico avanzado CdMx Mexico
Hernandez M (2013) Forensics Mexico Recuperado el 07 de 2018 de La importancia del
registro de Windows parte 1 httpforensicsmexicoblogspotcom201309la-
importancia-del-registro-de-windowshtml
Kowalczyk C (01 de 2015) Crypto-IT Recuperado el 11 de 2018 de Crypto-IT
httpwwwcrypto-itnetengasymmetricindexhtml
Labaca Castro R (13 de 06 de 2014) We live security Recuperado el 2019 de 08 de 07 de
Welivesecuritybyeset httpswwwwelivesecuritycomla-es20140613matematica-
claves-numerica-alfanumerica
Lizaacuterraga C (2002) Departamento de Fiacutesica Recuperado el 12 de 03 de 2018 de Universidad
de Sonora httpclustersfisicausonmx
Llorens E amp Pentildea M (2002) Recuperado el 04 de 2018 de Departament dArquitectura de
Computadors httppersonalsacupceduenricPFCBeowulfbeowulfhtml
Meneacutendez-Barzanallana R (07 de 08 de 17) Universidad de Murcia Recuperado el 11 de 2018
de Informaacutetica Aplicada a las Ciencias Sociales
httpswwwumesdocenciabarzanaIACCSSCriptografiahtml
Merkle R amp Damgaringrd I (sf) Numerenturorg Recuperado el 06 de 2019 de Para computar -
numerenturorg httpnumerenturorgfuncion-merkle-damgard
Microsoft Inc (02 de 05 de 2019) wwwmicrosoftcom Obtenido de Password must meet
complexity requirements httpsdocsmicrosoftcomes-eswindowssecuritythreat-
protectionsecurity-policy-settingspassword-must-meet-complexity-requirements
99
Mifsud E (26 de 03 de 2012) Introduccioacuten a la seguridad informaacutetica Recuperado el 07 de 05
de 2018 de Ministerio de educacioacuten cultura y deportes Gobierno de Espantildea
httprecursosticeducacionesobservatoriowebessoftwaresoftware-general1040-
introduccion-a-la-seguridad-informaticashowall=1
Murugesan S (01 de 02 de 2008) Researchgate doi101109MITP200810
Nahar K amp Abu Abbas O (01 de 2010) Researchgate Recuperado el 07 de 2019 de
Researchgate
httpswwwresearchgatenetpublication315492522_Hybrid_Cipher_System
Nievas F Pino O amp Arroyo R (sf) Los clusters como Plataforma de Procesamiento Paralelo
Recuperado el 25 de 04 de 2018 de
httpusuarioslycoseslacaraocultadescargasClusters_definitivo pdf
Pawar S (2016) A computer science portal for geeks Recuperado el 10 de 2018 de
Geeksforgeeks httpswwwgeeksforgeeksorgrc5-encryption-algorithm
Peleus (2019) NETSEC Recuperado el 08 de 2019 de httpsnetsecwsp=314
Peacuterez Tavera I (2014) Obtenido de Universidad Autonoma del Estado de Hidalgo
httpswwwuaehedumxscigeboletinprepa4n2e4html
Peacuterez M (2001) Recuperado el 15 de 04 de 2018 de
httpwwwdragonesorgBibliotecaArticulosArquitecturaParalela2pdf
Petitet A Whaley R C Dongarra J amp Cleary A (2008) HPL - A Portable Implementation of
the High-Performance Linpack Benchmark for Distributed-Memory Computers
Recuperado el 07 de 2019 de httpwwwnetliborgbenchmarkhpl
Picolet J (2017) Hash Crack Password Cracking Manual (Vol 2) Createspace Independent
Pub
100
Preukschat A (23 de 02 de 2015) Oro y Finanzas Recuperado el 07 de 2019 de
httpswwworoyfinanzascom201502que-es-colision-criptografia-bitcoin
Robbins D (2008) OpenMosix Recuperado el 22 de 04 de 2018 de the openMosix Project
httpopenmosixsourceforgenetintroduction_to_openmosixhtml
Rocha Quezada J d Botello Rionda S Vargas Feacutelix J M amp Munguiacutea Torres I A (Sep-Dic
de 2011) Disentildeo e implementacioacuten de un cluacutester de coacutemputo de alto rendimiento Acta
Universitaria 21(3) 24-33 Recuperado el 1 de 12 de 2018
Rocksclusters (01 de 01 de 2010) httpwwwrocksclustersorg Recuperado el 01 de 06 de 2018
de httpwwwrocksclustersorg httpwwwrocksclustersorg
Sanjoy K (01 de 01 de 2015) DZone Recuperado el 15 de 06 de 2019 de DZone
httpsdzonecomarticlessecurity-algorithms-des-algorithm
Security Degree Hub (01 de 2017) Security Degree Hub Recuperado el 13 de 02 de 2019 de
Security Degree Hub httpswwwsecuritydegreehubcomwhat-is-cryptanalysis
Simmons G (01 de 01 de 2019) Encyclopedia Britannica Recuperado el 08 de 2019 de
Encyclopedia Britannica httpswwwbritannicacomtopicRSA-encryption
statista (09 de 2017) Statista Obtenido de Statista Co httpsesstatistacom
Turner D (2004) Recuperado el 12 de 02 de 2018 de Ames Lab
httpwwwsclameslabgovProjectsparrallel_computingpara_intohtml
United States Government Department of Defense (1983) Trusted Computer System Evaluation
Criteria Rainbow Series
Universidad Internacional de Valencia (09 de Septiembre de 2016) Nuestros
expertosTecnologiacutea Recuperado el 27 de Abril de 2018 de Universidad Internacional de
Valencia httpswwwuniversidadviuesla-seguridad-informatica-puede-ayudarme
101
Wallen J (19 de 01 de 2019) Lifewire Recuperado el 13 de 06 de 2019 de Lifewire
httpswwwlifewirecomgnome-3-desktop-4175640
Yang H (01 de 02 de 2019) Herong Yang Recuperado el 15 de 06 de 2019 de Cryptography
Tutorials httpwwwherongyangcomCryptographyDSA-Introduction-What-Is-DSA-
Digital-Signature-Algorithmhtml
102
Anexo 1
Programa en Lenguaje C para la obtencioacuten de nuacutemeros primos utilizando libreriacuteas mpi
include ltcstdlibgt
include ltiostreamgt
include ltiomanipgt
include ltcmathgt
include ltctimegt
include mpih
using namespace std
int main ( int argc char argv[] )
int prime_number ( int n int id int p )
void timestamp ( )
int main ( int argc char argv[] )
int i
int id
int master = 0
int n
int n_factor
int n_hi
int n_lo
int p
int primes
int primes_part
double wtime
n_lo = 1
n_hi = 10000000
n_factor = 2
MPIInit ( argc argv )
p = MPICOMM_WORLDGet_size ( )
id = MPICOMM_WORLDGet_rank ( )
if ( id == master )
cout ltlt n
cout ltlt Cuenta primosn
cout ltlt C++MPI versionn
cout ltlt n
cout ltlt Programa para contar cantidad de primos para un N dadon
cout ltlt Corriendo en ltlt p ltlt procesosn
cout ltlt n
103
cout ltlt N S Tiempon
cout ltlt n
n = n_lo
while ( n lt= n_hi )
if ( id == master )
wtime = MPIWtime ( )
MPICOMM_WORLDBcast ( ampn 1 MPIINT master )
primes_part = prime_number ( n id p )
MPICOMM_WORLDReduce ( ampprimes_part ampprimes 1 MPIINT
MPISUM
master )
if ( id == master )
wtime = MPIWtime ( ) - wtime
cout ltlt ltlt setw(8) ltlt n
ltlt ltlt setw(8) ltlt primes
ltlt ltlt setw(14) ltlt wtime ltlt n
n = n n_factor
MPIFinalize ( )
if ( id == master )
cout ltlt n
cout ltlt PRIME_MPI - Procesos maestron
cout ltlt Finalizacion del calculo normaln
return 0
int prime_number ( int n int id int p )
int i
int j
int prime
int total
104
total = 0
for ( i = 2 + id i lt= n i = i + p )
prime = 1
for ( j = 2 j lt i j++ )
if ( ( i j ) == 0 )
prime = 0
break
total = total + prime
return total
void timestamp ( )
define TIME_SIZE 40
static char time_buffer[TIME_SIZE]
const struct tm tm
size_t len
time_t now
now = time ( NULL )
tm = localtime ( ampnow )
len = strftime ( time_buffer TIME_SIZE d B Y IMS p tm )
cout ltlt time_buffer ltlt n
return
undef TIME_SIZE
2
ldquoDesde la aparicioacuten de los grandes sistemas aislados hasta nuestros diacuteas en los que el
trabajo en red es lo habitual los problemas derivados de la seguridad de la informacioacuten han ido
tambieacuten cambiando evolucionando pero estaacuten ahiacute y las soluciones han tenido que ir adaptaacutendose
a los nuevos requerimientos teacutecnicos Aumenta la sofisticacioacuten en el ataque y ello aumenta la
complejidad de la solucioacuten pero la esencia es la mismardquo (Mifsud 2012)
Dentro del mundo actual la informacioacuten es denominada un activo importante de una
institucioacuten la cual debe ser protegida para evitar su peacuterdida modificacioacuten o el uso inadecuado de
su contenido
El extraviacuteo o el mal uso de informacioacuten que para alguien es confidencial genera dantildeos y
repercusiones directas relacionadas a la integridad disponibilidad y confidencialidad de los
archivos y a su vez a los duentildeos de dicha informacioacuten
ldquoLa seguridad informaacutetica se distingue por tener dos propoacutesitos de seguridad la Seguridad
de la Informacioacuten y la Proteccioacuten de Datos estos se diferencian debido a que los datos son valores
numeacutericos que soportan la informacioacuten mientras que la informacioacuten es aquello que tiene un
significado para nosotrosrdquo (Gonzaacutelez Agudelo 2014)
La seguridad informaacutetica consiste en asegurar que los recursos del sistema de informacioacuten
(material informaacutetico o programas) de una organizacioacuten sean utilizados de la manera que se decidioacute
3
inicialmente y que el acceso a la informacioacuten alliacute contenida asiacute como su modificacioacuten soacutelo sea
posible a las personas que se encuentren acreditadas y dentro de los liacutemites de su autorizacioacuten
Actualmente hay mucha informacioacuten circulando en internet por ejemplo correos
electroacutenicos publicaciones en Twitter Facebook videos fotos comercio electroacutenico secretos de
estado militares o industriales Lamentablemente dicha red es puacuteblica e insegura dentro de la cual
existen usuarios bien intencionados y muchos mal intencionados Diariamente encontramos
noticias de sitios con intrusiones mal intencionadas (hackeados) clonacioacuten de tarjeta de creacutedito o
imaacutegenes adulteradas Todo lo anterior motiva la necesidad de proteger la informacioacuten a traveacutes de
mecanismos que impidan a los usuarios no autorizados acceder a dicha informacioacuten
4
12 Planteamiento del Problema
Los sistemas de informacioacuten actuales estaacuten relacionados completamente con la exposicioacuten
de su informacioacuten a entidades externas que son ajenas a la organizacioacuten o delegacioacuten a la que
pertenecen
Cuando no se conoce el alcance que tienen los sistemas informaacuteticos ni lo vulnerables que
pueden ser si son expuestos a Internet por los mismos empleados de la organizacioacuten puede darse
ldquofugardquo de informacioacuten hacia el exterior esto los hace vulnerables a eventos y amenazas que
conllevan a riesgos que pueden provocar peacuterdidas tangibles e intangibles las cuales se traducen
en peacuterdidas que en muchos de los casos por decir lo menos seraacuten monetarias
El portal espantildeol de estadiacutesticas statista muestra la cuota de mercado de los principales
sistemas operativos a nivel mundial a fecha de febrero de 2017 seguacuten el nuacutemero de instalaciones
(statista 2017) Windows 10 fue el segundo sistema operativo maacutes instalado con una cuota de
mercado de 253 Esto significa que alrededor de una de cada cuatro computadoras estaacute
gobernado por este sistema operativo Por su parte en el caso de Windows 7 el porcentaje se situacutea
por encima del 45 a pesar de que ya no se vende ninguacuten PC con este sistema operativo Hablando
de manera conjunta los sistemas operativos Windows cuentan con una cuota del mercado global
de 8857
La empresa de seguridad informaacutetica Britaacutenica Avecto informoacute en su Microsoft
Vulnerabilities Report 2017 (Avecto 2017) (reporte 2017 de vulnerabilidades de Windows) un
aumento de vulnerabilidades publicadas del 111 en los uacuteltimos 5 antildeos de las cuales 235 criacuteticas
5
fueron mitigadas removiendo permisos de administrador asiacute como otras muy importantes
enfocadas al Administrador de Cuentas de Seguridad (SAM Security Account Manager por sus
siglas en ingleacutes) la cual es una base de datos almacenada como un archivo del registro en Windows
y que almacena las contrasentildeas de los usuarios en un formato hash (Algoritmos que crean a partir
de una entrada una salida alfanumeacuterica de longitud fija)
6
13 Objetivos
131 Objetivo General A traveacutes de la implementacioacuten de un procedimiento de fuerza
bruta utilizando para ello un cluacutester de alto rendimiento asiacute como software de uso libre lograr
capacidad de procesamiento capaz de vulnerar un sistema de autenticacioacuten nivel C1
132 Objetivos Especiacuteficos
Analizar los diferentes niveles de seguridad de sistemas operativos
Analizar diferentes meacutetodos de criptoanaacutelisis para vulnerar el Administrador de
cuentas de seguridad
Estudiar las teacutecnicas de agrupamiento de computadoras (clustering) para la
obtencioacuten de mayor poder de procesamiento
Implementar un cluacutester de alto rendimiento en el Laboratorio de la Maestriacutea en
Sistemas Computacionales del Instituto Tecnoloacutegico de Acapulco para ejecutar
operaciones de coacutemputo distribuido
7
14 Justificacioacuten
Antes la seguridad de la informacioacuten se realizaba a traveacutes de medios fiacutesicos por ejemplo
una caja fuerte en la cual las personas resguardaban objetos o informacioacuten valiosa para ellos Con
la introduccioacuten de las computadoras y el uso de internet los usuarios comienzan a almacenar
informacioacuten importante dentro de sus equipos por lo que se considera indispensable el uso de
herramientas que brinden proteccioacuten a la informacioacuten que se encuentra resguardada dentro de
eacutestas Los usuarios informaacuteticos suelen enviar informacioacuten por la red en las empresas al realizar
traacutemites o enviar informes a socios jefes entre otros
El resguardo de informacioacuten siempre ha sido importante para los seres humanos con la
diferencia que anteriormente no se contaba con los avances tecnoloacutegicos que tenemos actualmente
puesto que con la introduccioacuten de internet y el uso de dispositivos electroacutenicos se tiene mayor
riesgo de la informacioacuten que en ellos se maneja
La proteccioacuten del contenido de los datos es una necesidad urgente en casi todos los aacutembitos
de la sociedad incluyendo los servicios puacuteblicos y privados por lo que la tecnologiacutea de la
seguridad de los sistemas de cifrado se encuentra de frente a verdaderos retos
15 Hipoacutetesis
A traveacutes de un de fuerza bruta como teacutecnica de criptoanaacutelisis y con la ayuda de una mayor
capacidad de procesamiento mediante la implementacioacuten de agrupamiento de computadoras
(cluacutester) de alto rendimiento seraacute posible encontrar alguna vulnerabilidad dentro del sistema de
administracioacuten de cuentas de seguridad de Windows server 2012
8
16 Alcances y Limitaciones
Esta tesis se centraraacute en el sistema operativo Windows como objeto de estudio al cual se
le realizaraacute el criptoanaacutelisis
La tesis se enfocaraacute en el meacutetodo Beowulf para realizar el agrupamiento de computadoras
asiacute como la distribucioacuten de software libre del sistema operativo Linux Rocks
El nuacutemero de equipos disponibles para poder realizar el agrupamiento es de 17
computadoras hasta lograr el poder de coacutemputo de 800 Gflops
17 Impacto Social Tecnoloacutegico Econoacutemico y Ambiental
La sostenibilidad del presente proyecto seraacute abordada a partir de los siguientes aspectos
171 Impacto social A veces se puede pensar que un cluacutester de alto rendimiento pudiera
no tener alguacuten impacto directo en el medio social pero si nos enfocamos a un punto de vista en
donde gracias a la capacidad de procesamiento de estas maacutequinas han sido parte fundamental en
el desarrollo de proyectos que inciden de manera directa en beneficio de la sociedad en la que
vivimos como lo es la medicina la fiacutesica quiacutemica
Este proyecto busca beneficiar a nuestra sociedad proveyendo su capacidad de
procesamiento en la buacutesqueda de alguna vulnerabilidad en el sistema operativo maacutes utilizado hoy
en diacutea como lo es Windows ademaacutes de que estaraacute disponible para la comunidad cientiacutefica y
9
estudiantil del Instituto Tecnoloacutegico de Acapulco para optimizar tiempo de caacutelculo en futuras
investigaciones
172 Impacto ambiental Green IT tambieacuten conocido como Green Computing o
traducido al espantildeol como Tecnologiacuteas Informaacuteticas Verdes es definido como el estudio y la
praacutectica de disentildear desarrollar usar y disponer de computadoras servidores y diferentes
perifeacutericos tales como monitores impresoras dispositivos de almacenamiento de redes y
comunicaciones eficientemente y efectivamente con un impacto miacutenimo o nulo en el medio
ambiente (Murugesan 2008)
Bajo la premisa anterior este proyecto hace uso de los equipos con los que cuenta
actualmente el laboratorio de la Maestriacutea en Sistemas Computacionales lo cual evitaraacute la
adquisicioacuten de equipo nuevo y por consecuencia desechar el equipo existente evitando desperdicio
electroacutenico Dicho equipo cuenta con un procesador Intel I3 de 4ta generacioacuten lo cual seguacuten el
portal electroacutenico Europa press
ldquoEsta nueva generacioacuten supone el mayor salto en cuanto ahorro energeacutetico de la historia
de Intel asiacute como una mejora en los graacuteficos y nuevas experiencias de usuariordquo (europa press
2013)
Teniendo como base estos dos puntos importantes como lo son la reutilizacioacuten de equipo
y utilizando procesadores de bajo consumo energeacutetico es como este proyecto busca contribuir de
manera positiva con el medio ambiente
10
173 Impacto econoacutemico Actualmente existe una gran necesidad de procesar grandes
cantidades de datos lo cual hace imprescindible disponer de maacutequinas con estas caracteriacutesticas sin
embargo su alta complejidad aunado al gran costo hace que en instituciones de caraacutecter puacuteblico
sea muy complicado conseguir recurso para este fin Sin embargo un cluacutester de alto rendimiento
reutilizaraacute equipo propio evitando asiacute gastos por concepto de adquisicioacuten de equipo siendo de
esta manera viable para instituciones de caraacutecter puacuteblico
18 Metodologiacutea a Utilizar
181 Anaacutelisis Despueacutes de analizar las diferentes metodologiacuteas de clustering se optoacute por
desarrollar e implementar un cluacutester de alto rendimiento (HPC)
182 Disentildeo
1821 Economiacutea Debido a las caracteriacutesticas del equipo con el cual cuenta el Laboratorios
de la Maestriacutea en Sistemas Computacionales los componentes utilizados para este proyecto son
considerados de uso comuacuten y de bajo costo lo cual los hace faacutecilmente reemplazables en caso de
fallo a un costo accesible El equipo es de la marca Acer Aspire modelos AXC-605-M021 lo cual
nos hace tener ventaja y respaldo del fabricante con respecto a hardware geneacuterico
1822 Instalaciones Un cluacutester requiere de un ambiente controlado Esto es una
habitacioacuten especial con sistema de enfriamiento capacidad suficiente de carga eleacutectrica control
de humedad y un ambiente libre de polvo Ademaacutes se deben considerar el peso del equipo sobre
el piso (ya sea falso o piso normal) Se recomienda colocarlo en los soacutetanos o en la plata baja de
edificios (Rocha Quezada Botello Rionda Vargas Feacutelix amp Munguiacutea Torres 2011)
11
En el laboratorio de la Maestriacutea en Sistemas Computacionales se cuenta con espacio que
reuniacutea la mayoriacutea de las caracteriacutesticas requeridas para este proyecto
1823 Escalabilidad Un cluacutester debe ser faacutecilmente escalable y a su vez confiable Por
tal motivo se ha utilizado equipo de marca lo cual nos proporciona maacutes de confiabilidad en su
desempentildeo y a su vez facilidad de aumentar el nuacutemero de equipos si en un futuro fuese necesario
agrandar este proyecto Se armoacute un cluacutester de cinco computadoras con procesadores Intel Core I3
de 64 bits en cada nodo La memoria incluida y perifeacutericos son faacuteciles de adquirir en el mercado
1824 Red En la parte de redes se utilizoacute un switch fast Ethernet con una velocidad de 1
Gbps el cual tiene tazas de transferencia raacutepida y el costo es notablemente maacutes econoacutemico que
uno de fibra oacuteptica
El cableado seleccionado fue el estaacutendar UTP de cobre con la norma Gigabit Ethernet de
IEEE 8023ab con la categoriacutea de cableado 6e que soporta tazas de transferencia de datos de
1000Base T (1 Gbps)
1825 Software
ldquoEl sistema operativo debe constar con servicios dedicados para compartir y respaldar
archivos asiacute como capacidad de acceder a los datos de trabajo raacutepidamente El sistema operativo
debe tambieacuten proveer servicios de monitoreo y reporte de fallas en el sistemardquo (Rocha Quezada
Botello Rionda Vargas Feacutelix amp Munguiacutea Torres 2011)
12
Existe una gran variedad de software para instalar cluacutester de alto rendimiento sin embargo
como se ha comentado con anterioridad el costo de adquisicioacuten debe ser accesible por tal motivo
se optoacute por una distribucioacuten con licencia GNU de Linux Rocks Cluster la cual es una distribucioacuten
sencilla de instalar y configurar en comparacioacuten con otras distribuciones analizadas dicha
distribucioacuten estaacute basada en CentOS que a su vez estaacute basada en la conocida distribucioacuten de Linux
Red Hat
1826 Almacenamiento Para este proyecto no se requeriraacute un gran espacio de
almacenamiento por tal motivo los equipos utilizados tanto maestro como esclavos mantuvieron
sus unidades de disco originales las cuales son de 1 TB de almacenamiento
183 Implementacioacuten La implementacioacuten del cluacutester de alto rendimiento fue realizada
dentro de las instalaciones del Laboratorio de la Maestriacutea en Sistemas Computacionales del
Instituto Tecnoloacutegico de Acapulco construido inicialmente para este proyecto de criptoanaacutelisis lo
cual requeriraacute suficiente capacidad de procesamiento para poder implementar ataques de fuerza
bruta a sistemas operativos Las caracteriacutesticas del cluacutester construido son
1831 Software El software instalado en cada uno de los nodos es el siguiente
bull Sistema operativo Rocks Cluacutester Linux 74 (64 bits)
bull Libreriacutea de manejo de mensajes Open-MPI 153
bull Software de monitoreo Ganglia
13
1832 Hardware El cluacutester estaacute compuesto de 17 equipos con las siguientes
caracteriacutesticas
bull Nodo Maestro y 16 Nodos Esclavos
- Procesador Intel Core I3 4150 (4 nuacutecleos) Memoria 6 GB Disco Duro SATA 1 TB
tarjeta de Red Gigabit Ethernet
El hardware adicional es el siguiente
bull Interconexioacuten de Red
bull Switch Cisco 26 puertos 1Gbps modelo SG200 Red interna
1833 Recursos totales del cluacutester
bull Nuacutecleos de unidades de procesamiento (cores) 68
bull Capacidad en memoria 92 GB
bull Capacidad en disco 17 TB
19 Aseguramiento Teacutecnico ndash Material
A continuacioacuten se muestra el desglose del equipo utilizado para la elaboracioacuten de un
cluacutester de alto rendimiento estos componentes consisten en Hardware y Software especializado
asiacute como los costos de produccioacuten y personal involucrados en la metodologiacutea y elaboracioacuten del
proyecto
Costos de Hardware
Costos de Software
14
191 Hardware En este punto se refleja el costo de los dispositivos y herramientas a nivel
fiacutesico las cuales sirvieron para la implementacioacuten del proyecto cluacutester de alto rendimiento Cabe
resaltar que el equipo utilizado forma parte del inventario actual del Laboratorio motivo por el
cual su utilizacioacuten no causoacute erogacioacuten alguna sin embargo la investigacioacuten de costos se realizoacute
con la finalidad que el lector pueda establecer comparativas y buscar alternativas en caso de ajuste
de presupuesto
1911 Equipo de coacutemputo El equipo de coacutemputo utilizado consta de diecisiete
computadoras las cuales serviraacuten una para Nodo Maestro y las dieciseacuteis restantes como Nodos
Esclavos
La descripcioacuten de estos equipos se muestra en la tabla a continuacioacuten mostrando los costos
de todos los equipos utilizados dentro del proyecto
15
Tabla 11 Costo del Proyecto
Modelo
Cantidad
Caracteriacutesticas
Costos
PC - Acer AXC-
605
17
Procesador Intel Core i3
Pantalla 156rdquo
Disco duro 1TB HDD
RAM 6GB
Salida HDMI
Tarjeta de graacuteficos INTEGRADA
Lector de CD
Los costos en el mercado de una PC de
escritorio con estas caracteriacutesticas tiene un
valor aproximado de $600000 pesos
(Moneda nacional Mexicana)
Switch Cisco
Gigabit Ethernet
1
Modelo SG200 de 26 puertos
Costo en el mercado alrededor de
$2000000 pesos MN
Total
12200000 pesos MN
16
Capiacutetulo 2 Estado del Arte
Tiacutetulo del Trabajo Introduccioacuten a la Criptografiacutea
Autor Gibraacuten Granados Paredes
Fecha Julio 2010
Lugar Ciudad de Meacutexico
Publicado en Coordinacioacuten de Publicaciones Digitales DGSCA-UNAM
httpwwwrevistaunammxvol7num7art55int55htm
Siacutentesis Cuando se desea tener seguridad hablando en aacutembitos informaacuteticos la
criptografiacutea es una herramienta muy uacutetil el autor lo entiende tambieacuten como un medio para
garantizar las propiedades de confidencialidad integridad y disponibilidad de los recursos de un
sistema
Con la criptografiacutea se puede garantizar las propiedades de integridad y confidencialidad
pero hay que saber coacutemo utilizarla para ello es importante tener claros los conceptos baacutesicos que
estaacuten detraacutes de los sistemas criptograacuteficos modernos Estos conceptos van desde entender queacute es
la criptografiacutea coacutemo estaacute clasificada entender el funcionamiento baacutesico de algunos sistemas de
cifrado y conocer coacutemo se forman los documentos digitales como firmas y sobres digitales
Resultados El autor realiza un viaje por un gran nuacutemero de conceptos utilizados en
criptografiacutea el inicio y la clasificacioacuten de la misma asiacute como la criptografiacutea claacutesica y moderna y
analiza de manera breve algunos meacutetodos de cifrado maacutes comunes
17
Tiacutetulo del Trabajo Criptoanaacutelisis sobre meacutetodos claacutesicos de cifrado
Autores Sebastiaacuten Goacutemez Juan David Arias Diego Agudelo
Fecha 2 de mayo 2013
Lugar Ciudad de Meacutexico
Publicado en Scientia et Technica Antildeo XVII No 50 abril de 2012
Siacutentesis Los algoritmos criptograacuteficos utilizados desde la antigua Roma hasta nuestros
diacuteas son meacutetodos que convierten un mensaje de texto plano a cifrado al proceso inverso se le
conoce como descifrar Este artiacuteculo realiza un estudio de algunas teacutecnicas de encriptacioacuten claacutesicas
del siglo pasado como lo son el cifrado de Cesar y el cifrado de Vigeneacutere asiacute como muestra
teacutecnicas baacutesicas y modernas de criptoanaacutelisis basadas en la teoriacutea de la informacioacuten y estadiacutestica
como lo son la entropiacutea y el ataque de maacutexima correlacioacuten Las teacutecnicas de criptoanaacutelisis descritas
anteriormente pueden ser usadas en otros meacutetodos de cifrado siempre y cuando esteacuten presentes las
mismas debilidades
Resultados Los autores implementaron en lenguajes de programacioacuten Python un
algoritmo para el caacutelculo de entropiacutea para diferentes longitudes de clave Para la implementacioacuten
de los algoritmos de cifrado y descifrado de Vigeneacutere y de maacutexima correlacioacuten utilizaron lenguaje
de programacioacuten C++ Se probaron los meacutetodos anteriormente descritos sobre textos planos de
diferentes longitudes logrando un resultado de 9385 de efectividad en promedio
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de dos de los
algoritmos de encriptacioacuten maacutes antiguos y baacutesicos pero sobre todo que conociendo los meacutetodos
de criptoanaacutelisis me permitiraacuten analizar debilidades y fortalezas de algoritmos
18
Tiacutetulo del Trabajo ULTRACOM Computacioacuten de Alto Rendimiento para Criptoanaacutelisis
Autor Antonio Castro Lechtaler Alejandro Repetto Martiacuten Bianchi Marcelo Cipriano
Alejandro Arroyo Arzubi Ceacutesar Cicerchia Eduardo Malvacio
Fecha octubre 2014
Lugar Buenos Aires Argentina
Publicado en XX Congreso Argentino de Ciencias de la Computacioacuten (Buenos Aires
2014)
Siacutentesis La generacioacuten de nuacutemeros primos fundamentales para la produccioacuten de claves
el anaacutelisis de secuencias pseudo-aleatorias los procesos de verificacioacuten y validacioacuten de algoritmos
de seguridad en un sentido geneacuterico requieren enormes cantidades de procesamiento Los
procesos relacionados con la matemaacutetica criptograacutefica se caracterizan por la alta necesidad de
coacutemputo El objetivo de ULTRACOM es desarrollar una computacioacuten distribuida multipropoacutesito
que permita como primera aplicacioacuten real el anaacutelisis la validacioacuten y la ejecucioacuten de pruebas de
estreacutes sobre sistemas criptograacuteficos El presente trabajo de investigacioacuten detalla el proceso de
desarrollo de ULTRACOM y muestra un ejemplo de su implementacioacuten en una versioacuten Beta Para
ello toman como entrada dos versiones del algoritmo Trivium Utilizando la misma
infraestructura y sin desarrollo extra se prueban grandes voluacutemenes de claves y vectores de
inicializacioacuten de los algoritmos en busca de secuencias deacutebiles de menor longitud que la de la
buscada
Resultados El equipo implementoacute una versioacuten beta de la plataforma ULTRACOM
comprobando la factibilidad y viabilidad teacutecnica de la generalizacioacuten de la infraestructura de
computacioacuten distribuida en grilla (malla) BOINC Este avance permite extender los horizontes de
BOINC y habilita la posibilidad de obtener la capacidad de coacutemputo de alto rendimiento a bajo
19
costo Concluyeron que ULTRACOM es un proyecto viable escalable y de alto impacto para la
evaluacioacuten y validacioacuten de algoritmos criptograacuteficos
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento y la
implementacioacuten de una arquitectura de computacioacuten distribuida y una vez siendo factible su
desarrollo utilizar su poder de coacutemputo atacando a traveacutes de un algoritmo un sistema criptograacutefico
20
Tiacutetulo del Trabajo Criptografiacutea Cuaacutentica
Autor M Baig
Fecha 2010
Lugar Barcelona Espantildea
Siacutentesis En este artiacuteculo el autor realiza una breve introduccioacuten a la criptografiacutea claacutesica y
la relacioacuten que existe con la teoriacutea de la informacioacuten de Shannon la cual asegura que el cifrado
digital simeacutetrico es secreto y perfecto siempre y cuando se cumplan los tres requisitos
1 La llave ha de ser aleatoria
2 La llave debe usarse soacutelo una vez
3 La llave ha de ser tan larga como el mensaje y de un solo uso debe de estar en posesioacuten
tanto del emisor como del receptor
El punto 3 es el maacutes complicado de cumplir debido a la forma de compartir la llave entre
el emisor y receptor
Maacutes adelante en el artiacuteculo se hace un anaacutelisis sobre otra teacutecnica de criptografiacutea que es el
cifrado digital asimeacutetrico en la que se estudia coacutemo funcionan las llaves privadas y puacuteblicas asiacute
como el meacutetodo de criptograacutefico RSA
Resultados
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento maacutes profundo de
los meacutetodos de criptografiacutea simeacutetricos y asimeacutetricos especiacuteficamente el algoritmo asimeacutetrico
RSA
21
Tiacutetulo del Trabajo La Criptografiacutea Maderista en la Revolucioacuten Mexicana (1910-1911)
Criptoanaacutelisis de una carta cifrada por Gabriel Leyva Solano
Autor Roberto Narvaacuteez
Fecha 2011
Lugar Meacutexico DF
Siacutentesis Este trabajo aborda temas relacionados con las comunicaciones secretas del
movimiento revolucionario comandado por Francisco I Madero a partir de 1910 Se compone de
dos partes la primera es una breve resentildea criacutetica de ejemplos criptograacuteficos del maderismo que
fueron generados entre 1910 y 1911 la segunda describe paso a paso el criptoanaacutelisis que aplicoacute
el autor Roberto Narvaacuteez para desencriptar una carta parcialmente cifrada de Gabriel Leyva Solano
a Francisco I Madero
Resultados El propoacutesito general uacuteltimo es contribuir al conocimiento de la criptografiacutea
mexicana en el siglo XX En lo particular se trata de poner a disposicioacuten de los estudiosos el
contenido completo de la carta de Leyva Solano por primera vez despueacutes de 100 antildeos y al mismo
tiempo someter a la criacutetica teacutecnica e histoacuterica el procedimiento criptoanaliacutetico puesto en operacioacuten
para recuperar el texto plano
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de la teacutecnicas y
estudios realizados en nuestro paiacutes sobre formas y meacutetodos de encriptacioacuten durante la Revolucioacuten
Mexicana incluso mucho antes de la 2ordf Guerra mundial momento donde se registroacute un auge
importante dentro de la criptografiacutea moderna
22
Tiacutetulo de Tesis Anaacutelisis de la programacioacuten concurrente sobre la cpu y gpu en el
desarrollo de fractal build
Autor Joseacute Vicente Anilema Guadalupe
Fecha 2012
Lugar Riobamba Ecuador
Siacutentesis Este trabajo aborda temas relacionados con la geometriacutea euclidiana debido a que
el autor realiza una aplicacioacuten que crea paisajes fractales lo que significa crear un paisaje con una
misma figura geomeacutetrica Lo anterior se traduce en una necesidad de gran poder de coacutemputo para
realizar de una manera eficaz la tarea Dentro de la tesis el autor realiza diversos estudios
comparativos entre el procesamiento serializado realizado por una CPU (unidad central de
procesamiento) y procesamiento paralelizado realizado por una GPU (Unidad grafica de
procesamiento) a traveacutes de diversas herramientas para obtener el mejor aprovechamiento de los
recursos
Resultados El autor concluye que es necesario examinar los algoritmos a utilizar para que
estos puedan ser utilizados en coacutemputo paralelo Ademaacutes de que es necesario aprender ciertas
herramientas a utilizar para aprovechar al maacuteximo el coacutemputo distribuido y no desperdiciar el
poder de procesamiento muy superior que las GPUrsquos nos pueden brindar
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de la teacutecnicas y
estudios realizados para medir y comparar la velocidad de procesamiento de la unidad central de
procesamiento (CPU) y la unidad graacutefica de procesamiento (GPU) Asiacute como la medida en Flops
(Operaciones de punto flotante por segundo)
23
Tiacutetulo del Trabajo Arquitectura cluacutester de alto rendimiento utilizando herramientas de
software libre
Autores Leonardo Chiquiguanca Edyson Malla Freddy Ajila Rene Guamaacuten-Quincheacute
Fecha mayo 2015
Lugar Loja Ecuador
Siacutentesis Este trabajo aborda temas relacionados con la gran cantidad de datos que tienen
que procesar las universidades puacuteblicas dentro de sus investigaciones realizadas en diferentes aacutereas
como la ingenieriacutea medicina etc y la carencia de recursos econoacutemicos para obtener
supercomputadoras que procesen dicha informacioacuten Los autores proponen dentro de su
investigacioacuten la utilizacioacuten de equipo de coacutemputo existente dentro de su universidad y por medio
de software libre realizar agrupamiento de computadoras para poder lograr el procesamiento de
grandes voluacutemenes de datos de una manera accesible
Resultados Los autores concluyen que la mejor arquitectura para el agrupamiento
(cluacutester) de computadoras en ambientes universitarios es la arquitectura Beowulf debido a que la
implementaron en hardware convencional existente dentro de su campus universitario y que
ademaacutes usaron software libre mencionando que el poder de coacutemputo logrado fue muy cercano al
de una supercomputadora
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento de las teacutecnicas
utilizadas en ambientes universitarios para la realizacioacuten de agrupamiento de computadoras y
sobre todo la optimizacioacuten de costos para realizar dicha tarea y tener como finalidad el lograr
mayor capacidad de procesamiento
24
Tiacutetulo de Tesis Desarrollo de un algoritmo de cifrado simeacutetrico de resumen
Autores Jonathan Dave Orjuela Navarrete
Antildeo 2008
Lugar Bogotaacute DC
Siacutentesis Esta tesis realiza un estudio de varios meacutetodos de criptografiacutea simeacutetrica para
posteriormente utilizando diferentes foacutermulas matemaacuteticas crear un algoritmo criptograacutefico
nuevo Dentro de la tesis utiliza dos meacutetodos para realizar pruebas a su algoritmo criptoanaacutelisis
diferencial y criptoanaacutelisis basado en fallos de hardware Dentro de los cuales hace un estudio
detallado de las teacutecnicas y herramientas de criptoanaacutelisis realizado a su algoritmo
Resultados El autor concluye de manera positiva con la realizacioacuten del algoritmo y de
manera satisfactoria con la realizacioacuten de criptoanaacutelisis a su algoritmo pudiendo demostrar la
fortaleza del algoritmo a traveacutes de ejemplo de cifrado con textos claro muy parecido y su
conversioacuten a cadenas completamente diferentes
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de criptoanaacutelisis diferencial y criptoanaacutelisis basado en fallos de hardware para la
evaluacioacuten de algoritmos de cifrado simeacutetrico de textos claros
25
Tiacutetulo del Trabajo Firt step in a Pc cluster development with openMosix
Autores Javier Bilbao Gorka Garate
Antildeo 2008
Lugar Bilbao Spain
Siacutentesis En este trabajo se afirma que es posible hacer maacutequinas de alta capacidad de
caacutelculo mediante la interconexioacuten de equipos con redes de alta velocidad A este tipo de sistemas
se les llama sistemas distribuidos y hoy en diacutea es la tecnologiacutea maacutes utilizada para resolver
problemas que requieren una gran capacidad de caacutelculo La agrupacioacuten de computadoras permite
que varias computadoras trabajen juntas para resolver los problemas de informaacutetica comuacuten Este
artiacuteculo centra su estudio en uno de los diferentes meacutetodos de agrupamiento de computadoras
openMosix El trabajo tambieacuten evaluacutea el cluacutester por dos casos de estudio donde se mejora el
tiempo de ejecucioacuten de los problemas resueltos
Resultados El autor del artiacuteculo concluye con la realizacioacuten satisfactoria de agrupamiento
de computadoras bajo el meacutetodo openMosix el cual uacutenicamente permite agrupamiento de la forma
SSI (Single System Image) que se refiere a que uacutenicamente se puede realizar el agrupamiento con
todos los nodos ejecutando un mismo sistema operativo
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de agrupamiento de computadoras openMosix ventajas desventajas y dificultades para
su implementacioacuten
26
Tiacutetulo del Trabajo Disentildeo e implementacioacuten de un cluacutester tipo Beowulf para el desarrollo
de coacutemputo cientiacutefico avanzado
Autores Edgar Rubeacuten Gonzaacutelez Ramiacuterez Abimael Rodriacuteguez Saacutenchez
Antildeo 2008
Lugar Instituto Politeacutecnico Nacional Meacutexico DF
Siacutentesis Este trabajo de tesis ha desarrollado e implementado una herramienta
computacional llamada Cluster Beowulf para mejorar la programacioacuten paralela Comenzando
con la memoria compartida y distribuida el autor implemento el agrupamiento tipo Beowulf
pensando en procesamiento paralelo la optimizacioacuten de las fuentes informaacuteticas El disentildeo se
construye mediante una distribucioacuten Linux Fedora Core 6 a 64 bits utilizando todas las ventajas
que ofrece el estaacutendar Gigabyt Ethernet La programacioacuten paralela fue desarrollada en lenguaje C
tanto para MPI como para OPENMP
Resultados El autor del artiacuteculo concluye que de acuerdo con los resultados el tiempo
de procesamiento se redujo con el uso muacuteltiples nuacutecleos mejoroacute hasta ocho veces gracias al
multihilo
Conclusioacuten Este artiacuteculo aporta para mi investigacioacuten el conocimiento a fondo de los
meacutetodos de agrupamiento de computadoras Beowulf y su implementacioacuten en sistemas operativos
de uso libre Linux distribucioacuten Fedora 6
27
Marco Teoacuterico
21 Seguridad de la Informacioacuten
La Seguridad de la Informacioacuten consiste y hace referencia a la proteccioacuten de cualquier
amenaza para salvaguardar los activos fijos y en especial toda informacioacuten de la cual estaacute basada
la continuidad de las operaciones de la empresa sean estas ocasionadas dentro o fuera de la misma
con esto se logra disminuir los dantildeos y perjuicios que estas amenazas causariacutean a la organizacioacuten
y a la vez aumentar las oportunidades de servicio hacia otras empresas
La Seguridad de la informacioacuten se consigue mediante la implementacioacuten de controles
efectivos que pueden ser normas manual de funciones buenas praacutecticas procedimientos
estructuras organizativas funciones de software y hardware planes de contingencia y herramientas
que se encargan de proteger la privacidad e integridad de la informacioacuten que se almacena en un
sistema informaacutetico Estos controles necesitan continuamente ser establecidos monitoreados
revisados y mejorados en donde sea necesario para asegurar que se cumplan los objetivos
especiacuteficos de seguridad en cada aacuterea de negocio de la organizacioacuten
La seguridad informaacutetica es en realidad una rama de la seguridad de la informacioacuten aunque
de forma praacutectica algunos autores suelen utilizar de manera indistinta ambos teacuterminos
211 Objetivo de la seguridad de la informacioacuten En la seguridad de la informacioacuten
sabiendo que dichos procesos de seguridad permiten proteger el recurso maacutes importante y valioso
de una organizacioacuten partiendo como principio fundamental los procesos de aseguramiento el
28
objetivo del proceso de seguridad informaacutetica es obtener un nivel aceptable de seguridad ya que
la informacioacuten es lo maacutes valioso que tiene una institucioacuten o empresa por lo tanto esta debe ser
protegida para que no sea vulnerable y utilizada para fines maliciosos
212 Principios de la seguridad informaacutetica
Confidencialidad Los datos solo deben ser conocidos y accedidos por quienes esteacuten
autorizados durante su almacenamiento procesamiento o trasmisioacuten Verificar y certificar que solo
los usuarios con accesos autorizados puedan acceder a la informacioacuten
Integridad Los datos solo pueden ser modificados y eliminados por quienes esteacuten
autorizados para ello es decir los sistemas y aplicaciones solo deben ser operados por personal
autorizado
Disponibilidad Los sistemas que almacenan datos e informacioacuten deben garantizar su
acceso cuando asiacute se requiera por quienes tengan derecho a ello
213 Caracteriacutesticas de seguridad informaacutetica
Control Solo los usuarios autorizados deciden cuaacutendo y coacutemo permitir el acceso a la
informacioacuten
Auditoriacutea Establece las acciones cuaacutendo las implementa y quieacuten las realiza sobre el
sistema
Autenticidad Define que la informacioacuten necesaria es correcta utilizable y vaacutelida en tiempo
y forma
No Repudio Su funcioacuten es evitar que alguna entidad que envioacute o recibioacute informacioacuten
alegue que no lo hizo
29
214 Formas de Autenticacioacuten
Contrasentildea Una contrasentildea es un tipo de seguridad informaacutetica ya que es una serie de
caracteres secretos que permiten a un usuario tener acceso a un archivo equipo de coacutemputo o
programa y negar el acceso a usuarios no autorizados
Certificado digital Es un tipo de seguridad informaacutetica que permite la firma digital
electroacutenica que garantiza teacutecnica y legalmente la identidad de una persona en Internet
Autenticacioacuten HTTP Tipo de seguridad informaacutetica que delega la autenticacioacuten de
usuarios a un servidor a traveacutes de Kerberos
215 Ciber-seguridad Con los avances tecnoloacutegicos y la demanda que ha causado en ello
existe un elevado iacutendice de informacioacuten personal y empresarial que circula y se mantiene en la red
por la utilizacioacuten del internet esto permite que toda informacioacuten quede expuesta a cualquier ataque
de ciber-delincuentes los cuales buscan la manera de vulnerar cualquier sistema para espiar robar
informacioacuten o hacer dantildeo de cualquier tipo por lo que se ha visto la necesidad de tomar medidas
de seguridad para salvaguardar la informacioacuten ya que es muy importante
La ciberseguridad es la proteccioacuten de los sistemas conectados a Internet incluidos el
hardware el software y los datos de los ciberataques En un contexto informaacutetico la seguridad
comprende la ciberseguridad y la seguridad fiacutesica ambas son utilizadas por las empresas para
proteger contra el acceso no autorizado a los centros de datos y otros sistemas de coacutemputo El
objetivo de la ciberseguridad es limitar el riesgo y proteger los activos de Tecnologiacuteas de
Informacioacuten de los atacantes con intenciones maliciosas La seguridad de la informacioacuten estaacute
30
disentildeada para mantener la confidencialidad integridad y disponibilidad de los datos es un
subconjunto de la ciberseguridad
22 Criptografiacutea
La Criptografiacutea tambieacuten llamada ldquoescritura ocultardquo tradicionalmente en el aacutembito de
criptografiacutea es donde se ocupan las teacutecnicas de cifrado o codificacioacuten que permiten alterar el
contenido de cierta informacioacuten o mensajes con el fin de hacerlos ininteligibles a receptores o
personas no autorizadas (Meneacutendez-Barzanallana 17)
Actualmente la criptografiacutea se encarga de analizar algoritmos protocolos y sistemas que
son utilizados para proveer seguridad a las comunicaciones informacioacuten y a las entidades que se
comunican entre siacute
221 Tipos de Criptografiacuteas
2211 Tablas Hash Un hash o funcioacuten hash toma un grupo de caracteres (llamado clave)
y lo asigna a un valor de cierta longitud (llamado valor hash o hash) El valor hash es representativo
de la cadena de caracteres original pero normalmente es maacutes pequentildeo que el original
El hash tambieacuten es utilizado en el cifrado y descifrado de firmas digitales La funcioacuten hash
transforma la firma digital luego tanto el valor hash como la firma se enviacutean al receptor El
receptor utiliza la misma funcioacuten hash para generar el valor hash y luego lo compara con el recibido
31
en el mensaje Si los valores hash son los mismos es probable que el mensaje se haya transmitido
sin errores
Un ejemplo de una funcioacuten hash se llama plegado(folding) Esta toma un valor original lo
divide en varias partes luego agrega las partes y usa los uacuteltimos cuatro diacutegitos restantes como
valor o clave hash
2212 Tipos de algoritmos Hash
22121 SHA - 1 (Secure Hash Algorithm) Es un algoritmo criptograacutefico de Hash
publicado por el gobierno de los Estados Unidos Genera un valor Hash de 160 bits a partir de una
secuencia de longitud arbitraria Es considerado lo suficientemente seguro para aplicaciones
praacutecticas pero hay disponibles versiones maacutes robustas SHA - 256 SHA - 384 y SHA - 512 que
generan valores Hash de 256 384 y 512 bits respectivamente estas versiones reemplazaraacuten a SHA
- 1 mientras se siga trabajando sobre ellas (Borghello 2009)
22122 MD5 (Message Digest Algorithm) En criptografiacutea MD5 es una funcioacuten hash
criptograacutefica ampliamente utilizada con un valor hash de 128 bits Como estaacutendar de Internet (RFC
1321) MD5 se ha empleado en una amplia variedad de aplicaciones de seguridad y tambieacuten se
usa comuacutenmente para verificar la integridad de los archivos Un hash MD5 generalmente se
expresa como un nuacutemero hexadecimal de 32 diacutegitos
MD5 es una versioacuten reforzada de MD4 Al igual que MD4 el hash MD5 fue inventado por
el profesor Ronald Rivest del Massachusetts Institute of Technology (MIT) Ademaacutes MD5 se
32
utilizoacute como modelo para SHA-1 ya que comparten muchas caracteriacutesticas comunes MD5 y
SHA-1 son los dos algoritmos hash maacutes utilizados en la actualidad aunque el uso de MD5 ha
disminuido ya que ahora se considera roto (Borghello 2009)
22123 RIPEMD ndash 160 Es una funcioacuten hash criptograacutefica basada en la construccioacuten
Merkle-Damgaringrd (MD) Se usa en el estaacutendar de Bitcoin Es una versioacuten reforzada del algoritmo
RIPEMD que produce un resumen de hash de 128 bits mientras que el algoritmo RIPEMD-160
produce una salida de 160 bits La funcioacuten de compresioacuten consta de 80 etapas formadas por 5
bloques que se ejecutan 16 veces cada uno Este patroacuten se ejecuta dos veces con los resultados
combinados en la parte inferior utilizando la adicioacuten del moacutedulo 32 (Borghello 2009)
22124 Funcioacuten Merkle-Damgaringrd La construccioacuten MD es una metodologiacutea para crear
funciones hash resistentes a colisiones a partir de funciones de compresioacuten unidireccionales Ralph
Merkle la propuso en el antildeo de 1979 en ldquoA certified Digital Signaturerdquo posterior a este estudio
Ivan Damgaringrd demostroacute de manera independiente que la estructura era soacutelida (Merkle amp
Damgaringrd sf)
2213 Cifrado simeacutetrico Los cifrados simeacutetricos son los cifrados criptograacuteficos maacutes
antiguos y maacutes utilizados En un cifrado simeacutetrico la clave que descifra el texto cifrado es la
misma (o puede derivarse faacutecilmente) de la clave que cifra el texto claro Esta clave a menudo se
conoce como la clave secreta Los cifrados simeacutetricos maacutes utilizados son DES y AES
La problemaacutetica que surge es la seguridad de la clave
33
El emisor cifra el mensaje con una clave
Enviacutea el mensaje cifrado de tal manera que nadie puede descifrarlo sin dicha clave
El receptor obtiene la clave y entonces puede descifrar el mensaje con la misma clave
que recibioacute del emisor
Algunos algoritmos de este tipo son
22131 RC5 (Cifrado de Rivest) Es un algoritmo de cifrado de bloque de clave simeacutetrica
disentildeado por Ron Rivest en 1994 Se destaca por ser simple raacutepido (debido a que usa solo
operaciones de coacutemputo primitivas como XOR o shift) y ademaacutes por consumir menos memoria
RC5 es un cifrado de bloques y aborda dos bloques de palabras a la vez Dependiendo del
tamantildeo del bloque de texto sin formato nuacutemero de rondas y tamantildeo de clave se pueden definir
varias instancias de RC5 y cada instancia se denota como RC5-w r b donde w = tamantildeo de
palabra en bits r = nuacutemero de rondas y b = tamantildeo de la clave en bytes (Pawar 2016)
Como se ha mencionado RC5 utiliza bloques de 2 palabras el tamantildeo del bloque de texto
sin formato puede ser de 32 64 o 128 bits
22132 IDEA (International Data Encryption Algorithm) Baacutesicamente es un algoritmo
de cifrado de bloque simeacutetrico El algoritmo asimeacutetrico utiliza la misma clave para el cifrado y
descifrado Un cifrado de bloque divide el mensaje en bloques cada uno de una longitud fija y
luego cifra cada bloque de forma independiente
34
El tamantildeo de bloque tiacutepico es de 16 bytes de 128 bits Un cifrado de bloque generalmente
operaraacute en bloques o rondas donde se aplica parte de la clave a la ronda Despueacutes de un cierto
nuacutemero de rondas digamos entre 10 y 16 se termina con el texto cifrado para ese bloque
El bloque de texto cifrado tiene exactamente el mismo tamantildeo que el bloque de texto sin
formato 16 bytes Para cada ronda se trabaja en el bloque utilizando una parte de la clave de
cifrado a la que se le llama la clave redonda Muacuteltiples claves redondas se derivan de la clave de
cifrado utilizando para esto un programa de claves
La programacioacuten de claves es un algoritmo que cambia XOR multiplica y realiza otros
tipos de operaciones en la clave de cifrado original para obtener estas claves redondas Bueno si
tengo un bloque de 16 bytes y tengo una clave de 128 bits que tambieacuten es de 16 bytes (Educba
2019)
22133 DES (Data Encryption Standard) El algoritmo DES es el algoritmo de seguridad
maacutes popular Es un algoritmo simeacutetrico lo que significa que se utilizan las mismas claves para
cifrar descifrar datos confidenciales La longitud de la clave es de 8 bytes (64 bits) Entonces
para cifrar descifrar datos el algoritmo DES utiliza una clave de 8 bytes pero 1 byte (8 bits) para
la verificacioacuten de paridad Es un algoritmo de cifrado de bloque por lo tanto el tamantildeo del bloque
de datos del algoritmo DES es de 64 bits Para cifrar descifrar datos el algoritmo DES utiliza la
estructura Feistel Entonces utiliza una ronda para cifrar descifrar datos Aunque el tamantildeo del
35
bloque de datos es de 64 bits el nuacutemero de rondas seraacute de 16 rondas asiacute mismo utilizaraacute diferentes
subclaves para cada ronda por lo tanto el nuacutemero de subclaves seraacute de 16 subclaves
Como se puede observar la clave efectiva es de 56 bits por consiguiente se tiene 256
combinaciones posibles por lo que la fuerza bruta se hace casi imposible (Sanjoy 2015)
2214 Cifrado asimeacutetrico Los cifrados asimeacutetricos tambieacuten se conocen como cifrados
con claves puacuteblicas y privadas Usan dos claves una para el cifrado de mensajes y la otra durante
el descifrado
Un intruso puede encriptar cualquier mensaje usando la clave puacuteblica conocida Los
cifrados asimeacutetricos son por lo tanto vulnerables a los ataques de texto sin formato Los cifrados
con encriptacioacuten de clave puacuteblica deben proporcionar seguridad contra tales ataques Despueacutes de
encriptar dos mensajes con la misma clave puacuteblica el intruso no puede distinguir queacute texto cifrado
estaacute conectado con queacute texto plano Ademaacutes un observador que analiza dos mensajes encriptados
usando el mismo algoritmo y la misma clave puacuteblica no puede distinguir sus textos cifrados
(Kowalczyk 2015)
Los cifrados asimeacutetricos son mucho maacutes lentos que los cifrados simeacutetricos (generalmente
mil veces maacutes lentos) Es una praacutectica comuacuten usar el cifrado de clave puacuteblica solo para establecer
la conexioacuten segura y negociar la nueva clave secreta que luego se utilizaraacute para proteger la
comunicacioacuten mediante cifrado simeacutetrico Ejemplos de este cifrado son
36
22141 DSA (Digital Signature Algorithm - Algoritmo de Firma digital) Es un estaacutendar
del Gobierno Federal de los Estados Unidos para firmas digitales Fue propuesto por el Instituto
Nacional de Estaacutendares y Tecnologiacutea (NIST) en agosto de 1991 para ser usado en su Estaacutendar de
Firma Digital (DSS) en el antildeo de 1993
La primera parte del algoritmo DSA es la generacioacuten de clave puacuteblica y clave privada que
puede describirse como
Se elige un nuacutemero primo q que se llama divisor primo
Se elige otro nuacutemero primo p de modo que pndash1 mod q = 0 p seraacute llamado moacutedulo
primo
Ahora se elige un nuacutemero entero g tal que 1 ltg ltp g q mod p = 1 g = h ((p
ndash 1) q) mod p q tambieacuten se llama moacutedulo de orden multiplicativo de g moacutedulo p
Se elige un nuacutemero entero tal que 0 ltx ltq
Se calcula y como g x mod p
Se empaqueta la clave puacuteblica como p q g y
Por uacuteltimo se empaqueta la clave privada como p q g x
La segunda parte del algoritmo DSA es la generacioacuten de firma y la verificacioacuten de firma
Para generar una firma de mensaje el remitente puede seguir estos pasos
Se genera el resumen del mensaje h utilizando un algoritmo hash como SHA1
Se genera un nuacutemero aleatorio k tal que 0 ltk ltq
37
Se calcula r como (g k mod p) mod q Si r = 0 seleccione una k diferente
Ahora se calcula i de modo que k i mod q = 1 i se llama el inverso multiplicativo modular
de k moacutedulo q
Se calcula s = i (h + r x) mod q Si s = 0 se selecciona una k diferente
Por uacuteltimo se empaqueta la firma digital como r s (Yang 2019)
22142 RSA Encriptacioacuten RSA encriptacioacuten Rivest-Shamir-Adleman tipo de
criptografiacutea de clave puacuteblica ampliamente utilizada para la encriptacioacuten de datos de correo
electroacutenico y otras transacciones digitales a traveacutes de Internet RSA lleva el nombre de sus
inventores Ronald L Rivest Adi Shamir y Leonard M Adleman quienes lo crearon mientras
trabajaban en la facultad del Instituto Tecnoloacutegico de Massachusetts (Simmons 2019)
En el sistema RSA un usuario elige de manera secreta un par de nuacutemeros primos p y q tan
grandes que factorizar el producto n = pq estaacute mucho maacutes allaacute de las capacidades informaacuteticas
proyectadas para la vida uacutetil de los cifrados A partir del antildeo 2000 los estaacutendares de seguridad del
gobierno de EE UU exigen que el moacutedulo tenga un tamantildeo de 1024 bits es decir p y q deben
tener un tamantildeo de aproximadamente 155 diacutegitos decimales por lo que n es aproximadamente un
nuacutemero de 310 diacutegitos Dado que los nuacutemeros duros maacutes grandes que actualmente se pueden
factorizar son solo la mitad de este tamantildeo y dado que la dificultad de factorizar se duplica
aproximadamente por cada tres diacutegitos adicionales en el moacutedulo se cree que los moacutedulos de 310
diacutegitos estaacuten a salvo de factorizar durante varias deacutecadas
38
2215 Cifrado hiacutebrido Es una teacutecnica comuacuten que combina diferentes funciones
criptograacuteficas como el cifrado de bloque Con el cifrado hiacutebrido se pueden cifrar datos firmarlos
o agregar un MAC y enviarlos en un objeto seguro (como una cadena o archivo) a traveacutes de un
canal de comunicacioacuten inseguro (sin un acuerdo clave entre dos partes)
En el sistema de cifrado hiacutebrido el texto plano (sin formato) se divide en tokens Luego
se calcula la longitud de cada ficha Los tokens y sus longitudes se almacenan en una matriz
Posteriormente se aplica el algoritmo Ceacutesar anidado sugerido El texto producido se almacena en
una matriz n x m llamada A Luego la transposicioacuten de esta matriz At se calcula utilizando
nuestra versioacuten revisada del cifrado de transposicioacuten para resolver el problema de secuenciacioacuten
A continuacioacuten el algoritmo RSA revisado se aplica en la matriz producida En el paso final se
aplica el formato de datos textuales usando el coacutedigo ASCII para producir el texto cifrado El
proceso de descifrado se realiza de la misma manera pero en orden inverso (Nahar amp Abu Abbas
2010)
23 Criptoanaacutelisis
El criptoanaacutelisis es el proceso de estudiar sistemas criptograacuteficos para buscar debilidades
o fugas de informacioacuten En general se considera que el criptoanaacutelisis explora las debilidades de
las matemaacuteticas subyacentes de un sistema criptograacutefico pero tambieacuten incluye la buacutesqueda de
debilidades en la implementacioacuten como ataques de canal lateral o entradas de entropiacutea deacutebiles
39
Su funcioacuten es la de conseguir obtener el significado de mensajes creados por medio de
criptografiacutea El objetivo principal del criptoanaacutelisis es opuesto al de la criptografiacutea Tiene como
finalidad encontrar la debilidad de las diferentes teacutecnicas criptograacuteficas para explotarla y de esta
manera reducir o eliminar la seguridad de la teacutecnica criptograacutefica Cualquier intento de
criptoanaacutelisis puede ser llamado ataque Una vez que un atacante logra romper la seguridad que
una teacutecnica criptograacutefica aportaba al sistema se dice que dicho sistema ha sido roto y por lo tanto
dicho ataque tuvo eacutexito
El criptoanaacutelisis es la investigacioacuten de sistemas texto cifrado y cifrados para revelar el
significado oculto o los detalles del sistema mismo El objetivo de este tipo de estudio es descubrir
los aspectos ocultos incluso si la clave o el algoritmo principal no se pueden descifrar Se necesita
una combinacioacuten exitosa de persistencia matemaacuteticas intuicioacuten curiosidad y una computadora
que funcione para hacer un buen criptoanalista Este tipo de ruptura de coacutedigo es extremadamente
importante especialmente en el mundo tecnoloacutegicamente dependiente de hoy El criptoanaacutelisis es
constantemente realizado por criptoacutegrafos que intentan obtener informacioacuten valiosa y por aquellos
que intentan descifrar el coacutedigo para revelar secretos (Security Degree Hub 2017)
24 Niveles de seguridad
Los niveles de seguridad de sistemas operativos son otorgados de acuerdo con el sistema
operativo que esteacute utilizando la empresa o institucioacuten ya sea puacuteblica privada gubernamental o no
gubernamental En el manual ldquoTrusted Computer System Evaluation Criteriardquo (United States
40
Government Department of Defense 1983) el Departamento de Defensa de los Estados Unidos
define los siguientes niveles
241 Nivel D1 Este nivel es el maacutes bajo de seguridad por lo tanto la norma establece que
el sistema no es confiable Esta divisioacuten contiene solo una clase Estaacute reservado para aquellos
sistemas que han sido evaluados pero que no cumplen con los requisitos para un nivel de
evaluacioacuten superior
242 Nivel C1 Un sistema de nivel C1 cumple nominalmente los requisitos de seguridad
discrecionales al proporcionar separacioacuten de usuarios y datos Incorpora alguna forma de controles
creiacutebles capaces de imponer limitaciones de acceso de manera individual es decir aparentemente
adecuados para permitir que los usuarios puedan proteger la informacioacuten privada o del proyecto y
evitar que otros usuarios lean o destruyan accidentalmente sus datos Se espera que el entorno de
nivel C1 sea uno de los usuarios cooperantes que procesan datos con el mismo nivel de
sensibilidad Los siguientes son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten
de nivel C1 son
Control de acceso discrecional por ejemplo listas de control de acceso (ACL)
usuario grupo
Por lo general para usuarios que estaacuten en el mismo nivel de seguridad
Proteccioacuten de nombre de usuario y contrasentildea y base de datos de autorizaciones
seguras (ADB)
Sistema operativo protegido y modo de operaciones del sistema
Comprobacioacuten perioacutedica de integridad de TCB
41
Mecanismos de seguridad probados sin derivaciones obvias
Documentacioacuten para la seguridad del usuario
Documentacioacuten para la seguridad de la administracioacuten de sistemas
Documentacioacuten para pruebas de seguridad
Documentacioacuten de disentildeo TCB
Tiacutepicamente para usuarios en el mismo nivel de seguridad
La certificacioacuten C1 es rara Los sistemas de ejemplo son versiones anteriores de
Unix IBM RACF
243 Nivel C2 Los sistemas de esta clase imponen un control de acceso discrecional maacutes
fino que los sistemas (C1) lo que hace que los usuarios sean individualmente responsables de sus
acciones a traveacutes de procedimientos de inicio de sesioacuten auditoriacutea de eventos relevantes para la
seguridad y aislamiento de recursos Los siguientes son requisitos miacutenimos para los sistemas
asignados a una clasificacioacuten de nivel C2
La proteccioacuten de objetos puede ser para un solo usuario Por ejemplo a traveacutes de
una base de datos ACL
La autorizacioacuten de acceso solo puede ser asignada por usuarios autorizados
Proteccioacuten de reutilizacioacuten de objetos (Por ejemplo para evitar la reasignacioacuten de
objetos eliminados de manera segura)
Procedimientos obligatorios de identificacioacuten y autorizacioacuten para los usuarios (Por
ejemplo Usuario Contrasentildea)
Auditoriacutea completa de eventos de seguridad (es decir fecha hora evento usuario
eacutexito falla ID de terminal)
42
Modo de operacioacuten del sistema protegido
Proteccioacuten adicional para la autorizacioacuten y los datos de auditoriacutea
Documentacioacuten como C1 maacutes informacioacuten sobre el examen de la informacioacuten de
auditoriacutea
Esta es una de las certificaciones maacutes comunes Los sistemas operativos de ejemplo
son VMS IBM OS 400 Windows NT Novell NetWare 411 Oracle 7 DG AOS
VS II
244 Nivel B1 Los sistemas de este nivel requieren todas las caracteriacutesticas requeridas
para el nivel C2 Ademaacutes debe estar presente una declaracioacuten informal del modelo de poliacutetica de
seguridad etiquetado de datos y control de acceso obligatorio sobre sujetos y objetos nombrados
La capacidad debe existir para etiquetar con precisioacuten la informacioacuten exportada Cualquier falla
identificada por la prueba debe ser eliminada Los siguientes son requisitos miacutenimos para los
sistemas asignados a una clasificacioacuten de nivel B1
Etiquetado obligatorio de seguridad y acceso de todos los objetos (Por ejemplo
archivos procesos dispositivos)
Comprobacioacuten de integridad de etiquetas (Por ejemplo mantenimiento de etiquetas
de sensibilidad cuando se exportan datos)
Auditoriacutea de objetos etiquetados
Control de acceso obligatorio para todas las operaciones
Capacidad para especificar el nivel de seguridad impreso en salida legible para
humanos (Por ejemplo impresoras)
43
Capacidad para especificar el nivel de seguridad en cualquier salida legible por
maacutequina
Auditoriacutea mejorada
Proteccioacuten mejorada del sistema operativo
Documentacioacuten mejorada
Los sistemas operativos de ejemplo son HP-UX BLS Cray Research Trusted
Unicos 80 Digital SEVMS Harris CS SX SGI Trusted IRIX
245 Nivel B2 En los sistemas de nivel B2 el TCB se basa en un modelo de poliacutetica de
seguridad formal claramente definido y documentado que requiere que la aplicacioacuten de control de
acceso discrecional y obligatoria que se encuentra en los sistemas de nivel B1 se extienda a todos
los sujetos y objetos en el sistema Ademaacutes se abordan los canales encubiertos El TCB debe
estructurarse cuidadosamente en elementos criacuteticos para la proteccioacuten y no criacuteticos para la
proteccioacuten La interfaz TCB estaacute bien definida y el disentildeo y la implementacioacuten TCB le permiten
someterse a pruebas maacutes exhaustivas y una revisioacuten maacutes completa Se fortalecen los mecanismos
de autenticacioacuten se proporciona una gestioacuten confiable de las instalaciones en forma de soporte
para las funciones de administrador y operador del sistema y se imponen estrictos controles de
gestioacuten de la configuracioacuten El sistema es relativamente resistente a la penetracioacuten Los siguientes
son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten de nivel B2
Notificacioacuten de cambios en el nivel de seguridad que afectan a los usuarios
interactivos
Etiquetas de dispositivos jeraacuterquicos
44
Acceso obligatorio a todos los objetos y dispositivos
Comunicaciones de ruta confiables entre usuario y sistema
Rastreo de canales de almacenamiento encubiertos
Modo de operaciones del sistema maacutes estricto en unidades independientes de varios
niveles
Anaacutelisis de canales encubiertos
Pruebas de seguridad mejoradas
Modelos formales de TCB
Versioacuten actualizacioacuten y anaacutelisis y revisioacuten de parches
Los sistemas de ejemplo son Honeywell Multics Cryptek VSLAN Trusted
XENIX
246 Nivel B3 El TCB debe satisfacer los requisitos del monitor de referencia para mediar
todos los accesos de los sujetos a los objetos ser a prueba de manipulaciones y ser lo
suficientemente pequentildeo como para ser sometido a anaacutelisis y pruebas Con este fin el TCB estaacute
estructurado para excluir el coacutedigo que no es esencial para la aplicacioacuten de la poliacutetica de seguridad
con una importante ingenieriacutea del sistema durante el disentildeo y la implementacioacuten del TCB dirigido
a minimizar su complejidad Se admite un administrador de seguridad los mecanismos de
auditoriacutea se ampliacutean para sentildealar eventos relevantes para la seguridad y se requieren
procedimientos de recuperacioacuten del sistema El sistema es altamente resistente a la penetracioacuten
Los siguientes son requisitos miacutenimos para los sistemas asignados a una clasificacioacuten de clase
(B3)
45
ACL adicionalmente basadas en grupos e identificadores
Acceso de ruta confiable y autenticacioacuten
Anaacutelisis automaacutetico de seguridad
Modelos TCB maacutes formales
Auditoriacutea de eventos de auditoriacutea de seguridad
Recuperacioacuten confiable despueacutes de la caiacuteda del sistema y documentacioacuten relevante
Cero defectos de disentildeo en TCB y defectos miacutenimos de implementacioacuten
El uacutenico sistema operativo con certificacioacuten B3 es Getronics Wang Federal XTS-
300
247 Nivel A1 Los sistemas en el nivel A1 son funcionalmente equivalentes a los del nivel
B3 en que no se agregan caracteriacutesticas arquitectoacutenicas adicionales ni requisitos de poliacuteticas La
caracteriacutestica distintiva de los sistemas en este nivel es el anaacutelisis derivado de la especificacioacuten
formal del disentildeo y las teacutecnicas de verificacioacuten y el alto grado resultante de seguridad de que el
TCB se implementa correctamente Esta garantiacutea es de naturaleza de desarrollo comenzando con
un modelo formal de la poliacutetica de seguridad y una especificacioacuten formal de alto nivel del disentildeo
Independientemente del lenguaje de especificacioacuten particular o del sistema de verificacioacuten
utilizado existen los siguientes criterios importantes para la verificacioacuten del disentildeo de nivel A1
Meacutetodos formales y prueba de integridad de TCB
Estos son los uacutenicos sistemas con certificacioacuten A1 Boeing MLS LAN Gemini
Trusted Network Processor Honeywell SCOMP (United States Government
Department of Defense 1983)
46
25 Sistemas Operativos
Un sistema operativo actuacutea como intermediario entre el usuario de una computadora y el
hardware de la computadora El propoacutesito de un sistema operativo es proporcionar un entorno en
el que un usuario pueda ejecutar programas de manera conveniente y eficiente
Un sistema operativo es un software que administra el hardware de la computadora El
hardware debe proporcionar mecanismos apropiados para garantizar el correcto funcionamiento
del sistema informaacutetico y para evitar que los programas del usuario interfieran con el correcto
funcionamiento del sistema (Carretero Peacuterez de Miguel Anasagasti Garciacutea Carballeira amp Peacuterez
Costoya 2001)
Un sistema operativo es un programa que controla la ejecucioacuten de programas de aplicacioacuten
y actuacutea como una interfaz entre el usuario de una computadora y el hardware de la computadora
Una definicioacuten maacutes comuacuten es que el sistema operativo es el uacutenico programa que se ejecuta
en todo momento en la computadora (generalmente llamado kernel) y todo lo demaacutes son
programas de aplicacioacuten
Un sistema operativo se ocupa de la asignacioacuten de recursos y servicios como memoria
procesadores dispositivos e informacioacuten El sistema operativo incluye los programas para
administrar estos recursos como un controlador de traacutefico un programador un moacutedulo de
administracioacuten de memoria programas de E S y un sistema de archivos (Pawar 2016)
47
251 Windows Sistema operativo de la empresa Microsoft es un conjunto de programas
que administra los recursos de una computadora Windows empieza a trabajar cuando se enciende
o inicializa el equipo para gestionar el hardware empezando desde los niveles maacutes baacutesicos
Es importante conocer que los sistemas operativos funcionan tanto en las computadoras
como en diferentes dispositivos electroacutenicos que usan microprocesadores En este caso Windows
su versioacuten estaacutendar funciona con computadoras Microsoft domina el mercado de los sistemas
operativos debido a su comodidad se puede decir que eacuteste sistema operativo se encuentra
instalado en el 887 de los equipos de coacutemputo que cuentan con acceso a Internet en todo el
mundo
Se pueden mencionar algunas aplicaciones principales (que eacutestas tambieacuten pueden ser
desinstaladas por los usuarios o actualizadas sin que el sistema operativo se dantildee o deje de
funcionar) se encuentran el procesador de texto WordPad el navegador Internet Explorer el
reproductor multimedia Windows Media y el editor de imaacutegenes Paint
La principal novedad que aportoacute Windows desde sus oriacutegenes fue la facilidad para usarlo
y el atractivo visual De hecho su nombre (ldquoventanasrdquo) se debe a la forma en que el sistema
presenta a los usuarios los recursos con los que cuenta su computadora lo que facilita las tareas
cotidianas Windows tambieacuten suele recibir varias criacuteticas por sus problemas de seguridad y por
otros fallos
48
252 Registro de Windows El registro es una base de datos jeraacuterquica que contiene datos
que son criacuteticos para el funcionamiento de Windows y las aplicaciones y servicios que se ejecutan
en Windows Los datos estaacuten estructurados en un formato de aacuterbol Cada nodo en el aacuterbol se llama
clave Cada clave puede contener subclaves y entradas de datos llamadas valores A veces la
presencia de una clave es el uacutenico dato que requiere una aplicacioacuten otras veces una aplicacioacuten
abre una clave y usa los valores asociados con la clave (Microsoft Inc 2019) Una clave puede
tener cualquier nuacutemero de valores y los valores pueden tener cualquier forma El registro es
utilizado por
Autenticacioacuten
Nuacutecleo (Kernel)
Controladores de dispositivos
Servicios
SAM
Las carpetas del sistema se almacenaraacuten en distintas rutas de acceso dependiendo de la
versioacuten de Windows con la que se esteacute trabajando a continuacioacuten cuatro de los cinco archivos
que maacutes interesan a esta investigacioacuten se encuentran en la siguiente ubicacioacuten SystemRoot
System32 Config dentro de las siguientes sub llaves
SAM - HKEY LOCAL MACHINE SAM
SECURITY - HKEY LOCAL MACHINE SECURITY
SOFTWARE - HKEY LOCAL MACHINE SOFTWARE
SYSTEM - HKEY LOCAL MACHINE SYSTEM
49
253 Administrador de cuentas de seguridad El administrador de cuentas de seguridad
(SAM por sus siglas en ingleacutes) es una base de datos en donde se encuentran las cuentas de
seguridad Esto es utilizado por Windows para administrar las cuentas de usuario y contrasentildeas en
el formato hash
Las contrasentildeas nunca se almacenan en formato de texto claro Se almacenan en formato
de hash para protegerlas de los ataques La base de datos SAM se implementa como un archivo de
registro y las obtiene del kernel de Windows y mantiene un bloqueo exclusivo al archivo SAM
esto quiere decir que el archivo tiene cierta medida de seguridad para el almacenamiento de las
contrasentildeas (Hernandez 2013)
No es posible copiar el archivo SAM a otra ubicacioacuten en el caso de los ataques en liacutenea
Dado que el archivo SAM estaacute bloqueado con un bloqueo exclusivo al sistema de archivos no
puede ser copiado o movido mientras se ejecuta Windows El bloqueo no iniciaraacute hasta que la
excepcioacuten de la pantalla azul haya sido inicializada o el sistema operativo haya sido apagado Sin
embargo los archivos en formato hash de contrasentildeas fuera de liacutenea estaacuten disponibles para los
ataques de fuerza bruta el contenido del archivo SAM puede ser copiado o descargado utilizando
diversas teacutecnicas
Un identificador de seguridad (SID) es un valor uacutenico de longitud variable utilizado para
identificar a un usuario Cada cuenta tiene un SID uacutenico emitido por una autoridad como un
controlador de dominio de Windows y almacenado en una base de datos de seguridad Cada vez
50
que un usuario inicia sesioacuten el sistema recupera el SID para ese usuario de la base de datos y lo
coloca en el token de acceso para ese usuario El sistema usa el SID en el token de acceso para
identificar al usuario en todas las interacciones posteriores con la seguridad de Windows Cuando
se ha usado un SID como identificador uacutenico para un usuario o grupo no se puede volver a usar
para identificar a otro usuario o grupo
La seguridad de Windows usa SID en los siguientes elementos de seguridad
En descriptores de seguridad para identificar al propietario de un objeto y grupo
primario
En las entradas de control de acceso para identificar al usuario para quien el acceso
estaacute permitido denegado o auditado
En tokens de acceso para identificar al usuario y los grupos a los que pertenece
2531 Identificador de Seguridad (SID Security Identifier)
S - 1 - 5 - 21 - 3983109318 - 554656936 - 3066752241 - 1000
S - indica que es un string de SID
1 - el nivel de revisioacuten
5 - el identificador de valor de autoridad o authority value no siempre seraacute 5 Entre otros
valores que se pueden encontrar estaacuten los siguientes
51
0 - sin autoridad
1 - autoridad global
2 - autoridad local
3 - autoridad de creador
4 - autoridad no uacutenica
5 - autoridad NT
9 - autoridad de administrador de recursos
21 - 3983109318 - 554656936 - 3066752241 - es el dominio en el que se encuentra el
sistema o el identificador local de la computadora
1000 - ID uacutenico para cada cuenta aquiacute se encuentra el RID (Relative Identifier) Nuacutemero
de longitud variable cualquier grupo o usuario que se cree de manera diferente a la predeterminada
recibiraacute un RID de 1000 o superior En el caso de que el valor sea 500 responde a que este SID
representa la cuenta de un administrador el valor de 500 siempre seraacute el mismo en cualquier cuenta
de administrador a su vez el valor 501 representa el SID de una cuenta Invitado (Guest)
(Hernandez 2013)
254 Autenticacioacuten NTML NTLM (NT LAN Manager) es un protocolo empleado por
muchos productos de Microsoft para realizar la autenticacioacuten desafiacuteorespuesta por lo tanto es el
esquema de autenticacioacuten que por defecto usa Firewall de Microsoft y tambieacuten los productos del
servidor proxy
52
Este software fue desarrollado para afrontar el problema del trabajo con Tecnologiacuteas Java
en un entorno orientado a Microsoft Puesto que no se basa en ninguna especificacioacuten oficial de
protocolo por lo tanto no hay garantiacutea de que funciona correctamente en todos los casos Tambieacuten
ha estado en algunas instalaciones de Windows donde funcionoacute con eacutexito
La Autenticacioacuten NTLM se compone de dos protocolos protocolo de autenticacioacuten NTLM
y protocolo de autenticacioacuten LM Estos protocolos utilizan una metodologiacutea de hash diferente para
almacenar contrasentildeas de los usuarios en la base de datos SAM (Hernandez 2013) (Meneacutendez-
Barzanallana 17)
26 LINUX (ROCKS)
Rocks es una distribucioacuten para cluacutester de Linux de coacutedigo abierto que permite a los usuarios
finales construir de manera maacutes amigable cluacutesteres computacionales y muros de visualizacioacuten en
mosaico Cientos de investigadores de todo el mundo han utilizado Rocks para implementar su
propio cluacutester
Desde mayo de 2000 el grupo Rocks ha abordado las dificultades de implementar cluacutesteres
manejables Encaminados hacia un objetivo crear cluacutesters de manera maacutes sencilla Por sencilla
significa faacutecil de implementar administrar actualizar y escalar Este objetivo impulsa a los
creadores de esta herramienta a ayudar a entregar el poder computacional de los cluacutesteres a una
amplia gama de usuarios cientiacuteficos Estaacute claro que poner a disposicioacuten de una amplia gama de
53
cientiacuteficos plataformas de computacioacuten paralelas estables y manejables ayudaraacute enormemente a
mejorar el estado del arte en herramientas paralelas (Rocksclusters 2010)
261 Escritorio De todos los escritorios disponibles para el sistema operativo Linux
GNOME ha logrado convertirse en el maacutes eficiente estable y confiable sin dejar de ser sencillo
de usar De hecho la mayoriacutea de los usuarios independientemente de su experiencia pueden
trabajar con GNOME casi sin esfuerzo
Los usuarios que son nuevos tanto en Linux como en GNOME hariacutean mejor en conocer
los entresijos del escritorio que hacen que Linux no solo sea faacutecil sino tambieacuten divertido
Un entorno de escritorio agrupa programas que trabajan juntos para formar un espacio de
trabajo informaacutetico cohesivo unificado transparente e interactivo para los usuarios O para
decirlo de manera maacutes simple el entorno de escritorio es la interfaz de usuario para el sistema
operativo En el caso de GNOME ese sistema operativo es Linux Sin un entorno de escritorio su
uacutenica alternativa es una sesioacuten de Shell (liacutenea de comandos) basada en texto (Wallen 2019)
262 Paquete de Oficina Una suite ofimaacutetica es una coleccioacuten de software creada por el
mismo proveedor y disentildeada para ser utilizada para tareas rutinarias dentro de una organizacioacuten
Por lo general una suite ofimaacutetica incluye aplicaciones como procesamiento de texto hojas de
caacutelculo presentacioacuten correo electroacutenico toma de notas base de datos colaboracioacuten y otros tipos
de software relacionados En la mayoriacutea de los casos cada aplicacioacuten en la suite ofimaacutetica se puede
instalar por separado y todas las aplicaciones dentro de la suite admiten la interoperabilidad entre
54
siacute Microsoft Office Suite Lotus Live Notes y LibreOffice son todas suites de oficina de uso
comuacuten
263 Organizador de archivos Es una funcioacuten avanzada disentildeada para agrupar y
renombrar archivos usando sus atributos del sistema o meta atributos
Cada archivo tiene atributos del sistema como la fecha (Acceso Creado y Modificado) el
tipo de archivo (definido por extensioacuten) y asociado con la aplicacioacuten registrada de ese tipo de
archivo Estos atributos se pueden usar para generar un nuevo nombre de archivo o carpeta (grupo)
para cada archivo con el mismo atributo Ademaacutes de los atributos del sistema algunos archivos
en su mayoriacutea medios o imaacutegenes pueden contener metacampos como el nombre del artista el
tiacutetulo el nombre del aacutelbum y otros El Organizador de archivos tambieacuten usa estos metacampos
para agrupar archivos en una carpeta con el mismo atributo Por lo tanto el organizador de archivos
opera reglas de organizacioacuten de archivos que definen la jerarquiacutea de agrupacioacuten de carpetas y las
reglas de cambio de nombre de archivos
Asiacute como el conocido ldquoexplorador de Windowsrdquo Linux integra un organizador de archivos
y carpetas llamado NAUTILUS para realizar tareas de manejo de archivos como mover copiar
renombrar crear carpetas y de esta manera administrar nuestros dispositivos de almacenamiento
55
27 Agrupamiento (Cluacutester) de Computadoras
El agrupamiento (cluacutester) de computadoras estaacute conformado por una coleccioacuten de
computadoras autoacutenomas interconectadas trabajando unidas como un solo recurso de computacioacuten
integrado El concepto de agrupamiento de computadoras nacioacute cuando los pioneros de la
supercomputacioacuten intentaban difundir diferentes procesos entre varias computadoras para luego
poder recoger los resultados que dichos procesos debiacutean producir Con un hardware maacutes barato y
faacutecil de conseguir se pudo perfilar que podriacutean conseguirse resultados muy parecidos a los
obtenidos con aquellas maacutequinas mucho maacutes costosas (Chirinov 2003)
Un agrupamiento de computadoras se puede definir como el trabajo realizado por dos o
maacutes computadoras que en conjunto se encargan de proveer una determinada solucioacuten Tiene como
finalidad agrupar el poder de coacutemputo de los nodos implicados para proporcionar una mayor
escalabilidad disponibilidad y fiabilidad (Branch Bedoya amp Mesa Muacutenera 2008)
La escalabilidad es la capacidad de un equipo para hacer frente a voluacutemenes de trabajo
cada vez mayores sin por ello dejar de prestar un nivel de rendimiento aceptable
La disponibilidad y la fiabilidad se encuentran bastante relacionadas aunque difieren
ligeramente en algunos aspectos La disponibilidad es la calidad de estar presente y listo para su
uso mientras que la fiabilidad es la probabilidad de un correcto funcionamiento
56
Entre los tipos de agrupamiento maacutes comunes se pueden encontrar de alta disponibilidad
(ambiente a prueba de fallas) coacutemputo de alto desempentildeo (los procesos o las tareas dadas se
presentan como un solo sistema virtual) y escalamiento horizontal (se utiliza para proporcionar
una sola interfaz a un conjunto de recursos que pueden aumentar o disminuir arbitrariamente su
tamantildeo en un cierto periodo de tiempo) (Gonzaacutelez Ramiacuterez amp Rodriacuteguez Saacutenchez 2008)
271 Beowulf Es una clase de computadora masivamente paralela de altas prestaciones
principalmente construida a base de agrupamiento de componentes hardware estaacutendar (Llorens amp
Pentildea 2002) Consta de un conjunto de nodos minimalistas unidos por un medio de
comunicaciones econoacutemico Esto quiere decir que tienen lo miacutenimo para ejecutar su funcioacuten de
hecho los nodos por siacute solos no son capaces de ejecutar siquiera un sistema operativo (Nievas
Pino amp Arroyo) Se puede ver como una supercomputadora paralela construida con hardware
comercial de faacutecil adquisicioacuten que posee como sistema operativo Linux Los cluacutesters Beowulf son
extremadamente poderosos pero no son para todas las personas Su principal desventaja es que
requieren software disentildeado para poder aprovechar los recursos del cluacutester (Lizaacuterraga 2002)
272 Mosix Seguacuten Peacuterez (2001) la arquitectura Mosix estaacute basada en la misma ideologiacutea
de la arquitectura Beowulf Se basa en un conjunto de parches aplicados al nuacutecleo (kernel) de Linux
y que asignan a todo el grupo de nodos un espacio de direcciones y de procesos comuacuten gracias al
cual los procesos migran de uno a otro con el fin de equilibrar favorablemente la carga del sistema
global Es una herramienta disentildeada para realizar balanceo de carga en el agrupamiento de forma
totalmente transparente de manera tal que los nodos se comportan como una sola maacutequina y asiacute
incrementar el aprovechamiento de cada uno de los nodos (Chaacutevez y otros 1999) La principal
57
ventaja de Mosix frente a Beowulf se basa precisamente en esto Mosix da mejores respuestas que
Beowulf frente a la caiacuteda o insercioacuten de nodos A parte de esto Mosix permite un cambio constante
de aplicacioacuten o incluso el correr aplicaciones independientes de forma simultaacutenea
273 OpenMosix OpenMosix es una extensioacuten del proyecto Mosix Seguacuten Chirinov
(2003) la idea de este modelo es que la distribucioacuten de tareas en el cluacutester la determina OpenMosix
de forma dinaacutemica conforme se van creando tareas Cuando un nodo estaacute demasiado cargado las
tareas que se estaacuten ejecutando pueden migrar a cualquier otro nodo del cluacutester Asiacute desde que se
ejecuta una tarea hasta que eacutesta muere podraacute migrar de un nodo a otro sin que el proceso sufra
mayores cambios
Ademaacutes OpenMosix funciona a nivel de kernel por tanto puede conseguir toda la
informacioacuten que necesite para decidir que tanto estaacute cargado un sistema y queacute pasos se deben
seguir para aumentar el rendimiento ademaacutes puede realizar maacutes funciones que cualquier
aplicacioacuten a nivel de usuario
Despueacutes de elegir el tipo de cluacutester a utilizar se procede a elegir los elementos baacutesicos que
se emplearaacuten para implementar el cluacutester capacidad de procesamiento memoria espacio del disco
de cada nodo asiacute como tambieacuten el ancho de banda de la comunicacioacuten entre los nodos Se deberaacute
decidir cuaacuteles son importantes basaacutendose en la variedad de aplicaciones que se piensen ejecutar
en el cluacutester y de la cantidad de dinero que se disponga para construirlo
58
Bajo estos mismos paraacutemetros se debe escoger tambieacuten el tipo de red que interconectaraacute
los nodos (Turner 2004)
Luego se debe escoger el sistema operativo a utilizar Esta eleccioacuten dependeraacute mucho de
la maacutequina que se escoja Linux es siempre una opcioacuten en cualquier maacutequina y es la eleccioacuten maacutes
comuacuten Muchas de las herramientas necesarias para la implementacioacuten de un cluacutester han sido
desarrolladas bajo Linux Pero existen cluacutesters corriendo bajo Windows NT UNIX Solaris y AIX
59
Capiacutetulo 3 Implementacioacuten de Cluacutester
31 Requisitos previos
Antes de iniciar la instalacioacuten del FrontEnd es necesario asegurarse que las conexiones de
red de los equipos junto con la configuracioacuten de la BIOS de cada uno sean las correctas
311 Conexioacuten de los equipos y acceso a la red
Un cluacutester de alto desempentildeo funciona como un uacutenico equipo el cuaacutel comparte los recursos
de los nodos esclavos con el nodo maestro para ello es esencial la existencia de una red interna de
alta velocidad por medio de la cual se realice la comunicacioacuten entre el nodo maestro y los nodos
esclavos como se muestra en la Figura 31 El nodo maestro necesitaraacute 2 tarjetas de red de alta
Figura 31 Esquema tiacutepico de configuracioacuten de un cluacutester (Fuente Elaboracioacuten propia)
60
velocidad una para la comunicacioacuten interna y otra para la comunicacioacuten con redes externas El
sistema operativo Rocks asigna automaacuteticamente la interface ldquoeth0rdquo a la red interna del cluacutester y
la interface ldquoeth1rdquo a la red externa En caso de que Rocks sea incapaz de determinar cuaacutel es la red
externa debido a la falta de conexioacuten a internet estas podriacutean ser asignadas de manera incorrecta
por tal motivo se sugiere asegurar el nombre de cada una de las interfaces
Dado que Rocks no permite volverlas a asignar una vez finalizada la instalacioacuten es
necesario volver a reinstalarlo para poder solucionar este inconveniente
312 Configuracioacuten de la BIOS Para evitar problemas durante la instalacioacuten conviene
configurar correctamente la Bios
3121 ATAIDE Mode Algunos sistemas operativos puede que no sean capaces de
reconocer el controlador del disco duro como es en el caso de esta distribucioacuten de Rocks usada
Para evitar complicaciones de tener que antildeadir el controlador a mano lo mejor es habilitar el modo
ldquoLegacyrdquo de controlador de disco duro
61
Para ello se accede a la Bios pulsando F2 al encender el equipo se situacutea en la pestantildea
ldquoAdvancedrdquo y se selecciona ldquoDrive Configurationrdquo como se muestra en la Figura 32
Figura 32 Imagen del Bios del equipo en la opcioacuten ldquodrive configurationrdquo (Fuente Elaboracioacuten propia)
Figura 33 Bios ATAIDE Legacy Mode (Fuente Elaboracioacuten propia)
62
Dentro del menuacute se tiene que seleccionar el Modo ldquoLegacyrdquo en la opcioacuten ldquoATAIDE
Moderdquo como se muestra en la Figura 33 y para salir se guardan los cambios con F10
3122 PXE Al momento de instalar un nodo puede ocurrir falla al arrancar y aparecer
bootsplash (Reboot and Select proper device) Para evitarlo es necesario habilitar la opcioacuten de
PXE para que tome los archivos de instalacioacuten del nodo maestro a traveacutes de la red interna
En la Bios se selecciona la pestantildea ldquoBootrdquo y dentro de ese mismo menuacute se deshabilita
ldquoSilent bootrdquo y se habilita la opcioacuten de ldquoPXE boot to lanrdquo como se muestra en la Figura 34
Finalmente hay que verificar que en la secuencia de arranque (Figura 35) como primer
dispositivo sea desde red para que de esta manera inicie desde el PXE
Figura 34 Bios Boot PXE (Fuente Elaboracioacuten propia)
63
Se guardan los cambios antes de salir
32 Instalacioacuten de Sistema Operativo Rocks
Una vez configurados los equipos se enciende el equipo que seraacute el nodo maestro
(FrontEnd) en el cuaacutel previamente se ha modificado la secuencia de inicio del boot desde la Bios
de modo que al insertar el CD de Rocks eacuteste procederaacute a iniciar la instalacioacuten con la siguiente
pantalla que se muestra a continuacioacuten
Figura 35 Bios Boot device prioriry (Fuente Elaboracioacuten propia)
64
Para iniciar la instalacioacuten uacutenicamente se selecciona la opcioacuten ldquoInstall CentOS 7rdquo como se
muestra en la Figura 36 dando asiacute comienzo al proceso de instalacioacuten Tras finalizar un proceso
de carga en memoria Rocks mostraraacute un formulario en entorno graacutefico mediante el cual
procederemos a configurar el FrontEnd
Esta primera pantalla se muestra coacutemo se desea realizar la instalacioacuten puede realizarse
por medio de la descarga del sistema operativo (se requiere internet) En este caso como se muestra
en la Figura 37 dado que previamente se descargoacute el DVD completo se seleccionoacute ldquoCDDVD
based rollsrdquo
Figura 36 Pantalla de Inicio de instalacioacuten de Rocks (Fuente Elaboracioacuten propia)
65
A continuacioacuten Figura 38 se selecciona de la lista de Rolls aquellos que se desean instalar
Figura 37 Pantalla de seleccioacuten de Rolls (Fuente Elaboracioacuten propia)
Figura 38 Listado de opciones de rolls para instalar (Fuente Elaboracioacuten propia)
66
Tras presionar el botoacuten ldquoSubmitrdquo la siguiente pantalla (Figura 39) muestra formulario en
el que hay que indicar la informacioacuten baacutesica del cluacutester entre las cuales aparecen
Fully-Qualified Host Name Nombre con el que se conoceraacute en la red externa el cluacutester
Cluster Name Nombre utilizado para ser identificado dentro de las herramientas del cluacutester
Certificate Organization Locality State and Country Organizacioacuten a la que pertenece el
cluacutester la localidad el estado y la ciudad
Contact URL and LattitudeLongitude Contacto direccioacuten web y posicioacuten GPS
Figura 39 Informacioacuten baacutesica del cluacutester a instalar (Fuente Elaboracioacuten propia)
67
Una vez que se ingresa la informacioacuten al cluacutester se presiona el botoacuten ldquoListordquo y
posteriormente se podraacute cambiar la configuracioacuten baacutesica de la red interna del cluacutester En este caso
Figura 310 se dejoacute el valor por defecto una IP de clase B (1011116)
El siguiente paso es la configuracioacuten de la red externa (para tener acceso a internet) En
este punto se introducen los datos de la red externa a la que se encuentra conectado el nodo
maestro como se muestra en la Figura 311
Figura 310 Configuracioacuten Ethernet de la red privada (Fuente Elaboracioacuten propia)
Figura 311 Configuracioacuten Ethernet de la red puacuteblica (Fuente Elaboracioacuten propia)
68
Para terminar de configurar la red externa como se muestra en la Figura 312 se ingresa la
direccioacuten IP del Gateway y los DNS (Servidor de nombre de dominio) que va a usar para el acceso
a internet
Se continuacutea con el resto del formulario donde se introduce la contrasentildea para el usuario
root tal y como se muestran en la Figura 313
Figura 312 Configuracioacuten de DNS y Gateway (Fuente Elaboracioacuten propia)
Figura 313 Ingresar contrasentildea de usuario root (Fuente Elaboracioacuten propia)
69
Paso siguiente se procede a seleccionar la zona horaria como se muestra en la Figura 314
donde se encuentra ubicado el cluacutester asiacute como un servidor de donde podraacute obtener la zona horaria
automaacuteticamente en este caso se dejoacute el valor por default
En el formulario de la Figura 315 se selecciona la forma de particionar el disco duro
(automaacutetica manual) una vez seleccionado daraacute comienzo al proceso de instalacioacuten de manera
Figura 314 Configuracioacuten horaria (Fuente Elaboracioacuten propia)
Figura 315 Particiones del disco duro (Fuente Elaboracioacuten propia)
70
desatendida Cuando ha concluido la instalacioacuten el equipo se reiniciaraacute y se requeriraacute iniciar con
el usuario root y la contrasentildea establecida previamente
321 Configuracioacuten del teclado Debido a que el teclado por defecto estaacute en idioma
ingleacutes podriacutea provocar problemas al momento de escribir la contrasentildea u otros comandos
Seguacuten las pruebas realizadas aunque se cambie la configuracioacuten del teclado desde el menuacute
de preferencias uacutenicamente se mantiene dentro de la sesioacuten desde la que se ha cambiado dicha
opcioacuten (lo cual implica que la contrasentildea de usuario hay que introducirla seguacuten la distribucioacuten
inglesa)
33 Instalacioacuten de los nodos
Previo a la instalacioacuten de los nodos esclavos cada uno de los equipos fueron configurados
desde la Bios para que arranquen desde la red (seccioacuten 3122) Para ir antildeadiendo los nodos solo
se tiene que introducir el siguiente comando desde nuestro FrontEnd
$insert-ethers
A continuacioacuten como se muestra en la Figura 316 apareceraacute una ventana en la pantalla
en la cual se seleccionaraacute la opcioacuten ldquoComputerdquo
71
Una vez realizado este paso se procede a encender los equipos que funcionaraacuten como
nodos esclavos uno a uno
Se sugiere esperar a que cada nuevo equipo encendido esteacute marcado con un asterisco antes
de proceder a encender el siguiente como se muestra en la Figura 317 De esta manera se asegura
que cada nuevo nodo antildeadido posea el nombre y numeracioacuten deseada
Figura 316 Pantalla para ingresar nodos (Fuente Elaboracioacuten propia)
Figura 317 Indicador de insercioacuten de nuevos nodos (Fuente Elaboracioacuten propia)
72
Puede darse el caso de que un nodo no sea detectado automaacuteticamente eso indica que se
ha omitido alguacuten paso o parte de la configuracioacuten realizada hasta el momento es incorrecta En ese
caso comprobar lo siguiente
Que el nodo esclavo este correctamente conectado a la red interna
Que el FrontEnd (nodo maestro) tenga correctamente configurada la red interna y externa
Que el PXE esteacute habilitado en la Bios del nodo esclavo
331 Administracioacuten de nodos Algunos de los comandos maacutes uacutetiles para para la gestioacuten
de los nodos son los siguientes
Eliminar un nodo de la lista
Reinstalar un nodo
Listar los nodos ya instalados
Acceder a un nodo
$rocks remove host nombre_nodo
$rocks remove host nombre_nodo
$rocks set host boot nombre_nodo action=install
$rocks set host boot nombre_nodo action=install
$rocks list host
$rocks list host
$ssh nombre_nodo
$ssh nombre_nodo
73
Ejecutar un comando de manera remota a un nodo
332 Creacioacuten de cuentas de usuario Para agregar a un usuario hay que realizar los
siguientes pasos
1 Creacioacuten de la cuenta
$useradd nombre_usuario
2 Asignacioacuten de una contrasentildea
$passwd nombre_usuario
3 Sincronizacioacuten de la cuenta de usuario con el resto de nodos
$rocks-user-sync
333 Configuracioacuten del directorio compartido El directorio share es compartido por el
FrontEnd y el resto de nodos se localiza dentro del FrontEnd en la carpeta exports siendo la
carpeta share un enlace simboacutelico a esta uacuteltima
Al principio es posible que no se sincronicen correctamente los archivos introducidos en el
directorio debido a que la carpeta inicialmente estaacute vaciacutea por lo que para solucionar este
inconveniente puede usarse el comando siguiente para reiniciar dicho servicio
$ssh nombre_nodo lsquocomandorsquo
$ssh nombre_nodo lsquocomandorsquo
$cd
$export fs ndashrv
service nfs restart
$cd
$export fs ndashrv
service nfs restart
74
34 Operaciones baacutesicas de Rocks
Comandos y aplicaciones esenciales para el manejo del cluacutester
Ver que rolls estaacuten instalados
$rocks list roll
Visualizar el estado del sistema Figura 318
$qstat ndashf
Probar el sistema de colas para distribuir tareas a los nodos
Para ello se prueba que el SGE del cluacutester funcione enviaacutendole una serie de trabajos
mediante el comando qsub
En primer lugar se crea un fichero (pruebapl) que tenga permisos de ejecucioacuten con el
siguiente contenido
Figura 318 Comando qstat ndashf (Fuente Elaboracioacuten propia)
75
usrbinperl
for(my $i=0$ilt30$i++) sleep(2) print okn
Y se ejecuta con el siguiente comando
$ for ((i=1ilt=10i+=1)) do qsub pruebapl done
Al ejecutarse se puede comprobar que los trabajos se han mandado Figura 319
Y al realizar de nuevo un ldquoqstat ndashfrdquo Figura 320 se observa coacutemo se van realizando
Figura 319 Enviacuteo de trabajos por medio del comando qsub (Fuente Elaboracioacuten propia)
Figura 320 Estado de los trabajos pendientes mostrados por qstat ndashf (Fuente Elaboracioacuten propia)
76
Para ver la carga de trabajo en el cluacutester de manera global y de forma graacutefica se tiene que
ingresar en un navegador web en la siguiente direccioacuten httplocalhostganglia apareceraacute la
Figura 321
Figura 321 Visualizacioacuten de la distribucioacuten de cargas en el cluacutester usando la herramienta Ganglia (Fuente Elaboracioacuten propia)
77
Capiacutetulo 4 Metodologiacutea y Resultados
Una vez finalizada la instalacioacuten y puesta en operacioacuten del equipo se analizaron diferentes
metodologiacuteas de trabajo lo que implicoacute un trabajo arduo debido a que existen complicaciones
cuando se buscan temas relacionados a vulnerar sistemas operativos La realizacioacuten de este
proyecto estaacute basado en la metodologiacutea de Joshua Picolet ldquoCracking Methodologyrdquo (Picolet
2017)
41 Obtener Archivo hash
Se pueden vulnerar contrasentildeas de Windows de diferentes maneras Una de ellas es
mediante el acceso al archivo del Administrador de cuentas de seguridad (SAM) el cual se detalla
en el apartado 253 a traveacutes de la obtencioacuten de las contrasentildeas del sistema en su forma hash por
medio de herramientas diferentes Alternativamente las contrasentildeas se pueden leer desde la
memoria lo que tiene el beneficio adicional de recuperar las contrasentildeas en texto plano y evitar el
requisito de descifrado Para comprender los formatos que se observan cuando se descarguen
hashes del sistema de Windows se requiere una breve descripcioacuten de los diferentes formatos de
almacenamiento
Originalmente las contrasentildeas de Windows de menos de 15 caracteres se almacenaban en
el formato hash de Lan Manager (LM) Algunos sistemas operativos como Windows 2000 XP y
Server 2003 continuacutean usando estos hashes a menos que esteacuten deshabilitados por el usuario
Ocasionalmente un sistema operativo como Windows Vista puede almacenar el hash LM para la
compatibilidad con otros sistemas Seguacuten analistas incluye varias vulnerabilidades como dividir
78
la contrasentildea en dos bloques y permitir que cada uno se descifre de forma independiente Mediante
el uso de tablas Rainbow es trivial descifrar una contrasentildea almacenada en un hash LM
independientemente de la complejidad Este hash se almacena con la misma contrasentildea calculada
en el formato de hash NT como el que se muestra en el siguiente ejemplo
Ejemplo de un hash NTLM con el componente LM y NT
Administrator500611D6F6E763B902934544489FCC9192BB71ED1E7F2B60ED5A2
EDD28379D45C91
Los sistemas operativos Windows maacutes recientes como el Windows 8 y 10 usan el hash NT
En teacuterminos simples no hay una debilidad significativa en este hash que lo diferencie de cualquier
otra funcioacuten hash criptograacutefica Se requieren meacutetodos de descifrado como lo es la fuerza bruta o
ataque de diccionario para recuperar la contrasentildea si uacutenicamente se almacena en el formato NT
Ejemplo de un hash NTLM uacutenicamente con el componente NT (como se ve en los sistemas
Windows mas recientes
Administrator500NOPASSWORDEC054D40119570A4663
4350291AF0F72
Es importante sentildealar que la cadena NO PASSWORD es variable seguacuten la herramienta
que se utilice Otras pueden presentar esta informacioacuten como ceros rellenos o comuacutenmente puede
79
ver la cadena ldquoAAD3B435B51404EEAAD3B435B51404EErdquo en lugar de ninguna contrasentildea
Esto significa que el hash LM estaacute vaciacuteo y no estaacute almacenado
El archivo hash se encuentran en el directorio ldquoWindows System32 configrdquo y se
necesitan ambos archivos SAM y SYSTEM Ademaacutes tambieacuten se encuentran en el archivo de
registro HKEY_LOCAL_MACHINE SAM al que no se puede acceder durante el tiempo de
ejecucioacuten Finalmente las copias de seguridad se pueden encontrar a menudo en ldquoWindows
Repairrdquo (Peleus 2019)
Para extraer el archivo hash de un sistema operativo con un nivel de seguridad C1 existen
diferentes meacutetodos en esta ocasioacuten se procederaacute a iniciar el equipo objetivo con una distribucioacuten
de Linux desde una memoria USB como se muestra en la figura 41 para de esta manera ingresar
al directorio CWINDOWSSystem32Config directorio de ubicacioacuten de los archivos SAM y
SYSTEM que son los necesarios para obtener el archivo hash (Caballero 2018)
Figura 41 Arranque con LiveUSB KaliLinux (Fuente Elaboracioacuten propia)
80
42 Dar Formato al Hash
En este punto es donde se tiene que identificar el algoritmo con el que fueron encriptados
los archivos SAM y SYSTEM que se han obtenido en el punto anterior con la finalidad de
seleccionar el tratamiento que se les daraacute El algoritmo de encriptacioacuten del archivo SAM de
Windows 10 es NTLM y ademaacutes estaacute almacenado en un formato binario (ByteBleeder 2017) por
lo que fue necesario instalar la herramienta con licencia GNU samdump2 para obtener la syskey y
de esta manera poder extraer los hash desde el archivo SAM de Windows
En la figura 42 se han obtenido los hashes del archivo SAM donde se puede observar que
los usuarios Administrador e Invitado estaacuten deshabilitados ademaacutes de que existen tres cuentas de
usuario activas las cuales son Gad prueba y usuarioprueba cada una con su contrasentildea cifrada
en formato NTLM a la derecha del nombre de usuario la cuenta usuarioprueba fue a la que se le
realizoacute el anaacutelisis que se detalla posteriormente
43 Evaluar la fuerza del Hash
En criptografiacutea se dice que un algoritmo criptograacutefico se rompe si por alguacuten meacutetodo se
consigue reducir su fortaleza es decir reducir por ejemplo su entropiacutea de los 2256 bits teoacutericos a
Figura 42 Resultado de la ejecucioacuten de la herramienta samdump2 (Fuente Elaboracioacuten propia)
81
tan soacutelo 2255 por ejemplo El hecho de que se encuentre una colisioacuten no implica necesariamente
que un algoritmo se haya roto pues podriacutea haber sido realizado mediante fuerza bruta pero puede
ser una causa
Un ataque de colisioacuten significa que encuentro dos entradas diferentes que producen el
mismo resultado de un hash particular Este es generalmente el tipo de ataque maacutes faacutecil Es el tipo
de ataque que se conoce desde hace varios antildeos contra MD5
Dado que una utilidad importante de las funciones hash estaacute en las firmas digitales
encontrar colisiones puede facilitar falsificar firmas digitales Es decir dos mensajes distintos que
tengan un mismo resumen tienen ademaacutes la misma firma y un atacante puede reemplazar un
mensaje por el otro Un ejemplo de este ataque fue demostrado en 2008 por un grupo de
investigadores en Aacutemsterdam los cuales falsificaron un certificado raiacutez mediante el uso de un
ataque de colisioacuten contra el algoritmo MD5 (Preukschat 2015)
Un ataque previo a la imagen generalmente es mucho maacutes difiacutecil es encontrar otra entrada
que produzca el mismo resultado que un hash que ya se conoce
Para tratar de aclarar la diferencia aquiacute en un ataque de colisioacuten encuentro dos entradas A
y B que producen el mismo resultado En un ataque de preimagen comienzo a partir de alguacuten
resultado conocido X y encuentro una entrada que produciraacute X como resultado (Coffin 2015)
82
Para realizar esta evaluacioacuten se tomoacute como base la tabla del apeacutendice Hash craking
benchmark (Picolet 2017) el objetivo es observar el comportamiento y velocidad del Hash
mencionado cuando fue sometido a pruebas de criptoanaacutelisis Si se trata de un Hash lento se deberaacute
ser maacutes selectivo en queacute tipos de diccionarios y meacutetodos de criptoanaacutelisis se le debe aplicar Si es
un Hash raacutepido se puede ser maacutes libre con la estrategia de criptoanaacutelisis Este estudio busca
realizar una prueba de criptoanaacutelisis mostrando las diferencias entre el poder de procesamiento de
un cluacutester de 17 nodos contra una computadora personal por lo que no necesariamente se
implementaraacute el meacutetodo oacuteptimo para la realizacioacuten del criptoanaacutelisis
44 Calcular la capacidad del equipo
Con la informacioacuten de la evaluacioacuten de la fuerza del Hash obtenida en el apartado anterior en
este apartado se tiene que establecer la capacidad de la plataforma o plataformas que realizaraacuten
el criptoanaacutelisis
Para conocer la capacidad de procesamiento del cluacutester de alto rendimiento se utilizoacute la
herramienta Linpack Benchmark HPL es una implementacioacuten portaacutetil del Benchmark de alto
rendimiento LINPACK para equipos de coacutemputo distribuido Actualmente se utiliza para obtener
varios resultados en la lista actual de Top500 de HP cluacutesters (Dongarra 2010)
El Linpack Benchmark (HPL del Ingleacutes High-Performance Linpack Bench-mark) es un
software que resuelve un sistema lineal aleatorio de doble precisioacuten aritmeacutetica (64 bits) en equipos
de memoria distribuida El rendimiento muestra el nuacutemero de operaciones de punto flotante por
segundo logradas por el sistema (Petitet Whaley Dongarra amp Cleary 2008)
83
El HPL fue desarrollado en el Argone National Laboratory por Jack Don-garra en 1976 y
es uno de los maacutes usados en sistemas cientiacuteficos y de ingenieriacutea para el caacutelculo de prestaciones
Las principales caracteriacutesticas del algoritmo utilizado por el HPL son
Distribucioacuten ciacuteclica de datos de bloques de dos dimensiones
Variante derecha de la factorizacioacuten LU con pivoteo parcial (Teacutecnica de pivoteo
Dicta que el elemento pivote que debe escogerse es el mayor absolutamente de cada
columna)
Factorizacioacuten recursiva con pivoteo y reenviacuteo de columna
Distintas topologiacuteas virtuales de reenviacuteos
Algoritmo de reduccioacuten de reenviacuteo para ancho de banda (Castelloacute Gimeno 2014)
La resolucioacuten del sistema de ecuaciones se realiza del siguiente modo
1 Se crea un sistema de ecuaciones
(1)
119860119909 = 119887
(2)
119860 isin 119877119899119909119899
(3)
119909 119887 isin 119877119899
84
HPL calcula que la solucioacuten para un sistema de ecuaciones lineales se puede generalizar
como 119860119909 = 119887 donde 119860 es una matriz 119873 119909 119873 cuyos valores se generan aleatoriamente
119909 119910 119887 son vectores de tamantildeo 119873 Como se muestra en la Figura 43
2 Primero se calcula la factorizacioacuten 119871119880 con pivoteo parcial de los coeficientes 119899 y 119899 + 1
de la matriz [119860 119887]
(4)
119875119903[119860 119887] = [[119871119880] 119910]
(5)
119875119903 119871 119880 isin 119877119899119909119899
(6)
119910 isin 119877119899
El primer paso es la factorizacioacuten de la matriz 119860 en una matriz triangular superior 119880
y una matriz triangular inferior 119871 tal que 119860 = 119871119880 La factorizacioacuten se usa para calcular
el vector solucioacuten 119909
3 Una vez el pivoteo (representado por la permutacioacuten de la matriz 119875119903) y la factorizacioacuten
inferior se aplican sobre 119887 la solucioacuten se obtiene en un paso resolviendo el sistema
superior triangular
Figura 43 Sistema de Ecuaciones tipo 119860119909 = 119887 (Fuente Elaboracioacuten propia)
85
(7)
119880119909 = 119910
La matriz triangular inferior izquierda y el conjunto de pivotes no se devuelven en el
resultado Para la estabilidad numeacuterica el algoritmo de factorizacioacuten utiliza un pivote parcial de
fila
La implementacioacuten paralela de Linpack divide la matriz 119860 119873 119909 119873 en una cuadriacutecula de
procesos 119875 119909 119876 bidimensional y luego la divide en subgrupos de mosaicos 119873119861 119909 119873119861 (Petitet
Whaley Dongarra amp Cleary 2008)
Utilizando la herramienta HPL en esta investigacioacuten se obtuvieron los siguientes
resultados
La prueba abordoacute el ajuste de 119873 y la eficiencia obtenida en comparacioacuten con el rendimiento
maacuteximo Se determinoacute un valor para 119873 = 800000 aleatoriamente para ejecutar HPL en todo el
cluacutester Sin embargo el tiempo fue excesivo por lo tanto se determinoacute que este tamantildeo del
problema fue demasiado grande para el cluacutester Al realizar otros experimentos con valores maacutes
pequentildeos de 119873 se obtuvieron mejores resultados de rendimiento La Tabla 41 muestra el
rendimiento de HPL en GFlops para 119873 = 300000 400000 y 500000 Como se puede observar
en la Tabla 41 se obtuvo el mejor resultado de rendimiento 850 GFlops para 119873 = 500000 para
valores mayores de 119873 la distribucioacuten de cargas del cluacutester empieza a sobrepasar su capacidad como
se muestra en la Figura 44 y la vez su rendimiento disminuye Esto ocurre porque la cantidad de
memoria utilizada con las memorias intermedias de comunicacioacuten MPI es mayor de lo esperado
Por lo tanto es necesario dejar maacutes del 20 de la memoria para el sistema (Petitet Whaley
86
Dongarra amp Cleary 2008) Tambieacuten se realizaron pruebas usando solo un nodo de coacutemputo y el
rendimiento fue de 34 GFlops para 119873 = 20000
Tabla 41 Rendimiento de HP cluacutester (Fuente Elaboracioacuten propia)
Analizando la eficiencia obtenida para la ejecucioacuten de un solo nodo cuando 119873 = 20000
se obtuvo el 823 del rendimiento maacuteximo (el rendimiento maacuteximo para un solo nodo es 477
Gflops) Para todo el cluacutester el rendimiento maacuteximo seriacutea 119879119898119886119909 = 477 119909 17 =
8109 119866119891119897119900119901119904 aproximadamente
Figura 44 Distribucioacuten de cargas del cluacutester
0
500
1000
300000 400000 500000
Gflops
Gflops
87
La Figura 44 titulada ldquoDistribucioacuten de cargas del cluacutesterrdquo muestra la imagen de la
herramienta Ganglia de manera graacutefica a traveacutes de cuadros que variacutean de color dependiendo de la
carga que tenga cada uno de los nodos al momento de implementar la herramienta HPL De manera
inicial indica que el cluacutester tiene un total de 17 equipos de 4 cores cada uno eso da un total de 68
cores trabajando sin equipos inactivos Muestra tambieacuten una sobrecarga en el cluacutester y un
porcentaje promedio de 100 de uso en la uacuteltima hora
45 Establecer Estrategia
Esto significa uacutenicamente que en este apartado se realizaraacute una guiacutea baacutesica para procesar
los hashes obtenidos sin perder de vista que cada escenario a criptoanalizar es uacutenico en funcioacuten
de las circunstancias externas Como ya se ha mencionado anteriormente esta estrategia de
criptoanaacutelisis se ha planteado implementar dos meacutetodos los cuales son Fuerza Bruta y ataque de
diccionario sin importar si son o no los oacuteptimos debido a que se realizaraacute una comparativa de
capacidad de procesamiento
451 Fuerza Bruta Una vez que se han intentado varios meacutetodos y han fallado se puede
iniciar un ataque de fuerza bruta estaacutendar poniendo especial atencioacuten en la cantidad de siacutembolos
del alfabeto que puede usar el equipo a analizar Por encima de 8 caracteres esto generalmente no
tiene sentido debido a limitaciones de hardware y entropiacutea (complejidad de la contrasentildea) Una
contrasentildea de Windows seguacuten Microsoft (Microsoft Inc 2019) una contrasentildea de Windows debe
estaacute formada por
88
26 Caracteres mayuacutesculas de la ldquoArdquo a la ldquoZrdquo
26 Caracteres minuacutesculas de la ldquoardquo a la ldquozrdquo
10 Diacutegitos de base 10 (0 a 9)
32 Caracteres especiales (~$^amp_-+=|()[]ltgt)
94 Caracteres alfanumeacutericos en total
4511 Cantidad de combinaciones posibles Si se usa una clave numeacuterica (nuacutemeros del 0
al 9) existen 10 posibilidades de 4 diacutegitos de longitud que es la extensioacuten por defecto de los
teleacutefonos celulares Para 4 diacutegitos las combinaciones posibles seriacutean 10 mil 104 = 10000
(Labaca Castro 2014)
Por otro lado si tomamos un alfabeto de 26 letras mayuacutesculas y 26 minuacutesculas 10 nuacutemeros
y 10 caracteres especiales en total tenemos 72 diferentes posibilidades para un uacutenico caraacutecter Eso
significa que las combinaciones para una contrasentildea de 4 caracteres seriacutean 724 = 26873856
Baacutesicamente maacutes de 26 millones de combinaciones en una clave de 4 caracteres contra 10 mil en
una clave de 4 diacutegitos numeacutericos En este estudio se utiliza la contrasentildea de bloqueo descrita en el
apartado anterior que es de 94 combinaciones para cada caraacutecter teniendo una longitud de 7
caracteres por lo tanto seraacuten 947 = 64847759000000 de posibles combinaciones que
nuestros equipos deben explorar para obtener la contrasentildea correcta
Como se mencionoacute en el apartado 42 el usuario sobre el cual se realizoacute el criptoanaacutelisis
fue usuarioprueba el cual constaba de una contrasentildea de longitud 7 caracteres la cual despueacutes
de realizado el anaacutelisis y como se puede observar en la Figura 45
89
1 Anaacutelisis a usuario usuarioprueba
2 Nuacutemero de nodos en operacioacuten 17
3 Nuacutemero de procesos ejecutaacutendose de forma paralela 68
4 Tiempo de duracioacuten del anaacutelisis en el cluacutester 122727 horas
5 Contrasentildea criptoanalizada Pass7
Asiacute mismo en la Tabla 42 se muestra el resultado final y el tiempo de duracioacuten del
criptoanaacutelisis realizado al archivo SAM con el cluacutester y la computadora personal
Tabla 42 Resultados de criptoanaacutelisis de archivo SAM (Fuente Elaboracioacuten propia)
Nodos Nuacutecleos Tiempo de Procesamiento (Horas)
1 (PC) 4 1075316
17 (Cluacutester) 68 122727
1
2
3
4 5
Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester Figura 45 Resultado de criptoanaacutelisis realizado con el cluacutester (Fuente Elaboracioacuten propia)
90
452 Diccionario Meacutetodo empleado para romper la seguridad de los sistemas basados en
contrasentildeas (password) en la que el atacante intenta dar con la clave adecuada probando todas (o
casi todas) las palabras posibles ingresadas previamente en un diccionario idiomaacutetico
Generalmente se emplean programas especiales que se encargan de ello
Este meacutetodo suele ser maacutes eficiente que el meacutetodo de fuerza bruta debido a que muchas
usuarios casi siempre suelen utilizar contrasentildeas con una o varias palabras existentes en su lengua
para que la contrasentildea no sea olvidada faacutecilmente y sea sencilla de recordar esto no es una praacutectica
recomendable (Alegsa 2018)
Para realizar este meacutetodo se utilizoacute un diccionario descargado de internet el cual contiene
10000000 de posibles contrasentildeas (g0tmi1k 2018)
Ademaacutes se ejecutoacute un programa creado en lenguaje C (Anexo 1) a traveacutes de la
implementacioacuten de las libreriacuteas MPI y open MPI propias de la arquitectura de cluacutester de
computadoras Este programa fue ejecutado en los mismos equipos descritos anteriormente para
obtener todos los nuacutemeros primos encontrados dentro de un intervalo dado En este caso el
intervalo dado fue de 10000000 con los siguientes resultados mostrados en la Tabla 43
Tabla 43 Resultados de ejecucioacuten de programa en C para la obtencioacuten de nuacutemeros primos (Fuente Elaboracioacuten
propia)
Nodos Nuacutecleos Tiempo de Procesamiento (Segs)
1 (PC) 4 5078
17 (Cluacutester) 68 00013
91
453 Analizar los resultados Posterior a realizar el criptoanaacutelisis y descifrar con eacutexito
una cantidad suficiente de hashes se analizan los resultados en busca de pistas o patrones Este
anaacutelisis puede ayudar a tener eacutexito en cualquier hash restante
454 Personalizar ataques Tomando como base el anaacutelisis de resultados realizado
previamente se disentildearaacuten diversas estrategias personalizadas que aprovechen las vulnerabilidades
conocidas o patrones Los ejemplos seriacutean ataques de maacutescara personalizados o reglas para
adaptarse al comportamiento o las preferencias del usuario objetivo
92
Conclusioacuten
El trabajo de investigacioacuten presentado parte de la necesidad de buscar alternativas para
explotar al maacuteximo la capacidad de procesamiento del equipo de coacutemputo que existe actualmente
dentro del inventario del Instituto Tecnoloacutegico de Acapulco asiacute como proveer una plataforma que
coadyuve a la investigacioacuten dentro del Instituto a traveacutes de implementar un cluacutester de coacutemputo
con capacidad para realizar proyectos en el aacuterea de ingenieriacutea y matemaacuteticas con el fin de optimizar
el tiempo de ejecucioacuten lo cual en un futuro se veraacute reflejado en ventajas para el desarrollo de la
regioacuten
La revisioacuten y anaacutelisis de informacioacuten en relacioacuten a cluacutesters es muy interesante pero a la
vez es compleja dado que involucra diferentes aspectos durante su evolucioacuten asiacute como diversas
metodologiacuteas para su formacioacuten e implementacioacuten Se considera de suma importancia para este
trabajo las revisiones efectuadas ya que son la base para la propuesta entregada
De acuerdo a las especificaciones teacutecnicas de los equipos informaacuteticos existentes dentro
del laboratorio de la Maestriacutea en Sistemas Computacionales y una vez que se realizoacute el anaacutelisis
de varios casos de eacutexito se propuso la metodologiacutea para implementacioacuten de un cluacutester homogeacuteneo
tipo Beowolf Este meacutetodo estaacute basado en otros que ya se han implementado bajo realidades
acadeacutemicas similares rescatando las etapas maacutes importantes de cada uno y complementaacutendolo con
los aportes personales se consideroacute que fue el oacuteptimo debido a que se implementoacute con hardware
convencional y herramientas de uso libre
93
El hecho de haber seleccionado un meacutetodo adecuado permitioacute superar gran parte los
problemas que presentaban las metodologiacuteas que fueron analizadas simplificoacute la implementacioacuten
del cluacutester y permitioacute el poder alcanzar una mayor estabilidad en su desempentildeo desde su etapa
inicial fue importante conocer el resultado en cada una de las etapas de implementacioacuten para
asegurar su desenvolvimiento en el futuro
Para integrar los equipos independientes a la arquitectura cluacutester se realizoacute el disentildeo de
una topologiacutea de red Gigabit Ethernet tipo estrella con un direccionamiento IP estaacutetico la
configuracioacuten de protocolos de comunicacioacuten remota sin autenticacioacuten la comparticioacuten de
archivos en red y la utilizacioacuten de aplicaciones de licencia GPL que permiten obtener el
funcionamiento similar a la de una supercomputadora
Haciendo uso de libreriacuteas de paso de mensajes (MPI) y el software John the Ripper para el
descifrado de contrasentildeas la arquitectura cluacutester implementada alcanzoacute una eficiencia de 885
de rendimiento en comparacioacuten con los recursos computacionales de un solo equipo con las
caracteriacutesticas de un nodo Ademaacutes otros de los proyectos ejecutados en la arquitectura cluacutester
para probar el rendimiento fue la ejecucioacuten de un programa para la deteccioacuten de nuacutemeros primos
dentro de un archivo de 10000000 de nuacutemeros obteniendo una eficiencia de maacutes de 99 gracias
a la distribucioacuten de tareas que proporcionan las libreriacuteas de paso de mensajes (MPI) dentro de la
arquitectura cluacutester
Con la implementacioacuten de la arquitectura cluacutester el laboratorio de la Maestriacutea en Sistemas
Computacionales podraacute dar soluciones potentes eficientes y econoacutemicas en los entornos de
94
investigacioacuten mejorando la capacidad de procesamiento en aplicaciones como evaluacioacuten de
algoritmos compresioacuten de archivos renderizacioacuten de imaacutegenes anaacutelisis de datos (big data) en un
tiempo relativamente bajo ideal para las necesidades educativas
La experiencia obtenida al realizar esta investigacioacuten y propuesta ha sido enriquecedora
tanto por la obtencioacuten de conocimiento en base a la historia evolucioacuten y arquitectura de cluacutesters
asiacute como la programacioacuten paralela y sus ventajas en diferentes proyectos desarrollados en todo el
mundo Igualmente la comparacioacuten entre cada uno de los modelos y meacutetodos resulta interesante
dado que existe un sinnuacutemero de ejemplos con caracteriacutesticas diferentes pero baacutesicamente con un
mismo objetivo final
Trabajo Futuro
El cluacutester implementado en el Laboratorio de la Maestriacutea en Sistemas computacionales del
Instituto Tecnoloacutegico de Acapulco puede ser utilizado en gran cantidad de aplicaciones dentro de
las diferentes aacutereas de investigacioacuten del Instituto asiacute como estar disponible para el Departamento
de Posgrado e Investigacioacuten como apoyo durante la realizacioacuten de tareas y proyectos dentro de las
aacutereas de Desarrollo de Sistemas Inteligentes asiacute como de Tecnologiacuteas Web
Propuesta de Trabajo a Futuro
Durante la realizacioacuten de este proyecto se observoacute la necesidad que existe dentro del
departamento de Investigacioacuten y Posgrado de equipos de alta capacidad de procesamiento para
realizar de una manera maacutes eficiente las investigaciones que se estaacuten llevando a cabo Una de ellas
es el ldquoSistema de apoyo al diagnoacutestico oportuno de Retinopatiacutea Diabeacuteticardquo en la cual a traveacutes del
entrenamiento de una red neuronal se clasificaraacuten y evaluaraacuten un nuacutemero de 3000 imaacutegenes para
95
demostrar la presencia de dicha enfermedad en pacientes del Instituto Estatal de Oftalmologiacutea
Actualmente se ha realizado una prueba de entrenamiento de dicha red neuronal con 70 imaacutegenes
obteniendo como resultado un tiempo clasificacioacuten y evaluacioacuten de 301532 horas en un equipo
con un procesador Core I7 con 8 GB en memoria RAM
96
Bibliografiacutea
Alegsa (01 de 01 de 2018) Alegsa Diccionario Informaacutetico Recuperado el 07 de 2019 de
Alegsa httpwwwalegsacomarDicataque_por_diccionariophp
Avecto (2017) Avecto Limited Recuperado el 10 de 08 de 2018 de AVECTO a Bomgar
Company wwwavectocom
Borghello C (2009) Seguridad de la Informacioacuten Recuperado el 11 de 2018 de Criptografiacutea de
la A-Z httpswwwsegu-infocomarproyectosp1_hashhtm
Branch Bedoya J amp Mesa Muacutenera A (Diciembre de 2008) Implementacioacuten de un cluster
homogeacuteneo para la resolucioacuten de problemas de alta complejidad computacional Avances
en Sistemas e Informaacutetica 5(3)
ByteBleeder (02 de 06 de 2017) Practical guide to NTLM Relaying in 2017 Obtenido de Github
httpsbyt3bl33d3rgithubiopractical-guide-to-ntlm-relaying-in-2017-aka-getting-a-
foothold-in-under-5-minuteshtml
Caballero A (26 de 06 de 2018) Hacking Eacutetico Recuperado el 03 de 2019 de John The Ripper
httpwwwreydescomdq=Recuperar_la_Contrasena_del_Administrador_utilizando_s
amdump2_y_John_The_Ripper
Carretero Peacuterez J de Miguel Anasagasti P Garciacutea Carballeira F amp Peacuterez Costoya F (2001)
Sistemas Operativos Una visioacuten aplicada (C F Madrid Ed) Madrid Espantildea
McGRAW-HillInteramericana
Castelloacute Gimeno A (30 de 07 de 2014) Universitat Jaume Recuperado el 10 de 2019 de
Evaluacioacuten de prestaciones mediante laaplicacioacuten HPL de clusters utilizandorCUDA
97
httprepositoriujiesxmluibitstreamhandle10234115082TFM_2014_CastelloGimen
oApdfsequence=1ampisAllowed=y
Chaacutevez J Echeverriacutea C Correa M Vaacutezquez E Suaacuterez M Maacutermol X Diacuteaz G (07 de
1999) Centro de Caacutelculo Cientiacutefico Recuperado el 01 de 05 de 2018 de Universidad de
Los Andes httpwwwcecalculavedocumentaciontutorialesbeowulfinformehtml
Chirinov R (2003) Nfinite9000 SL Recuperado el 26 de 04 de 2018 de Noticias 3D
httpswwwnoticias3dcomarticuloaspidarticulo=248amppag=4
Coffin J (23 de 07 de 2015) Quora Recuperado el 15 de 08 de 2019 de
httpswwwquoracomWhat-does-it-mean-when-a-hashing-algorithm-has-been-broken
Dongarra J (2010) Top500 Super computer sites Recuperado el 07 de 2019 de http
wwwtop500org
Educba (01 de 01 de 2019) Recuperado el 10 de 2019 de Educbaorg
httpswwweducbacomidea-algorithm
europa press (04 de 06 de 2013) Portal Tic Recuperado el 18 de 11 de 2018 de Europa Press
httpswwweuropapressesportalticgadgetsnoticia-cuarta-generacion-intel-core-mayor-
salto-cuanto-ahorro-energetico-20130604174722html
g0tmi1k (2018) github Recuperado el 05 de 2019 de github
httpsgithubcomdanielmiesslerSecListsblobmasterPasswordsCommon-
Credentials10-million-password-list-top-1000000txt
Gonzaacutelez Agudelo D (2014) El riesgo y la falta de politicas de seguridad informaacutetica una
amenaza en las empresas certificadas basc Recuperado el 20 de 05 de 2018 de
Universidad Militar Nueva Granada
httpsrepositoryunimilitareducobitstream10654122511ENSAYO20FINALpdf
98
Gonzaacutelez Ramiacuterez E amp Rodriacuteguez Saacutenchez A (2008) Disentildeo e implementacioacuten de un cluster
tipo BEOWULF para el desarrollo de coacutemputo cientiacutefico avanzado CdMx Mexico
Hernandez M (2013) Forensics Mexico Recuperado el 07 de 2018 de La importancia del
registro de Windows parte 1 httpforensicsmexicoblogspotcom201309la-
importancia-del-registro-de-windowshtml
Kowalczyk C (01 de 2015) Crypto-IT Recuperado el 11 de 2018 de Crypto-IT
httpwwwcrypto-itnetengasymmetricindexhtml
Labaca Castro R (13 de 06 de 2014) We live security Recuperado el 2019 de 08 de 07 de
Welivesecuritybyeset httpswwwwelivesecuritycomla-es20140613matematica-
claves-numerica-alfanumerica
Lizaacuterraga C (2002) Departamento de Fiacutesica Recuperado el 12 de 03 de 2018 de Universidad
de Sonora httpclustersfisicausonmx
Llorens E amp Pentildea M (2002) Recuperado el 04 de 2018 de Departament dArquitectura de
Computadors httppersonalsacupceduenricPFCBeowulfbeowulfhtml
Meneacutendez-Barzanallana R (07 de 08 de 17) Universidad de Murcia Recuperado el 11 de 2018
de Informaacutetica Aplicada a las Ciencias Sociales
httpswwwumesdocenciabarzanaIACCSSCriptografiahtml
Merkle R amp Damgaringrd I (sf) Numerenturorg Recuperado el 06 de 2019 de Para computar -
numerenturorg httpnumerenturorgfuncion-merkle-damgard
Microsoft Inc (02 de 05 de 2019) wwwmicrosoftcom Obtenido de Password must meet
complexity requirements httpsdocsmicrosoftcomes-eswindowssecuritythreat-
protectionsecurity-policy-settingspassword-must-meet-complexity-requirements
99
Mifsud E (26 de 03 de 2012) Introduccioacuten a la seguridad informaacutetica Recuperado el 07 de 05
de 2018 de Ministerio de educacioacuten cultura y deportes Gobierno de Espantildea
httprecursosticeducacionesobservatoriowebessoftwaresoftware-general1040-
introduccion-a-la-seguridad-informaticashowall=1
Murugesan S (01 de 02 de 2008) Researchgate doi101109MITP200810
Nahar K amp Abu Abbas O (01 de 2010) Researchgate Recuperado el 07 de 2019 de
Researchgate
httpswwwresearchgatenetpublication315492522_Hybrid_Cipher_System
Nievas F Pino O amp Arroyo R (sf) Los clusters como Plataforma de Procesamiento Paralelo
Recuperado el 25 de 04 de 2018 de
httpusuarioslycoseslacaraocultadescargasClusters_definitivo pdf
Pawar S (2016) A computer science portal for geeks Recuperado el 10 de 2018 de
Geeksforgeeks httpswwwgeeksforgeeksorgrc5-encryption-algorithm
Peleus (2019) NETSEC Recuperado el 08 de 2019 de httpsnetsecwsp=314
Peacuterez Tavera I (2014) Obtenido de Universidad Autonoma del Estado de Hidalgo
httpswwwuaehedumxscigeboletinprepa4n2e4html
Peacuterez M (2001) Recuperado el 15 de 04 de 2018 de
httpwwwdragonesorgBibliotecaArticulosArquitecturaParalela2pdf
Petitet A Whaley R C Dongarra J amp Cleary A (2008) HPL - A Portable Implementation of
the High-Performance Linpack Benchmark for Distributed-Memory Computers
Recuperado el 07 de 2019 de httpwwwnetliborgbenchmarkhpl
Picolet J (2017) Hash Crack Password Cracking Manual (Vol 2) Createspace Independent
Pub
100
Preukschat A (23 de 02 de 2015) Oro y Finanzas Recuperado el 07 de 2019 de
httpswwworoyfinanzascom201502que-es-colision-criptografia-bitcoin
Robbins D (2008) OpenMosix Recuperado el 22 de 04 de 2018 de the openMosix Project
httpopenmosixsourceforgenetintroduction_to_openmosixhtml
Rocha Quezada J d Botello Rionda S Vargas Feacutelix J M amp Munguiacutea Torres I A (Sep-Dic
de 2011) Disentildeo e implementacioacuten de un cluacutester de coacutemputo de alto rendimiento Acta
Universitaria 21(3) 24-33 Recuperado el 1 de 12 de 2018
Rocksclusters (01 de 01 de 2010) httpwwwrocksclustersorg Recuperado el 01 de 06 de 2018
de httpwwwrocksclustersorg httpwwwrocksclustersorg
Sanjoy K (01 de 01 de 2015) DZone Recuperado el 15 de 06 de 2019 de DZone
httpsdzonecomarticlessecurity-algorithms-des-algorithm
Security Degree Hub (01 de 2017) Security Degree Hub Recuperado el 13 de 02 de 2019 de
Security Degree Hub httpswwwsecuritydegreehubcomwhat-is-cryptanalysis
Simmons G (01 de 01 de 2019) Encyclopedia Britannica Recuperado el 08 de 2019 de
Encyclopedia Britannica httpswwwbritannicacomtopicRSA-encryption
statista (09 de 2017) Statista Obtenido de Statista Co httpsesstatistacom
Turner D (2004) Recuperado el 12 de 02 de 2018 de Ames Lab
httpwwwsclameslabgovProjectsparrallel_computingpara_intohtml
United States Government Department of Defense (1983) Trusted Computer System Evaluation
Criteria Rainbow Series
Universidad Internacional de Valencia (09 de Septiembre de 2016) Nuestros
expertosTecnologiacutea Recuperado el 27 de Abril de 2018 de Universidad Internacional de
Valencia httpswwwuniversidadviuesla-seguridad-informatica-puede-ayudarme
101
Wallen J (19 de 01 de 2019) Lifewire Recuperado el 13 de 06 de 2019 de Lifewire
httpswwwlifewirecomgnome-3-desktop-4175640
Yang H (01 de 02 de 2019) Herong Yang Recuperado el 15 de 06 de 2019 de Cryptography
Tutorials httpwwwherongyangcomCryptographyDSA-Introduction-What-Is-DSA-
Digital-Signature-Algorithmhtml
102
Anexo 1
Programa en Lenguaje C para la obtencioacuten de nuacutemeros primos utilizando libreriacuteas mpi
include ltcstdlibgt
include ltiostreamgt
include ltiomanipgt
include ltcmathgt
include ltctimegt
include mpih
using namespace std
int main ( int argc char argv[] )
int prime_number ( int n int id int p )
void timestamp ( )
int main ( int argc char argv[] )
int i
int id
int master = 0
int n
int n_factor
int n_hi
int n_lo
int p
int primes
int primes_part
double wtime
n_lo = 1
n_hi = 10000000
n_factor = 2
MPIInit ( argc argv )
p = MPICOMM_WORLDGet_size ( )
id = MPICOMM_WORLDGet_rank ( )
if ( id == master )
cout ltlt n
cout ltlt Cuenta primosn
cout ltlt C++MPI versionn
cout ltlt n
cout ltlt Programa para contar cantidad de primos para un N dadon
cout ltlt Corriendo en ltlt p ltlt procesosn
cout ltlt n
103
cout ltlt N S Tiempon
cout ltlt n
n = n_lo
while ( n lt= n_hi )
if ( id == master )
wtime = MPIWtime ( )
MPICOMM_WORLDBcast ( ampn 1 MPIINT master )
primes_part = prime_number ( n id p )
MPICOMM_WORLDReduce ( ampprimes_part ampprimes 1 MPIINT
MPISUM
master )
if ( id == master )
wtime = MPIWtime ( ) - wtime
cout ltlt ltlt setw(8) ltlt n
ltlt ltlt setw(8) ltlt primes
ltlt ltlt setw(14) ltlt wtime ltlt n
n = n n_factor
MPIFinalize ( )
if ( id == master )
cout ltlt n
cout ltlt PRIME_MPI - Procesos maestron
cout ltlt Finalizacion del calculo normaln
return 0
int prime_number ( int n int id int p )
int i
int j
int prime
int total
104
total = 0
for ( i = 2 + id i lt= n i = i + p )
prime = 1
for ( j = 2 j lt i j++ )
if ( ( i j ) == 0 )
prime = 0
break
total = total + prime
return total
void timestamp ( )
define TIME_SIZE 40
static char time_buffer[TIME_SIZE]
const struct tm tm
size_t len
time_t now
now = time ( NULL )
tm = localtime ( ampnow )
len = strftime ( time_buffer TIME_SIZE d B Y IMS p tm )
cout ltlt time_buffer ltlt n
return
undef TIME_SIZE