Categories
eDržava Ekonomija Internet

Zakon o kibernetičkoj sigurnosti (prijedlog)

Prije nekoliko tjedana se (manje-više niotkuda) pojavilo eSavjetovanje o nacrtu prijedloga zakona o kibernetičkoj sigurnosti (inače ta cijela priča između “kiber” i “kibernetički” ima svoj vlastiti tragikomični zaplet koji koliko razumijem proizlazi od jedne jedine, ali iznimno uporne osobe u javnoj upravi). Već sama ta cijela priča oko zakona ima svojih problema, naime prvi zanimljivi problem je da se kao predlagač zakona pojavilo Ministarstvo hrvatskih branitelja.

Ustrojstvo Ministarstva hrvatskih branitelja

Kao što je razvidno iz samog ustrojstva ministarstva, oni se bave isključivo i jedino socijalnim temama (vidi Zakon o ustrojstvu i djelokrugu tijela državne uprave, članak 19.). Dakle imaju doslovno nula kompetencija (ali i ovlasti) da budu predlagač ovog zakona.

Da oni doista pojma nemaju o tome što moraju napraviti, bilo je jasno još prilikom savjetovanja oko obrasca prethodne procjene za zakon o kibernetičkoj sigurnosti. U tom obrascu je nepoznati i neupućeni netko napravio niz pogrešnih konstatacija i zaključaka. Na obrascu sam osobno dao dva komentara. Prvi se odnosio na koncentraciju aktivnosti u SOA-i koja nije kadrovski niti tehnički opremljena da se bavi nadzorom primjene kibernetičke sigurnosti, ali, puno bitnije, SOA nema niti mentalitet i razinu transparentnosti i demokratičnosti koja je nužna da se bavi ovim poslom. Drugi komentar se odnosio na totalno promašenu procjenu utjecaja zakona na ekonomiju i društvo. Oba komentara su odbijena bez ijednog suvislog argumenta (actually, nisu ni pokušali dati protuargumente nego su samo napravili copy&paste općih fraza i ničime utemeljenih dogmi iz nekog dokumenta i to je to, urbi et orbi).

Općenito gledano, eSavjetovanja su formalnost koja se prolazi kako bi se stavila kvačica na nekom obrascu. Birokrat s druge strane žice nema niti najmanjeg interesa usavršiti tekst (a vjerojatno ni intelektualnog kapaciteta da razumije posljedice zakonskog prijedloga), odgovornosti za kvalitetu zakonskog teksta ionako nema, totalno je nebitno inzistirati na odgovornosti trećeg ešalona, jer kada Zekanovići dignu ruku u saboru, to je to – izabrani predstavnici naroda su odlučili. Svejedno, smatram da je nužno napisati svoje komentare, ako ništa drugo onda zato da oni ostanu kao spomenik gluposti, ograničenosti i slabovidnosti javne uprave (na čelu s ministrom koji to potpisuje i predsjednikom vlade koji u normalnim zemljama actually odgovara za posljedice svojih postupaka).

I da se vratimo na aktualni prijedlog nacrta zakona, on je također krajnje problematičan iz jednostavnog razloga što i dalje ne znamo tko ga je pisao, jedino što je sigurno da ga nisu pisali u ministarstvu branitelja. Zakonska je obveza javno objaviti članove radne skupine, što smo nedavno naučili na primjeru zakona koji će regulirati agencije za naplatu potraživanja (stvarni pisci ovog zakona su vjerojatno pokopani negdje u izvještaju Nacionalnog vijeća za kibernetičku sigurnost, a koji je bio 18. točka vladine 203. sjednice, na posljednjoj stranici izvješća imate i članove pa uzmite veliko povećalo i probajte pronaći u tom vijeću ljude koji svojom biografijom barem donekle jamče da razumiju dokument kojeg su potpisali).

Na sreću, veliki dio zakonskog prijedloga je prevedeni tekst europske NIS2 direktive (NIS = Network and Information Systems), a koja je nastala kao prirodna ekstenzija prethodne NIS direktive, što barem dijelom jamči da je tekst barem donekle smislen. No, kao i uvijek, vrag je u detaljima, pa tako sakrivene motive moramo tražiti u razlikama između direktive i zakonskog teksta.

Proširenje opsega NIS na NIS2 direktivu.

Moja prva primjedba na tekst nacrta je u biti istovjetna kao i na početku, iz razloga koji je nejasan, uloga Nacionalnog centra za kibernetičku sigurnost (CSIRT) dodijeljena je i koncetrirana u Sigurnosno obavještajnoj agenciji. Smatram da je to nespojivo s ulogom SOA-e, budući da je riječ o organizaciji koja se bavi obavještajnim poslom i prikupljanjem podataka. Aktivnosti SOA-e su po svojoj prirodi tajni, te SOA sama po sebi nema propisanu transparentnost niti mi možemo znati što se događa s podacima koje SOA prikupi u okviru svojeg djelovanja. Ovaj zakon CSIRT smješta unutar SOA-e (ok, zakon ima predviđen i još jedan CSIRT i to onaj koji je unutar CERT-a), a CSIRT ima zakonsku ovlast implementirati unutar računalne mreže subjekta vlastite uređaje i mehanizme temeljem kojih ima pravo pristupa resursima i prometu koji se događaju na internim mrežama i sustavima subjekta koji je predmet nadzora.

