SlideShare a Scribd company logo
1 of 34
Download to read offline
Безопасность UNIX- 
подобных ОС 
Антон Карпов
Почему “UNIX-подобные”?
4 
1960-е: MIT, Bell Labs, General Electric -> MULTICS 
1970: Ken Thompson, Dennis Ritchie (AT&T Bell Labs) -> UNIX 
1977: Bill Joy (University of California, Berkeley) -> BSD 
AT&T UNIX (SysV) 
1971: Первая редакция UNIX 
... 
1973: Третья и четвертая 
редакции UNIX 
... 
1979: Девятая редакция UNIX 
1983: UNIX SysV 
Berkeley UNIX (BSD) 
1978: 2BSD 
1979: 3BSD 
1980: 4BSD 
1986: 4.2BSD & 4.3BSD 
1989: Networking Release 1 
1991: Networking Release 2 
1994: 4.4BSD-lite 
1995: 4.4BSD-lite2
6 
UNIX — торговая марка The Open Group 
*BSD (FreeBSD, NetBSD, OpenBSD); 
Все дистрибутивы Linux; 
Многие другие системы; 
UNIX-подобные (UNIX-like) 
Можно пройти сертификацию у Open Group за право 
называться UNIX'ом, за деньги ;)
7 
Основы работы в UNIX-системах 
Все — файл. Унификация доступа 
Права доступа к объектам системы — права доступа к файлам 
Двухуровневая модель разграничения привилегий 
Наличие пользователей и групп 
/etc/passwd 
/etc/group 
/etc/shadow (/etc/master.passwd)
8 
/etc/passwd (/etc/shadow) 
crypt(3) 
Password hash: $TYPE$SALT$HASH 
DES: когда деревья были большими 
$1$ — MD5 
$2$ — Blowfish 
$5$ — SHA-256 
$6$ — SHA-512
9 
Основы работы в UNIX-системах 
Атрибуты файла: владелец, группа, все остальные (UID/GID) 
Атрибуты процесса (EUID/EGID) 
Иерархическая файловая система 
Жесткие и символьные ссылки 
chown – change owner 
chgrp – change group 
chmod – change mode 
ls – list files 
cd – change directory 
rm – remove file 
mv – move (rename) file 
Использование chown, chgrp: 
В BSD – только root 
В SysV – владелец файла, для 
группы, в которую входит он сам
10 
Основы работы в UNIX-системах 
Работа с файлами: чтение/копирование (read), запись/ 
модификация (write), выполнение (execute) 
Для каталога: 
r — возможность просмотра содержимого (чтение метаданных) 
w — возможность создавать/удалять файлы в каталоге 
x — возможность доступа к файлам в каталоге
11 
Основы работы в UNIX-системах 
-rw-r--r-- 1 tokza wheel 8480 Nov 14 00:47 file.txt 
1 2 3 4 5 6 7 
1 – права доступа (владельца, группы, остальных) 
2 – количество жестких ссылок 
3 – владелец файла 
4 – группа-владелец файла 
5 – размер файла, в байтах 
6 – дата последней модификации файла 
7 – имя файла
12 
Биты доступа (DAC) 
1 – тип файла [- (file), d (dir), l (link), c (char dev), b (block dev), s (socket), p (FIFO)] 
2 – права пользователя-владельца файла 
3 – права группы-владельца файла 
4 – права остальных пользователей 
Проверка доступа - “слева направо” 
Права пользователя - права процесса
13 
Установка битов доступа 
u – user 
g – group 
o – other 
a - all 
+ –добавить 
- – убрать 
= – установить 
chmod a+w file1 
chmod g-rw file2 
chmod go=r file3
14 
Установка битов доступа 
1 — бит доступа установлен 
0 — бит доступа не установлен 
-rwx r-x r-- 111 101 100 754 
# chmod 754 somefile 
Файлы 
-w- (записывай но не читай) 
--x (запускай но не копируй) 
Каталоги 
--x (“скрытый каталог”) 
-wx (“скрытый” с возможностью записи)
15 
Дополнительные биты доступа 
SUID (Set User ID) 
SGID (Set Group ID) 
Sticky 
-r-s r-x r-x – если установлен “x” для владельца; 
-r-S r-x r-x – если НЕ установлен “x” для владельца; 
-r-x r-s r-x – если установлен “x” для группы; 
-r-x r-S r-x – если НЕ установлен “x” для группы; 
SUID на каталог – нет смысла. 
SGID на каталог – файлам, создаваемым в каталоге, назначается группа- 
владелец каталога, а не группа процесса, создавшего файл. В BSD такое 
поведение принято по умолчанию.
16 
Sticky bit 
drwx r-x r-t – если установлен “x” для остальных; 
drwx r-x r-T – если НЕ установлен “x” для остальных; 
Цифровой формат записи 
4000 – SUID 
2000 – SGID 
1000 – Sticky 
chmod 4755 file2 
chmod 2750 file3 
chmod 1777 dir2/
17 
Биты доступа по умолчанию 
Процесс может создать объект с любыми атрибутами 
В общем случае, объект создается со следующими атрибутами: 
Владелец (UID) — EUID процесса 
Группа (GID) — EGID процесса, либо GID каталога, в котором 
создается объект (в BSD-системах) 
Права доступа — согласно umask
18 
umask(1) 
Задает, какие биты доступа НЕ надо выставлять 
000 – 666 для файлов и 777 для каталогов; 
027 – 640 для файлов и 750 для каталогов; 
Флаг “-p” у cp сохраняет права доступа при копировании. SUID/ 
SGID флаги сбрасываются, если команду запустил не root 
При перемещении файла (mv) сохраняются все биты доступа. Но 
для этого надо иметь бит записи в оба каталога
19 
Дополнительные атрибуты 
Ограничивают возможность операции с объектами (файлами) 
append only: для файла — только дописывать (если есть w), 
для каталога — только создавать в нем файлы; 
nounlink: запрещает удалять или переименовывать файл/ 
каталог 
immutable: для файла — ничего нельзя, кроме чтения/ 
копирования, для каталога — нельзя создавать и удалять 
файлы, а также переименовывать каталог 
Linux: chattr 
BSD: chflags 
FreeBSD securelevel: запрет сброса флагов, записи в 
память ядра, загрузки модулей ядра, модификация 
правил файрвола – даже пользователю root
20 
Опасность ссылок 
Symlink attack 
1. ln -s /etc/config /tmp/tempfile 
2. open(“/tmp/tempfile”, O_RDWR) 
3. /etc/config модифицирован 
Hardlink attack 
1. ln /sbin/suidprog /home/attacker/suidprog 
2. Найдена уязвивость в /sbin/suidprog 
3. Админ: rm /sbin/suidprog 
4. ./exploit /home/attacker/suidprog 
mktemp наше все! 
Разделяем файловые системы (hardlink работают в пределах одной FS)
21 
Ограничения классической DAC-модели 
Нет возможности дать разным группам пользователей разные права 
Управлять группами может только root 
Пользователь имеет контроль над своими объектами и может снизить 
их безопасность 
Решения: 
POSIX ACL 
Альтернативные модели безопасности (MAC, RBAC, DTE)
22 
POSIX ACL 
Дает возможность гранулировано выставлять права на объекты для 
каждого пользователя/группы в системе 
Требует поддержки от файловой системы 
$ setfacl –m group:mygroup:rw- myfile1 
$ setfacl –m user:toxa:rwx myfile2 
$ getfacl myfile2 
# file: myfile2 
# owner: root 
# group: root 
user::rw-user: 
toxa:rwx 
group::r-- 
group:mygroup:rw-mask:: 
rw-other:: 
r--
23 
POSIX Capabilities 
CAP_CHOWN 
CAP_SETUID 
CAP_SETGID 
CAP_LINUX_IMMUTABLE 
CAP_NET_BIND_SERVICE
24 
Linux PAM 
Аккаунтинг 
Аутентификация 
Парольная политика 
Контроль сессии
25 
Протоколирование событий: syslog 
ps -waxu (ps -ef) – увидим много процессов 
/var/log/ (/var/adm/) – логи их работы 
syslogd – читает сокет /dev/log (/var/run/log) 
16 подсистем (facilities): 
auth, authpriv, console, cron, daemon, ftp, kern, lpr, mark, mail, 
news, ntp, security, syslog, user, uucp 
8 классов приоритетов: 
debug, info, notice, warning, err, crit, alert, emerg
26 
/etc/syslog.conf 
Запись в лог-файл 
Передача на удаленный хост (514/UDP) 
Передача другой программе 
Вывод на консоль 
*.err;kern.debug /dev/console 
security.* /var/log/security 
Многие демоны (apache, squid) имеют свою систему протоколирования 
Ротация логов — не задача syslogd. Этим занимаются logrotate, newsyslog, etc
27 
Общие подходы к обеспечению 
безопасности 
Принцип наименьших привилегий 
Принцип разграничения полномочий 
Privilege revocation 
1. Используем привилегии для выделения нужных ресурсов (SOCK_RAW, reserved port, utmp...) 
2. Отзываем привилегии 
Privilege separation 
1. Создаем объекты, которым нужны привилегии 
2. Создаем сокет (socketpair()), порождаем дочерний процесс (fork()) 
3. “Потомок” выполняет всю работу, обращаясь к привилегированным “родителям” для 
выполнения требующих привилегий задач
28 
Общие подходы к обеспечению 
безопасности 
chroot(2) 
Смена корневой директории (/) для процесса; 
Копируем все необходимые для работы сервиса библиотеки и файлы в /path/to/chroot и 
затем выполняем chroot(“/path/to/chroot”); 
Не защищает от действий рута! 
FreeBSD jail 
Технология частичной виртуализации системы; 
Создаем образ системы в /path/to/jail, выделяем дополнительный IP-адрес для jail, и 
запускаем jail на этом адресе; 
Фактически, получаем “систему внутри системы”; 
Требует определенной настройки сервисов и системы
29 
Общие подходы к обеспечению 
безопасности 
sudo 
Самая неправильно используемая утилита ;)
30 
Задачка из реальной жизни 
Все хотят ходить root’ом. Как быть?
31 
Генераторы случайных чисел в UNIX 
/dev/random 
/dev/urandom 
arc4random(3) 
Linux getrandom() 
#ifdef __linux__ 
call_msg.rm_xid = getpid() ^ now.tv_sec ^ 
now.tv_usec; 
#else 
call_msg.rm_xid = arc4random(); 
#endif
32 
Мандатные модели доступа 
В MAC сравниваются метки доступа объектов и уровни доступа субъектов 
Субъект (пользователь) не может управлять правами доступа для своих объектов 
Обычно дополняет DAC или RBAC
33 
Модель Белла-ЛаПадулы (NWD-NRU) 
Заимствована из военного документооборота 
Субъект имеет право читать только те документы, чей уровень безопасности не 
выше его 
Субъект имеет право заносить информацию (писать) только в те документы, чей 
уровень информации не ниже его 
Модель конфиденциальности 
Модель Биба (NWU-NRD) 
Дополняет модель Белла-ЛаПадулы 
Субъект с низким уровнем не может писать в документы с более высоким уровнем 
Субъект с высоким уровнем не может читать документы с более низким уровнем 
Модель целостности
34 
MAC vs. DAC 
DAC: наделяем субъектов полномочиями осуществлять определенные 
операции над определенными объектами 
MAC: неявный контроль путем сравнения назначенных меток уровня 
доступа

