24 фебруар 2019

Lozinka / Password / Šifra



Tehnologija nezadrživo napreduje, međutim jedna stvar je nezaobilazno još uvijek u upotrebi: lozinka. 

Password wallpaper


Lozinka (koriste se i izrazi: šifra, kôd) je kombinacija znakova (slova, brojeva, simbola i sl.) koje zaštićeni dokument, uređaj, sistem ili servis istom pamti, te svaki put kada korisnik želi pristup, od njega se traži unos te lozinke, čime se utvrđuje njegovo pravo da pristupa. Da, lozinke su nužno zlo. Danas imate nalog na internetu za: elektronsku poštu, banku, za skladištenje u oblaku, kupovinu, rezervacije putovanja, posao, društvene mreže, igre, itd. Korisnik želi da pristupi potrebnom resursu i da ga upotrijebi, međutim svaki resurs traži lozinku i preporučuje da se ta lozinka ne koristi na drugom mjestu.

Uopšte nije teško zamisliti da ignorišemo upozorenja, pa koristimo dvije ili tri lozinke na svim nalozima koje imamo. Da stvari budu još zanimljivije, te iste lozinke ispišemo na papiru i to zalijepimo na kućište računara ili prepustimo pretraživaču interneta da ih zapamti umjesto nas, uporno ignorišući sigurnosne preporuke, pa je gotovo nemoguće da u jednom trenutku danas ne budete hakovani. Korisnički nalozi vrijede čitavo bogatstvo napadačima (hakerima) – koristiće ih za ucjenu, slanje neženje pošte drugim korisnicima, instalaciju zlonamjernog softvera itd. To se može vidjeti na primjeru velikih kompanija koje ulažu ogromne sume novca na sigurnost, a napadnute su i podaci su ukradeni kompanijama: TalkTalk, Yahoo!, Dropbox, Google, Facebook i drugim. Ukratko rečeno, treba da se pobrinuti da hakovanjem jednog od naloga ne omogući hakerima pristup svim ostalim nalozima koje korisnik posjeduje.

Kada čujemo za da je izvršen veliki hakerski napad, to uvijek zvuči kao da je bio nevjerovatno zahtjevan i komplikovan. Međutim, vrlo često, istina je da su napadači koristili riječi iz rječnik kao osnovu za napad preko lozinki, oslanjajući se na slabe korisničke lozinke i uspjeli. Ako pogledamo neke od „najpopularnijih“ lozinki koje su bile ponuđene za prodaju na Internetu u poslednje vrijeme istina nije daleko:

najočiglednije lozinke
Svako bi trebao da koristi duge i teške za pogoditi lozinke, koje su jedinstvene za svaki nalog. Na taj način, gubitak jednog naloga, neće uticati na druge.

Prije nego što shvatimo da trebamo promjenu pristupa korištenja lozinki, potrebno je u potpunosti razumjeti kako lozinke funkcionišu i kako jedna loša navika u njihovom korištenju može biti sigurnosni propust za čitav vaš život. Najjednostavnije rečeno, lozinke se skladište zajedno sa korisničkim imenom u bazu podataka. Kada popunite obrazac za prijavu sa svojim korisničkim imenom i lozinkom, vrši se provjera da li podaci odgovaraju unosu u bazi podataka, ako da - vi možete koristi zahtijevani resurs. Naravno, baza podataka nije običan tekst. Malo je komplikovanije od toga, u protivnom svaki napadač bi bio u mogućnosti dođe to tih informacija. Ni jedan ozbiljan servis neće korisničke informacije čuvati kao običan tekst. U praksi korisnička informacija za prijavu i korištenje servisa trebalo bi da da se skladišti kao „haš“ (eng. hash) algoritam – što je u ovom slučaju naziv za jedinstvenu kombinaciju slova i brojeva koja predstavlja korisnički podatak. Uzmimo za primjer riječ „lozinka“, MD5 haš algoritam za ovu riječ je 8aa87050051efe26091a13dbfdf901c6. Kada popunite polje za prijavu na nekom od servisa i potvrdite prijavu, taj servis bi trebao da uporedi haš lozinke koju ste upisali sa onim koji je sačuvan u bazi pored vašeg korisničkog imena. Ako je vrijednost identična, prijava je uspješna, u suprotnom morate pokušati ponovo.

