Kako se probijaju lozinke?

U korisničke račune rijetko se provaljuje onako kako to filmovi prikazuju. U stvarnosti se lozinka pribavlja na jedan od tri načina. Ona se probija: otkriva se isprobavanjem mogućih kombinacija jednu za drugom, obično nasuprot bazi sažetaka (hasheva) ukradenoj s nekog poslužitelja. Ona se krade: unosi se na lažnu stranicu ili je kopira zlonamjerni softver. Ili se ponovno koristi: napadači uzimaju lozinku iz ranijeg curenja podataka i isprobavaju je na drugim uslugama, računajući na to da ju je vlasnik i tamo upotrijebio. Razlika je bitna jer se svakoj metodi suprotstavlja drukčija obrana. Ovaj članak prolazi kroz glavne metode i navodi što pomaže protiv svake od njih.

Ponovno korištene lozinke iz curenja podataka

Svake godine na servisima dolazi do sigurnosnih incidenata i njihove baze korisnika završe na prodaju ili postanu javno dostupne. Napadači uzimaju parove adrese e-pošte i lozinke iz jednog curenja te ih automatski isprobavaju na bankama, servisima e-pošte, trgovinama i društvenim mrežama — napad poznat kao ubacivanje vjerodajnica (credential stuffing). To uopće ne uključuje pogađanje, a uspijeva iz jednostavnog razloga: ljudi ponovno koriste lozinke. Čak ni jaka lozinka ovdje ne pomaže ako je ista na svim mjestima.

Što pomaže: različita lozinka za svaki pojedini račun, tako da curenje na jednoj usluzi ne otvara ništa drugo.

Krađa identiteta (phishing)

Stranica za krađu identiteta kopija je prave stranice za prijavu na malo promijenjenoj adresi, do koje se dolazi putem poveznice u e-pošti ili poruci koja zvuči hitno: blokiran račun, paket, neplaćeni račun. Sve što tamo upišete odlazi izravno napadaču. Duljina i slučajnost lozinke ne čine nikakvu razliku jer je unosite sami.

Što pomaže: otvarajte web-mjesta iz vlastitih knjižnih oznaka (bookmarks), a ne klikom na poveznice. Koristite upravitelj lozinki: on nudi popunjavanje lozinke samo na točnoj adresi za koju je spremljena, pa ako ne ponudi spremljenu lozinku, pažljivo provjerite adresu prije nego što je ručno upišete. Također uključite dvofaktorsku autentifikaciju, koja čini samu ukradenu lozinku nedovoljnom za ulazak. Ipak, jednokratni kodovi mogu se presresti jednako kao i lozinka. Pristupni ključevi (passkeys) i FIDO2 sigurnosni ključevi ne mogu, jer odgovaraju isključivo izvornoj stranici — razlika koju NIST naziva otpornošću na phishing.

Zlonamjerni softver

Programi poznati kao kradljivci informacija (infostealers) kopiraju lozinke spremljene u pregledniku zajedno s kolačićima sesija i šalju ih u roku od nekoliko sekundi nakon pokretanja, dok bilježnici tipkanja (keyloggers) bilježe sve što se utipka. Ukradeni kolačić sesije može napadaču omogućiti ulazak u već prijavljeni račun bez lozinke i bez drugog faktora. Takvi programi obično stižu kroz piratski softver, lažna ažuriranja i sumnjive privitke e-pošte.

Što pomaže: instaliranje softvera isključivo iz službenih izvora, redovito ažuriranje operacijskog sustava i preglednika te tretiranje svakog neočekivanog privitka kao opasnog — iako ništa od toga nije apsolutno jamstvo. Ako je uređaj zaražen, djelujte s drugog uređaja za koji pouzdano znate da je čist: promijenite lozinke, upotrijebite opciju odjave sa svih aktivnih sesija na svakom servisu i provjerite jesu li adresa za oporavak, telefonski broj i postavke dvofaktorske autentifikacije i dalje pod vašom kontrolom. Očistite zaraženi uređaj prije ponovne prijave na njemu.

Pogađanje na obrascu za prijavu

Isprobavanje lozinki izravno na web-stranici sporo je: dobro izrađena usluga usporava, blokira ili traži captchu nakon nekoliko pogrešnih pokušaja. To neprestano udaranje po jednom računu čini neisplativim, pa je uobičajeni pristup suprotan: pregršt najčešćih lozinki — 123456, password, qwerty123 — isprobava se na milijunima računa, što se naziva raspršivanjem lozinki (password spraying). Ciljano pogađanje radi na isti način s osobnim podacima: imena djece i kućnih ljubimaca, rođendani, omiljeni sportski klub, a sve je to lako pronaći na društvenim mrežama.

