medvědí služba

Download Medvědí služba

If you can't read please download the document

Upload: michal-spacek

Post on 09-Jan-2017

98 views

Category:

Internet


0 download

TRANSCRIPT

MEDVD SLUBA

Michal paek
www.michalspacek.cz @spazef0rze

O nkolika klasickch webovch tocch, o heslech a uivatelch, kterm obas dvme zaruen rady, kter jejich bezpenost mohou naopak ohrozit. Slajdy obsahuj poznmky, kter v pvodn pednce nejsou. Chudk medvd.

Tohle je Mark. Mark fuje Facebooku. Mark pouval stejn heslo pro LinkedIn, Pinterest i Twitter. Nebute jako Mark a nepouvejte jedno heslo na vce mstech.

LinkedInu v roce 2012 uniklo 167 milion uivatelskch t. Tenkrt si mysleli, e to bylo jen 6,5 milionu, ale o tyi roky pozdji se ukzalo, e ten nik byl o dost vt. Unikl data toti nkdo zaal prodvat a tak se na cel rozsah vlastn pilo. Jestli vae e-mailov adresa nen v njakm veejnm niku si mete zkontrolovat na slub haveibeenpwned.com. Ta tak umouje poslat notifikace, nastavte si je.

Za nik dat z LinkedInu i dalch slueb je dajn odpovdn Jevgenij Nikulin. Toho policie zadrela 5. jna 2016 v Praze.

Zptky k Zuckerbergovi, potkem ervna 2016 se na jeho Twitter tu objevila zprva, e jeho heslo na Twitter a dal sluby bylo v uniklch datech z LinkedInu. Markovo jmnem to tam napsal kdosi s pezdvkou OurMine pot, co balk vech 167 milion t z LinkedInu zaal voln kolovat po Internetu.

0f158e648228a19cab5f23acfd6c36f716a702a9

SHA-1 hash

Markovo heslo natst nebylo v LinkedInu uloeno v iteln podob, ale jako SHA-1 hash 0f158e. Ale vlastn to vbec nepomohlo, jak se dozvme dle.

SQL INJECTION

CENZURA

Data z webovch aplikac se asto doluj pomoc toku SQL Injection. Ten poprv veejn popsal Jeff Forristal v lnku o webovch zranitelnostech Windows NT pro Phrack Magazine ji v roce 1998, tenkrt jet jako bezejmenn tok.

Velmi asto je zmiovna chyba SQL Injection. Ten vypad pesn takto. To znte, ne? Nkte pln pesn takhle, e? Fajn, pro ty, kte jste to nezaili nebo to s radost zapomnli, tak opakovn. SQL Injection spov v prav dotazu odeslanho do databze.

SQL Injection v bnm ivot

Dones z venku

Dones z venku

tok SQL Injection

DEVO

DEVOA KUPV KRMUPIVO

V bnm ivot ten tok vypad takto. Nkdo vs pole ven pro vc, kterou vm nape na paprek (devo). Vy si na ten paprek dopete dal pkaz (kup v krmu pivo) a dom tak donesete krom deva i pivo. Pesn takhle SQL Injection funguje.

tok SQL Injection

www.eshop.cz/hledej?max=400 UNION SELECT kniha, cena FROM knihy WHERE cena < 400
UNION SELECT email, heslo FROM uzivatele

Vlka s mloky300 K
[email protected],m+d198frt
[email protected]

Na webu to funguje podobn. Kdy webov aplikace pole do databze dotaz SELECT s neoetenm uivatelskm vstupem (zde maximln cena 400 K pro vyhledvac filtr), tak je mon pidat pkaz pipoj data z tabulky uivatel a do strnky se tak krom nalezench knih levnjch ne 400 K vyp i uivatelsk jmna a hesla. (Moje heslo zkouet nemuste, je to zbyten, vte mi.)

Pro hledn zranitelnost SQL Injection se pouv mj. program sqlmap. Um zranitelnost detekovat a samozejm i zneut. Je to legln, legitimn (a vborn) nstroj, ale samozejm lze pout i patnm zpsobem, podobn jako nap. sekera. sqlmap byl pouit napklad pi toku na slubu Jabbim.cz v prosinci 2014.

Podailo se nm tedy zskat njak zahashovan hesla a co te s nimi? Jak z hashe 0f158e648228a19cab5f23acfd6c36f716a702a9 zskat heslo? Nejjednodu je zkusit Google. Ten prohledv veejn pstupn pedpotan tabulky hash a jednoduch hesla najdete rovnou na strnce s vsledky. Marku, dadada, vn?

data zaifrovat deifrovat data

data zahashovat otisk

Jak je vlastn rozdl mezi hashovnm a ifrovnm? ifrovn je obousmrn operace, zaifrujeme-li njak data, meme je zase deifrovat a zskat tak pvodn data. Hashovn je pouze jednosmrn funkce, hashovnm vyrobme otisk, ze kterho pvodn data nelze zskat, podobn jako z otisku prstu neudlte lovka.

aaaa zahashovat otisk?
aaab zahashovat otisk?
aaac zahashovat otisk?
aaad zahashovat otisk?
aaae zahashovat otisk?