Za razliku od klasičnog obavještajnog ili obrambenog djelovanja u kojima je tajnog očekivana i poželjna, meni se nekako čini da je pitanju kibernetičke sigurnosti potrebno pristupati s puno otvorenijih i transparentnih pozicija budući da je veliki dio kibernetičke sigurnosti razvijanje svijesti i razumijevanja prijetnje (kao što pristupamo recimo, sorry na gruboj i daleko pojednostavljenoj usporedbi, sa sigurnosti u prometu), a daleko manje sastančenje po tamnim sobama u kojima se ne vode zapisnici i donose odluke koje se kasnije niti obrazlažu niti ih je moguće preispitati. SOA nije niti će ikada biti autoritet po pitanju kibernetičke sigurnosti, oni jednostavno nemaju niti će ikada imati resurse (tehničke, ljudske) koji im mogu osigurati takvu poziciju iz jednostavnog razloga što se rizici događaju u iznimno disperziranom javnom i privatnom sektoru, koji su daleko proaktivniji i neusporedivo bolje financirani u privlačenju kadrova, nabavci tehničkih rješenja pa čak i identificiranju prijetnji. Iz svih tih razloga, nacionalni centar za kibernetičku sigurnost bi (opet, prema moje mišljenju), svojim ustrojem više morao ličiti na dobro organiziranu interesnu udrugu poput HUP-a ili regulatornu agenciju poput HAKOM-a (koja, uzgred rečeno, mi se čini daleko opremljenijom i prikladnijim izborom od SOA-e). I ako vam ništa od ovih argumenata ne sjeda, samo da napomenem kako se krovna organizacija koja koordinira nacionalne CSIRT-ove na razini EU zove ENISA, i riječ je naravno o 100% civilnoj agenciji.

Sve to skupa naravno ne znači da obrambeni aparatus ne treba biti duboko uključen u razvoj kibernetičke sigurnosti, nego samo da je priroda kibernetičkih prijetnji jednostavno bitno drugačija od svega čime se obrambeni sustav do sada susretao.

Ovakvim rješenjem, SOA kao obavještajna agencija se postavlja u ulogu regulatora što je jednostavno nespojivo s njihovom “core” djelatnošću i u direktnoj kontradiktornosti s potrebom transparentnosti i suradnje svih aktera, a kako bi se postigao cilj – u konkretnom slučaju, povećana razina opće kibernetičke sigurnosti.

Tricky part je u tome što se o tome koji subjekti ulaze u nadzor odlučuje putem mjerila koje se propisuju uredbom vlade, a na prijedlog tog istog CSIRT-a. Što, otprilike znači da subjekt nad kojim SOA ima nekakav interes, se može lagano proglasiti ključnim odnosno važnim subjektom i odjednom ste dužni instalirati poslovnicu SOA-e usred svojeg ureda (članci 12, 24, 27 i 51 zakona). Mišljenja sam da mjerila po kojem se javni ili privatni subjekti klasificiraju kao kritični ili važni, moraju nastati u jasnijem i transparentnijem procesu i da se ne smijemo zadovoljiti ovom definicijom, jer ona omogućava da se kroz podzakonske akte nametne daleko nedemokratskiji standard od ovoga koji je zakonom predviđen.

Teško mi je uopće opisati moje protivljenje ideji da CSIRT bude unutar SOA-e, jer je to suprotno cijelom nizu malo krupnijih koncepata poput slobode, demokracije i prava da ne budete nadzirani (a što će se sada i dogoditi).

Članak 28. zakona govori o “određenim IKT proizvodima, IKT uslugama i IKT procesima te upravljanim sigurnosnim uslugama, koje su certificirane na temelju europskih programa kibernetičke sigurnosne certifikacije ili nacionalnih shema kibernetičke sigurnosne certifikacije, ako je takva obveza propisana” – iz ovoga proizlazi da je za određene subjekte moguće propisati koje proizvode, usluge i procese smiju koristiti (ili bolje rečeno koje ne smiju koristiti). Ovaj dio je u biti nastavak priče o kojoj sam pisao još prošle godine u tekstovima Rat čipovima i Rat čipovima II. Postoji veliki pritisak na Kinu koji se uglavnom svodi na računalnu i 5G opremu a koja, teoretski (kao uostalom i svaka druga oprema) može u nekome času otkazati poslušnost. Administrativno-političko odlučivanje o tome što jest, a što nije prihvatljiva ICT oprema je vrlo tanki led sa svojim posljedicama (primjerice DB kaže da će im trebati 400mil EUR da zamijene “problematičnu” opremu, dok se zamjena 5G u primjerice Velikoj Britaniji mjeri u milijardama dolara, progooglajte ima brdo tekstova na tu temu). Mnoge zemlje ovom problemu pristupaju s “zero trust” načela, te se ne odlučuje o proizvođačima ili zemlji porijekla opreme, nego o pojedinačnim komadima opreme ili softvera koji jesu ili nisu pouzdani. U ovom konkretnom članku zakona, osobito je problematični dio “ili nacionalnih shema kibernetičke certifikacije” iz čega proizlazi da možemo odlučiti o razini standarda koja je “stroža” (čitaj “drugačija”) od Europske a o čemu će odlučivati neko nepoznato domaće tijelo (a za kojeg apriori moramo vjerovati da je jednako stručno ili stručnije od EU tijela, haha :). Osim toga, tu je pitanje čak i ako odlučimo da neku opremu moramo baciti van, tko će pokriti trošak te zamjene, jer se kod nekih subjekata (telekoma) taj trošak može lagano popesti u desetke ako ne i stotine milijuna eura.

