Kas yra Code Signed kenkėjiška programa ir kaip jos išvengti?

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.

Kas yra Code Signed kenkėjiška programa ir kaip jos išvengti?

„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 .

Palikti komentarą

Kaip ištaisyti klaidą „Prisma Client has not been generated yet“

Kaip ištaisyti klaidą „Prisma Client has not been generated yet“

Ištaisykite „Prisma Client“ nesugeneravimo klaidą patikrinę generatorių, schemą, išvesties kelią, importus, versijas, monorepo sąranką ir diegimo kūrimo veiksmus.

Kaip išspręsti SSL sertifikato problemą: „Unable to Get Local Issuer Certificate“ Git

Kaip išspręsti SSL sertifikato problemą: „Unable to Get Local Issuer Certificate“ Git

Ištaisykite Git klaidą „unable to get local issuer certificate“ nustatydami pasitikėjimo šaltinį, įdiegdami tinkamą CA grandinę ir palikdami įjungtą SSL patikrą.

Kaip išspręsti MongoDB tinklo laiko limito klaidą Mongoose jungtyje

Kaip išspręsti MongoDB tinklo laiko limito klaidą Mongoose jungtyje

Ištaisykite MongoDB tinklo laiko limito klaidas Mongoose nustatydami laiko limito tipą, patikrindami Atlas arba TCP pasiekiamumą, koreguodami URI ir tikslindami laiko limitus tik tada, kai tai pagrįsta.

Kaip išspręsti „Execution Policy Restricted“ klaidą Windows PowerShell

Kaip išspręsti „Execution Policy Restricted“ klaidą Windows PowerShell

Ištaisykite PowerShell vykdymo politikos „Restricted“ klaidą patikrindami sritį ir grupės politiką, tada pasirinkdami RemoteSigned, Unblock-File arba laikiną sesijos parinktį.

Kaip išspręsti npm ERR! code ERESOLVE peer dependency konfliktą

Kaip išspręsti npm ERR! code ERESOLVE peer dependency konfliktą

Ištaisykite npm ERESOLVE peer dependency konfliktus nustatydami nesuderinamą paketo diapazoną, suderindami versijas, naudodami komandas npm explain ir npm ls, bei laikydami legacy-peer-deps arba force tik kontroliuojamais atsarginiais variantais.

Kaip ištaisyti Redis prisijungimo prie 127.0.0.1:6379 klaidą

Kaip ištaisyti Redis prisijungimo prie 127.0.0.1:6379 klaidą

Ištaisykite Redis prisijungimo atmetimo klaidas adresu 127.0.0.1:6379 tikrindami serverį, prievadą, Docker tinklą, redis.conf, autentifikaciją ir TLS.

Kaip ištaisyti vidinę 500 klaidą Next.js Server Components

Kaip ištaisyti vidinę 500 klaidą Next.js Server Components

Ištaisykite Next.js Server Component 500 klaidas stebėdami serverio žurnalus, tikrindami duomenų gavimą ir aplinkos kintamuosius, apdorodami klaidas ir patikrindami gamybinį sukūrimą.

Kaip išspręsti Kubernetes CrashLoopBackOff klaidą vietiniame Minikube

Kaip išspręsti Kubernetes CrashLoopBackOff klaidą vietiniame Minikube

Diagnozuokite ir ištaisykite Kubernetes CrashLoopBackOff klaidą vietiniame Minikube tikrindami pod būseną, ankstesnius žurnalus, išėjimo priežastis, zondas, konfigūraciją, atminties apribojimus ir klasterio sveikatą.

Kaip išspręsti „Docker Desktop Engine Stopped“ klaidą sistemoje Windows 11

Kaip išspręsti „Docker Desktop Engine Stopped“ klaidą sistemoje Windows 11

Ištaisykite „Docker Desktop Engine Stopped“ klaidą sistemoje Windows 11 tikrindami Docker būseną, atnaujindami ir paleisdami iš naujo WSL 2, tikrindami virtualizaciją bei naudodami diagnostiką prieš atstatymą.

Kaip ištaisyti klaidą „Uncaught ReferenceError: process is not defined“ naudojant Vite

Kaip ištaisyti klaidą „Uncaught ReferenceError: process is not defined“ naudojant Vite

Ištaisykite Vite klaidą „process is not defined“ pakeisdami Node stiliaus process.env naudojimą, teisingai sukonfigūruodami VITE_ kintamuosius ir patikrindami priklausomybes.