Проблема "нулевого дня"

17 январь, 2007 - 17:45Андрій Кухар

Обеспечивать информационную безопасность на должном уровне с каждым днем становится труднее. Все чаще на новостных сайтах околокомпьютерной тематики появляются известия об обнаружении уязвимостей в ПО, которыми могут пользоваться взломщики для атак типа zero-day. О них, а также о мерах по их предотвращению мы и поговорим.

Около месяца назад организацией SANS (SysAdmin, Audit, Network, Security) Institute была опубликована седьмая версия ежегодного списка двадцати самых критических уязвимостей сетевой безопасности. Этот перечень отражает мнения более тридцати авторитетных исследователей и агентств, включая американские CERT и Министерство национальной безопасности. Из документа следует, что общее количество инцидентов заметно возросло (что, в принципе, неудивительно), и наблюдается тенденция перехода от шумных, привлекающих внимание атак с применением вирусов к скрытным, осуществляемым с помощью "троянских коней" и подобных им средств, использующих неисправленные уязвимости в ПО. Последние и носят название zero-day (или 0-day) из-за того, что соответствующий хакерский инструментарий (exploit) после обнаружения уязвимости появляется очень быстро - не только до выхода заплатки, но нередко даже до официального признания проблемы разработчиками. Затем вредоносные программы распространяются, по сути, двумя способами. Первый состоит в их внедрении через дыры в браузерах во время посещения сомнительных сайтов. Согласно декабрьскому отчету Бена Эдельмана, 4,4% результатов популярных поисковых машин относятся к рисковым с этой точки зрения. Второй способ заключается в использовании электронных рассылок, в этом случае мишенью иногда оказываются приложения, обслуживающие файлы тех или иных форматов.

Очевидно, что потенциально уязвимыми можно считать все без исключения операционные системы и приложения, однако в нынешнем году главной целью взломщиков были продукты Microsoft. Из zero-day-атак, опубликованных SANS, шесть пришлось на Internet Explorer, три на PowerPoint, по одной на Word, Excel и Visual Studio. Не были обделены вниманием и пользователи Mac - четыре атаки поровну поделили между собой Mac OS X и браузер Apple Safari. Нападений такого рода на Linux, BSD и другие UNIX-подобные системы зафиксировано не было.

Проблема "нулевого дня"
Инструмент Vulnerability Assessment, входящий в состав Blink, обеспечивает всевозможными данными, касающимися уязвимостей установленного на компьютере ПО

От тотального распространения программ, эксплуатирующих zero-day-уязвимости, нас ограждают лишь особенности их получения. Дело в том, что подобный код, как правило, передается только через "подпольные" сети злоумышленников: специальные поисковые машины, IRC-каналы и списки рассылки, в которые непосвященным попасть достаточно проблематично. Доступ туда чаще всего получают по рекомендации или приглашению. Впрочем, даже в этом случае начинающему хакеру удастся обзавестись лишь чем-то либо совсем элементарным, либо уже устаревшим. Ведь действительно актуальные и серьезные уязвимости (т. е. информация о них и код, демонстрирующий принципиальную возможность использования) нередко продаются на неких торгах аукционного типа, причем по довольно высоким ценам. Например, по данным известного поставщика средств обеспечения безопасности Trend Micro, реальная стоимость такого "товара" может составлять от 20 до 30 тыс. долл. - в зависимости от популярности атакуемого ПО и возможностей предложенного кода. Согласно недавно поступившей информации, за первую zero-day-уязвимость для Windows Vista просят вообще 50 тыс. долл.! Бытует также мнение, что многие подобные "решения" создаются на заказ.

Полностью защититься от zero-day-атак, к сожалению, нельзя. Но можно постараться минимизировать вероятность вторжения. Для этого следует придерживаться достаточно традиционных и универсальных рекомендаций:

  • обязательно применять брандмауэры (как корпоративные, так и персональные) и средства защиты от вирусов;
  • отключать ненужные сервисы ОС и препятствовать установке приложений, не требуемых для рабочих целей;
  • для всех категорий пользователей устанавливать минимальные привилегии;
  • запрещать или ограничивать в настройках Web-браузеров выполнение активных элементов, таких как JavaScript-сценарии и ActiveX;
  • свести к минимуму работу с почтовыми вложениями, а в идеале приучить пользователей с опаской относиться к файлам, полученным даже от знакомых;
  • блокировать возможности перехода по ссылкам из почтовых сообщений, а также автоматической загрузки изображений из Web;
  • следить за информацией о выявленных уязвимостях и не мешкать с получением и применением исправлений;
  • выполнять рекомендации разработчиков касательно поведения до выхода заплат.

На последних пунктах остановимся подробнее. Ситуация со сбором и использованием информации о zero-day-уязвимостях далеко не проста. Одни специалисты считают необходимым предоставлять общественности всю информацию независимо от того, выпущена соответствующая заплата или нет. Придерживающаяся этой точки зрения компания eEye Digital Security в начале декабря нынешнего года запустила информационный проект Zero-Day Tracker. Она же распространяет ПО, которое использует собранные таким образом данные о zero-day-уязвимостях. Вообще Blink - это универсальный пакет, включающий персональный брандмауэр, антишпионское и антифишинговое ПО, средства управления процессами и съемными накопителями на основе политик, а также оценки уязвимостей (Vulnerability Assessment). Именно последняя функция в данном контексте наиболее интересна. Она позволяет выполнять сканирование и анализ системы на наличие известных уязвимостей и выдает краткий отчет по проблемам и методам их устранения - с использованием заплаток (если они уже выпущены) или каких-либо рекомендаций. Персональная версия предоставляется бесплатно, а профессиональная (в первую очередь отличающаяся возможностью установки на серверные версии Windows) обойдется в $59.

Другие организации относятся к данным об уязвимостях более "ответственно". Хороший пример такого подхода - исключительная в своем роде инициатива Zero Day Initiative (ZDI) от подразделения компании 3Com TippingPoint. За информацию о прежде неизвестных дырах независимые исследователи получают от ZDI поощрительные вознаграждения. В свою очередь, TippingPoint делится этой информацией с непосредственным разработчиком ПО и распространяет среди своих клиентов защитные фильтры для оборудования класса Intrusion Prevention System. После этого, опять же конфиденциально, компания предоставляет сведения прочим создателям средств обеспечения безопасности. Наконец, одновременно с реализацией официальной заплатки, исправления или пакета обновлений TippingPoint раскрывает общественности всю информацию об уже решенной проблеме.

Конечно, дожидаться выхода официальной заплатки не всегда допустимо, и при необходимости стоит обращаться к решениям сторонних разработчиков. Одной из таких независимых групп можно считать Zeroday Emergency Response Team (ZERT, isotf.org/zert/). В нее входят инженеры, специализирующиеся на реинжиниринге ПО (reverse engineering) и работающие над реализацией собственных исправлений для zero-day-уязвимостей. Естественно, в данном случае речь может идти не о полноценном исправлении, а скорее о временном средстве предотвращения атак (что и видно, скажем, на примере утилиты ZProtector).

Напоследок еще раз хотим обратить внимание читателей, что хотя тема zero-day-уязвимостей далеко не однозначна (в силу самого характера проблемы, вокруг нее немало различных домыслов и спекуляций), пренебрегать ею ни в коем случае нельзя. Дыма без огня не бывает, и в вопросах безопасности всегда лучше лишний раз перестраховаться. Ведь, как известно, халатное отношение к защите информационных ресурсов может обернуться очень большими неприятностями.