Sadržaj

Sigurnost lozinki na Internetu

Sažetak

Lozinke su najčešći način autentikacije korisnika na Internetu. Zabrinjavajuća je statistika da samo 54% korisnika koristi različite lozinke za svoje račune. Osim toga, lozinke su često prekratke i jednostavne, što predstavlja veliku slabost sigurnosti korisničkih računa. Međutim, neki koraci za jačanje sigurnosti lozinka su jednostavni i uvelike mogu pomoći u zaštiti privatnosti i sigurnosti korisnika na Internetu.

Ključne riječi: lozinke; sigurnost; Internet; zaštita

Uvod

Lozinke su najčešći način autentikacije korisnika na Internetu [1]. Lozinke su nizovi znakova - slova, brojeva i ostalih znakova - koje korisnici unose uz svoje ime, adresu elektroničke pošte ili neki drugi podatak koji ih definira. Zabrinjavajuća je statistika da samo 54% korisnika koristi različite lozinke za svoje račune. Osim toga, lozinke su često prekratke i jednostavne, što predstavlja veliku slabost sigurnosti korisničkih računa [2]. Cilj seminara je istaknuti neke od ovih slabosti te dati neke osnovne načine kako se mogu ukloniti.

1. Lozinke u Internetu

Lozinke su jako jednostavan način pružanja sigurnosti - one su jedan od načina autentikacije korisnika. Autentikacija je proces kojim neki informacijski sustav provjerava korisnikov identitet. Točnije, provjerava se je li korisnik onaj za kojeg on tvrdi da jest. Primjerice, jedan od načina autentikacije je osobna iskaznica, koja sadržava dovoljne informacije da se osobu koja posjeduje iskaznicu usporedi s onom čija je iskaznica. Međutim, na Internetu nemamo samo jedan identitet - osobni - već je naš identitet povezan s mnogim korisničkim računima. Zato bi nepraktično bilo da sve svoje informacije moramo upisivati pri svakoj prijavi, već su osmišljeni načini kako bi se taj proces olakšao i ubrzao.

Lozinke su jedan od najjednostavnijih načina za postići brzu i za korisnika jednostavnu autentikaciju. Korisnik upisuje svoje korisničko ime te kratki niz znakova koje je sam osmislio i zapamtio. U davanju previše povjerenja samom korisniku, lozinke pate od jedne velike slabosti - da se lako mogu probiti postupkom grube sile [4]. Međutim, više o slabostima i tom postupku bit će riječ u idućim poglavljima. Još jedna ljudska slabost je tendencija da se koristi ista lozinka za više ili čak sve sustave na kojima postoji njihov korisnički račun [4]. Ovo je iznimno opasno jer jedan slabiji sustav može ugroziti sigurnost ostalih sustava, bez obzira na njihovu sigurnost.

Lozinke se, u pravilu, ne bi na sustavima smjele spremati kao običan tekst. Razlog za to je jednostavan - prilikom napada na neki sustav i otkrivanja sadržaja bazi podataka, sve se lozinke mogu odmah otkriti i povezati s korisničkim imenima ili adresama elektroničke pošte. Zato se u sustavima sprema sažetak (engl. hash) lozinke. Sažetak je postupak koji nekakvu informaciju, na predvidiv način, pretvara u naizgled nasumični niz podataka. Iz tog niza je gotovo nemoguće saznati informaciju iz koje je nastao. Ako sustavi spremaju sažetak lozinke, a ne samu lozinku, i dalje mogu provjeriti poklapa li se unešena lozinka sa spremljenom tako da ponove postupak sažetka. Na to se svodi probijanje lozinke. U praksi se najčešće koristi postupak sažimanja s tzv. solju (engl. salt) [5], ali ovaj seminar neće ulaziti u detalje tog postupka. Napadom na sustav i dalje je moguće doći do sažetaka, a u tom trenutku sigurnost lozinki ovisi o korisniku koji ju je osmislio. U sljedećem poglavlju bit će izložene dodatne slabosti lozinki, ali ne iz perspektive sustava, već tog korisnika.

2. Načini probijanja zaštite

2.1 Postupak grube sile

Postupak grube sile dobio je svoj naziv zbog toga što se ne oslanja na nekakav sofisticirani algoritam za uspjeh, već na čisto pogađanje svake moguće kombinacije znakova. Primjerice, postupak bi krenuo da se pokuša s lozinkom “A”, zatim “B”, pa “C”, preko “V”, “Z”, “a” te sve do “z”. Idući pokušaj mogao bi biti “1”, ali i “AA”, ovisno o tome kako je algoritam implementiran. Generirana lozinke se zatim unosi izravno u sustav kao obična prijava, ili se generira sažetak lozinke i uspoređuje s postojećim sažetkom.

2.2 Napad rječnikom

Napad rječnikom uključuje ogroman niz lozinki probijenih lozinki i njihovih sažetaka. Taj niz se zove rječnik, a u prosjeku sadrži preko 100 milijuna lozinki [7]. Napad rječnikom je puno efikasniji od napada grubom silom jer se koristi znanje o postojećim, već probijenim lozinkama te statističke informacije o frekvenciji pojedinih lozinki. Osim toga, neki programi koji koriste rječnike imaju i ugrađena pravila koja govore koji su znakovi istovjetni. Na primjer, lozinka “facebook” nije značajno slabija od lozinke “f4c3b00k”, jer obje lozinke koriste znakove za koje se zna da ih ljudi često mijenjaju. Taj postupak mijenjanja znakova zove se mungeing i dobro je poznat [6].

3. Zaštita

3.1 Slabosti lozinki

