ACL Dispatcher — Симулятор ядра Linux | Seberd Lab
Интерактивная мини-игра «ACL Dispatcher — Симулятор ядра Linux | Seberd Lab»: практика по теме информационной безопасности. Все вычисления выполняются в браузере.
Интерактивная мини-игра «ACL Dispatcher — Симулятор ядра Linux | Seberd Lab»: практика по теме информационной безопасности.
ИНИЦИАЛИЗАЦИЯ СТЕНДА
ACL_DISPATCHER v5.0 · SEBERD IT BASE
ACL DISPATCHER
Симулятор управления правами доступа в ядре Linux
OWNER
rwx
421
= 7
владелец файла
GROUP
r--
400
= 4
группа файла
OTHERS
---
000
= 0
все остальные
chmod 740 file → владелец rwx, группа r, остальные —rwx=7111₂полный доступrw-=6110₂читать и писатьr-x=5101₂читать и запускатьr--=4100₂только чтение-wx=3011₂писать и запускать---=0000₂нет доступаr=4 · w=2 · x=1 · сумма битов = цифра суита
PoLP
Принцип наименьших привилегий — каждый субъект получает только нужные биты
DENY
Deny-by-default — без явного разрешения доступ запрещён (--- = 0)
X!
Execute — самый опасный бит. execve(2) загружает файл как код в память процесса
DOM
Разделение доменов данных — HR не читает БД клиентов, аналитик не пишет в prod
1
Читай задачу субъекта — описание справа расскажет что делает этот пользователь с файлом
2
Включи нужные биты — кнопки R / W / X в правой панели. Только необходимые!
3
Перейди к следующему — стрелки ‹ › переключают субъектов. Настрой всех.
4
Нажми «Проверить» — ядро проверит каждый ACE. Ошибка = потеря жизни.
Настройте минимально необходимые права для каждого субъекта — принцип наименьших привилегий
6 миссий · таймер · очки
ACL DISPATCHER
МИССИЯ 1/6
90
0
ОЧКИ
×1
КОМБО
—
uid: —
gid: —
—
syscall
open(2) → VFS → inode → ACL
—
ACCESS DENIED
/—
—
-rw-r--r--
·
—
—
—
А
—
—
—
read(2) — чтение блоков файла
Позволяет открыть файл на чтение через open(2) + read(2)
chmod +r · бит 4 (100₂)Позволяет открыть файл на чтение через open(2) + read(2)
write(2) — запись данных и метаданных
Позволяет изменять содержимое файла через write(2) / truncate(2)
chmod +w · бит 2 (010₂)Позволяет изменять содержимое файла через write(2) / truncate(2)
execve(2) — загрузка файла как кода в память
Самый опасный бит: лишний X = вектор privilege escalation
chmod +x · бит 1 (001₂)Самый опасный бит: лишний X = вектор privilege escalation
execve(2) — загрузка кода в память процесса. Лишний X = вектор атаки
Текущий субъект (owner)
---
·
0o0
·
0002
r=0
w=0
x=0
OWNER
---
0
000₂
← настраиваем
GROUP
r--
4
100₂
только чтение
OTHERS
---
0
000₂
нет доступа
chmod 040
1 / 3
МИССИЯ ВЫПОЛНЕНА
ДОСТУП ЗАБЛОКИРОВАН
0
миссий
0
очков
0
рекорд
ПАУЗА
Пробел или кнопка для продолжения