Windows

ÚToky na zranitelnost DLL, úniky a detekce

Nová Java 7 zranitelnost nultého dne - historie a ukázka útoku

Nová Java 7 zranitelnost nultého dne - historie a ukázka útoku

Obsah:

Anonim

DLL představuje Dynamic Link Libraries a jsou externími součástmi aplikací, které běží ve Windows nebo v jiných operačních systémech. Většina aplikací není sama o sobě kompletní a kód ukládá do různých souborů. Pokud je kód potřeba, související soubor se načte do paměti a použije. To snižuje velikost souboru aplikace při optimalizaci využití paměti RAM. Tento článek vysvětluje, co je DLL Hijacking a jak jej odhalit a zabránit.

Co jsou DLL soubory nebo knihovny dynamických vazeb

DLL jsou Dynamic Link Libraries a jak to je zřejmé jménem, různých aplikací. Každá aplikace, kterou používáme, může nebo nemusí používat určité kódy. Takové kódy jsou uloženy v různých souborech a jsou vyvolávány nebo nahrávány do paměti RAM pouze tehdy, když je požadován související kód. Tím ušetří soubor aplikace, který by se stal příliš velkým a zabránit tomu, aby aplikace hogging aplikace.

Cesta pro soubory DLL jsou nastaveny operačním systémem Windows. Cesta je nastavena pomocí globálních proměnných prostředí. Ve výchozím nastavení, pokud aplikace požaduje soubor DLL, operační systém se podívá do stejné složky, ve které je aplikace uložena. Není-li tam nalezen, jde o jiné složky, které jsou nastaveny globálními proměnnými. Existují priority spojené s cestami a pomáhá Windows při určování toho, které složky hledat DLL. Toto je místo, kde únos DLL přichází.

Co je to DLL Hijacking

Jelikož DLL jsou rozšíření a jsou nezbytné k použití téměř všech aplikací na vašem počítači, jsou přítomny v počítači v různých složkách, jak je vysvětleno. Pokud je původní soubor DLL nahrazen falešným souborem DLL obsahujícím škodlivý kód, je známý jako DLL únosu.

Jak již bylo zmíněno dříve, existují priority, pokud operační systém hledá soubory DLL. Nejprve se podívá na stejnou složku jako složka aplikace a pak vyhledává na základě priorit nastavených proměnnými prostředí operačního systému. Pokud je tedy soubor good.dll ve složce SysWOW64 a někdo umístí bad.dll do složky, která má vyšší prioritu ve srovnání se složkou SysWOW64, operační systém použije soubor bad.dll, protože má stejný název jako DLL požadované žádostí. Jednou v paměti RAM může spustit škodlivý kód obsažený v souboru a může ohrozit váš počítač nebo sítě.

Jak detekovat únosy DLL

Nejjednodušší metodou detekce a zabránění únosu DLL je použití nástrojů jiných výrobců. Na trhu je k dispozici několik dobrých bezplatných nástrojů, které pomáhají detekovat pokusy o hackování DLL a zabránit tomu.

Jeden takový program je DLL Hijack Auditor, ale podporuje pouze 32bitové aplikace. Můžete jej nainstalovat do počítače a skenovat všechny aplikace systému Windows, abyste zjistili, jaké jsou všechny aplikace citlivé na únik DLL. Rozhraní je jednoduché a vysvětlující. Jedinou nevýhodou této aplikace je to, že nemůžete skenovat 64bitové aplikace.

Dalším programem pro detekci únosů DLL DLL_HIJACK_DETECT je GitHub. Tento program kontroluje aplikace, aby zjistil, zda je některá z nich zranitelná kvůli úniku DLL. Pokud ano, program informuje uživatele. Aplikace má dvě verze - x86 a x64, takže je možné použít každý pro skenování jak 32bitových, tak 64bitových aplikací.

Je třeba poznamenat, že výše uvedené programy prostě skenují aplikace na platformě Windows, zabránit únosu DLL souborů.

Jak zabránit únosu DLL

Problém by měli řešit programátoři v první řadě, protože tam není moc, co byste mohli dělat, s výjimkou toho, abyste zvýšili bezpečnostní systémy. Pokud programátoři místo relativní cesty začnou používat absolutní cestu, zranitelnost se sníží. Čtení absolutní cesty, systému Windows nebo jiného operačního systému nebude záviset na systémových proměnných pro cestu a půjde rovnou pro zamýšlenou knihovnu DLL, čímž se odmítne šance načtení stejného názvu DLL do cesty s vyšší prioritou. Také tato metoda není odolná proti selhání, protože pokud je systém ohrožen a kybernetický důvěřitek zná přesnou cestu knihovny DLL, nahradí původní DLL falešnou knihovnou DLL. To by bylo přepsání souboru, takže původní DLL je změněn na škodlivý kód. Ale opět, cybercriminál bude muset znát přesnou absolutní cestu uvedenou v aplikaci, která vyžaduje DLL. Tento proces je pro počítačoví zločince těžký, a proto je možné je počítat.

Vrátit se k tomu, co můžete udělat, zkuste rozšířit své bezpečnostní systémy tak, aby lépe zabezpečily váš systém Windows. Použijte dobrý firewall. Je-li to možné, použijte hardwarovou firewall nebo zapněte firewall brány routeru. Používejte dobré systémy detekce narušení tak, abyste věděli, jestli se někdo pokouší o přehrání s počítačem.

Pokud se ocitnete v počítačích pro odstraňování problémů, můžete také provést následující kroky:

  1. Zakázat načítání DLL ze vzdálených síťových sdílených položek
  2. Zakázat načítání souborů DLL z WebDAV
  3. Zakázat službu WebClient úplně nebo nastavit ručně
  4. Zablokovat TCP porty 445 a 139, protože jsou nejčastěji používány pro kompromisy počítačů
  5. Instalovat nejnovější aktualizace operačního systému systém a bezpečnostní software.

Microsoft vydal nástroj k blokování útoků únosu zátěže DLL. Tento nástroj zmírňuje riziko únosu DLL zabránění aplikacím před nebezpečným načtením kódu z DLL souborů

Pokud byste chtěli přidat článek k článku, uveďte následující poznámku: