Support us

Новая атака позволяет внедрять изменения в код, незаметные для разработчика

Исследователи из Кембриджского университета опубликовали технику незаметной подстановки вредоносного кода в исходные тексты, пишет OpenNet. Метод атаки Trojan Source основан на формировании текста, который по-разному выглядит для компилятора/интерпретатора и человека, просматривающего код. Примеры его применения продемонстрированы для различных компиляторов и интерпретаторов для языков C, C++ (gcc и clang), C#, JavaScript (Node.js), Java (OpenJDK 16), Rust, Go и Python.

Оставить комментарий
Новая атака позволяет внедрять изменения в код, незаметные для разработчика

Исследователи из Кембриджского университета опубликовали технику незаметной подстановки вредоносного кода в исходные тексты, пишет OpenNet. Метод атаки Trojan Source основан на формировании текста, который по-разному выглядит для компилятора/интерпретатора и человека, просматривающего код. Примеры его применения продемонстрированы для различных компиляторов и интерпретаторов для языков C, C++ (gcc и clang), C#, JavaScript (Node.js), Java (OpenJDK 16), Rust, Go и Python.

Метод заключается в применении в комментариях к коду специальных Unicode-символов, меняющих порядок отображения двунаправленного текста. При помощи этих управляющих символов одни части текста могут выводиться слева направо, а другие — справа налево. Они применяются, например, для вставки в код строк на иврите или арабском языке. Но если комбинировать строки с разным направлением текста в одной строке при помощи указанных символов, то отрывки текста, отображаемые справа налево, могут перекрыть уже имеющийся обычный текст, отображаемый слева направо.

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

При проверке кода разработчик столкнётся с визуальным порядком вывода символов и увидит не вызывающий подозрения комментарий, но компилятор и интерпретатор будут использовать логический порядок символов и обработают вредоносную вставку как есть, не обращая внимание на двунаправленный текст в комментарии. Проблеме подвержены различные популярные редакторы кода (VS Code, Emacs, Atom), а также интерфейсы для просмотра кода в репозиториях (GitHub, Gitlab, BitBucket и все продукты Atlassian).

Есть несколько способов использования метода для атаки: добавление скрытого выражения «return», приводящего к завершению выполнения функции раньше времени; заключение в комментарий выражений, нормальным образом видимых как действующие конструкции (например, для отключения важных проверок); присвоение иных строковых значений, приводящих к сбоям проверки строк; использование омоглифов — символов, внешне похожих по начертанию, но отличающихся значением и имеющих разные unicode-коды в именах функций и переменных для введения разработчиков в заблуждение.

Исправления с устранением уязвимости подготовлены для GCC, LLVM/Clang, Rust, Python и binutils. Проблему также устранили GitHub, Bitbucket и Jira. В процессе подготовки исправление для GitLab. Для выявления проблемного кода предложено использовать команду:
grep -r $'[\u061C\u200E\u200F\u202A\u202B\u202C\u202D\u202E\u2066\u2067\u2068\u2069]' /path/to/source

Читайте также
Хайповая Mythos от Anthropic лучше ищет уязвимости, но не во всём превосходит конкурентов
Хайповая Mythos от Anthropic лучше ищет уязвимости, но не во всём превосходит конкурентов
Хайповая Mythos от Anthropic лучше ищет уязвимости, но не во всём превосходит конкурентов
1 комментарий
В сеть утекли исходники Claude Code. Вернее, Anthropic сама поделилась
В сеть утекли исходники Claude Code. Вернее, Anthropic сама поделилась
В сеть утекли исходники Claude Code. Вернее, Anthropic сама поделилась
1 комментарий
OpenAI запустила ИИ-агента, который сам ищет и фиксит баги
OpenAI запустила ИИ-агента, который сам ищет и фиксит баги
OpenAI запустила ИИ-агента, который сам ищет и фиксит баги
1 комментарий
Хакеры могут красть данные Android с помощью пикселей
Хакеры могут красть данные Android с помощью пикселей
Хакеры могут красть данные Android с помощью пикселей

Хотите сообщить важную новость? Пишите в Telegram-бот

Главные события и полезные ссылки в нашем Telegram-канале

Обсуждение
Комментируйте без ограничений

Релоцировались? Теперь вы можете комментировать без верификации аккаунта.

Комментариев пока нет.