Kodo pasirašymas – tai sertifikatu pagrįsto skaitmeninio parašo naudojimo būdas programinei įrangai, kad operacinė sistema ir vartotojai galėtų nustatyti jos saugumą. Tik tinkama programinė įranga gali naudoti atitinkamą skaitmeninį parašą.
Vartotojai gali saugiai atsisiųsti ir įdiegti programinę įrangą, o kūrėjai saugo savo produktų reputaciją pasirašydami kodą. Tačiau įsilaužėliai ir kenkėjiškų programų platintojai naudoja būtent tokią sistemą, kad gautų kenkėjišką kodą per antivirusines programas ir kitas saugos programas . Taigi, kas yra kodu pasirašyta kenkėjiška programa ir kaip ji veikia?
Kas yra Code Signed kenkėjiška programa?
Kai programinė įranga yra pasirašyta skaitmeniniu būdu, tai reiškia, kad ji turi oficialų skaitmeninį parašą. Sertifikavimo institucija programinei įrangai išduoda sertifikatą, kad nustatytų, ar programinė įranga yra teisėta ir saugi naudoti.
Vartotojams nereikės jaudintis, nes operacinė sistema patikrins sertifikatą ir patvirtins tą skaitmeninį parašą. Pavyzdžiui, „Windows“ naudoja sertifikatų grandinę, kurioje yra visi būtini sertifikatai, užtikrinantys, kad programinė įranga yra teisėta.
Sertifikatų grandinėje yra visi sertifikatai, reikalingi galutiniame sertifikate nurodytam subjektui sertifikuoti. Tiesą sakant, jį sudaro terminalo sertifikatas, tarpinis CA sertifikatas ir šakninis CA sertifikatas, kuriuo pasitiki visos grandinės šalys. Kiekviename grandinės tarpiniame CA sertifikate yra sertifikatas, išduotas CA vienu lygiu aukščiau. Šakninė CA išduoda sertifikatus sau.
Kai sistema pradės veikti, galite pasitikėti programine įranga, kodo pasirašymo sistema ir CA. Kenkėjiška programinė įranga yra kenkėjiška programinė įranga, nepatikima ir neturi prieigos prie sertifikavimo institucijos arba kodo pasirašymo.
Piratai vagia sertifikatus iš sertifikatų institucijos
Antivirusinė programinė įranga žino, kad kenkėjiška programa yra kenkėjiška, nes ji neigiamai veikia jūsų sistemą. Tai suaktyvina įspėjimus, vartotojai praneša apie problemas, o antivirusinė programinė įranga gali sukurti kenkėjiškų programų parašus, kad apsaugotų kitus kompiuterius, naudojančius tą patį antivirusinį variklį.
Tačiau jei kenkėjiškų programų kūrėjai galėtų pasirašyti kenkėjiškas programas naudodami oficialius skaitmeninius parašus, aukščiau aprašytas procesas neįvyktų. Vietoj to, kodinė kenkėjiška programa gali patekti į sistemą oficialiu keliu, nes jūsų antivirusinė programinė įranga ir operacinė sistema neaptinka nieko pavojingo.
Remiantis „Trend Micro“ tyrimais, visa kenkėjiškų programų rinka yra orientuota į kodo pasirašytų kenkėjiškų programų kūrimo ir platinimo palaikymą. Kenkėjiškų programų operatoriai turi prieigą prie galiojančių sertifikatų, naudojamų kenkėjiškam kodui pasirašyti. Toliau pateiktoje lentelėje parodytas kenkėjiškų programų, naudojančių kodo pasirašymą, siekiant išvengti antivirusinės programinės įrangos, kiekis nuo 2018 m. balandžio mėn.
„Trend Micro“ tyrimai taip pat rodo, kad apie 66 % kenkėjiškų programų turi skaitmeninius parašus. Be to, yra keletas specifinių kenkėjiškų programų tipų, turinčių kelias skaitmeninio parašo versijas, pvz., Trojos arklys , lašintuvai ir išpirkos reikalaujančios programos .
Iš kur atsiranda kodo pasirašymo skaitmeninis sertifikatas?
Kenkėjiškų programų platintojai ir kūrėjai turi du būdus sukurti kodu pasirašytą kenkėjišką programą. Jie vagia sertifikatus iš Sertifikatų institucijos tiesiogiai arba įsigydami teisėtą organizaciją arba apsimesdami ja ir prašydami sertifikato iš CA.
Kaip matote, CA nėra vienintelė vieta, į kurią taikosi įsilaužėliai. Platintojai, turintys prieigą prie teisėtų sertifikatų, gali parduoti patikimus skaitmeniniu būdu pasirašytus sertifikatus kenkėjiškų programų kūrėjams ir platintojams.
Saugumo tyrimų komanda iš Masaryko universiteto Čekijoje ir Merilendo kibernetinio saugumo centro aptiko keturias organizacijas, parduodančias Microsoft Authenticode sertifikatus anoniminiams pirkėjams. Kai kenkėjiškų programų kūrėjas turi „Microsoft“ autentifikavimo kodo sertifikatą, jis gali pasirašyti bet kokią galimą kenkėjišką programą pasirašydamas kodą ir sertifikatu pagrįstą apsaugą.
Kai kuriais kitais atvejais, užuot pavogę sertifikatus, įsilaužėliai įsiskverbs į programinės įrangos kūrimo serverį. Kai bus išleista nauja programinės įrangos versija, ji turės teisėtą sertifikatą, įsilaužėliai pasinaudos šiuo procesu, kad pridėtų kenkėjišką kodą.
Kodu pasirašytos kenkėjiškos programos pavyzdys
Taigi, kaip atrodo kodu pasirašyta kenkėjiška programa? Toliau pateikiami trys tokio tipo kenkėjiškų programų pavyzdžiai.
- „Stuxnet“ kenkėjiška programa : ši kenkėjiška programa sunaikino Irano branduolinę programą naudodama du pavogtus sertifikatus ir keturis nulinės dienos pažeidžiamumus. Šie sertifikatai buvo pavogti iš dviejų įmonių „JMicron“ ir „Realtek“. „Stuxnet“ naudojo pavogtus sertifikatus, kad išvengtų naujo „Windows“ įvedimo reikalavimo, kad visas tvarkykles reikia patikrinti.
- „Asus“ serverio pažeidimas: 2018 m. birželio–lapkričio mėn. įsilaužėliai įsiskverbė į „Asus“ serverį, kurį įmonės naudoja programinės įrangos naujinimams siųsti vartotojams. „Kaspersky Lab“ atliktas tyrimas rodo, kad apie 500 tūkstančių „Windows“ įrenginių gavo šį kenkėjišką naujinimą, kol nebuvo aptikti. Nevogdami sertifikatų, šie įsilaužėliai pasirašo teisėtus „Asus“ skaitmeninius sertifikatus dėl savo kenkėjiškų programų prieš programinės įrangos serveriui platinant sistemos naujinimus.
- „Flame“ kenkėjiška programa: „ Flame“ modulio kenkėjiškos programos variantas, skirtas Artimųjų Rytų šalims, naudojant apgaulingai pasirašytus sertifikatus, kad būtų išvengta aptikimo. „Flame“ kūrėjai naudojo silpną šifravimo algoritmą , kad suklastotų kodo pasirašymo skaitmeninius sertifikatus, todėl atrodė, kad „Microsoft“ juos pasirašė. Skirtingai nuo Stuxnet, kuris turėjo būti destruktyvus, „Flame“ yra šnipinėjimo įrankis, ieškantis PDF failų, AutoCAD failų, tekstinių failų ir kitų svarbių pramoninių dokumentų tipų.
Kaip išvengti kodu pasirašytos kenkėjiškos programos?
Šio tipo kenkėjiškos programos naudoja kodo pasirašymą, kad antivirusinė programinė įranga ir sistemos neaptiktų, todėl apsisaugoti nuo kodu pasirašytų kenkėjiškų programų yra labai sunku. Labai svarbu nuolat atnaujinti antivirusinę programinę įrangą ir sistemas, nespustelėkite nežinomų nuorodų ir prieš naudodami atidžiai patikrinkite, iš kur ji yra. Žr. straipsnį Kenkėjiškų programų keliama rizika ir kaip jos išvengti .