🚘 Новая реальность: эксплойт за 15 минут и один доллар
Всем привет! На связи Денис Макрушин из команды SourceCraft Security. Возможно, вы уже видели мой пост в этом канале — тогда я рассказывал про топ-10 атак на веб-приложения.
Сегодня поделюсь, почему генерация эксплойтов на основе CVE за 1 $ и 15 минут — это хорошая новость и для security-инженера, а не только для злоумышленника.
♒️ LLM изменили правила игры
Они дали исследователям возможность для генерации эксплойтов к известным уязвимостям на основе их описаний и патчей. Это сократило время между обнаружением бага и его эксплуатацией с десятков часов до 15 минут. Стоимость разработки такого эксплойта — около одного доллара (в другом похожем исследовании средняя цена составила 2,77 $).
Но это не меняет сути: процесс эксплуатации уязвимостей стал дешевле и доступнее.
Теперь представим, что злоумышленник может автоматически создавать эксплойты для всех 100+ CVE, которые выходят ежедневно.
⚙️ Как это влияет на security-процессы
🟣 Политики исправления уязвимостей в течение 7 дней (а у кого-то и всех 90) неактуальны и требуют обновления. Время реакции команды продуктовой безопасности должно сократиться до нескольких минут
🟣 Временным преимуществом является закрытая кодовая база. Её нужно использовать для самостоятельного поиска «низко висящих фруктов» в своём коде с помощью LLM. Например, AI SAST
🟣 В процессе управления уязвимостями нужна система для дополнительной верификации находок. Она поможет точнее определять приоритеты в потоке критических проблем, а при необходимости — генерировать патчи
♒️ Как мы подтвердили это на практике
Здесь нам помогли наши инструменты SourceCraft Security.
До внедрения в платформу функций AI-триажа разработчик тратил на разбор одной находки от 10 до 20 минут. Это время требовалось, чтобы восстановить контекст, изучить уязвимый фрагмент кода и вынести вердикт.
После того как мы добавили возможность использовать LLM для этих задач, разработчик с помощью одной кнопки стал получать разобранную находку. В итоге стоимость обработки уязвимости снизилась до нескольких секунд.
🧠 Какой контекст о проблеме передавать в модель для точного ответа:
🟣 codeBlock — основной фрагмент кода, который связан с проблемой
🟣 ruleName — правило анализатора, которое нашло дефект
🟣 engine/engineType — какой движок обнаружил проблему
🟣 severity и cvssScore — критичность находки
🟣 firstFoundCommitHash — коммит, где дефект был впервые найден
🟣 latestCommitHash — последний коммит, где дефект всё ещё есть
🟣 latestTimeFound — время последнего обнаружения
🟣 shortDescription, fullDescription, helpText, helpUri — описание проблемы и ссылка/подсказка для исправления
А с недавних пор мы передаём ещё и трассу. Это путь данных по коду: от источника (source) через промежуточные шаги (propagation) до опасного места (sink).
⏩ Что можно сделать прямо сейчас
Если вы решили построить такую же систему для своих задач, используйте этот опыт и контекст в качестве первого шага в сторону снижения ложных срабатываний и ускорения разбора багов.
🔒 Из упомянутых исследований можно извлечь ключевую идею: архитектура такой системы должна быть модульной, чтобы задача разработки эксплойта выполнялась на разных этапах разными агентами.
И не забывайте тщательно тестировать автосгенерированные патчи.
Подписывайтесь:
💬 @Yandex4Security
📹 @YandexForSecurity
Post #272
2.09K

- ❤ 9
- 🔥 6
- 👍 4