Что значит атака нулевого дня

Уязвимости «нулевого дня»

Что происходит после того, как хакер обнаруживает новую или так называемую 0day уязвимость? Учитывая то, что никаких защитных механизмов против нее еще не разработано, уязвимость может эксплуатироваться в приложении без какой-либо возможности от нее защититься. Сам этот термин означает, что у разработчиков не было ни одного дня на исправление обнаруженного дефекта. Если требуется гарантированный результат, то злоумышленник должен использовать именно 0day уязвимость, иначе производитель ПО выпустит патч, который со временем ее закроет. Кроме того, попытка воспользоваться эксплоитом (программой, использующей данную ошибку в софте для атаки системы) может привести к срабатыванию соответствующей сигнатуры антивирусной программы или межсетевого экрана. Однако если вирусописатель применил шифрование тела вируса и обфускацию его исходного кода, антивирусная программа, скорее всего, не обнаружит вирус, эксплуатирующий неизвестную уязвимость.

Сколько времени обычно проходит от обнаружения уязвимости до выпуска патча?

Если хакер является именно злоумышленником, а не легальным пентестером, то сразу после эксплуатации уязвимости и достижения своих черных целей он может опубликовать результаты своих исследований на соответствующих форумах. Даже если он этого не сделает, после удачного взлома часто остаются следы, которые позволяют определить, какая именно уязвимость привела к утечке информации, и передать данные производителю программы. Если уязвимость критическая, то устранение ее займет дни и недели — после этого пользователям будет предложено обновиться и система будет снова защищена. Однако после обнаружения уязвимости могут пройти месяцы — и все это время система будет незащищенной. Самое важное — насколько широкий круг лиц посвящен в проблему: чем он больше, тем выше вероятность эксплуатации уязвимости.

Читайте также:  Что значит 127 при переписках

Уязвимости операционной системы

Если речь идет об уязвимостях операционной системы, то тут все усложняется. В большинстве случаев, ваш ПК является частью локальной сети. Если одна из рабочих станций уязвима (например, там установлена устаревшая версия ОС), то она представляет собой слабое звено цепи, через которое легко получить доступ к другим компьютерам и скомпрометировать всю сеть. Если речь идет о домашнем ПК, то угроза не столь высока. Однако, через эксплуатацию какой-либо известной уязвимости ваш компьютер будет инфицирован и, например, без вашего ведома будет принимать участие в DDoS-атаках, т.е. станет частью ботнета.

Зачем это нужно знать разработчику?

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

Защита от реверсинга и взлома

Затруднить взлом своей программы можно и нужно, для этого используется целый ряд способов, начиная от обфускации кода до удаленного запуска части кода на удаленных серверах, однако это уже тема для отдельной статьи.

Интересно почитать продолжение?

А тем, кто определился с тем, что хочет стать программистом, рекомендуем профессию «Веб-разработчик».

Что происходит после того, как хакер обнаруживает новую или так называемую 0day уязвимость? Учитывая то, что никаких защитных механизмов против нее еще не разработано, уязвимость может эксплуатироваться в приложении без какой-либо возможности от нее защититься. Сам этот термин означает, что у разработчиков не было ни одного дня на исправление обнаруженного дефекта. Если требуется гарантированный результат, то злоумышленник должен использовать именно 0day уязвимость, иначе производитель ПО выпустит патч, который со временем ее закроет. Кроме того, попытка воспользоваться эксплоитом (программой, использующей данную ошибку в софте для атаки системы) может привести к срабатыванию соответствующей сигнатуры антивирусной программы или межсетевого экрана. Однако если вирусописатель применил шифрование тела вируса и обфускацию его исходного кода, антивирусная программа, скорее всего, не обнаружит вирус, эксплуатирующий неизвестную уязвимость.

Сколько времени обычно проходит от обнаружения уязвимости до выпуска патча?

Если хакер является именно злоумышленником, а не легальным пентестером, то сразу после эксплуатации уязвимости и достижения своих черных целей он может опубликовать результаты своих исследований на соответствующих форумах. Даже если он этого не сделает, после удачного взлома часто остаются следы, которые позволяют определить, какая именно уязвимость привела к утечке информации, и передать данные производителю программы. Если уязвимость критическая, то устранение ее займет дни и недели — после этого пользователям будет предложено обновиться и система будет снова защищена. Однако после обнаружения уязвимости могут пройти месяцы — и все это время система будет незащищенной. Самое важное — насколько широкий круг лиц посвящен в проблему: чем он больше, тем выше вероятность эксплуатации уязвимости.

Уязвимости операционной системы

Если речь идет об уязвимостях операционной системы, то тут все усложняется. В большинстве случаев, ваш ПК является частью локальной сети. Если одна из рабочих станций уязвима (например, там установлена устаревшая версия ОС), то она представляет собой слабое звено цепи, через которое легко получить доступ к другим компьютерам и скомпрометировать всю сеть. Если речь идет о домашнем ПК, то угроза не столь высока. Однако, через эксплуатацию какой-либо известной уязвимости ваш компьютер будет инфицирован и, например, без вашего ведома будет принимать участие в DDoS-атаках, т.е. станет частью ботнета.

Зачем это нужно знать разработчику?

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

Защита от реверсинга и взлома

Затруднить взлом своей программы можно и нужно, для этого используется целый ряд способов, начиная от обфускации кода до удаленного запуска части кода на удаленных серверах, однако это уже тема для отдельной статьи.

Интересно почитать продолжение?

А тем, кто определился с тем, что хочет стать программистом, рекомендуем профессию «Веб-разработчик».

Источник

Мир уязвимостей

