Hva er kodesignert skadelig programvare og hvordan unngå det?

Kodesignering er en metode for å bruke en sertifikatbasert digital signatur for et stykke programvare slik at operativsystemet og brukerne kan bestemme sikkerheten. Bare den riktige programvaren kan bruke den tilsvarende digitale signaturen.

Brukere kan trygt laste ned og installere programvare, og utviklere beskytter omdømmet til produktene sine med kodesignering. Imidlertid bruker hackere og distributører av skadelig programvare akkurat det systemet for å få ondsinnet kode gjennom antiviruspakker og andre sikkerhetsprogrammer . Så hva er kodesignert skadelig programvare og hvordan fungerer det?

Hva er kodesignert skadelig programvare?

Når programvare er digitalt signert, betyr det at den har en offisiell digital signatur. Sertifiseringsinstans utsteder et sertifikat til en programvare for å fastslå at programvaren er lovlig og trygg å bruke.

Brukere trenger ikke å bekymre seg fordi operativsystemet vil sjekke sertifikatet og bekrefte den digitale signaturen. For eksempel bruker Windows en sertifikatkjede som inneholder alle nødvendige sertifikater for å sikre at programvaren er legitim.

Sertifikatkjeden inneholder alle sertifikatene som er nødvendige for å sertifisere enheten identifisert av sluttsertifikatet. Faktisk består det av et terminalsertifikat, et mellomliggende CA-sertifikat og et rot-CA-sertifikat som er klarert av alle parter i kjeden. Hvert mellomliggende CA-sertifikat i kjeden inneholder et sertifikat utstedt av CA ett nivå over det. Rot-CA utsteder sertifikater for seg selv.

Når systemet er oppe og går, kan du stole på programvaren, kodesigneringssystemet og CA. Skadelig programvare er skadelig programvare, er uklarert og har ikke tilgang til sertifiseringsinstans eller kodesignering.

Hackere stjeler sertifikater fra Certificate Authority

Antivirusprogramvare vet at skadelig programvare er skadelig fordi det påvirker systemet ditt negativt. Det utløser advarsler, brukere rapporterer problemer, og antivirusprogramvare kan lage skadelige signaturer for å beskytte andre datamaskiner som bruker samme antivirusmotor.

Men hvis skadevareskapere kunne signere skadelig programvare ved hjelp av offisielle digitale signaturer, ville ikke prosessen ovenfor skje. I stedet kan kodesynget skadelig programvare komme inn i systemet via den offisielle ruten fordi antivirusprogramvaren og operativsystemet ikke oppdager noe farlig.

I følge Trend Micro-undersøkelser er hele skadevaremarkedet fokusert på å støtte utvikling og distribusjon av kodesignert skadelig programvare. Skadevareoperatører har tilgang til gyldige sertifikater som brukes til å signere ondsinnet kode. Tabellen nedenfor viser mengden skadelig programvare som har brukt kodesignering for å unngå antivirusprogramvare siden april 2018.

Hva er kodesignert skadelig programvare og hvordan unngå det?

Trend Micros forskning viser også at rundt 66 % av skadelig programvare har digitale signaturer. I tillegg er det noen spesifikke typer skadelig programvare som har flere versjoner av digitale signaturer som trojanere , droppere og løsepengeprogramvare .

Hvor kommer det digitale sertifikatet for kodesignering fra?

Malware-distributører og utviklere har to måter å lage kodesignert skadelig programvare på. De stjeler sertifikater fra sertifiseringsmyndigheten ved å direkte eller anskaffe eller utgi seg for en legitim organisasjon og be om et sertifikat fra CA.

Som du kan se, er ikke CA det eneste stedet hackere retter seg mot. Distributører med tilgang til legitime sertifikater kan selge pålitelige digitalt signerte sertifikater til utviklere og distributører av skadevare.

Et sikkerhetsforskningsteam fra Masaryk University i Tsjekkia og Maryland Cybersecurity Center oppdaget fire organisasjoner som selger Microsoft Authenticode-sertifikater til anonyme kjøpere. Når en skadevareutvikler har et Microsoft Authenticode-sertifikat, kan de signere all mulig skadelig programvare gjennom kodesignering og sertifikatbasert beskyttelse.

I noen andre tilfeller, i stedet for å stjele sertifikater, vil hackere infiltrere programvarebyggserveren. Når en ny programvareversjon er utgitt, vil den ha et legitimt sertifikat, hackere drar nytte av denne prosessen for å legge til ondsinnet kode.

Eksempel på kodesignert skadelig programvare

