Как совмещались выставки 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 еще более безопасной и надежной.