Дистрибутивы Linux российских разработчиков оказались не подвержены уязвимостям в glibc

Открытое ПО Софт Свободное ПО Софт
мобильная версия
, Текст: Егор Гребнев
Недавно обнаруженные уязвимости в библиотеке glibc, используемой во всех дистрибутивах Linux, оказались не актуальны для проектов Openwall GNU/*/Linux и ALT Linux, возглавляемых российскими разработчиками.

На прошлой неделе эксперт по безопасности из Google Тэвис Орманди (Tavid Ormandy) опубликовал сведения о двух уязвимостях CVE-2010-3847 и CVE-2010-3856, обнаруженных им в библиотеке glibc, используемой во всех дистрибутивах Linux. Эти уязвимости позволяют простым пользователям, используя ошибки в реализации переменной LD_AUDIT, запустить произвольный код и приобрести права суперпользователя root.

В развернутом описании уязвимости Тэвис Орманди упомянул работу команды Openwall, возглавляемой российским разработчиком Александром Песляком: “Также направляю приветствия ребятам из openwall, которые предувидели эту проблему много лет назад. Они продолжают избегать сотен уязвимостей каждый год благодаря своему глубокому пониманию системной безопасности”.

В рамках проекта Openwall создается защищенный дистрибутив Openwall GNU/*/Linux (Owl), при разработке которого предпринимается последовательный аудит безопасности исходных текстов, а также осуществляются дополнительные меры в области безопасности.

“В случае Owl причин отсутствия уязвимостей как минимум две, каждой из которой было бы достаточно для такого отсутствия”, – комментирует Александр Песляк. По словам лидера Openwall, при разработке реализаций библиотеки libc и динамического линкера (ld.so, ld-linux.so и др.) постоянно происходит привнесение новых возможностей, а вместе с ними – новых ошибок и уязвимостей, которые в скором времени находятся и исправляются. В 2000 году был очередной “раунд” таких исправлений, однако было понятно, что усилий разработчиков glibc недостаточно, поэтому создатели Openwall приняли дополнительный аудит использования переменных окружения в glbic: “При этом целью аудита было не столько выявление уязвимостей, которые могли существовать уже на тот момент, сколько устранение неоправданных рисков (hardening). В результате в январе 2001 года, еще до выхода проекта Owl на публику, в дереве Owl уже появился патч к glibc, "охватывающий" все места использования переменных окружения в glibc”, – комментирует Александр Песляк.

Впоследствии разработчики Owl проводили аудит безопасности новых версий glibc вплоть до версии 2.3.6, в которой поддержка переменной LD_AUDIT еще не реализована. “Т.е. Owl не подвержена этим уязвимостям сразу по двум причинам – LD_AUDIT еще нет, а hardening уже есть”, – замечает Александр Песляк.

Аналогичные усовершенствования были реализованы в дистрибутиве ALT Linux: “В ALT Дмитрий Левин обновил патч дальше, вплоть до версии glibc 2.11.2, которая сейчас в Сизифе (основной репозиторий, на базе которого ведется создание дистрибутивов ALT Linux – прим. CNews). При этом исходники glibc подверглись проверке на новые случаи использования переменных окружения, аналогично тому как мы это делали в Owl, – поясняет лидер Openwall. – Переменная LD_AUDIT появилась, но с нашими изменениями опасности не представляла”.

Однако, по словам Александра Песляка, аудит безопасности – это не единственная причина, по которой выявленные Тэвисом Орманди уязвимости не представляют особой актуальности для пользователей российских дистрибутивов: “Дело в том, что в установке по умолчанию Owl-current сейчас нет ни одной SUID программы (программы, которые запускаются с привилегиями пользователя, обладающего более высоким уровнем прав доступа – прим. CNews). Благодаря нашим разработкам (pam_tcb, libnss_tcb и т.д.) и изменениям существующих программ (crontab, crond и т.д.), доступ с идентификаторами групп, даже если атакующий его получит, не может быть автоматически расширен до root-доступа или до доступа какого-либо другого пользователя. Соответственно, последствия такой атаки окажутся минимальными или и вовсе отсутствующими”, – говорит Александр Песляк.