ПО на базе Open Source для бизнеса: за и против

erid: 2SDnjcjDGxK
ПО на базе Open Source для бизнеса: за и против
ПО на базе Open Source для бизнеса: за и против
06.06.2023

РТМ-групп.jpg
Даниил Передрий
Младший специалист по ИБ RTM Group

Российскому рынку сегодня нужны сотни новых программных продуктов. И создавать их нужно максимально оперативно. Многие разработчики именно поэтому активно применяют ПО с открытым исходным кодом, ведь создавать новое с нуля неэффективно, да и времени на это нет. Согласно данным, собранным Scarf за первый квартал 2023, программное обеспечение на Open Source становится всё популярнее с каждым годом. Так, например, мировой рост такого ПО, загружаемого с помощью менеджера Scarf, показал увеличение на 60%, причем число загрузок в России выросло в 3,2 раза. В этой статье Даниил Передрий, младший специалист по ИБ RTM Group, рассмотрит преимущества и минусы использования ПО на Open Source в бизнес-среде, а также опишет методы снижения рисков и предложит практические рекомендации.

img_60a8efdc38545.jpeg

Плюсы и минусы его использования

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

Причин роста популярности такого ПО по всему миру в последнее время несколько:

  • возможность доработки ПО для решения узкоспециализированных задач;
  • развитие собственной экосистемы за счет усилий сторонних разработчиков;
  • участие в деятельности открытого сообщества облегчает для компании поиск и найм новых сотрудников.

А теперь стоит посмотреть, какое влияние Open Source ПО может оказать на бизнес.

img_60a8efdc38545 — копия.jpeg

Сначала плюсы:

  1. Сокращение затрат: за Open Source ПО не надо платить вовсе
  2. Широкие возможности для модификации: на один исходный продукт может быть создано огромное количество версий программы со своими особенностями, благодаря чему можно сразу найти более подходящий вариант для конкретных задач
  3. Независимость от вендора: ПО на открытом исходном коде позволяет не быть привязанным к одному поставщику, поэтому можно не беспокоиться о возможном прекращении поддержки, а также изменении условий лицензирования тех продуктов, которые допускают использование в коммерческой деятельности
  4. Прозрачность: открытый исходный код позволяет бизнесу анализировать и контролировать качество кода, что может обеспечить бóльшую надежность
  5. Поддержка стандартов и совместимость: такое ПО обычно строится на открытых стандартах, что обеспечивает совместимость между различными системами и упрощает интеграцию.

1 — копия.jpg

А теперь минусы:

  1. Общедоступность одновременно и минус, и плюс. Производить анализ такого ПО могут не только добросовестные исследователи, но и злоумышленники. Последние, обнаружив уязвимости, способны использовать их для атак как на поставщика решений, применившего программы для разработки своих продуктов, так и на его клиентов;
  2. Отсутствие гарантий и техподдержки разработчика: в случае возникновения проблем бизнесу придётся либо собственноручно тратить ресурсы на восстановление работоспособности системы, либо полагаться на помощь сообщества;
  3. Сомнения в долгосрочной жизнеспособности продукта и отсутствие подотчетности поставщика, – именно эти сложности наряду с другими проблемами выделяют разработчики при внедрении ПО на Open Source;
  4. Сложность внедрения: продукты, созданные на базе открытого исходного кода, часто требуют от IT-службы повышенной квалификации для их успешного внедрения и поддержки работоспособности в организации;
  5. Вероятность подделки репозиториев и внедрения вредоносных пакетов. Согласно совместной аналитике Checkmarx и Illustria, злоумышленники использовали методы автоматизации, чтобы отравить всю экосистему NuGet, PyPi и NPM 144 294 вредоносными пакетами. Это позволило им опубликовать большое количество таких разработок за короткий промежуток времени, что затруднило для различных команд безопасности быстрое выявление и удаление проблем безопасности. Всегда существует вероятность того, что злоумышленники могут «спрятать» в программах на базе открытого исходного кода уязвимости, вредоносы и другие неприятные «сюрпризы», которые могут в дальнейшем привести к финансовым и репутационным потерям для тех, кто использует такое ПО.

Уязвимости

Посмотрим теперь на самые крупные примеры уязвимостей в Open Source ПО, которые привели к негативным последствиям:

1.    Heartbleed (2014)

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

2.    Shellshock (2014)

Эта уязвимость была обнаружена в Unix-оболочке Bash, которая является стандартной для большинства Linux-систем и macOS. Shellshock позволял злоумышленникам выполнять произвольный код на уязвимых системах, что могло привести к захвату удаленного контроля над ними, утечке данных и другим последствиям. В 2014 году Yahoo была атакована через уязвимость Shellshock, и злоумышленники получили доступ к серверам компании. В результате атаки были скомпрометированы данные пользователей и ресурсы серверов. Этот инцидент повлек за собой дополнительные затраты на усиление безопасности, исправление уязвимости и компенсацию ущерба клиентам.

3.    Apache Struts 2 (2017)

Уязвимость в популярном open-source фреймворке Apache Struts 2 позволяла злоумышленникам выполнить произвольный код на сервере с помощью специально сформированных HTTP-запросов. Она стала причиной одной из самых крупных утечек данных в истории, когда хакеры получили доступ к системам компании Equifax, в результате чего данные около 143 миллионов американцев, включая социальные страховые номера, адреса и даты рождения, были скомпрометированы. Это привело к финансовым и репутационным потерям компании, а также к судебным искам и увольнению руководителей.

4.    Log4Shell (2021)

Уязвимость в популярной Java-библиотеке log4j позволяла злоумышленникам выполнять произвольный код на различных системах с помощью специально сформированных строк входа. Для реализации атак преступники использовали, в том числе, производные ботнета Mirai. Эта программа может обнаруживать общедоступные сетевые камеры, маршрутизаторы и другие устройства и подключать их к ботнету. Злоумышленник в дальнейшем управляет им для реализации DDoS-атак на конкретную цель, истощая ресурсы и нарушая работу online-сервисов.

Как обезопасить себя тем, кто использует Open Source ПО?

Примеры выше показывают, что последствия атак, связанных с уязвимостями ПО на базе открытого исходного кода, могут дорого обойтись бизнесу. Для снижения этих рисков в последние годы стали появляться новые программные решения, призванные обеспечить безопасность и более удобную масштабируемость Open Source ПО, названные Software Composition Analysis (SCA).

Они помогают анализировать корпоративные приложения, как правило, уже в процессе разработки (а иногда и коммерческие продукты внутри проектов заказчика), чтобы идентифицировать встроенные Open Source компоненты. Кроме этого, инструменты SCA выявляют известные уязвимости в этих пакетах, что повышает эффективность разработки за счет снижения затрат на исправление дефектного кода.

Они также могут определять лицензию, под которой распространяется конкретный компонент, что облегчает оценку юридических рисков. Не случайно за последний год, согласно статистике Gartner, интерес к SCA вырос на 20%. Здесь стоит отметить такие крупные коммерческие SCA продукты, как Black Duck от Synopsys и отечественный CodeScoring от Profiscope, а также Open Source анализатор Dependency-Check от Open Web Application Security Project (OWASP).

1 — копия (2).jpg

Чтобы снизить риски от использования ПО на базе открытого исходного кода, эксперты RTM Group рекомендуют:

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

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

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


Популярные публикации

Комментарии 0