Što pomaže: svaka lozinka koja nije uobičajena niti sastavljena od činjenica o vama — pogledajte naš vodič o tome kako stvoriti jaku lozinku.

Pogađanje lozinki iz ukradenih sažetaka izvan mreže

Pravilno izrađena usluga ne pohranjuje lozinke u čitljivom obliku. Ona pohranjuje sažetke (hasheve) — rezultat jednosmjerne funkcije iz kojeg se izvorna lozinka ne može matematički izračunati unatrag. Kada takva baza podataka procuri, napadači testiraju potencijalne lozinke: izračunavaju sažetke kandidata na vlastitom hardveru i uspoređuju dobivene rezultate. Nijedan obrazac za prijavu ne usporava ih u tome, a brzina ovisi o funkciji sažimanja koju je servis odabrao i o njezinim postavkama. Za brze, zastarjele funkcije kao što je MD5, jedna moderna grafička kartica provjerava desetke milijardi kandidata u sekundi. Funkcije dizajnirane za pohranu lozinki — Argon2id ili bcrypt u starijim sustavima — namjerno su spore i smanjuju tu brzinu za više redova veličine, zbog čega ih trenutačne preporuke izričito navode.

Rječnički napadi

Kandidati koji se testiraju nisu nasumični. Alati za probijanje kreću od popisa stvarnih lozinki iz ranijih curenja podataka i rječnika riječi i imena, a zatim primjenjuju pravila koja oponašaju ljudske navike: veliko početno slovo, godina ili uskličnik na kraju, zamjena slova sličnim simbolom. Lozinka poput Summer2024! izgleda složeno, a zapravo je među prvim kandidatima koji se isprobavaju. Soljenje (salting) — dodavanje jedinstvene slučajne vrijednosti svakoj lozinki prije sažimanja — sprječava napadače u korištenju unaprijed izračunatih tablica (duginih tablica ili rainbow tables) i u istovremenom probijanju svih identičnih lozinki, ali ne čini predvidljivu lozinku nimalo manje predvidljivom.

Napad grubom silom

Kada se rječnici iscrpe, preostaje isprobavanje svake moguće kombinacije, a kod slučajno generirane lozinke duljina je ono što odlučuje o ishodu. Kao primjer uzmimo brzi sažetak i lozinku u kojoj je svaki znak odabran neovisno, s jednakom vjerojatnošću, između 94 znaka koji se mogu ispisati u ASCII skupu, 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 tjedan dana, a u prosjeku se prava pronađe u upola manje vremena. Za 12 znakova, isprobavanje svih na istom hardveru trajalo bi oko 1,5 milijuna godina, a za 16 je ta brojka izvan svake smislene usporedbe. 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 izvedivo. Naš generator sigurnih lozinki stvara ih u vašem pregledniku i za svaku prikazuje procjenu entropije u bitovima.

Što pomaže: duga lozinka bez ljudskog uzorka, što u praksi znači računalno generirana lozinka. Ne možete utjecati na to kako usluga pohranjuje vašu lozinku, pa pretpostavite najgore i odaberite lozinku koja se odupire pogađanju čak i ako je pohranjena brzom funkcijom sažimanja.

Virenje preko ramena i socijalni inženjering

Najstarije metode uopće ne zahtijevaju tehnologiju. Lozinka se pročita preko ramena, s naljepnice na monitoru ili s dijeljenog zaslona tijekom videopoziva; ili je napadač jednostavno zatraži, pretvarajući se da je djelatnik tehničke podrške ili kolega — što se naziva socijalnim inženjeringom (social engineering). Nijedna legitimna služba nikada neće tražiti vašu lozinku telefonom, e-poštom ili u chatu.

Što pomaže: nikada nikome nemojte izgovoriti ili poslati lozinku i nemojte je držati na mjestu gdje je drugi mogu vidjeti.

Što iz svega ovoga proizlazi

Različiti napadi zahtijevaju različite navike, a tri pravila pomažu najviše: jedinstvena lozinka za svaki račun, generirana umjesto izmišljena, uz dvofaktorsku autentifikaciju kao dodatnu zaštitu — ili pristupni ključ umjesto lozinke gdje god to usluga nudi. Ona ne pokrivaju baš sve opasnosti — poput ukradene aktivne sesije — zbog čega su i gornji savjeti o zlonamjernom softveru jednako važni. Više članaka okupljeno je u materijalima o lozinkama.