Насколько безопасно программное обеспечение с открытым исходным кодом?
Когда люди выбирают программное обеспечение, безопасность часто оказывается на первом месте в их списках приоритетов. А если нет, так и должно быть! Однако они обычно задаются вопросом о различиях между программным обеспечением с закрытым и открытым исходным кодом.
Так в чем разница между открытым и закрытым исходным кодом? Действительно ли программное обеспечение с открытым исходным кодом безопасно?
Программное обеспечение с открытым исходным кодом и программное обеспечение с закрытым исходным кодом
Люди делают ПО с открытым исходным кодом бесплатно для всех. Общественность может использовать, копировать, изменять и распространять его. Кроме того, как следует из названия, любой желающий может увидеть исходный код.
Программное обеспечение с закрытым исходным кодом содержит строго охраняемый код, который могут видеть или изменять только уполномоченные люди. Стоимость покрывает право людей использовать его, но только в рамках лицензионного соглашения для конечного пользователя.
У прозрачности открытого исходного кода есть свои плюсы и минусы в плане безопасности
Возможность любого увидеть исходный код дает большие преимущества для безопасности открытого исходного кода. Развитие становится общественным усилием, в котором принимают участие люди со всего мира.
Это означает, что ошибки часто обнаруживаются и исправляются быстрее, чем если бы только гораздо меньшая группа людей проверяла код.
Однако хакеры также извлекают выгоду из доступности открытого исходного кода. Они могут использовать его для планирования атак или обнаружения уязвимостей.
Разработчики, искренне заинтересованные в улучшении программного обеспечения с открытым исходным кодом, решают обнаруженные проблемы или, по крайней мере, сообщают о проблемах тому, кто обладает навыками их решения. Любой со злыми намерениями надеется, что все останется незамеченным как можно дольше.
Эти реалии заставляют профессионалов в области кибербезопасности предупреждать, что программное обеспечение с открытым исходным кодом может подвергнуть организации риску. Одна из проблем заключается в том, что преступники могут видеть код и внедрять в него опасный контент. В качестве альтернативы эти стороны могут нацеливаться на компании , у которых нет строгих правил для загрузки исправлений программного обеспечения с достаточной частотой.
Поскольку программное обеспечение с открытым исходным кодом не имеет централизованного управления, кому-либо трудно узнать, какие версии используются чаще всего. Заголовки могут обновляться так часто, что ИТ-специалисты организации не осознают, что у них есть старая версия с серьезными проблемами безопасности.
Сторонние программные библиотеки создают риски для безопасности с открытым исходным кодом
Разработчики часто используют сторонние программные библиотеки для экономии времени. Это повторно используемые компоненты, разработанные организацией, отличной от исходного поставщика. Одним из преимуществ является то, что они позволяют использовать предварительно протестированный код.
Популярные библиотеки протестированы во многих средах для широкого спектра сценариев использования. Естественная частота использования означает, что об ошибках сообщают часто. Однако это не обязательно означает, что сторонние программные библиотеки обладают превосходной безопасностью, даже при обсуждении тех, которые связаны с программным обеспечением с открытым исходным кодом.
Одно исследование показало, что почти в 80% случаев сторонние библиотеки для программного обеспечения с открытым исходным кодом не обновляются после того, как разработчики добавляют их в кодовые базы. Исследователи, участвовавшие в исследовании, предупредили, что отсутствие обновлений может иметь побочные эффекты.
Некоторые из новейших и широко используемых программных продуктов во время разработки полагаются на сторонние программные библиотеки. Один недостаток может повлиять на все продукты, связанные с проблемной библиотекой. Еще один тревожный результат заключается в том, что более четверти опрошенных разработчиков не знали или не знали о каком-либо формальном процессе, используемом для выбора сторонних библиотек.
Однако положительный вывод исследования заключался в том, что обновления программного обеспечения устраняют 92% недостатков сторонних программных библиотек. Кроме того, 69 процентов обновлений требуют лишь незначительного изменения версии или чего-то еще менее обширного.
Еще более многообещающим было то, что разработчики могли исправить 17 процентов этих недостатков за один час. Это означает, что решение этих проблем с библиотеками с открытым исходным кодом не всегда требует больших затрат времени или усилий.
Как скорость разрешения ошибок влияет на безопасность с открытым исходным кодом
Одна из основных проблем с устаревшим программным обеспечением заключается в том, что оно подвергает пользователей риску потенциальных недостатков безопасности. В идеальном мире разработчики заметили бы и исправили все ошибки до того, как программное обеспечение станет общедоступным. Однако это нереальная цель.
Следующий лучший вариант – выпустить программные исправления вскоре после того, как уязвимости станут очевидными. Исследователи безопасности часто предупреждают поставщиков программного обеспечения с закрытым исходным кодом о проблемах, требующих быстрого решения. Однако люди, разрабатывающие эти продукты, следуют графику выпуска, выбранному начальством.
Лица, принимающие решения, также не всегда уделяют приоритетное внимание всем уязвимостям. Некоторые остаются без внимания в течение месяцев или лет после первоначальной идентификации. Связанная с этим проблема заключается в том, что многие разработчики борются с чрезмерными или несбалансированными рабочими нагрузками, которые могут серьезно ограничить их способность быстро исправлять ошибки, даже с самыми лучшими намерениями.
Другое исследование показало, что 38 процентов разработчиков тратят четверть своего доступного времени на исправление программных ошибок. Около 26 процентов респондентов заявили, что эта задача занимает половину их рабочего дня. Еще одним поразительным открытием стало то, что 32 процента разработчиков тратят до 10 часов в неделю на исправление ошибок, а не на написание кода.
Разработчики принимают многочисленные меры предосторожности, чтобы избежать выпуска проблемного кода. Например, в обзоре Blue Sentry обсуждалось, как база данных песочницы дает зеркальную версию производственной среды и любые изменения текущего цикла развертывания.
Специалисты по веб-разработке могут изучать и тестировать вещи без каких-либо серьезных негативных последствий, влияющих на всю команду. Но баги все равно случаются.
Поскольку над программным обеспечением с открытым исходным кодом работают целые сообщества разработчиков, высока вероятность того, что кто-то с нужными навыками и графиком доступности сможет выявить ошибку и исправить ее. Это может означать, что известные уязвимости не останутся без внимания так долго, как они могли бы с названием программного обеспечения с закрытым исходным кодом.
Google запускает инструмент для повышения безопасности открытого исходного кода
Программные зависимости существуют, когда одна операционная система полагается на работу другой. Когда дело доходит до программного обеспечения с открытым исходным кодом, быстрые темпы изменений часто мешают разработчикам понять, относятся ли какие-либо из их зависимостей к устаревшим версиям.
Однако недавно Google выпустил веб-инструмент визуализации под названием Open Source Insights для решения этой проблемы. Он дает пользователям обзор компонентов, связанных с программным пакетом.
Поскольку информация включает подробные сведения о зависимостях и их свойствах, специалисты по разработке получают более четкое представление о том, может ли устаревшее программное обеспечение с открытым исходным кодом вызвать проблемы позже.
Помимо просмотра графиков зависимостей, люди могут использовать инструмент сравнения, который показывает, как разные версии пакетов могут влиять на зависимости. Иногда более новая версия решает проблему безопасности. Предлагая этот инструмент, Google стремится облегчить разработчикам понимание того, как они используют программное обеспечение с открытым исходным кодом.
Получение этих новых знаний может улучшить безопасность и общее удобство использования.
Программное обеспечение с открытым исходным кодом: не решение для полной безопасности
Этот обзор показывает, почему программное обеспечение с открытым исходным кодом не всегда является наиболее безопасным выбором по сравнению с программным обеспечением с закрытым исходным кодом. Тем не менее, в ПО с открытым исходным кодом тоже есть много хороших вещей.
Люди, которые намереваются использовать его в личных целях или в рамках своей организации, должны взвесить все «за» и «против», чтобы принять решение.