Za preverjanje pristnosti na spletnem mestu morate vnesti uporabniško ime in geslo. Spletno mesto nato preveri podrobnosti o preverjanju pristnosti, ki ste jih posredovali, tako da jih primerja s podrobnostmi, ki jih je shranilo v svoji bazi podatkov. Če se podrobnosti ujemajo, je dostop odobren. Če se podrobnosti ne ujemajo, je dostop zavrnjen.
Na žalost so kršitve podatkov razmeroma pogost pojav. Kršitve podatkov so lahko velika težava, ker so eden od podatkov, ki so najpogosteje tarča, uporabniški podatki, zlasti seznam uporabniških imen in gesel. Če so gesla samo shranjena takšna, kot so, v navadnem besedilu, potem lahko vsak, ki ima dostop do baze podatkov, dostopa do računa katerega koli drugega uporabnika. Kot da bi jim dali obesek s ključem za vsa vrata stanovanjske hiše.
Medtem ko je veliko truda vloženega v preprečevanje kršitev podatkov, je priporočljiva strategija poglobljene obrambe. Natančneje, varnostni nasvet pravi, da je treba gesla zgostiti, pri čemer je vedno shranjena samo zgoščena vrednost gesla. Zgoščevalna funkcija je enosmerna funkcija, ki vedno pretvori isti vhod v isti izhod. Že manjša sprememba vnosa pa proizvede popolnoma drugačen izhod. Kar je kritično, ni načina, da bi funkcijo obrnil in pretvoril izhodno zgoščeno vrednost nazaj v prvotni vnos. Kar pa lahko storite, je, da zgostite nov vnos in preverite, ali se izhod ujema s shranjenim zgoščevanjem v bazi podatkov. Če se, veste, da se geslo ujema, ne da bi sploh vedeli dejansko geslo.
Koristno to tudi pomeni, da če napadalec vdre v zbirko podatkov, ne dobi seznama takoj uporabnih gesel, namesto tega dobi zgoščene vrednosti. Da bi lahko uporabljali te zgoščene vrednosti, jih je treba razbiti.
Razbijanje zgoščencev gesel s pametnim orodjem
Razbijanje zgoščene vrednosti gesla je postopek ugotavljanja, kaj izvirno geslo predstavlja zgoščena vrednost. Ker zgoščevalne funkcije ni mogoče obrniti in zgoščeno vrednost spremeniti v geslo. Edini način za razbijanje zgoščene vrednosti je uganiti geslo. Ena od metod je uporaba napada s surovo silo. To dobesedno vključuje preizkušanje vseh možnih gesel. To pomeni, da začnete z "a", poskusite vsako črko v obeh primerih ter vsako številko in simbol. Nato mora napadalec preizkusiti vse kombinacije dveh znakov, kombinacije treh znakov itd. Povečanje možnih kombinacij znakov je eksponentno vsakič, ko dodate znak. Zaradi tega je težko učinkovito uganiti dolga gesla, tudi če se uporabljajo hitri algoritmi zgoščevanja z zmogljivimi napravami za razbijanje GPE.
Nekaj truda lahko prihranite tako, da si ogledate zahteve glede gesel na spletnem mestu in ne poskušate gesel, ki bi bila prekratka, da bi bila dovoljena, ali ki na primer ne vsebujejo številke. To bi prihranilo nekaj časa in še vedno ustreza razredu napadov s surovo silo, ki poskušajo vsa dovoljena gesla. Čeprav so napadi s surovo silo počasni, bodo – če jih pustimo dovolj dolgo z veliko procesorsko močjo – sčasoma razbili vsako geslo, saj bodo preizkušene vse možne kombinacije.
Težava z napadi s surovo silo je, da niso zelo pametni. Slovarski napad je različica, ki je veliko bolj ciljno usmerjena. Namesto da bi samo poskusil katero koli možno geslo, poskusi seznam navedenih gesel. Uspeh te vrste napada je odvisen od seznama gesel in zadevnega slovarja.
Ugibanja
Slovarji gesel so običajno zgrajeni iz predhodno vlomljenih gesel iz drugih kršitev podatkov. Ti slovarji lahko vsebujejo na tisoče ali milijone vnosov. To temelji na konceptu, da ljudje slabo ustvarjajo edinstvena gesla. Žal tudi dokazi o kršitvah podatkov kažejo, da je tako. Ljudje še vedno uporabljajo različice besede "geslo". Druge pogoste teme so športne ekipe, imena hišnih ljubljenčkov, imena krajev, imena podjetij, sovraštvo do vaše službe in gesla glede na datum. To zadnje se posebej ponavadi zgodi, ko so ljudje prisiljeni redno spreminjati svoja gesla.
Uporaba slovarja gesel močno zmanjša število ugibanj, ki jih je treba izvesti v primerjavi z napadom s surovo silo. Slovarji gesel prav tako običajno vsebujejo tako kratka kot daljša gesla, kar pomeni, da je mogoče poskusiti nekatera gesla, ki jih ne bi dosegli niti z leti ali ugibanjem na silo. Tudi pristop se je izkazal za uspešnega. Statistični podatki se razlikujejo glede na kršitev podatkov ter velikost in kakovost uporabljenega slovarja, vendar lahko stopnje uspešnosti presežejo 70 %.
Stopnje uspešnosti je mogoče še povečati z algoritmi za spreminjanje besed. Ti algoritmi sprejmejo vsako besedo v slovarju gesel in jo nato nekoliko spremenijo. Te spremembe so ponavadi standardne zamenjave znakov in dodajanje končnih številk ali simbolov. Na primer, običajno je, da ljudje črko »e« zamenjajo s »3«, »s« pa z »$« ali na koncu dodajo klicaj. Algoritmi za spreminjanje besed ustvarijo dvojnike vsakega vnosa v slovarju gesel. Vsak dvojnik ima drugačno različico teh zamenjav znakov. To znatno poveča število gesel, ki jih je treba uganiti, in tudi poveča stopnjo uspešnosti, v nekaterih primerih nad 90 %.
Zaključek
Napad po slovarju je ciljna različica napada s surovo silo. Namesto preizkušanja vseh možnih kombinacij znakov se testira podmnožica kombinacij znakov. Ta podmnožica je seznam gesel, ki so bila predhodno najdena in po potrebi vlomljena v preteklih kršitvah podatkov. To močno zmanjša število ugibanj, ki jih je treba narediti, medtem ko zajema gesla, ki so bila uporabljena prej in v nekaterih primerih pogosto videna. Napad po slovarju nima tako visoke stopnje uspešnosti kot napad s surovo silo. To pa predpostavlja, da imate neomejen čas in procesorsko moč. Napad po slovarju ponavadi doseže spodobno visoko stopnjo uspešnosti veliko hitreje kot napad s surovo silo. To je zato, ker ne izgublja časa z zelo neverjetnimi kombinacijami znakov.
Ena od glavnih stvari, ki bi jih morali storiti, ko si omislite geslo, je zagotoviti, da se ne prikaže na seznamu besed. Eden od načinov za to je, da ustvarite zapleteno geslo, drugi pa je, da naredite dolgo geslo. Na splošno je najboljša možnost ustvariti dolgo geslo, sestavljeno iz nekaj besed. Pomembno je le, da te besede ne tvorijo dejanske fraze, saj bi jo lahko uganili. Morali bi biti popolnoma nepovezani. Priporočljivo je, da izberete geslo, daljše od 10 znakov, pri čemer je absolutni minimum 8.