Co je malware podepsaný kódem a jak se mu vyhnout?

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.

Co je malware podepsaný kódem a jak se mu vyhnout?

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 .

Zanechat komentář

Jak opravit Kubernetes CrashLoopBackOff v lokálním Minikube

Jak opravit Kubernetes CrashLoopBackOff v lokálním Minikube

Diagnostikujte a opravte Kubernetes CrashLoopBackOff v lokálním Minikube kontrolou stavu podu, předchozích logů, důvodů ukončení, sond, konfigurace, limitů paměti a zdraví klastru.

Jak opravit chybu „Engine stopped“ v Docker Desktop na Windows 11

Jak opravit chybu „Engine stopped“ v Docker Desktop na Windows 11

Opravte chybu „Engine stopped“ v Docker Desktop na Windows 11 kontrolou stavu Dockeru, aktualizací a restartem WSL 2, ověřením virtualizace a použitím diagnostiky před resetem.

Jak opravit chybu Uncaught ReferenceError: process is not defined ve Vite

Jak opravit chybu Uncaught ReferenceError: process is not defined ve Vite

Opravte chybu process is not defined ve Vite nahrazením použití process.env ve stylu Node.js, správnou konfigurací proměnných VITE_ a kontrolou závislostí.

Jak opravit chybu „PyTorch CUDA Out of Memory“ během trénování modelu

Jak opravit chybu „PyTorch CUDA Out of Memory“ během trénování modelu

Opravte chyby nedostatečné paměti CUDA v PyTorch pomocí praktického postupu: měřte paměť GPU, zmenšete pracovní množinu, použijte AMP a akumulaci gradientů, ukládejte aktivace (checkpointing) a laděte alokátor pouze v případě potřeby.

Jak opravit chybějící hlavičku CORS Access-Control-Allow-Origin v Express.js

Jak opravit chybějící hlavičku CORS Access-Control-Allow-Origin v Express.js

Opravte chybu CORS s chybějící hlavičkou Access-Control-Allow-Origin v Express.js diagnostikou původu, bezpečnou konfigurací cors, zpracováním preflight požadavků a ověřením hlaviček.

Jak opravit chybu „Cannot read properties of undefined (reading 'map')“ v Reactu

Jak opravit chybu „Cannot read properties of undefined (reading 'map')“ v Reactu

Opravte chybu Reactu „Cannot read properties of undefined (reading 'map')“ vysledováním nedefinované hodnoty, opravou stavu a dat z API a přidáním bezpečných ochranných mechanismů při vykreslování.

Jak opravit chybu Module Not Found: Nelze vyřešit fs ve Webpacku

Jak opravit chybu Module Not Found: Nelze vyřešit fs ve Webpacku

Opravte chybu Webpacku „Nelze vyřešit 'fs'“ správným řešením: přesuňte kód pouze pro Node na server, použijte závislost bezpečnou pro prohlížeč, nastavte fs:false pouze u volitelných funkcí nebo správně cílte na Node.

Jak opravit chybu „Supabase API Key Not Found“ v proměnných prostředí

Jak opravit chybu „Supabase API Key Not Found“ v proměnných prostředí

Opravte chybějící klíče API Supabase v Next.js, Vite, Node, nasazeních a Edge Functions. Použijte aktuální názvy publikovatelných/secret klíčů, správné soubory env a bezpečné kroky ověření.

Jak opravit chybu „Flutter Command Not Found“ (cesta) v systému macOS

Jak opravit chybu „Flutter Command Not Found“ (cesta) v systému macOS

Opravte chybu „flutter: command not found“ v systému macOS nalezením SDK Flutter, přidáním složky bin do proměnné PATH, znovu načtením Zsh a ověřením nastavení.

Jak opravit chybu „Port 8080 je již používán“ v terminálu na Windows, macOS a Linuxu

Jak opravit chybu „Port 8080 je již používán“ v terminálu na Windows, macOS a Linuxu

Opravte chybu „Port 8080 je již používán“ nalezením procesu, který port vlastní, jeho bezpečným zastavením, řešením problémů s Dockerem nebo výběrem nového portu.