***** 1 - Кафедра 36 Информационные системы и технологии

advertisement
Многоуровневое мандатное управление
доступом в многооконной графической среде
ОС класса Linux
Авторы:
к.т.н., доцент Д. В. Ефанов*
аспирант кафедры № 36 П. Г. Рощин
ФГУП «ЦНИИ ЭИСУ»
Москва, 2013
Постановка задачи
Графическая оболочка, в которой возможна
работа с конфиденциальной информацией
Визуализация
мандатных уровней
Средство запуска
приложений
с мандатным уровнем
Обеспечение мандатного
принципа управления
доступом
Контроль информационного взаимодействия Х-клиентов
с помощью системы мандатного управления доступом
2
SELinux в графической среде
SELinux
Linux с улучшенной безопасностью
гибкая система мандатного управления доступом
применяет разработанную заранее политику безопасности
Среда пользователя
Графические приложения
Среда рабочего стола
GNOME
Менеджер окон
Модули
аутентификации
Х-сервер
Ядро Linux
SELinux
Политики
безопасности
3
Визуализация контекстов безопасности с
помощью менеджера окон
Визуализация
уровней
Политики
безопасности
Запуск приложений
с мандатным уровнем
4
Схема работы механизма визуализации КБ
в менеджере окон
Визуализация
уровней
Политики
безопасности
Исходный код
менеджера окон
Дополнения
Механизм
управления
окнами
Получение
контекста
безопасности
от Х-сервера
Передача метки
Запуск приложений
с мандатным уровнем
Передача метки
Программный
интерфейс
X-сервера
Механизм
растеризации
рамок окон
Передача метки
Цвет рамки
Изменение
цвета рамки
окна
в зависимости
от метки
Файл настроек,
определяющий
цвет для
каждого
уровня
5
Разработка политик SELinux
Политики
безопасности
Визуализация
уровней
Запуск приложений
с мандатным уровнем
Механизм многоэкземплярности
Реализация системы защиты в Х-сервере, изменение политик для обеспечения совместимости
Создание модулей политик для графических приложений: панель, менеджер окон
Базовая политика SELinux
Политика
для панели
GNOME
Политика
для служб
GNOME
Методика разработки политик
SELinux для графических
приложений
РАМ — модуль аутентификации Linux
Политика для работы с
многоэкземплярностью
Механизм
многоэкземплярности
Политика для обеспечения работы Х-сервера
6
Механизм многоэкземплярности
Визуализация
уровней
Политики
безопасности
Реальные
директории
(полный
доступ)
user:Несекретноfile1
user:Секретно
file2
user:Сов. Секретноfile3
PAM
Модуль
namespace
Многоэкземплярные
директории
(минимальные
привилегии доступа)
/tmp
/tmp/tmp.inst
/var/tmp
/var/tmp/tmp.inst
/home/user
/home/user.inst
Разработка
конфигурационных
файлов
Доработка модуля
для работы с
SELinux
Запуск приложений
с мандатным уровнем
/tmp/tmp.inst/Несекретно/file1
Настройка политик
SELinux для
работы с РАМ
/var/tmp/tmp.inst/Секретно/file2
/home/user.inst/Сов. секретно/file3
7
Защищённый Х-сервер
Визуализация
уровней
Политики
безопасности
Запуск приложений
с мандатным уровнем
Управление информационными потоками на уровне сервера: буфер
обмена, межпроцессное взаимодействие
Контроль за снятием снимков экрана
Совершенно
секретно
Секретно
Несекретно
8
Разработка библиотеки для интеграции SELinux и
окружения пользователя
Визуализация
уровней
Запуск приложений
с мандатным уровнем
Политики
безопасности
Библиотека C-функций:
Перевод меток на русский язык
●Разбор текстовых меток
●Ориентированность на
многоуровневую среду
●
SELinux API
Библиотека GTK-функций:
Генератор графического интерфейса
выбора мандатной метки
●Функция получения метки от
пользователя
●
Поддержка языка Си
Поддержка языка Python
Большинство программ в Linux
разработаны на языке Си
Многие конфигурационные утилиты и
приложения написаны на Python
Преимущества:
Ускорение процесса разработки SELinux-ориентированных приложений
Уменьшение количества ошибок
Повышение качества кода
9
Программа для запуска
приложений с мандатной меткой
Визуализация
уровней
Политики
безопасности
Запуск приложений
с мандатным уровнем
Графический интерфейс,
осуществляющий запуск
пользовательских графических
приложений с произвольной
мандатной меткой, реализованый с
использованием системных
библиотек.
10
Результат работы программы
перевода мандатных меток
Визуализация
уровней
Политики
безопасности
Запуск приложений
с мандатным уровнем
Интеграция с Mcstrans —
системный администратор может
настроить правила перевода
символьного представления
уровней и категорий в обозначения,
понятные человеку
11
Схема работы механизма запуска
приложений
Визуализация
уровней
Запуск приложений
с мандатным уровнем
Политики
безопасности
Секретно
newrole
Новый
процесс
с меткой
программа для
запуска приложений
с мандатной меткой
Панель быстрого
запуска
приложений с
графическим
интерфейсом
SELinux API
Получение и
разбор текущей
метки пользователя
Составление метки
запуска
SELinux API
для GTK+
Перевод меток
на русский язык
Графический интерфейс
выбора метки приложения
Ввод данных пользователя (метка «Секретно»)
12
Тестирование
Для автоматизации некоторых процессов тестирования разработаны
собственные утилиты и модули.
Разработана система автоматического тестирования отдельных
модулей защиты операционной системы.
Корректность работы графических утилит проверяется вручную.
Разработаны следующие утилиты для тестирования:
setester — программа тестирования и отладки политик SELinux
sechecker — программа тестирования корректности работы мандатной
системы управления доступом
audit2setester — программа автоматизации разработки политик SELinux
В программу запуска приложений с мандатным уровнем дополнительно
добавлены модули для тестирования корректности работы меток
13
Заключение
Разработан метод настройки SELinux и разработки политик,
интегрированных с механизмом многоэкземплярности для обеспечения
изоляции и корректной работы графических приложений в защищённой
среде
Разработана готовая к использованию среда исполнения графических
приложений с мандатными уровнями и категориями
Реализован графический интерфейс управления мандатными метками
в виде библиотеки, которая позволяет унифицировать работу с
уровнями в операционной системе
Обеспечена графическая поддержка многоуровневой среды:
визуализация мандатных уровней и категорий, возможность запуска
графических приложений с заданной пользователем мандатной меткой
Дальнейшие усилия направлены на повышение удобства пользователя,
организацию контролируемого межпроцессного взаимодействия, а
также файловый менеджер, предназначенный для работы в
14
защищённой среде.
Спасибо за внимание!
15
Download