Опрос
Ждете ли вы выхода привычных ноутбуков на новой Windows 10X?

Динамическая загрузка библиотек в Windows может привести к серьезным проблемам с безопасностью

Напечатать страницу
26.08.2010 09:04 | deeper2k

Microsoft знала, по крайней мере, с февраля, что десятки приложений для Windows, включая собственные разработки, подвержены уязвимостям, которые злоумышленники могут использовать, чтобы получить контроль над компьютерами, заявляет исследователь.

По меньшей мере, 19 из них можно реализовать удаленно, заявил Тайхо Квон (Taeho Kwon), исследователь из Университета Калифорнии. Еще в феврале он опубликовал информацию о них, а в прошлом месяце представил их на международной конференции.

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

На прошлой неделе американский исследователь Эйчди Мур (HD Moore) заявил, что он обнаружил, как минимум, 40 уязвимых приложений, включая оболочку Windows. Вслед за ним словенская секьюрити-компания Acros анонсировала собственную утилиту, позволившую обнаружить свыше 200 уязвимых Windows-приложений.

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

В исследовании, представленном в прошлом месяце на конференции ISSTA (абб. от International Symposium on Software Testing and Analysis), Квон заявляет, что он передал информацию о своих находках в Microsoft Security Response Center (MSRC). В документе приводится информация о 28 приложениях, которые в общем счете содержат более 1700 отдельных ошибок.

Он также разработал утилиту, позволяющую обнаруживать небезопасные загрузки .dll, и впоследствии проверил несколько популярных приложений. В отличие от Acros, Квон обнародовал приложения, которым не удалось пройти тест.

По словам Квона, уязвимости подвержены все основные приложения пакета Microsoft Office 2007, Internet Explorer 8, Firefox, Chrome, Opera и Safari; PDF-просмотрщики, включая Adobe Reader и Foxit; IM-клиенты Windows Live Messenger, Skype и Yahoo Messenger; мультимедиа-проигрыватели QuickTime, Windows Media Player и Winamp.

Во многих случаях были выпущены обновленные версии продуктов, в которых, вероятно, данная проблема была решена. Так, к примеру, Квон тестировал Mozilla Firefox 3.0, который впоследствии был замещен Firefox 3.5 и Firefox 3.6.

"Проблема небезопасной динамической загрузки далеко не нова, но до последнего момента ей не придавали большого значения, поскольку для ее реализации требовался локальный доступ к системе жертвы" - пишет Квон. "Однако, в связи с появлением способа удаленной атаки проблема приобрела более серьезное значение."

Вообще разговор о подобном типе уязвимости зашел еще десять лет назад. Инициировал его исследователь Георгий Гунинский (Georgi Guninski). Однако, до последнего момента Microsoft не предпринимала никаких активных действий по борьбе с проблемой.

В апреле 2009 года Microsoft выпустила обновление MS09-015, призванное укрепить защиту Windows против такого рода атак. Но, по словам израильского исследователя Авива Раффа (Aviv Raff), уже было поздно.

"Microsoft упорно не хотела устранять уязвимость в Windows до тех пор, пока я не обнаружил способ автоматической реализации уязвимости в Internet Explorer через Safari" - сообщил нам Рафф. "По их словам, было крайне проблематично устранить первопричину уязвимости, поскольку это нарушило бы работу массы сторонних приложений. Но со временем уязвимость в IE была устранена, а ОС была обновлена путем изменения порядка поиска загружаемых .dll."

Рафф впервые написал об уязвимости в IE в далеком 2006 году, повторив свои предупреждения в 2008 году, когда исследователь обнародовал уязвимость в Apple Safari, которая могла быть использована для атаки на Win-компьютеры с зараженными ярлыками.

Квон отказался прокомментировать возможные способы решения проблемы. Другие исследователи сошлись во мнении, что устранить уязвимость будет крайне сложно или невозможно, не нарушив работу громадного количества сторонних приложений. Тем не менее, считает Квон, проблему как-то нужно решать.

"Наши результаты показали, что небезопасная загрузка DLL широко распространена, поэтому атаки с использованием данной техники могут привести к серьезным угрозам безопасности" - заявляет Квон. "Для справки: мы обнаружили более 1700 небезопасных загрузок компонентов с привилегиями администратора и 19 уязвимостей, которые с легкостью приводят к удаленному выполнению кода."

