Кто такой нулевой день
Мир уязвимостей
Здравствуйте, уважаемые Хабраюзеры. Предлагаю вашему вниманию мой вольный перевод довольно интересной статьи, опубликованной Pierluigi Paganini в Infosec Institute (конец 2012 г., однако она нисколько не потеряла своей актуальности и сегодня), посвященной состоянию дел в мире 0day и 1day уязвимостей. Статья не претендует на глубокий технический анализ или оценку этого рынка, а всего лишь делает «краткий» экскурс в этой области, но я думаю, она будет интересна многим. Прошу под кат.
Введение
0day уязвимости
Контрмеры и значение быстрого реагирования
Жизненный цикл 0day уязвимости состоит из следующих фаз:
Рисунок 1. Жизненный цикл 0day уязвимости
Факт обнаружения уязвимости нулевого дня требует срочного реагирования. Период между эксплуатацией уязвимости и выпуском патча является решающим фактором для управления безопасностью программного обеспечения. Исследователи Лейла Бильге и Тудор Думитраш из Symanter Research Lab представили своё исследование под названием: “Before We Knew It … An Empirical Study of Zero-Day Attacks In The Real World“ в котором они объяснили, как знание такого типа уязвимостей даёт возможность правительству, хакерам или киберпреступникам взламывать любую цель, оставаясь при этом незамеченными. Исследование показало, что типичная 0day атака имеет среднюю продолжительность в 312 дней и как показано на рисунке 2, публикация информации об эксплойте в свободном доступе повышает число атак в 5 раз.
Рисунок 2 Число атак в зависимости от времени публикации 0day.
Публикация уязвимости порождает серию кибератак, в рамках которых злоумышленники пытаются извлечь выгоду из знания о ней и задержки в выпуске патча. Эти противоправные действия не имеют конкретного происхождения, что делает их сложными для предотвращения. Группы киберпреступников, хактивисты и кибертеррористы могут воспользоваться уязвимостью в различных секторах экономики, и ущерб от их деятельности зависит от контекста, в рамках которого они действуют. Убеждение в том, что уязвимости нулевого дня редко встречаются ошибочно, они встречаются так же, с одним лишь фундаментальным отличием в том, что информация о них не публикуется. Исследования выявили тревожную тенденцию: 60% ошибок идентифицируются как неизвестные и данные подтверждают, что существует гораздо больше 0day уязвимостей, чем прогнозировалось, плюс среднее время жизненного цикла 0day уязвимости может быть недооценено.
Один из самых обсуждаемых вопросов, как реагировать на публикацию 0day уязвимости. Многие эксперты убеждены, что необходимо немедленно раскрывать информацию о ней при этом, забывая, что это обычно является основной причиной для эскалации кибератак, эксплуатирующих эту ошибку. Вторая точка зрения предполагает хранить информацию об уязвимости в секрете, сообщая только компании, которая разработала скомпрометированное приложение. В этом случае, существует возможность контролировать всплеск атак после разглашения информации об уязвимости. Однако существует риск, что компания не сможет справиться с этим и выпустит подходящий патч для ошибки лишь через несколько месяцев после случившегося.
Не только 0day
Многие специалисты считают, что настоящим кошмаром для информационной безопасности являются 0day уязвимости и ошибки, которые невозможно предсказать и которые подвергают инфраструктурные объекты таким угрозам, которые трудно обнаружить и которые могут привести к серьезным последствиям. Несмотря на страх перед атаками нулевого дня, инфраструктурным объектам ежедневно угрожает огромное количество известных уязвимостей, для которых соответствующие контрмеры не применяются и это является общепризнанным фактом.
Несоблюдение лучших практик патч-менеджмента является основной причиной существующих проблем для частных компаний и правительства. В некоторых случаях процессы патч-менеджмента протекают крайне медленно, и окно реагирования на киберугрозы является чрезвычайно большим.
Рисунок 3 – Окно реагирования
От обнаружения к миллионному рынку
Как создать утилиту для эксплуатации уязвимости после её анонса? Процедура проста в сравнении с поиском 0day уязвимостей. После выпуска патча, исследователи и преступники могут определить конкретную уязвимость, используя методику двоичного сравнения (binary diffing technique). Термин «двоичное сравнение» (diff) происходит от имени консольной утилиты, которая используется для сравнения файлов, таким же образом, как и бинарные файлы до и после применения патча. Эта методика довольно эффективна и может применяться для исполняемых файлов Microsoft, потому что компания выпускает патчи регулярно, а идентифицировать код, затронутый патчем в бинарном файле для специалиста является достаточно простой задачей. Парочка самых известных фреймворков для двоичного сравнения: DarunGrim2 и Patchdiff2.
Теперь, когда мы описали 0day и 1day уязвимости, было бы полезно открыть для себя механизмы их коммерциализации. В статье, опубликованной на сайте Forbes, предлагаются цены на 0day уязвимости в продуктах популярных IT-компаний.
Рисунок 4 –Прайс на 0-day уязвимости (Forbes)
Рисунок 5 – Прайс лист на эксплойт-пакеты и сервисы
Что такое атака нулевого дня? Определение и описание
Нулевой день. Определение и описание
«Нулевой день» – это общий термин, описывающий недавно обнаруженные уязвимости в системе безопасности, которые могут быть использованы злоумышленниками для атаки на систему. Термин «нулевой день» показывает, что поставщик или разработчик только что узнали об уязвимости, и у них есть «ноль дней» на ее исправление. Атака нулевого происходит в результате использования злоумышленниками уязвимости до того, как разработчикам удалось ее исправить.
Нулевой день иногда обозначают как 0-день. Слова уязвимость, эксплойт и атака обычно используются в сочетании со словами «нулевого дня», и важно понимать разницу между этими терминами:
Что такое и как работают атаки нулевого дня?
В программном обеспечении часто есть уязвимости безопасности, которые злоумышленники могут использовать для причинения вреда. Разработчики программного обеспечения всегда ищут уязвимости, которые необходимо исправить. В результате разрабатываются и выпускаются программные обновления.
Однако иногда злоумышленники обнаруживают уязвимость раньше разработчиков. Пока уязвимость не закрыта, злоумышленники могут написать и внедрить код, позволяющий ей воспользоваться. Он называется кодом эксплойта.
В результате внедрения кода эксплойта могут пострадать пользователи программного обеспечения, например, вследствие кражи личных данных или других киберпреступлений. Как только злоумышленники находят уязвимость нулевого дня, им нужно получить доступ к уязвимой системе. Часто для этого используются сообщения электронной почты с применением приемов социальной инженерии – злоумышленники выдают свои сообщения за сообщения от известных легальных отправителей. Цель сообщения – заставить пользователя выполнить определенное действие, например, открыть файл или посетить вредоносный веб-сайт. При этом загружается вредоносная программа злоумышленника, проникающая в файлы пользователя и выполняющая кражу конфиденциальных данных.
Когда об уязвимости становится известно, разработчики пытаются исправить ее, чтобы остановить атаку. Однако уязвимости в системе безопасности часто не удается обнаружить сразу. Иногда до момента обнаружения уязвимости, ставшей причиной атаки, могут пройти дни, недели и даже месяцы. И даже после выпуска патча, закрывающего уязвимость нулевого дня, не все пользователи сразу же его устанавливают. В последние годы хакеры стали гораздо быстрее обнаруживать и использовать уязвимости.
Эксплойты продаются в даркнете за большие деньги. После обнаружения и исправления эксплойт больше не считается угрозой нулевого дня.
Особая опасность атак нулевого дня заключается в том, что о них знают только сами злоумышленники. После проникновения в сеть преступники могут либо атаковать немедленно, либо затаиться и ждать наиболее подходящего времени.
Кто совершает атаки нулевого дня?
Злоумышленники, совершающие атаки нулевого дня, делятся на категории в зависимости от мотивов. Например:
На кого нацелены эксплойты нулевого дня?
При атаках нулевого дня могут использоваться различные уязвимые объекты:
В результате круг потенциальных жертв становится достаточно широким:
Также полезно выделить целевые и нецелевые атаки нулевого дня:
Даже когда атаки нулевого дня не нацелены ни на кого конкретного, от них все равно может пострадать большое количество людей, обычно вследствие побочного эффекта. Нецелевые атаки направлены на максимальное количество пользователей, а значит могут пострадать данные обычных людей.
Как выявить атаки нулевого дня
Существуют различные виды уязвимостей нулевого дня: отсутствие шифрования данных, отсутствие авторизации, неработающие алгоритмы, ошибки, проблемы с безопасностью паролей и прочие. Обнаружить их может оказаться непросто. Из-за характера этих уязвимостей подробная информация об эксплойтах нулевого дня доступна только после их идентификации.
Организации, подвергшиеся атаке нулевого дня, могут наблюдать нетипичный трафик или подозрительные действия, такие как сканирование, исходящие от клиента или сервиса. Некоторые методы обнаружения атак нулевого дня включают:
Часто используется комбинация различных систем обнаружения.
Примеры атак нулевого дня
Ниже приведены примеры последних атак нулевого дня.
2021: уязвимость нулевого дня Google Chrome
В 2021 году Google Chrome подвергся серии атак нулевого дня, ставших причиной ряда обновлений Chrome. Уязвимость возникла из-за ошибки в JavaScript-движке V8, используемом в веб-браузере.
2020: Zoom
У популярной платформы видеоконференцсвязи была обнаружена уязвимость. В результате этой атаки нулевого дня злоумышленники получали удаленный доступ к компьютерам пользователей, на которых установлены старые версии Windows. Если атака была нацелена на администратора, злоумышленники могли полностью захватить его компьютер и получить доступ ко всем файлам.
2020: Apple iOS
Apple iOS часто называют самой безопасной платформой для смартфонов. Однако в 2020 году она подверглась как минимум двум атакам нулевого дня. Одна из ошибок нулевого дня позволила злоумышленникам удаленно скомпрометировать iPhone.
2019: Microsoft Windows, Восточная Европа
Эта атака была направлена на повышение локальных привилегий – уязвимую часть Microsoft Windows, и нацелена на государственные учреждения в Восточной Европе. В этой атаке нулевого дня использовалась уязвимость локальных привилегий Microsoft Windows для запуска произвольного кода и установки программ, а также для просмотра и изменения данных о скомпрометированных программах. После идентификации атаки и сообщения и ней в Центр по реагированию на угрозы Microsoft, был разработан и выпущен патч.
2017: Microsoft Word
Результатом этого эксплойта нулевого дня стала компрометация личных банковских счетов. Жертвами оказались люди, которые неосознанно открывали вредоносный документ Word. В документе отображалось предложение загрузить удаленное содержимое – всплывающее окно, запрашивающее внешний доступ из другой программы. При нажатии на кнопку «Да» на устройства пользователей устанавливалось вредоносное ПО, перехватывающее учетные данные для входа в интернет-банк.
Stuxnet
Один из самых известных примеров атак нулевого дня – Stuxnet – вредоносный компьютерный червь, впервые обнаруженный в 2010 году, но зародившийся еще в 2005 году. Его атаке подверглись производственные компьютеры с программируемыми логическими контроллерами (ПЛК). Основной целью были заводы Ирана по обогащению урана, атака на которые могла подорвать ядерную программу страны. Червь проник на ПЛК через уязвимости в программном обеспечении Siemens Step7 и заставил ПЛК выполнять непредусмотренные команды на сборочном оборудовании. История Stuxnet впоследствии легла в основу документального фильма «Уязвимость нулевых дней» (Zero Days).
Как защититься от атак нулевого дня
Для защиты от атак нулевого дня и обеспечения безопасности компьютеров и данных частным лицам и организациям важно выполнять определенные правила кибербезопасности. Они включают:
Своевременное обновление программ и операционных систем. Производители включают в новые выпуски исправления безопасности для устранения недавно обнаруженных уязвимостей. Своевременное обновление повышает вашу безопасность.
Использование только необходимых программ. Чем больше у вас программного обеспечения, тем больше потенциальных уязвимостей. Использование только необходимых программ позволит снизить риск для сети.
Использование сетевого экрана. Сетевой экран играет важную роль в защите системы от угроз нулевого дня. Настройка сетевого экрана так, чтобы допускались только необходимые транзакции, позволит обеспечить максимальную защиту.
Обучение сотрудников организаций. Многие атаки нулевого дня основаны на человеческих ошибках. Обучение сотрудников и пользователей правильным навыкам обеспечения безопасности и защиты поможет как обеспечить их безопасность в интернете, так и защитить организацию от эксплойтов нулевого дня и других цифровых угроз.
Использование комплексного антивирусного программного решения. Kaspersky Total Security помогает защитить ваши устройства, блокируя известные и неизвестные угрозы.
СОДЕРЖАНИЕ
участок
Андре Кригман и Кэлвин Габриэль (основанные на Эрике Харрисе и Дилане Клиболде ) объявляют о своем намерении атаковать свою школу, Среднюю школу ирокезов, называя свой план «нулевым днем». Они ведут видеодневник на камеру, тщательно скрывая свои планы от друзей и близких. Большая часть фильма изображена через видеосъемку и показывает, как они планируют, готовятся и упоминают некоторые из своих мотивов.
Другие сцены показывают, как двое присутствуют на вечеринке по случаю дня рождения Андре, подбивают дом кого-то, кого они не любят, и Кэл идет на выпускной, в то время как Андре работает в пиццерии. В одной из видеозаписей Кэл отмечает происхождение названия «Нулевой день»: Кэл и Андре изначально планировали атаковать в первый день, когда температура упала до нуля градусов после того, как они закончили свои приготовления. Этот план вскоре оказался непрактичным, и новой датой было назначено 1 мая 2001 года. Желая, чтобы их атака имела запоминающееся название, они согласились сохранить первоначальное название.
10 мая группа молодых людей снимает себя идущим в парк, где стоят мемориальные кресты. Дети находят кресты для двух стрелков и поджигают их.
Бросать
В порядке появления:
Производство
Ни одна из многочисленных средних школ Коннектикута, где он стремился снимать фильм, не позволяла Коччио получить доступ, и в конечном итоге он использовал интерьер здания Государственного университета Нью-Йорка в магазине Purchase in Purchase, Нью-Йорк. «Соответствующим образом крепостным» экстерьером средней школы была средняя школа Нью-Милфорд в Нью-Милфорде, штат Коннектикут, где в то время жил Коччио.
На кастинге Коччио обратился в средние школы по всему Коннектикуту в поисках подростков, интересующихся актерской игрой, которые могли не иметь большого или какого-либо профессионального опыта. У Коччо было три дня открытых прослушиваний. Андре Кеук откликнулся на рекламу Коччио, размещенную в журнале Backstage Magazine, и привел на прослушивание своего одноклассника и коллегу-энтузиаста театра Кэла Робертсона. Оба мальчика играли в постановках Шекспира в театре Стратфорд Эйвон в Стратфорде, штат Коннектикут. Им было предложено импровизировать на протяжении всего фильма.
Прием
Нулевой день (вычисления)
Содержание
Векторы атак [ править ]
Окно уязвимости [ править ]
Время от момента, когда программный эксплойт впервые становится активным, до момента, когда количество уязвимых систем сокращается до незначительного значения, известно как окно уязвимости (WoV). [9] График каждой уязвимости программного обеспечения определяется следующими основными событиями:
На практике размер WoV варьируется в зависимости от системы, поставщика и отдельных уязвимостей. Он часто измеряется в днях, и в одном из отчетов за 2006 год средний показатель оценивается в 28 дней. [11]
Защита [ править ]
Было высказано предположение, что решение такого рода может быть недостижимо, потому что в общем случае алгоритмически невозможно проанализировать любой произвольный код, чтобы определить, является ли он вредоносным, поскольку такой анализ сводится к проблеме остановки над линейным ограниченным автоматом., которая неразрешима. Однако нет необходимости рассматривать общий случай (то есть сортировать все программы по категориям вредоносных и не вредоносных) в большинстве случаев, чтобы устранить широкий спектр вредоносного поведения. Достаточно признать безопасность ограниченного набора программ (например, тех, которые могут обращаться или изменять только заданное подмножество машинных ресурсов), отвергая при этом как некоторые безопасные, так и все небезопасные программы. Это действительно требует поддержания целостности этих безопасных программ, что может оказаться трудным перед лицом эксплойта на уровне ядра. [ необходима цитата ]
Черви [ править ]
Этика [ править ]
Большинство официальных программ следуют той или иной форме руководящих принципов раскрытия информации Rain Forest Puppy или более поздних рекомендаций OIS по отчетности и реагированию на уязвимости системы безопасности. Как правило, эти правила запрещают публичное раскрытие уязвимостей без уведомления поставщика и без достаточного времени для выпуска исправления.
Вирусы [ править ]
Традиционно антивирусное программное обеспечение использует сигнатуры для идентификации вредоносных программ. Это может быть очень эффективным, но не может защитить от вредоносных программ, если уже не получены образцы, не сгенерированы подписи и не распространены обновления среди пользователей. Из-за этого подходы на основе сигнатур неэффективны против вирусов нулевого дня.
Большинство современных антивирусных программ по-прежнему используют сигнатуры, но также проводят другие виды анализа.
Анализ кода [ править ]
Эмуляция [ править ]
Один из подходов к преодолению ограничений анализа кода заключается в том, чтобы антивирусное программное обеспечение запускало подозрительные участки кода в безопасной песочнице и наблюдало за их поведением. Это может быть на порядки быстрее, чем анализ того же кода, но должно противостоять (и обнаруживать) попытки кода обнаружить песочницу.
Общие подписи [ править ]
Конкурентоспособность в индустрии антивирусного программного обеспечения [ править ]
В антивирусной индустрии принято считать, что защита на основе сигнатур большинства поставщиков одинаково эффективна. Если для вредоносного ПО доступна сигнатура, то каждый продукт (за исключением неисправных) должен ее обнаружить. Однако некоторые поставщики значительно быстрее других узнают о новых вирусах и / или обновляют базы данных сигнатур своих клиентов для их обнаружения. [16]
Участие правительства США [ править ]
Использование АНБ эксплойтов нулевого дня (2017) [ править ]
В середине апреля 2017 года хакеры, известные как Shadow Brokers (TSB), предположительно связанные с российским правительством [18] [19], выпустили файлы из АНБ (первоначально считавшееся якобы исходящим от АНБ, позже подтвержденное внутренним подробностей и американского информатора Эдварда Сноудена ) [20], которые включают серию «эксплойтов нулевого дня», нацеленных на программное обеспечение Microsoft Windows, и инструмент для проникновения в поставщика услуг Общества всемирных межбанковских финансовых телекоммуникаций (SWIFT). [21] [22] [23] Ars Technica сообщила о взломе Shadow Brokers в середине января 2017 года [24] а в апреле Shadow Brokers опубликовали эксплойты в качестве доказательства. [24]
Уязвимость операций с акционерным капиталом [ править ]
Процесс подвергался критике за ряд недостатков, включая ограничение соглашениями о неразглашении информации, отсутствие рейтингов риска, особый режим для АНБ и менее чем искреннюю приверженность раскрытию информации в качестве варианта по умолчанию. [26]
Обнаружение на основе подписи [ править ]
Уязвимость нулевого дня
Уязвимость нулевого дня (0day, zero day) — термин, который используется для обозначения не выявленных на стадии тестирования угроз безопасности, уязвимостей, брешей в программном коде, против которых не существует защиты. Изначально они не известны никому: разработчики, антивирусные компании, пользователи не подозревают об их существовании. Об уязвимости нулевого дня становится известно до того, как производитель выпускает обновления; следовательно, у разработчиков есть 0 дней, чтобы устранить изъян. Устройства, на которых установлена уязвимая программа, находятся в зоне риска, а пользователи не имеют возможности защититься.
Обнаружение и распознавание уязвимостей
Иногда уязвимость нулевого дня выявляют хакеры, которые не хотят использовать ее в злонамеренных целях и сообщают о ней разработчикам. В других случаях ошибку могут найти пользователи или сами разработчики, после чего производителями выпускается новая версия ПО или обновление. Кроме того, антивирусы тоже иногда могут зарегистрировать вредоносные действия.
Впрочем, очевидно, что обнаружить баг могут и хакеры-злоумышленники, преследующие вредоносные цели. Тогда они будут эксплуатировать его сами или продадут другим киберпреступникам.
Для обнаружения уязвимостей злоумышленники используют различные методы:
В противоположном случае разработчик знает, что существует баг в коде, но не хочет или не может его устранить, не предупреждая никого об уязвимости.
Атаки на уязвимости нулевого дня
Если произошла атака с использованием уязвимости нулевого дня, то это значит, что злоумышленники знали о баге достаточное количество времени, чтобы написать и активировать вредоносную программу для его эксплуатации. Такие атаки опасны тем, что к ним невозможно подготовиться, а также тем, что постоянное обновление ПО не дает гарантии их предотвращения или снижения риска их возникновения.
Защита от уязвимостей нулевого дня и их устранение
Устранение ошибок входит в обязанности разработчика. Критическая проблема закрывается в течение нескольких дней или недель; все это время системы, использующие уязвимое ПО, будут находиться в опасности.
Для защиты можно использовать традиционные антивирусные технологии, а также проактивные средства: