Надмірні привілеї безсерверних функцій

Надмірні привілеї безсерверних функцій

Функція — це ідентичність, а її облікові дані доступні автоматично.

Що таке Надмірні привілеї безсерверних функцій?

Функція — це ідентичність. Облікові дані її ролі виконання доступні автоматично, тож будь-хто, хто може змусити функцію виконатися, отримує її роль, нічого не викравши. Це нормально, доки функція зміни розміру зображень не отримає права на весь обліковий запис, не почне тримати секрети у змінних середовища й приймати запити без автентифікації. Ви помітите URL-адресу функції на вкладці Network у браузері, спровокуєте залишений прапорець налагодження, що виводить середовище, і прочитаєте секрет у продакшні від імені функції. Потім ви звузите роль, вимагатимете автентифікацію IAM і замінете секрети посиланням на менеджер секретів.

Що ви дізнаєтесь у Надмірні привілеї безсерверних функцій

Надмірні привілеї безсерверних функцій — Кроки навчання

  1. Почніть там, де може дивитися кожен

    Боб не всередині Vaelrick. Він на їхньому публічному сайті з оголошеннями про нерухомість, на тій самій сторінці, яку бачить будь-який покупець. Тут немає нічого привілейованого, і саме тому він починає звідси.

  2. Простежте, що запитує сторінка

    Боб відкриває вкладку Network у браузері й перезавантажує сторінку, щоб побачити запити, які галерея робить ще до появи будь-якого зображення.

  3. Функція відповідає будь-кому

    Боб звертається до ендпоінта напряму зі свого комп'ютера, зовсім без облікових даних.

  4. Прапорець налагодження видає ідентичність функції

    Боб додає параметр налагодження, про який йому повідомив сайт. Функція виводить усе своє середовище.

  5. Приміряйте ідентичність функції

    Три значення AWS_ із дампа середовища — це повний робочий набір тимчасових облікових даних. Боб завантажує їх в іменований профіль на своєму комп'ютері, і з цієї миті його CLI може діяти від імені функції.

  6. Станьте функцією

    Профіль завантажено. Боб ставить AWS перше запитання, з якого починає будь-який зловмисник зі свіжим набором облікових даних: хто я тепер?

  7. Як далеко сягає генератор мініатюр?

    Функція, що записує мініатюри, має бачити один бакет. Боб просить показати всі.

  8. Заберіть найцінніше

    Боб використовує роль, щоб прочитати секрет, який не має жодного стосунку до зміни розміру зображень.

  9. Яка вада завдала шкоди?

  10. Хтось користується нашим ключем Stripe

    Платіжний сервіс компанії Vaelrick позначив виклики API, підписані їхнім робочим ключем, з незнайомої адреси. Цей ключ лежить у сервісі Secrets Manager, який і мав бути безпечним місцем для нього.

Охоплення стандартів безпеки

CWE

  • CWE-250 Execution with Unnecessary Privileges
  • CWE-522 Insufficiently Protected Credentials

MITRE ATT&CK

  • T1552 Unsecured Credentials
  • T1078.004 Valid Accounts: Cloud Accounts

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