Heartbleed bug i šta sa njim

Ako prethodnih par dana niste prespavali, onda ste gotovo sigurno čuli za heartbleed bug ili ste makar zapazili čudnu ilustraciju srca sa gore spomenutog sajta. Obzirom da nisam primetio mnogo tekstova o njemu na srpskom jeziku (a realno na skali sigurnosnih propusta od 0-10 ovaj bug verovatno zaslužuje 11) – rešio sam da napišem jedan post u nadi da ću makar malo podići svest naših ljudi na temu sigurnosti njihovih podataka.

Heartbleed

Dakle “heartbleed” je u osnovi bug u popularnoj OpenSSL biblioteci ali pre nego krenem u detalje, sledi malo objašnjenje za one sa jeftinijim ulaznicama.

SSL
Po defaultu podaci se preko Weba prenose u običnom tekstualnom formatu. To praktično znači da bilo koji podatak tipa username, password itd. koji iz vašeg browsera šaljete ka nekom sajtu, neko ko bi bio u stanju da presretne vaš Internet saobraćaj može jednostavno pročitati. Zbog toga je firma Netscape još davne 1994 godine uvela SSL koji u najkraćem omogućava enkripciju vaših podataka tako da podaci koji šaljete iz browsera mogu biti apsolutno sigurni. Iako se u početku SSL koristio pretežno na stranama za plaćanje, u današnje vreme popularni sajtovi poput Facebooka i Gmaila celu komunikaciju obavljaju preko SSL-a što čini vaš saobraćaj sigurnim. SSL u vašem browseru možete prepoznati po karakterističnom “katancu” i https konekciji.

ssl

Šta je to Heartbleed?
Dakle kao što rekoh gore, heartbleed je u osnovi bug u u popularnoj OpenSSL biblioteci koja predstavlja besplatnu open source implementaciju SSL-a koju između ostalih koriste i veoma popularni Web serveri poput Apache-a i Ngixa. U prevodu ovaj bug utiče na većinu sajtova na Internetu. Detalji o propustu su objavljeni pre tri dana ali “najbolje” od svega je činjenica da ovaj bug faktički postoji 2 godine tako da je svako zlonameran sa dobrim poznavanjem SSL-a i programiranja ovo mogao zloupotrebiti.

Kako radi?
U osnovi radi se o zloupotrebi takozvanog heartbeat requesta koji u suštini služi da klijent sa jedne strane SSL konekcije pošalje mali request serveru kao potvrdu da je još uvek online i dobije taj isti request natrag. Bez da idem mnogo u tehničke detalje, suština zloupotrebe svodi se na broj bajtova koji se šalje kroz request kao dodatni parametar, tj. uz request šalje se i broj bajtova o veličini requesta. Broj bajtova bi trebao odgovarati veličini što je recimo 1bajt, međutim zahvaljujući propustu serveru se može poslati parametar koji je znatno veći od requesta, tipa 65535 što će rezultovati odgovorom sa servera koji će faktički “višak” bajtova nadoknaditi tako što će povući sadržaj iz svoje memorije, dakle nekih 64kb podataka. Obzirom da se SSL koristi za osetljive podatke to znači da će potencijalni napadač dobiti 64KB osetljivih podataka što može biti nečiji password, broj kreditne kartice i sl. Najbolje od svega je da nakon cele akcije ne postoji apsolutno nikakav trag u logovima, što faktički znači da apsolutno niko ko je imao pomenuti propust na svom serveru ne može znati da li je došlo do curenja podataka ili ne!

Za one koji nisu razumeli gornje objašnjenje predlažem da odgledaju sledeći video, verujem da će posle toga stvari biti jasnije.

Šta činiti
Za početak predlažem da se podsetite reči sa Autostoperskog vodiča kroz galaksiju (ako ne znate šta tamo piše – googlajte). Ako znate odlično pošto je odgovor na gornje pitanje – ništa! Tačnije obzirom da gornji propust postoji gotovo 2 godine onaj ko je do sada želeo da dođe do vaših podataka on je to već i učinio! No dobre vesti su da će većina zloupotreba nastati upravo sada i to na sajtovima koji još uvek nisu zakrpili propuste, tako da takve sajtove apsolutno ne bi smeli posećivati!

Dobra stvar je što je svetski community jako brzo reagovao i objavio listu top 1000 sajtova gde propust u danu objavljivanja još uvek nije bio ispravljen (u međuvremenu većina je sređena). Nažalost kod nas je situacija daleko od idealne tako da sam nakon provere samo par sajtova došao do nekoliko kod kojih propust još uvek postoji. Verovatno najveći od njih je sajt Airserbia.com gde sam i sam nekoliko put do sada kupovao avionske karte. Spomenuti sajt (kao i mnogi drugi) testirao sam pomoću pacemaker ulititya koji i sami možete skinuti sa githuba, a za one koji nisu vični CLI-u postoji i Web sajt gde se može obaviti provera (koja doduše traje nešto duže). Rezultat provere airserbia.com i dokaz o propustu možete videti ovde: http://pastebin.com/Mjad0x2w.