Ove vrijednosti ne mogu obrnutim inžinjeringom biti vraćene u tekst, ali ove vrijednosti za najčešće korištene lozinke su dobro poznate, tako da nije teško napisati program koji će uporediti sve ukradene lozinke sa poznatim haš vrijednostima. Sa druge strane, kompanije koje brinu o sigurnosti svojih korisnika koriste dodatnu zaštitu koristeći nešto što nosi termin  „salt“, odnosno dodatak. U ovom slučaju, samoj lozinci se dodaje korisničko ime, adresa elektronske pošte i sl. Tako da u našem primjeru iznad smo koristili pojam „lozinka“ , ako sada njemu dodamo korisničko ime „korisnik“ (korisniklozinka) dobijamo novu haš vrijednost 76d77b52462fb753658e4e72f9e3136b. U slučaju krađe, napadač će vjerovatno znati korisničko ime, ali neće moći da u navedenoj vrijednosti odredi šta je korisničko ime, a šta lozinka. Uz to, u posljednje vrijeme servisi su počeli da pored korištenja navedenih načina zaštite baze podataka sa lozinkama, vrše enkripciju iste kao način dodatne zaštite.  Ipak, na kraju ne možemo sa sigurnošću reći koji servis koristi sigurnije čuvanje lozinki, a koji ne. Ako se koristi jedna lozinka na više servisa, dovoljno je da samo jedan ima sigurnosni propust i svi vaši servisi će biti dostupni napadaču ili napadačima, bez obzira koliko ta lozinka bila „jaka“. Zato je veoma važno imati jedinstvenu lozinku za svaki servis i čuvati je na siguran način.

Svim je poznata osnova kreiranja lozinki, pa tako i na većini ozbiljnijih servisa prilikom prijave biti će prikazana obojena traka koja će pokazivati koliko je lozinka jaka. Naravno, traži se da koristite velika i mala slova, brojeve i simbole; da lozinka bude što duža – minimalno osam znakova, a da ne koristite svoje ime, prezime ili korisničko ime i sl. To su sve korisni savjeti, ali takvu lozinku je teško zapamtiti. Zbog toga su se počeli koristiti „tajni izrazi“ (passphrases) kao lakši način za upotrebu i pamćenje. Treba napomenuti da ovi tajni izrazi koriste riječi koje se nalaze u rječniku, tako da je dobra praksa koristiti riječi za koje ne bi imalo smisla da budu jedna pored druge. Ipak, skorašnja istraživanja su pokazala da ovi tajni izrazi, iako su duži nisu sigurniji od kraćih kompleksnijih lozinki. Razlog se krije u tome što korisnici nisu u stanju da odaberu nasumične riječi, već koriste rečenice koje se koriste u svakodnevnom razgovoru. Zaključak sprovedenih istraživanja pokazuje da je koncept tajnog izraza dobar, međutim korisnik je taj koji bira da koristi tajni izraz koji kao rečenica ima smisla, a sa tim postaje mnogo manje siguran za upotrebu.

Sa druge strane tajni izraz je dobar način za pravljenje osnovne lozinke na sljedeći način:

1.    Smisliti dobar tajni izraz. Npr. Računar koristim za pristup Internetu kada sam kući.

2.    Iskoristiti prvo slovo svake riječi: RkzpIksk

3.    Ako se lozinka namjerava koristiti za plaćanje preko Interneta, pronaći riječ koja asocira na to (npr. kupovina) i ubaciti je prije zadnja dva slova u izrazu iznad, sa tim da drugo i zadnje slovo budu velika slova.

4.    Nakon drugog slova u izrazu RkzpIksk dodati broj (npr. 7)

5.    Prilikom ubacivanja u izraz RkzpIksk riječi kupovina, prije prvog slova staviti zvjezdicu, a posle zadnjeg navodnik.

6.    Koristeći iznad sve navedeno, lozinka izgleda ovako: Rk7zpIk*kUpovinA“sk

7.    Svaka buduća lozinka bi trebalo da koristi ovaj obrazac, sa tim da dodatna riječ bude svaki put drugačija.

Na ovaj način svaki korisnik je u mogućnosti da napravi širok spektar lozinki za korištenje, a da te lozinke budu jedinstvene i teške za pogoditi. Sa druge strane, nakon nekoliko pokušaja svi će se složiti da je teško zapamtiti ovih nekoliko koraka, a vrlo vjerovatno da će asocijacija na dodatnu riječ, naravno, biti zaboravljena. Na sve ovo ako se dodaju i greške u unosu, ova opcija će biti brzo odbačena u potrazi za nečim jednostavnijim.

U situaciji kada korisnik ima čitav arsenal sigurnih lozinki, javlja se problem pamćenja. Pretraživači interneta omogućavaju i nude da sačuvaju lozinke kada prepoznaju formu za prijavu. Nažalost, postoji nekoliko vrlo jednostavnih i besplatnih alata koji mogu da izvuku i prikažu lozinke koje su sačuvane u Internet pretraživačima. Ovdje u pomoć dolaze menadžeri za lozinke, a najbolji su oni koji omogućavaju čuvanje lozinki u oblaku, dajući mogućnost pristupa sa bilo koje lokacije koristeći samo jednu kompleksnu glavnu lozinku. Nedostatak ovog sistema je to što korisnik nema više kontrolu, pa hakovanje davaoca usluge može da ugrozi korisničke lozinke. Za paranoične korisnike ostaje opcija sa menadžerima lozinki koji čuvaju lozinke samo lokalno na uređaju, uz nedostatak stalnog pristupa lozinkama sa svake lokacije.