Zanimljivo, člankom 29. propisana je obveza edukacije odgovornih osoba (zanimljiva formulacija, vjerujem da ima vladajućima bliskih učilišta koja pripremaju kurikulume kako bi pokrili ovu regulatornu priliku).

In other regulatory news, CSIRT ima pravo neograničenog pristupa i prema nacionalnom TLD registraru (što je kod nas Carnet), a Carnet spada u obrazovni sektor. U popisu drugih kritičnih sektora navode se i istraživanje i sustav obrazovanja, što su vertikale koje nisu sastavni dio NIS2 direktive pa u ovome dijelu definitivno soliramo u odnosu na ostatak Europe (istina je, sektor obrazovanja je opcionalan). Osobito je zanimljivo da se CERT kao nadležni CSIRT pojavljuje samo u sektorima istraživanja, obrazovanja ali i bankarstva i infrastrukture financijskoj tržišta, pa se čovjek zapita kako je došlo do točno ovakve podjele? Very strange.

I posljednja zanimljiva obzervacija na prijedlog zakona je ta što u originalnoj NIS2 direktivi imate propisano na koja se tijela ovaj zakon ne odnosi, konkretnije:

Ova se Direktiva ne primjenjuje na subjekte javne uprave koji obavljaju svoje aktivnosti u području nacionalne sigurnosti, javne sigurnosti, obrane ili izvršavanja zakonodavstva, uključujući sprečavanje, istragu, otkrivanje i progon kaznenih djela.

Članak 2. točka 7. direktive

Koliko vidim, naš zakon nema takve izuzetke, i možda bi se članak 8. mogao dijelom primijeniti na gore navedeni dio direktive. Ali, kako ja to vidim (jer imam puno loših iskustava s time), ovime recimo omogućavamo SOA-i da odluči “štititi” DORH/USKOK pa možda u pozadini malo dojavljuju životno zainteresiranim članovima vladajuće koalicije o postupcima u tijeku (ali nema brige, naša SOA je profesionalna i skroz depolitizirana organizacija).

Drugi bitni aspekt cijelog zakona je trošak, naime broj subjekata koji će biti zahvaćeni kao obveznici ovog zakona će dramatično narasti u odnosu na prethodni zakon, bio sam u nekom trenutku naletio na tekst (kojeg nisam bookmarkirao na vrijeme) koji je rekao da je u Češkoj broj subjekata s 400 narastao na 6.000, što je povećanje od 12x. Češka je svojim ustrojem slična nama i top 6.000 subjekata čine polovicu naše ekonomije; dakle efekti implementacije NIS2 će biti ogromni (ENISA je objavila zanimljivo istraživanje na tu temu prepuno korisnih podataka).

Potrošnja na kibernetičku sigurnost kao udio ukupnog IT budžeta. (Izvor: ENISA 2022)

Ernst&Young je početkom godine napravio dobar white paper na temu NIS2 (dokument možete, uz besplatnu registraciju, skinuti ovdje), i oni između ostalog kažu kako nove vertikale koje će postati obveznici NIS2 implementacije, mogu očekivati rast potrošnje na ICT sustave od 25% (u odnosu na dosadašnje ICT budžete), dok organizacije koje su već sada unutar NIS sustava mogu očekivati 11.4% rasta potrošnje. Kao što se vidi iz gornje mape, mi stojimo jako loše i najgori smo u EU u postotku potrošnje na kibernetičku sigurnost – dobra vijest u tome je da smo kao meta maleni i insignifikantni (iako smo imali u proteklih nekoliko godina niz značajnih sigurnosnih incidenata ovog tipa i u privatnom i u javnom sektoru), ali isto tako mali napor će dramatično utjecati na opću razinu informatičke sigurnosti. Tu vrijedi spomenuti, itekako relevantno za ovaj tekst, kako se SOA hvali u svojem godišnjem izvješću kako će za IT security potrošiti 1.7mil eur u sljedeće tri godine, nije da je to jedini trošak ali sama činjenica da se hvale time govori o odsustvu imalo spomena vrijednih rezultata na drugim poljima.

