Атаки на уязвимост при отвличане на DLL, предотвратяване и откриване
DLL е съкращение от библиотеки с динамични връзки(Dynamic Link Libraries) и са външни части на приложения, които работят под Windows или всяка друга операционна система. Повечето приложения не са завършени сами по себе си и съхраняват код в различни файлове. Ако има нужда от кода, свързаният файл се зарежда в паметта и се използва. Това намалява размера на файла на приложението, като същевременно оптимизира използването на RAM . Тази статия обяснява какво е отвличане на DLL(DLL Hijacking) и как да го откриете и предотвратите.
Какво представляват DLL файлове(Files) или библиотеки с динамични връзки(Dynamic Link Libraries)
DLL файловете са библиотеки с динамични връзки(Dynamic Link Libraries) и както е видно от името, са разширения на различни приложения. Всяко приложение, което използваме, може или не може да използва определени кодове. Такива кодове се съхраняват в различни файлове и се извикват или зареждат в RAM само когато се изисква съответният код. По този начин той спестява файл на приложението да не стане твърде голям и да предотврати преглъщането на ресурси от приложението.
Пътят за DLL файловете се задава от операционната система Windows . Пътят се задава с помощта на глобални променливи на околната среда(Global Environmental Variables) . По подразбиране, ако приложение поиска DLL файл, операционната система търси в същата папка, в която се съхранява приложението. Ако не бъде намерен там, той отива в други папки, както е зададено от глобалните променливи. Има приоритети, прикрепени към пътищата и това помага на Windows да определи кои папки да търси DLL(DLLs) файловете . Това е мястото, където идва DLL отвличането.
Какво е DLL отвличане
Тъй като DLL файловете(DLLs) са разширения и са необходими за използване на почти всички приложения на вашите машини, те присъстват на компютъра в различни папки, както е обяснено. Ако оригиналният DLL файл бъде заменен с фалшив DLL файл, съдържащ злонамерен код, той е известен като DLL Hijacking .
Както споменахме по-рано, има приоритети за това къде операционната система търси DLL файлове. Първо(First) , той преглежда същата папка като папката на приложението и след това започва търсене въз основа на приоритетите, зададени от променливите на средата на операционната система. По този начин, ако файл good.dll е в папка SysWOW64 и някой постави bad.dll в папка с по-висок приоритет в сравнение с папката SysWOW64 , операционната система ще използва файла bad.dll, тъй като той има същото име като DLL поискано от заявлението. Веднъж в RAM , той може да изпълни злонамерения код, съдържащ се във файла, и може да компрометира вашия компютър или мрежи.
Как да открием отвличане на DLL
Най-лесният метод за откриване и предотвратяване на отвличане на DLL е използването на инструменти на трети страни. На пазара има някои добри безплатни инструменти, които помагат при откриването на опит за хакване на DLL и предотвратяването му.
Една такава програма е DLL Hijack Auditor , но поддържа само 32-битови приложения. Можете да го инсталирате на вашия компютър и да сканирате всичките си приложения на Windows, за да видите кои всички приложения са уязвими към отвличане на DLL . Интерфейсът е прост и разбираем. Единственият недостатък на това приложение е, че не можете да сканирате 64-битови приложения.
Друга програма, за откриване на отвличане на DLL , DLL_HIJACK_DETECT, е достъпна чрез GitHub . Тази програма проверява приложенията, за да види дали някое от тях е уязвимо за отвличане на DLL . Ако е така, програмата информира потребителя. Приложението има две версии – x86 и x64 , така че можете да използвате всяка, за да сканирате съответно 32-битови и 64-битови приложения.
Трябва да се отбележи, че горните програми просто сканират приложенията на платформата Windows за уязвимости и всъщност не предотвратяват отвличането на DLL файлове.
Как да предотвратим отвличането на DLL
Проблемът трябва да бъде решен от програмистите на първо място, тъй като не можете да направите много, освен да подобрите системите си за сигурност. Ако вместо относителен път програмистите започнат да използват абсолютен път, уязвимостта ще бъде намалена. Четенето на абсолютния път, Windows или която и да е друга операционна система няма да зависи от системните променливи за пътя и ще отиде направо към предвидената DLL , като по този начин се отхвърлят шансовете за зареждане на (DLL)DLL със същото име в път с по-висок приоритет. Този метод също не е устойчив на грешки, защото ако системата е компрометирана и киберпрестъпниците знаят точния път на DLL , те ще заменят оригиналната DLL с фалшивата DLL. Това би било презаписване на файла, така че оригиналната DLL да се промени в злонамерен код. Но отново, киберпрестъпникът ще трябва да знае точния абсолютен път, посочен в приложението, което изисква DLL . Процесът е труден за киберпрестъпниците и следователно може да се разчита на него.
Връщайки се към това, което можете да направите, просто опитайте да разширите своите системи за сигурност, за да защитите по-добре вашата система Windows(secure your Windows system) . Използвайте добра защитна стена(firewall) . Ако е възможно, използвайте хардуерна защитна стена или включете защитната стена на рутера. Използвайте добри системи за откриване на проникване, за да знаете дали някой се опитва да играе с вашия компютър.
Ако се занимавате с отстраняване на проблеми с компютрите, можете също да извършите следното, за да повишите сигурността си:
- Деактивирайте зареждането на DLL от отдалечени мрежови споделяния
- Деактивирайте зареждането на DLL файлове от WebDAV
- Деактивирайте напълно услугата WebClient или я задайте на ръчно
- Блокирайте (Block)TCP портовете 445 и 139, тъй като те се използват най -много за компрометиране на компютри
- Инсталирайте най-новите актуализации на операционната система и софтуера за защита.
Microsoft пусна инструмент за блокиране на атаки за отвличане на DLL натоварване. Този инструмент намалява риска от атаки от отвличане на DLL , като предотвратява несигурното зареждане на код от DLL файлове на приложения.
Ако искате да добавите нещо към статията, моля, коментирайте по-долу.(If you would like to add anything to the article, please comment below.)
Related posts
Какво е троянски кон за отдалечен достъп? Предотвратяване, откриване и отстраняване
Безфайлови злонамерени атаки, защита и откриване
Как да избегнем фишинг измами и атаки?
Кибер атаки – определение, видове, превенция
Отвличане на браузър и безплатни инструменти за премахване на похитители на браузъри
Как Microsoft идентифицира злонамерен софтуер и потенциално нежелани приложения
Как да използвате Malwarebytes Anti-Malware за премахване на зловреден софтуер
Как да премахнете вируса от Windows 11/10; Ръководство за премахване на зловреден софтуер
Какво е CandyOpen? Как да премахнете CandyOpen от Windows 10?
Какво е Win32:BogEnt и как да го премахнете?
IObit Malware Fighter Безплатен преглед и изтегляне
Как да премахнете зловреден софтуер от вашия компютър в Windows 10
Как можете да получите компютърен вирус, троянски кон, работа, шпионски софтуер или злонамерен софтуер?
Проверете дали компютърът ви е заразен от ASUS Update Malware
Мошен софтуер за сигурност или Scareware: Как да проверите, предотвратите, премахнете?
Как да деинсталирате или премахнете Driver Tonic от Windows 10
Предотвратете изтегляния от Drive-by и свързаните с тях злонамерени атаки
Какво е IDP.Generic и как безопасно да го премахнете от Windows?
Изпращане на зловреден софтуер: Къде да изпратите файлове със зловреден софтуер на Microsoft и други?
Какво е IDP.generic virus и как да го премахнете?