Здравствуйте, уважаемые Хабраюзеры. Предлагаю вашему вниманию мой вольный перевод довольно интересной статьи, опубликованной Pierluigi Paganini в Infosec Institute (конец 2012 г., однако она нисколько не потеряла своей актуальности и сегодня), посвященной состоянию дел в мире 0day и 1day уязвимостей. Статья не претендует на глубокий технический анализ или оценку этого рынка, а всего лишь делает «краткий» экскурс в этой области, но я думаю, она будет интересна многим. Прошу под кат.

Введение

0day уязвимости

В огромном мире уязвимостей, 0day уязвимости это настоящий кошмар для специалистов по безопасности. После любой утечки информации об ошибках и уязвимостях становится невозможным предсказать, где и когда они будут использованы. Это качество делает их идеальным инструментом для разработки кибероружия и правительственных атак. Интерес в поиске неизвестных уязвимостей для распространённых приложений полностью изменил роль хакеров. В прошлом это были люди, которые держались подальше от государства, сегодня индустрия и даже разведывательные агентства запустили полномасштабную кампанию по вербовке кадров в этой сфере.
Прибыль же от уязвимостей может быть получена по разным каналам, начиная от разработчика скомпрометированного приложения, заканчивая правительственными организациями, заинтересованными в уязвимости для проведения кибератак против враждебных государств, уязвимость также может быть продана на чёрном рынке.
Вокруг этой концепции вырос целый рынок в рамках которого скорость любой транзакции является основополагающим фактором. Как только найдена новая ошибка, и существует возможность её эксплуатации, разработчик должен быстро определить потенциальных покупателей, связаться с ними, чтобы договориться о цене и завершить сделку.
Знаменитый эксперт по безопасности Чарли Миллер описал этот рынок в своей статье: “The Legitimate Vulnerability Market: The Secretive World of 0-Day Exploit Sales”, осветив несколько ключевых вопросов:

  • Сложность поиска покупателя и продавца;
  • Проверка надежности покупателя;
  • Сложность демонстрации работоспособности 0day эксплойта без разглашения информации о нём;
  • Обеспечение эксклюзивности прав.

Принципиальная проблема для хакера, которому нужно продать уязвимость, заключается в его ловкости сделать это без разглашения слишком большого объема информации о ней. Процесс продажи очень сложен, потому что покупатель хочет убедиться в эффективности эксплойта и теоретически может попросить демонстрацию его наличия. Единственный способ доказать достоверность информации это полностью раскрыть её или продемонстрировать её в каком — то другом виде. Очевидно, раскрытие информации до продажи нежелательно, так как исследователь подвергается риску потерять свою интеллектуальную собственность без компенсаций.
Чтобы удовлетворить эти потребности родились профессиональные брокеры по продаже 0day эксплойтов, которые обеспечивают анонимность каждой из сторон в обмен на комиссию и проводят сделки между покупателями и продавцами.
Третья сторона гарантирует корректную оплату продавцу и конфиденциальность информации об уязвимости. Со стороны покупателя они проверяют информацию, предоставляемую продавцом. Доверенная третья сторона играет важную роль в этих сделках, так как этот рынок крайне нестабильный и характеризуется быстрой динамикой. Одна из наиболее известных фигур на этом рынке Grugq, также в качестве посредников могут выступать и небольшие компании, такие как: Vupen, Netragard, а также оборонный подрядчик Northrop Grumman.
Основатель Netragard Адриэль Дезатоля рассказал журналу Forbes, что он работает на рынке продажи эксплойтов в течение 10 лет, и он наблюдал быстрое изменение рынка, который буквально «взорвался» всего лишь в прошлом году (2011 – прим. переводчика). Адриель говорит, что сейчас есть много покупателей с большими деньгами и что время покупки снизилось с месяца до недель и что он приближается к продаже 12 – 14 0day эксплойтов каждый месяц в сравнении с 4-6 несколькими годами ранее.

Контрмеры и значение быстрого реагирования

Жизненный цикл 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)

Цена на уязвимость зависит от множества факторов:

  • Сложность определения уязвимости, зависимая от мер безопасности используемых в компании, которая разрабатывает приложение; чем больше времени необходимо для обнаружения, тем выше стоимость.
  • Степень популярности приложения.
  • Контекст эксплуатируемого приложения.
  • Поставляется ли приложение по умолчанию с операционной системой ?
  • Необходимость процесса аутентификации в уязвимом приложении ?
  • Есть ли стандартные настройки межсетевого экрана, которые блокируют доступ к приложению ?
  • Относится ли приложение к серверной или клиентской части ?
  • Является ли взаимодействие с пользователем обязательным для эксплуатации уязвимости ?
  • Версия атакуемого ПО. Чем позднее, тем выше прайс.
  • Технические особенности: внедрение новой технологии на самом деле может привести к снижению интереса к уязвимости, которая связана с устаревшей технологией.

Trend Micro недавно опубликовало очень интересный доклад о русском underground рынке. Исследование основывалось на данных, полученных из анализа интернет-форумов и сервисов в которых участвуют русские хакеры, таких как: antichat.ru, xeka.ru и carding-cc.com. Они продемонстрировали, что существует возможность приобрести любое ПО и сервис для киберпреступников и мошенничества. В первую десятку вошло создание вредоносного кода и оказание услуг по написанию эксплойтов. Как правило, эксплойты продаются в связке, но они могут быть проданы и по отдельности или сданы в аренду на ограниченный период времени, на рисунке 5 приведены цены на них:


Рисунок 5 – Прайс лист на эксплойт-пакеты и сервисы

Источник

Оцените статью