Макс Голосов

Выпущен инструмент Synode для обнаружения инъекций кода в модулях Node.js

Создан инструмент Synode для определения защищенности модулей на Node.js от атак-инъекций. Утилита находит более 96 % уязвимостей за минуту.

1042

Исследователи в области информационной безопасности обнаружили, что тысячи модулей Node.js уязвимы к нападениям с применением вредоносного кода. Для устранения данной бреши они выпустили инструмент Synode.

Авторы утилиты проанализировали 235 850 npm-модулей и обнаружили, что 3 % (7686 модулей) и 4 % (9111 модулей) используют наиболее уязвимые семейства интерфейсов exec и eval соответственно. 20 % всех устройств оказываются зависимыми от по меньшей мере одной API-инъекции.

На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.

Механизм обнаружения брешей

Утилита использует статический анализ для обнаружения мест, потенциально уязвимых для атак путем внедрения кода, и анализ времени выполнения программы для их поиска и пресечения. Разработчики рекомендуют использовать Synode через процесс пост-инсталляции npm. Фаза статического анализа идентифицирует входы API-инъекций и обобщает информацию о значениях, которые могут быть переданы функции в дереве шаблонов:

На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.

Затем деревья шаблонов сводятся к набору строк и вставок:

На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.

Если в шаблонах нет неизвестных частей, тогда сайт статически безопасен. Иначе проверка продолжается в процессе выполнения программы.

Итоги

18 924 из всех 51 627 вызовов API-инъекций являются статически безопасными (36,66 %). Шаблоны для подавляющего большинства сайтов вызовов имеют не более одной уязвимости. Статический анализ заканчивается для 96,27 % из 15 604 модулей менее чем за минуту, со средним временем анализа для этих модулей 4,38 секунды.

Следите за новыми постами по любимым темам

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

Безопасность
Node.js
1042
Что думаете?
0 комментариев
Сначала интересные