Så hvordan ser kodesignert skadelig programvare ut? Nedenfor er tre eksempler på denne typen skadelig programvare.

  • Stuxnet malware : Denne malware ødela Irans atomprogram ved å bruke to stjålne sertifikater og fire nulldagers sårbarheter. Disse sertifikatene ble stjålet fra to selskaper JMicron og Realtek. Stuxnet brukte stjålne sertifikater for å unngå Windows sitt nye introduksjonskrav om at alle drivere krever verifisering.
  • Asus-serverbrudd: Mellom juni og november 2018 penetrerte hackere en Asus-server som selskaper bruker til å sende programvareoppdateringer til brukere. Forskning ved Kaspersky Lab viser at rundt 500 tusen Windows-enheter mottok denne ondsinnede oppdateringen før de ble oppdaget. Uten å stjele sertifikater signerer disse hackerne legitime Asus digitale sertifikater for skadelig programvare før programvareserveren distribuerer systemoppdateringer.
  • Flame malware: Variant av Flame-modulen malware rettet mot land i Midtøsten, ved å bruke uredelig signerte sertifikater for å unngå oppdagelse. Flame-utviklere brukte en svak krypteringsalgoritme for å forfalske digitale sertifikater for kodesignering, slik at det ser ut som om Microsoft hadde signert dem. I motsetning til Stuxnet, som var ment å være destruktiv, er Flame et spionverktøy som søker etter PDF-filer, AutoCAD-filer, tekstfiler og andre typer viktige industrielle dokumenter.

Hvordan unngå kodesignert skadelig programvare?

Denne typen skadelig programvare bruker kodesignering for å unngå oppdagelse av antivirusprogramvare og -systemer, så det er ekstremt vanskelig å beskytte mot kodesignert skadelig programvare. Det er viktig å alltid oppdatere antivirusprogramvare og -systemer, unngå å klikke på ukjente lenker og sjekk nøye hvor koblingen kommer fra før du følger den. Se artikkelen Risikoer fra skadelig programvare og hvordan du unngår det .

Legg igjen en kommentar

Slik fikser du intern feil 500 i Next.js Server Components

Slik fikser du intern feil 500 i Next.js Server Components

Fiks Next.js Server Component 500-feil ved å spore serverlogger, sjekke datahenting og miljøvariabler, håndtere feil og verifisere produksjonsbygget.

Slik fikser du Kubernetes CrashLoopBackOff i lokal Minikube

Slik fikser du Kubernetes CrashLoopBackOff i lokal Minikube

Diagnostiser og fiks Kubernetes CrashLoopBackOff i lokal Minikube ved å sjekke pod-tilstand, tidligere logger, avslutningsårsaker, prober, konfigurasjon, minsegrenser og klusterhelse.

Slik fikser du at Docker Desktop-motoren stopper på Windows 11

Slik fikser du at Docker Desktop-motoren stopper på Windows 11

Fiks Docker Desktop-motoren som stopper på Windows 11 ved å sjekke Docker-status, oppdatere og starte WSL 2 på nytt, verifisere virtualisering og bruke diagnostikk før nullstilling.

Slik løser du Uncaught ReferenceError: process is not defined i Vite

Slik løser du Uncaught ReferenceError: process is not defined i Vite

Løs Vite-feilen 'process is not defined' ved å erstatte Node-stil bruk av process.env, konfigurere VITE_-variabler riktig og sjekke avhengigheter.

Slik løser du “PyTorch CUDA Out of Memory” under modelltrening

Slik løser du “PyTorch CUDA Out of Memory” under modelltrening

Løs PyTorch CUDA out-of-memory-feil med en praktisk arbeidsflyt: mål GPU-minne, reduser arbeidssettet, bruk AMP og akkumulering, sjekkpoint-aktiveringer, og juster allokatoren kun ved behov.

Slik fikser du manglende CORS-header Access-Control-Allow-Origin i Express.js

Slik fikser du manglende CORS-header Access-Control-Allow-Origin i Express.js

Fiks manglende Access-Control-Allow-Origin CORS-feil i Express.js ved å diagnostisere opprinnelsen, konfigurere cors trygt, håndtere preflight og verifisere headers.

Slik fikser du feilen “Cannot Read Properties of Undefined (Reading map)” i React

Slik fikser du feilen “Cannot Read Properties of Undefined (Reading map)” i React

Fiks React-feilen “Cannot read properties of undefined (reading 'map')” ved å spore opp den udefinerte verdien, korrigere state og API-data, og legge til sikre gjengivelseskontroller.

Slik løser du feilen «Module not found: Can’t resolve 'fs'» i Webpack

Slik løser du feilen «Module not found: Can’t resolve 'fs'» i Webpack

Løs Webpack-feilen «Can’t resolve 'fs'» ved å velge riktig løsning: flytt Node-kun-kode til serveren, bruk en nettlesersikker avhengighet, sett fs:false kun hvis valgfritt, eller mål mot Node riktig.

Slik fikser du at Supabase API-nøkkel ikke finnes i miljøvariabler

Slik fikser du at Supabase API-nøkkel ikke finnes i miljøvariabler

Fiks manglende Supabase API-nøkler i Next.js, Vite, Node, utplasseringer og Edge Functions. Bruk gjeldende navn på publiserbare/secret-nøkler, korrekte env-filer og trygge verifiseringstrinn.

Slik løser du feilen “Flutter Command Not Found” på macOS

Slik løser du feilen “Flutter Command Not Found” på macOS

Løs feilen “flutter: command not found” på macOS ved å finne Flutter SDK, legge til bin-mappen i PATH, laste inn Zsh på nytt og verifisere oppsettet.