Lmn zahashovanch hesel probh tak, e generujeme kandidty, zahashujeme je a porovnme, jestli vsledn hash neodpovd njakmu otisku zskanmu z databze. Hashe kandidt meme tak pedpotat a uloit do njak tabulky na pozdj pouit, ale to je jen na takovho domc crackovn, nen to moc efektivn.

First capital last symbol = 56 (0.21%)First capital last number = 2213 (8.35%)

Single digit on the end = 1467 (5.54%)Two digits on the end = 2776 (10.47%)Three digits on the end = 1911 (7.21%)

Crackovn se d razantn urychlit. Dky analzm uniklch hesel ji vme, jak lid hesla nejastji vytv a nen teba generovat takov kandidty, kter stejn skoro nikdo nepouv. Toto je st analzy 25 tisc hesel uniklch z Xzone.cz, podobn vsledky najdeme i v analze 118 tisc hesel ze sluby SkTorrent.eu.

I mj pr let star laptop bez dedikovan grafick karty doke generovat zhruba 20 milion SHA-1 nebo MD5 hash za vteinu. To znamen, e pokud budeme zkouet jen hesla dlouh 8 znak, kter maj prvn psmeno velk, dle 6 malch psmen a na konci slici, tak vygenerovat vechny takov kombinace a spotat z nich MD5 nebo SHA-1 hash bude mmu laptopu trvat piblin dv hodiny.

Ale na laptopech se hesla nelmou. Na to jsou speciln stroje s mnoha vkonnmi grafickmi kartami, kter se pro crackovn pouvaj. Ty maj velmi rychl operace s celmi sly astovky jader, take vpoty lze provdt paraleln. Takov stroje um generovat destky miliard MD5 a SHA-1 hash za vteinu. Stav je Jeremi Gosney ajeho firma Sagitta HPC. Stroj s 8 GPU Nvidia stoj necelch $19000.

Pokud by vm takov brutln vkon nestail, tak Sagitta HPC um vzt vce stroj apostavit z nich tenhle cluster s celkem destkami a stovkami GPU. To se to pak lme. Jeremi a jeho tm samozejm stav i levnj crackovac servery.

Argon2
bcrypt
scrypt
PBKDF2

Na hashovn hesel byste mli pouvat tyto algoritmy. Nejlep je pout Argon2, pokud pro v programovac jazyk ji existuje. V PHP je nap. bcrypt implementovn v pro vvoje jednoduchch funkcch password_hash() a password_verify(). Tyto algoritmy samy o sob podporuj salt a nap. zmnn funkce v PHP jej um isamy vygenerovat, take programtor na salt nemus myslet (a neme ho zkazit).

8 znak
Jedno velk
Jedno slo

Existuje spousta rad, jak si uivatel maj vytvoit bezpen a siln hesla. Jedna takov bn k, e heslo by mlo mt minimln 8 znak, minimln jedno velk psmeno aminimln jedno slo. Takov rada me bt prv tou medvd slubou.

First capital last number
8.35%

Pamatujete na analzu z pedchozch slajd? Pes 8 % uivatel si zvolilo takov heslo, kter zan velkm psmenem a kon slem. Kdy je politika vytven hesel nastaven tak e heslo mus obsahovat velk psmeno a slo, tak to velk psmeno pravdpodobn bude na zatku a to slo na konci. Znan to lmn takovch hesel urychl. Podle poadavk na heslo se d urit, jak hesla uivatel vytvo.

Dobr, tak uivatelm budeme kat, e sv hesla maj pravideln nebo alespo obas zmnit. Rad to banky i sprvce domny CZ.NIC na webu sluby MojeID.

Postupem asu to pak vtinou dopadne tak, e uivatel sv hesla zjednodu natolik, e se stanou pedvdatelnmi. Uivatel i jejich hesla. Tak to ukzal napklad vzkum spolenosti NetSPI.

Fall2014 - 150

Autumn14 - 15

Winter2014 - 87

Winter14 - 63

Password1 - 1,446

Spring2014 - 219

Spring14 - 135

Summer2014 - 474

Summer14 - 221

Pokud uivatel na hesla pouvaj jen hlavu, tak se jim nebude chtt za 90 dn vymlet a pamatovat si dal sloit heslo, tak si to usnadn a tm sn i bezpenost hesel. Kdy na hesla pouvaj njak program, tak pravideln zmna neukod, ale nejsp tak moc nepome. tonk me mt zadn vrtka v systmu, ze kterho hesla zskal, a nebude pro nj problm hesla nebo jejich hashe zskat znovu. Hesla je nejlep mnit a ve chvli, kdy vte nebo mte podezen, e vm heslo njak uniklo, e jste ho zadali do falenho webu, e vm ho nkdo peetl pes rameno, nebo kdy vm provozovatel sluby nape, e mu unikla cel jeho databze hesel.

Krom americkho FTC (Federal Trade Commision) varuje ped nebezpem, kter me pravideln zmna hesel skrvat i britsk vldn agentura GCHQ prostednictvm sv skupiny CESG (Communications-Electronics Security Group).

