Термин "нулевой день" обладает тревожным значением. Это уязвимости, которые скрываются в тени и используются кибер-злоумышленниками еще до того, как разработчики успевают среагировать.
В этой статье мы рассмотрим несколько известных примеров атак нулевого дня и лучших практик по смягчению последствий эксплойта уязвимостей.
Уязвимость нулевого дня - это дыра в безопасности программного обеспечения, о которой не знают разработчики. Название Zero-day означает количество дней, в течение которых уязвимость была известна заинтересованным лицам. Системы остаются незащищенными до тех пор, пока уязвимость не будет обнаружена и устранена.
Злоумышленники, знающие о нулевом дне, могут проникать в системы без обнаружения. Антивирусные программы и брандмауэры не смогут защитить от неизвестной уязвимости, подвергая опасности целые компании.
Жизненный цикл уязвимости нулевого дня сводится к следующим этапам:
Нулевые дни особенно ценны на черных рынках, а после обнаружения уязвимости теряют свою ценность для хакеров.
Атаки нулевого дня считаются одними из самых сложных киберугроз. Хакеры могут использовать уязвимости нулевого дня еще до того, как о них узнает объект атаки.
Целевые атаки нулевого дня проводятся против потенциально ценных мишеней - таких как крупные организации, правительственные учреждения или высокопоставленные лица. В данном случае атака может быть произведена с помощью уязвимостей в браузерах, веб-приложениях, компонентов с открытым исходным кодом, IoT и др.
С другой стороны, даже если злоумышленники не ставят своей целью конкретного человека, большая группа людей все равно получает ущерб. Крупные организации, правительственные учреждения, лица, имеющие доступ к ценным данным - все это может быть целью атаки.
Любой, кто задается целью получить некую выгоду от атаки нулевого дня, может быть исполнителем. Каждый конкретный случай может удивить вас изобретательностью, будь то финансовая выгода, желание привлечь внимание, корпоративный шпионаж или кибервойны.
Чаще всего громкие случаи атак нулевого дня появляются в новостных заголовках, а разные группы хакеров отказываются или берут на себя ответственность за ее осуществление.
Обнаружить все уязвимости в тысячах строках кода практически невозможно. Автоматизированный фаззинг и сканирование помогают, но многое все равно упускается. Многие технологии постоянно меняются в результате обновлений и модернизаций и к тому времени, когда анализируется одна часть, другая уже изменилась и породила новые проблемы.
Хакеры используют различные методы для обнаружения уязвимостей, не замеченных разработчиками программного обеспечения. Часто для обнаружения ошибок и сбоев они используют инструменты fuzzing, которые автоматически подают неожиданные или неправильные данные в программы и API. Посылая большие объемы случайных данных, эти инструменты иногда могут выявить проблемы с повреждением памяти или логические недостатки.
Еще одна распространенная техника - обратное проектирование. Они используются, чтобы понять, как функционирует ПО, и проверить его на наличие слабых мест.
Статически разбирая код, хакеры могут обнаружить участки, где ввод данных не был должным образом "продезинфицирован", отсутствовала обработка ошибок или произошла утечка конфиденциальных данных. Через анализ логики и дизайна программы хакеры способны обнаружить даже самые мелкие уязвимости.
Отслеживая сетевой трафик без прямого доступа, отмечая необычное поведение или ответы на ошибки, которые требуют более глубокой проверки, они могут найти ту самую уязвимость нулевого дня.
Что дальше?
После обнаружения потенциально слабого места, хакеры стараются не раскрывать свое присутствие и тестируют уязвимость во избежание ложных результатов. Они также могут создавать специальные чрезмерные нагрузки, чтобы с точностью проанализировать процесс. В случае успешной эксплуатации они анализируют полученные дампы памяти или поведение процессов, чтобы полностью понять суть ошибки.
Лишь после всех этих приготовлений злоумышленники могут незаметно для разработчиков ПО провести эксплойт. Следующей целью хакеров является использовать уязвимость до того, как будет выпущен патч.
Среди некоторых целей эксплуатации дыры - создание инфраструктуры для ransomware или криптомайнеров, которые будут поражать уязвимые узлы и распространяться удаленно. Также возможна тщательная разработка и запуск целевых атак на ценные объекты и отдельных людей. Более того, конкретную уязвимость нулевого дня могут предлагать на черном рынке для тех, кто заинтересован в компрометации определенного ПО или получении других выгод.
К тому моменту, как логи и системы безопасности заметят уязвимость и станут предлагать отчеты о сбоях, хакеры уже будут требовать выкуп за ценные данные или устанавливать долгосрочный скрытый доступ к вашим системам.
По данным Группы анализа угроз Google, из 69 нулевых дней, раскрытых в 2023 году, 44 были использованы с января по сентябрь. В 2022 году Google наблюдала 41 нулевой день, использовавшийся в недобросовестных целях.
По данным компании Mandiant, в 2022 году почти 70% всех нулевых дней приходилось на продукты и сервисы Microsoft, Google и Apple.
Одними из самых известных случаев атак нулевого дня являются:
Кто подвергся атакам нулевого дня в 2023?
17 октября 2023 года в Cisco IOS XE обнаружена критическая уязвимость, идентифицированная как CVE-2023-20198, которая позволяет удаленно запускать код.
Проблема связана с неправильным управлением привилегиями в веб-интерфейсе, что позволяет удаленному злоумышленнику, не прошедшему проверку подлинности, создать учетную запись с уровнем привилегий 15 путем отправки специально созданного HTTP-запроса.
Уязвимость, возникшая из-за избыточного вывода данных приложением Skype for Business Server, позволяет удаленному злоумышленнику получить доступ к потенциально важной информации. Неавторизованный удаленный злоумышленник может использовать эту уязвимость для получения доступа к IP-адресам, номерам портов пользователей.
В 2023 году Google выпустила несколько патчей для устранения уязвимостей в Chrome после осуществления 8 атак на браузер.
И на этом список подобных атак в ушедшем году не заканчивается. Все эти примеры говорят о незащищенности любой компании и рисках, которым подвергаются пользователи различных диджитал продуктов.
Снижение рисков нулевого дня - важнейший аспект кибербезопасности, учитывая потенциальный вред, который эти уязвимости могут нанести до того, как разработчики успеют выпустить патч.
Итак, уязвимости Zero-day опасны именно своей неизвестностью. Прежде чем вы обнаружите проблему и предпримете действия для ее устранения, уязвимость уже может быть использована злоумышленниками. Снижение рисков нулевого дня требует многоуровневого подхода, сочетающего технологические решения, информированность пользователей и проактивные меры безопасности.