DLL Hijacking Vulnerability Útoky, prevencia a detekcia

DLL je skratka pre Dynamic Link Libraries a sú to externé časti aplikácií, ktoré bežia na Windowse(Windows) alebo inom operačnom systéme. Väčšina aplikácií nie je úplná a kód ukladá do rôznych súborov. Ak je potrebný kód, príslušný súbor sa načíta do pamäte a použije sa. Tým sa zníži veľkosť súboru aplikácie a zároveň sa optimalizuje využitie pamäte RAM(RAM) . Tento článok vysvetľuje, čo je DLL Hijacking a ako ho odhaliť a zabrániť mu.

Čo sú súbory(Files) DLL alebo knižnice dynamických odkazov(Dynamic Link Libraries)

DLL Hijacking

(DLL)Súbory DLL sú knižnice dynamických odkazov(Dynamic Link Libraries) a ako je zrejmé z názvu, sú rozšíreniami rôznych aplikácií. Každá 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 vtedy, keď je potrebný súvisiaci kód. To šetrí súbor aplikácie pred tým, aby sa príliš zväčšil, a aby sa zabránilo zahlcovaniu zdrojov aplikáciou.

Cestu pre súbory DLL nastavuje operačný systém (DLL)Windows . Cesta je nastavená pomocou globálnych environmentálnych premenných(Global Environmental Variables) . V predvolenom nastavení, ak aplikácia požaduje súbor DLL , operačný systém sa pozrie do rovnakého priečinka, v ktorom je uložená aplikácia. Ak sa tam nenájde, prejde do iných priečinkov podľa nastavenia globálnych premenných. Cestám sú priradené priority a pomáha to systému Windows(Windows) pri určovaní priečinkov, ktoré má hľadať DLL(DLLs) . Tu prichádza na rad únos DLL .

Čo je DLL Hijacking

Keďže knižnice DLL(DLLs) sú rozšírenia a sú potrebné 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 to známe ako DLL Hijacking .

Ako už bolo spomenuté, existujú priority, pokiaľ ide o to, kde operačný systém hľadá súbory DLL . Najprv(First) sa pozrie do rovnakého priečinka ako priečinok aplikácie a potom začne hľadať na základe priorít stanovených premennými prostredia operačného systému. Ak je teda súbor good.dll v priečinku SysWOW64 a niekto umiestni súbor bad.dll do priečinka, ktorý má vyššiu prioritu ako priečinok SysWOW64 , operačný systém použije súbor bad.dll, pretože má rovnaký názov ako DLL vyžiadaná aplikáciou. Keď je v pamäti RAM(RAM) , môže spustiť škodlivý kód obsiahnutý v súbore a môže ohroziť váš počítač alebo siete.

Ako zistiť DLL Hijacking

Najjednoduchšou metódou na zistenie a zabránenie únosu knižnice DLL(DLL) je použitie nástrojov tretích strán. Na trhu je k dispozícii niekoľko dobrých bezplatných nástrojov, ktoré pomáhajú pri zisťovaní pokusu o hacknutie DLL a predchádza mu.(DLL)

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 prehľadať všetky svoje aplikácie Windows, aby ste zistili, ktoré aplikácie sú zraniteľné voči únosu DLL . Rozhranie je jednoduché a samovysvetľujúce. Jedinou nevýhodou tejto aplikácie je, že nemôžete skenovať 64-bitové aplikácie.

Ďalší program na detekciu únosu  DLL , DLL_HIJACK_DETECT, je dostupný cez GitHub . Tento program kontroluje aplikácie, aby zistil, či niektorá z nich nie je zraniteľná voči únosu knižnice DLL . (DLL)Ak áno, 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 a 64-bitových aplikácií.

Je potrebné poznamenať, že vyššie uvedené programy iba skenujú aplikácie na platforme Windows a neobsahujú (Windows)zraniteľné miesta a v skutočnosti nezabránia ukradnutiu súborov DLL .

Ako zabrániť únosu knižnice DLL

Tento problém by mali riešiť v prvom rade programátori, pretože okrem posilnenia vašich bezpečnostných systémov nemôžete urobiť veľa. Ak namiesto relatívnej cesty začnú programátori používať absolútnu cestu, zraniteľnosť sa zníži. Pri čítaní absolútnej cesty nebude systém Windows(Windows) alebo akýkoľvek iný operačný systém závisieť od systémových premenných pre cestu a pôjde priamo po zamýšľanú knižnicu DLL(DLL) , čím sa zníži šanca na načítanie knižnice s rovnakým názvom DLL v ceste s vyššou prioritou. Táto metóda tiež nie je odolná voči poruchám, pretože ak je systém ohrozený a počítačoví zločinci poznajú presnú cestu knižnice DLL(DLL) , nahradia pôvodnú knižnicu DLL(DLL) falošnou knižnicou DLL .(DLL). To by znamenalo prepísanie súboru tak, aby sa pôvodná knižnica DLL(DLL) zmenila na škodlivý kód. Ale opäť, kyberzločinec bude musieť poznať presnú absolútnu cestu uvedenú v aplikácii, ktorá vyžaduje DLL . Tento proces je náročný pre kyberzločincov, a preto sa s ním dá počítať.

Vráťme sa k tomu, čo môžete urobiť, skúste jednoducho rozšíriť svoje bezpečnostné systémy, aby ste lepšie zabezpečili systém Windows(secure your Windows system) . Použite dobrý firewall . Ak je to možné, použite hardvérovú bránu firewall alebo zapnite bránu firewall smerovača. Používajte dobré systémy detekcie narušenia , aby ste vedeli, či sa niekto pokúša hrať s vaším počítačom.

Ak máte záujem o odstraňovanie problémov s počítačmi, môžete na zvýšenie bezpečnosti vykonať aj nasledovné:

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

Microsoft uvoľnil nástroj na blokovanie útokov na únosy DLL . Tento nástroj znižuje riziko útokov na únosy DLL tým, že bráni aplikáciám v nezabezpečenom načítavaní kódu zo súborov DLL .

Ak chcete k článku niečo doplniť, napíšte komentár nižšie.(If you would like to add anything to the article, please comment below.)



About the author

Som inžinier windows,ios,pdf,errors,gadgets s viac ako 10-ročnými skúsenosťami. Pracoval som na mnohých vysokokvalitných Windows aplikáciách a frameworkoch, ako sú OneDrive for Business, Office 365 a ďalšie. Moja nedávna práca zahŕňala vývoj čítačky súborov PDF pre platformu Windows a prácu na tom, aby boli chybové správy zrozumiteľnejšie pre používateľov. Okrem toho sa už niekoľko rokov podieľam na vývoji platformy ios a veľmi dobre poznám jej funkcie a zvláštnosti.



Related posts