Создавая программы, разработчики часто интегрируют в свои приложения или веб-сервисы фрагменты уже написанного кем-то кода, так называемого OpenSource или открытого кода. С его помощью программы, как конструкторы, собираются из компонентов с разными функциями: открыть, закрыть, сохранить, отправить и так далее.
Однако у такого заимствования есть и обратная сторона. Используя чужой код, сложно узнать наверняка, какими еще функциями, кроме заявленных автором, он обладает. При этом среди незаявленных опций в коде могут находиться уязвимости. Внедряя в ПО фрагмент проблемного OpenSource-кода, программа-реципиент автоматически становится уязвимой.
Как рассказали «Газете.Ru» в ИБ-компании Swordfish Security, до 40% российских программ создаются с использованием OpenSource. Специалисты получили такие цифры, проанализировав более 300 проектов различных российских компаний преимущественно из финансовой сферы.
По итогу анализа были обнаружены более 2,5 тыс. уязвимостей, из которых больше 1 тыс. оказались критическими, то есть подверженными удаленному воздействию со стороны потенциальных злоумышленников. В среднем на каждый проанализированный Swordfish Security программный продукт пришлось по 22 уязвимости. На каждую команду разработчиков — по 79 проблем.
«Такие опасные слабости потенциально открывают злоумышленникам возможности для реализации атак. К примеру, ряд критических уязвимостей, содержащихся в библиотеках (наборах фрагментов кода. — «Газета.Ru»), позволяет выполнять произвольный код (в том числе с вредоносной функцией. — «Газета.Ru») на стороне сервера, что может повлечь за собой его полную компрометацию и дать возможность попасть в сеть организации», — рассказал ведущий архитектор Swordfish Security Юрий Шабалин.
По его словам, среди уязвимостей, обнаруженных в открытом коде, им часто встречались те, которые позволяют вызвать полный отказ в работе сервиса и парализовать работу крупной организации. Кроме того, ими были обнаружены фрагменты открытого кода, предоставляющие автору несанкционированный доступ к криптовалютным кошелькам пользователей.
Аналогичные данные «Газете.Ru» привели и в других ИБ-компаниях. Например, по данным руководителя технического взаимодействия с клиентами центра Solar appScreener компании «Ростелеком-Солар» Антона Прокофьева, OpenSource используется в каждом втором российском приложении. В свою очередь директор департамента разработки в компании R-Vision Евгений Федоров предположил, что данные Swordfish Security и вовсе преуменьшают масштаб проблемы.
«На мой взгляд, большая часть ПО, разрабатываемая в России, в той или иной мере использует OpenSource-заимствования», — добавил он.
Похожим образом высказался и директор по продуктам Positive Technologies Денис Кораблев. По его словам, OpenSource используется во всех известных ему крупных программах.
В Swordfish Security отметили, что уязвимый открытый код встречался в российских продуктах разных категорий: мобильные приложения, десктопные программы и не только. Однако в подавляющем большинстве случаев они находили бреши именно в веб-сервисах.
«Это обусловлено, как правило, большим количеством используемых библиотек. Ведь чем больше библиотек с открытым исходным кодом используется, тем вероятнее, что в них будут найдены уязвимости», — сказал Шабалин.
Руководитель центра предотвращения киберугроз CyberART ГК Innostage Антон Кузьмин добавил, что в зоне риска в первую очередь находятся CMS-системы (ПО для управления контентом на сайтах. — «Газета.Ru»), базы данных и сервисы автоматизации для ИТ-специалистов.
Аналогичным образом высказался и Евгений Федоров из R-Vision.
«В связи со спецификой используемых инструментов разработки и языков программирования наиболее подвержены уязвимостям в OpenSource-библиотеках веб-проекты: сайты, медиа-платформы, онлайн-СМИ и так далее», — сказал он.
В Swordfish Security отметили, что доля уязвимых OpenSource-компонентов в сети постепенно растет. Однако этот рост они называют естественным.
«Количество библиотек растет — появляются новые, обновляются те, что уже существуют, и в любой из них может быть допущена уязвимость.
Если посмотреть на статистику, то за прошлый год появилось более 6 миллионов новых версий библиотек, а суммарное количество компонентов, которые можно использовать, превысило отметку в 37 миллионов.
При этом количество загрузок различных библиотек составило более 2,2 триллионов за 2021 год. С таким ростом и количеством неудивительно, что и количество уязвимостей растет прямо пропорционально», — сказал Шабалин.
Аналогичного мнения придерживается и главный эксперт по исследованиям угроз информационной безопасности «Лаборатории Касперского» Игорь Кузнецов. По его словам, в масштабах всего мира проблема уязвимостей в OpenSource-компонентах год от года меняется, но незначительными темпами.
В свою очередь Антон Прокофьев из «Ростелеком-Солар» отметил, что хоть в открытом коде уязвимостей и не становится сильно больше, сам открытый код стал чаще использоваться российскими компаниями, а следовательно, проблема его уязвимости стала острее. Особенно острым этот вопрос, по его словам, стал в 2022 году — во многом из-за того, что из России ушли многие вендоры иностранного ПО, которое стало заменяться разработками на базе открытого кода.
«Это главная причина, почему востребованность OpenSource и его проникновение в ландшафт инфраструктуры предприятий в 2022 году возросли многократно. На волне спроса на OpenSource стали появляться случаи намеренного распространения уязвимостей в OpenSource-проектах по политическим мотивам. В России в этом году стало регистрироваться значительно больше инцидентов, связанных с уязвимостями в OpenSource-компонентах», — сказал эксперт.
Вместе с тем он отметил, что во многих российских компаниях в этом году буквально был введен мораторий на обновление OpenSource — компонентов ПО, чтобы вместе с обновлениями в софт не проникли уязвимости.
В свою очередь руководитель отдела продвижения продуктов компании «Код Безопасности» Павел Коростелев добавил, что проблему усугубляет использование ПО на базе открытого кода в критических сферах — в угоду работоспособности систем, но в ущерб их безопасности.
В заключение в SwordFish Security отметили, что нивелировать потенциальный урон от использования уязвимого кода в российском ПО может более активное привлечение к разработке агентов из сферы DevSecOps — специалистов, компетенция которых находится на стыке информационной безопасности и программирования. DevSecOps занимаются балансированием производственных процессов между скоростью и безопасностью. В рамках исследования в SworsFish Security выяснили, что включение DevSecOps-специалистов в разработку на постоянной основе позволяет вылавливать до «половины» уязвимостей и других проблем открытого кода на этапе создания программ.
Роман Кильдюшкин