Контакты
Подписка 2025

Protestware: как защитить код?

Владимир Исабеков, 11/03/24

Согласно исследованию [1], недавно обнаруженные пакеты программного обеспечения с открытым исходным кодом на платформе npm (пакетный менеджер для JavaScript, работающий на Node.js) содержат сценарии, которые передают сообщения политического характера. Эти пакеты являются свежими примерами так называемого Protestware (от англ. “протестное программное обеспечение").

Автор: Владимир Исабеков, ведущий инженер по информационной безопасности Swordfish Security

ris1-Mar-11-2024-08-05-23-0951-AM

Что такое Protestware?

Protestware – это программное обеспечение, которое используется для выражения политических или социальных протестов. Обычно такое ПО содержит функции, которые могут нарушить работу компьютерной системы или причинить другой вред. Протестное программное обеспечение может быть создано отдельными лицами или группами, которые хотят выразить свое несогласие с политикой, действиями или решениями организаций или правительств.

Точно определить, когда появилось это явление, достаточно сложно. Однако можно сказать, что само протестное ПО существует с того момента, как появилась возможность создавать программы. Термин Protestware появился в начале 2000-х гг., когда протестное ПО стало более распространенным. Тогда это было связано с появлением таких программ, как NetSurf, которые позволяли пользователям обходить цензуру в Интернете.

В России Protestware получило широкую известность в начале 2022 г. Тогда в пакетах с открытым исходным кодом начали появляться закладки, в которых можно было встретить лозунги политического характера. Но, к сожалению, одними лозунгами не ограничилось. Так, в 2022 г. создатели прошивки Tasmota для довольно популярных контроллеров ESP8266 и ESP32 внедрили в код скрипт, который способен блокировать работу устройства.

Еще один пример – es5-ext, достаточно популярный пакет с GitHub, имеющий порядка 6 млн скачиваний. В прошлом году в одном из коммитов была найдена проверка тайм-зоны, в которой он работает. Как только пакет понимал, что попал в российский часовой пояс, то начинал выводить слоганы политического характера.

Опасность явления сегодня

В последние недели 2023 г. специалисты по кибербезопасности вновь начали фиксировать инциденты с Protestware. Так, был обнаружен пакет npm e2eakarev (версия 7.1.0), опубликованный в октябре 2023 г., который описывает себя как "бесплатный пакет протеста в Палестине". Исследователи ReversingLabs выяснили, что в Израиле установка пакета запускается с политическим сообщением на английском языке.

С июля этого года эксперты обнаружили 179 пакетов npm с использованием пакета es5-ext. Сценарии es5-ext пока не наносят существенного ущерба, но наглядно демонстрируют, что разработчики готовы использовать свой код в качестве платформы для различного рода действий, никак не связанных с заявленной функциональностью.

Очевидно, что явление закрепилось в нашей реальности и практически любые геополитические события будут провоцировать появление новых Protestware. Они могут влиять на организации по-разному, но основной риск – это атака на цепочку поставок, поскольку в этом случае затрагивается более широкая группа пользователей и приложений. Риски, с которыми сталкиваются разработчики и потребители программного обеспечения, сегодня как никогда высоки.

Как обнаружить Protestware?

Первым и важным шагом к снижению риска от вредоносного Protestware является стандартный инструментарий безопасной разработки.

  1. SCA (Software Composition Analysis) – композиционный анализ определяет состав программного обеспечения, сканирует каждый элемент на наличие проблем безопасности и уведомляет о них разработчиков. SCA помогает провести инвентаризацию вашего ПО, которая включает в себя разбор манифеста разработки, разрешение транзитивных зависимостей и определение OpenSourse-включений в код продукта. Для поиска уязвимостей инструментами SCA генерируется SBOM (Software Bill Of Materials) – это список, который содержит названия, версии и другие части ПО, помогающие определить все зависимости с версиями пакетов. Далее каждый элемент списка проверяется на наличие общеизвестных уязвимостей. Для этого используются публичные базы данных, например National Vulnerability Database, Snyk Vulnerability Database, GitHub Advisory Database, Exploit Database, OSVDB.
  2. SAST (Static Application Security Testing) – это инструмент обнаружения уязвимостей в программном обеспечении путем анализа исходного кода без его запуска. Этот метод позволяет находить ошибки в логике программы, уязвимости к атакам на систему и проблемы с безопасностью данных.
  3. Создайте процесс для обнаружения протестного ПО. Важно проводить регулярные проверки безопасности и иметь готовый план действий в случае обнаружения уязвимостей. Использование открытого исходного кода без предварительного тестирования и анализа его возможного поведения является риском. Тестируйте весь код перед тем, как использовать его в производстве, чтобы убедиться в его работоспособности.

Заключение

Protestware является угрозой для безопасности данных и конфиденциальности пользователей. В качестве контрмеры существуют инструменты безопасной разработки, логику которых необходимо адаптировать для анализа используемых пакетов на наличие Protestware.


  1. https://www.reversinglabs.com/blog/protestware-taps-npm-to-call-out-wars-in-ukraine-gaza 
Темы:Безопасная разработкаProtestwareЖурнал "Информационная безопасность" №6, 2023

Программа мероприятий
по информационной безопасности
на ТБ Форуме 2025
Крокус Экспо | 11-13 февраля 2025

Посетить
Обзоры. Спец.проекты. Исследования
Кибербезопасность. Защита АСУ ТП. Безопасность КИИ. Москва | 11 февраля 2025
Получите комментарии экспертов на ТБ Форуме 2025
Статьи по той же темеСтатьи по той же теме

  • О безопасности заимствованных компонентов Open Source
    Алексей Хорошилов, руководитель Центра исследований безопасности системного программного обеспечения, ведущий научный сотрудник ФГБУН “ИСП РАН”
    Open Source стал неотъемлемой частью современного мира. Сегодня уже нет необходимости объяснять, что это такое, – с этим явлением все давно свыклись и приняли его как данность. Однако возникает другой вопрос: как эффективно и зрело работать с Open Source?
  • Автоматизация и экономика для обеспечения жизненного цикла безопасного ПО
    Борис Позин, технический директор ЗАО "ЕС-лизинг", д.т.н., профессор базовой кафедры “Информационно-аналитические системы” МИЭМ НИУ ВШЭ, главный научный сотрудник ИСП РАН
    Проблема обнаружения уязвимостей и недекларированных возможностей специалистами в жизненном цикле ПО автоматизированных систем становится все более актуальной в последние годы, особенно в связи с активизацией работ по импортозамещению, использованием свободного ПО, развитием масштабных проектов систем корпоративного уровня в различных отраслях народного хозяйства.
  • Как соответствовать требованиям ЦБ РФ при защите мобильных приложений
    Юрий Шабалин, Ведущий архитектор Swordfish Security
    Профиль защиты прикладного программного обеспечения – это методический документ Банка России, согласно которому приложения должны проходить оценку на соответствие госстандарту в специальных лабораториях.
  • 6 мифов о безопасной разработке и сертификации ПО
    Дмитрий Пономарев, технический директор ООО НТЦ “Фобос-НТ”, сотрудник ИСП РАН
    За последние пять лет система сертификации СЗИ претерпела колоссальные изменения, практически сменив свой вектор, и продолжает активно развиваться. Если вы проходили испытания до 2019 г., или даже до 2023 г., скорее всего вы будете сильно удивлены числу произошедших перемен и их объему.
  • Управление уязвимостями при разработке ОС Astra Linux
    Владимир Тележников, директор департамента научных исследований “Группы Астра”
    Управление уязвимостями играет ключевую роль в процессе разработки и эксплуатации любой операционной системы.

Хотите участвовать?

Выберите вариант!

КАЛЕНДАРЬ МЕРОПРИЯТИЙ 2024
ПОСЕТИТЬ МЕРОПРИЯТИЯ
ВЫСТУПИТЬ НА КОНФЕРЕНЦИЯХ
СТАТЬ АВТОРОМ
Linux
13 февраля | Подходы и инструменты управления процессом РБПО
Узнайте на ТБ Форуме 2025!

More...
ТБ Форум 2025
13 февраля. Отечественные ИТ-системы и российское ПО
Жми, чтобы участвовать

More...