Zlonamerna programska oprema

Napadi, preprečevanje in odkrivanje ugrabitve DLL

Napadi, preprečevanje in odkrivanje ugrabitve DLL

DLL je kratica za Dynamic Link Libraries in je zunanji del aplikacij, ki se izvajajo v sistemu Windows ali katerem koli drugem operacijskem sistemu. Večina aplikacij sama po sebi ni popolna in shranjuje kodo v različne datoteke. Če je koda potrebna, se povezana datoteka naloži v pomnilnik in uporabi. To zmanjša velikost datoteke aplikacije, hkrati pa optimizira uporabo RAM-a. Ta članek pojasnjuje, kaj je Ugrabitev DLL in kako to zaznati in preprečiti.

Kaj so datoteke DLL ali knjižnice dinamičnih povezav

Datoteke DLL so knjižnice dinamičnih povezav in kot že ime pove, so razširitve različnih aplikacij. Vsaka aplikacija, ki jo uporabljamo, lahko uporablja ali ne določene kode. Takšne kode so shranjene v različnih datotekah in jih prikličejo ali naložijo v RAM samo, kadar je potrebna povezana koda. Tako shrani aplikacijsko datoteko, da ne bi postala prevelika, in prepreči, da bi aplikacija zavirala sredstva.

Pot do datotek DLL nastavi operacijski sistem Windows. Pot je nastavljena z uporabo globalnih okoljskih spremenljivk. Če aplikacija zahteva datoteko DLL, operacijski sistem privzeto pogleda v isto mapo, v kateri je shranjena aplikacija. Če je tam ne najde, gre v druge mape, kot jih določajo globalne spremenljivke. Poti so pritrjene prednostne naloge in Windows pomaga pri določanju, katere mape naj iščejo DLL-je. Tu pride do ugrabitve DLL.

Kaj je ugrabitev DLL

Ker so DLL razširitve in so potrebne za uporabo skoraj vseh aplikacij v vaših računalnikih, so v računalniku v različnih mapah, kot je razloženo. Če je izvirna datoteka DLL zamenjana z lažno datoteko DLL, ki vsebuje zlonamerno kodo, je znana kot Ugrabitev DLL.

Kot smo že omenili, obstajajo prednostne naloge glede tega, kje operacijski sistem išče datoteke DLL. Najprej pogleda v isto mapo kot mapa z aplikacijami in nato nadaljuje z iskanjem na podlagi prioritet, ki jih določajo spremenljivke okolja operacijskega sistema. Če je torej dober.dll je v mapi SysWOW64 in nekdo postavi slabo.dll v mapi, ki ima večjo prednost kot mapa SysWOW64, bo operacijski sistem uporabil slabo.dll, saj ima isto ime kot DLL, ki ga zahteva aplikacija. Ko je v RAM-u, lahko izvede zlonamerno kodo, ki jo vsebuje datoteka, in lahko ogrozi vaš računalnik ali omrežja.

Kako zaznati ugrabitev DLL

Najlažji način za odkrivanje in preprečevanje ugrabitve DLL je uporaba orodij drugih proizvajalcev. Na trgu je na voljo nekaj dobrih brezplačnih orodij, ki pomagajo pri odkrivanju poskusov vdora v DLL in njegovem preprečevanju.

Takšen program je DLL Hijack Auditor, vendar podpira le 32-bitne programe. Lahko ga namestite v računalnik in skenirate vse programe Windows, da vidite, katere aplikacije so ranljive za ugrabitev DLL. Vmesnik je preprost in samoumeven. Edina pomanjkljivost te aplikacije je, da ne morete skenirati 64-bitnih aplikacij.

Drugi program za odkrivanje ugrabitve DLL, DLL_HIJACK_DETECT, je na voljo prek GitHub. Ta program preverja, ali je katera od njih ranljiva za ugrabitev DLL. Če je, program o tem obvesti uporabnika. Aplikacija ima dve različici - x86 in x64, tako da lahko vsako uporabite za skeniranje tako 32-bitne kot 64-bitne aplikacije.

Treba je opozoriti, da zgornji programi samo pregledujejo programe na platformi Windows za ranljivosti in dejansko ne preprečujejo ugrabitve datotek DLL.

Kako preprečiti ugrabitev DLL

Težave bi se morali najprej lotiti programerji, saj ne morete veliko storiti, razen da bi okrepili svoje varnostne sisteme. Če namesto relativne poti programerji začnejo uporabljati absolutno pot, se bo ranljivost zmanjšala. Branje absolutne poti, Windows ali kateri koli drug operacijski sistem ne bo odvisen od sistemskih spremenljivk za pot in bo šel naravnost do predvidene DLL, s čimer bo zapravil možnosti, da istoimenski DLL naloži na pot z višjo prioriteto. Tudi ta metoda ni zaščitna pred napak, ker če bo sistem ogrožen in kiber kriminalci poznajo natančno pot DLL, bodo prvotni DLL zamenjali z lažnim DLL-jem. To bi prepisalo datoteko, tako da se prvotna datoteka DLL spremeni v zlonamerno kodo. Toda spet mora kiber kriminalec vedeti natančno absolutno pot, omenjeno v aplikaciji, ki zahteva DLL. Proces je za kiber kriminalce težak, zato je nanj mogoče računati.

Če se vrnete k temu, kar lahko storite, poskusite povečati varnostne sisteme, da boste bolje zaščitili sistem Windows. Uporabite dober požarni zid. Če je mogoče, uporabite strojni požarni zid ali vklopite požarni zid usmerjevalnika. Uporabite dobre sisteme za odkrivanje vdorov, da boste vedeli, ali se kdo poskuša igrati z vašim računalnikom.

Če se ukvarjate z odpravljanjem težav z računalniki, lahko za povečanje varnosti izvedete tudi naslednje:

  1. Onemogočite nalaganje DLL iz oddaljenih omrežnih skupnih rab
  2. Onemogočite nalaganje datotek DLL iz WebDAV
  3. Storitev WebClient popolnoma onemogočite ali nastavite na ročno
  4. Blokirajte vrata TCP 445 in 139, saj se najbolj uporabljajo za ogrožanje računalnikov
  5. Namestite najnovejše posodobitve operacijskega sistema in varnostne programske opreme.

Microsoft je izdal orodje za blokiranje napadov ugrabitve nalogov DLL. To orodje zmanjšuje tveganje napadov ugrabitve DLL, tako da aplikacijam preprečuje, da bi kode iz datotek DLL nevarno nalagale.

Če želite v članek kaj dodati, prosimo, komentirajte spodaj.

Kako spremeniti miškin kazalec in velikost, barvo in shemo kazalca v sistemu Windows 10
Kazalec miške in kazalec v operacijskem sistemu Windows 10 sta zelo pomembna vidika operacijskega sistema. To lahko rečemo tudi za druge operacijske s...
Brezplačni in odprtokodni igralni mehanizmi za razvoj iger Linux
Ta članek bo zajemal seznam brezplačnih in odprtokodnih igralnih mehanizmov, ki jih je mogoče uporabiti za razvoj 2D in 3D iger v Linuxu. Obstaja veli...
Vadnica Shadow of the Tomb Raider za Linux
Shadow of the Tomb Raider je dvanajsti dodatek k seriji Tomb Raider - franšiza akcijsko-pustolovskih iger, ki jo je ustvaril Eidos Montreal. Kritiki i...