Tekst se već pomalo odužio, no moj je prijedlog, ako se u IT security businessu da bacite pogled na prijedlog zakona i date koji komentar ako mislite da je potreban. Također, ako ste u srednjoj ili velikoj tvrtci, sva je šansa da će vas NIS2 zahvatiti i dobro je informirati se i početi pripremati (sebe i budžete) za sve ono što dolazi. Zakon o kibernetičkoj sigurnosti će po svemu sudeći biti izglasan do početka sljedeće godine i to vrijeme će brzo proći (čak je i zanimljiva ta brzina, rokovi za harmonizaciju s EU direktivom su listopad sljedeće godine, mi inače poslovično kasnimo no ovdje smo iz nekog razloga ispred drugih, pitam se zašto).

Misao dana:
We’re not hunter-gatherers anymore. We’re all living like patients in the intensive care unit of a hospital. What keeps us alive isn’t bravery, or athleticism, or any of those other skills that were valuable in a caveman society. It’s our ability to master complex technological skills. It is our ability to be nerds. We need to breed nerds.

Categories
Edukacija i školstvo Internet

Praćenje kvalitete zraka

Prije nekoliko godina sam otkrio kako sam odjednom postao osjetljiv na pelud, najviše reagiram na ljetnu/jesensku sezonu ambrozije koju više ne mogu preživjeti bez redovitog uzimanja lijekova (a povremeno i kortikosteroida u doista lošim danima). Osjetim i ove proljetne peludne groznice (peckanje u očima, smetnje u disanju) ali to mogu prebroditi bez lijekova.

Prirodno je onda da pokušavam kontrolirati svoju okolinu kako bih na razne načine ublažio utjecaje prašine i peludi, pa je tokom vremena nastao cijeli niz raznih mehanizama praćenja kvalitete zraka oko mene.

Većinu svog vremena provodim u uredu pa je puno toga koncentrirano u uredu. Mjerenje sam krenuo raditi uz pomoć Netatmo uređaja koji je zgodan jer mjeri niz elemenata bitnih za kvalitetu zraka u uredu, od kojih je svakako najbitnije mjerenje koncentracije CO2 u prostoru.

Koncentracija CO2 tijekom ožujka 2022.

Mjerenje CO2 je bitno jer izloženost prevelikim količinama CO2 dovodi do zamora i glavobolja, ali puno bitnije, ako se nalazite u okolini s više od 800ppm-a CO2, tada je narušena vaša sposobnost donošenja odluka (skoro kao da ste pijani tj. pod utjecajem alkohola).

Netatmo, iako brine o mnogo toga vrlo malo kaže o količini nečistoća u zraku pa sam da bih to pokušao riješiti, nabavio Xiaomi Air Purifier Pro. Ovaj pročistač koristi laserski senzor koji mjeri onečišćenja u rangu od 2.5 mikrometara (a koji su najveći izvor problema za disanje) i ovisno o očitanju pokreće filter koji potom filtrira zrak u svojoj okolici. Da bih imao kakav-takav pregled što se događa sa zrakom, kupio sam prošle godine i Ikea Vindriktning senzor, to je vrlo jeftini senzor koji pak koristi IR svjetlo za mjerenje kvalitete zraka (to znači da je za red veličine neprecizniji). Ovaj senzor je zanimljiv zato što na sebi ima mali semafor (zeleno, narančasto i crveno) pa možete lagano vidjeti koja je kvaliteta zraka (iako možda nije najpreciznije izmjerena). Slični semafor ima i Netatmo ali se odnosi samo na koncentraciju CO2 u prostoru.

Xiaomi Air Purifier Pro dashboard (u mojoj Android aplikaciji).

Ovo se naravno sve odnosi na kvalitetu zraka u samom uredu, no nečistoće dolaze izvana i tu u biti dolazimo do razloga zašto pišem ovaj tekst. Ako se sjećate, tijekom studenog prošle godine imali smo u nekoliko dana niz tekstova koji su govorili o tome kako je Zagreb najzagađeniji grad na svijetu. Problem imamo i s kriterijima što je točno zagađeni zrak, jer kao i u mnogim drugim situacijama postoji niz standarda. Na internetu ćete najčešće pronaći reference na AQI – Air Quality Index što je američka mjera kvalitete zraka, dok bi mi trebali mjeriti po EU AQI indexu (koji je vrlo sličan, razlikuju se u periodima uzorkovanja). U AQI indexu se mjeri štošta, poput ugljik monoksida, ozona, sumpora, NOx, olova i 2.5 i 10 mikrona čestica. Čestice od 10 mikrona se odnose na peludi i prašinu, dok ove od 2.5 se odnose na kemijske spojeve (a manje od 1 mikrona na bakterije i viruse). Jedan od problema s indeksom kvalitete zraka je i nedovoljan broj postaja koje mjere kvalitetu ili mjere samo dijelove indeksa. Ima dosta izvora za kvalitetu zraka, poput Hidrometeorološkog zavoda, Ministarstvo gospodarstva, a postoje i “amaterske” postaje poput one moju je postavio Možemo!.

