Rainbow táblák: A jelszó legrosszabb rémálma

Ne hagyd, hogy az aranyos nevük bolond legyen, ezek a dolgok ijesztőek.

Bár a Rainbow Tables-eket eklektikus színes bútorként gondolhatod, ezek nem azok, amiket meg fogunk vitatni. A szivárványtáblákról, amelyekről beszélünk, felhasználtuk a jelszavak feltörését, és még egy eszköz a hacker egyre növekvő arzenáljában.

Mi a fene a szivárványtáblák? Hogyan lehetne valami ilyen aranyos és őrült név ilyen káros?

Az alapkoncepció a szivárványtáblák mögött

Rossz fickó vagyok, aki éppen csatlakoztatott egy hüvelykujj meghajtót egy kiszolgálóhoz vagy egy munkaállomáshoz, újraindította, és futott egy olyan programot, amely a felhasználói neveket és jelszavakat tartalmazó biztonsági adatbázist másolja a hüvelykujjába.

A fájlban lévő jelszavak titkosítottak, így nem tudom elolvasni őket. A fájlban (vagy legalább a rendszergazdai jelszóval) meg kell szakítanom a jelszavakat, hogy használhassam őket a rendszer eléréséhez.

Milyen lehetőségek vannak a jelszavak megrepedezésére? Megpróbálhatok egy olyan brute-force password crack programot használni, mint például a John the Ripper, amely a jelszófájlban lökdösődik, próbálva kitalálni minden lehetséges jelszó kombinációt. A második lehetőség az, hogy betöltsünk egy jelszó-repedésszótárt, amely több százezer általánosan használt jelszót tartalmaz, és nézze meg, hogy talál-e hiteket. Ezek a módszerek hetekig, hónapokig vagy akár évekig is eltarthatnak, ha a jelszavak elég erősek.

Ha egy jelszót "kipróbált" egy rendszer ellen, akkor titkosítást használunk, így a tényleges jelszót sosem küldjük világos szövegbe a kommunikációs vonalon keresztül. Ez megakadályozza, hogy a hallgatók elhallgattassák a jelszót. A jelszó hashja általában egy csomó szemetet lát, és általában más hossza, mint az eredeti jelszó. A jelszó lehet "shitzu", de a jelszó hashja úgy néz ki, mint a "7378347eedbfdd761619451949225ec1".

Egy felhasználó ellenőrzéséhez a rendszer a kliensszámítógép jelszó-hasítófunkciójával létrehozott hash értéket veszi fel, és összehasonlítja a kiszolgálón lévő táblázatban tárolt hash értékkel. Ha a hasok egyeznek, akkor a felhasználó hitelesített és engedélyezett.

A jelszó megszakítása 1-utas funkció, vagyis nem tudja dekódolni a hash-ot, hogy megnézze, milyen a jelszó világos szövege. Nincs kulcs a dekódolásához a hash létrehozása után. Nincs "dekódoló gyűrű", ha akarod.

A jelszókezelési programok a bejelentkezési folyamathoz hasonlóan működnek. A repedés program úgy kezdődik, hogy nyílt szövegű jelszavakat használ, és átmegy egy hash algoritmuson keresztül, például az MD5-öt, majd összehasonlítja a hash kimenetet a hashokkal az ellopott jelszófájlban. Ha megtalálja a mérkőzést, akkor a program megszakította a jelszót. Mint korábban említettük, ez a folyamat nagyon sokáig tarthat.

Adja meg a Rainbow asztalokat

A szivárványtáblák alapvetően óriási készleteket tartalmaznak az előzetesen összeállított táblákkal töltött hash értékekkel, amelyek előzetesen illeszkednek a lehetséges egyszerű szöveges jelszavakhoz. A Rainbow táblák lényegében lehetővé teszik a hackerek számára a hasítási funkció megfordítását annak meghatározása érdekében, hogy mi lehet a szöveges jelszó. Lehetséges, hogy két különböző jelszó ugyanazt a hash-et eredményezi, ezért nem feltétlenül kell megtudni, hogy mi az eredeti jelszó, éppúgy, ha ugyanaz a hash van. A sima szöveges jelszó lehet, hogy nem is ugyanaz a jelszó, amelyet a felhasználó hoz létre, de amíg a hash megegyezik, akkor nem számít, milyen volt az eredeti jelszó.

