Проблеми с уязвимостта на DLL, предотвратяване и откриване

Съдържание:

Проблеми с уязвимостта на DLL, предотвратяване и откриване
Проблеми с уязвимостта на DLL, предотвратяване и откриване

Видео: Проблеми с уязвимостта на DLL, предотвратяване и откриване

Видео: Проблеми с уязвимостта на DLL, предотвратяване и откриване
Видео: Ransomware: Protecting Yourself - YouTube 2024, Може
Anonim

DLL означава библиотеки за динамични връзки и са външни части на приложения, работещи на Windows или на други операционни системи. Повечето приложения не са пълни сами по себе си и съхраняват код в различни файлове. Ако има нужда от кода, свързаният файл се зарежда в паметта и се използва. Това намалява размера на файла на приложението, докато оптимизира използването на RAM. Тази статия обяснява какво е Отвличане на DLL и как да го открием и предотвратим.

Какво представляват DLL файловете или библиотеките с динамични връзки

DLL файловете са библиотеки с динамични връзки и както е видно от името, са разширения на различни приложения. Всяко приложение, което използваме, може или не може да използва определени кодове. Такива кодове се съхраняват в различни файлове и се извикват или зареждат в RAM само когато се изисква съответният код. По този начин, той записва файла на приложението, за да стане прекалено голям и да предотврати натрупването на ресурси от приложението.
DLL файловете са библиотеки с динамични връзки и както е видно от името, са разширения на различни приложения. Всяко приложение, което използваме, може или не може да използва определени кодове. Такива кодове се съхраняват в различни файлове и се извикват или зареждат в RAM само когато се изисква съответният код. По този начин, той записва файла на приложението, за да стане прекалено голям и да предотврати натрупването на ресурси от приложението.

Пътят за DLL файлове се определя от операционната система Windows. Пътят се настройва с помощта на глобални екологични променливи. По подразбиране, ако дадено приложение изисква DLL файл, операционната система разглежда същата папка, в която се съхранява приложението. Ако не е намерен там, той отива в други папки, определени от глобалните променливи. Има приоритети, свързани с пътищата, и помага на Windows при определянето на папките, които да търсят DLL-и. Това е мястото, където влезе DLL отвличането.

Какво е отвличане на DLL

Тъй като DLL са разширения и е необходимо да се използват почти всички приложения на вашите машини, те се намират на компютъра в различни папки, както е обяснено. Ако оригиналът DLL файл е заменен с фалшив DLL файл, съдържащ злонамерен код, той е известен като Отвличане на DLL.

Както споменахме по-рано, има приоритети за това, къде операционната система търси DLL файлове. Първо, той гледа в същата папка като папката на приложението и след това търси, въз основа на приоритетите, определени от променливите на средата на операционната система. По този начин, ако файлът 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. Процесът е труден за киберпрестъпниците и следователно може да се прецени.

Връщайки се към това, което можете да направите, просто се опитайте да увеличите вашите системи за сигурност, за да защитите по-добре вашата Windows система. Използвайте добра защитна стена. Ако е възможно, използвайте хардуерна защитна стена или включете защитната стена на маршрутизатора. Използвайте добри системи за откриване на проникване, за да знаете дали някой се опитва да играе с вашия компютър.

Ако се намирате в компютрите за отстраняване на неизправности, може да извършите и следните действия, за да защитите защитата си:

  1. Деактивирайте зареждането на DLL от отдалечени мрежови споделяния
  2. Деактивирайте зареждането на DLL файлове от WebDAV
  3. Деактивирайте напълно услугата WebClient или я настроите на ръка
  4. Блокирайте TCP портовете 445 и 139, тъй като те се използват най-много за компрометиране на компютрите
  5. Инсталирайте най-новите актуализации на операционната система и софтуера за защита.

Microsoft е пуснал инструмент за блокиране на атаки за отвличане на натоварване на DLL. Този инструмент намалява риска от отвличане на DLL атаки, като предотвратява приложенията от несигурно зареждане на кода от DLL файлове.

Ако искате да добавите нещо към статията, моля, коментирайте по-долу.

Препоръчано: