Gesla in napadi nanje

Objavljeno: 9.8.2007 19:06 | Avtor: Marko Hölbl | Kategorija: Preizkusi | Revija: Junij 2007

Informatizacija družbe zahteva od uporabnika pomnjenje številnih uporabniških imen in gesel, ki se uporabljajo za overjanje. Na podlagi kombinacije uporabniškega imena in gesla, ki ga vnesemo, se nam določi vloga in z njo povezane pravice (avtorizacija).

Sodobnih računalniških in informacijskih sistemov, brezplačne elektronske pošte ali računov v forumih si ne bi mogli predstavljati brez uporabe gesel. Čeprav poznamo številne tehnike overjanja (npr. biometrija, pametne kartice itd.), je kombinacija uporabniškega imena in gesla prevladujoč pristop. Večina nas uporablja preprosta gesla, ki si jih je mogoče hitro zapomniti, ali pa imamo eno geslo za več uporabniških računov. Pri uporabi gesel moramo biti previdni, saj je na voljo množica tehnik, ki tako ali drugače poskušajo razbiti (uganiti) geslo. Šibka gesla nepridipravom samo olajšajo razbijanje, zato je pomembno, da uporabljamo močna gesla, ki jih je teže ugotoviti. Pri upravljanju gesel nam lahko priskočijo na pomoč tudi posebna orodja.

Geslo - kaj je to?

Geslo je podatek, ki ga uporabnik vnese, ko želi dostop do določenega vira. Uporaba gesel je znana že od antike. Že takrat je bilo treba za dostop do mesta ali zgradbe poznati geslo oz. frazo. Gesla so se uporabljala tudi za razločevanje med prijatelji in sovražniki v spopadih ali vojnah. V sodobnih časih gesla uporabljamo predvsem za omejevanje dostopa do računalniških oziroma informacijskih sistemov, mobilnih telefonov, bankomatov itd. Tipičen uporabnik se vsak dan srečuje z množico gesel: za dostop do računalnika, e-poštnega strežnika za prebiranje e-pošte, zbirk podatkov, spletnih strani, različnih forumov itd.

Geslo lahko definiramo kot niz znakov, ki ga sestavljajo poljubni znaki: črke, številke, drugi znaki (ločila ...) in posebni znaki. Dobra gesla so čim daljša in sestavljena iz čim bolj raznolikih znakov. V članku si bomo ogledali, kaj so "močna" in kaj "šibka" gesla, kako izbrati močno (dobro) geslo, ki si ga je mogoče zapomniti in ga je hkrati težko razbiti. Predstavili bomo orodje PasswordSafe, ki uporabniku olajša delo in upravljanje množice gesel, s katerimi se srečujemo vsak dan. Ogledali si bomo različne tehnike razbijanja gesel: napad z grobo silo (angl. brute force attack), napad s slovarjem (dictionary attack) in mavrične tabele (angl. rainbow table). Predstavili bomo tudi orodji za razbijanje gesel Cain & Abel in Ophcrack.

Vrste gesel

Kakovost gesla je odvisna predvsem od dolžine in sestave. Šibka gesla je mogoče preprosto ugotoviti, razbijanje močnih gesel pa vzame veliko časa in truda. Nepisano pravilo pravi, da si je geslo, ki ga je težko ugotoviti, tudi težko zapomniti. Zato moramo poiskati kompromis med kakovostjo gesla in možnostjo zapomnitve gesla. Močna gesla so dolga in sestavljena iz različnih vrst znakov (male in velike črke, številke, drugi znaki). Po drugi strani pa so šibka gesla kratka (6 ali celo 4 znaki), sestavljena iz le ene ali dveh vrst znakov. Velikokrat so taka gesla sestavljena tudi iz imen, polnopomenskih besed ipd.

Spletno orodje za merjenje kakovosti gesla

Šibka gesla