More Related Content

What's hot

ХАРДЕНИНГ (Аринов Ильяс (determination))
ХАРДЕНИНГ (Аринов Ильяс (determination))ХАРДЕНИНГ (Аринов Ильяс (determination))
ХАРДЕНИНГ (Аринов Ильяс (determination))Kristina Pomozova
 
Linux basics. Занятие 3.
Linux basics. Занятие 3. Linux basics. Занятие 3.
Linux basics. Занятие 3. Vikentsi Lapa
 
Web весна 2012 лекция 3
Web весна 2012 лекция 3Web весна 2012 лекция 3
Web весна 2012 лекция 3Technopark
 
Работа высоконагруженного DNS-сервера
Работа высоконагруженного DNS-сервераРабота высоконагруженного DNS-сервера
Работа высоконагруженного DNS-сервераudmlug
 
Обзор файловой системы GlusterFS
Обзор файловой системы GlusterFSОбзор файловой системы GlusterFS
Обзор файловой системы GlusterFSOSLL
 
Системы хранения данных
Системы хранения данныхСистемы хранения данных
Системы хранения данныхyaevents
 
Root Conf2009 Fin
Root Conf2009 FinRoot Conf2009 Fin
Root Conf2009 FinLiudmila Li
 
Бекдоры в пхп. Остаться незамеченным или проникновение без боли
Бекдоры в пхп. Остаться незамеченным или проникновение без болиБекдоры в пхп. Остаться незамеченным или проникновение без боли
Бекдоры в пхп. Остаться незамеченным или проникновение без болиdefcon_kz
 
