Демонстрация атаки на редакторы кода, приводящей к утечке файлов при открытии исходных текстов

16 мая 2021 года

Wikinews-logo-ru.svg

Продемонстрирован метод атаки на редактор кода VSCode, позволяющий передать произвольные системные файлы при открытии в редакторе специально оформленного исходного кода. В предложенной демонстрации при открытии кода на языке Rust, в котором используется процедурный макрос, выполняется установка соединения с хостом 127.0.0.1:8080 и отправка содержимого файла "~/.ssh/id_rsa" с SSH-ключами пользователя.

Для компрометации достаточно просто открыть файл с кодом, без выполнения каких-либо других действий с проектом. Для работы примера требуется наличие в VSCode плагина rust-analyzer (обвязка над штатным компилятором rustc) и наличие в системе инструментария для работы с кодом на языке Rust. Проблема связана с раскрытием процедурных макросов во время начального анализа кода. Аналогичного эффекта также можно добиться во время компиляции с использованием команды "cargo build".

Отмечается, что проблема может затрагивать другие редакторы кода и языки программирования. VSCode и rust-analyze использованы лишь для демонстрации вектора атаки. Теоретически проблеме подвержен любой редактор кода, раскрывающий процедурные макросы, позволяющие создавать расширения синтаксиса и выполнять код на этапе компиляции. Изначально исследователь изучал возможность совершения вредоносных действий во время компиляции кода, но обнаружил, что процедурные макросы раскрываются при обработке исходных текстов в редакторах кода. Вероятно атака может затрагивать и другие языки программирования, например, в Java похожим образом можно манипулировать с обработкой аннотаций.

 

ИсточникиПравить


Эта статья содержит материалы из статьи «Демонстрация атаки на редакторы кода, приводящей к утечке файлов при открытии исходных текстов», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Эта статья загружена автоматически ботом NewsBots и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
 

Комментарии:Демонстрация атаки на редакторы кода, приводящей к утечке файлов при открытии исходных текстов