Įspėjimas svetainių, kurių SSL sertifikatai naudoja SHA-1 maišos funkciją, savininkams
Daugelis populiarių interneto svetainių naudoja saugųjį HTTPS protokolą. Jis užtikrina perduodamų asmens duomenų (pvz., prisijungimo vardo, slaptažodžio, tikslios nuorodos) saugumą. Sudėtinė HTTPS protokolo dalis - svetainių SSL sertifikatai, kurie būna tiek mokami, tiek nemokami. Nemaža dalis tokių sertifikatų buvo sugeneruota naudojant maišos funkciją SHA-1. SHA-1 nusileidžia saugumu analogiškoms funkcijoms (pvz., SHA-256). Atsižvelgus į tai, populiariausių interneto naršyklių kūrėjai pradeda kitaip žymėti svetainių, naudojančių sertifikatus, paremtus SHA-1, saugumo lygį.
Saugusis HTTPS protokolas (raidė „S“ angliškai reiškia secure) yra įprastas dalykas, kai kalbama apie asmens duomenų perdavimą internetu. Šis protokolas naudojamas el. bankininkystėje, el. prekyboje (pvz., https://www.parduotuves-pavadinimas.lt), taip pat vis populiarėja ir kitose interneto svetainės, kur reikalingas asmens duomenų perdavimas, kadangi jo naudojimas interneto svetainėje didina svetainėje naršančio asmens privatumą. Protokolo veikimą palaikančios dalys, įskaitant SSL sertifikatus, nuolat sulaukia IT saugumo ekspertų dėmesio ir analizės, kurie buvo radę ne vieną saugumo spragą ir apie tokias spragas CERT-LT savo laiku informavo Lietuvos visuomenę.
2017 m. vasario mėn. populiariausių interneto naršyklių – „Chrome“, „Firefox“, „Edge“ – kūrėjai planuoja HTTPS protokolu pasiekiamą svetainę laikyti nesaugia, jei jos SSL sertifikatas sugeneruotas naudojant SHA-1 maišos funkciją. Maišos funkcija (angl. hash) naudojama transformacijai DUOMENŲ_SEKA → SANTRAUKA. Minėta transformacija ypatinga 2 dalykais: vienakryptiškumu (iš santraukos bendru atveju neįmanoma gauti duomenų sekos) ir duomenų vientisumo užtikrinimu (mažiausias pakeitimas duomenų sekoje suformuos visai kitokią santrauką). Įvairios maišos funkcijos plačiai naudojamos kriptografijoje ir kompiuterijoje.
Nors SHA-1 maišos funkcija saugesnė nei, pvz., kadaise populiari MD5 funkcija, remiantis IT saugumo ekspertų išvadomis (pvz., Estijos Informacinių sistemų tarnybos RIA saugumo ekspertų parengta ataskaita), SHA-1 algoritmo naudoti neberekomenduojama. Piktavaliai, turėdami daug techninių ir finansinių resursų, gali pasinaudoti saugumo spragomis ir bandyti padirbti sertifikatą, sugeneruotą naudojant SHA-1 maišos funkciją, bei jį panaudoti „man-in-the-middle“ (duomenų perėmimo) atakos vykdymui (nors realių atvejų, kad tai buvo atlikta, kol kas nėra žinoma). Atsižvelgdami į šią riziką, dauguma 2015-2016 m. interneto svetainių tapatumo nustatymo sertifikatų (SSL sertifikatų) kūrėjų pradėjo išduoti sertifikatus, generuojamus naudojant SHA-256 algoritmą.
2016 m. lapkričio mėn. bendrovė „Venafi Labs“ išanalizavo svetaines, veikiančias 11-oje mln. IP adresų. Bendrovės specialistai nustatė, kad apie 35 proc. svetainių naudoja sertifikatus, sugeneruotus naudojant SHA-1 maišos funkciją. CERT-LT duomenimis, Lietuvoje 2017 m. sausio pabaigoje buvo apie 14 000 svetainių, turinčių sertifikatą, gautą naudojant SHA-1.
Sertifikato, sugeneruoto naudojant SHA-1 maišos funkciją, pavyzdys:
HTTPS svetainės, kuri naudoja sertifikatą, sugeneruotą naudojant SHA-1 maišos funkciją, lankytojai „Chrome“ adreso laukelyje matys tokį vaizdą („Firefox“, „Edge“, „Safari“ naršyklių adreso laukelis tokios HTTPS svetainės atveju atrodo analogiškai):
CERT-LT rekomenduoja:
1) Jei jūsų svetainėje yra skiltis „Prisijungti“ ar pan., o svetainė pasiekiama tik HTTP protokolu, įdiegti joje SSL sertifikatą. Mokami sertifikatai nėra brangūs, o dėl projekto „Let's Encrypt“ pasiekimų yra galimybė turėti nemokamus sertifikatus. Žr. https://letsencrypt.org.
2) Jei jūsų svetainė palaiko HTTPS protokolą, patikrinti ją siūlomais įrankiais. Tikrinimas yra labai paprastas, pasirodžius pranešimui „Vulnerable“ (ar analogiškam), pasirūpinti savo svetainės ir jos lankytojų duomenų saugumu.
Įrankiai
Keli HTTPS svetainių tikrinimo įrankiai:
1) Šiame pranešime minima SHA-1 – https://shaaaaaaaaaaaaa.com.
2) http://poodletest.ntt-security.com/.
3) https://filippo.io/CVE-2016-2107/.
4) https://tools.keycdn.com/freak.
Daugiau informacijos:
Atitinkama informacija apie populiarias interneto naršykles:
1) „Firefox“ kūrėjų pranešimas.
2) „Chrome“ kūrėjų pranešimas.
3) „Edge“, „Internet Explorer“ ir „Windows“ OS kūrėjų pranešimas.
Pranešimai anglų k.:
1) https://www.venafi.com/blog/deprecation-denial-why-are-35-of-websites-still-using-sha-1
2) https://www.ria.ee/public/RIA/Cryptographic_Algorithms_Lifecycle_Report_2016_2.0_A-101-3.pdf
Susiję CERT-LT pranešimai:
1) https://www.nksc.lt/rekomendacijos/ssl_v30_protokolo_saugumo_spraga.html2) https://www.nksc.lt/rekomendacijos/openssl_heartbleed_spraga.html
Visi pranešimai