Táboas de arco da vella: a peor pesadelo da túa contraseña

Non deixes que o seu namorado te engane, estas cousas son asustadas.

Mentres podes pensar en Rainbow Tables como mobles eclécticos coloridos, estes non son os que imos discutir. As táboas Rainbow que estamos a falar son usadas para crackear os contrasinais e son outra ferramenta no arsenal cada vez máis hacker .

Que diablos son táboas de arco da vella? Como podería algo tan tan lindo e tedioso ser tan prexudicial?

O básico detrás de táboas de arco da vella

Eu son un malvado que acaba de enchufar un disco polgar nun servidor ou estación de traballo, o reinicia e executa un programa que copia o ficheiro de base de datos de seguridade que contén os nomes dos usuarios e os contrasinais na miña unidade.

Os contrasinais no ficheiro están cifrados para que non podo lelos. Terei quebrar os contrasinais no ficheiro (ou polo menos o contrasinal do administrador) para que poida usalos para acceder ao sistema.

Cales son as opcións para cracking de contrasinais? Podo probar e usar un programa de cracking de contrasinal de forza bruta , como John the Ripper, que libra o arquivo de contrasinal, tentando adiviñar iterativamente todas as combinacións posibles dunha contrasinal. A segunda opción é cargar un dicionario de cracking de contrasinais que contén centos de miles de contrasinais de uso común e ver se obtén algún éxito. Estes métodos poden levar semanas, meses ou mesmo anos se os contrasinais son suficientemente fortes.

Cando un contrasinal é "probado" contra un sistema, é "hashed" usando cifrado para que o contrasinal real nunca se envíe en texto claro a través da liña de comunicacións. Isto impide que os interrogadores intercepten a contraseña. O hash dunha contrasinal adoita parecer unha morea de lixo e adoita ser unha lonxitude diferente ao contrasinal orixinal. O seu contrasinal podería ser "shitzu" pero o hash do seu contrasinal sería algo parecido a "7378347eedbfdd761619451949225ec1".

Para verificar un usuario, un sistema toma o valor hash creado pola función hashing de contrasinal no computador cliente e compárao co valor hash almacenado nunha táboa no servidor. Se os hashs coinciden, o usuario está autenticado e concedido acceso.

Hashing a contraseña é unha función de 1 sentido, o que significa que non pode descifrar o hash para ver o texto claro da contrasinal. Non hai unha chave para descifrar o hash unha vez que se crea. Non hai "anel de decodificador" se o desexa.

Os programas de cracking de contrasinal funcionan de xeito similar ao proceso de inicio de sesión. O programa de cracking comeza tendo contrasinais de texto plano, executándoos a través dun algoritmo de hash, como o MD5 e, a continuación, compara a saída de hash cos hashes no arquivo de contrasinal roubado. Se atopa unha coincidencia, o programa rompeu o contrasinal. Como dixemos anteriormente, este proceso pode levar moito tempo.

Entre as táboas do arco da vella

As táboas de arco da vella son basicamente grandes conxuntos de táboas precompazadas con valores de hash que están pre-combinados con posibles contrasinais de texto simple. As Rainbow Tables esencialmente permiten aos hackers reverter a función hashing para determinar o que podería ser o contrasinal de texto simple. É posible que dous contrasinais diferentes resulten no mesmo hash polo que non é importante descubrir o que era o contrasinal orixinal, sempre que teña o mesmo hash. O contrasinal de texto simple pode non ser nin o mesmo contrasinal que creou o usuario, pero sempre que o hash coincida, non importa o contrasinal orixinal.

O uso de Rainbow Tables permite que os contrasinais sexan rachados nun período de tempo moi breve en comparación cos métodos de forza bruta. Con todo, a compensación é que leva moito almacenamento (ás veces Terabytes) para manter as mesmas táboas de Arco da Vella, O almacenamento destes días é abundante e barato, polo que este trade-off non é tan grande como unha década atrás cando as unidades de terabyte non eran algo que podías obter no Best Buy local.

Os hackers poden comprar precomputable Rainbow Tables para crackear contrasinais de sistemas operativos vulnerables como Windows XP, Vista, Windows 7 e aplicacións que usan MD5 e SHA1 como o seu mecanismo hashing de contrasinal (moitos desenvolvedores de aplicacións web aínda usan estes algoritmos de hash).

Como protexerse contra ataques de contrasinal baseados en táboas de arco da vella

Desexamos que houbese un mellor consello sobre este para todos. Queremos dicir que un contrasinal máis forte axudará, pero isto non é certo porque non é a debilidade da clave que é o problema, é a debilidade asociada coa función hashing que se usa para cifrar unha contraseña.

O mellor consello que podemos dar aos usuarios é estar lonxe das aplicacións web que restrinxen a lonxitude da súa contrasinal a un número reducido de caracteres. Este é un sinal claro de rutinas vulnerables de autenticación por contrasinal da escola antiga. A lonxitude e a complexidade da contrasinal prolongada poden axudar un pouco, pero non é unha forma de protección garantida. Canto máis tempo sexa o seu contrasinal, canto maior sexa o Rainbow Tables tería que ser para crackalo, pero un hacker con moitos recursos aínda pode lograr isto.

O noso consello sobre como defender contra Rainbow Tables é realmente para desenvolvedores de aplicacións e administradores de sistemas. Están na fronte cando se trata de protexer aos usuarios contra este tipo de ataque.

Aquí tes algunhas suxestións de desenvolvemento sobre a defensa contra os ataques da Rainbow Table:

  1. Non empregue MD5 ou SHA1 na función de hashing do seu contrasinal. MD5 e SHA1 son algoritmos de hashing de contrasinal desactualizados e a maioría das táboas de arco da vella usadas para crackear contrasinais son construídas para aplicacións e sistemas de destino que usan estes métodos hashing. Considere usar métodos de hashing máis modernos como SHA2.
  2. Use un "Salt" criptográfico na rutina hashing do seu contrasinal. Engadindo unha sal criptográfica para o seu contrasinal, a función hashing axudará a defenderse contra o uso de Rainbow Tables que se usan para crackear os contrasinais da súa aplicación. Para ver algúns exemplos de codificación de como usar un sal criptográfico para axudar a "Rainbow-Proof" a súa aplicación, consulte o sitio web de WebMasters By Design que ten un gran artigo sobre o tema.

Se queres ver como os hackers realizan un ataque de contrasinal usando Rainbow Tables, podes ler este excelente artigo sobre como usar estas técnicas para recuperar os teus propios contrasinais.