В Департаменте внутренней безопасности США завершено очередное
исследование открытого программного обеспечения. Согласно данным
исследования 180 наиболее используемых открытых программных продуктов,
в среднем на 1 000 строк программного кода приходится 1 ошибка или уязвимость безопасности, приводящая к угрозе атаки на систему или несанкционированному доступу.
Проект, получивший название Open SourceHardening Project, был инициирован и спонсирован американским
ведомством, однако проведен он был исследовательской компанией Coverity
и Стенфордским университетом. Проект стартовал к конце 2006 года и
обошелся в 300 000 долларов.
В заявлении Департамента говорится, что почти во всех проектах были
найдены ранее неизвестные ошибки, в том числе и критические. Всего же с
2006 года было проанализировано 50 млн строк кода, входящего в 250
проектов, а разработчики получили данные о 7 826 уязвимостях.
В компании Coverity также сообщили, что провели расширенное
тестирование 400 закрытых коммерческих продуктов по заказу
государственных органов и разработчиков этих продуктов, однако ни
госзаказчик, ни разработчики не дали прав на разглашение результатов
тестирования коммерческих продуктов.
Исследователи говорят, что многие открытые продукты прошли
несколько кругов тестирования, в результате которых количество ошибок
сокращалось, так как для них выпускались патчи. Несмотря на это, даже
после трех раундов тестирования, говорят в Coverity, осталось 11
популярных открытых продуктов, в которых по-прежнему присутствуют
уязвимости и ошибки. К таким продуктам исследователи отнесли Amanda,
NTP, OpenPAM, OpenVPN, Overdose, Perl, PHP, Postfix, Python, Samba и
TCL. Были найдены ошибки и в таких продуктах, как ядро Linux, Apache и
Firefox.
Однако, по словам Девида Максвела, аналитика Coverity, фактически
второй раунд тестирования означал максимально строгое тестирование, в
котором были использованы наиболее продвинутые механизмы
детектирвоания, в том числе различные предикативные методы и
эвристический анализ. Максвелл говорит, что в случае, если продукт
доходит до второго раунда, то фактически это означает пригодность этого
продукта к использованию в подавляющем большинстве сред.
Еще одной особенностью открытых программных продуктов стала
максимальная оперативность их создателей в исправлении ошибок. Так,
например программное обеспечение Samba содержит в себе около 450 000
строк кода, где за год было найдено 236 различных недочетов, 228 из
которых полностью устранены к завершению исследования.