Оценка оперативности устранения новых уязвимостей в BSD-системах
Директор подразделения компании IOActive, занимающегося тестированием систем безопасности, в докладе на конференции 34c3 привёл статистику, свидетельствующую о недостатке разработчиков, способных заниматься выявлением и исправлением ошибок в BSD-системах.
В ходе проведённого летом поверхностного аудита в ядрах трёх наиболее распространённых BSD-систем было выявлено 115 ошибок, потенциально приводящих к проблемам с безопасностью. 30 ошибок было найдено в ядре FreeBSD, 25 в OpenBSD и 60 в NetBSD. Спустя полгода после информирования разработчиков данных систем о проблемах, многие из ошибок остались неисправленными или не были доведены до пользователей.
Наиболее перспективной с точки зрения обеспечения безопасности называется ОС OpenBSD, ошибки в ядре которой были не столь тривиальны, а разработчики исправили ошибки в течение нескольких дней. Недостаток числа разработчиков в OpenBSD компенсируется оставлением только самой необходимой функциональности и внедрением прогрессивных методов противостояния эксплуатации уязвимостей.
Во FreeBSD разработчики отреагировали на проблемы в течение недели, но исправили в репозитории лишь часть проблем и выпустили лишь несколько отчётов об уязвимостях. Статус исправления остальных ошибок находится в неопределённом состоянии, так как разработчики посчитали, что для них отсутствуют практические пути эксплуатации и перенесли из категории проблем с безопасностью в область обычных ошибок.
Хуже всего обстоит дело с ОС NetBSD, качество кода которой очень разнородно, а время доставки исправлений слишком велико. Ошибки были исправлены за ночь, но были доведены до пользователей только через 6 месяцев из-за редкого формирования обновлений.
С учётом того, что многие из проблем лежали на поверхности и не потребовали больших усилий для их выявления, исследователь делает вывод, что небольшое число отчётов об уязвимостях в BSD системах говорит не об их безопасности, а о недостаточном числе разработчиков, заинтересованных в проведении аудита. Также отмечается слишком большое время жизни ошибок, от их появления в коде до обнаружения. По утверждению докладчика, большинство уязвимостей в ядре Linux выявляются достаточно оперативно. В BSD-системах ситуация иная и ряд выявленных исследователем проблем находились в коде 10 и более лет.
© OpenNet