Šibka gesla so velikokrat sestavljena iz kratkih, pogostih besed. V skupino šibkih gesel sodijo tudi privzeta gesla, ki jih uporabniki ne spremenijo (omrežne naprave, mobilni telefoni). Hitro jih je mogoče uganiti ob pomoči tehnike grobe sile ali napada s slovarjem. Sestavljajo jih besede iz slovarjev, imena, izrazi, izpeljani iz uporabniškega imena, in druge variacije teh besed ter imena domačih živali, datum rojstva in podobni podatki. Naštejmo nekaj kategorij šibkih gesel:

  • Besede, kot so "password", "passcode", "admin", "root" in podobno.
  • Uporabnikovo ime oz. uporabniško ime.
  • Imena ali druge besede, ki so povezane in so pomembne za specifičnega uporabnika.
  • Kraj rojstva ali datum rojstva uporabnika.
  • Imena domačih živali.
  • Različne številke, povezane z uporabnikovim zasebnim življenjem (EMŠO, davčna številka ali celo številka avtomobilske tablice).
  • Variacije besed iz zgoraj omenjenih kategorij (dodatek predpone ali pripone).
  • Zaporedja tipk (črk) na tipkovnici.
  • Prazno geslo.
  • Primeri šibkih gesel so naslednji:

  • admin - preprosto uganljivo
  • 1234 - preprosto uganljivo
  • Marko - osebno ime
  • Password/geslo - pogosto uporabljeno/privzeto geslo
  • p@ssw0rd - preprosta menjava črk; orodja za razbijanje gesel vedno poskusijo tudi take vrste gesel
  • Floki - ime domače živali; izraz, ki ga je preprosto uganiti ob pomoči slovarja
  • 5.5.1987 - datum rojstva
  • 12December - veliko uporabnikov uporablja za geslo datum menjave gesla
  • asdf - zaporedje črk na tipkovnici
  • Šibka gesla so torej sestavljena iz ene ali dveh skupin znakov (črke, številke) in so kratka (manj kot 8 znakov). Pogosto uporabniki ne zamenjajo privzetih gesel in to predstavlja resno grožno. V spletu je namreč na voljo kopica seznamov privzetih gesel, zato je mogoče privzeta gesla hitro razbiti (ugotoviti).

    Spletna stran s privzetemi gesli številnih naprav

    Močna gesla

    V nasprotju s prej omenjenimi šibkimi gesli so močna gesla daljša (najmanj 8 znakov) in bolj "naključna" (kombinacija črk, številk in drugih znakov s tipkovnice). Ugotavljanje takih gesel je časovno potratno. Zgledi močnih gesel so:

  • t3wahSetyeT4 - beseda, ki je ni mogoče najti v slovarju; sestavljena iz črk in številk.
  • 4pRte!ai@3 - beseda, ki je ni mogoče najti v slovarju; sestavljena iz črk, številk in drugih znakov.
  • MoOoOfIn245679 - dolgo geslo, sestavljeno in kombinacije črk in številk.
  • Convert_100? to Euros! - dolga fraza, ki si jo je mogoče zapomniti in je sestavljena iz črk, številk in drugih znakov.
  • Pazljivi moramo biti pri mešanju posebnih znakov v gesla, saj so določeni znaki v nekaterih aplikacijah prepovedani (npr. #, @, !).

    Upravljanje gesel

    Velika količina gesel oz. računov povzroča uporabniku precejšnje težave. Zato je smiselno uporabljati orodja za upravljanje gesel. Tako orodje je npr. PasswordSafe, ki bo predstavljeno v nadaljevanju. Vendar moramo paziti, da nam kdo ne odtuji datoteke z gesli. Prav tako moramo geslo, ki varuje dostop do datoteke, varovati z ustrezno močnim geslom.

    Priporočila za zaščito in upravljanje gesel lahko strnemo v naslednja vodila:

  • Izberite geslo, ki ga je težko uganiti.
  • Zapomnite si gesla.
  • Ne zapisujte si gesel na mizo, steno ali monitor.
  • Preverite, da ni gesla na nobenem izpisu.
  • Preverite, da geslo ni vidno, ko ga tipkate.
  • Uporabljajte ustrezno dolga gesla; čim daljše je geslo, tem teže ga je uganiti.
  • Ne uporabljajte za geslo vašega naslova, imena hišnega ljubljenčka, imena žene/moža/prijatelja/prijateljice ali takega, ki je očitno (zaporedje črk ali številk).
  • Mešajte črke in številke; če je mogoče, tudi druge znake in presledek.
  • Izberite si pregovor in uporabite samo vsako četrto besedo.
  • Naj računalnik izbere geslo.
  • Ne zaupajte gesla NIKOMUR.
  • Šifrirajte ali kako drugače zaščitite datoteke z gesli.
  • Redno, vendar ne v enakomernih presledkih menjajte geslo.
  • Orodja za upravljanje gesel

    Dober pristop za obvladovanje gesel so orodja za upravljanje in shranjevanje gesel. Uporabniku dajo podporo pri oblikovanju, upravljanju in shranjevanju gesel. Shranjena gesla varujejo s tehnikami šifriranja. Prednosti so torej predvsem v preprosti rabi in dobrem nadzoru. Vendar imajo tudi ta orodja slabosti. Če uporabnik pozabi geslo za dostop do shranjenih podatkov, mu ne preostane drugega, kakor da gesla spremeni oziroma naredi nove uporabniške račune, saj je ponavadi nemogoče priti do podatkov, ne da bi poznali geslo. Mogoče so zlorabe, če se napadalec dokoplje do datotek z gesli ali do gesla za dostop do te datoteke, saj mu to ne le omogoči dostop do gesel, temveč mu na široko odpre vrata za dostop do vseh naših računov in naprav, ki so varovani s shranjenimi gesli.

    Eno izmed orodij za upravljanje gesel je PasswordSafe, ki ga je mogoče brezplačno prenesti iz spleta. Omogoča nam upravljanje gesel, tako da lahko vanj vnesemo uporabniška imena in gesla, vir, na kateri se slednja nanašata, in še nekaj drugih podatkov.

    Program za upravljanje gesel PasswordSafe

    Uporabnik si mora zapomniti samo še geslo za dostop do datoteke, v katero PasswordSafe shrani vsa gesla, vse drugo pa prepusti programu. Poleg uporabniškega imena in gesla lahko uporabnik razvršča gesla po tematiki, vnese komentarje, spletni naslov itd. Program omogoča oblikovanje močnega gesla, ki ga uporabnik shrani v programu. Seveda pa si je gesla, ki jih generira program, težko zapomnili (gesla so naključni niz znakov).

    Tehnike oblikovanja gesla

    Oblikovanje gesel predstavlja problem, saj si je treba gesla, ki smo si jih izmislili, tudi zapomniti. Večina se nas srečuje z množicami gesel za širok spekter namenov. Skoraj vsaka elektronska naprava od nas zahteva vnos gesla ali kombinacije uporabniškega imena in gesla. Kaj hitro izgubimo pregled nad nepopisno množico, ki jo sestavljajo naprava/sistem, v katero(/-ega) se želimo prijaviti, in seveda pripadajoče uporabniško ime oziroma geslo. Vsak dan imamo težave, ko ne vemo, kakšno je uporabniško ime za določen forum, kaj šele geslo zanj. Kot da to še ni dovolj, je treba gesla še redno menjavati, da bi preprečili morebitne zlorabe. Zato nas večina uporablja ali ista gesla za več sistemov oziroma naprav ali pa šibka gesla.

    Gesla je mogoče oblikovati različno, vendar je temeljno pravilo, da je treba gesla razvrstiti po namenu rabe. Večina uporabnikov uporablja enako vrsto gesel tako za dostop do foruma kot do e-bančništva. Če uporabljamo enako vrsto gesel za različne namene ali celo isto geslo, s tem olajšamo delu potencialnemu napadalcu. Na primer: Uporabnik X podjetja A uporablja isto geslo za dostop do spletne trgovine Y in za dostop do računalnika v podjetju. Spletna trgovina Y odpusti osebo B, vendar ta pred tem kopira vse podatke o uporabnikih spletne trgovine. Oseba B dobi dostop do podatkov strank spletne trgovine Y, kot so ime podjetja, el. naslov ipd. S temi podatki se lahko B poskuša prijaviti v računalnik podjetja A. V opisanem primeru mu to tudi uspe. Sicer banalen primer nam demonstrira nevarnosti pri uporabi istih gesel za različne med seboj precej različne namene.

    Oblikovanje gesel je za vsakdanjega uporabnika zelo zapletena naloga. Želeli bi imeti močna gesla, ki si jih je preprosto zapomniti. Čim bolj so gesla raznolika v smislu uporabe velikih in malih črk, številk in posebnih znakov, tem teže jih je razbiti. En pristop k oblikovanju gesel je s frazami. Gesla oblikujemo na podlagi fraz, ki si jih je mogoče hitro zapomniti, oziroma tako, da vzamemo prve črke besed poljubno izbrane fraze ali povedi in dodamo nekaj posebnih znakov. Na primer: Ob pomoči povedi "Microsoft je podjetje, ki proizvaja Okna" lahko oblikujemo geslo MjpkpO4#. Tako je mogoče oblikovati močna gesla, ki si jih je mogoče zapomniti. Težava je le, da si je treba izmisliti poved ali frazo, ki nas asociira na določen vir oziroma sistem. Pri vsaki menjavi gesla si je tako treba izmisliti novo frazo ali poved. Dodaten problem je v tem, da si je treba zamisliti množico fraz, če želimo oblikovati veliko gesel.

    Drug način oblikovanja močnih gesel pa je naslednji: geslo sestavimo iz dveh polnopomenskih besed in mednju vrinemo poseben znak in številko. Vzemimo primer besed lep in dan, s katerima sestavimo geslo lep4#dan. Pomembno je, da številka ali znak skupaj s polnopomenskima besedama ne tvori pogosto uporabljene fraze (npr. hot4you).

    Poznamo tudi druge postopke za oblikovanje gesel, veliko pa je tudi individualnih pristopov. Pri oblikovanju gesel moramo biti pozorni na specifične stvari, ki jih lahko strnemo v naslednje alineje:

  • Geslo naj bo dolgo vsaj 8 znakov.
  • Uporabljeni naj bodo črke, številke in drugi znaki (tudi posebni znaki s tipkovnice).
  • Uporabljene naj bodo velike in male črke.
  • Uporaba zaporedja znakov s tipkovnice, ki si jih je mogoče enostavno zapomniti (vendar ne preprostih zaporedij, ki jih je mogoče hitro ugotoviti).
  • Uporaba izrazov z dveh področij (hobi-šport) s povezavo med njima (podoben pristop kot zgoraj omenjeni).
  • Dobre tehnike za oblikovanje močnih in hkrati preprosto zapomljivih gesel so t. i. transformacijske tehnike. Te omogočajo oblikovanje močnega gesla na sistematični način. Tako si je geslo tudi laže zapomniti.

    Tehnike razbijanja gesel

    Ker je uporaba gesel tako pogosta, imajo potencialni napadalci veliko možnosti in priložnosti, da želijo ugotoviti oz. razbiti ali kako drugače obiti zaščito virov z gesli. Poznamo veliko različnih tehnik razbijanja oz. napadov na gesla:

  • ugibanje;
  • napad z grobo silo;
  • napad s slovarjem;
  • napad s poprejšnjim računanjem - napad z mavričnimi tabelami.
  • Ugibanje gesel

    Kot smo že omenili, veliko uporabnikov izbira šibka gesla. Raziskave v zadnjih 40 letih so pokazale, da 50 % uporabnikov uporablja gesla, ki jih je mogoče ugotoviti z ustreznimi orodji (programi). Primer gesel, ki jih je preprosto ugotoviti, smo omenili v poglavju Šibka gesla, zato jih tu ne bomo ponavljali. Kot smo že omenili, veliko uporabnikov ne menja privzetih gesel. V spletu je veliko seznamov in zbirk podatkov takih gesel. Zgled privzetega gesla je beseda Guest, ki se pogosto uporablja kot privzeto geslo za sistemske ali podobne račune. Tako je mogoče brez posebnih tehnik hitro razbiti zaščito oziroma ugotoviti gesla. Številni napadalci uporabljajo programe, ki na podlagi podatkov o uporabnikih navedejo možna gesla.

    Napad z grobo silo

    Napad z grobo sliko je najpreprostejša oblika napada na gesla, pri kateri napadalec poskuša vse možne kombinacije znakov. Napad imenujemo napad z grobo silo. V teoriji zmeraj uspe, saj prej ali slej ugotovi pravo geslo. Vendar je v praksi to včasih neizvedljivo zaradi predolgih gesel in, posledično, predolgega časa ugibanja. Tehnika je uporabna predvsem za kratka gesla, kjer lahko v doglednem času ugotovimo pravo geslo. Zahtevnost izvedbe napada ni odvisna samo od dolžine gesla, temveč tudi od sestave. Če je geslo sestavljeno iz osmih številk, je tako geslo razbito hitreje kakor geslo, ki je prav tako dolgo osem znakov, a je sestavljeno iz črk, številk in posebnih znakov. Velikokrat se srečamo s sistemi, ki zahtevajo vnos gesla, dolgega najmanj osem znakov in sestavljenega iz črk, številk in drugih znakov. Samo kot primer - razbijanje gesla, dolgega osem znakov (številke in črke), lahko na danes najhitrejšem PCju traja tudi 24 ur. Le črka več in enako razbijanje traja 35 dni!

    V praksi ne uporabljamo "preproste" različice napada z grobo silo, temveč se napad poskuša pospešiti z različnimi tehnikami. Tako se prepletajo napad z ugibanjem, napad z grobo silo in napad s slovarjem. Orodja za razbijanje gesel ponavadi uporabljajo vse tri tehnike. Napadalec izdela seznam potencialnih gesel in jih nato uporablja. Seznam se oblikuje na podlagi podatkov o lastniku gesla. Vendar se za hitro in predvsem učinkovito ugotavljanje gesel danes večinoma uporablja napad s slovarjem ali napad s poprejšnjim računanjem.

    Orodje Cain & Abel omogoča vse vrste napadov.

    Napad s slovarjem

    Napad s slovarjem je najučinkovitejši in deluje neposredno na geslo. Kot bomo videli v nadaljevanju, so napadi z mavričnimi tabelami posredni napadi na gesla, saj so neodvisni od kakovosti gesel. Pri napadu z mavričnimi tabelami pravzaprav izvedemo napad na mehanizem oz. tehniko shranjevanja gesel in ne na samo geslo.

    Napad s slovarjem je dobil ime po tem, da gesel ne ugibamo kar na slepo, temveč si pomagamo s slovarjem. Slovar je lahko splošno znan (npr. za angleški jezik) ali pa prikrojen uporabniku. Napad temelji na "slovarju", bolje rečeno na seznamu besed, ki jih nato vnašamo kot geslo. Slovarji obsegajo od 1000 pa do nekaj milijonov besed.

    Besede, ki so uvrščene v slovar, so:

  • besede iz slovarjev različnih jezikov,
  • osebna imena,
  • krajevna imena,
  • pogosta gesla (npr. password, passcode, admin ...) in
  • pogoste kombinacije besed (npr. 2hot4you).
  • Orodje za izvajanje napada s slovarjem za vsako besedo izdela različice, tako da variira velike, male črke in podobno. Napad lahko preprosto avtomatiziramo ali ga izvedemo z orodjem (programom). Uporabimo lahko celo več računalnikov, grozde ali pristope, kot je GRID. Tako lahko sistemi izvedejo veliko poskusov gesel na sekundo (odvisno od računske moči). Napad s slovarjem, v kombinaciji z ugibanjem in deloma tudi z napadom z grobo silo, se je v preteklosti izkazal za precej učinkovito metodo, saj lahko tako razbijemo okrog 50 % vseh gesel v realnih okoljih.

    Sodobni pristop k razbijanju gesel - mavrične tabele

    V zadnjem času je bil deležen veliko pozornosti napad z mavričnimi tabelami (angl. Rainbow tables). Pri tem napadalec ne poskuša ugotoviti gesla, temveč se izvede napad na shranjena gesla. V sodobnih operacijskih sistemih se gesla ne shranjujejo neposredno z datoteko na disk, temveč se najprej obdelajo, oz. se uporabljajo postopki za shranjevanje gesel. V sistemih Unix in tudi Windows se uporabljajo t. i. zgoščevalne funkcije, s katerimi naredimo "prstni odtis" gesla, ki ga nato shranimo. Zakaj gesel ne shranjujemo neposredno? Če napadalcu uspe dobiti datoteko z gesli, ne more ugotoviti gesel preostalih uporabnikov, saj so v datoteki shranjene samo zgoščevalne vrednosti gesel. Velja, da če nekdo pozna zgoščevalno vrednost, ne more ugotoviti izvirnega gesla, razen tako, da poskusi vse možne kombinacije besed oz. gesel, nad njimi izvede zgoščevalno funkcijo ter zgoščevalno vrednost, ki jo dobi, primerja z zgoščevalno vrednostjo v datoteki.

    In prav tu udari napad z mavričnimi tabelami. Temelji namreč na t. i. poprejšnjem računanju vse možnih kombinacij znakov in njihovih zgoščevalnih vrednosti. Tako dobimo velikansko tabelo "gesel" in pripadajočih zgoščevalnih vrednosti. Lahko bi rekli, da napad precej spominja na napad z grobo silo in dejansko mu je podoben. Razlika je v tem, da moramo pri napadu z grobo silo vnesti vsako geslo v program, ki preverja geslo (npr. pri prijavi v sistem Windows); pri napadu z mavričnimi tabelami pa v tabeli poiščemo ustrezno zgoščevalno vrednost in že imamo geslo. Mavrične tabele so vnaprej oblikovane (poprej izračunane) in tako napadalcu prihranijo veliko časa, saj samo poišče ustrezno vrednost v velikanski tabeli, to pa je precej hitreje, kot če poskuša vsa gesla in čaka na odziv, ali je geslo pravilno. Lahko bi rekli, da je napad kombinacija napada z grobo silo in napada s slovarjem, pri katerem imamo zelo velik slovar, v katerem so gesla in pripadajoče zgoščevalne vrednosti.

    Tako lahko razbijamo geslo v nekaj sekundah (kolikor je treba, da najdemo ustrezen zapis v tabeli). Mavrične tabele so kompromis med časovno in prostorsko zahtevnostjo. Pristop je znan že skoraj 20 let. Njegov "izumitelj" je kriptograf Martin Helmann. Pristop zmanjša čas, ki ga potrebuje napadalec zaradi prostorske zahtevnosti. V mavričnih tabelah ni treba shraniti vseh možnih gesel in zgoščevalnih vrednosti, temveč le del; nekako 1 na 10.000. Zvijača je v tem, da so gesla in zgoščevalne vrednosti razvrščene v verige. Definirana je redukcijska funkcija, ki pove, kako z ene vrednosti preidemo na drugo. Najprej začnemo z geslom in ob pomoči zgoščevalne funkcije generiramo zgoščevalno vrednost, zatem pa ob pomoči redukcijske funkcije generiramo iz zgoščevalne vrednosti naslednje geslo. Tako dobimo verigo, ki jo je treba prehoditi od začetku do konca, saj zgoščevalnih funkcij ni mogoče invertirati (ni mogoče dobiti vrednosti, iz katere smo dobili zgoščevalno vrednost). Ko smo generirali celotno verigo, lahko zavržemo vse vrednosti, razen prvega in zadnjega gesla, ki ju shranimo v tabeli (mavrični tabeli). Če želimo razbiti določeno zgoščevalno vrednost, začnemo s to vrednostjo in za vsako geslo, ki se pojavi v verigi, preverimo, ali je morda to konec verige. Če je tako, smo prišli do pravega gesla. Dejansko je geslo, katerega naslednik je iskana zgoščevalna vrednost, geslo, ki ga iščemo.

    Shema mavrične tabele

    Mavrične tabele niso torej nič drugega kot način shranjevanja zelo velikega slovarja. Ker obdržimo le eno izmed 10.000 vrednosti, je tabela ustrezno manjša (a še zmeraj so tabele velike tudi 40 GB). Če ne bi uporabljali takega načina shranjevanja, bi bile tabele z vsemi možnimi gesli in pripadajočimi zgoščevalnimi vrednostmi prevelike in jih ne bi bilo mogoče shraniti (nekaj terabajtov). Pomemben podatek je tudi ta, da je mogoče s povečanjem tabele zmanjšati čas iskanja. Če tabelo povečamo dvakrat, se tudi čas iskanja dvakrat zmanjša. Tipično geslo najdemo v nekaj sekundah do nekaj minutah, to pa je precej hitreje kot napad z grobo silo ali slovarjem (če privzamemo, da geslo ni trivialno).

    Primer orodij, ki jih lahko uporabimo za izvajanje napadov z mavričnimi tabelami, sta Cain and Abel in Ophcrack. Prvo je "univerzalno" hekersko orodje, s katerim je mogoče narediti marsikaj, Ophcrack pa je namenjen samo razbijanju gesel ob pomoči mavričnih tabel. Oboje je mogoče dobiti v spletu (povezave na koncu članka). Pri razbijanju gesel lahko uporabimo oba, tako da ob pomoči Cain & Abela pridobimo zgoščevalne vrednosti iz ustreznih datotek in nato s programom Ophcrack izvedemo napad z mavričnimi tabelami.

    Program Ophcrack - razbijanje gesel z mavričnimi tabelami

    Programa Ophcrack in Cain & Abel ne vsebujeta dejanskih tabel za razbijanje gesel, temveč je treba te tabele prenesti iz interneta. Napad z mavričnimi tabelami lahko izvedemo tudi s spletnim orodjem (npr. lasecwww.epfl.ch/~oechslin/projects/ophcrack/index.php). Omenjeno spletno orodje potrebuje približno dve sekundi, da razbije okensko geslo, sestavljeno iz črk in številk, in pri tem uporablja tabelo, veliko 1,1 GB. Druga izvedba mavričnih tabel je rainbowCrack, ki ga uporablja tudi orodje Cain & Abel. Sicer uporablja malo manj učinkovit način shranjevanja, zato so tabele približno dvakrat večje od prej omenjenih, razbijanje pa je približno štirikrat počasnejše, a je še vedno "bliskovito" (v primerjavi z drugimi načini razbijanja). Vrednosti, ki smo jih omenili, so seveda odvisne tudi od strojne opreme, na kateri se izvajajo orodja.

    Metodo ob pomoči mavričnih tabel je mogoče izvesti le, ker je mogoče izračunati vse zgoščevalne vrednosti vnaprej. Če bi k zgoščevalnim vrednostim dodali sol (angl. salt), napada ne bi mogli izvesti. Tako je napad mogoč na sistemih Windows XP, saj ta privzeto uporabljajo t. i. LM hash za shranjevanje krajevnih uporabniški imen oziroma gesel, ki ne uporabljajo soli. NTLM-v2 hash, ki se uporablja pri shranjevanju gesel v domenskih okoljih (Windows omrežne domene), uporablja geslo s soljo in tako onemogoča napad z mavričnimi tabelami. Zgled prikaza zapisa gesel za uporabnike:

    Alice:root:b4ef21:3ba4303ce24a83fe0317608de02bf38d

    Bob:root:a9c4fa:3282abd0308323ef0349dc7232c349ac

    Cecil:root:209be1:a483b303c23af34761de02be038fde08

    Da se izognemo napadu, lahko v Windows XP nastavimo, da shrani gesla v obliki NTLM, in onemogočimo shranjevanje v obliki LM. To lahko storimo z nekaj nastavitvami v registru, in sicer s spremembo vrednosti ključa HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\NoLMHash na 0.

    Prej omenjena sol pomeni, da vsakemu geslu dodamo "ščepec soli", tj. naključno število. Torej zgoščevalna funkcija kot vhodni parameter ne sprejme samo gesla, temveč tudi naključno število, in vrne zgoščevalno vrednost. Ker ni znano vnaprej, kakšno sol bomo dodali, ni mogoče vnaprej izračunati gesel in pripadajočih zgoščevalnih vrednosti.

    Spletna orodja za razbijanje gesel

    V spletu je na voljo množica orodij, v katera vnesemo določeno zgoščevalno vrednost in dobimo izvirni podatek. Med bolj priljubljenimi je tudi spletno orodje plain-text.info. Ob pomoči spletne strani lahko izračunamo geslo na podlagi vnesene zgoščevalne vrednosti. Kakor pri klasičnih orodjih je tudi napad mogoč samo, če ne uporabljamo soli pri shranjevanju gesel. Orodje sprejema zgoščevalne vrednosti vrste LM. NTLM-v1 in MD5. Tako lahko tudi brez nameščanja in prenosa tabel razbijamo gesla. Sistem ima sicer omejitev glede števila zgoščevalnih vrednosti, ki jih lahko posredujemo, tako da je množična raba težka.

    Spletno orodje za razbijanje gesel in ugotavljanje zgoščevalnih vrednosti Plain-text.info

    Za konec

    Gesla so najstarejša oblika overjanja in omejevanja dostopa do računalniških sistemov. Zato je pomembno, da z njimi ravnamo pravilno in jih pravilno oblikujemo. Če uporabljamo šibka gesla, s tem napadalcu precej olajšamo napad in razbitje gesla. Napada s slovarjem in grobo silo se neposredno navezujeta na kakovost gesla. Sodobni pristopi, kot je predstavljeni napad z mavričnimi tabelami, pa izkoriščajo pomanjkljivosti pri shranjevanju gesla in kompromis med časovno in prostorsko zahtevnostjo pri razbijanju gesla. Zavedati se je treba, da je smotrno pri množici gesel uporabljati kakšno orodje za upravljanje gesel, kot je predstavljeni PasswordSafe, Vendar moramo z datoteko s shranjenimi gesli in pripadajočim geslom za varovanje te datoteke skrbno in premišljeno ravnati. Le tako lahko izkoristimo prednosti orodja, ne da bi ogrozili razkritje oziroma razbitje naših gesel.

    Koristne povezave:

  • Informacije o geslih na wikipediji, en.wikipedia.org/wiki/Password
  • Priporočila in navodila za oblikovanje varnih gesel,
    wolfram.org/writing/howto/password.html
  • Spletno orodje za merjneje kakovosti gesel, www.securitystats.com/tools/password.php
  • Privzeta gesla številnih naprav, www.cirt.net/cgi-bin/passwd.pl
  • Veliko koristnih informacij o geslih, www.passwordresearch.com/index.html
  • Password Security: What Users Know and What They Actually Do, psychology.wichita.edu/surl/usabilitynews/81/Passwords.htm
  • Orodje Cain & Abel, www.oxid.it/cain.html
  • Spletna stran projekta Ophcrack, ophcrack.sourceforge.net
  • Spletna stran Plain-text, plain-text.info
  • Cracking Windows passwords in seconds, news.com.com/2100-1009_3-5053063.html
  • Spletna stran orodja PsswordSafe, passwordsafe.sourceforge.net
  • Mavrične tabele, rainbowtables.shmoo.com
  • Prenos mavričnih tabel (zelo velike datoteke), wired.s6n.com/files/jathias
  • Projekt RainbowCrack, www.antsight.com/zsl/rainbowcrack
  • Naroči se na redna tedenska ali mesečna obvestila o novih prispevkih na naši spletni strani!
    Prijava

    ph

    Komentirajo lahko le prijavljeni uporabniki