Как совмещались выставки LinuxWorld и InfoSecurity: рынок Linux прирастает индустрией безопасности

Linux, операционная система с открытыми кодами, приобретает все большую популярность. Однако отечественный рынок вокруг Linux пока не сформировался. Его небольшие размеры бросались в глаза на недавней выставке LinuxWorld, всю экспозицию которой можно было охватить одним взглядом, хотя на ней присутствовали практически все ведущие игроки российского ИТ-рынка. Оставалось ощущение, что многое — если не все — держится на спонсорской поддержке корпорации IBM. Однако если расценивать выставку LinuxWorld как приложение к выставке InfoSecurity, которая проходила в том же месте и в то же время, то многое становится на свои места. Рынок Linux прирастает индустрией безопасности, а сама операционная система становится все более защищенной. Обеспечение безопасности и надежности работы приложений является ключевым фактором развития Linux-рынка.

В дистрибутивах Novell — серверном SLES 10 и настольном SLED 10 — используется разработанный Novell инструмент для защиты приложений AppArmor 2.0. Он также позволяет определить ресурсы операционной системы, доступные конкретному приложению

Разработчики дистрибутивов Linux стремятся сделать все, чтобы обезопасить своих клиентов. Для этого они интегрируют в продукты самые разнообразные механизмы защиты. Благо доступность исходных кодов это позволяет. Сейчас основным направлением развития средств защиты является внедрение экранов приложений, или Host Intrusion Prevention System. Такие элементы появляются и в Red Hat Enterprise Linux в виде механизмов защиты проекта SELinux, и в SUSE Linux Enterprise Server 10 в виде средства защиты приложений AppArmor. Оба эти механизма контролируют процесс взаимодействия приложений между собой и операционной системой. Они управляют поведением приложений на уровне системных вызовов, не давая им нарушить работу отдельных программ и операционной системы в целом. Разница между дистрибутивами состоит преимущественно в методах задания политики поведения приложений.

Компания Red Hat пошла по пути интеграции в свой дистрибутив механизмов SELinux (Security-Enhanced Linux), проекта, реализованного по инициативе американского Агентства национальной безопасности. SELinux создавали в соответствии с требованиями безопасности, которые предъявляют к программному обеспечению военные. Основным из этих требований является поддержка операционной системой механизмов мандатного управления доступом к ресурсам вычислительной системы. Традиционно в Unix-системах используется дискреционный контроль доступа, при котором права на чтение и запись файлов назначает его создатель или владелец. При использовании мандатного доступа права зависят от соотношения уровней секретности объекта и ресурса: читать можно только файлы с меньшей или равной секретностью, а писать — в более секретные или равные. Такой метод назначения прав доступа контролируется не пользователем, а администратором, определяющим уровни безопасности.

В ОС Linux полностью реализовать мандатный доступ невозможно: проблемы возникают в организации процедуры аутентификации и запуска приложений. Поэтому в SELinux он реализован лишь частично — в виде политик для отдельных приложений, то есть каждое приложение работает в собственном домене безопасности и использует только минимально необходимый набор ресурсов. Причем сетевым сервисам запрещается практически любое обращение к собственным ресурсам компьютера, а внутренние приложения, не имеющие связи с сетевыми сервисами, считаются доверенными, поэтому для них разрешено практически все. Тем не менее производители приложений вполне могут написать собственную политику минимальных полномочий. В частности, именно так поступили в IBM, разработав и опубликовав политику для ПО промежуточного слоя WebSphere. Эта защита автоматически устанавливается при инсталляции RHEL 4.

В дистрибутивах Novell — «серверном» варианте SLES 10 и «настольном» SLED 10 — используется разработанный самой компанией Novell инструмент для защиты приложений AppArmor 2.0. Он также позволяет определить ресурсы операционной системы, доступные конкретному приложению. Для этого предлагается использовать специальный конфигуратор, интегрированный с системой YaST. Для поставляемых в составе дистрибутива приложений компания самостоятельно определила необходимые им ресурсы. В Novell сделали ставку на упрощение разработки профилей безопасности приложений и их распространении по компьютерам предприятия.

Впрочем, в России уже есть и собственная реализация Linux с интегрированной мандатной системой управления доступом — это МСВС (Мобильная система Вооруженных сил). Она построена на основе исходных текстов Linux, однако разработчикам, по требованию армейских заказчиков, пришлось встроить в нее, по сути, все те же механизмы, которые сейчас только начинают использоваться в Linux.

Последняя версия МСВС — 3.0 — была выпущена еще в 2002 году и к сегодняшнему собрала все необходимые для работы в российских госорганах сертификаты. Ее разработчиками из Всероссийского научно-исследовательского института автоматизации управления в непромышленной сфере был также реализован мандатный доступ. Кроме того, разработчики МСВС уже тогда создали защиту от исполнимого стека, реализовали освобождение неиспользованной памяти и другие защитные механизмы, которые только сейчас начинают появляться в общедоступных версиях Linux. Эта операционная система работает на четырех платформах: Intel, MIPS, Sun SPARC и IBM S/390, хотя в случае необходимости может быть и на другие платформы. Впрочем, сейчас во ВНИИНС планируют заняться изданием сертифицированных версий RHEL.

Следует отметить, что использованные в RHEL и SLES защитные механизмы работают на уровне системных вызовов, которые, по сути, являются оболочкой к функциям ядра ОС. Однако в случае Linux у нападающих есть возможность напрямую обратиться к функциям ядра, фактически обойдя все описанные выше механизмы защиты. Это сложнее, чем использовать системные вызовы, однако именно так и пишется большинство вредоносного кода под эту операционную систему. При использовании МСВС такое прямое обращение к функциям операционной системы затруднено тем, что внешние злоумышленники имеют мало информации о ее внутренней структуре вызовов. Тем не менее появление подобных защитных механизмов в массовых дистрибутивах, какими являются RHEL и SLES, сделает платформу Linux еще более безопасной и надежной.