АУДИТ СИСТЕМНОЙ БЕЗОПАСНОСТИ ОС LINUX
|
ВВЕДЕНИЕ 4
ГЛАВА 1. ШТАТНЫЕ СРЕДСТВА БЕЗОПАСНОСТИ ОС LINUX 6
1.1. Базовая система контроля доступа в Linux 6
1.2. Списки контроля доступа ACL 9
1.3. Механизм Linux Security Modules 11
1.4. Система контроля доступа SELinux 11
1.5. Система безопасности Novell AppArmor 13
1.6. Механизм Capabilities 16
ГЛАВА 2. АУДИТ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ 18
2.1. Общие положения 18
2.1.1. Понятие аудита 18
2.1.2. Цели проведения аудита 19
2.1.3. Классификации аудита 19
2.2. Практические подходы к проведению аудита 22
2.2.1 Аудит на основе анализа рисков 22
2.2.2 Аудит на основе анализа стандартов информационной
безопасности 23
2.2.3 Комбинирование анализа рисков и стандартов 25
2.3 Средство аудита событий информационной безопасности auditd 25
ГЛАВА 3. УЯЗВИМОСТИ ПОДСИСТЕМ БЕЗОПАСНОСТИ ОС LINUX ... 29
3.1. Проблемы дискреционной системы контроля доступа 29
3.1.1. Проверка настроек базовой системы контроля доступа 29
3.1.2. Уязвимости списков ACL 34
3.2. Проблемы мандатной системы контроля доступа 35
3.2.1. Настройки SELinux 36
3.2.2. Проверка настроек AppArmor 39
3.3. Уязвимости механизма Capabilities 41
ГЛАВА 4. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ДЛЯ ПРОВЕДЕНИЯ АУДИТА СИСТЕМНОЙ БЕЗОПАСНОСТИ ОС LINUX 42
4.1. Структура программного обеспечения 42
4.1.1. Общая структура 42
4.1.2. Модуль аудита базовой СКД 43
4.1.3. Модуль аудита списков ACL 44
4.1.4. Модуль аудита системы SELinux 45
4.1.5. Модуль аудита системы AppArmor 46
4.1.6. Модуль аудита механизма capabilities 46
4.2. Взаимодействие пользователя с программным обеспечением 46
4.2.1. Запуск программы 47
4.2.2. Проведение аудита 47
ЗАКЛЮЧЕНИЕ 54
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 55
ПРИЛОЖЕНИЕ
ГЛАВА 1. ШТАТНЫЕ СРЕДСТВА БЕЗОПАСНОСТИ ОС LINUX 6
1.1. Базовая система контроля доступа в Linux 6
1.2. Списки контроля доступа ACL 9
1.3. Механизм Linux Security Modules 11
1.4. Система контроля доступа SELinux 11
1.5. Система безопасности Novell AppArmor 13
1.6. Механизм Capabilities 16
ГЛАВА 2. АУДИТ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ 18
2.1. Общие положения 18
2.1.1. Понятие аудита 18
2.1.2. Цели проведения аудита 19
2.1.3. Классификации аудита 19
2.2. Практические подходы к проведению аудита 22
2.2.1 Аудит на основе анализа рисков 22
2.2.2 Аудит на основе анализа стандартов информационной
безопасности 23
2.2.3 Комбинирование анализа рисков и стандартов 25
2.3 Средство аудита событий информационной безопасности auditd 25
ГЛАВА 3. УЯЗВИМОСТИ ПОДСИСТЕМ БЕЗОПАСНОСТИ ОС LINUX ... 29
3.1. Проблемы дискреционной системы контроля доступа 29
3.1.1. Проверка настроек базовой системы контроля доступа 29
3.1.2. Уязвимости списков ACL 34
3.2. Проблемы мандатной системы контроля доступа 35
3.2.1. Настройки SELinux 36
3.2.2. Проверка настроек AppArmor 39
3.3. Уязвимости механизма Capabilities 41
ГЛАВА 4. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ДЛЯ ПРОВЕДЕНИЯ АУДИТА СИСТЕМНОЙ БЕЗОПАСНОСТИ ОС LINUX 42
4.1. Структура программного обеспечения 42
4.1.1. Общая структура 42
4.1.2. Модуль аудита базовой СКД 43
4.1.3. Модуль аудита списков ACL 44
4.1.4. Модуль аудита системы SELinux 45
4.1.5. Модуль аудита системы AppArmor 46
4.1.6. Модуль аудита механизма capabilities 46
4.2. Взаимодействие пользователя с программным обеспечением 46
4.2.1. Запуск программы 47
4.2.2. Проведение аудита 47
ЗАКЛЮЧЕНИЕ 54
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 55
ПРИЛОЖЕНИЕ
В настоящее время информационные системы (ИС) являются одним из важнейших факторов обеспечения эффективности работы как коммерческих, так и государственных организаций. Широкое использование ИС обусловлено простотой и удобством обращения относительно традиционных способов взаимодействия с информацией. Легко увидеть, что по причине повсеместного внедрения и распространения ИС для задач хранения, обработки и передачи информации, актуальность защиты ИС является важной задачей на каждом предприятии, где она внедрена. Аудит безопасности осуществляет объективную оценку уровня защищенности ИС, что является одним из ключевых параметров для построения и модернизации средств защиты информации в ИС.
Неотъемлемой частью ИС являются операционные системы, установленные на ЭВМ, являющихся частью информационной системы, и которые предоставляют инструментарий для работы с информационным ресурсом ЭВМ. В настоящее время наиболее известными являются два семейства операционных систем - Windows и UNIX-подобные системы. Наиболее популярным свободным UNIX-подобным ядром является ядро Linux, на основе которого создано множество операционных систем, объединенных в семейство Linux. При этом система Windows шире распространена в пользовательской среде для решения прикладных задач, а ОС семейства Linux чаще используются на серверных машинах или на ЭВМ, выполняющих производственные задачи.
Для нормальной работы предприятия важно своевременно находить и осуществлять эффективное реагирование на найденные уязвимости ИС - слабые места системы, с помощью которых можно нарушить конфиденциальность, целостность и доступность информационных ресурсов. Для нахождения таких слабых мест используются специальные прикладные программы - сканеры уязвимостей и средства аудита. Использование таких программ оказывает неоценимую помощь в обеспечении информационной безопасности автоматизированной системы.
Также крайне важно осуществлять мониторинг средств защиты информации в автоматизированной системе на предмет правильной их организации и функционирования.
Штатным средством аудита в ОС Linux является утилита auditd. Главным механизмом ее работы является отслеживание системных вызовов. Это подразумевает в качестве результата определение факта реализации (или попытки реализации) существующей в системе угрозы, но до этого момента наличие угроз остается незамеченным со стороны средства аудита. Поэтому является актуальным создание средства аудита, которое будет находить уязвимости в системе, которые могут привести к нарушению
информационной безопасности. Такое средство позволит получить возможность устранить угрозы ИБ до их реализации.
Целью дипломной работы является разработка программного обеспечения для проведения аудита информационной безопасности операционных систем семейства Linux.
Для достижения цели необходимо решить следующие задачи:
1. Анализ подсистем ОС семейства Linux, требующих аудита с целью выявления возможных уязвимостей.
2. Обзор существующих средств и классификация методов проведения аудита.
3. Изучение системы разработки приложений на основе сценариев Tcl/Tk.
4. Создание программного обеспечения для проведения аудита безопасности ОС семейства Linux.
5. Тестирование разработанного ПО, сравнение его работы со штатными средствами аудита.
Неотъемлемой частью ИС являются операционные системы, установленные на ЭВМ, являющихся частью информационной системы, и которые предоставляют инструментарий для работы с информационным ресурсом ЭВМ. В настоящее время наиболее известными являются два семейства операционных систем - Windows и UNIX-подобные системы. Наиболее популярным свободным UNIX-подобным ядром является ядро Linux, на основе которого создано множество операционных систем, объединенных в семейство Linux. При этом система Windows шире распространена в пользовательской среде для решения прикладных задач, а ОС семейства Linux чаще используются на серверных машинах или на ЭВМ, выполняющих производственные задачи.
Для нормальной работы предприятия важно своевременно находить и осуществлять эффективное реагирование на найденные уязвимости ИС - слабые места системы, с помощью которых можно нарушить конфиденциальность, целостность и доступность информационных ресурсов. Для нахождения таких слабых мест используются специальные прикладные программы - сканеры уязвимостей и средства аудита. Использование таких программ оказывает неоценимую помощь в обеспечении информационной безопасности автоматизированной системы.
Также крайне важно осуществлять мониторинг средств защиты информации в автоматизированной системе на предмет правильной их организации и функционирования.
Штатным средством аудита в ОС Linux является утилита auditd. Главным механизмом ее работы является отслеживание системных вызовов. Это подразумевает в качестве результата определение факта реализации (или попытки реализации) существующей в системе угрозы, но до этого момента наличие угроз остается незамеченным со стороны средства аудита. Поэтому является актуальным создание средства аудита, которое будет находить уязвимости в системе, которые могут привести к нарушению
информационной безопасности. Такое средство позволит получить возможность устранить угрозы ИБ до их реализации.
Целью дипломной работы является разработка программного обеспечения для проведения аудита информационной безопасности операционных систем семейства Linux.
Для достижения цели необходимо решить следующие задачи:
1. Анализ подсистем ОС семейства Linux, требующих аудита с целью выявления возможных уязвимостей.
2. Обзор существующих средств и классификация методов проведения аудита.
3. Изучение системы разработки приложений на основе сценариев Tcl/Tk.
4. Создание программного обеспечения для проведения аудита безопасности ОС семейства Linux.
5. Тестирование разработанного ПО, сравнение его работы со штатными средствами аудита.
1. Проведен анализ подсистем ОС Linux, требующих аудита с целью выявления возможных уязвимостей. Рассмотрены дискреционная система контроля доступа, включая базовую СКД и списки ACL, мандатная СКД SELinux и система AppArmor, а также механизм Capabilities.
2. Проведен обзор понятия аудита информационной безопасности, а также приведена классификация методов его проведения.
3. Разработано программное обеспечение для проведения аудита информационной безопасности ОС Linux с применением языка сценариев Tcl/Tk, выполняющее аудит следующих подсистем:
а) базовая СКД: поиск файлов с определенными правами доступа, с неверными владельцами, проверка прав системных файлов;
б) списки ACL: проверка корректности установленных прав ACL;
в) SELinux: проверка контекстов SELinux для файлов и процессов, политик для приложений и сетевых портов;
г) AppArmor: проверка основных профилей AppArmor, поиск процессов без защиты AppArmor;
д) механизм Capabilities: поиск файлов с правами, расширенными с помощью механизма.
По каждой из подсистем генерируется отчет об аудите в текстовом виде. Предусмотрено наглядное выделение результата в зависимости от успешности прохождения проверки.
4. Для проверки разработанного ПО в тестовом дистрибутиве ОС Linux openSUSE Leap 15.0 был искусственно создан ряд уязвимостей, которые были подвергнуты проверке. Среди них неверные права доступа по механизмам базовой СКД и списков ACL для файлов разного типа, неверные установки контекстов и политик SELinux, а также профилей AppArmor. Программа успешно определила все уязвимости и составила корректный отчет.
2. Проведен обзор понятия аудита информационной безопасности, а также приведена классификация методов его проведения.
3. Разработано программное обеспечение для проведения аудита информационной безопасности ОС Linux с применением языка сценариев Tcl/Tk, выполняющее аудит следующих подсистем:
а) базовая СКД: поиск файлов с определенными правами доступа, с неверными владельцами, проверка прав системных файлов;
б) списки ACL: проверка корректности установленных прав ACL;
в) SELinux: проверка контекстов SELinux для файлов и процессов, политик для приложений и сетевых портов;
г) AppArmor: проверка основных профилей AppArmor, поиск процессов без защиты AppArmor;
д) механизм Capabilities: поиск файлов с правами, расширенными с помощью механизма.
По каждой из подсистем генерируется отчет об аудите в текстовом виде. Предусмотрено наглядное выделение результата в зависимости от успешности прохождения проверки.
4. Для проверки разработанного ПО в тестовом дистрибутиве ОС Linux openSUSE Leap 15.0 был искусственно создан ряд уязвимостей, которые были подвергнуты проверке. Среди них неверные права доступа по механизмам базовой СКД и списков ACL для файлов разного типа, неверные установки контекстов и политик SELinux, а также профилей AppArmor. Программа успешно определила все уязвимости и составила корректный отчет.



