Открытый и опасный: в чем риски создания приложений на open source в России
Разработка с элементом риска
Приложение, которое программирует надпись на новогодней гирлянде. Приложение, которое превращает экран Android в экран iPhone или имитирует фальшивый входящий звонок, чтобы прервать неудобную беседу. Приложение с зажигалкой для концертов, приложение со скидками и приложение для записи к специалистам. Разработчики по всему миру (и Россия не исключение) используют для многих таких продуктов open source. Это программное обеспечение с открытым исходным кодом, которое следующий автор может адаптировать под свои задачи, доработать, улучшить и дополнить, использовать в разработке другой программы с похожей архитектурой кода. Концепция open source — мировая практика, она родилась в ответ на проприетарное ПО коммерческих компаний с жесткими авторскими правами и ограниченным или полностью закрытым кодом.
Открытый исходный код значительно облегчает жизнь и пользователей, и разработчиков, и целых корпораций. Благодаря открытым разработкам в свободном доступе можно не тратить время на создание нужного кода с нуля, а встраивать уже готовые решения в архитектуру своего программного обеспечения. Так мы получаем нужные для бизнеса приложения намного быстрее и с меньшими затратами. Открытые исходные коды использовались для создания Google Chrome, Opera и «Яндекс Браузера», на основе open source появилась и операционная система Android.
Опасное «но» заключается в том, что злоумышленники могут добавлять в популярный зрелый опенсорсный компонент вредоносную функциональность. При использовании open source и заимствовании компонентов открытого кода разработчики обычно опасаются вредоносных Python-пакетов. Например, в этом году IT-специалисты столкнулись с такими вредоносными пакетами в репозитории Python Package Index (PyPI). Из них на машину разработчиков распаковывался вредоносный софт, который старался закрепиться в системе и дальше мог воровать конфиденциальные данные и получать доступ к криптовалютным кошелькам жертв, их браузерной истории и другим приложениям. Но в России эта проблема рисков сейчас намного шире: после 24 февраля 2022 года специалисты по кибербезопасности наблюдают появление Protestware. Это добавление в открытый код вредоносной функциональности, которая активируется только в российском киберпространстве.
Открыт — значит, уязвим
Любой софт уязвим для внешних угроз и вредоносных воздействий, но обнаружить опасность в ПО на open source удается проще и быстрее. Недостаток программ на открытом коде можно превратить в их преимущество: если создать специальный доверенный репозитарий (хранилище библиотек open source кода), то все необходимые компоненты для дальнейшего использования могли бы отфильтровывать и проверять службы информационной безопасности. Мы в Angara Security уверены, что уровень проверки можно подбирать в зависимости от критичности архитектурных элементов программного обеспечения. Скажем, одному разработчику для создания своего ПО требуется сторонний архив Java-классов, другому — питоновский пакет, третьему — докер-образ (шаблон для создания и запуска приложения. — Forbes). Для каждого такого компонента можно установить уровень защиты и проверки: от автоматического сканирования антивирусом/песочницей и SCA-инструментом на предмет наличия «вредоносов» и известных уязвимостей до полуавтоматизированного поиска в исходном коде новых уязвимостей или даже экспертного анализа каждого коммита (последних изменений в коде).
Безопасность разработки надо соблюдать на самых ранних стадиях жизненного цикла ПО. На этом этапе можно снизить расходы на безопасность, в том числе за счет минимизации количества доверенных компонент, что снизит и расходы на обеспечение их безопасности. К примеру, у «Лаборатории Касперского» есть принципы кибериммунитета. ПО, которое разрабатывается в соответствии с этими принципами, обладает более и менее доверенными компонентами. Соответственно, для них оправданы разные уровни глубины проверок.
Пример разрушительного внедрения в открытый код — целенаправленные и взаимосвязанные атаки на цепочку поставок ПО с открытым исходным кодом, нацеленные на международный банковский сектор в 2023 году. Их обнаружила исследовательская группа Checkmarx. Для незаметного внедрения на сайт банка-жертвы злоумышленники загрузили вредоносный пакет на open source платформу NPM. Пакет давал им возможность подключаться к элементам страницы входа в банковскую систему, незаметно перехватывать данные для входа и передавать их в удаленное место. Зашифрованный в пакете файл не определялся онлайн-сервисами для сканирования на вирусы как вредоносный и незаметно внедрялся в инфраструктуру. Основным объектом атаки должна была стать страница входа в систему банка для мобильных устройств.
Своя экосистема как метод защиты
В российском киберпространстве подобные публичные кейсы кибератак с помощью внедрения в open source код уже встречаются, поэтому это направление в российских компаниях уже под особым контролем. Современное цифровое пространство предполагает сотрудничество и открытый обмен кодом, а значит, каждый такой код доступен не только добросовестным разработчикам, но и злоумышленникам.
Минцифры еще в 2022 году объявило о создании национального репозитария ПО с открытым кодом для укрепления цифрового суверенитета. С точки зрения государства национальный репозитарий удобен тем, что программное обеспечение, созданное за бюджетные средства, может быть использовано снова и пригодится для реализации новых проектов. Разработчики такого ПО с открытым кодом получат среду для совместной работы, свободную от санкционных рисков. Государственный репозитарий создаст безопасную среду для работы с открытым кодом: каждое такое ПО будет проходить глубокие проверки на уязвимости и на потенциальное содержание вредоносных компонентов.
Мнение редакции может не совпадать с точкой зрения автора