CUDA Course 2010 at MSU
CUDA Course 2010 at MSUCUDA Course 2010 at MSU
CUDA Course 2010 at MSUlarhat
 
Andrew Pantyukhin P Nf Sv4
Andrew Pantyukhin P Nf Sv4Andrew Pantyukhin P Nf Sv4
Andrew Pantyukhin P Nf Sv4guest092df8
 
09 server mgmt_ii_ru
09 server mgmt_ii_ru09 server mgmt_ii_ru
09 server mgmt_ii_rumcroitor
 
Безопасность информационных систем
Безопасность информационных системБезопасность информационных систем
Безопасность информационных системyaevents
 
08 server mgmt_ru
08 server mgmt_ru08 server mgmt_ru
08 server mgmt_rumcroitor
 
Операционная система GNU/Linux: устройство и функционирование
Операционная система GNU/Linux: устройство и функционированиеОперационная система GNU/Linux: устройство и функционирование
Операционная система GNU/Linux: устройство и функционированиеyaevents
 
Ruscrypto CTF 2010 Full Disclosure
Ruscrypto CTF 2010 Full DisclosureRuscrypto CTF 2010 Full Disclosure
Ruscrypto CTF 2010 Full DisclosureDmitry Evteev
 
Пространства имен Linux (linux namespaces)
Пространства имен Linux (linux namespaces)Пространства имен Linux (linux namespaces)
Пространства имен Linux (linux namespaces)OSLL
 
