Potpisivanje koda je metoda korištenja digitalnog potpisa temeljenog na certifikatu za dio softvera tako da operativni sustav i korisnici mogu utvrditi njegovu sigurnost. Samo ispravan softver može koristiti svoj odgovarajući digitalni potpis.
Korisnici mogu sigurno preuzeti i instalirati softver, a programeri štite ugled svojih proizvoda potpisivanjem koda. Međutim, hakeri i distributeri zlonamjernog softvera koriste upravo taj sustav za dobivanje zlonamjernog koda putem antivirusnih paketa i drugih sigurnosnih programa . Dakle, što je malware potpisan kodom i kako radi?
Što je zlonamjerni softver s potpisom koda?
Kad je softver digitalno potpisan, to znači da ima službeni digitalni potpis. Tijelo za izdavanje certifikata izdaje certifikat softveru kako bi utvrdilo da je softver legalan i siguran za upotrebu.
Korisnici se neće morati brinuti jer će operativni sustav provjeriti certifikat i provjeriti taj digitalni potpis. Na primjer, Windows koristi lanac certifikata koji sadrži sve potrebne certifikate kako bi se osigurala legitimnost softvera.
Lanac certifikata sadrži sve certifikate potrebne za certificiranje entiteta identificiranog završnim certifikatom. Zapravo se sastoji od terminalskog certifikata, srednjeg CA certifikata i korijenskog CA certifikata kojem vjeruju sve strane u lancu. Svaki srednji CA certifikat u lancu sadrži certifikat koji izdaje CA jednu razinu iznad njega. Korijenski CA izdaje certifikate za sebe.
Nakon što se sustav pokrene, možete vjerovati softveru, sustavu za potpisivanje koda i CA-u. Zlonamjerni softver je zlonamjerni softver, nepouzdan je i nema pristup autoritetu za izdavanje certifikata ili potpisivanju koda.
Hakeri kradu certifikate iz tijela za izdavanje certifikata
Antivirusni softver zna da je malware zlonamjeran jer negativno utječe na vaš sustav. Pokreće upozorenja, korisnici prijavljuju probleme, a antivirusni softver može stvoriti malware potpise kako bi zaštitio druga računala koja koriste isti antivirusni mehanizam.
Međutim, kada bi kreatori zlonamjernog softvera mogli potpisati zlonamjerni softver službenim digitalnim potpisima, gore navedeni proces ne bi se dogodio. Umjesto toga, kodirani malware može ući u sustav službenim putem jer vaš antivirusni softver i operativni sustav ne otkrivaju ništa opasno.
Prema istraživanju Trend Microa, cjelokupno tržište zlonamjernog softvera usmjereno je na podršku razvoju i distribuciji zlonamjernog softvera potpisanog kodom. Operatori zlonamjernog softvera imaju pristup valjanim certifikatima koji se koriste za potpisivanje zlonamjernog koda. Tablica u nastavku prikazuje količinu zlonamjernog softvera koji koristi potpisivanje koda za izbjegavanje antivirusnog softvera od travnja 2018.
Istraživanje tvrtke Trend Micro također pokazuje da oko 66% malwarea ima digitalne potpise. Osim toga, postoje neke specifične vrste zlonamjernog softvera koji imaju više verzija digitalnih potpisa kao što su trojanci , dropperi i ransomware .
Odakle dolazi digitalni certifikat za potpisivanje koda?
Distributeri i programeri zlonamjernog softvera imaju dva načina za stvaranje malvera potpisanog kodom. Oni kradu certifikate od Tijela za izdavanje certifikata izravnim preuzimanjem ili lažnim predstavljanjem legitimne organizacije i traženjem certifikata od CA.
Kao što vidite, CA nije jedino mjesto na kojem su hakeri ciljani. Distributeri s pristupom legitimnim certifikatima mogu prodavati pouzdane digitalno potpisane certifikate razvojnim programerima i distributerima zlonamjernog softvera.
Sigurnosni istraživački tim sa Sveučilišta Masaryk u Češkoj i Maryland Cybersecurity Center otkrio je četiri organizacije koje prodaju Microsoft Authenticode certifikate anonimnim kupcima. Nakon što programer zlonamjernog softvera dobije certifikat Microsoft Authenticode, može potpisati svaki mogući zlonamjerni softver putem potpisivanja koda i zaštite temeljene na certifikatu.
U nekim drugim slučajevima, umjesto krađe certifikata, hakeri će se infiltrirati u poslužitelj za izradu softvera. Kada se izda nova verzija softvera, imat će legitiman certifikat, hakeri iskorištavaju ovaj proces za dodavanje zlonamjernog koda.
Primjer zlonamjernog softvera s potpisom koda
Dakle, kako izgleda malware potpisan kodom? Ispod su tri primjera ove vrste zlonamjernog softvera.
- Zlonamjerni softver Stuxnet : Ovaj zlonamjerni softver uništio je iranski nuklearni program pomoću dva ukradena certifikata i četiri ranjivosti nultog dana. Ti su certifikati ukradeni od dviju tvrtki JMicron i Realtek. Stuxnet je koristio ukradene certifikate kako bi izbjegao novi zahtjev Windowsa da svi upravljački programi zahtijevaju provjeru.
- Proboj Asusovog poslužitelja: između lipnja i studenog 2018. hakeri su prodrli u Asusov poslužitelj koji tvrtke koriste za slanje ažuriranja softvera korisnicima. Istraživanja u Kaspersky Labu pokazuju da je oko 500 tisuća Windows uređaja primilo ovo zlonamjerno ažuriranje prije nego što je otkriveno. Bez krađe certifikata, ovi hakeri potpisuju legitimne Asusove digitalne certifikate za svoj zlonamjerni softver prije nego što softverski poslužitelj distribuira ažuriranja sustava.
- Zlonamjerni softver Flame: varijanta zlonamjernog softvera modula Flame koji cilja na zemlje Bliskog istoka, koristeći lažno potpisane certifikate kako bi se izbjeglo otkrivanje. Programeri Flamea koristili su slab algoritam šifriranja za lažiranje digitalnih certifikata za potpisivanje koda, čineći da izgleda kao da ih je potpisao Microsoft. Za razliku od Stuxneta, koji je trebao biti destruktivan, Flame je špijunski alat koji pretražuje PDF datoteke, AutoCAD datoteke, tekstualne datoteke i druge vrste važnih industrijskih dokumenata.
Kako izbjeći malware potpisan kodom?
Ova vrsta zlonamjernog softvera koristi potpisivanje koda kako bi izbjegla otkrivanje od strane antivirusnog softvera i sustava, tako da je zaštita od zlonamjernog softvera potpisanog kodom izuzetno teška. Uvijek je važno ažurirati antivirusni softver i sustave, izbjegavajte klikanje na nepoznate poveznice i pažljivo provjerite odakle poveznica dolazi prije nego što je slijedite. Pogledajte članak Rizici od zlonamjernog softvera i kako ga izbjeći .