Разработка мер по смягчению последствий атак застопорилась примерно в 2008 году. Атаки, однако, не прекратились.
Суть моего предыдущего поста заключалась в асимметрии. Атака может развернуться в два этапа или в двадцать, но словарный запас, который она использует, никогда не расширяется. Один и тот же небольшой набор примитивов (исполняемая память, управление потоком выполнения, манипулирование процессами, доступ к учетным данным, шифрование) — это все, с чем когда-либо имела дело любая атака. Если защитить этот набор, то форма атаки перестанет иметь значение.
Два события, произошедшие с тех пор, проясняют ситуацию. Одно из них позволило оценить скорость действий злоумышленников. Другое показало, что вся отрасль, включая сами лаборатории искусственного интеллекта, приближается к решению, над которым Sophos работала годами.
Вместе они выявляют неприятный пробел: ответ, с которым все согласны, не совпадает с тем, который фактически поставляется с большинством товаров.
Новое число: N-день стало N-часом
В июне команда разработчиков Anthropic опубликовала исследование уязвимостей N-дневного периода — недостатков, которые уже исправлены, но всё ещё могут быть использованы на машинах, не получивших патчей. Получив только общедоступные патчи, модель Mythos превратила их в работающие эксплойты: восемь эксплойтов для выполнения кода из 18 патчей Firefox и восемь полных цепочек повышения привилегий из 21 патча ядра Windows.
В одном случае с уязвимостью Firefox удалось создать работающий эксплойт менее чем за час. Исправленная версия браузера появилась у пользователей только через 18 дней. Вывод Anthropic: термин «N-day» стал опасно вводящим в заблуждение. «N-hour» ближе к реальности.
Теперь промежуток времени между появлением патча и моментом, когда этот патч начинает вас защищать, измеряется часами. Примечательно, что в ходе тестирования использовалась jsshell — автономный движок, работающий вне песочницы браузера и процессов защиты от уязвимостей, выбранный для упрощения и повышения надежности проверки эксплойтов. Этот выбор ненавязчиво подтверждает: именно меры защиты превращают надежную эксплуатацию уязвимостей в ненадежную. Создание ненадежной эксплуатации — это и есть задача этого уровня.
Сближение: теперь лаборатории рекомендуют то, что мы создаём.
22 июня компания OpenAI расширила свою программу киберзащиты Daybreak, исходя из того, что поиск уязвимостей больше не является узким местом; теперь проблема заключается в выпуске исправлений. В число её партнеров входит компания Sophos.
И Anthropic, и OpenAI предлагают одно и то же долговременное решение: перенести критически важный код на языки программирования, обеспечивающие безопасность памяти, и применить меры защиты, которые одновременно устранят целые классы уязвимостей. Microsoft выдвинула тот же аргумент более десяти лет назад и представила его в виде EMET. Теперь защитников предупреждают о том, что эти возможности ИИ станут широко доступны в течение шести-двадцати четырех месяцев — это тенденция развития технологии, а не результат какой-либо конкретной модели.
Ситуация изменилась. Лучше отказаться от использования эксплойтов, чем гоняться за образцами. Это поднимает очевидный вопрос: если все согласны, почему большинство конечных точек до сих пор не защищены таким образом?
Компания Microsoft перешла на новый режим. Просто не в пользовательском режиме.
За последнее десятилетие Microsoft добилась реального структурного прогресса в ядре. Безопасность на основе виртуализации и защита целостности кода гипервизором на ПК с защищенным ядром действительно подняли планку защиты от эксплуатации уязвимостей ядра. Microsoft может это делать, потому что ядро представляет собой контролируемую среду: доверенный, цифровой код, прошедший сертификацию в лаборатории качества оборудования Windows.
Пользовательский режим — это полная противоположность. Браузеры, офисные пакеты и неизвестные загруженные исполняемые файлы образуют открытую среду, которая должна запускать все, что устанавливает пользователь. Это слой, застрявший в сценарии 2008 года, и именно в этом слое работает Sophos.
Неудобный пробел: что обычно означает «смягчение последствий эксплуатации»?
Большинство продуктов для защиты конечных устройств практически не предоставляют средств для предотвращения атак в пользовательском режиме. Их предотвращение в основном сводится к поведенческому обнаружению, выявляя атаку после того, как она уже началась. Если же продукт предлагает что-то, обозначенное как «средства для предотвращения эксплойтов», то обычно это один и тот же короткий список: принудительное использование DEP, принудительное использование ASLR, защита от перезаписи SEH, выделение нулевых страниц и предварительное выделение памяти с помощью heap-spray.
Посмотрите на даты. DEP появился в 2004 году, ASLR — в 2007 году, SEHOP — в 2008 году, а защита от нулевых страниц в Windows 8 — в 2012 году. На современной 64-битной машине описанная ими защита фактически уже присутствует по умолчанию. Переключение этих параметров мало что меняет. Это никак не влияет на методы атаки, внедрение кода, кражу токенов, обход защиты и шифрование, где, собственно, и происходят современные атаки.
Мощные современные средства защиты существуют. Просто они отключены. Вот результаты измерений, полученные непосредственно из рабочей политики Windows с помощью команды Get-ProcessMitigation.

Серым цветом обозначены стандартные меры защиты Windows (четыре меры). Фиолетовым — меры, принимаемые разработчиками (практически не принимаемые). Две синие полосы — это Sophos: слой защиты каждого процесса, охватывающий все (41 мера защиты), плюс меры защиты для приложений, применяемые к известному программному обеспечению, всего 60 мер. В последней полосе вредоносное ПО не принимает никаких мер защиты от Windows или разработчиков, но при этом соответствует 41 мере защиты Sophos, применяемой ко всем процессам. Эти данные отражают состояние продукта на момент написания; они меняются по мере разработки новых мер защиты и отмены тех, которые больше не требуются в условиях существующих угроз.
Почему эффективные меры по смягчению последствий остаются невостребованными? Три структурные причины.
- Недостаток, связанный с добровольным включением. Control Flow Guard и аппаратные теневые стеки должны быть включены разработчиком приложения. Авторы вредоносного ПО не включают свой код в защиту Microsoft по желанию. Большинство разработчиков приложений тоже этого не делают.
- Нагрузка на управление. Защита от эксплойтов в пользовательском режиме от Microsoft настраивается путем сопоставления мер защиты с отдельными исполняемыми файлами с помощью сложных XML-файлов и тестирования каждого приложения по отдельности. Эта нагрузка настолько высока, что Microsoft исключила защиту от эксплойтов из своего базового набора функций безопасности MDM в декабре 2020 года, сославшись на то, что ее повсеместное применение может принести больше вреда, чем пользы.
- Полное отсутствие информации. Даже когда администратор включает средство защиты, Windows сообщает ему очень мало: всплывающее уведомление и скрытая запись в журнале событий при срабатывании, а также общее сообщение о сбое приложения, если оно что-то ломает. Для создания отчетов, позволяющих принимать решения, требуется отдельная лицензия Defender for Endpoint. Большинство администраторов не готовы к такому риску, поэтому эта функция остается в стандартной комплектации.
Когда поставщик платформы не может практически поддерживать работу собственных передовых средств защиты в масштабах предприятия, продукт безопасности, который просто повторно открывает те же самые коммутаторы, не продвигает проблему вперед.
Как выглядит перемещение слоя вперед
Компания Sophos пошла другим путем. Вместо того чтобы повторно раскрывать параметры операционной системы, мы разработали новые средства защиты на уровне самой платформы, такие, которые ОС применяла бы повсеместно, если бы могла это сделать, не нарушая программную экосистему. Это средства контроля безопасности, специально разработанные для эпохи ИИ, для угрозы, которая теперь создает собственные эксплойты за считанные часы. Четыре вещи отличают этот уровень от других, и, насколько нам известно, ни один другой поставщик не объединяет все четыре.
1. Собственные решения, реализуемые на уровне операционной системы. Шестьдесят мер защиты, несколько из которых запатентованы, обеспечивают целостность памяти, потока управления и процессов, что обычно является задачей платформы. Когда Anthropic называет надежное решение, в качестве примеров приводятся Control Flow Guard и аппаратные теневые стеки. Оба решения зависят от разработчика приложения, который должен их скомпилировать, а теневые стеки также требуют наличия оборудования, поддерживающего технологию Control-flow Enforcement Technology (CET). Как показывает диаграмма, на практике они в основном неэффективны. Мы осуществляем собственную защиту, и для этого не требуется ни перекомпиляция, ни специальный кремниевый чип.
2. Включено по умолчанию, видимо и контролируется управляемым циклом. Когда средство защиты срабатывает на легитимном коде, оно генерирует подробный отпечаток. Sophos санкционирует заведомо исправное исключение и распространяет чистое состояние глобально, часто еще до того, как клиент подаст заявку. Такая обработка на стороне поставщика позволяет включать агрессивные средства защиты по умолчанию, не нарушая работу приложений. Это также означает, что клиент видит то, что скрывает Windows: каждое событие защиты возвращается в виде подробного, атрибутированного отчета, показывающего, что сработало, в каком процессе и откуда взялся исполняемый код, вместо того, чтобы восстанавливать причину сбоя из журнала событий. Видимое принудительное исполнение с управляемым процессом обработки исключений — это именно то, чего не может предложить средство защиты операционной системы.
3. На каждом процессе, известном или неизвестном. Традиционные методы защиты от эксплойтов усиливают защиту известных приложений, настроенных администратором. Sophos применяет защиту как к ним, так и к неизвестным исполняемым файлам. Этот уровень защиты охватывает каждый процесс, и для его использования не требуется никаких дополнительных настроек. Для ваших приложений это защита. Для вредоносных программ это ловушка.
4. На уровне примитивов, а не на уровне техники, по всей цепочке. Искусственный интеллект в атаках не просто сокращает время на написание эксплойта. Передовые модели демонстрируют высокие навыки агентного взлома, автоматизируя множество этапов кибератаки, выходящих за рамки первоначального доступа. Человеческие злоумышленники и инструменты с поддержкой ИИ будут продолжать генерировать сильно обфусцированный или новый код, предназначенный для обхода статических сканеров. Поэтому мы не пытаемся распознать атаку. Мы отрицаем небольшой набор примитивов, которые должна использовать любая атака, от первоначального доступа до воздействия.
На этапе выполнения динамическая защита шеллкода ограничивает объем исполняемой памяти, которую процесс может выделить помимо собственного образа и загруженных DLL-файлов. На этапе воздействия CryptoGuard проверяет ваши файлы на наличие математического отпечатка шифрования: схлопывание структурированного документа в однородный шум с максимальной энтропией. Он откатывает ущерб, независимо от того, использовал ли вымогатель криптографический API Windows или свой собственный, и даже если вымогатель запускается с совершенно другой машины. Между этими крайними точками находятся предотвращение повышения привилегий на уровне ядра, защита учетных данных и сеансов, и все остальное.
Обнаружение поведения носит вероятностный характер: оно наблюдает за последовательностью событий и оценивает, выглядит ли она подозрительной. Маскировка, осуществляемая противниками-людьми или инструментами с использованием ИИ, призвана обойти именно эту оценку. Примитивные методы защиты являются детерминированными. Они устанавливают жесткое структурное или математическое ограничение в момент выполнения.
Где заканчивается этот слой
Этот слой — не волшебный щит. Антропик отмечает, что защита, основанная на дополнительном трении, может ослабнуть против моделей ИИ, работающих в больших масштабах и с низкими затратами. Именно поэтому ядром этого слоя является не просто трение, а жесткие ограничения на память, поток управления и целостность данных. Трение повышает планку. Жесткие ограничения лишают инструментов.
Этот слой также является одним из слоев. Меры по смягчению угроз находятся внутри многоуровневого решения защиты, а остальная часть этого стека занимает свое место. Системы обнаружения и машинного обучения выявляют то, что проскальзывает. Поведенческое обнаружение обрабатывает уже начавшееся вторжение. Контроль идентификации защищает пути, которые полностью обходят конечную точку. Все больше злоумышленников используют эти пути, полностью минуя эксплуатацию уязвимостей и просто входя в систему, используя программы для кражи информации, чтобы получить учетные данные там, где отсутствует многофакторная аутентификация, или украсть сессионные cookie, которые проходят мимо нее.
Однако атаки, которые всё же достигают машины, в подавляющем большинстве случаев представляют собой код, повторно использующий один и тот же небольшой набор примитивов, независимо от того, поступает ли он в виде массовой полезной нагрузки, через скомпрометированного поставщика или шифрует файлы с машины, которой вы не управляете. Именно это и призван предотвратить включенный по умолчанию слой примитивов.
Где находится этот слой
Искусственный интеллект в сфере наступательных атак будет продолжать менять способы обнаружения уязвимостей и скорость их использования злоумышленниками. Он практически ничего не меняет в небольшом наборе базовых элементов, которые должна затрагивать каждая атака. Время, необходимое для установки патчей, сокращается до нескольких часов. Базовые элементы остаются неизменными. Отключенная защита — это не защита, и неприглядная дисциплина, определяющая исход, по умолчанию включает защиту и оставляет её включенной. Слой защиты, созданный для той эпохи, не перестал развиваться в 2008 году. Он уже здесь.
Узнайте, как Sophos Endpoint по умолчанию включает 60 средств защиты от эксплойтов на каждом процессе. Подробнее на sophos.com/endpoint.
Это продолжение статьи «Искусственный интеллект находит уязвимости, но их эксплуатация — совсем другая проблема».
Похожие записи
Оцените материал:
Присоединяйтесь и подпишитесь на рассылку самых свежих новостей по Email
Получайте свежие новости и идеи на почту. Без спама — только самое интересное.
Нажимая «Подписаться», вы соглашаетесь с политикой конфиденциальности.
