Уязвимости, связанные с уязвимостью DLL, предотвращение и обнаружение

Оглавление:

Уязвимости, связанные с уязвимостью DLL, предотвращение и обнаружение
Уязвимости, связанные с уязвимостью DLL, предотвращение и обнаружение

Видео: Уязвимости, связанные с уязвимостью DLL, предотвращение и обнаружение

Видео: Уязвимости, связанные с уязвимостью DLL, предотвращение и обнаружение
Видео: ЭТОТ ВИРУС УБЬЁТ ТВОЙ КОМПЬЮТЕР! - YouTube 2024, Май
Anonim

DLL - это библиотеки динамических ссылок и внешние компоненты приложений, которые работают в Windows или других операционных системах. Большинство приложений не являются само по себе и хранят код в разных файлах. Если есть необходимость в коде, связанный файл загружается в память и используется. Это уменьшает размер файла приложения при оптимизации использования ОЗУ. В этой статье объясняется, что Уловка DLL и как его обнаружить и предотвратить.

Что такое DLL-файлы или библиотеки динамических ссылок

DLL-файлы представляют собой библиотеки динамических ссылок и, как видно по имени, являются расширениями различных приложений. Любое используемое нами приложение может или не может использовать определенные коды. Такие коды хранятся в разных файлах и вызывается или загружается в ОЗУ только тогда, когда требуется соответствующий код. Таким образом, он сохраняет файл приложения слишком большим и предотвращает зависание ресурсов приложением.
DLL-файлы представляют собой библиотеки динамических ссылок и, как видно по имени, являются расширениями различных приложений. Любое используемое нами приложение может или не может использовать определенные коды. Такие коды хранятся в разных файлах и вызывается или загружается в ОЗУ только тогда, когда требуется соответствующий код. Таким образом, он сохраняет файл приложения слишком большим и предотвращает зависание ресурсов приложением.

Путь к DLL-файлам задается операционной системой Windows. Путь задается с использованием глобальных переменных окружения. По умолчанию, если приложение запрашивает DLL-файл, операционная система просматривает ту же папку, в которой хранится приложение. Если он не найден там, он переходит в другие папки, заданные глобальными переменными. Есть приоритеты, связанные с путями, и это помогает Windows определять, какие папки искать DLL. Здесь происходит захват DLL.

Что такое захват DLL

Поскольку библиотеки DLL являются расширениями и необходимы для использования почти всех приложений на ваших компьютерах, они присутствуют на компьютере в разных папках, как объяснено. Если исходный DLL-файл заменен поддельным DLL-файлом, содержащим вредоносный код, он известен как Уловка DLL.

Как упоминалось ранее, есть приоритеты в отношении того, где операционная система ищет файлы DLL. Во-первых, он просматривает ту же папку, что и папка приложения, а затем выполняет поиск на основе приоритетов, заданных переменными среды операционной системы. Таким образом, если файл good.dll находится в папке SysWOW64, а кто-то помещает bad.dll в папку с более высоким приоритетом по сравнению с папкой SysWOW64, операционная система будет использовать файл bad.dll, так как он имеет то же имя, что и DLL запрошенное приложением. Когда-то в ОЗУ, он может выполнить вредоносный код, содержащийся в файле, и может поставить под угрозу ваш компьютер или сети.

Как обнаружить захват 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.

Если вы хотите добавить что-либо в статью, прокомментируйте это ниже.

Рекомендуемые: