DLL užgrobimo pažeidžiamumo priepuoliai, prevencija ir aptikimas

Turinys:

DLL užgrobimo pažeidžiamumo priepuoliai, prevencija ir aptikimas
DLL užgrobimo pažeidžiamumo priepuoliai, prevencija ir aptikimas

Video: DLL užgrobimo pažeidžiamumo priepuoliai, prevencija ir aptikimas

Video: DLL užgrobimo pažeidžiamumo priepuoliai, prevencija ir aptikimas
Video: Comprehensive Anti-Ransomware Solution: Prevent, Detect and Respond - YouTube 2024, Balandis
Anonim

DLL žymi "Dynamic Link" bibliotekas ir yra išorinės programų dalys, kuriomis veikia "Windows" arba kitos operacinės sistemos. Daugelis programų nėra savarankiškos ir saugo kodą skirtinguose failuose. Jei reikia kodo, susijusi byla yra įkelta į atmintį ir naudojama. Tai sumažina programos failo dydį, tuo pačiu optimizuojant RAM naudojimą. Šiame straipsnyje paaiškinama, kas yra DLL užgrobimas ir kaip jį aptikti ir užkirsti kelią.

Kas yra DLL failai arba dinaminių nuorodų bibliotekos

DLL failai yra dinaminių nuorodų bibliotekos ir, kaip matyti iš pavadinimo, yra skirtingų programų plėtiniai. Bet kokia naudojama programa gali arba negali naudoti tam tikrų kodų. Tokie kodai yra saugomi skirtinguose failuose ir yra naudojami arba įkelti į RAM tik tada, kai reikalingas susijęs kodas. Taigi, išsaugomas paraiškos failas tampa pernelyg didelis ir užkirsti kelią išteklių sugadinimo pagal paraišką.
DLL failai yra dinaminių nuorodų bibliotekos ir, kaip matyti iš pavadinimo, yra skirtingų programų plėtiniai. Bet kokia naudojama programa gali arba negali naudoti tam tikrų kodų. Tokie kodai yra saugomi skirtinguose failuose ir yra naudojami arba įkelti į RAM tik tada, kai reikalingas susijęs kodas. Taigi, išsaugomas paraiškos failas tampa pernelyg didelis ir užkirsti kelią išteklių sugadinimo pagal paraišką.

DLL failų kelią nustato "Windows" operacinė sistema. Kelias nustatomas naudojant globalius aplinkos kintamuosius. Pagal nutylėjimą, jei programa prašo DLL failą, operacinė sistema atrodo į tą patį aplanką, kuriame saugoma programa. Jei jis nerastas, jis pereina į kitus katalogus, kuriuos nustato globalūs kintamieji. Prie maršrutų yra priskirti prioritetai, o tai padeda "Windows" nustatyti, kokie aplankai ieškoti DLL. Čia yra DLL užgrobimas.

Kas yra DLL užgrobimas

Kadangi DLL yra plėtiniai ir būtina naudoti beveik visas jūsų mašinų programas, jie pateikiami kompiuteryje skirtinguose aplankuose, kaip paaiškinta. Jei originalus DLL failas yra pakeistas suklastotu DLL failu, kuriame yra kenkėjiškų kodų, jis yra žinomas kaip DLL užgrobimas.

Kaip minėta anksčiau, yra prioritetų, kur operacinė sistema ieškos DLL failų. Pirma, jis atrodo į tą patį aplanką, kuriame yra programų aplankas, o tada eina ieškojimą pagal aplinkos kintamųjų nustatymus. Taigi, jei failas good.dll yra aplanke SysWOW64 ir kažkas įveda blogą dll į aplanką, kuriame yra didesnis prioritetas, palyginti su aplanku SysWOW64, operacinė sistema naudos failą bad.dll, nes jis turi tą patį pavadinimą kaip DLL prašyme prašoma. Kartą RAM, jis gali paleisti kenksmingą kodą, esantį failo, ir gali pakenkti jūsų kompiuteriui ar tinklams.

Kaip aptikti DLL užgrobimą

Lengviausias būdas aptikti ir užkirsti kelią DLL užgrobimui yra trečiųjų šalių įrankių naudojimas. Rinkoje yra keletas gerų nemokamų įrankių, padedančių nustatyti DLL bandymą ir jį užkirsti.

Viena iš tokių programų yra "DLL Hijack Auditor", tačiau ji palaiko tik 32 bitų programas. Galite įdiegti jį savo kompiuteryje ir nuskaityti visas "Windows" programas, kad pamatytumėte, kokios visos programos yra pažeidžiamos DLL apiplėšimui. Sąsaja paprasta ir savaime suprantama. Vienintelis šios programos trūkumas yra tai, kad negalima nuskaityti 64 bitų programų.

Kita programa, skirta aptikti DLL užgrobimą, DLL_HIJACK_DETECT, yra prieinama per GitHub. Ši programa tikrina programas, norėdami pamatyti, ar kuri nors iš jų yra pažeidžiama DLL užgrobimo. Jei taip, programa informuoja naudotoją. Programa turi dvi versijas - x86 ir x64, kad galėtumėte kiekvieną nuskaityti atitinkamai 32 bitų ir 64 bitų programas.

Reikėtų pažymėti, kad pirmiau pateiktos programos tiesiog nuskaito programas "Windows" platformoje dėl pažeidžiamumų ir iš tikrųjų neužkerta kelio DLL failų užgrobimui.

Kaip išvengti DLL užgrobimo

Visų pirma programuotojai turėtų spręsti šią problemą, nes nėra daug, ką galėtumėte padaryti, išskyrus jūsų saugumo sistemas. Jei vietoj santykinio kelio programuotojai pradeda naudoti absoliutų kelią, pažeidžiamumas bus sumažintas. Skaitydami absoliučią kelią, "Windows" arba bet kuri kita operacinė sistema nepriklausys nuo sistemos kintamųjų keliui ir bus tiesiogiai nukreipta į numatomą DLL, taigi atsisakoma galimybės pakrauti to paties pavadinimo DLL aukštesnio prioriteto keliu. Šis metodas taip pat nėra nesėkmių įrodymas, nes jei sistema yra pažeista ir kibernetiniai nusikaltėliai žinotų tikslų DLL kelią, jie pakeis originalią DLL netikrą DLL. Tai bus perrašyti failą, kad originalus DLL pakeistas į kenksmingą kodą. Tačiau dar kartą kibernetiniam nusikalstamumui reikės žinoti tikslų absoliutų kelią, paminėtą programoje, kurioje reikalaujama DLL. Šis procesas yra griežtas kibernetiniams nusikaltėliams ir todėl jį galima skaičiuoti.

Grįžęs prie to, ką galite padaryti, tiesiog pabandykite išplėsti savo saugumo sistemas, kad geriau apsaugotumėte "Windows" sistemą. Naudokite gerą ugniasienę. Jei įmanoma, naudokite aparatūros užkardą arba įjunkite maršrutizatorių užkardą. Naudokite geras įsibrovimo aptikimo sistemas, kad žinotumėte, ar kas nors bando žaisti su savo kompiuteriu.

Jei esate kompiuterių trikčių šalinimas, taip pat galite atlikti toliau nurodytus veiksmus, kad padidintumėte savo saugumą:

  1. Išjunkite DLL įkėlimą iš nuotolinio tinklo dalijimosi
  2. Išjungti DLL failų įkėlimą iš "WebDAV"
  3. Išjunkite "WebClient" paslaugą arba nustatykite ją rankiniu būdu
  4. Užblokuokite TCP prievadus 445 ir 139, nes jie dažniausiai naudojami kompromisams
  5. Įdiekite naujausius operacinės sistemos ir saugos programinės įrangos naujinius.

Microsoft išleido įrankį blokuoti DLL apkrovimo užgrobimo išpuolius. Šis įrankis sušvelnina DLL užgrobimo atakų riziką, užkertant kelią programoms nuo nesaugaus kodo pakrovimo iš DLL failų.

Jei norite pridėti ką nors prie straipsnio, prašom komentuoti žemiau.

Rekomenduojamas: