jump to navigation

Entendiendo que es ‘Password Cracking’

Publicado el July 7, 2004 a las 11:54 Category Seguridad

art94_t.jpgAntes de poder proteger nuestras claves o las de nuestros usuarios es necesario entender como los atacantes potenciales pueden descubrirlas o romperlas…..
El esconder las claves en un sistema no es en la mayoría de los casos suficiente para sentirnos protegidos y a salvo. En seguridad hay un dicho que reza, “Si algo para ser seguro tiene que ser secreto, entonces no es seguroâ€?. Para no depender completamente del oscurantismo es imprescindible el uso de la criptografía para incrementar la seguridad.

Fundamentalmente hay 3 métodos de encriptación:

Algoritmos basados en llaves simétricas: Usan la misma llave para cifrar y descifrar. Si por ejemplo se codifica un bloque de texto y la A se codifica como N, la B como O, la C como P y así sucesivamente para saber que es lo que originalmente decía el texto UV ZBZ, lo único que hay que hacer es usar la misma llave que se uso para cifrar el mensaje.

Algoritmos basados en llaves asimétricas: en este caso se usan dos llaves, una llamada una para cifrar y la otra para descifrar. Este método ha recibido mucha publicidad gracias a la popularidad de los métodos que
emplean llaves públicas como el PGP. En esta variante existen 2 llaves, una privada que se usa para descifrar el mensaje y una publica que puede ser distribuida a quienes nos interesa que nos envíen mensajes cifrados. El tener la llave pública no nos permite descifrar ni siquiera un mensaje cifrado por nosotros mismos.

Algoritmos de cifrado en un solo sentido: esta es la forma como Unix codifica las claves de los usuarios. Esta técnica es única en criptografía, pues una vez cifrado el mensaje no hay forma de recuperar el mensaje original. En este caso lo que Unix hace es codificar usando lo que el usuario introduce como clave y lo compara con la versión codificada que tiene almacenada, Sí coincide entonces la clave es correcta, esto claro se fundamenta en que nunca 2 claves distintas darán como resultado la misma cadena codificada.

Para los 2 primeros métodos esta claro que la debilidad esta en mantener las claves alejadas de manos no autorizadas, el tener un mensaje cifrado no significa nada, el conocer el método usado facilita en cierta forma el ataque y ayuda a buscar una forma de descifrar el mensaje, pero sin la llave, solo los métodos llamados de Fuerza Bruta o Brute Force permitirían obtener el mensaje original y esto dependiendo del caso pueden llevar mucho tiempo.

El tercer método es empleado por lo general para cifrar claves de acceso, no tiene mucho sentido codificar un texto para no poder leer más nunca su contenido. ¿Que es lo que el atacante hace para descifrar las claves?, primero necesita conocer el algoritmo usado, en el caso de Unix por ejemplo eso es ampliamente conocido,
luego necesita la lista de claves cifradas, en Unix es el famoso archivo SHADOW, luego usando ese algoritmo codifica lo que el cree podría ser la clave y la comprara con la clave cifrada, si coinciden entonces dio en el blanco.

En este punto hay 2 factores claves que considerar, 1 las palabras a probar y 2 la velocidad con que se prueban. Con la potencia de las computadoras de hoy en día se pueden alcanzar velocidades de hasta 5000 claves por segundo, y estamos siendo conservadores con este número, así que este factor no es la mayor limitante.

Las palabras a probar por lo general son obtenidas de un archivo diccionario, aunque pueden ser generadas aleatoriamente o sistemáticamente, pero esto emplea mucho tiempo y a medida que la clave tiene más caracteres (7 o más) el tiempo empleado crece exponencialmente. Así que si el atacante usa un diccionario de claves típicas ¿que podemos hacer?, pues sencillamente ¡no usar palabras típicas!

Es por esto que siempre se debe tratar de que las claves no sean palabras que existan en el diccionario de nuestra lengua ni de lengua foráneas, ni tampoco palabras con pequeños cambios como la añadir un número al final y mucho menos nada que pueda relacionarse con nuestra persona como el nombre de nuestra mascota, novia o nuestra fecha de cumpleaños.

Recuerden que la cadena siempre se rompe por el eslabón más débil y en seguridad informática ese eslabón es el usuario. Si se entiende bien como las claves son almacenadas y como pueden ser rotas, es más fácil encontrar una manera de hacerlas más seguras.


Comments»

No hay comentarios todavia - Quieres ser el primero?