Архив метки: SMEP

Прочитал статью OpenAI про то, как они создали эксплоиты для 948 новых EoP/LPE-уязвимостей в ядре Linux

Прочитал статью OpenAI про то, как они создали эксплоиты для 948 новых EoP/LPE-уязвимостей в ядре Linux

Прочитал статью OpenAI про то, как они создавали эксплоиты для 948 новых EoP/LPE-уязвимостей в ядре Linux. Статья понравилась. 👍 Много занимательных подробностей о том, как у них устроен конвейер, что они делали на каждом этапе, с какими проблемами сталкивались и сколько им это стоило.

По данным OpenAI, было обнаружено 2308 потенциальных уязвимостей ядра Linux, из которых 1724 удалось воспроизвести. В результате они создали 948 эксплойтов для локального повышения привилегий (LPE), позволяющих непривилегированному пользователю получить права root, а также 291 PoC для уязвимостей, связанных с утечкой информации. Общие затраты составили $1 213 430 в кредитах API, или около $1279 на один LPE-эксплойт. После исследования специалисты проверили результаты и передали обнаруженные уязвимости вместе с исправлениями разработчикам. Работа проводилась в рамках программы Patch the Planet.

Испытания проводились на виртуальных машинах со стандартной десктопной ОС, без специально ослабленных настроек. Модель угроз соответствовала условиям Pwn2Own и TyphoonPWN. Для оценки экономической целесообразности OpenAI сопоставили затраты на исследование с размерами вознаграждений на этих соревнованиях - от $20 000 до $70 000 за один эксплойт. По таким расценкам совокупная стоимость 948 эксплойтов составила бы от $18,9 до $66,3 млн - в 16-55 раз больше фактических затрат на исследование.

Также тестирование проводили в адаптированной среде kernelCTF - версии ядра Linux с уменьшенной поверхностью атаки. Там получили 25 PoC для утечек информации и 21 эксплойт для LPE. Вся кампания обошлась примерно в 32 936 долларов в кредитах API.

В конвейере используется несколько специализированных групп ИИ-агентов, каждая из которых отвечает за отдельный этап исследования:

🔻 Scout (разведка) - исследуют кодовую базу и отбирают участки, представляющие интерес с точки зрения безопасности и доступные непривилегированным пользователям.

🔻 Analyst (анализ) - проводят углублённое исследование отобранных участков кода и выявляют потенциальные уязвимости.

🔻 Triage (верификация) - проверяют достоверность находок, автоматически создавая и запуская PoC в изолированных виртуальных машинах с использованием KASAN (Kernel Address Sanitizer).

🔻 ExploitDev (разработка эксплойтов) - оценивают возможность практической эксплуатации подтверждённых уязвимостей и разрабатывают рабочие эксплойты. Испытания проводятся в изолированных виртуальных машинах со стандартными механизмами защиты дистрибутивов Linux: SMEP (Supervisor Mode Execution Prevention), SMAP (Supervisor Mode Access Prevention), KASLR (Kernel Address Space Layout Randomization) и HARDENED_USERCOPY. Разработка эксплойтов для повышения локальных привилегий (LPE) влючает планирование стратегии эксплуатации, поиск подходящих уязвимых объектов, обход механизмов защиты и выполнение дополнительных технических операций.

🔻 Генерация исправлений - система автоматически формирует патчи, устраняющие обнаруженные уязвимости, и проверяет их корректность.

Интересное в выводах:

🔹 Новая модель обнаружила 948 уникальных эксплуатируемых LPE против 166 у предыдущей.

🔹 Выявлено 10 новых техник эксплуатации. Модели способны не только находить уязвимости, но и разрабатывать новые способы их эксплуатации.

🔹 В 20 из 200 экспериментов модель получила права root через другую уязвимость, а не ту, которую ей поручили эксплуатировать. 🤷‍♂️ Поэтому важно проверять не только результат, но и способ его достижения.

🔹 Более мощным моделям требуется менее сложная оркестрация, итерации повышают качество генерации исправлений.