Docker. Зачем он нам?
Docker. Зачем он нам?Docker. Зачем он нам?
Docker. Зачем он нам?Andrey Gerasimov
 
Обзор архитектуры [файловой] системы Ceph
Обзор архитектуры [файловой] системы CephОбзор архитектуры [файловой] системы Ceph
Обзор архитектуры [файловой] системы CephOSLL
 

What's hot (20)

ХАРДЕНИНГ (Аринов Ильяс (determination))
ХАРДЕНИНГ (Аринов Ильяс (determination))ХАРДЕНИНГ (Аринов Ильяс (determination))
ХАРДЕНИНГ (Аринов Ильяс (determination))
 
Linux basics. Занятие 3.
Linux basics. Занятие 3. Linux basics. Занятие 3.
Linux basics. Занятие 3.
 
Web весна 2012 лекция 3
Web весна 2012 лекция 3Web весна 2012 лекция 3
Web весна 2012 лекция 3
 
Работа высоконагруженного DNS-сервера
Работа высоконагруженного DNS-сервераРабота высоконагруженного DNS-сервера
Работа высоконагруженного DNS-сервера
 
Обзор файловой системы GlusterFS
Обзор файловой системы GlusterFSОбзор файловой системы GlusterFS
Обзор файловой системы GlusterFS
 
Системы хранения данных
Системы хранения данныхСистемы хранения данных
Системы хранения данных
 
Root Conf2009 Fin
Root Conf2009 FinRoot Conf2009 Fin
Root Conf2009 Fin
 
Бекдоры в пхп. Остаться незамеченным или проникновение без боли
Бекдоры в пхп. Остаться незамеченным или проникновение без болиБекдоры в пхп. Остаться незамеченным или проникновение без боли
Бекдоры в пхп. Остаться незамеченным или проникновение без боли
 
CUDA Course 2010 at MSU
CUDA Course 2010 at MSUCUDA Course 2010 at MSU
CUDA Course 2010 at MSU
 
Andrew Pantyukhin P Nf Sv4
Andrew Pantyukhin P Nf Sv4Andrew Pantyukhin P Nf Sv4
Andrew Pantyukhin P Nf Sv4
 
09 server mgmt_ii_ru
09 server mgmt_ii_ru09 server mgmt_ii_ru
09 server mgmt_ii_ru
 
Безопасность информационных систем
Безопасность информационных системБезопасность информационных систем
Безопасность информационных систем
 
08 server mgmt_ru
08 server mgmt_ru08 server mgmt_ru
08 server mgmt_ru
 
Операционная система GNU/Linux: устройство и функционирование
Операционная система GNU/Linux: устройство и функционированиеОперационная система GNU/Linux: устройство и функционирование
Операционная система GNU/Linux: устройство и функционирование
 
Ruscrypto CTF 2010 Full Disclosure
Ruscrypto CTF 2010 Full DisclosureRuscrypto CTF 2010 Full Disclosure
Ruscrypto CTF 2010 Full Disclosure
 
Пространства имен Linux (linux namespaces)
Пространства имен Linux (linux namespaces)Пространства имен Linux (linux namespaces)
Пространства имен Linux (linux namespaces)
 
Docker. Зачем он нам?
Docker. Зачем он нам?Docker. Зачем он нам?
Docker. Зачем он нам?
 
Обзор архитектуры [файловой] системы Ceph
Обзор архитектуры [файловой] системы CephОбзор архитектуры [файловой] системы Ceph
Обзор архитектуры [файловой] системы Ceph
 
Freebsd11
Freebsd11Freebsd11
Freebsd11
 
Prez osob mikroproc
Prez osob mikroprocPrez osob mikroproc
Prez osob mikroproc
 

Viewers also liked

Ukfc film yearbook extract 4
Ukfc film yearbook extract 4Ukfc film yearbook extract 4
Ukfc film yearbook extract 4Wayne O'Brien
 