Sa druge strane, uz sve navedeno i još malo dodatnog korisničkog truda, korisnik može koristiti i verifikacija u dva koraka (two-factor authentication – 2FA). Ova opcija omogućava korisniku dodatnu zaštitu u slučaju hakovanja korisničkog naloga. Ovo podrazumijeva povezivanje korisničkog broja telefona ili drugog naloga elektronske pošte sa korisničkim nalogom koji se želi dodatno zaštiti. Kada se korisnik prijavi na ovako zaštićen nalog, korisniku će biti poslat sigurnosni kod koji mora dodatno unijeti da bi konačno mogao koristiti željeni servis. Napadači su uspjeli pronaći i nedostatak u ovom sistemu zaštite, pa su uspjeli napraviti mehanizam za presretanje verifikacije u dva koraka (2FA) preko SMS poruka koristeći podatke o brojevima telefona i adresama elektronske pošte iz prethodno hakovanih servisa.

Postoji mnogo načina na koje hakeri dolaze do vaših lozinki, ovdje ćemo navesti neke koji se najčešće koriste:

Nasilno probijanje (Brute force) – je jednostavan način po kojem napadač pokušava razene kombinacije lozinki po sistemu greške i uspjeha. Ovaj način napada se usavršio tokom vremena i sada napadači prvo generišu ogromnu listu potencijalnih lozinki, a uz to koriste ogromne baze ukradenih lozinki koje razmjenjuju ili otkupljuju međusobno i tako povećavaju šanse za uspjeh napada.

Popunjavanje kredencijala (Credential Stuffing) – je vrsta napada gdje je napadač došao u posjed ukradenih kredencijala (korisničkog imena, lozinke, elektronske pošte i sl.) na jednom mjestu i sada pokušava automatizovanim napadom da unese te podatke u servise koji bi mogli imati veze sa ukradenim korisničkim kredencijalima. Ovaj napad se oslanja na naviku korisnika da recikliraju lozinke (ponovno korištenje starih lozinki) ili naviku da se jedna lozinka koristi na više korisničkih naloga.

Servisne baze podataka – Ovdje se ne radi samo o tome kako vi čuvate svoje podatke, već kako se drugi brinu o vašoj sigurnosti. Bilo da se radi o davaocu internet usluge (ISP), društvenoj mreži, hotelu, doktoru i slično, svi imaju podatke o vama. Ako neko ima lošu praksu implementacije sigurnosnih zakrpa, ne koristi enkripciju podataka, ne omogućava verifikaciju u dva koraka (2FA), rezultat za vas može biti isti – napadačima je olakšan pristup vašim podacima i vrlo vjerovatno da će doći do njih.

Pecanje (Phishing) – ova vrsta napada podrazumijeva korištenje lažne elektorske pošte ili internet stranica, napravljenih tako da izgledaju kao prava stvar – korištenje pravog teksta, dizajna, loga i ostalih elemenata kako bi vas uspješno prevarili. Ovdje je potrebno da kliknete na link ili unesete svoju lozinku i na taj način svoje podatke predate napadačima.

Javni Wi-Fi – sam naziv kaže da javni Wi-Fi nije privatan. Ova činjenica je poznata i opšte prihvaćena, međutim manje je poznato da napadači mogu da izvrše nadzor javne mreže i da presretnu i analiziraju vašu komunikaciju i tako dođu do vaših kredencijala.

Zlonamjeran softver – napadači u današnje vrijeme koriste razne vrste zlonamjernog softvera. Kada su korisnički kredencijali u pitanju napadači koriste zlonamjerni softver za „iščitavanje“  lozinki iz programskih skladišta na vašem uređaju ili tzv. keylogger zlonamjerni softver koji prati vašu aktivnost unosa na tastaturi, snima i šalje napadaču na analizu.

Slučajnost – List papira sa nazivima servisa koje koristite uz korisnička imena i lozinke, ostavljen kraj računara, zalijepljen na monitor, sakriven ispod tastature, ubačen u rokovnik i sl. – može biti izgubljen ili uzet. Ako ste meta napada, neko će sigurno iskoristiti ovu priliku.
Tehnološka budućnost verifikacije korisnika je neizvjesna. Postoje biometrijska autentifikacija, autentifikacija oka, autentifikacija lica, različite verzije autentifikacije koristeći različite stvari (satove, nakit, tetovaže i sl). Kako god, alternativni pristup povećava cijenu korištenja usluge, jer je potreban dodatni hardver, javlja se problem integracije sa postojećim sistemima i često je komplikovan za upotrebu, dok se lozinke lako kreiraju i potpuno su besplatne. Na vama je da se zaštitite najbolje što možete...

VPN: Sigurno mrežno povezivanje

  VPN - virtual private network VPN je skraćenica engleskih riječi Virtual Private Network , što je naziv za tehnologiju sigurnog mrežnog p...