Jedan od većih svjetskih kontributora je i IQAir, tako da ako imate neku od njihovih stanica za mjerenje kvalitete zraka onda možete odabrati da se podaci izmjereni na vašoj postaji (a riječ je o poluprofesionalnoj opremi) može dijeliti s ostalima. Nakon serije članaka o lošem zraku u Zagrebu, moj prijatelj Nikola Vrdoljak (iz Agencije 404) je bio u kontaktu s ekipom iz IQAir-a te su oni, kako nema dovoljno postaja u Zagrebu donirali nekoliko komada njihovih postaja kako bi ih postavili (veliko hvala IQAir-u). Jedna od njih se nalazi od nedavno i na zidu mog ureda i počela je “dijeliti” svoje podatke sa svijetom, pa tako mjerenja ulaze u svjetsku statistiku. Konkretnije, postavili smo IQAir AirVisual Outdoor stanicu, a koja je opremljena modulima za mjerenje temperature, vlažnosti, pritiska zraka, te mjerenju 10, 2.5 i 1 mikron čestica u zraku.

Dashboard moje IQAir stanice na dan pisanja teksta.

Rezultati moje stanice koja je non-stop spojena na internet tako postaju dio svjetske statistike, te su uključeni u razmjenu podataka o mjerenju kvalitete zraka u gradu Zagrebu. Ako želite promatrati što se točno događa na mojoj stanici (a koja je locirana otprilike pored raskršća Donjih Svetica i Vukovarske), to možete u bilo kojem času pogledati ovdje. Moj dashboard (vidi sliku gore) je puno detaljniji od ovog javnog, no podaci se i dalje slijevaju gdje trebaju. Kroz praćenje mjerenja posljednjih dana, uočavam da je koncentracija čestica od 10 mikrona kontinuirano u zelenom, dok se koncentracije manjih čestica često dižu iznad optimalnih vrijednosti. IQAir prikuplja podatke iz raznih izvora, ali i dijeli podatke s ostalima pa tako možete dobiti i API ključeve kako bi se zakvačili na njihov API servis i direktno preuzimali željene podatke.

Još jedan dashboard, koji pokazuje ažurne rezultate mjerenja.

p.s. ovo nije sponzorirani tekst nego moj mali pokušaj da bacite pogled na kvalitetu zraka i da pročitate ovih nekoliko linkova koji se odnose na mjerenja, bitne parametre kvalitete i da (koliko to možete) pokušate utjecati na to da boravite u zdravom prostoru i znate što možete očekivati od dugotrajne izloženosti lošem zraku

Misao dana:
People today have forgotten they’re really just a part of nature. Yet, they destroy the nature on which our lives depend. They always think they can make something better. Especially scientists. They may be smart, but most don’t understand the heart of nature. They only invent things that, in the end, make people unhappy. Yet they’re so proud of their inventions. What’s worse, most people are, too. They view them as if they were miracles. They worship them. They don’t know it, but they’re losing nature. They don’t see that they’re going to perish. The most important things for human beings are clean air and clean water.

Categories
Edukacija i školstvo Internet

Računalna sigurnost, kratki vodič (I dio)

Sažetak bloga (dolje piše kako i zašto): što prije svoje korisničke prebacite na 2FA/MFA autentikaciju, a passwordi trebaju imati minimalno 12 (optimalno 14 i više znakova). Te dvije aktivnosti će vam umanjiti šansu kompromitacije korisničkog računa za +99%.

Ovaj blog je dopunjen 19. kolovoza 2022., osvježena je ilustracija s vremenom potrebnim za “razbijanje passworda” (stara slika je ostala usporedbe radi). Te je dodan link na službene Microsoftove preporuke za passworde.

Posljednjih dana, a potaknuti aktualnim događanjima, puno se razgovaralo o računalnoj sigurnosti. Često govorim o istim ili sličnim temama, pa sam krenuo pisati ovaj vodič čiji je cilj da malo bolje razumijete protiv kakvih prijetnji se borite ali i da dobijete ideju kako umanjiti ili u cijelosti izbjeći neke od tih opasnosti. Cijelo polje računalne sigurnosti je iznimno veliko, široko i komplicirano, te jednostavno nije realno obuhvatiti sve u jednom tekstu. Svrha ovog posta je da opišem nekoliko osnovnih problema i ponudim rješenja koja bi trebala dramatično povećati razinu vaše računalne sigurnosti (po Pareto principu, 20% aktivnosti će riješiti 80% mogućih problema). Za vas koji ste malo stručniji, odmah da napomenem kako je dio teksta, čitljivosti i opće razumljivosti radi, generaliziran i pojednostavljen. Također, sva je šansa da ćete na internetu ili od prijatelja i kolega dobiti pitanja “tko vam je to rekao?” pa ću pokušati objasniti razloge pojedinih taktika, kao i razloge zašto neke druge taktike nisu nužno bolje ili čak ispravne (a s čime se možete i ne morate složiti, no ako razmislite o njima već smo napravili pomak).

Ideja je ovaj vodič napraviti u više dijelova i u prvome dijelu se bavim samo zaštitom korisničkih računa (samo i jedino time). Kako drugi dijelovi budu dostupni, na ovome mjestu će se nalaziti linkovi na njih.

Korisnički računi

