Podepisování kódu je způsob použití digitálního podpisu založeného na certifikátu pro část softwaru, aby operační systém a uživatelé mohli určit jeho bezpečnost. Odpovídající digitální podpis může používat pouze správný software.
Uživatelé mohou bezpečně stahovat a instalovat software a vývojáři chrání pověst svých produktů pomocí podepisování kódu. Hackeři a distributoři malwaru však používají přesně tento systém k získání škodlivého kódu prostřednictvím antivirových sad a dalších bezpečnostních programů . Co je tedy malware podepsaný kódem a jak funguje?
Co je malware podepsaný kódem?
Když je software digitálně podepsán, znamená to, že má oficiální digitální podpis. Certifikační autorita vydává certifikát softwaru, který určuje, že je software legální a bezpečný pro použití.
Uživatelé se nebudou muset bát, protože operační systém zkontroluje certifikát a ověří digitální podpis. Například systém Windows používá řetězec certifikátů, který obsahuje všechny potřebné certifikáty k zajištění legitimity softwaru.
Řetězec certifikátů obsahuje všechny certifikáty nezbytné k certifikaci entity identifikované koncovým certifikátem. Ve skutečnosti se skládá z certifikátu terminálu, zprostředkujícího certifikátu CA a certifikátu kořenové CA, kterému důvěřují všechny strany v řetězci. Každý certifikát zprostředkující CA v řetězci obsahuje certifikát vydaný CA o úroveň výše. Kořenová CA vydává certifikáty sama pro sebe.
Jakmile je systém uveden do provozu, můžete softwaru, systému podepisování kódu a CA důvěřovat. Malware je škodlivý software, je nedůvěryhodný a nemá přístup k certifikační autoritě ani k podepisování kódu.
Hackeři kradou certifikáty od certifikační autority
Antivirový software ví, že malware je škodlivý, protože negativně ovlivňuje váš systém. Spouští varování, uživatelé hlásí problémy a antivirový software může vytvářet signatury malwaru k ochraně ostatních počítačů používajících stejný antivirový modul.
Pokud by však tvůrci malwaru mohli podepsat malware pomocí oficiálních digitálních podpisů, k výše uvedenému procesu by nedošlo. Místo toho se malware s kódem může dostat do systému oficiální cestou, protože váš antivirový software a operační systém nic nebezpečného nezjistí.
Podle výzkumu Trend Micro se celý trh s malwarem zaměřuje na podporu vývoje a distribuce malwaru podepsaného kódem. Provozovatelé malwaru mají přístup k platným certifikátům používaným k podepisování škodlivého kódu. Níže uvedená tabulka ukazuje množství malwaru, který od dubna 2018 používá podepisování kódu, aby se vyhnul antivirovému softwaru.
Výzkum Trend Micro také ukazuje, že asi 66 % malwaru má digitální podpisy. Kromě toho existují některé specifické typy malwaru, které mají více verzí digitálních podpisů, jako jsou trojské koně , kapátka a ransomware .
Odkud pochází digitální certifikát pro podepisování kódu?
Distributoři a vývojáři malwaru mají dva způsoby, jak vytvořit malware podepsaný kódem. Kradou certifikáty od certifikační autority tím, že přímo nebo získávají nebo se vydávají za legitimní organizaci a požadují certifikát od CA.
Jak vidíte, CA není jediným cílem hackerů. Distributoři s přístupem k legitimním certifikátům mohou prodávat důvěryhodné digitálně podepsané certifikáty vývojářům a distributorům malwaru.
Bezpečnostní výzkumný tým z Masarykovy univerzity v České republice a Maryland Cybersecurity Center objevily čtyři organizace prodávající certifikáty Microsoft Authenticode anonymním kupujícím. Jakmile má vývojář malwaru certifikát Microsoft Authenticode, může podepsat jakýkoli možný malware pomocí podepisování kódu a ochrany na základě certifikátu.
V některých jiných případech místo krádeže certifikátů proniknou hackeři na server sestavení softwaru. Když bude vydána nová verze softwaru, bude mít legitimní certifikát, hackeři využívají tohoto procesu k přidání škodlivého kódu.
Příklad malwaru podepsaného kódem
Jak tedy vypadá malware podepsaný kódem? Níže jsou uvedeny tři příklady tohoto typu malwaru.
- Malware Stuxnet : Tento malware zničil íránský jaderný program pomocí dvou ukradených certifikátů a čtyř zranitelností zero-day. Tyto certifikáty byly odcizeny dvěma společnostem JMicron a Realtek. Stuxnet použil odcizené certifikáty, aby se vyhnul novému požadavku Windows na zavedení, že všechny ovladače vyžadují ověření.
- Narušení serveru Asus: Mezi červnem a listopadem 2018 pronikli hackeři na server Asus, který společnosti používají k odesílání aktualizací softwaru uživatelům. Výzkum společnosti Kaspersky Lab ukazuje, že asi 500 tisíc zařízení se systémem Windows obdrželo tuto škodlivou aktualizaci předtím, než byla detekována. Bez krádeže certifikátů tito hackeři podepisují legitimní digitální certifikáty Asus pro svůj malware předtím, než softwarový server distribuuje aktualizace systému.
- Flame malware: Varianta malwaru modulu Flame zaměřená na země Středního východu, využívající podvodně podepsané certifikáty, aby se zabránilo odhalení. Vývojáři Flame použili slabý šifrovací algoritmus k falešným digitálním certifikátům pro podepisování kódu, takže to vypadalo, jako by je podepsal Microsoft. Na rozdíl od Stuxnetu, který měl být destruktivní, je Flame špionážní nástroj, který vyhledává soubory PDF, soubory AutoCADu, textové soubory a další typy důležitých průmyslových dokumentů.
Jak se vyhnout malwaru podepsanému kódem?
Tento typ malwaru využívá podepisování kódu, aby se vyhnul detekci antivirovým softwarem a systémy, takže ochrana před malwarem podepsaným kódem je extrémně obtížná. Vždy je nutné aktualizovat antivirový software a systémy, neklikejte na neznámé odkazy a před pokračováním si pečlivě zkontrolujte , odkud odkaz pochází. Přečtěte si článek Rizika malwaru a jak se mu vyhnout .