Malvér

Útočné chyby, prevencia a detekcia napadnutia DLL únosom

Útočné chyby, prevencia a detekcia napadnutia DLL únosom

DLL je skratka pre Dynamic Link Libraries a je externou súčasťou aplikácií, ktoré bežia na Windows alebo inom operačnom systéme. Väčšina aplikácií nie je sama o sebe úplná a ukladá kód do rôznych súborov. Ak je kód potrebný, načíta sa súvisiaci súbor do pamäte a použije sa. Tým sa zníži veľkosť súboru aplikácie a optimalizuje sa využitie pamäte RAM. Tento článok vysvetľuje, čo to je Únos DLL a ako to zistiť a zabrániť.

Čo sú súbory DLL alebo knižnice Dynamic Link

Súbory DLL sú dynamickými knižnicami a ako je zrejmé z názvu, sú príponami rôznych aplikácií. Akákoľvek aplikácia, ktorú používame, môže alebo nemusí používať určité kódy. Takéto kódy sú uložené v rôznych súboroch a sú vyvolané alebo načítané do RAM iba v prípade, že je vyžadovaný súvisiaci kód. Ukladá teda príliš veľký súbor aplikácie a zabráni tomu, aby aplikácia uchránila zdroje.

Cesta k súborom DLL je nastavená operačným systémom Windows. Cesta je nastavená pomocou globálnych environmentálnych premenných. V predvolenom nastavení, ak aplikácia požaduje súbor DLL, operačný systém vyhľadá rovnaký priečinok, v ktorom je uložená. Ak sa tam nenájde, prejde do iných priečinkov, ktoré sú nastavené globálnymi premennými. Cestám sú priradené priority a pomáha systému Windows pri určovaní toho, ktoré priečinky majú hľadať knižnice DLL. To je miesto, kde únos DLL prichádza.

Čo je to DLL únos

Pretože knižnice DLL sú rozšíreniami a sú nevyhnutné na používanie takmer všetkých aplikácií na vašich počítačoch, nachádzajú sa v počítači v rôznych priečinkoch, ako je vysvetlené. Ak je pôvodný súbor DLL nahradený falošným súborom DLL obsahujúcim škodlivý kód, je známy ako Únos DLL.

Ako už bolo spomenuté, existujú priority v oblasti, kde operačný systém vyhľadáva súbory DLL. Najskôr vyhľadá rovnaký priečinok ako priečinok aplikácie a potom vyhľadáva na základe priorít stanovených premennými prostredia operačného systému. Teda ak dobrý.dll súbor je v priečinku SysWOW64 a niekto umiestni zlé.dll v priečinku, ktorý má vyššiu prioritu v porovnaní s priečinkom SysWOW64, operačný systém použije zlé.dll súbor, pretože má rovnaký názov ako DLL požadovaný aplikáciou. Po vložení do pamäte RAM môže spustiť škodlivý kód obsiahnutý v súbore a môže poškodiť váš počítač alebo siete.

Ako zistiť únos DLL

Najjednoduchšou metódou na detekciu a zabránenie únosu DLL je použitie nástrojov tretích strán. Na trhu existuje niekoľko dobrých bezplatných nástrojov, ktoré pomáhajú pri zisťovaní pokusu o hacknutie súboru DLL a jeho prevencii.

Jedným z takýchto programov je DLL Hijack Auditor, ktorý však podporuje iba 32-bitové aplikácie. Môžete si ho nainštalovať do počítača a naskenovať všetky svoje aplikácie pre Windows, aby ste zistili, ktoré všetky aplikácie sú zraniteľné pri únose DLL. Rozhranie je jednoduché a zrozumiteľné. Jedinou nevýhodou tejto aplikácie je, že nemôžete skenovať 64-bitové aplikácie.