Kao što je rečeno u 1. poglavlju, ljudske slabosti su one koje se najčešće iskorištavaju, zato što je postupak obrnutog sažetka u praksi nemoguć. Poznavanje tih slabosti nužno je za njihovo izbjegavanje i povećavanje sigurnosti. Ovo su neke najkobnije slabosti lozinki [2, 4, 7]:

  1. Duljina. Prekratke lozinke lako se mogu probiti postupkom grube sile, čak i ako je dostupan samo sažetak. Postupak sažimanja traje određeno vrijeme, ali se i dalje u jako kratkom roku mogu izračunati sažeci mnogih nizova znakova.
  2. Korištenje čestih lozinki. Lozinke poput “lozinka1” ili “12345678” nesigurne su zbog toga što su njihovi sažeci već su odavno poznati te se odmah mogu probiti. Osim toga, one su prve na popisu prilikom izvršavanja napada rječnikom i probijaju se u jako kratkom vremenskom roku.
  3. Neraznovrsnost znakova. Ako se koristi lozinka koja je samo nasumični niz znakova, onda je prednost da su ti znakovi što raznovrsniji. Više znakova za pogađanje eksponencijalno proširuje broj mogućih lozinki koje se moraju provjeriti grubom silom. Bitno je istaknuti da se ova slabost ne odnosi na lozinke koje podliježu napadu rječnikom, zbog razloga navedenih u prethodnom poglavlju.
  4. Korištenje istih lozinki na više sustava, što je već opisano u prethodnom poglavlju.

3.2 Praktični načini zaštite

Cilj dobre lozinke nije samo zaštita od napada grubom silom ili samo napada rječnikom, već oboje. Stranice za provjeru jačine lozinke poput [8], u pravilu provjeravaju jačinu lozinke samo protiv napada grubom silom. Međutim, u praksi zbilja nije složen postupak osmisliti način osmišljanja i pohrane lozinki te svatko može poboljšati sigurnost svojih lozinki. Naputci koji bi se svakako morali pratiti su:

  1. Koristiti različite lozinke za različite sustave.
  2. Koristiti dovoljno dugačke lozinke. Nije sigurno kolika je minimalna duljina lozinke, neki izvori tvrde da se ta brojka kreće oko 11 [9], dok neki tvrde kako bi ta brojka trebala biti i 16 [10]. Naravno da je dulja lozinka svakako sigurnija.
  3. Koristiti dovoljno raznovrsne lozinke, sa što više različitih tipova znakova. Primjerice, slova, brojeve, posebne znakove “&”, “%”, “#”… Pritom je dobro znati da postupak mungeinga [6] nije pretjerano efikasan.

Ovi se naputci jednostavno mogu ostvariti jednom od dvije sljedeće taktike:

  1. Koristiti lozinke od nekoliko opskurnih, ali lako pamtljivih riječi ili čitave fraze. Primjerice, “leteća plava roda kucka” lozinka je od 23 znaka i samim time je sasvim otporna na napad grubom silom te je gotovo sigurno da ne postoji u nekom rječniku.
  2. Koristiti upravitelja lozinki. Upravitelj lozinki (engl. password manager) program je koji pohranjuje korisničke lozinke i tako uklanja obavezu pamćenja raznih lozinki. Upravitelj lozinki može biti program koji radi na računalu bez pristupa internetu, usluga u oblaku, dodatak za internetski preglednik… Velika prednost mu je što korisnik pamti samo jednu lozinku, tzv. glavnu lozinku (engl. master password).

Zaključak

Sigurnost lozinki nešto je čemu bismo trebali posvetiti više pažnje. Jako je jednostavno poduzeti korake da ne budemo žrtva ukradenih lozinki i ostalih podataka. Koristeći jednostavne tehnike i par smjernica, jedan dio internetske privatnosti može ostati siguran.

Literatura

[1] “5 Authentication Methods that Can Prevent the Next Breach” - IDR&D, 2020, URL: https://www.idrnd.ai/5-authentication-methods-that-can-prevent-the-next-breach/, posjećeno 16.1.2021.

[2] “User Authentication: Understanding the Basics & Top Tips”, Swoop, 2020., URL: https://swoopnow.com/user-authentication/, posjećeno 15.1.2021.

[3] “What is Authentication? Definition of Authentication, Authentication Meaning”. The Economic Times. URL: https://economictimes.indiatimes.com/definition/authentication, posjećeno 15.1.2021.

[4] “Passwords — strengths and weaknesses”, Gary C. Kessler, siječanj 1996., URL: https://www.garykessler.net/library/password.html, posjećeno 16.1.2021.

[5] “Šifriranje, hashing, soljenje – u čemu je razlika?”, Heritage Offshore, URL: https://heritage-offshore.com/sigurnost-informacija/ifriranje-hashing-soljenje-u-emu-je-razlika/, posjećeno 15.1.2021.

[6] “Munged password” s Wikipedije, URL: https://en.wikipedia.org/wiki/Munged_password, posjećeno 17.1.2021.

[7] “Why passwords have never been weaker—and crackers have never been stronger”, Dan Goodin za Ars Technica, URL: https://arstechnica.com/information-technology/2012/08/passwords-under-assault/, posjećeno 15.1.2021.

[8] “How Secure Is My Password?”, URL: https://howsecureismypassword.net/

[9] “How long should my passwords be?”, Jeffrey Goldberg za 1Password blog, URL: https://blog.1password.com/how-long-should-my-passwords-be/, posjećeno 17.1.2021.

[10] “How long should your password be? The data behind a safe password length policy.”, LMG Security, URL: https://www.lmgsecurity.com/how-long-should-your-password-be-a-technical-guide-to-a-safe-password-length-policy/, posjećeno 17.1.2021.