Как показало исследование компании Synopsys, 99% коммерческих программ включают как минимум один компонент на базе Open Source, и при этом в 91% из них такие компоненты — устаревшие или брошенные разработчиками. Портале ZDNet приводит мнения экспертов, которые рассуждают о том, как улучшить качество открытого ПО.

За последние несколько лет модель Open Source стала всепроникающей — ее применяют практически все компании, в том числе ИТ-гранды. Некоторые компании, которые отрицали пользу открытого ПО, со времен стали едва ли не его апологетами. Это подтверждает недавнее исследование Open Source Security and Risk Analysis (OSSRA) компании Synopsys, занимающейся разработкой ПО и выпуском полупроводниковых компонентов и являющейся крупным держателем интеллектуальной собственности. В нем говорится, что почти во всех кодовых базах, аудит которых проводили исследователи, содержится хотя бы один компонент Open Source. Это хорошая новость для разработчиков открытого ПО, чья работа наконец получила всемирное признание, но есть и плохая: 91% кодовых баз, содержащих Open Source-компоненты, устарели (их версии не менялись на новые четыре года и дольше) или лишились поддержки разработчиков, поскольку за последние два года они не вносили в них какие-либо изменения.

Исследовательский центр Synopsys в области кибербезопасности (CyRC) подчеркивает насколько это опасно с учетом того, что Open Source составляет 70% всего имеющегося на рынке ПО. Это громадная масса устаревшего и заброшенного софта, который в теории может стать легкой добычей хакеров. В отличие от вина, которое, как известно, с возрастом становится все лучше, лишенный поддержки код становится все хуже. Всего CyRC провела аудит кода более 1250 коммерческих кодовых баз. Особое внимание центр обращает на то, что 75% проверенных в этом году баз кода содержат компоненты на базе Open Source с известными, но неустраненными уязвимостями в безопасности, тогда как в 2019 г. их было 60%. Почти половина (49%) кодовых баз содержала уязвимости, представляющие высокий уровень угрозы, тогда как в прошлом году их было 40%.

«Трудно отрицать жизненно важную роль, которую Open Source играет в современной разработке и развертывании ПО, но при этом часто упускают из виду сопутствующие кода на риски, что ставит под угрозу безопасность вашего приложения и подвергает сомнению его соответствие лицензионным требованиям, — сказал главный стратег CyRC по безопасности Тим Макки. — Поддержка точного перечня сторонних программных компонентов, в том числе зависимостей с открытым кодом, в актуальном состоянии является ключевой отправной точкой для устранения многоуровневых рисков для приложений».

Помимо проблем с безопасностью у Open Source имеется и другая проблема. Она заключается в том, что 68% кодовых баз конфликтовали с лицензиями, которые регулируют распространение и применение исходного кода. Что еще хуже, 33% содержали исходный код, который распространялся без соответствия каким-либо лицензионным условиям. Как правило, потенциальные конфликты в сфере интеллектуальной собственности не привлекают такого пристального внимания, как программные уязвимости, но в не меньшей степени могут нести угрозу безопасности компании.

Что можно сделать в ответ на ухудшающееся состояние кода Open Source, о чем ежегодно рапортуют отчеты Black Duck Audit Services (принадлежит Synopys) и других компаний, которые занимаются аудитом кода? Аналитик Gartner Дейл Гарднер считает, что ситуацию с кодом можно значительно улучшить за счет применения спецификаций ПО (software bill of materials, BOM). Их наличие дало бы компаниям всесторонний обзор открытых и коммерческих компонентов и структур, используемых в приложении или услуге. По словам Гарднера, организациям следует «постоянно разрабатывать подробные спецификации для каждого приложения, что обеспечит полную прозрачность компонентов».

Фрэнк Нэгл, профессор Гарвардской школы бизнеса и содиректор курируемого Linux Foundation проекта Census II, который занимается аудитом кода крупнейших Open Source-проектов, поддерживает мнение Гарднера: «FOSS долгое время считалась областью, где всем заправляли технические энтузиасты, чьим хобби было написание программ. Однако теперь Open Source стал неотъемлемым компонентом современной экономики и основой массовых технологий, включая смартфоны, автомобили, Интернет вещей и многочисленные элементы критической инфраструктуры. Понимание того, какие компоненты наиболее широко используются и являются наиболее уязвимыми, позволит нам сохранить здоровье программной экосистемы и цифровой экономики».

Предложенная Гарднером идея может оказаться спасительной для все ухудшающейся ситуации с Open Source. Она не только поможет упорядочить выпуск кода, упростить версионность, повысит продуктивность, но и улучшит ситуацию с безопасностью кодовых баз.