airserbia
Airserbia.com test na fillipo.io

Ono što je svakako neophodno da uradite (koliko god to možda teško zvučalo) je da promenite sve passworde pogotovo za one sajtove na kojima držite osetljive podatke i koji su bili izloženi ovom propustu. Napominjem da je besmisleno a potencijalno i opasno menjati password na sajtu koji još uvek nije zakrpljen, tako da obavezno proverite sa jednim od online alata dole da li je situacija čista pre nego uopšte pristupite sajtu. Takođe (nadam se da u 2014 godini ovo više ne moram da ponavljam) neophodno je da setujete različite passworde za sve sajtove, pošto će u protivnom potencijalnom napadaču biti dovoljno da sa jednim vašim passwordom dobije pristup svim sajtovima koje koristite!

Za kraj nekoliko korisnih linkova.

Online SSL Test
Online heartbleed test
Pacemaker utility
Lista top sajtova i stepen ugroženosti

Svaki biznis je show business

Odmah na početku ovog posta mali disclaimer – originalni post u vezi sa ovom tematikom nastao je još pre nekoliko godina na blogu mog prijatelja Dragana Babića, ali je post nakon jednog pucanja baze nažalost otišao u večna lovišta. U međuvremenu sam ga toliko puta prepričavao da sam naposletku rešio da napišem i svoju verziju.

Dakle svaki biznis je show business, tj. vredite onoliko koliko ste svog gazdu, klijenta, poslodavca, štagod u stanju da ubedite u to. Da se razumemo, postoje ljudi koji su vanserijski u svom poslu ali takvi slučajevi su retkost. Npr. u fudbalu imate dvojicu, jednog Kristijana Ronalda i jednog Lea Mesija čija umešnost sa loptom vredi onoliko cifara koliko može stati na ček. U tenisu imate veliku četvorku (Rafa, Roger, Andy, Nole) koja je (ako sam dobro izbrojao) od poslednjih 36 grand slamova uzela 34! (source). I naravno ne morate kao ja biti developer da bi ste znali za Gejtsa, Zuckerberga pa i Linusa (autor Linuxa, Gita itd.).

Ispod ovakvih vanserijskih ljudi obično ide velika praznina nakon koje se pozicioniraju svi ostali, gde se sa velikom verovatnoćom u svom poslu nalazite i vi. Razlika između vas i konkurencije je verovatno suptilna i teško ju je izmeriti. Tako npr. 95% Web developera danas odlično poznaje i PHP i MySQL i jQuery i Git pa opet jedni će raditi za mesečnu platu od 1000 a drugi za 5000 USD iako na pogled ne postoji vidljiva razlika između njihovih skilova.

I tu naravno dolazi do izražaja vaš lični PR tj. koliko ste u stanju da u dobrom svetlu predstavite svoje veštine. Da se razumemo pričam o suptilnom PR-u a ne o sramnoj samopromociji koja je karakteristika za neke ovdašnje “experte”. Npr. ako ste developer, uključite se u community (forumi, mailing liste …) gde ćete pomagati svojim kolegama oko problema sa kojima se suočavaju. Možete biti i contributor postojećih (open source) projekata i/ili napravite svoje. Naravno znanje nesumnjivo morate posedovati ali će ono tada zahvaljujući vašim referencama i moći društvenih mreža vašem poslodavcu ili klijentu biti značajno uočljivije.

Online kupovina u Srbiji, leto gospodnje 2013

Nekako da bih uopšte mogao da počnem sa ovom pričom moram se vratiti 10 godina unazad, u leto gospodnje 2003. Te davne 2003 godine Srbija je još uvek nesigurnim koracima koračala novoosvojenim stazama demokratije, strane investicije samo što nisu počele da pristižu, SBB je već nudio 128kbps Internet a banke su nicale kao pečurke posle kiše. I tako lagano mic po mic stigosmo i do prvih kreditnih kartica.

U to vreme uz klasične kreditne kartice (za koje si pre izdavanja morao na bibliji da se zakuneš da ih nećeš koristiti na Internetu), pojavile su se i tzv. Internet kartice – Visa Virtuon kod RFZ-a ili Visa Internet kod Vojvođanske banke. Ja sam se nekako opredelio za ovu drugu.

I dan danas sećam se svoje prve online kupovine kao i divnog mirisa knjige koja je stigla sa Amazona. U to vreme online kupovina napolju bila je već mainstream, ali u Srbiji tako nešto jednostavno nije postojalo. Naravno verujem da smo kao i danas imali konferencije o e-trgovini (šta god to bilo) gde su ljudi plaćali kotizaciju profakturama i verujem zadivljeno slušali priče i maštali o nečem tako divnom i tako dalekom.

Fast forward 10 godina i evo nas u Decembru 2013. Za 10 godina promenio sam x kreditnih kartica, obavio brdo online kupovina hostinga, domena, knjiga, delova za kompjuter … i sve to gotovo isključivo na stranim sajtovima. Kažem gotovo isključivo pošto sam tu i tamo kupovao karte za koncerte na eventimu a sećam se kako sam jednom iz inostranstva platio karticom domaćem servisu za isporuku cveća ali to bi mislim bilo to.

