except_4
.pdf1.Основные свойства безопасной операционной системы. Основные принципы построения безопасных операционных систем.
Операционная система – совокупность управляемых программ, которые связывают устройства вычислительной системы и прикладные программы, а также позволяют управлять устройствами и вычислительными процессами, распределяя в том числе ресурсы между ними.
Базовое требование безопасной ОС – обеспечение безопасности информации.
1)Безопасная ОС должна гарантировать безопасное или доверенное выполнение небезопасных компонент (программ);
2)Стороннее ПО по определению небезопасно;
3)Функционал ядра – доверенный.
Построение безопасной ОС:
1)Надстройка существующих ОС:
a)Ядро не меняется;
b)Безопасность вносится через дополнительные модули + ПО;
c)При этом доступ через ядро не защищен;
2)Изменение существующих ядер;
3)Создание нового безопасного ядра.
Принципы безопасности ОС:
1)Иерархическая структура ОС;
2)Контроль и аудит всех действий пользователя;
3)Резервирование состояний процессов ядра;
4)Использование принципов ООП.
Нарушение конфиденциальности
Угроза
Нарушение целостности
Отказ в обслуживании
Безопасная
ОС
Рис. 1. Моднейшая схема
2.Стандарты информационной безопасности в области операционных систем. Оценка и сертификация операционных систем по требованиям безопасности информации
Cертификация продукциидеятельность по подтверждению соответствия продукции установленным требованиям.
Cертификат соответствия - документ, удостоверяющий соответствие объекта требованиям технических регламентов, положениям стандартов, сводов правил или условиям договоров.
Сертифицированным программным обеспечением является ПО, ранее прошедшее сертификацию, установленное, настроенное и сопровождаемое в соответствии с требованиями, также прошедшими сертификацию.
Закон РФ от 21.07.1993 N 5485-1 (ред. от 08.03.2015) "О государственной тайне" Настоящий Закон регулирует отношения, возникающие в связи с отнесением сведений к государственной тайне, их засекречиванием или рассекречиванием и защитой в интересах обеспечения безопасности Российской Федерации. В настоящее время существует три уровня секретности и соответствующие им грифы секретности: особой важности, совершенно секретные, секретные.
По каким требованиям должен быть сертифицирован продукт — ФСТЭК,
ФСБ, МО.
ФСТЭК –главный в области ОС. Орган назначает испытательную лабораторию.
РД ГТК (Руководящий документ Гостехкомиссии России) - Настоящий руководящий документ устанавливает классификацию автоматизированных систем (АС), подлежащих защите от несанкционированного доступа к информации, и требования по защите информации в АС различных классов. Руководящий документ разработан в дополнение ГОСТ 34.003-90, ГОСТ 34.601-90, РД 50-680-88, РД 50-34.680-90 и других документов.
Устанавливается четыре уровня контроля отсутствия недекларированных возможностей. (НДВ)
Самый высокий уровень контроля - первый, достаточен для ПО, используемого при защите информации с грифом «ОВ».
Второй уровень контроля достаточен для ПО, используемого при защите информации с грифом «CC».
Третий уровень контроля достаточен для ПО, используемого при защите информации с грифом «C».
Самый низкий уровень контроля - четвертый, достаточен для ПО, используемого при защите конфиденциальной информации .
"Оранжевая книга"(Trusted Computer System Evaluation Criteria -TCSEC)
(1983 -85 гг., разработано Мин. Обороной США) как оценочный стандарт поясняет
понятие безопасной системы, которая "управляет, с помощью соответствующих средств, доступом к информации так, что только должным образом авторизованные лица или процессы, действующие от их имени, получают право читать, записывать, создавать и удалять информацию".
Классы защищенности компьютерных систем по TCSEC:
Группа А. Верифицированная защита.
Данная группа характеризуется применением формальных методов верификации корректности работы механизмов управления доступом (дискреционного и мандатного). Требуется, чтобы было формально показано соответствие архитектуры и реализации ТСВ требованиям безопасности.
Группа В. Мандатное управление доступом. (В1, В2, В3)
Основные требования этой группы - мандатное (полномочное) управление доступом с использованием меток безопасности, реализация некоторой формальной модели политики безопасности, а также наличие спецификаций на функции ТСВ.
Группа С. Дискреционная защита (С1, С2)
Характеризуется наличием дискреционного управления доступом и аудитом действий субъектов.
Группа D. Минимальная защита.
Класс D. Минимальная защита. Класс D зарезервирован для тех систем, которые были представлены на сертификацию (оценку), но по какой-либо причине ее не прошли.
DAC-дискреционная модель доступа (discretionary access control) Она представляет собой комбинацию произвольного управления доступом (субъект-субъектная модель) и доступа на основе списков (ACL — Access Control Lists).
MAC (Mandatory access control) — мандатное управление доступом.
3. У |
|
. |
|
. Д |
|
|
|
|
|
|
|
|
UNIX |
Linux |
|
|
|
М |
М |
|
Linux: |
(DAC) – |
|
|
|
|
|
||
|
|
|
|
. Э |
|
|
|
|
|
, |
|
|
|
|
. |
, |
|
|
|
|
, |
|
. |
|
М |
, |
щ |
(ACL) – |
|
|
, |
. |
root |
|
|
|
|
|
|
|
|
|
|
|
|
, |
|
|
|
(MAC) – |
|
, |
|
|
|
|
|
: |
, |
|
|
, |
, |
. Э |
|
|
|
, |
. |
, SELinux. |
|
|
|
|
|
||
DAC |
|
|
|
. |
|
а |
|
а а а |
а а а, а а |
а |
а а |
. |
. |
|
|
|
|
|
|
|
|
|
П:
|
|
$ ls –al |
|
|
|
|
|
|
|
… |
|
|
|
|
|||||||
|
|
drwxr-xr-x 2 |
|
|
dale |
other |
|
|
|
|
|||||||||||
|
|
-rw-r----- |
1 |
|
dale |
admin … |
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
d/- |
r |
w |
|
x |
|
r |
|
- |
x |
r |
- |
x |
|
|
1 |
|
dale |
|
other |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Д екто |
я/ |
п а а пол |
о ателя |
п а а |
упп |
п а а о тал н |
|
|
|
пол о ател |
|
||||||||||
п о то |
а л |
|
|
|
уппа |
||||||||||||||||
( ладел |
|
а) |
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
И |
а |
|
а: |
|
|
|
chmod [u/g/o/a] [=+-] [r/w/x] |
айлы |
|||||
[u/g/o/a] – |
[ |
|
/ |
/ |
/ |
(=ugo)] |
[=+-] – [ |
|
/ |
/ |
] |
|
|
[r/w/x] – |
[ |
|
/ |
/ |
|
|
|
] |
|
|
|
|
|
|
||||||||
П |
: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
chmod ug=rw files |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
И |
|
а |
|
|
|
а: |
|
л ц[: |
|
|
а] |
айл |
|
|
|
|||||||
|
chown {-R} |
|
ла |
|
|
|
|
|
|
|||||||||||||
|
, |
|
|
|
|
|
|
|
|
|
|
|
|
|
: |
|
|
|
|
|
|
|
1) |
r – |
|
|
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
( |
|
||
|
w – |
|
|
|
, |
|
|
, |
|
|
|
|
|
|
|
|
||||||
2) |
|
|
|
|
|
|
|
|
|
|
|
|
|
; |
||||||||
3) |
x – |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
||
Ч |
--x – |
|
|
|
|
|
|
|
|
|
|
: |
|
|
|
|
|
|
|
|
|
|
1) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; |
|
|
|
|
|
||
2) |
-wx – |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
||
Ч |
--x – |
|
|
|
|
|
|
|
|
|
|
: |
|
|
|
|
|
|
|
|
||
1) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; |
|
|
|
||||
2) |
r-- – |
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
||
Ч |
--x – |
|
|
|
: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
1) |
|
|
|
|
|
|
|
|
|
|
|
|
; |
|
|
|
|
|
|
|||
2) |
-w- – |
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
SetUID, SetGID, sticky-bit. |
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
SUID |
|
|
|
|
SGID |
|
|
|
sticky-bit |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
|
r |
|
- |
|
s |
|
r |
|
- |
|
s |
r |
|
- |
t |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
U |
|
|
|
|
|
G |
|
|
|
|
|
O |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
file |
|
|
|
|
|
|
directory |
||
|
u + s |
|
|
|
|
|
|
|
З |
|
|
|
|
|
|
|
В |
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
g + s |
|
|
|
|
|
|
|
З |
|
|
|
|
|
|
|
|
( |
) |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
o + t |
|
|
|
|
|
|
( |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
) |
|
|
|
|
|
root |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5. Субъекты и объекты доступа в операционной системе. Атрибуты безопасности файла в ОС Linux. Хранение атрибутов безопасности.
Объект доступа
Объектом доступа (или объектом, или объектом контролируемого доступа)
называют часть информационной системы, доступ к которой может быть ограничен политикой безопасности. Каждый объект имеет уникальное имя,
отличающее его от других объектов в системе.
Как правило, объекты доступа имеют составную структуру. Например,
объект процесса операционной системы включает в себя регистры процессора, адресное пространство, глобальные переменные, стек, открытые файлы, кучу. С файлом ассоциированы дескриптор, указатель позиции, файловый буфер, режим доступа. Мультимедийный объект состоит из одного или нескольких
файлов, а также связанных настроек использования.
Субъект доступа
Субъектом доступа называют любую сущность, способную инициировать выполнение операций над объектами. В случае программного обеспечения субъектом доступа считается логический пользователь, от имени которого выполняются программные процессы. Конкретному физическому пользователю может соответствовать несколько субъектов доступа с разными уровнями доступа. Также существуют субъекты доступа, не соответствующие конкретным физическим пользователям, от имени которых выполняются системные процессы, например, выполнение действий по обслуживанию системы по расписанию.
Атрибуты безопасности файла в ОС Linux.
В Unix каждому файлу соответствует набор прав доступа, представленный в виде 9-ти битов режима. Он определяет, какие пользователи имеют право читать файл, записывать в него данные или выполнять его. Вместе с
другими тремя битами, влияющими на запуск исполняемых файлов, этот набор образует код режима доступа к файлу. Двенадцать битов режима хранятся в 16-битовом поле индексного дескриптора вместе с 4-мя дополнительными битами, определяющими тип файла. Последние 4 бита устанавливаются при создании файлов и не подлежат изменению.
Флаг использования трактуется по-разному в зависимости от типа файла. В случает простого файла он задаёт возможность исполнения файла, т.е. запуска
программы, содержащейся в этом файле. Для директории – это возможность доступа к файлам в этой директории
Таким образом, из своего каталога пользователь может удалить любой файл. А если запись в каталог разрешена всем, то любой пользователь сможет удалить в нём любой файл. Для избежания этой проблемы был добавлен ещё один бит в права доступа
каталога: бит навязчивости (sticky, t-бит). При его установке пользователь, имеющий доступ на запись в этот каталог, может изменять только собственные файлы.
Для разрешение подмены идентификатора пользователя применяется бит подмены идентификатора пользова теля (set user id, suid-бит, s). Этот бит применяется совместно с битом исполнения (x) для обычных файлов. При установке этого бита на исполняемый файл процесс запускается от имени владельца, а не от имени запускаеющего пользователя
Хранение атрибутов безопасности.
Атрибуты файла хранятся внутри айнода.
Хранение расширенных атрибутов в структуре inode. К расширенным атрибутам относятся списки контроля доступа ACL, атрибуты SELinux и другие. Атрибуты, для которых недостаточно места в структуре inode, хранятся в отдельном блоке размером 4 KB.
6. Субъекты и объекты доступа в операционной системе. Атрибуты безопасности процесса. Хранение атрибутов безопасности. Жизненный цикл процесса. Состояния процесса. Выполнение процесса в режиме ядра и в режиме пользователя.
Объект доступа – элемент ОС, к которому осуществляется доступ (файлы). Субъект доступа – сущность, которая осуществляет доступ (процессы). Процесс – экземпляр запущенной, выполняемой программы. Состоит из адресного пространства выделенной памяти, параметров безопасности, потоков выполнения программного кода, состояния.
Важные атрибуты процессов:
Process ID (PID): число, которое однозначно определяет процесс в системе (0, 1 и 2 – специальные системные процессы)
Данные и сегменты стека: информация о виртуальной памяти процесса
исопоставление виртуальной памяти с физическим ресурсом.
Идентификаторы пользователей и групп (UID и GID): реальный и эффективный UID и GID (обычно реальный = эффективный, но в некоторых случаях различны).
Терминал (TTY): терминал, с которого запущен процесс
В ядре процесс представлен в виде структуры
(дескриптор процесса).
Жизненный цикл процесса
Все новые процессы в Linux порождаются клонированием какого-то уже имеющегося процесса, с
помощью вызова системных функций clone() и fork(). Первый процесс запускается при инициализации ядра (процесс init, PID = 1).
Этапы запуска создания нового процесса:
1)Процесс /bin/bash клонирует себя системным вызовом fork()
2)При этом создается клон /bin/bash с новым PID и PPID
3)Клон выполняет системный вызов exec() с указанием на исполняемый файл и заменяет свой код - кодом исполняемого файла (родительский процесс при этом ждет завершения потомка - wait)
4)Если процесс завершил свою работу, а родительский процесс не смог получить об этом сигнал, то процесс не освобождает занятые структуры ядра и состояние процесса становиться - zombie.
Состояния процесса
название |
флаг |
Описание |
Running |
R |
процесс либо выполняется, либо ждет выполнения |
Sleeping |
S |
процесс ждет выполнения некоторых условий и |
|
|
возвращается к Running |
|
D |
процесс ждет определенного сигнала от аппаратной |
|
|
части (работа с диском) |
|
K |
состоянию D + реагирует на сигнал завершения |
|
|
процесса |
Stopped |
T |
процесс остановлен пользователем или трассируется |
Zombie |
Z |
процесс, выполнение которого завершилось, но |
|
|
относящиеся к нему структуры ядра не освобождены |
|
X |
процесс полностью уничтожается (освобождение |
|
|
ресурсов) |
Выполнение процесса
в режиме ядра процесс выполняет системные инструкции ядра
в режиме пользователя процесс выполняет прикладные инструкции пользователя
ps - выводит информацию о процессах: PID, TTY, TIME, COMMAND ps -e – выводит информацию обо всех процессах
ps j – выводит информацию о процессах: PPID, PID, TTY, STATE, UID, COMMAND и др.