Надто широкі дозволи в IAM
Політика IAM із символом підстановки — це облікові дані адміністратора з буденною назвою.
Що таке Надто широкі дозволи в IAM?
Політика IAM дає те, що в ній написано, а не те, що підказує назва ролі. Політика, яка дозволяє будь-яку дію над будь-яким ресурсом і приєднана до чогось на ім'я «агент збірки», — це облікові дані адміністратора з буденною назвою. Ви прочитаєте політику із символом підстановки на облікових даних, що здаються малоцінними, і через iam:PassRole передасте привілейовану роль функції, яку самі створите й викличете. Той, хто передає роль, ніколи не має адміністраторського дозволу безпосередньо, тому таке підвищення привілеїв переживає перевірки. Потім ви перелічите дії над поіменно названими ресурсами й приєднаєте межу дозволів.
Що ви дізнаєтесь у Надто широкі дозволи в IAM
- Пам'ятайте, що політика із символом підстановки дає те, що в ній написано, а не те, що підказує назва ролі. Буденна назва не обмежує широкого дозволу.
- Пам'ятайте, що передавання ролі — поширений шлях підвищення привілеїв: той, хто передає роль, ніколи не має привілейованого дозволу безпосередньо, тож це легко пропустити під час перевірки.
- Замінюйте символи підстановки переліком дій над поіменно названими ресурсами. Список заборонених за замовчуванням вважає дозволеним кожен новий ресурс.
- Обмежуйте роль межею дозволів: вона задає, що роль може мати взагалі, тож майбутня зміна політики не поверне можливість підвищення привілеїв.
Надто широкі дозволи в IAM — Кроки навчання
-
Буденний набір ключів
Боб націлився на Wyndlar — брокерську компанію з вантажних перевезень, через яку за рік проходять розрахунки з перевізниками на кілька сотень мільйонів фунтів. Здобич у нього скромна: одні облікові дані агента збірки, добуті з журналу конвеєра. Агент збірки пакує артефакти. Формально такі облікові дані майже нічого не варті. Але перш ніж так вирішити, Боб перевіряє, чим вони є насправді.
-
Що їй дозволено
Єдиний спосіб дізнатися, наскільки широкі можливості ролі, — прочитати політику, яку до неї приєднано. Боб її читає.
-
Що ще є в обліковому записі
Символ підстановки означає, що Боб може переглянути що завгодно, і він починає з ролей. Його цікавлять не власні можливості агента збірки, а те, на що агент збірки здатен вказати.
-
Передайте привілейовану роль сервісу, який працюватиме від її імені
Це і є підвищення привілеїв, тож варто точно розібратися, чому воно спрацьовує. Боб ніколи не бере роль адміністратора на себе й не мусить. Він створює функцію й каже платформі виконувати її від імені ролі адміністратора. Платформі довіряють, а йому ні, проте результат той самий.
-
Що могла бачити роль адміністратора
Функція — це його код, що працює з чужими повноваженнями. Боб її викликає. У Боба тепер можливості адміністратора, а здобув він їх через облікові дані, які ніхто б і не подумав захищати.
-
Чому назва не мала значення
-
Функція, яку ніхто не створював
Перевірка платформи Wyndlar позначає функцію, яка з'явилася вночі з аварійною роллю.
-
Прочитайте, що ролі насправді дозволено
Відповіді немає у функції. Вона в політиці ролі, яка її створила.
-
Агент збірки
Чотири ролі, і одну з них позначено.
-
Усі дії над усім
Ось воно — в одному елементі політики.
Охоплення стандартів безпеки
CWE
- CWE-269 Improper Privilege Management
- CWE-250 Execution with Unnecessary Privileges
MITRE ATT&CK
- T1098.003 Account Manipulation: Additional Cloud Roles
- T1548 Abuse Elevation Control Mechanism
CIS Controls
- CIS 6 Access Control Management
NIST CSF
- PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
- PR.AA Identity Management, Authentication, and Access Control