Kako se lozinke probijaju?
U naloge se rijetko provaljuje onako kako to filmovi prikazuju. U praksi se do lozinke dolazi na jedan od tri načina. Biva probijena: otkrivena isprobavanjem jednog kandidata za drugim, obično na bazi heševa lozinki ukradenoj s nekog servisa. Biva ukradena: unesena na lažnu stranicu ili kopirana zlonamjernim softverom. Ili biva ponovo iskorištena: napadači uzimaju lozinku iz ranijeg curenja podataka i isprobavaju je na drugim servisima, računajući na to da ju je vlasnik koristio i tamo. Razlika je bitna, jer se protiv svakog od ovih načina bori drugačijim mjerama. Ovaj članak prolazi kroz glavne metode i navodi šta pomaže protiv svake od njih.
Ponovo korištene lozinke iz curenja podataka
Svake godine servisi bivaju kompromitovani, a njihove baze korisnika završe na prodaju ili se slobodno dijele. Napadači uzimaju parove adrese e-pošte i lozinke iz jednog curenja i automatski ih isprobavaju na bankama, servisima e-pošte, online prodavnicama i društvenim mrežama — napad koji se naziva credential stuffing (ubacivanje vjerodajnica). To uopšte ne uključuje pogađanje, a djeluje iz jednostavnog razloga: ljudi ponovo koriste iste lozinke. Čak ni jaka lozinka ovdje ne pomaže ako je ista na svim mjestima.
Šta pomaže: različita lozinka za svaki nalog, tako da curenje podataka na jednom servisu ne otvara ništa drugo.
Pecanje (Phishing)
Stranica za krađu identiteta (phishing) je kopija prave stranice za prijavu na malo drugačijoj adresi, do koje se dolazi putem linka u e-pošti ili poruci koja zvuči hitno: blokiran nalog, paket, račun. Sve što tamo unesete odlazi direktno napadaču. Dužina i nasumičnost lozinke ne prave nikakvu razliku, jer je unosite sami.
Šta pomaže: otvarajte stranice iz svojih sačuvanih zabilješki (bookmarks), a ne putem linkova iz poruka. Koristite upravitelj lozinkama: on nudi popunjavanje lozinke samo na adresi za koju je sačuvana, pa ako ne ponudi sačuvanu lozinku, provjerite adresu prije nego što je unesete ručno. I uključite dvofaktorsku autentifikaciju, koja čini da ukradena lozinka sama po sebi nije dovoljna. Ipak, jednokratni kodovi se mogu presresti na isti način kao i lozinka. Pristupni ključevi (passkeys) i FIDO2 sigurnosni ključevi to ne dopuštaju, jer odgovaraju samo pravoj stranici — što je razlika koju NIST naziva otpornošću na phishing.
Zlonamjerni softver
Programi poznati kao infostealeri kopiraju lozinke sačuvane u pretraživaču, zajedno s kolačićima sesije, i šalju ih napadaču u roku od nekoliko sekundi nakon pokretanja, dok keyloggeri bilježe sve što se otkuca na tastaturi. Ukradeni kolačić sesije može napadaču omogućiti ulazak u nalog u koji ste već prijavljeni, bez lozinke i bez drugog faktora provjere. Takvi programi obično stižu kroz piratski softver, lažna ažuriranja i priloge u e-pošti.
Šta pomaže: instaliranje softvera samo sa zvaničnih izvora, redovno ažuriranje operativnog sistema i pretraživača, te tretiranje svakog neočekivanog priloga kao opasnog — iako ništa od toga nije stopostotna garancija. Ako je uređaj zaražen, djelujte s drugog uređaja za koji pouzdano znate da je čist: promijenite lozinke, iskoristite opciju svakog servisa za odjavu sa svih sesija i provjerite da li su adresa za oporavak, broj telefona i postavke dvofaktorske autentifikacije i dalje vaši. Očistite zaraženi uređaj prije nego što se ponovo prijavite s njega.
Pogađanje na formi za prijavu
Pokušavanje unosa lozinki direktno na web stranici je sporo: dobro napravljen servis usporava, blokira ili traži captchu nakon nekoliko pogrešnih pokušaja. Zbog toga je napad na samo jedan nalog neefikasan, pa je uobičajeni pristup suprotan: nekoliko najčešćih lozinki — 123456, password, qwerty123 — isprobava se na milionima naloga, što se naziva password spraying (raspršivanje lozinki). Ciljano pogađanje funkcioniše na isti način s ličnim podacima: imena djece i kućnih ljubimaca, rođendani, omiljeni sportski tim, sve ono što se lako pronalazi na društvenim mrežama.
Šta pomaže: bilo koja lozinka koja nije uobičajena niti sastavljena od činjenica o vama — pogledajte naš vodič kako kreirati jaku lozinku.
Pogađanje lozinki iz ukradenih heševa van mreže
Ispravno izgrađen servis ne čuva lozinke u čitljivom obliku. On čuva heševe (hashes) — izlaz jednosmjerne funkcije iz kojeg se originalna lozinka ne može ponovo izračunati unazad. Kada takva baza podataka procuri, napadači testiraju potencijalne lozinke: oni na vlastitom hardveru računaju heševe kandidata i porede rezultate. Nijedna forma za prijavu ih ne usporava, a brzina zavisi od heš funkcije koju je servis izabrao i od njenih postavki. Za brze, zastarjele funkcije kao što je MD5, jedna moderna grafička kartica provjerava desetine milijardi kandidata u sekundi. Funkcije namjenski dizajnirane za čuvanje lozinki — Argon2id, ili bcrypt u starijim sistemima — namjerno su spore i smanjuju tu brzinu za mnogo redova veličine, zbog čega ih važeće preporuke izričito navode.
Rječnički napadi
Kandidati nisu nasumični. Alati za probijanje počinju s listama pravih lozinki iz ranijih curenja i s rječnicima riječi i imena, a zatim primjenjuju pravila koja oponašaju ljudske navike: veliko početno slovo, godina ili uzvičnik na kraju, slovo zamijenjeno sličnim simbolom. Lozinka kao što je Summer2024! izgleda složeno, a zapravo je među prvim kandidatima koji se isprobavaju. Soljenje (salting) — dodavanje jedinstvene nasumične vrijednosti svakoj lozinki prije heširanja — sprečava napadače da koriste unaprijed izračunate tabele, poznate kao rainbow tabele, i da probiju sve identične lozinke odjednom, ali predvidivu lozinku ne čini nimalo manje predvidivom.
Napad grubom silom (Brute force)
Kada se rječnici iscrpe, preostaje isprobavanje svake kombinacije, a za nasumično generisanu lozinku dužina je ono što odlučuje ishod. Kao ilustraciju, uzmite brzi heš i lozinku u kojoj je svaki znak izabran nezavisno, s jednakom vjerovatnoćom, između 94 štampana ASCII znaka, isključujući razmak. Postoji oko 6 × 1015 takvih lozinki od 8 znakova; pri brzini od deset milijardi pogađanja u sekundi, isprobavanje svih traje oko sedmicu dana, a u prosjeku se prava lozinka pojavi u pola tog vremena. Za 12 znakova, isprobavanje svih na istom hardveru trajalo bi oko 1,5 miliona godina, a za 16 ta brojka prevazilazi svako smisleno poređenje. To je cijeli argument u korist dugih nasumičnih lozinki: rječnici su protiv njih gotovo beskorisni, a pod ovim pretpostavkama isprobavanje svake kombinacije nije praktično izvodljivo. Naš generator sigurnih lozinki stvara ih u vašem pretraživaču i prikazuje procjenu entropije za svaku u bitovima.
Šta pomaže: duga lozinka bez ljudskih obrazaca u sebi, što u praksi znači generisana lozinka. Ne možete kontrolisati kako servis čuva vašu lozinku, pa pretpostavite najgori scenario i izaberite onu koja odolijeva pogađanju čak i kada se čuva brzom heš funkcijom.
Gledanje preko ramena i socijalni inženjering
Najstarije metode ne zahtijevaju nikakvu tehnologiju. Lozinka se pročita preko ramena, s papirića zalijepljenog na monitoru ili s ekrana podijeljenog u video pozivu; ili je napadač jednostavno zatraži, pretvarajući se da je tehnička podrška ili kolega s posla — što se naziva socijalni inženjering. Nijedan legitiman servis nikada od vas neće tražiti lozinku telefonom, e-poštom ili putem chata.
Šta pomaže: nikada nikome ne govorite i ne šaljite svoju lozinku, i nemojte je držati na mjestima gdje je drugi mogu vidjeti.
Zaključak
Protiv različitih napada djeluju različite navike, a tri pravila najviše pomažu: jedinstvena lozinka za svaki nalog, generisana umjesto izmišljena, uz uključenu dvofaktorsku autentifikaciju — ili pristupni ključ umjesto lozinke, gdje god servis to nudi. Ona ne pokrivaju sve — na primjer, ukradenu sesiju — zbog čega su i gornji savjeti o zlonamjernom softveru jednako važni. Više članaka možete pronaći u našim materijalima o lozinkama.