Найти в Дзене
Жизнь в IT

Программы с открытым исходным кодом - насколько они безопасны и можно ли им доверять.

В мире существует много программ. И классифицировать их можно по разным признакам. Один из них - открытость исходного кода. Программы бывают с открытым и закрытым исходным кодом. Открытый исходный код - это своего рода открытый "текст" программы. И этот "текст" каждый может изучить. Можно самому убедиться, что в исходном коде программы нет никаких вирусов или уязвимостей. Разработчик программы выкладывает этот код в свободный доступ. Закрытый исходный код - это тот же "текст" программы, но хранящийся разработчиками втайне. Это их собственность, их изобретение, их технологии которые они не хотят никому показывать. И не имея этого кода, соответственно изучить его не представляется возможным. Насколько же можно доверять программам с открытым исходным кодом? Довольно часто я слышу фразу - программы с открытым исходным кодом более безопасны, чем с закрытым. Такие люди часто ставят знак равенства между открытостью кода и безопасностью программы. Ниже я напишу аргументы сторонников открытог
Открытый код.
Открытый код.

В мире существует много программ. И классифицировать их можно по разным признакам. Один из них - открытость исходного кода.

Программы бывают с открытым и закрытым исходным кодом.

Открытый исходный код - это своего рода открытый "текст" программы. И этот "текст" каждый может изучить. Можно самому убедиться, что в исходном коде программы нет никаких вирусов или уязвимостей. Разработчик программы выкладывает этот код в свободный доступ.

Закрытый исходный код - это тот же "текст" программы, но хранящийся разработчиками втайне. Это их собственность, их изобретение, их технологии которые они не хотят никому показывать. И не имея этого кода, соответственно изучить его не представляется возможным. Насколько же можно доверять программам с открытым исходным кодом?

Довольно часто я слышу фразу - программы с открытым исходным кодом более безопасны, чем с закрытым. Такие люди часто ставят знак равенства между открытостью кода и безопасностью программы. Ниже я напишу аргументы сторонников открытого ПО и мои комментарии и пояснения.

Программы с открытым кодом безопаснее. Ведь этот код я могу изучить и лично убедится в его безошибочности и надежности.

Тут обычно я задаю вопрос - а вы сами его изучали? Вот вы хвалите программу с открытым кодом, а код вы изучали? Ответ обычно нет. Но далее следует другой аргумент.

Так как код доступен всем, то этот код уже изучили тысячи человек.

То есть вы его не изучали. Но кто-то изучал? Возможно. Вы ему доверяете? А у этого неизвестного человека есть навыки или образование для качественной оценки кода?

Следует также заметить, что открытый исходный код несет некоторые издержки в плане безопасности. А именно:

  • он общедоступен и открыт. Это значит, что злоумышленник может легко его изучить и найти в нем уязвимости. С закрытым кодом ему понадобится декомпилировать программу, решить проблему обфускации и провести дальнейший анализ проприетарного ПО.
  • нет гарантий. Обычно все программы с открытым кодом бесплатны. И разработчик ни несет никакой ответственности ни за код, ни за программу.
  • из этого кода каждый может "собрать" свою программу. И неопытный программист, который сделает программу с глюками и багами и хитрый хакер который внедрит туда вирус. Да, часто рабочая версия программы собранная из кода находится "рядом" с этим кодом. Но все же распространение самых разных версий открытого и бесплатного ПО с вирусами внутри имеет место быть.
  • источник кода и программ часто - GitHub . И это нормально и так принято. Но неопытный разработчик может выложить нестабильный релиз или исходный код с серьезными ошибками. Да даже опытные разработчики иногда этим грешат.

Вывод - программам с открытым исходным кодом следует доверять также как к программам с закрытым исходным кодом. Открытый исходный код - это не преимущество программы, а её особенность.

--------------------------------------

Если вы всё таки поняли, о чем я писал в этой статье, то поставьте лайк. А можно ещё и подписаться на мой канал, ведь тут действительно много уникального контента. Ну и если вы являетесь сторонником open source, то напишите об этом в комментарии ниже. Возможно, я что то упустил и вы нам об этом расскажете.