Контакты
Подписка 2025
ITSEC 2025
Интеграция безопасности в процессы внутренней разработки. 17-18 июня на Форуме ITSEC 2025
Регистрируйтесь и участвуйте!

Невидимые символы в JavaScript-коде могут скрывать бэкдоры

11/11/21

backdoor2-3Исследователи из Кембриджского университета рассказали о том, как невидимые символы в JavaScript-коде могут подвергать риску атак ничего не подозревающих пользователей. Ранее SecurityLab писал о том, что атака Trojan Source позволяет внедрить уязвимости в исходный код. Как теперь стало известно, с ее помощью хакеры также могут скрыть вредоносный код от глаз пользователя и внедрить бэкдор.

Новый метод работает с некоторыми из наиболее широко используемых языков программирования, и злоумышленники могут использовать его для атак на цепочку поставок. В ходе атаки Trojan Source используется двусмысленность, вносимая гомоглифами, и двунаправленный механизм Unicode (Bidi) — функция, используемая для размещения наборов символов как слева направо, так и справа налево.

По словам экспертов, в JavaScript-код можно внедрить определенные символы для создания невидимых бэкдоров и уязвимостей.

«Сценарий атаки реализует очень простую конечную точку HTTP для проверки работоспособности сети, которая выполняет ping -c 1 google.com, а также curl -s http[:]//example.com и уведомляет, успешно ли выполнены эти команды. Необязательный параметр HTTP timeout ограничивает время выполнения команды», — пояснили исследователи.

Если передается HTTP-параметр с невидимым символом, он присваивается невидимой переменной. Точно так же, когда создается массив checkCommands, эта невидимая переменная включается в массив.

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

«Атака требует, чтобы текстовый редактор/интегрированная среда разработки (и используемый шрифт) правильно отображали невидимые символы. По крайней мере, Notepad++ и VS Code отображают их правильно (в VS Code невидимый символ немного шире, чем символы ASCII)», — пояснили эксперты.

Однако некоторые интегрированные среды разработки, в том числе JetBrains WebStorm и PhpStorm, явно выделяют эти невидимые символы, затрудняя выполнение атаки.

Команда исследователей предлагает ограничить использование символов Bidi Unicode или вовсе запретить использование любых символов, отличных от ASCII, для защиты от подобных атак.

Темы:УгрозыбэкдорыJavaScriptуниверситетские исследования
КИИ
Защита контейнеров и микросервисной разработки на Форуме ITSEC 2025
Регистрируйтесь и участвуйте 18 июня 2025 →
Статьи по темеСтатьи по теме

Участвуйте в проектах

редакции журнала
"Информационная безопасность" 

КАЛЕНДАРЬ МЕРОПРИЯТИЙ 2025
ПОСЕТИТЬ МЕРОПРИЯТИЯ
ВЫСТУПИТЬ НА КОНФЕРЕНЦИЯХ
СТАТЬ АВТОРОМ
ТБ Форум
Проектирование и защита API на Форуме ITSEC 2025
Посетите 17-18 июня →

Еще темы...

More...