Podpisovanie kódu je metóda použitia digitálneho podpisu založeného na certifikáte pre softvér, aby operačný systém a používatelia mohli určiť jeho bezpečnosť. Iba správny softvér môže používať zodpovedajúci digitálny podpis.
Používatelia si môžu bezpečne stiahnuť a nainštalovať softvér a vývojári chránia reputáciu svojich produktov pomocou podpisovania kódu. Hackeri a distribútori škodlivého softvéru však používajú presne tento systém na získanie škodlivého kódu prostredníctvom antivírusových balíkov a iných bezpečnostných programov . Čo je teda malvér podpísaný kódom a ako funguje?
Čo je malvér s kódom?
Keď je softvér digitálne podpísaný, znamená to, že má oficiálny digitálny podpis. Certifikačná autorita vydáva certifikát softvéru, ktorý určuje, že softvér je legálny a bezpečný na používanie.
Používatelia sa nebudú musieť obávať, pretože operačný systém skontroluje certifikát a overí digitálny podpis. Napríklad systém Windows používa reťazec certifikátov, ktorý obsahuje všetky potrebné certifikáty na zabezpečenie legitímnosti softvéru.
Certifikačný reťazec obsahuje všetky certifikáty potrebné na certifikáciu entity identifikovanej koncovým certifikátom. V skutočnosti pozostáva z certifikátu terminálu, sprostredkovateľského certifikátu CA a certifikátu koreňovej CA, ktorému dôverujú všetky strany v reťazci. Každý certifikát strednej CA v reťazci obsahuje certifikát vydaný CA o úroveň vyššie. Koreňová CA vydáva certifikáty pre seba.
Keď je systém v prevádzke, môžete dôverovať softvéru, systému podpisovania kódu a CA. Malvér je škodlivý softvér, je nedôveryhodný a nemá prístup k certifikačnej autorite ani k podpisovaniu kódu.
Hackeri kradnú certifikáty od certifikačnej autority
Antivírusový softvér vie, že malvér je škodlivý, pretože negatívne ovplyvňuje váš systém. Spúšťa upozornenia, používatelia hlásia problémy a antivírusový softvér môže vytvárať podpisy škodlivého softvéru na ochranu iných počítačov pomocou rovnakého antivírusového nástroja.
Ak by však tvorcovia malvéru mohli podpísať malvér pomocou oficiálnych digitálnych podpisov, vyššie uvedený proces by nenastal. Namiesto toho sa malvér s kódom môže dostať do systému oficiálnou cestou, pretože váš antivírusový softvér a operačný systém nezistia nič nebezpečné.
Podľa prieskumu Trend Micro je celý trh s malvérom zameraný na podporu vývoja a distribúcie malvéru podpísaného kódom. Prevádzkovatelia malvéru majú prístup k platným certifikátom používaným na podpisovanie škodlivého kódu. Nasledujúca tabuľka zobrazuje množstvo malvéru, ktoré používa podpisovanie kódu na obchádzanie antivírusového softvéru od apríla 2018.
Prieskum Trend Micro tiež ukazuje, že približne 66 % malvéru má digitálne podpisy. Okrem toho existujú niektoré špecifické typy malvéru, ktoré majú viacero verzií digitálnych podpisov, ako sú trójske kone , droppers a ransomware .
Odkiaľ pochádza digitálny certifikát na podpisovanie kódu?
Distribútori a vývojári malvéru majú dva spôsoby, ako vytvoriť malvér podpísaný kódom. Kradnú certifikáty od certifikačnej autority priamo alebo získaním alebo zosobnením legitímnej organizácie a vyžiadaním certifikátu od certifikačnej autority.
Ako vidíte, CA nie je jediným cieľom hackerov. Distribútori s prístupom k legitímnym certifikátom môžu predávať dôveryhodné digitálne podpísané certifikáty vývojárom a distribútorom malvéru.
Tím bezpečnostného výskumu z Masarykovej univerzity v Českej republike a Maryland Cybersecurity Center objavili štyri organizácie predávajúce certifikáty Microsoft Authenticode anonymným kupujúcim. Keď vývojár malvéru získa certifikát Microsoft Authenticode, môže podpísať akýkoľvek možný malvér prostredníctvom podpisovania kódu a ochrany na základe certifikátu.
V niektorých iných prípadoch namiesto krádeže certifikátov hackeri preniknú na server zostavenia softvéru. Keď bude vydaná nová verzia softvéru, bude mať legitímny certifikát, hackeri využívajú tento proces na pridanie škodlivého kódu.
Príklad škodlivého softvéru s kódom
Ako teda vyzerá malvér podpísaný kódom? Nižšie sú uvedené tri príklady tohto typu malvéru.
- Malvér Stuxnet : Tento malvér zničil iránsky jadrový program pomocou dvoch ukradnutých certifikátov a štyroch zraniteľností zero-day. Tieto certifikáty boli ukradnuté dvom spoločnostiam JMicron a Realtek. Stuxnet použil ukradnuté certifikáty, aby sa vyhol novej požiadavke zavedenia systému Windows, že všetky ovládače vyžadujú overenie.
- Narušenie servera Asus: Medzi júnom a novembrom 2018 hackeri prenikli na server Asus, ktorý spoločnosti používajú na poskytovanie aktualizácií softvéru používateľom. Výskum spoločnosti Kaspersky Lab ukazuje, že asi 500 tisíc zariadení so systémom Windows dostalo túto škodlivú aktualizáciu predtým, ako bola zistená. Bez toho, aby kradli certifikáty, títo hackeri podpisujú legitímne digitálne certifikáty Asus pre svoj malvér predtým, ako softvérový server distribuuje aktualizácie systému.
- Flame malvér: Variant malvéru modulu Flame zacielený na krajiny Blízkeho východu, ktorý používa podvodne podpísané certifikáty, aby sa zabránilo odhaleniu. Vývojári Flame použili slabý šifrovací algoritmus na falošné digitálne certifikáty na podpisovanie kódu, takže to vyzeralo, akoby ich podpísal Microsoft. Na rozdiel od Stuxnetu, ktorý mal byť deštruktívny, Flame je špionážny nástroj, ktorý vyhľadáva súbory PDF, súbory AutoCAD, textové súbory a iné typy dôležitých priemyselných dokumentov.
Ako sa vyhnúť malvéru s kódom?
Tento typ malvéru používa podpisovanie kódu, aby sa zabránilo odhaleniu antivírusovým softvérom a systémami, takže ochrana proti malvéru s podpisom kódu je mimoriadne náročná. Vždy je potrebné aktualizovať antivírusový softvér a systémy, vyhýbajte sa klikaniu na neznáme odkazy a pred použitím odkazu si dôkladne skontrolujte , odkiaľ odkaz pochádza. Pozrite si článok Riziká spôsobené malvérom a ako sa mu vyhnúť .