Файл: Защитные механизмы ОС Linux Ubuntu.pdf

ВУЗ: Не указан

Категория: Реферат

Дисциплина: Не указана

Добавлен: 07.07.2023

Просмотров: 602

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Smack

— модуль безопасности ядра Linux, который защищает данные и взаимодействие процессов от злонамеренных манипуляций с помощью набора настраиваемых правил обязательного контроля доступа (MAC) с простотой в качестве основной цели разработки. Он был официально добавлен в Linux 2.6.25, является основным механизмом контроля доступа в мобильной операционной системе MeeGo. А также используется для изолирования веб-приложений HTML5 в архитектуре Tizen, в коммерческой Wind River. Применяется для разработки встроенных устройств, в продуктах Philips Digital TV., и ОС Intel Ostro для устройств IoT.

С 2016 года Smack требуется во всех реализациях Linux автомобильного уровня (AGL), где он вместе с другими средствами Linux обеспечивает основу для инфраструктуры безопасности AGL.

Smack состоит из трех компонентов:

  • Модуль ядра, реализованный как модуль безопасности Linux. Лучше всего он работает с файловыми системами, поддерживающими расширенные атрибуты.
  • Сценарий запуска, который гарантирует, что файлы устройств имеют правильные атрибуты Smack, и загружает конфигурацию Smack.
  • Набор исправлений для пакета GNU Core Utilities, чтобы он знал о расширенных атрибутах файлов Smack. Также был создан набор патчей, похожих на Busybox. SMACK не требует поддержки пространства пользователя.

Smack критиковали за то, что он был написан как новый модуль LSM вместо политики безопасности SELinux, которая может обеспечивать эквивалентную функциональность. Такие политики SELinux предлагались, но не были продемонстрированы. Автор Smack ответил, что это будет непрактично из-за сложного синтаксиса конфигурации SELinux и философской разницы между Smack и SELinux.

Tomoyo Linux

— модуль безопасности ядра Linux, который реализует обязательный контроль доступа (MAC).

Tomoyo Linux - это реализация MAC для Linux, которую можно использовать для повышения безопасности системы, а также использовать исключительно как инструмент системного анализа. Он был запущен в марте 2003 года и до марта 2012 года спонсировался NTT Data Corporation.

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

Обеспечивает защиту от неизвестных уязвимостей, так называемых Zero-Day Exploit.

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


Основные особенности Tomoyo Linux

  • Системный анализ
  • Повышенная безопасность за счет обязательного контроля доступа
  • Автоматическая генерация политики
  • Простой синтаксис
  • Легкость использования

Так же имеется механизм безопасности ядра Linux — seccomp.

Seccomp обеспечивает возможность ограничивать набор доступных системных вызовов для приложений, а также с помощью механизма BPF (Berkeley Packet Filter) производить сложную фильтрацию вызовов и их аргументов. Впервые появился в ядре версии 2.6.12 в 2005 году.

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

Так же для повышения уровня безопасности Linux делится на уровни (кольца) безопасности, всего их 4 (отсчёт начинается с 0). 0 уровнем является Ядро операционной системы, на этом уровне предоставляется полный доступ ко всем ресурсам системы. Последним же 3-им уровнем является уровень приложения.

Ещё одним механизмом безопасности Ubuntu является cgroups.

Контрольная группа (cgroups)

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

Разработка была начата инженерами Google Полом Менэджем (Paul Menage) и Рохитом Сетом (Rohit Seth) в 2006 году и первоначально называлась «контейнеры процессов» (англ. process containers). В 2007 году проект был переименован в сgroups (от англ. control groups) по причине неоднозначности значения термина «контейнер» в ядре Linux.

Начиная с версии 2.6.24 ядра Linux технология включена в официальные версии ядра. С этого момента разработка значительно активизировалась, в механизм добавлено много дополнительных возможностей, механизм существенным образом используется в технологии инициализации systemd, а также является ключевым элементом в реализации системы виртуализации на уровне операционной системы LXC.


Одна из целей механизма — предоставить единый программный интерфейс к целому спектру средств управления процессами, начиная с контроля единичного процесса (таких как, например, утилита nice) вплоть до полной виртуализации на уровне системы (как у OpenVZ, Linux-VServer, LXC). Механизм предоставляет следующие возможности:

  • ограничение ресурсов (англ. resource limiting): использование памяти, в том числе виртуальной;
  • приоритизацию: разным группам можно выделить разное количество процессорного ресурса и пропускной способности подсистемы ввода-вывода;
  • учёт: подсчёт затрат тех либо иных ресурсов группой;
  • изоляцию: разделение пространств имён для групп таким образом, что одной группе недоступны процессы, сетевые соединения и файлы другой;
  • управление: приостановку (freezing) групп, создание контрольных точек (checkpointing) и их перезагрузку.

LXC

— система виртуализации на уровне операционной системы для запуска нескольких изолированных экземпляров операционной системы Linux на одном узле. LXC не использует виртуальные машины, а создаёт виртуальное окружение с собственным пространством процессов и сетевым стеком. Все экземпляры LXC используют один экземпляр ядра операционной системы.

Данная система сходна с OpenVZ и Linux-VServer для Linux, а также FreeBSD jail и Solaris Containers. LXC основана на технологии cgroups, входящей в ядро Linux, начиная с версии 2.6.29.

Основные разработчики — Даниэль Лескано (Daniel Lezcano), Серж Айюн (Serge Hallyn) и Стефан Грабе (Stéphane Graber).

Среди примеров использования — применение в PaaS-хостинге Heroku для изоляции динамических контейнеров (dynos). В проекте Docker разработаны компоненты, обеспечивающие LXC высокоуровневыми сервисами управления и развёртывания.

netfilter — межсетевой экран (брандмауэр), встроен в ядро Linux с версии 2.4.

Заключение

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

Благодаря активной поддержке сообщества и наибольшей клиентской базе, Ubuntu может получать исправления безопасности быстрее многих дистрибутивов, на ровне со специализированными корпоративными дистрибутивами, как RedHat Enterprise Linux (RHEL) и др.

Новые сферы применения Ubuntu, такие как интернет вещей (IoT), пограничные вычисления (edge computing), робототехника возлагают на данный дистрибутив дополнительные требования, связанные с организацией безопасности.