JELSZÓTÖRÉS ELOSZTOTTAN, RAINBOW TÁBLÁKKAL

OData támogatás
Konzulens:
Dávid Zoltán
Automatizálási és Alkalmazott Informatikai Tanszék

Napjainkban a számítógépek számítási teljesítményének folyamatos növekedése és az egyre hatékonyabb törési módszerek miatt a hash-ek jelszóra való visszafejtése komoly biztonsági fenyegetéssé vált. A törés gyorsaságát nem csak a hardverek fejlesztésével lehet növelni, hanem párhuzamosítással is. Számos módszer létezik a jelszavak törésére, az egyik leghatékonyabb a rainbow táblákat használja. A feladatom egy ilyen elven működő, több szálon törő, elosztott program fejlesztése. A szakdolgozatomban ennek megtervezését és implementációját mutatom be.

A bevezetés után ismertetem a rainbow táblák fogalmát és a rainbow törés elvét.

Ezután bemutatok néhány létező, a rainbow táblákat használó programot. A táblák generálásához szükséges idő exponenciális függvénye a feltörni kívánt jelszó hosszának és a karakterkészlet méretének. Mivel feladatomnak nem része a táblagenerálás, más programokkal generált táblákat használok.

Majd bemutatom a fejlesztésnél szóba jövő technológiákat. Ebben a részben beszámolok a program nagy számítási igénye által okozott nehézségekről és az egyes környezetekkel kapcsolatos tapasztalataimról. A program nagy részét végül .NET-ben készítettem el, viszont a gyorsaság miatt a hash számítást egy meglevő C nyelvű könyvtár segítéségével végzem el. A komponensek hálózati kommunikációját WCF-ben implementáltam.

A tervezés fejezetben az architekturális felépítést, az egyes komponensek között interakciókat és a tervezői döntéseket tárgyalom. A tervezés során fontos szempont volt, hogy a programot könnyen lehessen bővíteni újabb típusú hash-ek feltörésével, más típusú rainbow táblák támogatásával, illetve más módon törő komponensek hozzáadásával.

A fejlesztés részben bemutatom a program egységeinek implementációját, kódrészletekkel szemléltetve. Kitérek a törés többszálúvá tételére, az elosztott működés megvalósítására, a különböző nyelvű komponensek közötti kapcsolat bemutatására.

Az összegzés részben a program futásával kapcsolatos eredményeket ismertetem, és kitérek a továbbfejlesztési lehetőségekre. Bemutatom egy próbatörés eredményét is, illetve, hogy milyen módszerekkel lehet védekezni egy rainbow törés ellen.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.