Оценка рисков, связанных с уязвимостями в Red Hat Enterprise Linux 4
Марк Кокс (Mark J. Cox), возглавляющий команду, занимающуюся решением проблем безопасности в продуктах Red Hat, представил подробный отчет (PDF, 600 Кб) в котором представлен анализ уязвимостей, исправленных за шесть лет существования дистрибутива Red Hat Enterprise Linux 4. В отчете анализируется степень риска при игнорировании обновлений с устранением проблем безопасности и оценка влияния отдельных уязвимостей на защищенность системы.
Следует отметить две важных особенности, отличающих подход Red Hat от других вендоров. Во первых, в Red Hat критический статус присваивается не только проблемам, подверженным удаленным атакам, но и уязвимостям которые могут эксплуатироваться автоматически (например, в результате активности червей), а так же уязвимостям, которые могут привести к выполнению кода злоумышленника в процессе работы пользователя (например, уязвимости в web-браузерах). Во вторых, Red Hat заводит CVE-идентификаторы для всех без исключения узявимостей, не делая исключений для проблем, найденных собственными силами. Это существенно отличает Red Hat от таких компаний как Microsoft и Adobe, которые умалчивают информацию о проблемах безопасности, найденных в процессе внутреннего аудита, и придают огласке только уязвимости, информация о наличии которых поступила со стороны. Например, в последнем обновлении Flash-плеера было официально устранено 13 уязвимостей, хотя фактически было исправлено около 400 проблем безопасности.
Используемая в Red Hat политика полной открытости в области устранения уязвимостей, позволяет пользователям дистрибутива реально оценить имеющиеся риски, а не полагаться на случай, как происходит при использовании продуктов, уязвимости в которых исправляются скрыто. Следует отметить, что многие открытые проекты также практикуют скрытое устранение уязвимостей или, как ядро Linux, принципиально не делают отличий между проблемами влияющими на безопасность и исправлениями, устраняющих безобидные ошибки.
Отмечается, что в наборе пакетов, устанавливаемых по умолчанию в серверной редакции RHEL 4 AS, за всю историю было найдено 20 критических уязвимостей. При рассмотрении всех пакетов из репозитория RHEL 4 AS число критических уязвимостей составляет 252 (из них 227 - уязвимости в web-браузерах). В устанавливаемом по умолчанию наборе пакетов в редакции дистрибутива для настольных систем RHEL 4 AS в сумме найдено 247 уязвимостей.
Распределение критических ошибок по группам пакетов:
- Продукты Mozilla (Firefox, Mozilla, SeaMonkey, Thunderbird) - 194 (среднее время выхода обновления - в тот же день)
- Media Player Plugin (HelixPlayer) - 25 (среднее время выхода обновления - 21 день)
- Другие web-браузеры (Lynx, Links, KDE, Qt) - 8 (обновления вышли в день обнаружения проблемы)
- Другое ПО (Samba, Exim, Sendmail, Pidgin, kerberos, openssh, dhcp, ntp, evolution) - 25 (обновления вышли в день обнаружения проблемы)
Десять самых опасных приложений:
- firefox - 185 критических/34 опасных проблем;
- mozilla/seamonkey - 148/26
- thunderbird - 49/22
- ядро Linux - 0/154
- HelixPlayer - 25/0
- samba - 6/2
- cups - 0/34
- krb5 - 4/11
- kdegraphics - 0/31
- xpdf - 0/30
Некоторые выводы:
- 85% критических ошибок были исправлены не позднее чем через 1 день после публичного обнародования уязвимости;
- Для 80 уязвимостей в публичном доступе можно было найти готовый эксплоит, но для применения большинства из них требовалось изменение настроек по умолчанию или стимулирование пользователя к выполнению определенных действий. При этом удачное выполнение большого числа из данных эксплоитов блокировалось стандартными механизмами безопасности RHEL 4. 15 эксплоитов использовали ошибки в Linux-ядре, 22 - в web-браузерах, 8 - в PHP скриптах, 13 - в сетевых сервисах, остальные в пользовательских приложениях;
- Наиболее вероятным исходом использования готовых эксплоитов для неисправленной уязвимости является получения прав root локальным пользователем. Наиболее опасным признан эксплоит позволяющий удаленно получть root-доступ через почтовый сервер Exim;
- За историю существования дистрибутива RHEL4 зафиксировано два самораспространяющихся червя, но они поражали систему только через сторонние web-приложения на языке PHP, не входящие в репозитории RHEL;
- При использовании пользователями словарных паролей было зафиксировано несколько успешных "Brute force" атак, при которых пароли были подобраны через SSH.
- По данным Red Hat для 51.5% из всех исправленных в RHEL 4 уязвимостей изначально информация не была сразу публично обнародована разработчиками. Из них, в 25.1% случаях информация об уязвимости была получена из рук разработчиков проектов, которые предварительно уведомили дистрибутивы, до момента придания широкой огласки. В 16.3% случаев данные об уязвимостях были получены в процессе взаимодействия с вендорами (другими дистрибутивами). 5.5% проблем было выявлено сотрудниками Red Hat. В 4.6% случаях были получены иные виды уведомлений. В среднем данные по публично необнародованным уязвимостям стали известны общественности только через 23 дня после того, как работники Red Hat уже имели информацию об их наличии.
- 48.5% уязвимостей были исправлены после того как информация по ним была опубликована публично. При этом, данные по наличию таких уязвимостей в 24.8% случаев были получены из специализированных списков рассылки, 12.8% - получено уведомление от других вендоров (производителей других дистрибутивов), 6.3% - через CVE-уведомления, 2.8% - присланы иные уведомления, 1.7% - найдены сотрудниками Red Hat.
Дополнительно, могут представлять интерес два других отчета Red Hat. Доступен отчет об уязвимостях, исправленных за 6 месяцев после релиза RHEL 5.6, но до выхода релиза RHEL 5.7. За указанный период в пакетах, устанавливаемых по умолчанию, было найдено 109 уязвимостей (во всех пакетах - 172 уязвимости). Из опасных проблем отмечаются уязвимости в OpenJDK, Firefox, dhcp и glibc. Кроме того, представлен отчет с обзором наиболее опасных проблем безопасности за 2010 год, которым присвоен уровень опасности от 7 до 10. Большинство из упомянутых в отчете проблем найдены в ядре Linux. Также упомнянуты: openswan, openssh, systemtap, kvm, xorg-x11-serve, samba, cobbler, glibc, openssl и exim. Единственной проблемой, которой был присвоен 10 уровень опасности стала уязвимость в Kerberos 5.