Выпущен инструмент Synode для обнаружения инъекций кода в модулях Node.js
Новости
Создан инструмент Synode для определения защищенности модулей на Node.js от атак-инъекций. Утилита находит более 96 % уязвимостей за минуту.
1К открытий1К показов
Исследователи в области информационной безопасности обнаружили, что тысячи модулей 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 секунды.
1К открытий1К показов