Безопасность программного обеспечения с открытым исходным кодом
Безопасность программного обеспечения с открытым исходным кодом — это мера уверенности или гарантии свободы от опасностей и рисков, присущих системе программного обеспечения с открытым исходным кодом .
Дебаты по поводу реализации [ править ]
Преимущества [ править ]
- Несвободное программное обеспечение вынуждает пользователя принять тот уровень безопасности, который готов предоставить поставщик программного обеспечения, а также скорость выпуска исправлений и обновлений. [1]
- продемонстрировал Предполагается, что любой используемый компилятор создает код, которому можно доверять, но Кен Томпсон , что компилятор можно подорвать, используя бэкдор компилятора, для создания ошибочных исполняемых файлов, которые невольно создаются разработчиком с благими намерениями. [2] Имея доступ к исходному коду компилятора, разработчик имеет, по крайней мере, возможность обнаружить злой умысел.
- Принцип Керкхоффса основан на идее, что враг может украсть безопасную военную систему и не иметь возможности скомпрометировать информацию. Его идеи легли в основу многих современных практик обеспечения безопасности, и из них следовало, что безопасность посредством неясности — это плохая практика. [3]
Недостатки [ править ]
- Простое предоставление исходного кода не гарантирует проверку. Примером этого может служить случай, когда Маркус Ранум , эксперт по проектированию и внедрению систем безопасности, выпустил свой первый общедоступный набор инструментов для межсетевого экрана. В свое время его инструментарий использовали более 2000 сайтов, но только 10 человек оставили ему какие-либо отзывы или исправления. [4]
- Наличие большого количества глаз, просматривающих код, может «убаюкать пользователя ложным чувством безопасности». [5] Наличие большого количества пользователей, просматривающих исходный код, не гарантирует, что недостатки безопасности будут обнаружены и исправлены.
Метрики и модели [ править ]
Существует множество моделей и показателей для измерения безопасности системы. Это несколько методов, которые можно использовать для измерения безопасности программных систем.
Количество дней между уязвимостями [ править ]
Утверждается, что система становится наиболее уязвимой после того, как обнаружена потенциальная уязвимость, но до того, как будет создан патч. Измеряя количество дней между появлением уязвимости и моментом ее устранения, можно определить основу безопасности системы. У такого подхода есть несколько предостережений: не все уязвимости одинаково опасны, и быстрое исправление большого количества ошибок не может быть лучше, чем просто найти несколько и потратить немного больше времени на их исправление, принимая во внимание операционную систему. или эффективность исправления. [2]
Пуассоновский процесс [ править ]
Процесс Пуассона можно использовать для измерения скорости, с которой разные люди находят недостатки безопасности в программном обеспечении с открытым и закрытым исходным кодом. Процесс можно разбить по количеству добровольцев N v и платных рецензентов N p . Частота, с которой добровольцы находят недостатки, измеряется λ v , а частота, с которой платные рецензенты находят недостатки, измеряется λ p . Ожидаемое время, в течение которого группа добровольцев должна обнаружить недостаток, составляет 1/(N v λ v ), а ожидаемое время, в течение которого группа добровольцев должна найти недостаток, составляет 1/(N p λ p ). [2]
Модель Морнингстар [ править ]
Сравнивая большое количество проектов с открытым и закрытым исходным кодом, можно использовать звездную систему для анализа безопасности проекта, аналогично тому, как Morningstar, Inc. оценивает взаимные фонды. Имея достаточно большой набор данных, можно использовать статистику для измерения общей эффективности одной группы по сравнению с другой. Пример такой системы следующий: [6]
- 1 звезда: множество уязвимостей безопасности.
- 2 звезды: проблемы с надежностью.
- 3 звезды: следует лучшим практикам безопасности.
- 4 звезды: Документированный безопасный процесс разработки.
- 5 звезд: пройдена независимая проверка безопасности.
Сканирование покрытия [ править ]
Coverity в сотрудничестве со Стэнфордским университетом установила новую основу для качества и безопасности открытого исходного кода. Разработка осуществляется по контракту с Министерством внутренней безопасности. Они используют инновации в области автоматического обнаружения дефектов для выявления критических типов ошибок, обнаруженных в программном обеспечении. [7] Уровень качества и безопасности измеряется в ступенях. Ступеньки не имеют определенного значения и могут меняться по мере выпуска новых инструментов Coverity. Ступени основаны на ходе устранения проблем, обнаруженных по результатам анализа Coverity, и степени сотрудничества с Coverity. [8] Они начинаются с ранга 0 и в настоящее время доходят до ранга 2.
- Ранг 0
Проект был проанализирован инфраструктурой сканирования Coverity, но ни один представитель программного обеспечения с открытым исходным кодом не сообщил о результатах. [8]
- Ранг 1
На ступени 1 происходит сотрудничество между Coverity и командой разработчиков. Программное обеспечение анализируется с использованием подмножества функций сканирования, чтобы не перегружать команду разработчиков. [8]
- Ранг 2
11 проектов были проанализированы и повышены до статуса ранга 2, достигнув нулевого уровня дефектов в первый год сканирования. В число этих проектов входят: AMANDA, ntp , OpenPAM , OpenVPN , Overdose, Perl , PHP , Postfix , Python , Samba и tcl . [8]
См. также [ править ]
Ссылки [ править ]
- ^ Коуэн, К. (январь 2003 г.). Безопасность программного обеспечения для систем с открытым исходным кодом. Безопасность и конфиденциальность IEEE, 38–45. Получено 5 мая 2008 г. из цифровой библиотеки IEEE Computer Society.
- ^ Jump up to: Перейти обратно: а б с Виттен Б., Ландвер К. и Калояннидес М. (2001 г., сентябрь/октябрь). Повышает ли открытый исходный код безопасность системы? Программное обеспечение IEEE , 57–61. Получено 5 мая 2008 г. из компьютерной базы данных.
- ^ Хоепман, Дж.-Х., и Джейкобс, Б. (2007). Повышенная безопасность благодаря открытому исходному коду. Сообщения ACM, 50 (1), 79–83. Получено 5 мая 2008 г. из цифровой библиотеки ACM.
- ^ Лоутон, Г. (март 2002 г.). Безопасность с открытым исходным кодом: возможность или оксюморон? Компьютер, 18–21. Получено 5 мая 2008 г. из цифровой библиотеки IEEE Computer Society.
- ^ Хансен М., Кёнтопп К. и Пфицманн А. (2002). Подход с открытым исходным кодом – возможности и ограничения в отношении безопасности и конфиденциальности. Компьютеры и безопасность, 21 (5), 461–471. Получено 5 мая 2008 г. из компьютерной базы данных.
- ↑ Петерсон, Г. (6 мая 2008 г.). Определение правильных показателей безопасности программного обеспечения . Получено 18 мая 2008 г. из Raindrop.
- ^ Покрытие. (без даты). Ускорение качества открытого исходного кода. Архивировано 5 марта 2016 г. на Wayback Machine . Получено 18 мая 2008 г. с сайта Scan.Coverity.com.
- ^ Jump up to: Перейти обратно: а б с д Покрытие. (без даты). Часто задаваемые вопросы по Scan Ladder. Архивировано 6 марта 2016 г. на Wayback Machine . Получено 18 мая 2008 г. с сайта Scan.Coverity.com.
Внешние ссылки [ править ]
- Брюс Шнайер : «Открытый исходный код и безопасность» , Информационный бюллетень Crypto-Gram , 15 сентября 1999 г.
- Мессмер, Эллен. (2013). «Безопасность программного обеспечения с открытым исходным кодом снова подвергается тщательному анализу» . Сетевой Мир , 30(5), 12-12,14. ( Статья в журнале CIO )
- Проект переписи населения / Инициатива основной инфраструктуры Foundation Linux