As film studies induction lesson
As film studies induction lessonAs film studies induction lesson
As film studies induction lessonWayne O'Brien
 
As media year plan 1112
As media year plan 1112As media year plan 1112
As media year plan 1112Wayne O'Brien
 

Viewers also liked (7)

Ukfc film yearbook extract 4
Ukfc film yearbook extract 4Ukfc film yearbook extract 4
Ukfc film yearbook extract 4
 
Sadler potts eval
Sadler potts evalSadler potts eval
Sadler potts eval
 
Sadler potts eval
Sadler potts evalSadler potts eval
Sadler potts eval
 
Sadler potts eval
Sadler potts evalSadler potts eval
Sadler potts eval
 
Nagra heer eval
Nagra heer evalNagra heer eval
Nagra heer eval
 
As film studies induction lesson
As film studies induction lessonAs film studies induction lesson
As film studies induction lesson
 
As media year plan 1112
As media year plan 1112As media year plan 1112
As media year plan 1112
 

Similar to Владимир Иванов - Безопасность Unix-подобных ОС

SECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/Linux
SECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/LinuxSECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/Linux
SECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/LinuxSECON
 
Файловые системы
Файловые системыФайловые системы
Файловые системыyaevents
 
MIPT Course - DAC and MAC
MIPT Course - DAC and MACMIPT Course - DAC and MAC
MIPT Course - DAC and MACAlexey Vasyukov
 
Linuxvirt seminar-csc-2015
Linuxvirt seminar-csc-2015Linuxvirt seminar-csc-2015
Linuxvirt seminar-csc-2015OSLL
 
Solaris OS
Solaris OSSolaris OS
Solaris OSSSA KPI
 
Second Demo Solaris Zones
Second Demo Solaris ZonesSecond Demo Solaris Zones
Second Demo Solaris ZonesChudack
 
Опенсорс-инструменты на страже безопасности бэкенда — Петр Волков
Опенсорс-инструменты на страже безопасности бэкенда — Петр ВолковОпенсорс-инструменты на страже безопасности бэкенда — Петр Волков
Опенсорс-инструменты на страже безопасности бэкенда — Петр ВолковYandex
 
загрузка Linux
загрузка Linuxзагрузка Linux
загрузка LinuxPaul Serikov
 
SELinux for system administrators
SELinux for system administratorsSELinux for system administrators
SELinux for system administratorsAleksey Chudov
 
DrupalCafe #1: Екатерина Маршалкина - Права на файлы Drupal в Unix-системах
DrupalCafe #1: Екатерина Маршалкина - Права на файлы Drupal в Unix-системахDrupalCafe #1: Екатерина Маршалкина - Права на файлы Drupal в Unix-системах
DrupalCafe #1: Екатерина Маршалкина - Права на файлы Drupal в Unix-системахDrupalSPB
 
Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)
Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)
Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)Ontico
 
администрирование Solaris 10
администрирование Solaris 10администрирование Solaris 10
администрирование Solaris 10iliasv
 
п о файловая система
п о файловая системап о файловая система
п о файловая системаkrasoa2009
 
ХАРДЕНИНГ (Аринов Ильяс (determination))
ХАРДЕНИНГ (Аринов Ильяс (determination))ХАРДЕНИНГ (Аринов Ильяс (determination))
ХАРДЕНИНГ (Аринов Ильяс (determination))defcon_kz
 
Operating Systems Hardening
Operating Systems HardeningOperating Systems Hardening
Operating Systems HardeningVasily Sartakov
 
Вячеслав Бирюков - Linux инструменты системного администратора
Вячеслав Бирюков - Linux инструменты системного администратора Вячеслав Бирюков - Linux инструменты системного администратора
Вячеслав Бирюков - Linux инструменты системного администратора Yandex
 

Similar to Владимир Иванов - Безопасность Unix-подобных ОС (20)

SECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/Linux
SECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/LinuxSECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/Linux
SECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/Linux
 
Файловые системы
Файловые системыФайловые системы
Файловые системы
 
MIPT Course - DAC and MAC
MIPT Course - DAC and MACMIPT Course - DAC and MAC
MIPT Course - DAC and MAC
 
Linuxvirt seminar-csc-2015
Linuxvirt seminar-csc-2015Linuxvirt seminar-csc-2015
Linuxvirt seminar-csc-2015
 
Solaris OS
Solaris OSSolaris OS
Solaris OS
 
Second Demo Solaris Zones
Second Demo Solaris ZonesSecond Demo Solaris Zones
Second Demo Solaris Zones
 
