НовостиОбзорыСобытияIT@WorkРеклама
Open Source:

Блог

Одно из двух

Обсуждение заметки "Безопасность ПО: кто кого боится?" предсказуемо ушло в сторону теоретической возможности инспекции чужого кода. Мне думается, что этот вопрос интересен сам по себе, поскольку приводит к занятным выводам.

Итак, возможно одно из двух.

[spoiler]Если инспекция кода - задача выполнимая и не очень сложная, то открытые программы следует признать более безопасными. Хотя бы потому, что они могут быть подвергнуты независимой экспертизе и разработчики об этом знают. Понятно, что от ошибок никто не застрахован, но сознательно встраивать в ПО какие-то лазейки они точно не будут.

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

Плагиата? Вряд ли, поскольку "украденный код" проще всего спрятать именно в закрытой программе.

Вирусописателей? Опять же, вряд ли - практика показывает, что закрытость кода им нисколько не мешает.

И получается, что либо открытые системы действительно безопасней, либо закрытие кода вызвано какими-то очень нетривиальными причинами, что заставляет обратится к теории заговора. Либо моя логика в чем-то неверна. И мне хотелось бы понять - в чем именно.
Колесов Андрей
Тут я давно не слежу за юридическими тонкостями, но декомпилировать код можно вполне не законных основаниях с целью его изучения. Более того, у пользователя есть право его модицифировать для решения собственных проблем.

Давно не занимался этими делами, но в конце 90х - это точно обсуждалось. Там была такая проблема: EXE-модули, написанные на Клиппере не работали на новых Интеловских процессорах, слишком быстрые. Нужно было увеличить счетчики с восьмиразрядных на шестнадцати (довольно условно говорю). Никаких исходников разумеется не было, как и сами компиляторов. Одно из решения проблемы - прямая замена серии байтов в EXE. Это было вполне законно.
Сергей
 На практике, в целях безопасности проверяют хеш-функции двоичного кода программ, которые
компилируют из заведомо проверенных исходников. Никто не будет для этих целей дезассемблировать код, а вот с целью изучения- пожалуйста. На самом деле нет никакой разницы в уровне безопасности двоичного кода СПО и ППО. Есть только свобода выбора.
В СПО, если нет доверия к откомпилированному продукту, пользователь может сам собрать его из изходников, а в ППО нет. А вот доверять или нет таким исходникам - пользователь решает сам. Здесь срабатывает психологическая составляющая -  >> "Хотя бы потому, что они могут быть подвергнуты независимой экспертизе и разработчики об этом знают."
Сергей Голубев
Здесь срабатывает психологическая составляющая - >> "Хотя бы потому, что они могут быть подвергнуты независимой экспертизе и разработчики об этом знают."

Анализ адекватности - сильное и эффективное оружие в руках СБ. :)