Что же позволяет говорить о Linux как о полноценной многофункциональной защищенной операционной системе?

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

Рост безопасности Linux

ОС Linux прошла долгий путь от любительской разработки до широко востребованной системы. Изначально в Linux были заложены основы безопасности, присущие Unix и давно ставшие стандартом для многопользовательских многозадачных информационных систем. Однако в современных условиях этого недостаточно. Бурный рост числа уязвимостей, ошибки в программах, взломы сайтов с дистрибутивами ПО привели к тому, что операционная система может быть скомпрометирована из-за единственной ошибки. Поэтому безопасностью Linux всерьез занялись исследовательские организации и крупные коммерческие компании.

Обширное атоматизированное тестирование программного обеспечения категории Open Source, проведенное компанией Coverity, позволило исправить тысячи ошибок. Помимо отладки существующего кода были предложены инновации в области безопасности. Например, широко используемым решением стала интеграция мандатного доступа в систему безопасности Unix в рамках проекта SELinux. Как результат современные Linux-системы полностью удовлетворяют требованиям, предъявляемым к защищенным компьютерным системам, обеспечивая поддержку соответствующих аппаратных средств безопасности, шифрования и т.п. Это особенно важно в связи с переходом к защищенным сетям.

Еще одним важнейшим шагом в обеспечении безопасности Linux стала сертификация операционной системы по международным и национальным стандартам безопасности.

Наиболее распространенные международные стандарты информационной безопасности объединяются под шапкой Общих критериев (Common Criteria), в разработке которых принимают участие представители более чем 20 стран. Эти стандарты принимаются в рамках организации ISO, а стандарт на критерий оценки носит название ISO/IEC 15408.

В Common Criteria безопасность операционных систем рассматривается по двум шкалам (см. рисунок): по функциональным возможностям (так называемые «профили защиты», Protection Profiles) и по соответствию спецификации («уровни доверия», Assurance Levels).

Для операционных систем наиболее распространены два профиля защиты – профиль контролируемого доступа (Controlled Access Protection Profile, CAPP) и более сложныйпрофиль меток доступа (Labeled Security Protection Profile, LSPP). Профиль CAPP формализует методы организации безопасности, известные начиная с Unix и до современных операционных систем, такие как многопользовательская работа, дискреционный метод доступа, методы парольной аутентификации и т.п. LSPP расширяет CAPP, добавляя мандатный доступ, многоуровневую безопасность и контроль за импортом и экспортом информации. Существуют и другие, менее распространенные профили защиты для операционных систем, например профиль управления доступом, основанный на ролях (Role-Based Access Control Protection Profile, RBACPP).

В рамках того или иного профиля защиты операционная система может быть сертифицирована на определенный – от первого до седьмого – оценочный уровень доверия (Evaluation Assurance Level, EAL). Каждый последующий уровень выдвигает более жесткие требования к методам разработки и тестирования операционной системы, управлению конфигурацией, дальнейшей поддержке системы и т.п. Начиная с четвертого уровня требуется частичное предоставление исходного кода. На седьмом уровне необходимо формальное математическое доказательство безопасности системы.

Процесс сертификации включает в себя проверку аппаратно-программной платформы на соответствие указанным требованиям, проведение тестирования и анализ методов разработки системы. Понятно, что наличие сертификации не гарантирует безопасности системы, но показывает, что она отвечает заданным требованиям к функциональности, процессу разработки и тестированию.

Сертификация Linux