Iný program na detekciu únosov DLL, DLL_HIJACK_DETECT, je k dispozícii prostredníctvom služby GitHub. Tento program kontroluje aplikácie, aby zistil, či sú niektoré z nich zraniteľné voči únosu DLL. Ak je, program o tom informuje používateľa. Aplikácia má dve verzie - x86 a x64, takže každú môžete použiť na skenovanie 32-bitových aj 64-bitových aplikácií.

Je potrebné poznamenať, že vyššie uvedené programy iba prehľadávajú zraniteľnosť aplikácií na platforme Windows a v skutočnosti nezabránia únosu súborov DLL.

Ako zabrániť únosu DLL

Túto otázku by mali v prvom rade riešiť programátori, pretože okrem vylepšenia bezpečnostných systémov nemôžete urobiť veľa,. Ak programátori namiesto relatívnej cesty začnú používať absolútnu cestu, zraniteľnosť sa zníži. Čítanie absolútnej cesty, systému Windows alebo iného operačného systému nebude závisieť od systémových premenných pre cestu a bude smerovať priamo k zamýšľanej DLL, čím vylúči šance na načítanie rovnakého názvu DLL do cesty s vyššou prioritou. Aj táto metóda nie je odolná proti zlyhaniu, pretože ak je systém napadnutý a počítačoví zločinci poznajú presnú cestu DLL, nahradia pôvodnú DLL falošnou DLL. To by prepísalo súbor tak, aby sa pôvodná DLL zmenila na škodlivý kód. Kybernetický zločinec však bude musieť poznať presnú absolútnu cestu uvedenú v aplikácii, ktorá vyžaduje knižnicu DLL. Tento proces je pre kybernetických zločincov náročný, a preto s ním možno počítať.

Keď sa vrátime k tomu, čo môžete urobiť, skúste len rozšíriť svoje zabezpečovacie systémy, aby ste lepšie zabezpečili svoj systém Windows. Použite kvalitný firewall. Ak je to možné, použite hardvérový firewall alebo zapnite bránu firewall smerovača. Používajte dobré systémy detekcie vniknutia, aby ste vedeli, či sa niekto pokúša hrať s počítačom.

Ak sa zameriavate na riešenie problémov s počítačmi, môžete v rámci zvýšenia svojej bezpečnosti vykonať aj nasledovné:

  1. Zakázať načítanie DLL zo zdieľaných vzdialených sietí
  2. Zakázať načítanie súborov DLL z WebDAV
  3. Službu WebClient úplne vypnite alebo ju nastavte na manuálnu
  4. Blokujte porty TCP 445 a 139, pretože sa najviac používajú na kompromitáciu počítačov
  5. Nainštalujte si najnovšie aktualizácie operačného systému a bezpečnostného softvéru.

Microsoft vydala nástroj na blokovanie útokov únosov načítania DLL. Tento nástroj zmierňuje riziko únosov DLL útokmi tým, že zabraňuje aplikáciám v nezabezpečenom načítaní kódu zo súborov DLL.

Ak by ste chceli k článku niečo pridať, prosím komentár nižšie.

Ako zmeniť smer posúvania myši a touchpadu v systéme Windows 10
Myš a TouchpadNielenže uľahčujú výpočty, ale sú aj efektívnejšie a menej časovo náročné. Nemôžeme si predstaviť život bez týchto zariadení, ale je pra...
Ako zmeniť veľkosť, farbu a schému ukazovateľa myši a kurzora v systéme Windows 10
Ukazovateľ myši a kurzor vo Windows 10 sú veľmi dôležité aspekty operačného systému. Dá sa to povedať aj pre iné operačné systémy, takže v skutočnosti...
Hry Zadarmo a open source herné motory pre vývoj hier pre Linux
Zadarmo a open source herné motory pre vývoj hier pre Linux
Tento článok sa bude zaoberať zoznamom bezplatných a otvorených herných nástrojov, ktoré možno použiť na vývoj 2D a 3D hier v systéme Linux. Existuje ...