U današnje doba, suma vaših online korisničkih računa i interakcija putem društvenih mreža stvara vaš digitalni identitet koji je sve češće važan ili čak kritični element funkcioniranja u društvu. Ako vam netko preotme vaše korisničke račune na društvenim mrežama (Facebook, Instagram, Twitter, Linkedin, YouTube) i email servisima (Gmail, Outlook, Yahoo i dr.). osim što može naučiti sve ili puno toga o vama, u mogućnosti je analizirati mrežu vaših poznanstava, promotriti vaše interakcije, vjerojatno će pronaći i niz korisničkih računa u raznim web dućanima, forumima i cijelom nizu drugih web servisa koje koristite a koji se potom mogu eksploatirati.

U praksi, korisnički računi najčešće imaju hijerarhiju (koje možda niste ni svjesni), a koja se svodi na to da svi servisi koji su gore nabrojani, prije ili kasnije vode do vašeg email računa (bio to vaš privatni email račun ili poslovni). Na mnogim servisima će vaša email adresa biti ime korisničkog računa, dok će neki servisi koristiti vaše email sustav (gmail) ili društvene mreže (facebook) kao login podatke. Poanta je u tome da je vaša email adresa centar/ishodište vašeg digitalnog/virtualnog identiteta i najosjetljiviji korisnički račun kojeg treba štititi koliko je god to moguće, potom dolaze sekundarni servisi koji vas čine vidljivima na internetu (društvene mreže), te naravno svi onu servisu kroz koji obavljate različite financijske i druge transakcije (web dućani, zdrastvene ustanove, eGrađani i slično).

Da bi dobro zaštitili email račun, potrebno je uvijek odabrati dobar i jedinstveni password (šifru, zaporku). Oko toga kakav password treba odabrati ima puno diskusija, ali recimo da sigurnost passworda ovisi o njegovoj dužini i fondu znakova koji se koristi. Password može imati samo slova, slova i brojeve, slova i posebne znakove (+-*,.}[~*). Svaki dodatak u passwordu za red veličine diže kompleksnost zadatka “pogađanja” passworda, a isto vrijedi i za svaki dodatni znak u passwordu. Neki servisi i neke organizacije uvjetuju obaveznu promjenu passworda nakon isteka nekog vremenskog periodadanas se ta praksa smatra pogrešnom jer neminovno vodi do pojednostavljenih passworda, učestalog ponavljanja ili kreiranja varijacija na osnovnu temu, a zbog čestih promjena nerijetko budu i zapisani na nekom očiglednom mjestu.

Generalno gledano, konsenzus je da sigurni password danas ima 14 ili više znakova, te se sastoji od kombinacija malih i velikih slova, brojeva i/ili posebnih znakova. Sigurni password možete kreirati na puno načina, jedan od njih je da ga generirate u nekom password generatoru. Problem s računalno generiranim passwordima je da su oni najčešće “lagani” računalo za pogađati (jer računalo inkrementalno mijenja znak po znak dok ne dođe do “pobjedničke” kombinacije), a istovremeno iznimno teški ljudima za zapamtiti (pa se onda ti passwordi zapisuju po postitima, rokovnicima ili u drugim digitalnim dokumentima i bilješkama).

Koliko treba računalu/softwareu iz 2021. godine da “razbije” password.
Koliko treba za razbijanje passworda u 2022. godini (uočite razliku!!!)

Kako bi se tome doskočilo, postoje i aplikacije koje su namijenjene generiranju i čuvanju passworda – tzv. password manageri. To su najčešće aplikacije na vašem mobilnom telefonu koje otvarate nekim pinom ili sličnom shemom i koje za svaki korisnički račun imaju zapisan password. Treba reći da oni značajno pojednostavljuju priču, ali isto tako ovisite o tome da je uređaj s aplikacijom uvijek pored vas (da nije npr. ukraden). A treba znati da su neki od password managera u prošlosti bili uspješno hakirani i mnogi ili svi passwordi koji su tamo pospremljeni su odjednom postali dostupni hakerima (u hashiranom obliku, o čemu malo kasnije).

Treća i vrlo efikasna moguća taktika jest da kao password koristite neku vama lako pamtljivu rečenicu (rečenicu iz omiljene knjige, stih pjesme ili nešto slično), a kojeg “začinite” nekim slučajnim velikim slovom (usred riječi), interpunkcijom, brojem ili nekim posebnim znakom. Npr. password koji glasi “IvicaimAricasuseizGubili+1” lagano je pamtljiv i sastoji se od 26 znakova što ga čini iznimno sigurnim.

Svejedno, neovisno o tome koliko god sigurni password imali, to nije uvijek dovoljno. U praksi, neće se dogoditi da će haker pogađati vaš password pokušavajući se ulogirati u vaš email račun, nego će umjesto toga hakirati neki web servis i pokušati downloadati tablicu iz baze podataka u kojoj se nalazi vaše korisničko ime i/ili email adresa te password. To također znači da imate vrlo malo utjecaja na sigurnost svojeg vlastitog korisničkog računa jer će se proboj dogoditi negdje drugdje.