A Rainbow Tables használata lehetővé teszi, hogy a jelszavakat nagyon rövid idő alatt feltörjék a brute-force módszerekhez képest, de a kompromisszum, hogy sok tárolót (néha Terabytokat) igényel, hogy maguk a Rainbow asztalokat tartsák, A tárolás ezekben a napokban bőséges és olcsó, így ez a kompromisszum nem olyan nagy üzlet, mint egy évtizeddel ezelőtt, amikor a terabájtos meghajtók nem olyan dolgok voltak, amelyeket fel tudtál venni a helyi Best Buyban.

A hackerek megvásárolhatják az előre kinyomtatott Rainbow Table-okat a sérülékeny operációs rendszerek, például a Windows XP, a Vista, a Windows 7 és az MD5 és az SHA1 alkalmazásokat használó jelszavak megrepedezésére jelszószétesítő mechanizmusként (sok webes alkalmazásfejlesztő továbbra is használja ezeket a hasítási algoritmusokat).

Hogyan védekezhetsz a szivárványtáblákon alapuló jelszavas támadások ellen?

Bárcsak mindenki számára jobb tanácsot kellene nyújtanunk erre. Szeretnénk elmondani, hogy erősebb jelszó segítene, de ez nem igazán igaz, mert nem a jelszó gyengesége, hanem a jelszó titkosításához használt hasítási függvény gyengesége.

A legjobb tanácsadás a felhasználók számára az, hogy távol tartsuk azokat a webes alkalmazásokat, amelyek a jelszó hosszát rövid karakterekre korlátozzák. Ez egyértelmű jelzi a sérülékeny régi iskola jelszó hitelesítési rutinokat. A kiterjesztett jelszó hosszúsága és összetettsége segíthet egy kicsit, de nem garantált védelem. Minél hosszabb a jelszava, annál nagyobb a Szivárványtábláknak, hogy megtörje, de egy csomó erőforrással rendelkező hacker még mindig képes erre.

A Rainbow asztalok elleni védelemre vonatkozó tanácsunk valóban az alkalmazásfejlesztők és a rendszergazdák számára készült. Ezek a frontvonalak, amikor a felhasználókat védik az ilyen típusú támadások ellen.

Íme néhány fejlesztői tipp a Rainbow Table támadásokkal szemben:

  1. Ne használja az MD5 vagy az SHA1 jelszavas hasítási funkciót. Az MD5 és az SHA1 az elavult jelszavas hasítási algoritmusok, és a jelszavak feltörésére használt legtöbb szivárványtábla az ilyen hasmenési módszereket alkalmazó célprogramok és rendszerek céljára készült. Fontolja meg a modernabb hasítási módszerek használatát, mint az SHA2.
  2. Használjon titkosítási "sót" a jelszó hasítási rutinában. A kriptográfiai só hozzáadása a jelszó hasítási funkciójához segít megvédeni a Rainbow Táblák használatát a jelszavak megírásához az alkalmazásban. Ha látni szeretnél néhány kódolási példát arra vonatkozóan, hogyan használhatsz kriptográfiai sót a Rainbow-Proof használatához, kérjük, nézd meg a WebMasters By Design webhelyet, amely nagyszerű cikket tartalmaz a témáról.

Ha szeretné megtudni, hogy a hackerek hogyan hajtják végre a jelszó támadást a Rainbow Tables használatával, akkor olvassa el ezt a kiváló cikket arról, hogy hogyan használja ezeket a technikákat a saját jelszavaik helyreállításához.