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:
- 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.
- 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.