Rainbow Tables: Jou Wagwoord se Slechtste Nagmerrie

Moenie toelaat dat hul oulike naam jou mislei nie, hierdie dinge is scary.

Terwyl jy dalk aan Rainbow Tabelle dink as eklektiese kleurvolle meubels, is dit nie die een wat ons gaan bespreek nie. Die Rainbow-tafels waaroor ons praat, word gebruik om wagwoorde te kraak en is nog 'n instrument in die hacker se toenemende arsenaal.

Wat is die Rainbow Rainbow tafels? Hoe kan iets met so 'n oulike en knuffelnaam so skadelik wees?

Die Basiese Konsep Agter Rainbow Tabelle

Ek is 'n slegte man wat net 'n duim-stasie in 'n bediener of werkstasie ingeprop het, dit herlaai het en 'n program hardloop wat die sekuriteitsdatabasislêer bevat wat gebruikersname en wagwoorde bevat na my duim dryf.

Die wagwoorde in die lêer is geïnkripteer sodat ek dit nie kan lees nie. Ek sal die wagwoorde in die lêer (of ten minste die administrateur wagwoord) moet kraak sodat ek dit kan gebruik om toegang tot die stelsel te verkry.

Wat is die opsies om wagwoorde te kraak? Ek kan probeer om 'n brute-krag wagwoord kraak program soos John die Ripper, wat pond weg by die wagwoord lêer, probeer om iteratief raai elke moontlike kombinasie van 'n wagwoord. Die tweede opsie is om 'n wagwoord-kraakwoordeboek met honderde duisende algemeen gebruikte wagwoorde te laai en te sien of dit enige treffers kry. Hierdie metodes kan weke, maande of selfs jare neem as die wagwoorde sterk genoeg is.

As 'n wagwoord 'n "probeer" is teen 'n stelsel, word dit gebruik met behulp van enkripsie , sodat die werklike wagwoord nooit in duidelike teks oor die kommunikasielys gestuur word nie. Dit voorkom dat eavesdroppers die wagwoord onderskep. Die hash van 'n wagwoord lyk gewoonlik soos 'n klomp vullis en is tipies 'n ander lengte as die oorspronklike wagwoord. Jou wagwoord mag dalk "shitzu" wees, maar die hash van jou wagwoord sal iets lyk soos "7378347eedbfdd761619451949225ec1".

Om 'n gebruiker te verifieer, neem 'n stelsel die hash-waarde wat deur die wagwoordhalsfunksie op die klientrekenaar geskep is, en vergelyk dit met die hash-waarde wat in 'n tabel op die bediener gestoor is. As die hashes ooreenstem, word die gebruiker geverifieer en toegang verleen.

Om 'n wagwoord te haal, is 'n 1-rigting-funksie, wat beteken dat jy nie die hash kan dekodeer om te sien wat die duidelike teks van die wagwoord is nie. Daar is geen sleutel om die hash te dekripteer sodra dit geskep is nie. Daar is geen "dekodeerder ring" as jy wil nie.

Wagwoord kraak programme werk op 'n soortgelyke manier aan die aanmelding proses. Die kraakprogram begin met die gebruik van plaintext wagwoorde, deur die gebruik van 'n hash-algoritme, soos MD5, en vergelyk dan die hash-uitvoer met die hashes in die gesteelde wagwoordlêer. As dit 'n wedstryd vind, het die program die wagwoord gekraak. Soos ons vroeër gesê het, kan hierdie proses baie lank duur.

Voer die Rainbow Tables in

Rainbow-tafels is basies groot stelle voorafvervaardigde tabelle gevul met hash-waardes wat vooraf ooreenstem met moontlike plaintext wagwoorde. Die Rainbow-tabelle stel hoofsaaklik hackers in staat om die hashing-funksie om te keer om te bepaal wat die plaintext wagwoord mag wees. Dit is moontlik vir twee verskillende wagwoorde om in dieselfde hash te lei, dus dit is nie belangrik om uit te vind wat die oorspronklike wagwoord was nie, net so lank as wat dit dieselfde hash het. Die plaintext wagwoord is dalk nie eens dieselfde wagwoord wat deur die gebruiker geskep is nie, maar solank as wat die hash ooreenstem, maak dit nie saak wat die oorspronklike wagwoord was nie.