Vi nemate stvarnu kontrolu niti znate kako je vaš password pohranjen na nekom web servisu, no mogu objasniti kako to (najčešće) funkcionira. Aplikacije uopće neće bilježiti vaš password u svoju bazu podataka, nego će umjesto toga zapisati hash vrijednost vašeg passworda (ako vam prilikom pokušaja resetiranja passworda servis pošalje emailom vaš aktualni password, to znači da password zapisuju kao nezaštićeno tekstualno polje i bježite od tog servisa koliko god daleko možete).

Hashiranje je jednosmjerni matematički postupak koji će iz polja (u našem slučaju password) bilo koje dužine izračunati “hash” vrijednost uvijek iste veličine, a koji je jedinstven za upravo to polje znakova. Kažemo da postupak nije reverzibilan na isti način kao što iz mljevenog mesa ne možete natrag napraviti biftek (kada bi postupak bio reverzibilan onda ne bi govorili o hashiranju nego o enkriptiranju vaših podataka).

Programer vašeg hakiranog web servisa ima mnogo opcija, no na današnji dan, najbolja praksa zapisivanja passworda u baze uključuje hash funkciju (postoje mnogobrojne, danas je najčešća SHA256, prije je to bila SHA1 ili MD5), a koja je začinjena sa “solju” (engl. salt). Salt je “začin”, najčešće sasvim slučajni slijed znakova koji je jedinstven samo vašem korisničkom računu, a koji se pridoda vašem passwordu (na početku ili kraju) kako bi se dodatno zakomplicirala hash vrijednost. Ako se baš želi otežati situacija, onda primjerice hash funkciju provrtite npr. tisuću puta (zato da kalkulacija duže traje).

U praksi to znači da ako imate password “mračniblog” MD5 hash vrijednost glasi “d66b9eb45c0a19fa5171fffe432ddec4”, ali ako to izvrtimo stotinu puta onda je rezultat “0adcac5a56774665e22cadd4941d3c0a”. Ako na password dodamo “+salt” tada će vrijednost biti “12c148ece5e82c6ae0c26ef93688efae”, a ako protjeramo takav začinjeni password stotinu puta dobijemo “1fd2d3a475aa90454c0668d49a2135a0”. Sve ovo i sami možete provjeriti na nekom od online hash generatora. Poanta, soljenja hasha je u tome da se čak i malenom razlikom u polju kojeg hashiramo, finalni rezultat drastično razlikuje – što se vidi iz gornjeg primjera.

Na web stranici Have I Been Pwned možete upisati svoje email adrese koje koristite, kao odgovor dobiti ćete popis curenja podataka u kojima se one spominju. Ovisno o tipu proboja, vjerojatno se u njima negdje nalazi i hash vrijednost passworda kojeg ste tada koristili. To još uvijek ne znači da je vaš password kompromitiran. Ako se hash vašeg passworda nalazi u nekoj od tzv. rainbow tablica tada će haker usporediti i pokušati pronaći hash vašeg passworda i passworda koji se nalaze u rainbow tablicama i ako postoji podudaranje to znači da je vaš password kompromitiran i svima dostupan. Zato je “salt” bitan jer on dodaje razinu kompleksnosti na svaki hash i uobičajene rainbow tablice tu neće pomoći, pa se umjesto toga, ako ste doista osoba od interesa, pokušava napraviti brute force koji pokušava napraviti hash od svih mogućih permutacija ili dictionary attack koji pak koristi riječnik već poznatih passworda. Ovdje dolazi do izražaja i programer aplikacije, jer ako je proces hashiranja napravljen 100x uzastopce tada će svaka operacija trajati stotinu puta duže (i toliko je manja šansa da password bude otkriven). Moderno računalo može kreirati milijune hasheva u sekundi, a ako za hashiranje koristite grafičku karticu tada možemo govoriti o desetinama ili stotinama milijuna kalkulacija u sekundi.

Možete se zaštititi dobrim passwordom (i gore je navedeno kakav bi password trebao biti), no password sam po sebi nije uvijek dovoljan i potrebno je podići razinu sigurnosti za još jednu razinu. Kako bi to postigli, koristi se princip višestruke autentikacije ili najčešće korišten 2FA. 2 (two) Factor Autentikacija koristi vrlo jednostavno načelo koje kaže da za uspješnu autorizaciju morate imati dva elementa: nešto što znate i nešto što posjedujete – i ovo je srž svake dobro implementirane sigurnosne politike. Banke vam vjeruju s milijunskim transakcijama preko interneta zato što ste prilikom prijave servisu napisali nešto što znate (PIN ili password) i zato što imate neki fizički predmet koji je jedinstven i kojeg nije moguće kopirati (bankovnu karticu, USB s certifikatom, token uređaj ili nešto treće).

Prijedlog je dakle da na svim imalo kritičnim korisničkim računima aktivirate 2FA autentikaciju, jer ako haker i posjeduje vaše korisničko ime i password, to mu i dalje neće biti dovoljno da izvrši uspješnu autentikaciju i preuzme kontrolu nad servisom (email računom, društvenom mrežom ili web dućanom). Ovo osobito vrijedi ako ste administrator nekog servisa u kojem se nalaze podaci o većem broju korisnika (gdje je veći broj korisnika svaka brojka koja je jednaka ili veća broju 2).

