Корниенко Б.Я., Галата Л.П., Даниленко А.С.

Национальный авиационный университет, Украина

Защита информации компьютерных сетей на базе операционной системы Unix

 

Несомненно, одна из важнейших задач системного администратора - обеспечивать безопасность системы. Многопользовательские системы, такие как UNIX, имеют некоторый базовый набор средств безопасности, однако обычно этого бывает недостаточно, и, чтобы построить и поддерживать безопасность системы на должном уровне, администратору приходится прикладывать некоторые усилия. Безопасность системы целиком и полностью находится в руках системного администратора. UNIX системы способны выполнять огромное число процессов одновременно, и многие из них являются серверами, то есть к ним можно обращаться извне. Сегодня уже никого не удивишь компьютером на рабочем столе, а с распространением и повсеместным внедрением в нашу жизнь сетевых технологий проблемы безопасности становятся первоочередными. Как устроена система защиты в UNIX-подобных операционных системах, её недостатки и приемущества, виды сетевых атак и средства борьбы с ними – во всём этом мы попытаемся разобраться в рамках этой работы.

К настоящему времени создано несколько десятков различных клонов ОС UNIX: AIX, BSD, HP/UX, Ultrix, SINIX, SVR4, SunOS, Solaris, LINUX и многие другие. ОС семейства UNIX широко используются в различных областях с повышенными требованиями к надежности функционирования системы. По своей идеологии они достаточно полно обеспечивают безопасность системы при помощи стандартных механизмов защиты. Достаточно отметить, что значительная часть реализаций ОС UNIX либо сертифицирована по классу безопасности С2 (или более высокому), либо совместима с ним (Под совместимостью в данном контексте подразумевается декларируемое производителем соответствие операционной системы требованиям данного класса безопасности). Среди всех сертифицированных в США операционных систем в настоящее время наиболее высокие классы безопасности имеют UNIX-подобные ОС XTS-300 STOP 4.За компании Wang Federal (класс безопасности ВЗ) и Trusted XENIX 4.0 компании Trusted Information Systems (класс безопасности В2).

ОС семейства UNIX значительно различаются по своей организации. Рассмотрим идеологию построения системы защиты в ОС семейства UNIX без подробного рассмотрения особенностей различных реализаций. Система безопасности ОС UNIX представляет собой комплекс механизмов, обеспечивающих:

-                       конфиденциальность - защиту ресурсов от несанкционированного доступа;

-                       целостность - защиту ресурсов системы от несанкционированного изменения;

-                       доступность - защиту от несанкционированного захвата и удержания ресурсов.

Стандартами на построение ОС семейства UNIX в значительной мере оговариваются подсистемы управления доступом, обеспечения целостности, регистрации и учета. Подсистема идентификации и аутентификации пользователя выполняет функции защиты от попыток НСД и обеспечения доступности ресурсов для зарегистрированных пользователей. Результатом ее работы является подготовленная для работы пользователя среда, защищаемая от несанкционированного изменения с помощью присвоенных процессам системы пользовательских и групповых идентификаторов и поставленных в соответствие значениям идентификаторов правил доступа к ресурсам системы [1-2].

Механизмы функционирования файловой системы ОС UNIX позволяют защитить ресурсы системы от несанкционированного доступа и изменения, основываясь на правах доступа к ним для разных классов пользователей и установленных на этапе подготовки среды значениях пользовательских и групповых идентификаторов процессов.

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

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

Для снятия этих ограничений традиционной многоуровневой модели мандатного контроля доступа, АНБ США (Агентство Национальной Безопасности, National Security Agency, NSA) в сотрудничестве с Secure Computing Corporation (SCC), начали исследования в направлении предоставления мандатного контроля доступа для широко распространённых операционных систем. Важной целью разработки была возможность поддержки различных политик безопасности, т.к. единственная политика, какой бы она ни была, не сможет удовлетворить всех потребностей. Эта цель была достигнута через чёткое разделение правил, составляющих политику, и механизма её проведения. Хотя доказательность уровня защиты не входила в цели разработки, для подтверждения свойств архитектуры были привлечены формальные методы. Точно также в цели разработки не входила оптимизация быстродействия, но были предприняты шаги в направлении уменьшения неизбежного падения производительности от введения мандатного контроля доступа.

Затем NSA и SCC  в сотрудничестве с Университетом штата Юта, а именно группой, занимавшейся ОС Fluke, занимались переносом разработанной архитектуры на данную ОС. В процессе переноса архитектура была ещё доработана с целью поддержки динамических политик безопасности. Полученная в итоге архитектура безопасности получила название Flask.

Последним шагом стала интеграция Flask в ОС Linux, в результате чего была получена Security-Enhanced Linux, или SELinux. Интеграция затронула ключевые подсистемы ядра Linux, включая добавление механизмов мандатного контроля доступа к процессам, файлам и сокетам. Присоединившаяся во время работы над портированием NAI Labs встроила поддержку мандатного контроля доступа в специальные файловые системы procfs и devpts. MITRE Corporation и SCC занимались разработкой политик безопасности и модификацией утилит.

Гибкость SELinux позволяет сконфигурировать систему на работу с несколькими политиками безопасности. В частности, архитектура поддерживает:

-                       политики разделения, позволяющие проводить требуемое законодательством разграничение данных, пользовательских ролей и ограничение доступа к секретным данным;

-                       политики изоляции и ограничения и сдерживания, полезные, например, для ограничения доступа веб-сервера только к авторизованным данным и ограничение ущерба от вирусов и другого злонамеренного кода;

-                       политики целостности, способные защитить данные и программный код от внесения неавторизованных изменений;

-                       политики запуска приложений, обеспечивающие надлежащие требования по обработке данных.

Література

1.    Корниенко Б.Я. Информационная безопасность и технологии компьютерных сетей : монография / Б.Я. Корниенко // ISBN 978-3-330-02028-3, LAMBERT Academic Publishing, Saarbrucken, Deutschland. − 2016. – 102 с.

2.    Корниенко Б.Я. Кибернетическая безопасностьоперационные системы и протоколы / Б.Я. Корниенко // ISBN 978-3-330-08397-4, LAMBERT Academic Publishing, Saarbrucken, Deutschland. − 2017. – 122 с.