В инструменте АНБ Ghidra найдена RCE-уязвимость

В инструменте АНБ Ghidra найдена RCE-уязвимость

В инструменте АНБ Ghidra найдена RCE-уязвимость

Исследователи в области безопасности предупреждают, что недавно опубликованный АНБ инструмент для обратного инжиниринга, получивший название Ghidra, содержит уязвимость, которая позволяет удаленно выполнить код.

Сама уязвимость представляет сбой известную проблему внешних сущностей XML (XML external entity, XXE). Согласно сообщению на GitHub, злоумышленник может использовать ее, заставив жертву открыть специально созданный вредоносный проект.

Алгоритм эксплуатации в этом случае выглядит так:

  • Злоумышленник создает проект и закрывает его.
  • Затем помещает XXE-пейлоад в любой из файлов XML, расположенных в директории проекта.
  • Как только проект открывается пользователем, вредоносная нагрузка выполняется.

По словам эксперта под псевдонимом «sghctoma», обнаружившего этот баг, атаковать пользователя можно и с помощью файлов .gar.

Наличие бреши в Ghidra прокомментировали и специалисты компании Tencent Security:

«Основываясь на нашем прошлом исследовании, можно сделать вывод, что атакующий может использовать особенности Java, а также уязвимости в протоколе NTLM в системах Windows. Грамотное использование этих инструментов позволит удаленно выполнить код».

В начале марта мы писали, что Агентство национальной безопасности (АНБ) США выпустило бесплатный кроссплатформенный инструмент под названием Ghidra, предназначенный для обратного инжиниринга. АНБ планирует в ближайшее время опубликовать исходный код Ghidra на GitHub.

Файлы README научились обманывать ИИ-агентов и утягивать данные

Исследователи обратили внимание на риски, связанные с ИИ-агентами: оказалось, что даже обычный README-файл в репозитории может стать точкой атаки. Если спрятать в нём вредоносную инструкцию, агент, который помогает разработчику развернуть проект, установить зависимости и запустить команды, может послушно выполнить лишнее действие — например, отправить данные на внешний сервер.

Речь в исследовании (PDF) идёт о так называемой семантической инъекции. Суть в том, что в документацию добавляют шаг, который выглядит как нормальная часть установки: синхронизация файлов, загрузка конфигурации, отправка логов или ещё что-то в таком духе.

Для человека это может выглядеть вполне буднично, а вот ИИ-агент нередко воспринимает такой текст как прямую инструкцию. В результате вместе с «настройкой проекта» он может утянуть наружу локальные файлы, конфиги или другие данные.

Для проверки этой идеи исследователи собрали набор ReadSecBench — 500 файлов README из опенсорс-репозиториев на Java, Python, C, C++ и JavaScript, в которые добавили вредоносные вставки.

После этого они смотрели, как разные ИИ-агенты будут следовать такой документации при настройке проекта. В ряде сценариев скрытые инструкции срабатывали в 85% случаев.

 

Особенно показательно, что многое зависело от формулировки. Если вредоносная команда была написана в лоб, как обычное указание, атака проходила примерно в 84% тестов. А если спрятанная инструкция находилась не прямо в основном README, а, например, через пару переходов по ссылкам внутри документации, успешность вообще доходила примерно до 91%.

Ещё один неприятный момент: люди тоже далеко не всегда замечают подвох. В рамках эксперимента 15 участников вручную просматривали файлы README и пытались отметить что-то подозрительное. Никто из них не смог точно выявить вредоносные инструкции. Более чем в половине случаев рецензенты вообще не оставили замечаний о странном содержимом, а ещё 40% комментариев сводились к стилистике и формулировкам, а не к реальной угрозе.

Автоматические системы защиты тоже показали неидеальный результат. Сканеры часто ругались на обычные README-файлы, потому что документация и так полна команд, путей и кусков кода. Модели-классификаторы давали меньше ложных срабатываний, но всё равно пропускали часть вредоносных инструкций, особенно если те были вынесены в связанные файлы, а не лежали прямо в основном README.

RSS: Новости на портале Anti-Malware.ru