A co na to chudk uivatel? Jedni mu kaj, e si hesla m pravideln mnit, druz mu kaj, e radji ne. Komu m vit, co si z toho m odnst a co m pro bezpenost svch dat a hesel dlat? To by se z toho jeden zvencnul.

Take uivateli jet doporume, aby zaal pouvat ovovn pomoc SMS. Pi pihlaovn zad svoje heslo, pijde mu na mobil jednorzov kd v SMS, ten ope a je bezpen pihlen. Nebo snad ne?

Mon, dokud si nepete, e by SMS neml na ovovn pihlen pouvat. SMS lze odposlechnout a nedaj se ani povaovat za druh faktor pro ely dvou-faktorov autentizace, protoe telefonn sla se daj unst bez pstupu k telefonu nebo SIM kart, sta vysoulinenrovat zkaznickou linku mobilnho opertora.

Telefonn sla se asto pouvaj i pro reset zapomenutch hesel, to kdy sluba na ono slo zale kd a po jeho opsn je mon nastavit heslo nov. Kdy se nkomu poda unst ne samotn mobil, ne SIM kartu, ale to telefonn slo, tak je pak hrakou resetovat hesla a tm zskat pstup i k dalm slubm.

A e se obalamutit daj i et mobiln opertoi ukazuje Jirka Helmich. Nejmenovan modr opertor mu dal novou SIM kartu, ani by si ho jakkoliv ovil. Natst, nebo mon sp nhodou, ji dal opravdu tomu sprvnmu lovku.

Podvejte se, jak vcelku jednoduch je zskat data od mobilnho opertora nebo rovnou nechat nastavit heslo k cizmu tu. Stailo k tomu pout zvuk placho dtte apr neprstelnch argument a ohe je na stee.

Password manager

http://www.flickr.com/photos/76029035@N02/6829471407/

Uivatel by mli na hesla radji pouvat njakho sprvce hesel. To je program, kter si hesla pamatuje za vs a pomh vm je tak vytvet. Pot si u muste pamatovat jen jedno hlavn heslo, to me bt velmi siln, nebude nutn ho mnit kadch 30 dn a nebudete si takovch hesel muset pamatovat destky.

1Password

KeePass

Pouvn password manager m sice jist rizika, ale ta jsou pod men, ne kdy budete vude pouvat stejn heslo, nebo kdy vae hesla budou pedvdateln. Vrobce sprvc hesel jsou si tchto rizik vdom a sna se proti nim bojovat. S jednm z tchto tech chybu neudlte. Vce v moj pednce o hlav a heslech.

Tyhle 3. 1Password jedno heslo a LastPass to posledn. LastPass je pro prohle zdarma a je online, ale pokud chcete synchronizaci s tlf, piplatit. 1Password je placen, m db jen u vs v PC a s mobilem se sync teba pes Dropbox. Podobn funguje KeePass, ale ten je zdarma a sync si muste zadit sami.

Msto ovovn pihlen pomoc SMS pouvejte radji mobiln aplikace jako nap. Google Authenticator. Ta um tyhle kdy potebn pro 2FA generovat sama bez pipojen kamkoliv. Takto se navc vye i zken aplikace s prvem ten SMS, kter vs mizera njak donutil nainstalovat.

SMS prodlevou nebo bez signlu a tak existuj alternativy, jako teba mobiln aplikace Google Authenticator. Ta um tyhle kdy potebn pro 2FA generovat sama. Tohle je lep, ne SMS, protoe na tlf zken aplikace od mizery, kter SMS tou.

Kdy vm telefon s Authenticatorem odejde, nebo ho ztratte, tak mte smlu aovovn pihlen si budete muset resetovat, pokud to pjde. Radji pouvejte aplikace, kter kdy zlohuj a synchronizuj mezi rznmi zazenmi, jako teba Authy nebo Duo Security. Nebo rovnou njak hardwarov token, nap. YubiKey.

Kdy ztratte telefon s Google Authenticator, tak mte smlu. Lep je proto pouvat aplikace, kter kdy zlohuj a synchronizuj mezi rznmi zazenmi, jako teba Authy nebo Duo Security.

https://example.com/faktura?id=123124125126127128

Insecure Direct Object Reference

tok na webov aplikace je pochopiteln mnohem vce. Dalm mm oblbenm je tok Insecure Direct Object Reference, kter spov v chybjc kontrole oprvnn. Aplikace tak dovol zobrazit napklad faktury, kter pat jinm zkaznkm nebo umon nastavit heslo ostatnm uivatelm zmnou parametru id ve formuli.

Nkte uivatel webu jsou pr jin a tam kde vy vidte formulov polka, oni vid Cross-Site Scripting. Nevm, kter uivatele Lubo K. pesn myslel, kdy ve sv pednce ukazoval tento slajd, nicmn pravdou je, e tok Cross-Site Scripting mm tak rd, ale o tom a nkdy jindy a nkde jinde, teba v moj pednce o XSS.

Michal paek
www.michalspacek.cz @spazef0rze