Уязвимость нулевого дня
0-day (англ. zero day) — термин, обозначающий неустранённые уязвимости, а также вредоносные программы, против которых ещё не разработаны защитные механизмы[1].
Сам термин означает, что у разработчиков было 0 дней на исправление дефекта: уязвимость или атака становится публично известна до момента выпуска производителем ПО исправлений ошибки (то есть потенциально уязвимость может эксплуатироваться на работающих копиях приложения без возможности защититься от неё)[2].
Обнаружение уязвимостей
На данный момент многие вирусописатели фокусируют свои усилия именно на обнаружении неизвестных уязвимостей в программном обеспечении. Это обусловлено высокой эффективностью использования уязвимостей, что, в свою очередь, связано с двумя фактами — высоким распространением уязвимого ПО (именно такое программное обеспечение, как правило, атакуют) и некоторым временным промежутком между обнаружением уязвимости компанией-разработчиком программного обеспечения и выпуском соответствующего обновления для исправления ошибки.
Для обнаружения уязвимостей вирусописатели используют различные техники, например:
- Дизассемблирование программного кода и последующий поиск ошибок непосредственно в коде программного обеспечения;
- Реверс-инжиниринг и последующий поиск ошибок в алгоритмах работы программного обеспечения;
- Fuzz-тестирование — своего рода стресс-тест для программного обеспечения, суть которого заключается в обработке программным обеспечением большого объёма информации, содержащей заведомо неверные параметры.
Создание вредоносного кода
После обнаружения уязвимости в программном обеспечении начинается процесс разработки вредоносного кода, использующего обнаруженную уязвимость для заражения отдельных компьютеров или компьютерных сетей
По состоянию на 2017 год самой известной вредоносной программой, использующей 0day уязвимость в программном обеспечении, является сетевой червь-вымогатель WannaCry, который был обнаружен в мае 2017 года. WannaCry использовал эксплойт EternalBlue в уязвимости SMB (Server Message Block) на операционных системах семейства Windows. При удачной попытке внедриться в компьютер WannaCry устанавливает бэкдор DoublePulsar для дальнейших манипуляции и действий. Также, не менее известный червь Stuxnet использовал ранее неизвестную уязвимость операционных систем семейства Windows, связанную с алгоритмом обработки ярлыков. Следует отметить, что, помимо 0day уязвимости, Stuxnet использовал ещё три ранее известные уязвимости.
Помимо создания вредоносных программ, использующих 0day уязвимости в программном обеспечении, вирусописатели активно работают и над созданием вредоносных программ, не детектируемых антивирусными сканерами и мониторами. Данные вредоносные программы также попадают под определение термина 0day.
Отсутствие детектирования антивирусными программами достигается за счёт применения вирусописателями таких технологий, как обфускация, шифрование программного кода и др.
Защита
В связи с применением специальных технологий, 0day-угрозы не могут быть детектированы классическими антивирусными технологиями. Именно по этой причине продукты, в которых сделана ставка на классические антивирусные технологии, показывают весьма посредственный результат в динамических антивирусных тестированиях.
По мнению антивирусных компаний, для обеспечения эффективной защиты против 0day вредоносных программ и уязвимостей нужно использовать проактивные технологии антивирусной защиты. Благодаря специфике проактивных технологий защиты они способны одинаково эффективно обеспечивать защиту как от известных угроз, так и от 0day-угроз. Хотя стоит отметить, что эффективность проактивной защиты не является абсолютной, и весомая доля 0day-угроз способна причинить вред жертвам злоумышленников. Независимых подтверждений этим утверждениям на настоящий момент нет.
Примечания
- About Zero Day Exploits (недоступная ссылка). Дата обращения: 2 июля 2018. Архивировано 8 августа 2011 года.
- Flash Vulnerabilities Causing Problems . Дата обращения: 17 августа 2016. Архивировано 17 августа 2016 года.
Ссылки
- 0-Day Patch — Exposing Vendors (In)security Performance (англ.)
- 0day.today — 0day Exploit DataBase (англ.)
- Attackers seize on new zero-day in Word (англ.)
- Человеческий фактор: лекарство от социальной инженерии (рус.)
- Vulnerability database . US-CERT.
- Zero Day Tracker . research.eeye.com.
- Zero Day Vulnerability Tracking Project . www.zero-day.cz.