Am scris în trecut de heartbleed, bug-ul ascuns în implementarea openssl, care a făcut vulnerabile toate serverele bazate pe acesta. Situația părea stranie tocmai pentru că vorbim de un software open-source, deci oricine este interesat de acest cod poate să arunce o privire și să îl analizeze. Se pare ca n-a făcut-o nimeni, sau dacă cineva a făcut-o, a păstrat-o pentru sine; din păcate nu vom ști niciodată, pentru că modul de funcționare a acestui bug este suficient de parșiv încât să nu lase urme vizibile.
Zilele trecute, pe 14 octombrie dacă îmi amintesc corect, o nouă descoperire vine să ne tulbure inocența. Se pare că algoritmul SSL v3 însuși conține o greșeală principială care poate fi exploatată. O greșeală de algoritm, ceea ce înseamnă că nu contează implementarea ( fie openssl, fie Microsoft, fie Cisco sau oricine altcineva). Vulnerabilitatea nu e considerată atât de gravă pentru că între timp au apărut algoritmii noi; serverele vor negocia mai întâi algoritmii TLS și abia după aceea vor încerca SSL. Totuși, gândul că în 18 ani de când acest algoritm este implementat nimeni nu a sesizat problema nu e de natură să ne liniștească. Mai rău decât în cazul precedent, este vorba de un algoritm public, pe care a trebuit să îl studieze măcar cei care l-au implementat, să nu mai vorbesc de faptul că probabil se studiază uneori ca exemplu și la seminarii de Computer Science.
Realitatea e că algoritmii criptografici au în spate un aparat matematic complex și oarecum exotic, ceea ce face înțelegerea lor dificilă. Implementatorii de obicei vor citi specificațiile și le vor implementa; aparatul matematic din spatele lor îi depășeste, iar dacă nu, oricum analiza acestuia cere timp, o valută forte de care aproape niciodată aceștia nu dispun.
Modelul clasic de verificare a algoritmului era unul romantic: se publică algoritmul și se pune un premiu consistent pentru cel care va reuși să găsească o eroare în acesta. Formula a funcționat în trecut însă mă întreb dacă nu cumva astăzi am putea vinde vulnerabilitatea descoperită unei agenții guvernamentale ceva mai scump. Sau eventual vreunei grupări mafiote; fluxul de bani și informații care circulă azi folosind algoritmii de criptare e atât de mare încât nici un premiu nu se poate compara cu acesta.
Presupun că nu e întâmplător că descoperirea ambelor vulnerabilități are o legătură cu Google (heartbleed a fost descoperit relativ independent de două grupuri). De ani de zile piața browserelor a fost dominată de Explorer și diversele versiuni ale Mozilla. Lupta între ele s-a dat la nivel de viteză, de interfață, de compatibilitate; criptografia a fost implementată cândva, demult, și a fost actualizată când a fost cazul. Google a venit de curând si Chrome este incă un “challenger” pe această piață. Browserul lor este încă în faza de dezvoltare și cred că acesta este motivul pentru care multe astfel de revelații provin de la echipele Google.
Aș îndrăzni să spun că de fapt ceea ce s-a descoperit în ultima vreme este o vulnerabilitate în felul în care funcționează lumea IT-ului. Un fel de criză a maturității. Există o supraofertă de servicii și produse de securitate: firewall-uri, VPN-uri, inspecții de conținut, audituri și toate cele. Și eu am așa ceva în oferta comercială. Însă toate acestea se referă la implementări și pornesc de la ipoteza că algoritmii clasici sunt corecți. Tot acest munte de aplicații se bazează pe ideea că acele câteva persoane din mediul academic sau eventual chiar de la NSA, care emite recomandări referitoare la algoritmi au făcut o treabă bună. Ori oamenii mai și greșesc, iar uneori entuziasmul unora poate contamina un întreg grup. În plus lumea universitară are ierarhiile ei, respectul reciproc mai anulează din spiritul critic.
Sistemul actual a funcționat bine câtă vreme era vorba doar de protejat tranzacțiile câtorva magazine online. Acum însă e vorba de mult mai mult; mizele jocului sunt mult mai mari, pentru că practic n-a mai rămas domeniu care să nu mai depindă de acești algoritmi. Este deci obligatoriu ca ei să fie corecți și să funcționeze. Povara este prea mare pentru atât de puțini oameni; ea va trebui cumva distribuită, altfel probabil că vom avea surprize din acestea iar și iar.
Pe „masina” Windows folosesc Chrome si pot sa spun ca nu-mi pasa de vulnerabilitati: acest laptop contine (cel mult) poze de familie, carti downloadate de pe ‘net si alte „bibiluri” fara importanta.
Partea „de munca” este tinuta pe masini OSx fara legatura la retea (daca eram chiar paranoic le TEMPEST-izam, dar nu cred ca prezint atata interes pentru cineva) iar toate achizitiile din magazine virtuale le fac de pe tableta, cu plata prin PayPal si fara memorarea user ID-ului si a parolei (chiar si asa, folosesc un card cu limita de credit minima pe care il alimentez doar cu sumele necesare pentru tranzactii).
In rest, nu-mi tin banii in banci ci sub forma de token-uri BTC, nu doar pentru siguranta dar asa nu ma poate taxa statul pentru castiguri din schimb valutar.
Traiasca spatiul virtual si toti fraierii care se plimba pe (prin?) el ca voda prin loboda: daca n-ar exista fraieri baietii destepti ar da faliment :)
P.S. Se pare ca au fost sparte serverele Dropbox… nice to be dumb!
Dumneavoastra aveti prea putine probleme :)
Ganditi-va la marile magazine care trebuie sa aiba o baza de date comuna (stocurile macar); la banci, care trebuie sa aiba acces oriunde la datele clientilor ( daca nu cumva vreti sa lucreze precum o anume banca romaneasca, nu spui care, unde daca esti din Barlad si mergi la Zalau trebuie sa dea un fax ca sa aprobe tranzactia) ; nu mai vorbesc de companiile globale la care echipele de proiect pot fi formate din oameni care nu s-au vazut niciodata, decat eventual pe instant messenger. Pe langa asta e-commerce-ul poate fi vazut ca un moft :)
As zice ca economia globala depinde de criptografie :)
„As zice ca economia globala depinde de criptografie :)”
Pai cu asta ma ocup, de o viata… ;)
Mi-ati intins o capcana. Credeam ca sunteti dinte cei care platesc cu cash la supermarket de frica hackerilor :)
Oricum, vorba tiganului (iertata fie-mi lipsa de corectitudine politica) e bine sa ai canalul tau :) . Insa de obicei nu il ai, asa ca tot trebuie sa conectezi „ceva” la Internet…
Uitati pe cine supara in primul rand protectia datelor: http://www.theguardian.com/us-news/2014/oct/16/fbi-director-attacks-tech-companies-encryption
Pai raspunsul meu este „na-na, na-na na na”, adica un mare emoticon de dat cu tifla serviciilor si guvernului (nu va faceti probleme, la nivelul „baietilor cu ochi albastri” este eficienta si o amarata de aplicatie PGP) :)
Domnule IosifP separe ca nu ati inteles ce e cu cele 2 vulnerabilitati.Faptul ca folositi tableta pentru plati online va face mai vulnerabil la atacuri si la furtul datelor ,nu va protejeaza mai mult. Comunicatia prin wireless e mult mai nesigura decat cea prin fir deoarece oricine poate sa o intercepteze.
Iarasi, faptul ca folositi mac nu va face mai putin vulnerabil avand in vedere ca marea majoritate a atacurilor nu sunt impotriva sistemului de operare ci impotriva componetelor si serviciilor care ruleaza pe el. De asemenea pentru ca folositi mac nu o sa va ofere extra protectie impotriva decryptarii informatiilor pe care le transmiteti wireless sau pe fir.
Va multumesc pentru lamuriri! Hai sa spunem ca vindeti castraveti gradinarului, dar asta nu are importanta: va doresc protectie perfecta. ;)
Nu vreau sa fiu suspectat de naivitate ( am scris si eu de-a lungul timpului despre asta) dar pe de alta parte nu pot sa nu ma amuz la gandul ca aceeasi administratie care a crezut ca poate combate alcoolismul interzicand alcoolul, ca poate combate dependenta interzicand drogurile acum crede ca poate combate terorismul interzicand criptarea :)
Am fost distribuitori Allied Telesyn la firma la care am lucrat mai demult , (am si ceva certificari de pe vremea respectiva), si ma amuzam de fiecare data cand trebuia sa dau un mail in Noua Zeelanda ca sa pot activa 3DES sau AES. Cineva scrupulos se uita sa vada daca suntem pe lista statelor teroriste si, constatand ca nu, ne trimitea cheia de activare.(Allied au tot urmarit sa devina furnizori pentru armata americana, nu stiu daca le-a reusit) Evident ca in acest timp orice Linux sau chiar Windows avea implementati by default acesti algoritmi. Presupun ca in viziunea birocratilor americani teroristul cumpara routere de la Allied si cripta cu DES :)
Pai birocratii lor sunt la fel ca ai nostri, adica prosti (dar SI mai multi)!
Eu unul mi-am scris primul program de criptare DES in ultimul an de facultate, in C… rula (lent) pe DOS si-apoi pe Win 3.1 dar iti puteai face treaba cu el. O tempora o mores!
Dupa doi ani de frecat saiba in productie am ajuns la ITC unde am inceput sa lucrez la oaresce criptare asimetrica – vestitele „chei publice” ale lui Diffie si Hellman. In ’90 am plecat in Canada sa-mi iau un MScA cu o lucrare despre codurile convolutionale cu stiva sistolica.
De cand am revenit m-am cam lasat de meserie (din lipsa de clienti) dar ma tin in permanenta la curent cu ce mai misca-n domeniu – ca membru cotizant IEEE am acces la studii si articole – doar ca de la o vreme a cam inceput sa ma lase metematica (deh, varsta, nene).
Oricum, sunt sigur ca pentru „hautoritatili” din Romanistan chiar si un cod cu simpla substitutie + transpozitie + registru de reactie cu bucla de lungime maxima ar fi devastator… iar asa ceva poate scrie si un elev de la liceul de mate-info (intr-un weekend ploios).
Ideea ca o aplicatie e open source si codul a fost, teoretic, revizuit de o comunitate larga e o iluzie. Daca v-ati uitat la OpenSSL, ati vazut ca volumul de cod e mare si plin de defecte. Unele, cum s-a dovedit, exploatabile, dar si simple variabile neinitializate. Pentru a evalua un astfel de cod trebuie investit un efort imens, daca pe langa faptul ca indeplineste functiile pentru care a fost scris vrem sa vedem si alte aspecte ne-functionale, precum robustetea. Cine ar investi atat fara vreun beneficiu direct?
Dar nu cred ca problema e doar a IT-ului. Medicina nu a avut destule ipoteze de lucru gresite? Astrofizica, cand stiinta era deja mai veche decat e acum IT-ul, nu sustinea ca Soarele se invarte in jurul Pamantului? Sau a validat cineva toate ideile filozofice din scrierile lui Nietzsche? Daca sunt unele gresite?!
Cat despre algoritmi de criptare, cea mai buna prezumtie este ca nu exista algoritm impenetrabil. Toata stiinta este sa faci costurile de obtinere a datelor mai mari decat profitul care se poate obtine de pe urma lor.
Da, cam asta e si teza articolului. Dar cred ca e mai rau ca in alte domenii; in medicina se vede destul de repede ca pacientii nu se fac bine in urma tratamentului ( bine, mai sunt si domeniile gri, cele cu „x sau y sau z dauneaza grav sanatatii” despre care se dovedeste dupa ani de zile ca au fost niste iluzii) . Filozofia nu e o stiinta exacta, deci ideile filozofice pot fi diferite fara a duce musai la contradictii. Oricum, vorbim despre stiinte „vechi” care au o oarecare „stabilitate”; dupa ce am lansat un numar de rachete in spatiu putem sa zicem ca macar mecanica newtoniana e destul de clar validata de practica. In zona particulelor, probabil vom avea destule surprize legate de mult-cautatii bozoni :)
Prin contradictie IT-ul este un domeniu nou iar in criptografia specifica exista foarte putine centre stiintifice cu adevarat active, sa nu mai zic ca unele, precum NSA si mai ales alte agentii ale altor state nu prea pot fi acuzate de transparenta. Chiar si domeniul matematicii din care provin algoritmii este destul de exotic pentru matematicieni.