Die gebruik van Rainbow-tafels maak dit moontlik om wagwoorde in 'n baie kort tyd te kraak in vergelyking met brute-force-metodes, maar die afruiling is dat dit baie berging benodig (soms Terabytes) om die Rainbow-tafels self te hou, Die berging van hierdie dae is volop en goedkoop, so hierdie afruil is nie so groot 'n ooreenkoms nie, want dit was 'n dekade gelede toe terabyte-dryf nie iets was wat jy by die plaaslike Best Buy kon optel nie.

Hackers kan vooraf voorgeskrewe Rainbow Tables koop vir die verskeur van wagwoorde van kwesbare bedryfstelsels soos Windows XP, Vista, Windows 7 en toepassings wat MD5 en SHA1 gebruik as hul wagwoordhasmeermeganisme (baie webprogramontwikkelaars gebruik steeds hierdie hashing-algoritmes).

Hoe om jouself te beskerm teen Rainbow Tabelle-gebaseerde Wagwoord Aanvalle

Ons wens daar was beter advies oor hierdie een vir almal. Ons wil graag sê dat 'n sterker wagwoord sal help, maar dit is nie regtig waar nie, want dit is nie die swakheid van die wagwoord wat die probleem is nie, dit is die swakheid wat verband hou met die hashing-funksie wat gebruik word om 'n wagwoord te enkripteer.

Die beste raad wat ons gebruikers kan gee, is om weg te bly van webprogramme wat u wagwoordlengte beperk tot 'n kort aantal karakters. Dit is 'n duidelike teken van kwesbare ou skool wagwoord verifikasie roetines. Uitgebreide wagwoord lengte en kompleksiteit kan 'n bietjie help, maar dit is nie 'n gewaarborgde vorm van beskerming nie. Hoe langer jou wagwoord is, hoe groter sal die Rainbow Tables wees om dit te kraak, maar 'n hacker met baie hulpbronne kan dit nog steeds bereik.

Ons advies oor hoe om te verdedig teen Rainbow Tables is regtig bedoel vir aansoekontwikkelaars en stelseladministrateurs. Hulle is op die voorpunt wanneer dit kom by die beskerming van gebruikers teen hierdie tipe aanval.

Hier is 'n paar ontwikkelaar wenke oor die verdediging teen Rainbow Table aanvalle:

  1. Moenie MD5 of SHA1 in u wagwoordhalsfunksie gebruik nie. MD5 en SHA1 is verouderde wagwoord haas algoritmes en die meeste reënboog tafels wat gebruik word om wagwoorde te kraak, is gebou om toepassings en stelsels te gebruik met behulp van hierdie hashing-metodes. Oorweeg dit om meer moderne haasmetodes soos SHA2 te gebruik.
  2. Gebruik 'n kriptografiese "Sout" in jou wagwoord se roetine. As u 'n kriptografiese Sout by u wagwoordhalsfunksie voeg, sal u help om te verdedig teen die gebruik van Rainbow-tabelle wat gebruik word om wagwoorde in u aansoek te kraak. Om 'n aantal kodering voorbeelde te sien van hoe om 'n kriptografiese sout te gebruik om jou aansoek te help met 'Rainbow-Proof', kyk gerus na die WebMasters By Design-webwerf wat 'n goeie artikel oor die onderwerp bevat.

As jy wil sien hoe hackers 'n wagwoordaanval gebruik met behulp van Rainbow Tables, kan jy hierdie uitstekende artikel lees oor hoe om hierdie tegnieke te gebruik om jou eie wagwoorde te herstel.