Будучи человеком, который предпочитает Linux для настольных компьютеров и поощряет использование программного обеспечения с открытым исходным кодом, вы можете ожидать ответа на вопрос, вынесенный в заголовок, с большим “Да”.
Но я не собираюсь ограничиваться обсуждением преимуществ программного обеспечения с открытым исходным кодом. Давайте изучим больше!
Здесь я планирую поделиться своими мыслями о том, безопасно ли программное обеспечение с открытым исходным кодом и какие вещи, связанные с ним, делают его безопасным или небезопасным.
Почему вас должно волновать, безопасно ли программное обеспечение с открытым исходным кодом?
Независимо от того, используете ли вы Linux или любую другую операционную систему, вы так или иначе (прямо или косвенно) будете окружены программным обеспечением с открытым исходным кодом.
Для примера, большинство проприетарных программных инструментов в той или иной форме зависят от библиотек с открытым исходным кодом.
Более того, не зря компании разного масштаба (включая Google, Microsoft и Facebook) полагаются на программное обеспечение с открытым исходным кодом или так или иначе предоставляют свои ресурсы сообществу open-source.
Следовательно, безопасность программного обеспечения с открытым исходным кодом – это то, о чем необходимо знать.
Мифы о безопасности программного обеспечения с открытым исходным кодом
Хотя существует несколько аргументов в пользу безопасности программного обеспечения с открытым исходным кодом, некоторые из них просто не имеют смысла
Любой может увидеть и использовать код
Да, код доступен каждому. Но если вы видите код, значит ли это, что любой может его использовать?
Не совсем так.
Даже если любой может создать форк (или копию) программного обеспечения, оригинальным программным обеспечением невозможно легко манипулировать.
Обычно сопровождающий проекта (или их группа) управляет репозиторием кода и принимает коммиты от участников. Код проверяется перед утверждением. И никто не может просто так взломать код.
Злоумышленнику требуются усилия, чтобы использовать уязвимость или добавить вредоносный код в программное обеспечение, независимо от того, является ли оно с открытым или закрытым исходным кодом.
Без выделенных ресурсов безопасность нарушается
Многие считают, что без выделенных сотрудников или команды для программного обеспечения с открытым исходным кодом трудно поддерживать безопасность.
В отличие от этого, когда несколько типов участников присоединяются и уходят, программное обеспечение получает больше внимания от широкого круга разработчиков.
И они могут лучше заметить проблемы безопасности, чем несколько сотрудников, назначенных для работы с проприетарным программным обеспечением.
Некоторые проекты от Mozilla имеют специальную команду для эффективного устранения проблем безопасности. Аналогичным образом, большинство успешных проектов с открытым исходным кодом имеют достаточно ресурсов для обеспечения безопасности.
Таким образом, экосистема программного обеспечения с открытым исходным кодом является смешанным мешком для безопасности. Даже без выделенных ресурсов проекты получают помощь от различных участников, а некоторые из них приносят большую прибыль, что помогает им выделять больше ресурсов.
Программное обеспечение с открытым исходным кодом безопасно: Теперь, когда мы разобрались с мифами, позвольте мне рассказать о том, как программное обеспечение с открытым исходным кодом решает вопросы безопасности.
Другими словами, преимущества безопасности программного обеспечения с открытым исходным кодом.
Не стоит забывать, что преимущества программного обеспечения с открытым исходным кодом связаны с некоторыми причинами, по которым Linux лучше Windows.
Больше глаз смотрят на код
В отличие от проприетарного программного обеспечения, доступ к коду не ограничивается несколькими разработчиками.
В некоторых проектах даже тысячи разработчиков следят за кодом, просматривают его, отмечают или исправляют проблемы безопасности.
Это дает преимущество перед закрытым программным обеспечением за счет возможности быстро выявлять проблемы и устранять их в кратчайшие сроки.
Не ограничиваясь большим количеством разработчиков, предприятия часто участвуют в проектах с открытым исходным кодом, которые они используют. И когда они это делают, они также просматривают код и анализируют его.
Это дает еще один источник внешнего аудита, который может помочь улучшить безопасность программного обеспечения.
В отличие от этого, в программном обеспечении с закрытым исходным кодом ограниченное число разработчиков может быть не в состоянии найти все виды проблем безопасности. И им может потребоваться больше времени, чтобы устранить все проблемы одну за другой.
Принятие решений сообществом для определения приоритетности проблем безопасности
Разработчики программного обеспечения с закрытым исходным кодом могут иметь определенные ограничения и приоритеты в отношении того, над чем работать и когда решать проблему.
Однако в случае проекта с открытым исходным кодом сообщество разработчиков может самостоятельно определять приоритеты и назначать, над чем работать и когда устранять проблему. Вам не нужно зависеть от поставщика или следовать его инструкциям для решения проблемы безопасности.
Принятие решений по устранению проблем безопасности более прозрачно и гибко в случае программного обеспечения с открытым исходным кодом. Следовательно, оно может оказаться более эффективным, предоставляя вам три конкретных преимущества:
- Прозрачность
- Отсутствие зависимости от поставщика
- Быстрое обновление безопасности
Программное обеспечение с открытым исходным кодом не является пуленепробиваемым: Вот почему
Хотя есть случаи, когда программное обеспечение с открытым исходным кодом может получить преимущество в безопасности, могут быть случаи или факторы, которые влияют на это.
Важно признать, что эти проблемы существуют, и, соответственно, предприятие или частное лицо может принять лучшее решение о состоянии безопасности программного обеспечения с открытым исходным кодом.
Недостаточно глаз для проверки кода и неопределенность
Даже если код доступен миру разработчиков, есть вероятность, что у проекта недостаточно контрибьюторов/разработчиков для тщательной проверки кода.
В таком случае мы не можем быть уверены в том, что программное обеспечение с открытым исходным кодом является рецензируемым, поскольку в нем нет именно этого.
Программное обеспечение с открытым исходным кодом может “заявлять” о своей лучшей безопасности только потому, что оно с открытым исходным кодом, что вводит в заблуждение, если над ним работает недостаточное количество разработчиков.
Кроме того, мы не знаем, сколько разработчиков просматривают/рецензируют код, и как именно происходит обход кода.
Например, ошибка Heartbleed была обнаружена через 2 года после ее появления в уже популярном проекте, т.е. OpenSSL.
Ответственность или подотчетность программного обеспечения
Возможно, это не так важно для частных лиц, но программное обеспечение с открытым исходным кодом часто поставляется без гарантий.
Поэтому, если предприятие использует его, оно должно взять на себя ответственность за любые потери или убытки, вызванные использованием этого программного обеспечения.
Это говорит о том, что ничто не может быть на 100% безопасным и свободным от ошибок. Независимо от того, сколько глаз у вас есть на код, или насколько квалифицированными являются его авторы, в той или иной форме будут существовать риски, будь то безопасность или потеря данных.
И это подводит нас к тому, что программное обеспечение с открытым исходным кодом не является пуленепробиваемым.
Открытый исходный код может иметь преимущество в плане безопасности, но…
Нет ничего лучше, когда речь идет о безопасности. Неважно, с закрытым или открытым исходным кодом, в вопросах безопасности действуют одни и те же принципы.
Существуют различные внешние факторы, которые могут повлиять на безопасность программного обеспечения, и многие из них не зависят от исходного кода.
Для обеспечения безопасности код должен контролироваться одинаково.
Да, подход с открытым исходным кодом дает преимущества, которых никогда не будет у программ с закрытым исходным кодом, но это не значит, что они не пуленепробиваемые.
Что вы думаете о состоянии безопасности, когда речь идет о программном обеспечении с открытым исходным кодом? Считаете ли вы, что оно превосходит проприетарные решения?
Я буду признателен за ваши ценные мысли в комментариях ниже.