Контакты
Подписка 2024
Персональные данные
4 апреля. Персональные данные в 2024 году: регулирование, практика, тенденции
Регистрируйтесь на онлайн-конференцию!

Невидимые символы в 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университетские исследования
NGFW
9 апреля. Отечественные NGFW: как защитить облачную инфраструктуру и настроить обнаружение кибератак
Участвуйте и представляйте решения!
Статьи по темеСтатьи по теме

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

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

КАЛЕНДАРЬ МЕРОПРИЯТИЙ 2024
ПОСЕТИТЬ МЕРОПРИЯТИЯ
ВЫСТУПИТЬ НА КОНФЕРЕНЦИЯХ
СТАТЬ АВТОРОМ
SOAR, IRP, SOC
Спецпроекты журнала "Информационная безопасность"
Станьте автором издания!

Еще темы...

More...