В новостях об информационной безопасности регулярно мелькают заголовки о том, что хакеры использовали уязвимость нулевого дня для атаки на государственные учреждения или крупные корпорации. Термин zero day звучит зловеще и часто обрастает мифами. На самом деле за этим названием скрывается вполне конкретный технический и временной параметр, который описывает жизненный цикл уязвимости и реакцию на нее разработчиков. Чтобы понять суть, нужно разобраться в том, как вообще появляются и закрываются дыры в программном обеспечении.
Когда исследователь безопасности или злоумышленник находит ошибку в коде, начинается отсчет времени. Если он действует этично, он сообщает о находке вендору, то есть компании-разработчику. У разработчика появляется время на то, чтобы изучить проблему, написать исправление, протестировать его и выпустить патч. Этот период от момента официального уведомления до выхода обновления называется днем нулевым условно, но на практике у компании есть несколько дней или недель на исправление. Как только патч выпущен и опубликован, уязвимость становится известной широкой публике, и начинается гонка: администраторы бегут устанавливать обновление, а хакеры пытаются написать эксплойт.
Но сценарий с нулевым днем выглядит иначе. Уязвимость нулевого дня это такая дыра в безопасности, о которой разработчик еще не знает, или знает, но патча еще не существует. Название zero day означает, что у разработчиков есть ноль дней на исправление, потому что уязвимость уже используется в дикой природе, то есть злоумышленники активно ей эксплуатируют, а защиты от нее фактически нет.
Это ситуация, когда замок сломан, ключи у взломщиков есть, а мастер еще даже не понял, что замок бракованный.
Рынок уязвимостей нулевого дня это огромная и очень дорогая индустрия. Такие баги не продают на обычных хакерских форумах за копейки. Их покупают специализированные брокеры, частные компании, разрабатывающие инструменты для слежки, и государственные структуры. Цена зависит от целевой платформы. Например, эксплойт нулевого дня для удаленного выполнения кода в современных версиях iOS или Android может стоить от сотни тысяч до нескольких миллионов долларов. Это объясняется тем, что мобильные операционные системы имеют очень серьезную многоуровневую защиту, и найти в них работающую дыру, позволяющую получить полный контроль без взаимодействия с пользователем, невероятно сложно.
Использование zero day часто ассоциируется с целевыми атаками высокого уровня, так называемыми APT-группировками. Государственные хакеры берегут свои арсеналы нулевых дней для самых важных целей. Классический пример это шпионское ПО, которое позволяет скрытно перехватывать звонки, читать сообщения и включать микрофон на телефоне, даже если он заблокирован. Но нулевые дни используются и в массовых атаках. Иногда хакеры применяют их для первоначального проникновения в сеть, чтобы затем развернуть программу-вымогатель. Как только факт использования zero day становится публичным и вендор выпускает патч, ценность этого конкретного эксплойта для массового рынка резко падает, но для тех, кто уже успел закрепиться в сети, это не имеет значения.
Защититься от уязвимости нулевого дня традиционными методами невозможно, потому что вы не можете заблокировать то, о чем не знаете. Антивирусы, ищущие известные сигнатуры, здесь бессильны. Именно поэтому в корпоративной среде делается ставка на концепцию глубокой эшелонированной защиты. Если хакер использовал zero day для взлома браузера, он не должен иметь возможности выйти за пределы изолированной песочницы этого браузера. Виртуализация, строгий контроль привилегий, сегментация сети и системы поведенческого анализа, которые реагируют на аномальные действия, а не на известные сигнатуры, вот единственная реальная надежда mitigate снизить риски, связанные с нулевыми днями.
Уязвимость нулевого дня — это ошибка в программном обеспечении, для которой еще отсутствует доступное исправление. Если такой недостаток начинает использоваться злоумышленниками до выхода патча, он считается особенно опасным.
Название означает, что у разработчика нет времени на подготовку защиты, поскольку уязвимость уже может использоваться для атак до выпуска обновления безопасности.
Обычные уязвимости уже имеют опубликованное исправление или рекомендации по защите. Для Zero Day готового патча еще нет, что делает подобные угрозы более сложными для предотвращения.
Подобные уязвимости могут использоваться организованными киберпреступными группами, APT-группировками и другими злоумышленниками, проводящими целевые атаки на организации и инфраструктуру.
Абсолютной защиты не существует. Однако регулярное обновление программного обеспечения, использование современных средств обнаружения угроз, ограничение привилегий пользователей и многоуровневая защита значительно снижают возможные риски.
Уязвимости могут обнаруживаться практически в любом программном обеспечении: операционных системах Windows, Linux и macOS, мобильных устройствах на Android и iOS, веб-браузерах, корпоративных сервисах и сетевом оборудовании.
Рекомендуется своевременно устанавливать обновления безопасности, использовать антивирусные решения и средства обнаружения угроз, выполнять резервное копирование данных, а также соблюдать принципы минимальных привилегий и сегментации сети.