На текущий момент Microsoft признала, что изучает информацию, предоставленную Муром, однако не сказала, планируется ли выпуск патча, а если планируется, то когда. На наш взгляд, это следует сделать как можно быстрей, поскольку в понедельник Мур пообещал выпустить утилиту, проверяющую локальную систему на наличие уязвимостей и генерирующую PoC-код (абб. от proof-of-concept).

Желающие могут загрузить исследование Квона под названием "Автоматическое обнаружение динамической загрузки уязвимых компонентов" с сайта UC Davis.


Источник: http://www.computerworld.com
Перевод: deeper2k

Комментарии

MVE 0
Не в сети

KB2264107

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


23.08.2010

26.08.10 10:09
0
Не в сети

Плоды труда Квона

26.08.10 10:14
0
Не в сети

А как самому в своем софте грузить DLL безопасно?
Я лично только небезопасно умею.

26.08.10 11:06
0
Не в сети

Причем, именно с привилегиями администратора

26.08.10 11:07
0
Не в сети

hb860, а на чём пишете?

26.08.10 13:08
0
Не в сети

Как я понимаю, пример этой уязвимости - то, что некоторые моды для игр работают, помещая себя, например, под названием d3d9.dll в папку с exe-файлом игры и тем самым загружаясь с ней? Если посмотреть с этой стороны, глобальное развертование этого обновления может быть неплохим анти-читом

26.08.10 13:18
0
Не в сети

ирония - приближение архитектуры винды к линуксу может убить ее

26.08.10 13:33
0
Не в сети

Будет жалко, если такую "вкусную" дырку закроют. Лично я использовал - смотрим в секцию импорт, ищем системную dll, из которой используется поменьше функций. Пишем свою с таким же названием и такими же функциями, которые использует приложение. В этих функциях делаем редирект на функции из системной библиотеки (или переименованой библиотеки самого приложения), т.е. функционирование приложения не нарушается. Помещаем свою библиотеку в папку с приложением - вуаля. При загрузке приложения Windows загружает все библиотеки, используемые им, причём сначала смотрит в папке с приложением, а потом уже в системных. Из каждой библиотеки вызывается функция DllMain до запуска самого приложения, но когда всё уже загружено в память - именно здесь я и делал с приложением всё, что мне было надо. Под XP вообще использовал только арифметику с указателями, чтобы VirtualAlloc не использовать, на который HIPS некоторых антивирусов реагирует. И патчил приложение в памяти до начала его работы так, как мне было надо. Все были довольны - приложение на диске оставалось не изменённым, антивирусы молчали, я патчил приложение так, как мне было надо...

Интересно, как с этим можно бороться? Как отличить родную библиотеку, расположеную в папке с программой, от зловредной? Даже если она похожа на системную - многие приложения специально содержат некоторые системные библиотеки нужных им версий. Запрещать вообще загрузку библиотек с именами, как у системных? только неподписаных (недовереных)? Вводить дополнительный режим совместимости на вкладке "Совместимость" - типа "Разрешать загрузку небезопасных библиотек из папки приложения" и отключать её по умолчанию?

26.08.10 13:57
0
SHV +1
Не в сети

Майкрософт 23 числа анонсировала блокиратор системных DLL-библиотек для корпоративных пользователей.
Для обычных они рекомендуют закрыть порты TCP 139 и 445 и отключить веб-клиент в ОС.
microsoft.com

Ранее выпускался инструмент для анализа уязвимых библиотек Марком Руссиновичом
technet

26.08.10 14:22
0
Не в сети

Ну что тут сказать. Не волнуемся, не переживаем, не устраиваем легкое сумасшествие. Просто как и раньше сидим и ждем обновления. Вот я и не знал об этой уязвимости. И вполне возможно сроду не узнал. Но раз такое дело, то навостряем уши и ждемссс

26.08.10 19:22
0
Для возможности комментировать войдите в 1 клик через

По теме

Акции MSFT
207.26 0.00
Акции торгуются с 17:30 до 00:00 по Москве
Все права принадлежат © ms insider @thevista.ru, 2020
Сайт является источником уникальной информации о семействе операционных систем Windows и других продуктах Microsoft. Перепечатка материалов возможна только с разрешения редакции.
Работает на WMS 2.34 (Страница создана за 0.098 секунд (Общее время SQL: 0.058 секунд - SQL запросов: 65 - Среднее время SQL: 0.00089 секунд))
Top.Mail.Ru