Što je napad rječnikom?

click fraud protection

Za autentifikaciju na web stranici morate unijeti korisničko ime i lozinku. Stranica zatim provjerava pojedinosti o autentifikaciji koje ste dali uspoređujući ih s pojedinostima koje je pohranilo u svojoj bazi podataka. Ako se detalji podudaraju, pristup je odobren. Ako se detalji ne podudaraju, pristup se odbija.

Nažalost, povrede podataka su relativno česta pojava. Povrede podataka mogu biti veliki problem jer su jedan od dijelova podataka koji se najčešće ciljaju korisnički podaci, točnije popis korisničkih imena i zaporki. Ako su lozinke samo pohranjene takve kakve jesu, u otvorenom tekstu, onda svatko s pristupom bazi podataka može pristupiti računu bilo kojeg drugog korisnika. Kao da su dobili privjesak s ključem za sva vrata u stambenoj zgradi.

Iako se puno truda ulaže u sprječavanje upada podataka, preporučuje se strategija dubinske obrane. Konkretno, sigurnosni savjet kaže da se lozinke trebaju raspršiti, pri čemu se pohranjuje samo raspršena vrijednost lozinke. Hash funkcija je jednosmjerna funkcija koja uvijek pretvara isti ulaz u isti izlaz. Međutim, čak i manja promjena inputa proizvodi potpuno drugačiji output. Kritično, ne postoji način da se funkcija preokrene i izlazni hash vrati natrag u izvorni unos. Međutim, ono što možete učiniti je raspršiti novi unos i vidjeti odgovara li izlaz pohranjenom raspršivanju u bazi podataka. Ako postoji, znate da se lozinka podudara, a da uopće ne znate stvarnu lozinku.

Korisno, to također znači da ako napadač probije bazu podataka, ne dobiva popis odmah korisnih zaporki, umjesto toga dobiva hashove. Da bi se mogli koristiti ovi hashovi moraju biti krekirani.

Razbijanje hashova lozinki uz pomoć Smartsa

Krekiranje hash lozinke proces je utvrđivanja izvorne lozinke koju hash predstavlja. Jer ne postoji način da se hash funkcija preokrene i hash pretvori u lozinku. Jedini način da probijete hash je da pogodite lozinku. Jedna metoda je korištenje napada grubom silom. Ovo doslovno uključuje isprobavanje svake moguće lozinke. To znači početi od "a", isprobati svako slovo, u oba slučaja, i svaki broj i simbol. Zatim napadač treba isprobati sve kombinacije od dva znaka, kombinacije od tri znaka i tako dalje. Povećanje mogućih kombinacija znakova je eksponencijalno svaki put kada dodate znak. To otežava učinkovito pogađanje dugih lozinki čak i kada se koriste brzi algoritmi raspršivanja sa snažnim GPU sustavima za krekiranje.

Nešto truda možete uštedjeti tako da pogledate zahtjeve za lozinku na web-mjestu i ne isprobavate lozinke koje bi bile prekratke da bi bile dopuštene ili koje ne sadrže broj, na primjer. To bi uštedjelo nešto vremena i još uvijek se uklapa u klasu napada brutalnom silom pokušavajući sve dopuštene lozinke. Iako su napadi brutalnom silom spori, oni će – ako se ostave dovoljno dugo s puno procesorske snage – na kraju probiti svaku lozinku jer će se isprobati sve moguće kombinacije.

Problem s napadima grubom silom je taj što nisu baš pametni. Napad rječnikom je varijanta koja je mnogo ciljanija. Umjesto samo isprobavanja bilo koje moguće lozinke, pokušava popis navedenih lozinki. Uspjeh ove vrste napada ovisi o popisu lozinki i rječniku koji je u pitanju.

Nagađanje

Rječnici lozinki obično su napravljeni od prethodno probijenih lozinki iz drugih povreda podataka. Ovi rječnici mogu sadržavati tisuće ili milijune unosa. Ovo se temelji na konceptu da su ljudi loši u stvaranju jedinstvenih zaporki. Dokazi o povredama podataka također pokazuju da je to slučaj, nažalost. Ljudi još uvijek koriste varijacije riječi "lozinka". Ostale uobičajene teme su sportski timovi, imena kućnih ljubimaca, imena mjesta, imena tvrtki, mržnja prema vašem poslu i lozinke na temelju datuma. Ovo posljednje se posebno događa kada su ljudi prisiljeni redovito mijenjati svoje lozinke.

Korištenje rječnika lozinki uvelike smanjuje broj pogađanja koje je potrebno izvesti u usporedbi s napadom grubom silom. Rječnici lozinki također imaju tendenciju da sadrže i kratke i duže lozinke, što znači da bi se neke lozinke mogle isprobati koje se ne bi dosegle čak ni godinama ili grubim pogađanjem. Pristup se također pokazao uspješnim. Statistika se razlikuje ovisno o povredi podataka te veličini i kvaliteti korištenog rječnika, ali stope uspjeha mogu premašiti 70%.

Stope uspjeha mogu se dodatno povećati s algoritmima za krivotvorenje riječi. Ovi algoritmi uzimaju svaku riječ u rječniku zaporki i zatim je malo modificiraju. Te su izmjene obično standardne zamjene znakova i dodavanje brojeva ili simbola na kraju. Na primjer, uobičajeno je da ljudi zamijene slovo "e" sa "3" i "s" sa "$" ili dodaju uskličnik na kraju. Algoritmi krivljenja riječi stvaraju duplikate svakog unosa u rječniku zaporki. Svaki duplikat ima drugačiju varijantu ovih zamjena znakova. Ovo značajno povećava broj lozinki koje treba pogoditi i također povećava stopu uspješnosti, u nekim slučajevima iznad 90%.

Zaključak

Napad rječnikom ciljana je varijanta napada grubom silom. Umjesto pokušaja svih mogućih kombinacija znakova, testira se podskup kombinacija znakova. Ovaj podskup je popis lozinki koje su prethodno pronađene i po potrebi probijene u prošlim povredama podataka. Ovo uvelike smanjuje broj pogađanja koje je potrebno napraviti dok se pokrivaju lozinke koje su se prije koristile, au nekim slučajevima često viđane. Napad rječnikom nema tako visoku stopu uspjeha kao napad brutalnom silom. To, međutim, pretpostavlja da imate neograničeno vrijeme i snagu obrade. Napad rječnikom ima tendenciju postizanja pristojno visoke stope uspjeha mnogo brže nego napad brutalnom silom. To je zato što ne gubi vrijeme na krajnje nevjerojatne kombinacije likova.

Jedna od glavnih stvari koje biste trebali učiniti kada smišljate lozinku jest osigurati da se ona neće pojaviti na popisu riječi. Jedan način da to učinite je da napravite složenu lozinku, drugi je da napravite dugu lozinku. Općenito, najbolja opcija je napraviti dugačku lozinku sastavljenu od nekoliko riječi. Samo je važno da te riječi ne čine stvarnu frazu jer bi se to moglo nagađati. Oni bi trebali biti potpuno nepovezani. Preporuča se da odaberete lozinku dužu od 10 znakova s ​​8 kao apsolutnim minimumom.