15.9.16

7 гипотез об уязвимостях в ПО

Хочу продолжить начатую вчера тему про управление уязвимостями, но посмотреть на нее теперь с точки зрения производителя. Готовя вчерашний материал, я наткнулся на интересное исследование "An Empirical Analysis of Software Vendors’ Patching Behavior: Impact of Vulnerability Disclosure", которое базируется на изучении данных и статистики CERT/CC и SecurityFocus по уязвимостям. И хотя Университет Карнеги-Меллона, а именно его сотрудники являются авторами исследования, опубликовал его в 2006-м году, мне показалось, что озвученные в нем гипотезы имеют место быть и сейчас, спустя 10 лет с момента публикации.

Целью исследования было понять, как раскрытие информации об уязвимости, влияет на время ее устранения? К каким же выводам/гипотезам пришли авторы, проанализировавшие большое количество уязвимостей в самых популярных базах дыр того времени? Их несколько:

  1. Раскрытие информации об уязвимости снижает время на ее устранение.
  2. Крупные компании патчат свои продукты быстрее мелких.
  3. Критические уязвимости патчатся быстрее менее приоритетных.
  4. Публичные компании устраняют дыры в своих продуктах быстрее частных.
  5. Уязвимости, попавшие в прицел CERT/CC, устраняются быстрее опубликованных в других источниках.
  6. Уязвимости, раскрытые через CERT/CC, патчатся быстрее, чем дыры, опубликованные CERT/CC, но раскрытые ранее через иные источники.
  7. Мнение о том, что в open source продуктах уязвимости патчатся быстрее, чем в проприетарном ПО, не нашло подтверждения.
Все указанные гипотезы подтверждены в отчете цифрами, которые можно перепроверить самостоятельно.

Не могу сказать, что приведенные гипотезы открыли неизвестные миру истины. Скорее они подтвердили с цифрами в руках известные ранее предположения. Мне показались заслуживающими внимания 2-я и 4-я гипотезы. Они говорят о том, что небольшие игроки рынка, и уж тем более компании частные, менее зависимы от мнения окружающих и поэтому работают на поле устранения уязвимостей хуже их более публичных и более крупных "коллег".  Отсюда вытекает вывод, что у них процедура SDLC обычно выстроена гораздо хуже и соответственно уязвимостей в их решениях больше и устраняются они дольше (если вообще обнаруживаются).

Думаю, что я мог бы добавить сюда еще одну гипотезу - в продуктах крупных или широко известных компаний уязвимости ищутся чаще, чем в непопулярных или навязанных (например, законодательством) решениях. Именно ищутся, а не находятся. Почувствуйте разницу между этими двумя понятиями. Понятно, что на более популярные продукты усилия исследователей бросаются чаще и больше, чем на мало кому известное ПО и оборудование. Помогает этому и запускаемые некоторыми крупными игроками программы Bug Bounty.

Вывод, который делают авторы исследования, достаточно просто - раскрытие информации помогает рынку кибербезопасности. Я бы добавил сюда только одно - раскрытие с соблюдением определенного кодекса поведения или кодекса этики, если хотите. Но вспоминая, что упоминание этики у отдельных чудаков вызывает рвотный рефлекс и стойкую идиосинкразию, я не буду касаться этого вопроса. История рассудит, кто был прав. Я только напомню про список риторических вопросов, на которые каждый исследователь, решившийся раскрывать уязвимости, должен ответить сам себе.