Опенсорс-инструменты на страже безопасности бэкенда — Петр Волков
Опенсорс-инструменты на страже безопасности бэкенда — Петр ВолковОпенсорс-инструменты на страже безопасности бэкенда — Петр Волков
Опенсорс-инструменты на страже безопасности бэкенда — Петр Волков
 
загрузка Linux
загрузка Linuxзагрузка Linux
загрузка Linux
 
SELinux for system administrators
SELinux for system administratorsSELinux for system administrators
SELinux for system administrators
 
DrupalCafe #1: Екатерина Маршалкина - Права на файлы Drupal в Unix-системах
DrupalCafe #1: Екатерина Маршалкина - Права на файлы Drupal в Unix-системахDrupalCafe #1: Екатерина Маршалкина - Права на файлы Drupal в Unix-системах
DrupalCafe #1: Екатерина Маршалкина - Права на файлы Drupal в Unix-системах
 
Docker 1.9
Docker 1.9Docker 1.9
Docker 1.9
 
Linux commands
Linux commandsLinux commands
Linux commands
 
Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)
Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)
Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)
 
администрирование Solaris 10
администрирование Solaris 10администрирование Solaris 10
администрирование Solaris 10
 
п о файловая система
п о файловая системап о файловая система
п о файловая система
 
Введение в Docker
Введение в DockerВведение в Docker
Введение в Docker
 
ХАРДЕНИНГ (Аринов Ильяс (determination))
ХАРДЕНИНГ (Аринов Ильяс (determination))ХАРДЕНИНГ (Аринов Ильяс (determination))
ХАРДЕНИНГ (Аринов Ильяс (determination))
 
Malware Analysis Report Infamous Chisel [RU].pdf
Malware Analysis Report Infamous Chisel [RU].pdfMalware Analysis Report Infamous Chisel [RU].pdf
Malware Analysis Report Infamous Chisel [RU].pdf
 
Operating Systems Hardening
Operating Systems HardeningOperating Systems Hardening
Operating Systems Hardening
 
Вячеслав Бирюков - Linux инструменты системного администратора
Вячеслав Бирюков - Linux инструменты системного администратора Вячеслав Бирюков - Linux инструменты системного администратора
Вячеслав Бирюков - Linux инструменты системного администратора
 

More from Yandex

Предсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksПредсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksYandex
 
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Yandex
 
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаСтруктурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаYandex
 
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаПредставление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаYandex
 
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Yandex
 
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Yandex
 
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Yandex
 
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Yandex
 
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Yandex
 
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Yandex
 
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Yandex
 
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Yandex
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровYandex
 
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Yandex
 
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Yandex
 
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Yandex
 
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Yandex
 
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Yandex
 
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Yandex
 
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Yandex
 

More from Yandex (20)

Предсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksПредсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of Tanks
 
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
 
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаСтруктурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
 
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаПредставление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
 
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
 
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
 
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
 
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
 
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
 
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
 
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
 
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
 
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
 
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
 
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
 
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
 
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
 
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
 
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
 

