Постійно знаходьте та виправляйте вразливості
ЗавершеноСтворіть безперервний процес від виявлення вразливості до перевіреного усунення в продуктивному середовищі. Зрозумійте прогалину обслуговування, яку може приховувати успішний прототип.
Видавець TaigaЯк ми пишемо
Перевірте своє розумінняЗастосунок не змінювався три місяці. Останнє сканування залежностей було успішним під час випуску. Яке твердження обґрунтоване?Виконайте вправу
Чого ви навчитеся
- Пояснювати, чому незмінене програмне забезпечення потребує постійного перегляду безпеки.
- Зіставляти різні види сканування з їхнім покриттям і межами.
- Простежувати знахідку через визначення пріоритету, виправлення, розгортання та перевірку.
Працездатний прототип може стати непідтримуваним сервісом
Vibe coding може швидко створити корисний прототип. Ризик використання в продуктивному середовищі зростає, коли люди продовжують ним користуватися без постійного обслуговування безпеки. Це серйозна прогалина: програмне забезпечення залишається доступним для атак, а його творець вважає роботу завершеною.
Прогалина має як організаційний, так і технічний характер. Сканер може існувати без відповідального. Знахідка може мати відповідального без шляху випуску. Виправлення після merge може залишити старий продуктивний артефакт запущеним.
Оцінюйте фактичну платформу розробки та її конфігурацію. Деякі інструменти надають функції безпеки. Назва продукту не встановлює, чи ваш розгорнутий застосунок отримує безперервне сканування та перевірені виправлення.
Скануйте, коли докази можуть змінитися
Виконуйте відповідні перевірки запропонованих змін і зібраних артефактів. Повторно оцінюйте підтримувані версії за графіком, оскільки інформація про вразливості змінюється без commit. Запускайте додатковий перегляд, коли з’являється відповідне повідомлення, зміна доступності для атак або інцидент.
Явно визначайте сферу. Перелічіть репозиторії, гілки, lockfiles, образи, розгорнуті digest, середовища виконання та середовища. Включайте застосунки, які вже не отримують нових функцій, але все ще обслуговують користувачів.
Невдале сканування — це відсутні докази. Відстежуйте актуальність сканування, збої джерел даних, збої автентифікації, непідтримувані компоненти та прогалини покриття. Порожній список знахідок після невдалого завдання не є чистим результатом.
Використовуйте різні перевірки для різних питань
| Перевірка | Корисне покриття | Важливе обмеження |
|---|---|---|
| Аналіз складу програмного забезпечення, або SCA | Відомі вразливості залежностей, включно з визначеними транзитивними пакетами | Не встановлює правильності авторизації застосунку |
| Статичне тестування безпеки застосунків, або SAST | Небезпечні шаблони коду, які інструмент може виявляти | Може пропускати поведінку під час виконання та створювати знахідки, що потребують первинного оцінювання |
| Сканування секретів | Розпізнавані шаблони облікових даних у просканованому вмісті | Видалений рядок може залишити чинні облікові дані в іншому місці |
| Перевірки інфраструктури та конфігурації | Визначені порушення політик у просканованих ресурсах або конфігурації | Конфігурація репозиторію може відрізнятися від запущеного середовища |
| Дозволене динамічне тестування | Поведінка запущеного застосунку в перевіреній сфері | Потребує дозволу, належних даних і обережності з побічними діями |
Поєднуйте ці перевірки з переглядом і відповідними тестами безпеки. Не стверджуйте, що будь-яке сканування доводить відсутність вразливостей.
Простежте вигадану знахідку до продуктивного середовища
| Час | Подія | Фактичний стан |
|---|---|---|
| Понеділок 09:00 | Нове повідомлення визначає вразливу залежність PDF | Наявні випуски потребують оцінювання |
| Понеділок 09:15 | Планове сканування виявляє продуктивну версію | Знахідку виявлено, але не виправлено |
| Понеділок 10:00 | Відповідальний підтверджує доступність для атак і вибирає підтримуване виправлення | Усунення заплановано |
| Понеділок 13:00 | Тести успішні, PR виправлення пройшов merge | Репозиторій виправлено; продуктивне середовище ще потребує розгортання |
| Понеділок 14:00 | Pipeline розгортає виправлений образ | Новий артефакт працює; перевірка ще попереду |
| Понеділок 14:20 | Сканування артефакту та регресійні перевірки експорту успішні | Виправлення перевірено в межах виконаних перевірок |
Визначайте пріоритет за серйозністю, доказами експлуатації, доступністю для атак, ураженими даними та доступними заходами зменшення ризику. Каталог CISA допомагає визначати відому експлуатацію. Це один вхідний чинник, а не повне оцінювання ризику. Каталог CISA.
Тимчасовий виняток потребує доказів, відповідального, компенсувальних засобів контролю та строку завершення або умови перегляду. Якщо виправлення немає, розгляньте дозволений обхідний спосіб, обмеження функції або вилучення ураженого компонента.
Усуньте прогалину обслуговування
Вимірюйте час до первинного оцінювання та перевіреного усунення за пріоритетом. Відстежуйте прострочені винятки, застарілі сканування, уражені продуктивні версії та повторювані знахідки. Зменшення кількості знахідок також може відображати звуження покриття; досліджуйте знаменник.
Taiga Maintaining сканує пов’язані репозиторії після змін і періодично. Він записує знахідки та пов’язує усунення з ініціативами й переглянутими змінами. Перевірте стан сканування та поточну задокументовану поведінку. Maintaining.
Ваш pipeline усе ще потребує відповідних умов допуску до випуску. Відповідальний за сервіс усе ще має підтвердити розгортання та правильність роботи. Цей безперервний ланцюг — частина експлуатації фабрики програмного забезпечення з ШІ, включно з продуктами, перша версія яких починалася як прототип.
Виконайте вправу
Використайте вигадану хронологію з цього уроку. Визначте, де команда могла б помилково оголосити успіх. Визначте умови запуску сканування, сповіщення про його збій, відповідального за усунення, перевірку випуску та завершення дії тимчасового винятку.
Завантажити робочий аркуш (Markdown)Зняття цієї позначки видаляє весь прогрес, збережений у цьому браузері.
Прогрес залишається в цьому браузері. Без облікового запису та відстеження.
Джерела та додаткові матеріали
- NIST: Secure Software Development Framework ↗
- CISA: Known Exploited Vulnerabilities Catalog ↗
- Taiga docs: Maintaining ↗