Маркер доступу
Маркер доступу — програмний об'єкт в операційних системах Windows, який містить інформацію щодо безпеки сеансу та ідентифікує користувача, групу користувачів та їх привілеї[1].
Огляд
Маркер доступу є об'єктом, який описується в контексті безпеки процесу або потоку. Інформація, що міститься у маркері, включає в себе особу і привілеї облікового запису користувача, пов'язані з процесом або потоком. Коли користувач входить в систему, система перевіряє пароль користувача, порівнюючи його з інформацією, що зберігається в базі даних безпеки. Якщо пароль аутентифікований, система видає маркер доступу[2][3]. Кожен процес, який виконується від імені цього користувача, має копію цього маркера доступу.
Коли процес звертається до захищеного ресурсу (об'єкту), Windows проглядає дескриптор безпеки у маркері доступу, і визначає, чи користувач- власник процесу, має право доступу до потрібних даних; і якщо так, то які саме операції йому дозволені (читання, запис / зміна). Якщо користувач має відповідні привілеї, Windows дозволяє процесу продовжувати дію над ресурсом, якщо ні,- то відмовляє в доступі.
Складові компоненти маркера доступу
Система використовує маркер доступу для ідентифікації користувача, коли потік взаємодіє з захищеним об'єктом або намагається виконати системну задачу, яка вимагає привілеїв. Маркер доступу містить таку інформацію[1]:
- Ідентифікатор безпеки (SID) облікового запису користувача
- Ідентифікатори безпеки для груп, в яких користувач є членом
- Ідентифікатор безпеки користувача, який відкрив поточну сесію
- Перелік привілеїв користувача або груп користувачів
- Ідентифікатор безпеки власника
- SID основної групи
- Стандартний список керування вибірковим доступом (discretionary access-control list, DACL)
- Дані про те, чи є маркер первинним, чи імперсональним
- Додатковий список обмеження для ідентифікаторів безпеки
- Інші дані, зокрема статистичні
Первинний та імперсональний маркери доступу
Кожен процес має первинний маркер доступу (primary token), який описує контекст безпеки облікового запису користувача, пов'язаного з процесом. Система використовує первинний маркер за замовчуванням, коли потік процесу взаємодії з захищеним об'єктом. Крім того, потік може діяти від іншого клієнтського облікового запису. Імперсоналізація (уособлення) дозволяє потоку взаємодіяти з захищеним об'єктом, використовуючи контекст безпеки клієнта. Потік, який видає себе за клієнта, має як основний маркер, так і маркер уособлення.
Ідентифікатор безпеки
Детальніше: Ідентифікатор безпеки
Ідентифікатор безпеки (SID) є важливою складовою маркера доступу. Windows використовує ідентифікатор безпеки для ідентифікації машин та всіх інших об'єктів системи безпеки: облікових записів домену, користувачів і груп. Імена таких об'єктів є лише зрозумілішими для користувачів формами подання ідентифікаторів безпеки, які дозволяють, наприклад, перейменувати обліковий запис без оновлення всієї множини його привілеїв. SID складається з 48-розрядного значення, за яким іде кілька 32-розрядних компонентів. Як правило, SID подають у форматі S-R-I-s-s... (наприклад, S-1-5-21-3840520539…).
Примітки