Безопасность компьютерных систем
Много привилегий у программы – плохо
2
By Rogers and Cowan, Beverly Hills - eBayfrontback, Public Domain, �https://commons.wikimedia.org/w/index.php?curid=31434880
3
Принцип наименьших привилегий
4
Разделение доступа и минимизация привилегий. Compartmentalisation.
5
Дискреционная модель доступа в UNIX
XYZ, где X – права владельца, Y – группы, Z – остальных пользователей.
Каждое из чисел получается сложением битов, указывающих на наличие права: 4 – право на чтение, 2 – на запись, 1 – на выполнение.
Альтернативное представление:
–rw– r–– –r– user users data-type0.5.4.txt.html
drwx ––– ––– user users test/
drwx r–x r–x user users todo/
6
Типовая дискреционная модель доступа в UNIX (2)
7
Формальные модели доступа
8
Формальные модели доступа
Формальное выражение политики безопасности
9
Дискреционная модель доступа. �Модель Харрисона-Руззо-Ульмана
10
| O1 | O2 | … | On |
S1 | r,w | r | | r |
S2 | | r,w,x | | r,x |
… | | | | |
Sm | r,w | r,w,x | | r |
Дискреционная модель (2)�Эволюция системы во времени
11
Мандатная модель доступа.�Модель Белла-ЛаПадулы
Система безопасна тогда и только тогда, когда начальное состояние безопасно и при любом переходе не возникает и не сохраняется небезопасных отношений доступа
P.S. Уровень безопасности: число или нечто большее ?
12
Мандатная модель (2)�Модель Биба
13
Ролевой контроль доступа �(Role Based Access Control)
14
X | | | X |
| X | | |
| | X | X |
UA
user
roles
PA
Ролевой контроль доступа (2)
Система считается безопасной, если любой пользователь системы, работающий в сеансе s, может осуществлять действия, требующие полномочия p, только в том случае, когда p є permissions(s)
15
16
Security Enhanced Linux
17
Гранулярный контроль привилегий
Принудительная типизация
18
Архитектура SELinux
19
SELinux в схеме контроля доступа
20
Основные понятия SELinux
21
Основные понятия SELinux
22
Принудительная типизация в SELinux
23
Пользователи, роли и домены
24
Пример
25
Пример принудительной типизации
Project1, SecretProject1
Чарли
ROProject1, ROProject2
Боб
Project1, Project2, Project3, SecretProject1, SecretProject2
Алиса
Домен или тип
User
26
Правила принудительной типизации
27
Как это работает
28
Контексты безопасности
29
Контексты безопасности
root:sysadm_r:example_t
30
Реализация
Как это сделано
(хранятся в расширенных атрибутах ext2/3/4)
31
Язык описания политик
32
Переходы между типами
Политика
Ограничения
33
Переходы между типами
34
Переходы между типами: пример
35
Правила доступа
allow sshd_t shell_exec_t : file execute;
36
Синтаксис описания ролей
37
Переходы доменов
38
Проблемы политики принудительной типизации
39
Достоинства
Роли и домены:
40
Достоинства
Пример реализации RBAC
41
Достоинства
Политика SELinux и её выполнение:
42
Мандатный доступ (MLS) в SELinux
43
Мандатный доступ (MLS) в SELinux
44
SELinux resume
Capsicum
45
Robert N. M. Watson, Jonathan Anderson
University of Cambridge
Ben Laurie, Kris Kennaway
Google UK Ltd.
In proceedings of the 19th USENIX Security Symposium
Capability
46
Архитектура Capsicum
47
Capability Mode
48
Capability Mode
49
Capability Mode
50
Capabilities
51
Capabilities
52
Run-time Environment
53
Adapting Applications
54
tcpdump
55
tcpdump
56
Chromium
57
Chromium
58
Chromium
59
Comparison of �Sandboxing Technologies
60
DAC
MAC
Capability
Linux chroot
61
MAC OS X Seatbelt
62
SELinux
63
Linux seccomp
64
Linux seccomp
65