Уязвимость 0 day: Уязвимости «нулевого дня» | GeekBrains
Уязвимости «нулевого дня» | GeekBrains
Когда не было времени защититься. Поговорим об особенностях 0day-уязвимостей.
https://d2xzmw6cctk25h.cloudfront.net/post/245/og_cover_image/347972f40d590f3e65962a2eb6afa26b
Что происходит после того, как хакер обнаруживает новую или так называемую 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 – Прайс лист на эксплойт-пакеты и сервисы
Выводы
Очевидно, что любая уязвимость представляет собой серьезную угрозу для конкретного приложения. Кроме того, она также может угрожать безопасности всей организации или правительству, в том случае, когда это касается приложений, применяемых на инфраструктурных объектах. Невозможно следуя стандартным подходам (прим. переводчика: автор имеет ввиду стандартные подходы к тестированию ПО) предотвратить широкий спектр уязвимостей, но ряд действий должен применяться, начиная с этапа разработки продукта. Требования безопасности должны приниматься во внимание во время разработки каждого решения. Предотвращение 0day уязвимостей является утопией, гораздо больше можно сделать после их обнаружения. Эффективное реагирование может предотвратить серьезные последствия с точки зрения безопасности. Необходимо улучшать процессы патч-менеджмента, особенно для крупных организаций, которые являются популярными целями для атак, и которые, как правило, долго реагируют на них. Не нужно забывать, что это гонка на время, и единственная способ защититься от 1day атак это пропатчить наши системы до того как на них нападут.
Уязвимость нулевого дня — Википедия
Материал из Википедии — свободной энциклопедии
0day (англ. zero day) — термин, обозначающий неустранённые уязвимости, а также вредоносные программы, против которых ещё не разработаны защитные механизмы[1].
Сам термин означает, что у разработчиков было 0 дней на исправление дефекта: уязвимость или атака становится публично известна до момента выпуска производителем ПО исправлений ошибки (то есть потенциально уязвимость может эксплуатироваться на работающих копиях приложения без возможности защититься от неё)[2].
Обнаружение уязвимостей
На данный момент многие вирусописатели фокусируют свои усилия именно на обнаружении неизвестных уязвимостей в программном обеспечении.[источник не указан 436 дней] Это обусловлено высокой эффективностью использования уязвимостей, что, в свою очередь, связано с двумя фактами — высоким распространением уязвимого ПО (именно такое программное обеспечение, как правило, атакуют) и некоторым временным промежутком между обнаружением уязвимости компанией-разработчиком программного обеспечения и выпуском соответствующего обновления для исправления ошибки.
Для обнаружения уязвимостей вирусописатели используют различные техники, например:
- Дизассемблирование программного кода и последующий поиск ошибок непосредственно в коде программного обеспечения;
- Реверс-инжиниринг и последующий поиск ошибок в алгоритмах работы программного обеспечения;
- Fuzz-тестирование — своего рода стресс-тест для программного обеспечения, суть которого заключается в обработке программным обеспечением большого объёма информации, содержащей заведомо неверные параметры.
Создание вредоносного кода
После обнаружения уязвимости в программном обеспечении начинается процесс разработки вредоносного кода, использующего обнаруженную уязвимость для заражения отдельных компьютеров или компьютерных сетей[3].
На сегодняшний день (2017) самой известной вредоносной программой, использующей 0day уязвимость в программном обеспечении, является сетевой червь-вымогатель WannaCry, который был обнаружен в мае 2017 года. WannaCry использовал эксплойт EternalBlue в уязвимости SMB (Server Message Block) на операционных системах семейства Windows. При удачной попытке внедриться в компьютер WannaCry устанавливает бэкдор DoublePulsar для дальнейших манипуляции и действий.
Также, не менее известный червь Stuxnet использовал ранее неизвестную уязвимость операционных систем семейства Windows, связанную с алгоритмом обработки ярлыков. Следует отметить, что, помимо 0day уязвимости, Stuxnet использовал ещё три ранее известные уязвимости.
Помимо создания вредоносных программ, использующих 0day уязвимости в программном обеспечении, вирусописатели активно работают и над созданием вредоносных программ, не детектируемых антивирусными сканерами и мониторами. Данные вредоносные программы также попадают под определение термина 0day.
Отсутствие детектирования антивирусными программами достигается за счёт применения вирусописателями таких технологий, как обфускация, шифрование программного кода и др.
Защита
В связи с применением специальных технологий, 0day-угрозы не могут быть детектированы классическими антивирусными технологиями. Именно по этой причине продукты, в которых сделана ставка на классические антивирусные технологии, показывают весьма посредственный результат в динамических антивирусных тестированиях.
По мнению антивирусных компаний, для обеспечения эффективной защиты против 0day вредоносных программ и уязвимостей нужно использовать проактивные технологии антивирусной защиты. Благодаря специфике проактивных технологий защиты они способны одинаково эффективно обеспечивать защиту как от известных угроз, так и от 0day-угроз. Хотя стоит отметить, что эффективность проактивной защиты не является абсолютной, и весомая доля 0day-угроз способна причинить вред жертвам злоумышленников. Независимых подтверждений этим утверждениям на настоящий момент нет.
См. также
Примечания
Ссылки
Хакерские атаки 2010-х | |
---|---|
Крупнейшие атаки | |
Группы и сообщества хакеров | |
Хакеры-одиночки | |
Обнаруженные критические уязвимости | Heartbleed (SSL, 2014) • |
Компьютерные вирусы |
Уязвимость нулевого дня — Википедия
Материал из Википедии — свободной энциклопедии
0day (англ. zero day) — термин, обозначающий неустранённые уязвимости, а также вредоносные программы, против которых ещё не разработаны защитные механизмы[1].
Сам термин означает, что у разработчиков было 0 дней на исправление дефекта: уязвимость или атака становится публично известна до момента выпуска производителем ПО исправлений ошибки (то есть потенциально уязвимость может эксплуатироваться на работающих копиях приложения без возможности защититься от неё)[2].
Обнаружение уязвимостей
На данный момент многие вирусописатели фокусируют свои усилия именно на обнаружении неизвестных уязвимостей в программном обеспечении.[источник не указан 436 дней] Это обусловлено высокой эффективностью использования уязвимостей, что, в свою очередь, связано с двумя фактами — высоким распространением уязвимого ПО (именно такое программное обеспечение, как правило, атакуют) и некоторым временным промежутком между обнаружением уязвимости компанией-разработчиком программного обеспечения и выпуском соответствующего обновления для исправления ошибки.
Для обнаружения уязвимостей вирусописатели используют различные техники, например:
- Дизассемблирование программного кода и последующий поиск ошибок непосредственно в коде программного обеспечения;
- Реверс-инжиниринг и последующий поиск ошибок в алгоритмах работы программного обеспечения;
- Fuzz-тестирование — своего рода стресс-тест для программного обеспечения, суть которого заключается в обработке программным обеспечением большого объёма информации, содержащей заведомо неверные параметры.
Создание вредоносного кода
После обнаружения уязвимости в программном обеспечении начинается процесс разработки вредоносного кода, использующего обнаруженную уязвимость для заражения отдельных компьютеров или компьютерных сетей[3].
На сегодняшний день (2017) самой известной вредоносной программой, использующей 0day уязвимость в программном обеспечении, является сетевой червь-вымогатель WannaCry, который был обнаружен в мае 2017 года. WannaCry использовал эксплойт EternalBlue в уязвимости SMB (Server Message Block) на операционных системах семейства Windows. При удачной попытке внедриться в компьютер WannaCry устанавливает бэкдор DoublePulsar для дальнейших манипуляции и действий.
Также, не менее известный червь Stuxnet использовал ранее неизвестную уязвимость операционных систем семейства Windows, связанную с алгоритмом обработки ярлыков. Следует отметить, что, помимо 0day уязвимости, Stuxnet использовал ещё три ранее известные уязвимости.
Помимо создания вредоносных программ, использующих 0day уязвимости в программном обеспечении, вирусописатели активно работают и над созданием вредоносных программ, не детектируемых антивирусными сканерами и мониторами. Данные вредоносные программы также попадают под определение термина 0day.
Отсутствие детектирования антивирусными программами достигается за счёт применения вирусописателями таких технологий, как обфускация, шифрование программного кода и др.
Защита
В связи с применением специальных технологий, 0day-угрозы не могут быть детектированы классическими антивирусными технологиями. Именно по этой причине продукты, в которых сделана ставка на классические антивирусные технологии, показывают весьма посредственный результат в динамических антивирусных тестированиях.
По мнению антивирусных компаний, для обеспечения эффективной защиты против 0day вредоносных программ и уязвимостей нужно использовать проактивные технологии антивирусной защиты. Благодаря специфике проактивных технологий защиты они способны одинаково эффективно обеспечивать защиту как от известных угроз, так и от 0day-угроз. Хотя стоит отметить, что эффективность проактивной защиты не является абсолютной, и весомая доля 0day-угроз способна причинить вред жертвам злоумышленников. Независимых подтверждений этим утверждениям на настоящий момент нет.
См. также
Примечания
Ссылки
Хакерские атаки 2010-х | |
---|---|
Крупнейшие атаки | |
Группы и сообщества хакеров | |
Хакеры-одиночки | |
Обнаруженные критические уязвимости | Heartbleed (SSL, 2014) • |
Компьютерные вирусы |
Что такое уязвимость нулевого дня и как от неё защититься?
Cетевые СМИ часто пишут о новых и опасных, так называемых, уязвимостях нулевого дня или “Zero-Day” Exploit. Но что это за уязвимости? Что на самом деле делает их настолько опасным? Как можно защититься от них? Давайте попробуем разобраться со всеми этими вопросами.
Содержание:
Уязвимость нулевого дня, что это?
Данный термин применяют чтобы определить не устранённые уязвимости, не найденные разработчиками «дырки» в программном коде на стадии тестирования. А также вредоносные программы, вирусы, сетевые черви, боты и трояны против которых ещё не разработана какая-либо защита.
Из самого названия понятно, что у разработчиков не было ни дня, то есть, не было никакой возможности исправить ошибки и просчеты в коде, они про них просто не знали. Об уязвимости становится общеизвестно известно до того момента, когда производитель программного обеспечения выпустит обновление с исправлением, или новую версию программы. То есть до этого момента, все компьютеры, работающие с этим ПО подвергаются опасности.
Атака с нулевым днем – это опасность от которой нереально защититься, потому что невозможно огородиться от того, что не знаешь…
Уязвимости в программном обеспечении
В каждой программе можно найти недочёты. Браузер, в котором вы читаете эту статью, будь то Google Chrome, Firefox, Internet Explorer или любой другой, гарантированно содержит ошибки. Такое сложное программное обеспечение написано людьми и содержит уязвимости, о которых мы пока еще не знаем. Многие из этих ошибок не очень опасны – возможно, они вызывают просто сбои в отображении и работе веб-сайтов, или отказ какого-либо модуля вашего браузера. Однако некоторые ошибки – это «дыры» в безопасности. Злоумышленник, который знает об ошибке, может воспользоваться ею для получения доступа к вашей системе.
Конечно, некоторые программы более уязвимы, чем другие. Например, у Java был бесконечный поток уязвимостей. Веб-сайты, использующие подключаемый модуль Java, могли выйти из изолированной программной среды ПО и получить полный доступ к вашему компьютеру. Ошибки, которые скомпрометировали технологию песочницы Google Chrome, случались намного реже. Хотя, даже у Google Chrome уже находили уязвимости нулевого дня.
Обнаружение уязвимостей
Иногда уязвимость обнаруживают «хорошие парни». Хакеры находят ошибку и, не желая ею пользоваться, раскрывают ее разработчикам через службу поддержки, разнообразные форумы, Pwn2Own или программы Google Chrome bugy. Которая, в свою очередь, вознаграждает хакеров за качественное обнаружение «бага» в работе программы. Но чаще всего, разработчики сами обнаруживают опасное несоответствие в коде при тестировании ПО. И выпускают новую версию программы или обновление к существующей.
Впоследствии злоумышленники все-таки могут использовать данную уязвимость после ее раскрытия и исправления, но пользователи уже успеют подготовиться.
Некоторые компании не исправляют свое ПО своевременно после выявления «бага», поэтому, для них атаки могут быть опасными. Однако, если атака нацелена на программу с использованием уже известной уязвимости, для которой выпустили обновление, то это уже не уязвимость нулевого дня.
Атаки уязвимостей с нулевым днём
Иногда уязвимость обнаруживают «плохие парни». Те же хакеры, которые нашли «баг», могут продать ее другим людям и организациям, или использовать ее сами. Сейчас это большой бизнес! Это не просто подростки в подвалах, которые пытаются как-то вам напакостить, такими делами занимается организованная преступность.
Уязвимость, возможно, уже была известна разработчику, но он не смог или не захотел ее исправить. В этом случае разработчик часто не предупреждает о том, что их программное обеспечение уязвимо. И пользователи узнают, что программа имеет изъян только, когда она уже атакована. Как раз исследуя атаку и узнавая, что именно привело к сбою.
Когда происходит атака с нулевым днем – это означает, что у разработчиков не было времени, чтобы справиться с этой проблемой, прежде чем ее начали использовать. Однако «плохие парни» знали об этом «баге» достаточно долго, чтобы создать вирус и начать вредить. Программное обеспечение остается уязвимым для атаки до тех пор, пока не будет выпущено обновление. К тому же пользователям тоже необходимо время для обновления ПО, а это может занять несколько дней.
Как защитить свою систему
Атаки с уязвимостью нулевого дня страшны тем, что мы о них не имеем никакого представления. Не можем предотвратить их даже если постоянно обновляем все ПО на компьютере. По определению для такой атаки не может быть панацеи.
Так что же мы можем сделать, чтобы защитить себя от таких атак?
- Можем избегать программного обеспечения где были угрозы ранее: мы не знаем наверняка, будет ли в будущем в Java еще одна уязвимость с нулевым днем. Но довольно продолжительная история таких атак в Java означает, что, вероятнее всего, будет. На данный момент, Java уязвим для нескольких атак с нулевым днем, которые еще не были исправлены. Удалите Java (или отключите подключаемый модуль, если вам нужно это ПО), и ваш компьютер будет менее подвержен риску. Adobe PDF Reader и Flash Player также исторически подвергались довольно многому количеству атак, хотя с несколькими последними обновлениями ситуация улучшилась.
- Можем сократить объекты нападения: то есть чем меньше программ, которые могут иметь уязвимости с нулевым днем, тем лучше. Поэтому также правильно удалить подключаемые модули браузера, которые вам не нужны. Не используйте серверное программное обеспечение непосредственно через Интернет. Это очень удобно, но может хранить опасность в будущем. Даже если серверное ПО полностью защищено, в конечном итоге может произойти атака нулевого дня.
- Установить антивирус и постоянно его обновлять: Они могут помочь в атаках с нулевым днем. Угроза, которая пытается установить вредоносное ПО на ваш компьютер, обнаружит себя, и антивирус запретит установку и защитить ваш ПК. Эвристический анализ антивируса может обнаружить подозрительную активность, и также заблокировать атаку. Антивирусные базы обновляются почти каждый день. Поэтому, вероятность того, что ваш антивирус «будет знать» об угрозе раньше, чем вы наткнётесь на вирус, крайне высока. Вот почему нужно использовать антивирусное ПО, независимо от того, насколько вы осторожны.
- Постоянно обновлять свое программное обеспечение: Когда вы регулярно обновляете все установленное программное обеспечение, то вы, по сути, постоянно исправляете все «баги», «дырки» и недочёты в коде ПО. Это не защитит вас от атаки нулевого дня, но обеспечит максимально быстрое исправление этой угрозы, при её обнаружении разработчиками. Именно поэтому важно уменьшить количество ПО, которое обновляется не регулярно, или не обновляется вообще.
Надеюсь, я смог объяснить, что такое уязвимость с нулевым днем, а также попытался дать рекомендации как минимизировать риск атаки. Разнообразные новые вредоносные программы, вирусы, сетевые черви, боты и трояны, которые используют все больше и больше уязвимостей появляются каждый день. Теперь им будет намного сложнее нанести неповторимый вред вашему ПК.
в первой половине 2020 года выявлено 11 уязвимостей нулевого дня — «Хакер»
Эксперты Google Project Zero подсчитали, что в первой половине 2020 года была выявлено 11 уязвимостей нулевого дня, которые активно эксплуатировали хакеры. Текущее количество 0-day проблем свидетельствует о том, что, скорее всего, суммарно в текущем году будет выявлено столько же уязвимостей нулевого дня, сколько в 2019 году (20 штук).
Ссылка выше ведет на внутреннюю статистику компании, которую специалисты Google собирают и отслеживают с 2014 года. Так, за первую половину 2020 года эксперты включили в свой список следующие проблемы.
1. Firefox (CVE-2019-17026)
Эта уязвимость использовалась в сочетании с другими багами.
Патчи вошли в состав Firefox 72.0.1 и доступны здесь.
2. Internet Explorer (CVE-2020-0674)
Проблема использовалась северокорейской хакерской группой DarkHotel, в сочетании с вышеупомянутым 0-day багом в браузере Firefox. Обе проблемы применялись для слежки за целями в Китае и Японии, и были обнаружены экспертами Qihoo 360 и JP-CERT. Жертвы этой кампании перенаправлялись на сайт, где эксплуатировалась либо уязвимость в Firefox, либо в IE, а затем заражались RAT Gh0st.
Патчи вошли в состав февральского «вторника обновлений» и доступны здесь.
3. Chrome (CVE-2020-6418)
Уязвимость выявлена экспертам Google Threat Analysis Group, но подробностей об атаках, в которых использовалась проблема, пока нет.
Баг был исправлен с релизом Chrome версии 80.0.3987.122, патчи доступны здесь.
4 и 5. Trend Micro OfficeScan (CVE-2020-8467 и CVE-2020-8468)
Оба нулевых дня замечены сотрудниками компании Trend Micro. Считается, что баги были обнаружены, когда Trend Micro изучала другую, более старую проблему нулевого дня в том же продукте, в 2019 году использованную для взлома Mitsubishi Electric.
Патчи можно найти здесь.
6 и 7. Firefox (CVE-2020-6819 и CVE-2020-6820)
Подробная информация об атаках, в которых использовались эти 0-day, пока не опубликована, хотя ИБ-исследователи предполагают, что эти проблемы могли быть частью некой цепочки эксплоитов.
Уязвимости исправлены в Firefox 74.0.1, патчи доступны здесь.
8, 9 и 10. Microsoft (CVE-2020-0938, CVE-2020-1020 и CVE-2020-1027)
Все три ошибки обнаружены и переданы инженерам Microsoft экспертами Google. Как и в случае с большинством других «отркытий» Google Threat Analysis Group, детали об этих проблемах держатся в тайне, и об атаках ничего неизвестно. Уязвимости исправлены в составе апрельского «вторника обновлений», патчи доступны здесь, здесь и здесь.
11. Sophos XG Firewall (CVE 2020-12271)
Ранее в 2020 году неизвестная группа хакеров обнаружила и использовала эту уязвимость. Тогда специалисты Sophos заявил, что с помощью бага хакеры пытались развернуть шифровальщика Ragnarok на зараженных хостах, но компания заявляла, что заблокировала большинство попыток.
Патчи доступны здесь.
Напомню, что в 2019 году специалисты Google обнаружили 20 уязвимостей нулевого дня, 11 из которых были найдены в продукции компании Microsoft. При этом эксперты объясняют, что у Microsoft находят больше всего ошибок, так как существует больше инструментов безопасности, предназначенных для обнаружения багов в Windows.
Microsoft исправила три 0-day уязвимости, уже находившиеся под атаками — «Хакер»
Апрельский «вторник обновлений» принес исправления для 113 уязвимостей в 11 продуктах Microsoft, причем некоторые из них уже находились под атаками. 17 уязвимостей были оценены как критические, а еще 96 получили статус важных.
Пока подробная информация об уязвимостях нулевого дня, обнаруженных экспертами Google Project Zero и Threat Analysis Group, как обычно, пока не раскрывается. Эти данные придержат на несколько дней или недель, чтобы дать пользователям время на установку исправлений и помешать злоумышленникам разработать PoC-эксплоиты. Так что пока неясно, использовались эти проблемы одной хак-группой, или же речь идет о разных кампаниях и злоумышленниках.
Наиболее серьезными проблемами этого месяца стали три уязвимости нулевого дня, которые уже используют злоумышленники. Первый баг, CVE-2020-1020, был связан с Adobe Type Manager Library (atmfd.dll). Он позволяет злоумышленнику удаленно выполнить произвольный код на уязвимых системах. Эта проблема не представляет большой угрозы для Winows10, зато опасна для других ОС компании. Первые данные об этой уязвимости появились еще в конце марта 2020 года, но патч выпустили только сейчас.
Вторая 0-day уязвимость, CVE-2020-0938, тоже связана с библиотекой Adobe Type Manager. В целом ошибка весьма похожа на вышеописанную, но о ее существовании стало известно только теперь. Эксплуатации этого бага успешно препятствовали рекомендованные специалистами Microsoft меры по снижению рисков: отключение Preview Pane и Details Pane, то есть панелей предварительного просмотра и сведений, отключение службы WebClient, а также переименование ATMFD.DLL.
Третья уязвимость имеет идентификатор CVE-2020-1027. Этот баг связан с ядром Windows и тем, как оно обрабатывает объекты в памяти. Проблема позволяет злоумышленникам повысить свои привилегии для запуска произвольного кода с доступом к ядру.
Также изначально Microsoft сообщала, что существует и четвертая уязвимость нулевого дня, находящаяся под атаками: CVE-2020-0968. Проблема связана со скриптовым движком Internet Explorer, и она якобы позволяла хакерам установить полный контроль над уязвимой системой. Как оказалось, это сообщение было ошибкой: проблему CVE-2020-0968 не использовали хакеры, и она не имела статуса 0-day.
Эксперты из Trend Micro Zero Day Initiative, которые традиционно подготовили детальный разбор свежих исправлений, отмечают, что количество CVE, исправленных Microsoft в период с января по апрель 2020 года, на 44% больше по сравнению с аналогичным периодом прошлого года.
Напомню, что обновления для своих продуктов на этой неделе также представили разработчики Adobe, SAP, VMWare, Intel и Oracle.
Что это такое и как работает
Уязвимость нулевого дня — это недостаток безопасности программного обеспечения, который известен поставщику программного обеспечения, но не имеет исправления для исправления этой уязвимости. Он может быть использован киберпреступниками.
Что такое уязвимость программного обеспечения?
В мире кибербезопасности уязвимости — это непреднамеренные недостатки, обнаруженные в программном обеспечении или операционных системах. Уязвимости могут быть результатом неправильной конфигурации компьютера или безопасности, а также ошибок программирования.Если не устранить уязвимости, они создают бреши в безопасности, которыми могут воспользоваться киберпреступники.
Почему уязвимости представляют угрозу безопасности?
Хакеры пишут код, нацеленный на определенную уязвимость системы безопасности. Они упаковывают его во вредоносное ПО, называемое эксплойтом нулевого дня. Вредоносное программное обеспечение использует уязвимость, чтобы поставить под угрозу компьютерную систему или вызвать непреднамеренное поведение. В большинстве случаев это может исправить патч от разработчика программного обеспечения.
Что делать, если ваш компьютер заражен? Использование вредоносного ПО может украсть ваши данные, позволяя хакерам получить несанкционированный контроль над вашим компьютером.Программное обеспечение также можно использовать способами, которые изначально не предназначались, например, для установки другого вредоносного ПО, которое может повредить файлы, или доступа к вашему списку контактов для отправки спам-сообщений из вашей учетной записи. Он также может установить шпионское ПО, которое крадет конфиденциальную информацию с вашего компьютера.
Если вы обычный пользователь компьютера, уязвимость может представлять серьезную угрозу безопасности, поскольку вредоносное ПО может заразить компьютер посредством безвредных действий при просмотре веб-страниц, таких как просмотр веб-сайта, открытие скомпрометированного сообщения или воспроизведение зараженных файлов.
Что делает уязвимость нулевым днем?
Термин «нулевой день» относится к недавно обнаруженной уязвимости программного обеспечения. Поскольку разработчик только что узнал об ошибке, это также означает, что официальный патч или обновление для исправления проблемы еще не выпущено.
Итак, «нулевой день» относится к тому факту, что у разработчиков есть «нулевой день», чтобы исправить проблему, которая только что была выявлена и, возможно, уже использовалась хакерами.
Как только об уязвимости становится известно, поставщик должен быстро устранить проблему и защитить своих пользователей.
Но поставщик программного обеспечения может не выпустить исправление до того, как хакерам удастся использовать брешь в безопасности. Это известно как атака нулевого дня.
Что вы можете сделать, чтобы защитить себя от уязвимостей нулевого дня?
Уязвимости нулевого дня представляют серьезную угрозу безопасности, делая вас уязвимыми для атак нулевого дня, которые могут привести к потенциальному ущербу для вашего компьютера или личных данных.
Чтобы обеспечить безопасность компьютера и данных, разумно принимать профилактические и ответные меры безопасности.
Ваша первая линия защиты — проявлять инициативу с помощью комплексного программного обеспечения безопасности, такого как Norton Security, которое защищает как от известных, так и от неизвестных угроз.
Ваша вторая линия защиты — реагировать и немедленно устанавливать новые обновления программного обеспечения, когда они становятся доступными от производителя, чтобы снизить риск заражения вредоносным ПО.
Обновления программного обеспечения позволяют вам устанавливать необходимые версии программного обеспечения или операционной системы. Они могут включать добавление новых функций, удаление устаревших функций, обновление драйверов, исправление ошибок и, самое главное, исправление обнаруженных дыр в безопасности.
Следуйте этому контрольному списку, чтобы убедиться, что вы делаете все возможное, чтобы защитить вашу информацию от угроз безопасности, связанных с уязвимостями нулевого дня:
- Поддерживайте актуальность программного обеспечения и исправлений безопасности, загружая последние выпуски и обновления программного обеспечения. Установка исправлений безопасности исправляет ошибки, которые могли отсутствовать в предыдущей версии.
- Выработайте безопасные и эффективные привычки личной безопасности в Интернете.
- Настройте параметры безопасности для вашей операционной системы, интернет-браузера и программного обеспечения безопасности.
- Установите проактивное и комплексное программное обеспечение безопасности, чтобы помочь блокировать известные и неизвестные угрозы уязвимостям.
Пример атаки нулевого дня
Stuxnet — тип уязвимости нулевого дня — был одним из первых применявшихся цифровых видов оружия. Stuxnet — очень заразный самовоспроизводящийся компьютерный червь, разрушивший иранские атомные станции. Угроза захватила компьютеры. Это изменило скорость центрифуг на заводах и остановило их.
Исследователи Symantec Эрик Чиен и Лиам О’Мурчу проанализировали червя. Они обнаружили, что Stuxnet — это хорошо созданный компьютерный червь, которого может создать только национальное правительство для управления крупномасштабными промышленными объектами. Вместе с командой экспертов по кибербезопасности Чиен и О’Мурчу разработали патчи и обходные пути, чтобы исправить ошибку.
Что нужно помнить об уязвимостях нулевого дня
- Регулярно обновляйте программное обеспечение, чтобы защитить себя от уязвимости нулевого дня.
- Проверить решение, если объявлено об уязвимости нулевого дня. Большинство поставщиков программного обеспечения быстро исправляют уязвимость в системе безопасности.
- Не стоит недооценивать угрозу. Киберпреступники будут стремиться использовать бреши в безопасности и получить доступ к вашим устройствам и вашей личной информации. Они могут использовать вашу информацию для ряда киберпреступлений, включая кражу личных данных, банковское мошенничество и программы-вымогатели.
- Всегда используйте надежное программное обеспечение для обеспечения безопасности, чтобы ваши устройства оставались в безопасности.
.
Объяснение терминов безопасности: Что означает нулевой день?
Один из терминов, который меня чаще всего просят объяснить, — что такое уязвимость или эксплойт «нулевого дня»; давайте посмотрим, что означает эта фраза.
Если вы не из тех, кто часами читает статьи о компьютерной безопасности, некоторые неинтуитивные термины могут заставить вас почесать голову. Один из терминов, который меня чаще всего просят объяснить, — что означает нулевой день; давайте посмотрим, что означает эта фраза.
В ESET мы определяем нулевой день как
.
Новая незащищенная уязвимость, которая используется для проведения атаки. Название «нулевого дня» происходит от того факта, что еще не существует патча для уменьшения уязвимости, которая используется. Нулевые дни иногда используются в троянских конях, руткитах, вирусах, червях и других вредоносных программах, чтобы помочь им распространиться на дополнительные компьютеры и заразить их. Также пишется как «нулевой день», «нулевой день» и «нулевой день». (источник: глоссарий ESET Virus Radar)
Но что именно это означает? Прежде чем мы углубимся в модификатор «нулевого дня», давайте начнем с того, что точно посмотрим, что он означает, когда мы говорим об уязвимостях и эксплойтах.
Вы можете думать о компьютерном программном обеспечении как о сетке: оно состоит из миллионов строк кода, сплетенных вместе. За исключением того, что в случае программного обеспечения блокировка этих потоков обычно довольно сложна; вместо простого плетения он может больше походить на тарелку спагетти. Это, естественно, может затруднить поиск слабых мест в коде. Даже у средств автоматической проверки иногда возникают проблемы с ее анализом.
Проще говоря, программное обеспечение пишут люди.Люди подвержены ошибкам и иногда не могут проверить все возможные варианты того, как люди могут использовать свой код. Иногда в результате тщательного исследования или случайного неправильного использования можно обнаружить одно из этих слабых мест в ткани. Эти слабые места — это то, что мы называем «уязвимостью» в программном обеспечении.
Когда возникает уязвимость, создаваемое ею слабое место может вызывать странное поведение в программах. Когда кто-то обнаруживает наличие уязвимости, это странное поведение может быть использовано для создания дыры, в которую злоумышленники могут проникнуть, чтобы запустить свой собственный вредоносный код на вашем компьютере.Иногда такое странное поведение может привести к сбою программы. В зависимости от конкретной ошибки существует множество возможных результатов. Код, который они используют для создания этой дыры или сбоя, предназначен для использования уязвимой области в программном обеспечении. Вот почему это называется кодом эксплойта, или для краткости «эксплойтом».
Итак, теперь, когда вы знаете, что такое уязвимости и эксплойты, в чем суть «нулевого дня»? Как считать нулевые дни? Пока поставщик программного обеспечения не выпустит патч, устраняющий уязвимость, она считается уязвимостью «нулевого дня».Если для этой уязвимости доступен код эксплойта, это эксплойт «нулевого дня». «Ноль» в данном случае означает количество дней, прошедших с того момента, как патч стал общедоступным.
В идеале, это должен быть исследователь, в интересах общества, который сообщит об уязвимости поставщику программного обеспечения, и проблемы будут устранены до того, как кто-либо пострадает. В реальном мире иногда проблему обнаруживает автор вредоносного ПО, и результаты, естественно, более проблематичны для тех из нас, кто использует это уязвимое программное обеспечение, не в последнюю очередь потому, что авторы вредоносных программ обычно недостаточно внимательны, чтобы делиться информацией об уязвимости с поставщик программного обеспечения.В этом случае поставщик обычно получает уведомление о проблеме после того, как исследователь вредоносного ПО получает образец угрозы, использующей эту уязвимость. Так было в случае с тремя недавними уязвимостями Adobe, когда авторы вредоносных программ воспользовались уязвимостями для атаки на компьютеры людей.
Также стоит отметить, что выпуск исправления поставщиком не означает прекращения деятельности авторов вредоносного ПО для этой уязвимости. Поскольку они знают, что люди часто откладывают обновление на несколько дней, недель или даже лет, они могут даже увеличить использование известных исправленных уязвимостей.Пока эксплойт продолжает приносить хороший доход от вложений, они будут продолжать его использовать.
Короче говоря, «нулевой день» означает проблему, которая еще не решена. Это часть того, почему мы рекомендуем многоуровневую стратегию защиты. Никогда не известно, когда возникнет такая проблема, но если у вас есть общая стратегия безопасности, которая не полагается полностью на какой-либо один компонент программного обеспечения или тип технологии, вы с большей вероятностью выдержите неизбежный шторм без серьезного ущерба. И чем раньше вы примените исправления и обновления с веб-сайта поставщика программного обеспечения или в уважаемом магазине приложений, тем больше вы снизите риск уязвимости.
.
Chrome уязвимость нулевого дня | Блог Касперского
Благодаря подсистеме Kaspersky Exploit Prevention в наших продуктах мы недавно обнаружили эксплойт — вредоносную программу, позволяющую злоумышленникам получить несанкционированный доступ к компьютеру — через уязвимость в браузере Google Chrome. В нем использовалась уязвимость нулевого дня, то есть еще неизвестная разработчикам. Ему был присвоен идентификатор CVE-2019-13720.
Мы сообщили об уязвимости в Google, которая устранила ее в последнем обновлении Chrome.Здесь мы описываем, как разворачивается атака, использующая эту уязвимость.
WizardOpium: Плохие новости на корейском
Атаки, которые мы назвали Operation WizardOpium, начались с корейского новостного сайта, куда злоумышленники внедрили вредоносный код. При этом загружается сценарий со стороннего сайта, который сначала проверяет, подходит ли система для заражения и какой браузер использует жертва (киберпреступников интересует Chrome для Windows не старше 65-й версии).
Если операционная система и браузер соответствуют требованиям, сценарий загружает эксплойт по частям, затем собирает и расшифровывает его.Первое, что делает эксплойт, — это еще раз проверяет версию Chrome. На этом этапе он становится более разборчивым и работает исключительно с Chrome 76 или 77. Возможно, в наборе киберпреступников есть и другие эксплойты для разных версий браузера, но мы не можем сказать наверняка.
После проверки того, что он нашел то, что ему нужно, эксплойт пытается использовать уязвимость CVE-2019-13720 использования после освобождения, основанную на неправильном использовании памяти компьютера. Манипулируя памятью, эксплойт получает разрешение на чтение и запись данных на устройство, которые он немедленно использует для загрузки, расшифровки и запуска вредоносного ПО.Последний может варьироваться в зависимости от пользователя.
Продукты Касперского обнаруживают эксплойт с вердиктом Exploit.Win32.Generic. Более подробная техническая информация доступна в сообщении Securelist.
Обновить Chrome
Даже если вы не читаете корейские новостные сайты, мы рекомендуем немедленно обновить Chrome до версии 78.0.3904.87. Уже существует один эксплойт, использующий эту уязвимость, что означает, что другие могут последовать за ним. Скорее всего, это произойдет, как только подробности об уязвимости станут общедоступными.
Google выпустила обновление Chrome для Windows, macOS и Linux. Chrome обновляется автоматически, и достаточно просто перезапустить браузер.
Чтобы убедиться вдвойне, убедитесь, что обновление установлено. Для этого щелкните три вертикальные точки в верхнем правом углу браузера («Настройка и управление Google Chrome») и выберите «Справка » → «О Google Chrome ». Если вы видите номер 78.0.3904.87 или выше, все в порядке. В противном случае Chrome начнет поиск и установку доступных обновлений (слева вы увидите вращающийся кружок), а через несколько секунд на экране появится номер последней версии: Нажмите Перезапустить .
.