I tako prošle nedelje nekako sasvim spontano ušao sam u avanturu zvanu online kupovina u Srbiji. Poželeo sam da se počastim novim 27″ monitorom, a na preporuku nekoliko drugara opredelio sam se za 27″ Dell U2713HM. Zbog skoka PDV-a od nove godine želeo sam da ga uzmem što pre, a pošto mi se nije cimalo do Bgd-a samo zbog toga, reših da kupovinu naravno obavim online.

Petak popodne, na pcberzi dobio sam nekoliko sajtova gde bih to mogao obaviti i krenuh od Emmi – klikete klatete i monitor poručen. Okay morao sam da se cimam sa registracijom korisnika i unosim svašta nešto od privatnih podataka (JMBG i sl.) al tako ti je to valjda u zemlji u kojoj je lakše doći do 10kg heroina nego do payment procesora. Ubrzo je stigao konfirmacioni email i narudžbenica, jupii! Već sutradan (subota) rano izjutra otišao sam do ATM-a kako bih u ponedeljak ujutru spremno sa kešom dočekao kurira.

emmi

Kurir naravno nije došao u ponedeljak. Nije stigao ni u utorak tako da sam shvativši da u Srbiji reč ONLINE još uvek ne postoji u rečniku nervozno iskopao telefon kontakt centra kako bih proverio šta se dođavola dešava (usputno makar i proverio da li mi trebaju neki dodatni kablovi za monitor). Rekli su monitor stiže istog dana ili sutra. Od tog obećanja prošla su nova dva dana, pozvao sam ponovo call centar da bi mi glas sa druge strane odbrusio da će proveriti da li monitor uopšte imaju na stanju i prekinuo vezu!?? Moji naredni pozivi bili su odbijeni tako da sam sinoć poslao kratak email u kome piše da mogu smatrati da sam (naravno) odustao od narudžbine. U odgovoru sam saznao da monitor zapravo nikada nisu ni imali. Fukin pilićari.

Druga na spisku bila je firma Monitor, mislim kupiću monitor u Monitoru ha ha. Ovoga puta naravno bio sam mnogo oprezniji sa kupovinom online tako da sam odmah otišao na stranu sa uslovima korišćenja gde me je sačekalo nešto ovako 🙂

Umoran od “online kupovine” rešio sam da odustanem i stvar lepo obavim offline kako to i priliči u zemlji Srbiji. U Kragujevcu (gde ja jelte živim) postoji nekoliko offline prodavnica (Gigatron, Comtrade, PCPractice…) tako da sam prvo otišao na njihove sajtove da se uverim da imaju traženu robu. Gigatron je prikazao da monitor mogu kupiti kao i Comtrade. Jupiii! Žena svejedno ide u Plazu u novogodišnji šoping, idemo zajedno!

U Gigatronu hladan tuš – prodavačica mi kaže da taj monitor uopšte nemaju. ALI IMATE GA NA SAJTUUU!!! (vrištim u sebi). Okay ovi nemaju pojma, odoh u susedni Comtrade. U Comtrade-u ista priča. U povratku kući svraćam u PC Practice i Win Win, ni oni ga nemaju.

Stižem kući i vraćam se “online kupovini” i poručujem monitor online kod Gigatrona. Čak mogu i da iskoristim bodove i dobijem popust. Ubrzo stiće i konfirmacija. Jupiiii!

gigatron

No ne lezi vraže, posle par sati stiže email od Gigatrona sa objašnjenjem njihove podrške da monitor zapravo nemaju 🙂

gigatron_email

Odlazim na sajt PC Practice-a gde me čeka ista priča. Monitor za koji su mi pre par sati rekli da ga nemaju nigde u Srbiji uredno možeš kupiti online. Monitora naravno zapravo nema, ali tkoga je briga.

I tako dolazimo do sledećeg zaključka: U leto gospodnje 2013, na pragu nove 2014 godine, vodeći sajtovi prodavaca hardvera u Srbiji nemaju implementirano fukin *stanje* na lageru!?? Poruči, kupi, stavi u korpu, isporuka danas … i onda lepo prospeš po stolu šaku pasulja ili nabaviš lepo kristalnu kuglu i pitaš je hoćeš li robu zapravo dobiti?!! Prosto mi dođe da čisto šale radi obavim “kupovinu” i na PC Practice-u i/ili Win Win-u čisto da vidim šta će se desiti.

A možda ipak da svratim na Amazon i kupim nešto sitno čisto da se malo smirim i da se malo divim onom “In Stock” i “Usually shipped within 24 hours” čudu. To “čudo tehnike” tamo srećom postoji već nekih 15-tak godina. I molim vas podsetite me da sledeće godine ponovo ismevam registracije na razne “E-trgovine” i slične naučno fantastične konferencije na koje upad plaćaš starom dobrom profakturom.