Розкриття секретів у CI/CD
Відлуння налагодження поміщає ваш ключ розгортання в загальнодоступний журнал збирання.
Що таке Розкриття секретів у CI/CD?
Конвеєри збирання обробляють секрети, а журнали збирання більш публічні, ніж припускають автори робочого процесу. Крок налагодження, який повторює секрет середовища, друкує його у вигляді звичайного тексту. Той самий робочий процес часто містить другу проблему: заголовок запиту на отримання, інтерпольований прямо в крок запуску, де він виконується як оболонка. Ви скопіюєте ключ розгортання з загальнодоступних журналів дій і натиснете його, а потім видалите відлуння, припините інтерполяцію ненадійного введення, закріпите дії сторонніх розробників за допомогою SHA і повернете ключ, оскільки маскування майбутніх журналів нічого не скасовує.
Що ви дізнаєтесь у Розкриття секретів у CI/CD
- Розпізнавання секретних даних CI/CD: етап робочого циклу, який відтворює або друкує секрет, записує його в журнал збірки, а під час публічного запуску цей журнал доступний для читання будь-кому.
- Зрозумійте ін’єкцію сценарію робочого циклу: ненадійні дані, такі як заголовок запиту на отримання або ім’я гілки, інтерпольоване в крок запуску, можуть виконуватися як команди оболонки в конвеєрі
- Застосуйте виправлення для витоку секрету: видаліть відлуння, передайте секрет через змінну env із цитуванням, щоб він використовувався, а не друкувався, і поверніть ключ, оскільки він уже з’явився в доступному для читання журналі
- Зміцніть конвеєр: прив’яжіть ненадійний вхід через змінні env в лапках замість того, щоб інтерполювати його в кроки виконання, і обмежте, до чого можуть отримати доступ запуски, викликані запитом на отримання.
- Закріпіть дії сторонніх розробників за допомогою SHA, щоб переміщений тег не міг мовчки замінити шкідливий код, і перевірте файли робочого циклу на наявність тих самих шаблонів відлуння та інтерполяції
Розкриття секретів у CI/CD — Кроки навчання
-
Публічні журнали побудови
Vellmoor створює свій периферійний транскодер у відкритому доступі, тому конвеєр сховища є загальнодоступним, а також усе, що він друкує. Щоб почати, Бобу не потрібен обліковий запис, запрошення чи один експлойт. Він відкриває історію запуску і читає.
-
Відкрийте випуск випуску
Інтеграція виконує лише збірку та тестування. Робочий процес випуску є цікавим, тому що реліз має вийти на робочий рівень, а для досягнення робочого процесу потрібні облікові дані. Боб відкриває останній запуск випуску.
-
Розгорніть крок розгортання
Пробіг — це список кроків, кожен згорнутий. Розрахунок і збірка є рутиною. Крок, який хоче Боб, це той, який спілкується з виробництвом, тому що саме там потрібно використовувати облікові дані.
-
Маркер у вигляді звичайного тексту
Сходинка відкривається, і облікові дані просто там. Хтось додав рядок для друку маркера під час пошуку несправного розгортання, розгортання було виправлено, а рядок залишився. Бобу не потрібно нічого зламати. Він вибирає значення та копіює його.
-
Як давно друкується
Один рядок журналу є одним примірником. Боб повертається до історії виконання та шукає в кожному виході запуску префікс маркера, щоб дізнатися, як довго це відбувалося. Відповідь вирішує, скільки людей уже могли його тримати.
-
До чого може дотягнутися токен
Перш ніж використовувати його, Боб запитує службу розгортання Vellmoor, що дозволено робити цим обліковим даним. Він викликає кінцеву точку середовища з маркером у заголовку авторизації. Відповідь повертається без виклику, і вона не обмежується тестовим середовищем.
-
Відвантажити власну збірку
Бобу не потрібно торкатися сховища, відкривати запит на отримання або чекати перевірки. Службу розгортання не хвилює, звідки надходить зображення, а лише те, що абонент має дійсний маркер. Він спрямовує виробництво на зображення у власному реєстрі.
-
Перевірка знань
Ви щойно переглянули робочі облікові дані, отримані з журналу збірки без використання експлойтів. Зафіксуйте, як воно туди потрапило.
-
Тривога приземляється
Ви володієте робочими процесами CI Vellmoor. Ця ранкова безпека платформи має обидві половини поганої ночі: облікові дані, знайдені у загальнодоступному виході, і розгортання робочого середовища, яке ніхто не планував.
-
Подивіться на власний конвеєр
Повідомлення про витік - це одне. Ви відкриваєте запуск точок сповіщень, щоб побачити, що насправді опублікував ваш конвеєр.
Охоплення стандартів безпеки
CWE
- CWE-532 Insertion of Sensitive Information into Log File
- CWE-540 Inclusion of Sensitive Information in Source Code
MITRE ATT&CK
- T1552.001 Unsecured Credentials: Credentials In Files
CIS Controls
- CIS 16 Application Software Security
- CIS 8 Audit Log 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.PS Platform Security
- DE.AE Adverse Event Analysis