Ar https:// simbolizuoja saugumą?

Didėjant interneto sklaidai, elektroninė bankininkystė ar elektroninė komercija paskutiniu metu užima vis svarbesnę vietą. Daugeliui jau tapo įprasta, kad jungiantis prie tokio tipo svetainių, adresas prasideda iki skausmo pažįstamu https:// , kas simbolizuoja saugų ryšį su svetaine. Iš kitos pusės, jei dar ir internetinės naršyklės adreso laukas nusidažo žaliai (IE7) ar kitaip parodo, kad svetainės turimas sertifikatas yra galiojantis ir patikimas, mes jaučiamės pakankamai saugūs, kad patikėtumėme tokiai svetainei savo asmeninius ar prisijungimo duomenis bei atliktumėme kokias nors finansines transakcijas. Deja, nėra viskas taip gerai ir paprasta kaip atrodo iš pirmo žvilgsnio, ypač jei tas sertifikatas sugeneruotas pasinaudojant MD5 santraukos algoritmu.

Reikalas tame, kad jau senai žinoma apie MD5 tam tikrus trūkumus, o tarp 2004 ir 2007 metų buvo dirbama nagrinėjant teorinių atakų galimybes prieš svetaines, turinčias tokius sertifikatus. Tačiau 2008 metų pabaigoje pavyko praktiškai pademonstruoti kaip tai veikia. Kad nekankinti jūsų techninėmis detalėmis, pabandysiu trumpai paaiškinti viso reikalo esmę.

Trumpai ir drūtai, tyrėjų komandai pavyko, pasinaudojant normalios svetainės legaliu sertifikatu, sukurti padirbtą kitą sertifikatą, kurį interneto naršyklės laikė tokiu pat patikimu kaip ir originalą:

“As a result of this successfull attack, we are currently in possession of a rogue Certification Authority certificate. This certificate will be accepted as valid and trusted by all common browsers, because it appears to be signed by one of the root CAs that browsers trust by default. In turn, any website certificate signed by our rogue CA will be trusted as well. If an unsuspecting user is a victim of a man-in-the-middle attack using such a certificate,  they will be assured that the connection is secure through all common security indicators:  a “https://“ url in the address bar, a closed padlock and messages such as “This certificate is OK“ if they chose to inspect the certificate.“

Ir ką gi tai reiškia? O gi tai, kad praktiškai atsiveria neribotos galimybės vogti vartotojų duomenis, nukreipiant juos į netikras svetainės su “patikimais“ sertifikatais.

Tai ar https, o kitaip tariant SSL protokolas simbolizuoja saugumą? Mano atsakymas būtų ne, nes tai niekada ir nesimbolizavo. SSL yra skirtas tik užtikrinti saugiam duomenų apsikeitimui tarp jūsų kompiuterio ir svetainės, bet tai niekada nereiškė, kad pati svetainė yra saugi, nežiūrint to, kad jūsų interneto naršyklė nudžiugo ten aptikusi tvarkingą ir patikimą sertifikatą. Ta svetainė lygiai taip pat gali būti “prifarširuota“ įvairiausiu jums nemalonių siurprizų tiek pačių jos autorių, tiek ir tų, kurie sugebėjo įsilaužti į tą svetainę aptarnaujančius serverius. Tad apsisaugojimo nuo visokių trojanų ir kitokio piktybinio kodo, dalinamo per tokias svetaines, ar duomenų “žvejybos“ problema išlieka tokia pat aktuali kaip ir anksčiau. Tik dabar reikės dar atidžiau žiūrėti kur internete vaikštai ir nepamiršti, kad tai kas šiandien atrodo saugu, rytoj gali tapti pavojingu.

P.S. Tai nėra šių metų informacija, bet man buvo įdomu sulaukti kokia bus įvairių kompanijų ar saugumo specialistų reakcija į paskelbtą medžiagą, kurią galite pastudijuoti paspaudę ant žemiau esančios nuorodos.

Creating a rogue CA certificate

Įrašo “Ar https:// simbolizuoja saugumą?” komentarai: 7

  1. Nieko nebuvo, nėra ir nebus nenulaužiamo. Tuo viskas ir pasakyta 🙂

    Juk nesėdėsi užsimūryjęs tarp keturių sienų: išeisi pasivaikščiot, tikėtina – patrenks einant pr perėją; didžiosios dalies maisto valgyt negalima; didžiosios dalies buities technikos naudot negalima – kenkvia vinaip ar kitaip; ir t.t. ir pan.

    Lauksim patikimesnių sprendimų, pasaulis nestovi vietoj.

    P.S. Dėkui už įrašą 🙂

  2. Atgalinis pranešimas: Blogorama #487 : nežinau.lt

  3. Nėra tai tai baisu kaip tu sakai (t.y. kaip gasdini kitus). Straipsnis šia tema:

  4. Čia kažka kelia eilinę paranoją – https niekada ir nereiškė “saugią svetainę“. Tik saugų jungimasį.

  5. Dabar vertinant jau retrospektyviai, šis pažeidimas nesugriovė pasitikėjimo HTTPS protokolu. Šiandien naudojami raktai bus pakankamai saugūs dar mažiausiai dešimtmetį.

    Per paskutinius 5 metus straipsnio klausimas tapo atsakytas – HTTPS protokolas (tiksliau TLS) garantuoja saugumą labai aukštu lygiu. Su šiuolaikinėmis automatiškai atsinaujinančiomis naršyklėmis, kurios pažeistus šakninius sertifikatus (kas yra ypatingai reta) pasinaikina momentiškai, nėra rimtų priežasčių abejoti šia technologija.

    Aišku, reikia suprasti, kam ji skirta ir ką tiksliai ji garantuoja. Apie tai rašiau ir pats: http://pakamore.lt/kas-yra-ssl-sertifikatai-kaip-veikia-https/

    Iš esmės tai yra apsauga tik nuo man-in-the-middle atakų. Arabų pavasario metu jos iš vietinio masto problemos tapo Nr. 1 grėsme pasauliniu mastu. Tokia dėl įvairių priežasčių išlieka ir dabar.

    Šiame kontekste kalbėti, kad SSL neapsaugo nuo XSS ir t.t., tai lyg kaltinti apsauginę oro pagalvę, kad ji neapsaugo nuo kuro vagių.

Komentavimo galimybė išjungta.