Сертификация Linux и других программных систем категории Open Source ведется постоянно. Этой процедуре подвергаются и новые версии программ, и новое поддерживаемое аппаратное обеспечение. В 2002 году немецкая компания SUSE Linux начала работу по сертификации собственного дистрибутива согласно Common Criteria. Успех этой работы подстегнул других, и сегодня сертифицировано уже несколько дистрибутивов Linux (в первую очередь это разработки Red Hat и SUSE) на различные уровни доверия и профили защиты: EAL2+, 3+, 4+, CAPP, LSPP, RBACPP. Сертификация производилась на оборудовании HP, IBM, SGI и других производителей. Число аппаратных платформ, сертифицированных совместно с Linux, значительно опережает любые другие операционные системы (www.commoncriteriaportal.org/products_OS.html#OS).

В 2007 году была завершена сертификация Red Hat Enterprise Linux 5 по профилю LSPP, гарантирующему функциональность мандатного доступа, и четвертому оценочному уровню доверия. Это поставило Linux в один ряд со специализированными закрытыми операционными системами.

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

В Linux мандатный доступ был реализован и интегрирован в основное ядро системы в рамках проекта SELinux. Этот исследовательский проект, изначально разработанный в недрах Агентства национальной безопасности США (www.nsa.gov/research/selinux), был поддержан множеством разработчиков Linux по всему миру и интегрирован в основные дистрибутивы. SELinux позволяет задать политику безопасности как формальное описание допустимого поведения системы. При вызове любой системной функции производится стандартная для Linux проверка прав, а затем – проверка прав в SELinux. Таким образом могут быть разделены роли системного администратора и администратора безопасности, а каждый процесс работает строго в отведенных для него политикой безопасности рамках.

Сертификация Linux на четвертый оценочный уровень доверия означает, что эта операционная система методологически разработана, протестирована и верифицирована. Для того чтобы операционная система соответствовала этому уровню, инженерам IBM и Red Hat пришлось проделать много работы. Если программная часть была уже практически готова благодаря интеграции SELinux (вся работа сводилась к правильной конфигурации системы и доработке политик безопасности, интеграции последних возможностей защиты и аудита системы), то документацию, описывающую аспекты безопасной работы системы и процесс ее разработки и тестирования, предстояло создать. Совокупная документация, разработанная в рамках процесса сертификации, заняла более двух тысяч страниц. На сайте sourceforge.net размещается описание конфигурации и параметров среды для тестирования Linux на соответствие стандартам Common Criteria.

Проделанная работа оказалась исключительно важной еще и потому, что послужила оценкой методологии разработки открытого ПО для создания защищенных систем. Теперь можно утверждать, что принципы Open Source не только позволяют создавать системы высокого уровня защищенности, но и дают возможность верифицировать их работу.

Linux в России

В России существует два руководящих документа по сертификации безопасности систем: от ФСБ России и ФСТЭК. Первый носит название «Защита от несанкционированного доступа к информации», а сертифицированным системам присваивается уровень контроля от четвертого до первого согласно проведенным испытаниям. Так, уровень НДВ-4 достаточен для программного обеспечения, используемого при защите конфиденциальной информации. Сертификация систем на каждом из этих уровней подразумевает исследование исходных текстов, их компиляцию и сравнение с сертифицируемым образцом. Очевидно, что такое тестирование вряд ли может быть проведено для зарубежных закрытых коммерческих систем, ведь частичного предоставления исходного кода в тестирующую лабораторию в данном случае недостаточно: требуется также и вся сборочная среда.

Второй стандарт, документированный в ГОСТ Р ИСО/МЭК 15408-2002, носит название «Информационная технология. Методы обеспечения безопасности. Критерии оценки безопасности информационных технологий» и фактически является переводом международных стандартов Common Criteria.

В России также была проведена работа по сертификации Red Hat Enterprise Linux на соответствие отечественным стандартам безопасности. В период с 2006-го по 2008 год компаниями IBM и Red Hat были сертифицированы две версии дистрибутива RHEL 4 на всех линейках компьютерных систем IBM. Сертификация проводилась на уровни НДВ-4 и ОУД4+ (соответствует EAL4+) согласно руководящим документам по сертификации безопасности систем ФСБ и ФСТЭК соответственно. Исследованием безопасности систем занималась лаборатория Центра безопасности информации.

Несмотря на то что российский стандарт «Открытых критериев» основывается на международных стандартах Common Criteria, непосредственная проекция достигнутых результатов сертификации невозможна, поэтому всю исследовательскую работу и проверочное тестирование пришлось проводить заново, уже в отечественной лаборатории. В ходе тестирования первой версии дистрибутива RHEL 4 отечественным специалистам удалось выявить ряд недостатков, которые пришлось устранять с помощью дополнительного пакета программ. Нужно отметить, что это первая широко распространенная зарубежная операционная система, сертифицированная на такой высокий уровень доверия в нашей стране. И эта сертификация не могла быть проведена без доступа к исходным кодам системы и описанию процесса разработки.

Алексей Федосеев (alexey_fedoseev@ru.ibm.com) – специалист по решениям на базе ОС Linux компании IBM (Москва).


Примеры

В рамках проекта, инициированного правительством Великобритании, компании Belmin, IBM и Tresys обеспечили доступ муниципальных чиновников к личным данным граждан через Сеть, что потребовало создания специальной защищенной инфраструктуры. Все компоненты системы (Web-портал WebSphere, сервер баз данных DB/2, другие сервисы) были изолированы с помощью технологии SELinux.

Целью проекта развертывания ОС Linux на кораблях Морской пограничной службы США было создание среды, в которой авторизованные пользователи могли бы получать доступ к секретным данным. Терминалы компании Trusted Computer Solutions были интегрированы в защищенную среду SELinux.

Выбор Linux для этих проектов был определен низкой стоимостью решения. Задачи, которые раньше приходилось решать только с помощью дорогих специализированных операционных систем, стали доступны и через стандартные, недорогие системы.

В России к технологии SELinux еще только присматриваются, хотя сертифицированная версия Red Hat Linux все чаще устанавливается на предприятиях. В качестве примера можно привести Уральский государственный авиационно-технический университет, где система на базе сертифицированного варианта Linux используется для обучения студентов технологиям компьютерного моделирования.


Сертификация современных операционных систем на Common Criteria

Поделитесь материалом с коллегами и друзьями