Windows

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

osito gomi version completa en español

osito gomi version completa en español

Оглавление:

Anonim

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

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

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

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

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

Поскольку библиотеки DLL являются расширениями и необходимы для использования почти всех приложений на ваших компьютерах, они присутствуют на компьютере в разных папках, как объяснено. Если исходный DLL-файл заменен поддельным DLL-файлом, содержащим вредоносный код, он известен как Hijacking 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.

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