Napadi ranjivosti otmica DLL-a, prevencija i otkrivanje

DLL je skraćenica od Dynamic Link Libraries i vanjski su dijelovi aplikacija koje se pokreću na Windows ili bilo kojem drugom operativnom sustavu. Većina aplikacija nije potpuna sama po sebi i pohranjuje kod u različite datoteke. Ako postoji potreba za kodom, povezana datoteka se učitava u memoriju i koristi. To smanjuje veličinu datoteke aplikacije uz optimizaciju korištenja RAM-a(RAM) . Ovaj članak objašnjava što je DLL otmica(DLL Hijacking) i kako ga otkriti i spriječiti.

Što su DLL datoteke(Files) ili biblioteke dinamičkih veza(Dynamic Link Libraries)

DLL otmica

DLL datoteke su Dynamic Link Library(Dynamic Link Libraries) i kao što je vidljivo iz naziva, proširenja su različitih aplikacija. Svaka aplikacija koju koristimo može ili ne mora koristiti određene kodove. Takvi su kodovi pohranjeni u različitim datotekama i pozivaju se ili učitavaju u RAM samo kada je potreban odgovarajući kod. Na taj način sprema datoteku aplikacije da ne postane prevelika i kako bi se spriječilo korištenje resursa od strane aplikacije.

Put za DLL datoteke postavlja operativni sustav Windows . Put se postavlja pomoću Globalnih varijabli okoliša(Global Environmental Variables) . Prema zadanim postavkama, ako aplikacija zatraži DLL datoteku, operativni sustav gleda u istu mapu u kojoj je aplikacija pohranjena. Ako se tamo ne pronađe, ide u druge mape koje su postavile globalne varijable. Prioriteti su vezani uz putove i to pomaže Windowsu(Windows) u određivanju koje mape treba tražiti za DLL(DLLs) -ove . Ovdje dolazi do otmica DLL -a.(DLL)

Što je DLL otmica

Budući da su DLL(DLLs) -ovi proširenja i neophodni za korištenje gotovo svih aplikacija na vašim strojevima, prisutni su na računalu u različitim mapama kao što je objašnjeno. Ako je izvorna DLL datoteka zamijenjena lažnom DLL datotekom koja sadrži zlonamjerni kod, poznata je kao DLL otmica(DLL Hijacking) .

As mentioned earlier, there are priorities as to where the operating system looks for DLL files. First, it looks into the same folder as the application folder and then goes searching, based on the priorities set by the environment variables of the operating system. Thus if a good.dll file is in SysWOW64 folder and someone places a bad.dll in a folder that has higher priority compared to SysWOW64 folder, the operating system will use the bad.dll file, as it has the same name as the DLL requested by the application. Once in RAM, it can execute the malicious code contained in the file and may compromise your computer or networks.

How to detect DLL Hijacking

Najlakši način za otkrivanje i sprječavanje otmice DLL -a je korištenje alata treće strane. Na tržištu su dostupni neki dobri besplatni alati koji pomažu u otkrivanju pokušaja hakiranja DLL -a i sprječavanju istog.(DLL)

Jedan takav program je DLL Hijack Auditor , ali podržava samo 32-bitne aplikacije. Možete ga instalirati na svoje računalo i skenirati sve svoje Windows aplikacije da vidite koje su sve aplikacije ranjive na otmicu DLL -a. (DLL)Sučelje je jednostavno i samo po sebi razumljivo. Jedini nedostatak ove aplikacije je što ne možete skenirati 64-bitne aplikacije.

Drugi program, za otkrivanje otmice  DLL -a, (DLL)DLL_HIJACK_DETECT, dostupan je putem GitHuba(GitHub) . Ovaj program provjerava aplikacije da vidi je li neka od njih ranjiva na otmicu DLL -a. (DLL)Ako jest, program obavještava korisnika. Aplikacija ima dvije verzije – x86 i x64 , tako da svaku možete koristiti za skeniranje 32-bitnih i 64-bitnih aplikacija.

Treba napomenuti da gore navedeni programi samo skeniraju aplikacije na Windows platformi na ranjivosti i zapravo ne sprječavaju otmicu DLL datoteka.

Kako spriječiti otmicu DLL-a

Problemom bi se prije svega trebali pozabaviti programeri jer ne možete puno učiniti osim poboljšati svoje sigurnosne sustave. Ako umjesto relativnog puta, programeri počnu koristiti apsolutni put, ranjivost će se smanjiti. Čitanje apsolutne putanje, Windows ili bilo koji drugi operativni sustav neće ovisiti o varijablama sustava za put i ići će ravno na predviđeni DLL , čime se odbacuju šanse za učitavanje (DLL)DLL istog imena na stazi višeg prioriteta. Ova metoda također nije otporna na greške jer ako je sustav ugrožen, a kibernetički kriminalci znaju točan put DLL -a, zamijenit će originalni DLL lažnim DLL -om(DLL). To bi bilo prepisivanje datoteke tako da se izvorni DLL promijeni u zlonamjerni kod. Ali opet, cyber kriminalac će morati znati točan apsolutni put koji se spominje u aplikaciji koja zahtijeva DLL . Proces je težak za kibernetičke kriminalce i stoga se na njega može računati.

Vraćajući se na ono što možete učiniti, samo pokušajte povećati svoje sigurnosne sustave kako biste bolje zaštitili svoj Windows sustav(secure your Windows system) . Koristite dobar vatrozid(firewall) . Ako je moguće, koristite hardverski vatrozid ili uključite vatrozid usmjerivača. Koristite dobre sustave za otkrivanje upada kako biste znali pokušava li se netko igrati s vašim računalom.

Ako ste u rješavanju problema s računalima, možete poduzeti i sljedeće kako biste povećali svoju sigurnost:

  1. Onemogućite učitavanje DLL -a s udaljenih mrežnih dijeljenja
  2. Onemogućite učitavanje DLL datoteka s WebDAV -a(WebDAV)
  3. Potpuno onemogućite uslugu WebClient ili je postavite na ručnu
  4. Blokirajte (Block)TCP portove 445 i 139 jer se najviše koriste za kompromitirajuća računala
  5. Instalirajte najnovija ažuriranja operativnog sustava i sigurnosnog softvera.

Microsoft je izdao alat za blokiranje napada otmice učitavanja DLL -a. (DLL)Ovaj alat ublažava rizik od napada otmice DLL -a sprječavajući aplikacije da nesigurno učitavaju kod iz (DLL)DLL datoteka.

Ako želite nešto dodati članku, komentirajte ispod.(If you would like to add anything to the article, please comment below.)



About the author

Ja sam softverski inženjer s više od 10 godina iskustva u području Windows inženjerstva. Specijalizirao sam se za razvoj aplikacija temeljenih na sustavu Windows, kao i upravljačkih programa za hardver i zvuk za Microsoftov operacijski sustav Windows sljedeće generacije, Windows 11. Moje iskustvo s izradom aplikacija za Windows čini me posebno vrijednim sredstvom za svaku tvrtku koja želi razviti inovativne tehnološke proizvode.



Related posts