Gotovo svi moderni servisi posjeduju 2FA način autentikacije i smatram da u današnje doba, ako naletite na neki servis koji to ne podržava, morate ozbiljno razmisliti želite li s njima poslovati. Na internetu ima više imenika sa servisima koji podržavaju 2FA, a ovo je jedan od onih koje ja (ponekad) koristim.

Čisto da bude jasno, ima puno različitih nijansi 2FA autentikacije i iako svaka od njih je bolja od toga da nemate uključen 2FA, činjenica je da su neka od rješenja manje ili više podložna proboju (ali opet, u redovima veličina je to teže nego da zlonamjernici imaju samo vaše korisničko ime i password).

Najjednostavnija i vrlo česta forma 2FA autentikacija je autentikacija putem SMS-a. To otprilike znači da ste morali autorizirati prilikom prve prijave i svoj broj mobilnog telefona, a u času kada se pokušate ponovno ulogirati u servis, vlasnik servisa će vam nakon što ste uspješno upisali korisničko ime i password, na broj vašeg mobitela poslati jednokratnu šifru tzv. OTP (najčešće šesteroznamenkasti broj). Problem sa SMS porukama je što one nisu apsolutno sigurne jer se SMS poruka može presresti, a SIM kartica klonirati.

One Time Password je moguće generirati i putem aplikacija za autentikaciju (npr. Google ili Microsoft Authenticator, makar postoje i druga rješenja) a koje onda možete koristiti da pospremi sve korisničke račune koji mogu koristiti 2FA. Ovo je nešto sigurnija metoda od SMS-a, jer nema razmjene podataka putem interneta ili GSM mreže, no i ovdje postoji šansa kompromitacije ako je vaš mobilni uređaj zaražen nekim virusom/trojanom a koji može u pozadini pokretati aplikacije i čitati odgovore koje aplikacija daje. Fizička ekstenzija OTP autentikacije su tokeni, njih najčešće koriste banke i financijske institucije, a ponekad se koriste i kao element ulogiravanja u računala (inače, jedna od poznatijih kompromitacija token sustava je onaj kada je bio hakiran RSA).

Obitelj Yubico ključeva.

Ultimativno rješenje za sigurnost je korištenje security ključeva poput onih koje prodaje Yubico ili Hypersecu (ja koristim). Ovdje je riječ o minijaturnim računalima koja su zalivena u blok plastike i koje spajate na računalo/mobilni telefon putem USB porta (ok, postoje i NFC verzije, ali shema je ista). U trenutku autentikacije, ključ mora biti u USB portu i na traženje vaše web aplikacije morate kliknuti fizički gumbić na security ključu (što osigurava da nitko ne može aktivirati ključ s udaljene lokacije, nego to može samo korisnik napraviti). U tom času računalo USB ključu pošalje upit (challenge), USB ključ vraća odgovor (response) i ako on odgovara očekivanom odgovoru autentikacija je dopuštena. Vrijedi samo napomenuti da se security ključevi razlikuju ne samo po vrsti porta na koji se spajaju, nego i po sigurnosnim protokolima koje podržavaju tako da nije svejedno koji ključ ćete koristiti za koju namjenu (i da, jedan ključ se može koristiti za mnogobrojne servise).

Da zaključim, da bi bili sigurni – vaši passwordi moraju biti kompleksni (14 znakova i više), moraju biti jedinstveni (jer ako sigurnost jedne web stranice bude probijena onda je probijena svugdje gdje imate korisnički račun) i za pravu sigurnost morate koristiti neku od ponuđenih 2FA taktika. Izbjegavajte koristiti lagano dostupna imena iz obitelji, datume rođenja i slične očigledne passworde. Ako krenete u zonu 2FA, pokušajte izbjegavati SMS autentikaciju – no svakako je koristite ako je to jedina 2FA metoda na željenom servisu. Naučite koristiti autentikator aplikacije, a za doista mirni san počnite koristiti security ključeve (i ne zaboravite na sigurnom mjesto pohraniti backup podatke, jer ako izgubite 2FA. Svakako preporučam da vaša glavna email adresa (ona na koju su vezani svi drugi servisi) svakako bude na nekom sigurnom servisu koji omogućava sve ove oblike zaštite (primjerice Gmail, Outlook, Office365…).

p.s. ista shema funkcionira i za PIN-ove, bolje je koristiti šesteroznamenkasti PIN nego četveroznamenkasti (gdjegod ga koristili), a ako možete konfigurirajte i paswordless login na svojem računalu (to je podržano i na Windowsima i OS X).

Misao dana:
Most people are starting to realize that there are only two different types of companies in the world: those that have been breached and know it and those that have been breached and don’t know it. Therefore, prevention is not sufficient and you’re going to have to invest in detection because you’re going to want to know what system has been breached as fast as humanly possible so that you can contain and remediate.