Владимир Иванов - Безопасность Unix-подобных ОС

  • 1.
  • 2. Безопасность UNIX- подобных ОС Антон Карпов
  • 4. 4 1960-е: MIT, Bell Labs, General Electric -> MULTICS 1970: Ken Thompson, Dennis Ritchie (AT&T Bell Labs) -> UNIX 1977: Bill Joy (University of California, Berkeley) -> BSD AT&T UNIX (SysV) 1971: Первая редакция UNIX ... 1973: Третья и четвертая редакции UNIX ... 1979: Девятая редакция UNIX 1983: UNIX SysV Berkeley UNIX (BSD) 1978: 2BSD 1979: 3BSD 1980: 4BSD 1986: 4.2BSD & 4.3BSD 1989: Networking Release 1 1991: Networking Release 2 1994: 4.4BSD-lite 1995: 4.4BSD-lite2
  • 5.
  • 6. 6 UNIX — торговая марка The Open Group *BSD (FreeBSD, NetBSD, OpenBSD); Все дистрибутивы Linux; Многие другие системы; UNIX-подобные (UNIX-like) Можно пройти сертификацию у Open Group за право называться UNIX'ом, за деньги ;)
  • 7. 7 Основы работы в UNIX-системах Все — файл. Унификация доступа Права доступа к объектам системы — права доступа к файлам Двухуровневая модель разграничения привилегий Наличие пользователей и групп /etc/passwd /etc/group /etc/shadow (/etc/master.passwd)
  • 8. 8 /etc/passwd (/etc/shadow) crypt(3) Password hash: $TYPE$SALT$HASH DES: когда деревья были большими $1$ — MD5 $2$ — Blowfish $5$ — SHA-256 $6$ — SHA-512
  • 9. 9 Основы работы в UNIX-системах Атрибуты файла: владелец, группа, все остальные (UID/GID) Атрибуты процесса (EUID/EGID) Иерархическая файловая система Жесткие и символьные ссылки chown – change owner chgrp – change group chmod – change mode ls – list files cd – change directory rm – remove file mv – move (rename) file Использование chown, chgrp: В BSD – только root В SysV – владелец файла, для группы, в которую входит он сам
  • 10. 10 Основы работы в UNIX-системах Работа с файлами: чтение/копирование (read), запись/ модификация (write), выполнение (execute) Для каталога: r — возможность просмотра содержимого (чтение метаданных) w — возможность создавать/удалять файлы в каталоге x — возможность доступа к файлам в каталоге
  • 11. 11 Основы работы в UNIX-системах -rw-r--r-- 1 tokza wheel 8480 Nov 14 00:47 file.txt 1 2 3 4 5 6 7 1 – права доступа (владельца, группы, остальных) 2 – количество жестких ссылок 3 – владелец файла 4 – группа-владелец файла 5 – размер файла, в байтах 6 – дата последней модификации файла 7 – имя файла
  • 12. 12 Биты доступа (DAC) 1 – тип файла [- (file), d (dir), l (link), c (char dev), b (block dev), s (socket), p (FIFO)] 2 – права пользователя-владельца файла 3 – права группы-владельца файла 4 – права остальных пользователей Проверка доступа - “слева направо” Права пользователя - права процесса
  • 13. 13 Установка битов доступа u – user g – group o – other a - all + –добавить - – убрать = – установить chmod a+w file1 chmod g-rw file2 chmod go=r file3
  • 14. 14 Установка битов доступа 1 — бит доступа установлен 0 — бит доступа не установлен -rwx r-x r-- 111 101 100 754 # chmod 754 somefile Файлы -w- (записывай но не читай) --x (запускай но не копируй) Каталоги --x (“скрытый каталог”) -wx (“скрытый” с возможностью записи)
  • 15. 15 Дополнительные биты доступа SUID (Set User ID) SGID (Set Group ID) Sticky -r-s r-x r-x – если установлен “x” для владельца; -r-S r-x r-x – если НЕ установлен “x” для владельца; -r-x r-s r-x – если установлен “x” для группы; -r-x r-S r-x – если НЕ установлен “x” для группы; SUID на каталог – нет смысла. SGID на каталог – файлам, создаваемым в каталоге, назначается группа- владелец каталога, а не группа процесса, создавшего файл. В BSD такое поведение принято по умолчанию.
  • 16. 16 Sticky bit drwx r-x r-t – если установлен “x” для остальных; drwx r-x r-T – если НЕ установлен “x” для остальных; Цифровой формат записи 4000 – SUID 2000 – SGID 1000 – Sticky chmod 4755 file2 chmod 2750 file3 chmod 1777 dir2/
  • 17. 17 Биты доступа по умолчанию Процесс может создать объект с любыми атрибутами В общем случае, объект создается со следующими атрибутами: Владелец (UID) — EUID процесса Группа (GID) — EGID процесса, либо GID каталога, в котором создается объект (в BSD-системах) Права доступа — согласно umask
  • 18. 18 umask(1) Задает, какие биты доступа НЕ надо выставлять 000 – 666 для файлов и 777 для каталогов; 027 – 640 для файлов и 750 для каталогов; Флаг “-p” у cp сохраняет права доступа при копировании. SUID/ SGID флаги сбрасываются, если команду запустил не root При перемещении файла (mv) сохраняются все биты доступа. Но для этого надо иметь бит записи в оба каталога
  • 19. 19 Дополнительные атрибуты Ограничивают возможность операции с объектами (файлами) append only: для файла — только дописывать (если есть w), для каталога — только создавать в нем файлы; nounlink: запрещает удалять или переименовывать файл/ каталог immutable: для файла — ничего нельзя, кроме чтения/ копирования, для каталога — нельзя создавать и удалять файлы, а также переименовывать каталог Linux: chattr BSD: chflags FreeBSD securelevel: запрет сброса флагов, записи в память ядра, загрузки модулей ядра, модификация правил файрвола – даже пользователю root
  • 20. 20 Опасность ссылок Symlink attack 1. ln -s /etc/config /tmp/tempfile 2. open(“/tmp/tempfile”, O_RDWR) 3. /etc/config модифицирован Hardlink attack 1. ln /sbin/suidprog /home/attacker/suidprog 2. Найдена уязвивость в /sbin/suidprog 3. Админ: rm /sbin/suidprog 4. ./exploit /home/attacker/suidprog mktemp наше все! Разделяем файловые системы (hardlink работают в пределах одной FS)
  • 21. 21 Ограничения классической DAC-модели Нет возможности дать разным группам пользователей разные права Управлять группами может только root Пользователь имеет контроль над своими объектами и может снизить их безопасность Решения: POSIX ACL Альтернативные модели безопасности (MAC, RBAC, DTE)
  • 22. 22 POSIX ACL Дает возможность гранулировано выставлять права на объекты для каждого пользователя/группы в системе Требует поддержки от файловой системы $ setfacl –m group:mygroup:rw- myfile1 $ setfacl –m user:toxa:rwx myfile2 $ getfacl myfile2 # file: myfile2 # owner: root # group: root user::rw-user: toxa:rwx group::r-- group:mygroup:rw-mask:: rw-other:: r--
  • 23. 23 POSIX Capabilities CAP_CHOWN CAP_SETUID CAP_SETGID CAP_LINUX_IMMUTABLE CAP_NET_BIND_SERVICE
  • 24. 24 Linux PAM Аккаунтинг Аутентификация Парольная политика Контроль сессии
  • 25. 25 Протоколирование событий: syslog ps -waxu (ps -ef) – увидим много процессов /var/log/ (/var/adm/) – логи их работы syslogd – читает сокет /dev/log (/var/run/log) 16 подсистем (facilities): auth, authpriv, console, cron, daemon, ftp, kern, lpr, mark, mail, news, ntp, security, syslog, user, uucp 8 классов приоритетов: debug, info, notice, warning, err, crit, alert, emerg
  • 26. 26 /etc/syslog.conf Запись в лог-файл Передача на удаленный хост (514/UDP) Передача другой программе Вывод на консоль *.err;kern.debug /dev/console security.* /var/log/security Многие демоны (apache, squid) имеют свою систему протоколирования Ротация логов — не задача syslogd. Этим занимаются logrotate, newsyslog, etc
  • 27. 27 Общие подходы к обеспечению безопасности Принцип наименьших привилегий Принцип разграничения полномочий Privilege revocation 1. Используем привилегии для выделения нужных ресурсов (SOCK_RAW, reserved port, utmp...) 2. Отзываем привилегии Privilege separation 1. Создаем объекты, которым нужны привилегии 2. Создаем сокет (socketpair()), порождаем дочерний процесс (fork()) 3. “Потомок” выполняет всю работу, обращаясь к привилегированным “родителям” для выполнения требующих привилегий задач
  • 28. 28 Общие подходы к обеспечению безопасности chroot(2) Смена корневой директории (/) для процесса; Копируем все необходимые для работы сервиса библиотеки и файлы в /path/to/chroot и затем выполняем chroot(“/path/to/chroot”); Не защищает от действий рута! FreeBSD jail Технология частичной виртуализации системы; Создаем образ системы в /path/to/jail, выделяем дополнительный IP-адрес для jail, и запускаем jail на этом адресе; Фактически, получаем “систему внутри системы”; Требует определенной настройки сервисов и системы
  • 29. 29 Общие подходы к обеспечению безопасности sudo Самая неправильно используемая утилита ;)
  • 30. 30 Задачка из реальной жизни Все хотят ходить root’ом. Как быть?
  • 31. 31 Генераторы случайных чисел в UNIX /dev/random /dev/urandom arc4random(3) Linux getrandom() #ifdef __linux__ call_msg.rm_xid = getpid() ^ now.tv_sec ^ now.tv_usec; #else call_msg.rm_xid = arc4random(); #endif
  • 32. 32 Мандатные модели доступа В MAC сравниваются метки доступа объектов и уровни доступа субъектов Субъект (пользователь) не может управлять правами доступа для своих объектов Обычно дополняет DAC или RBAC
  • 33. 33 Модель Белла-ЛаПадулы (NWD-NRU) Заимствована из военного документооборота Субъект имеет право читать только те документы, чей уровень безопасности не выше его Субъект имеет право заносить информацию (писать) только в те документы, чей уровень информации не ниже его Модель конфиденциальности Модель Биба (NWU-NRD) Дополняет модель Белла-ЛаПадулы Субъект с низким уровнем не может писать в документы с более высоким уровнем Субъект с высоким уровнем не может читать документы с более низким уровнем Модель целостности
  • 34. 34 MAC vs. DAC DAC: наделяем субъектов полномочиями осуществлять определенные операции над определенными объектами MAC: неявный контроль путем сравнения назначенных меток уровня доступа