Шлях 05Урок 3 / 8

Постійно знаходьте та виправляйте вразливості

Створіть безперервний процес від виявлення вразливості до перевіреного усунення в продуктивному середовищі. Зрозумійте прогалину обслуговування, яку може приховувати успішний прототип.

Практика12 хвПереглянуто

Видавець Як ми пишемо

Перевірте своє розумінняЗастосунок не змінювався три місяці. Останнє сканування залежностей було успішним під час випуску. Яке твердження обґрунтоване?Виконайте вправу
Застосунок не змінювався три місяці. Останнє сканування залежностей було успішним під час випуску. Яке твердження обґрунтоване?

Чого ви навчитеся

  • Пояснювати, чому незмінене програмне забезпечення потребує постійного перегляду безпеки.
  • Зіставляти різні види сканування з їхнім покриттям і межами.
  • Простежувати знахідку через визначення пріоритету, виправлення, розгортання та перевірку.

Працездатний прототип може стати непідтримуваним сервісом

Vibe coding може швидко створити корисний прототип. Ризик використання в продуктивному середовищі зростає, коли люди продовжують ним користуватися без постійного обслуговування безпеки. Це серйозна прогалина: програмне забезпечення залишається доступним для атак, а його творець вважає роботу завершеною.

Прогалина має як організаційний, так і технічний характер. Сканер може існувати без відповідального. Знахідка може мати відповідального без шляху випуску. Виправлення після merge може залишити старий продуктивний артефакт запущеним.

Оцінюйте фактичну платформу розробки та її конфігурацію. Деякі інструменти надають функції безпеки. Назва продукту не встановлює, чи ваш розгорнутий застосунок отримує безперервне сканування та перевірені виправлення.

Скануйте, коли докази можуть змінитися

Виконуйте відповідні перевірки запропонованих змін і зібраних артефактів. Повторно оцінюйте підтримувані версії за графіком, оскільки інформація про вразливості змінюється без commit. Запускайте додатковий перегляд, коли з’являється відповідне повідомлення, зміна доступності для атак або інцидент.

Явно визначайте сферу. Перелічіть репозиторії, гілки, lockfiles, образи, розгорнуті digest, середовища виконання та середовища. Включайте застосунки, які вже не отримують нових функцій, але все ще обслуговують користувачів.

Невдале сканування — це відсутні докази. Відстежуйте актуальність сканування, збої джерел даних, збої автентифікації, непідтримувані компоненти та прогалини покриття. Порожній список знахідок після невдалого завдання не є чистим результатом.

Використовуйте різні перевірки для різних питань

ПеревіркаКорисне покриттяВажливе обмеження
Аналіз складу програмного забезпечення, або SCAВідомі вразливості залежностей, включно з визначеними транзитивними пакетамиНе встановлює правильності авторизації застосунку
Статичне тестування безпеки застосунків, або SASTНебезпечні шаблони коду, які інструмент може виявлятиМоже пропускати поведінку під час виконання та створювати знахідки, що потребують первинного оцінювання
Сканування секретівРозпізнавані шаблони облікових даних у просканованому вмістіВидалений рядок може залишити чинні облікові дані в іншому місці
Перевірки інфраструктури та конфігураціїВизначені порушення політик у просканованих ресурсах або конфігураціїКонфігурація репозиторію може відрізнятися від запущеного середовища
Дозволене динамічне тестуванняПоведінка запущеного застосунку в перевіреній сферіПотребує дозволу, належних даних і обережності з побічними діями

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

Простежте вигадану знахідку до продуктивного середовища

ЧасПодіяФактичний стан
Понеділок 09:00Нове повідомлення визначає вразливу залежність PDFНаявні випуски потребують оцінювання
Понеділок 09:15Планове сканування виявляє продуктивну версіюЗнахідку виявлено, але не виправлено
Понеділок 10:00Відповідальний підтверджує доступність для атак і вибирає підтримуване виправленняУсунення заплановано
Понеділок 13:00Тести успішні, PR виправлення пройшов mergeРепозиторій виправлено; продуктивне середовище ще потребує розгортання
Понеділок 14:00Pipeline розгортає виправлений образНовий артефакт працює; перевірка ще попереду
Понеділок 14:20Сканування артефакту та регресійні перевірки експорту успішніВиправлення перевірено в межах виконаних перевірок

Визначайте пріоритет за серйозністю, доказами експлуатації, доступністю для атак, ураженими даними та доступними заходами зменшення ризику. Каталог CISA допомагає визначати відому експлуатацію. Це один вхідний чинник, а не повне оцінювання ризику. Каталог CISA.

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

Усуньте прогалину обслуговування

Вимірюйте час до первинного оцінювання та перевіреного усунення за пріоритетом. Відстежуйте прострочені винятки, застарілі сканування, уражені продуктивні версії та повторювані знахідки. Зменшення кількості знахідок також може відображати звуження покриття; досліджуйте знаменник.

Taiga Maintaining сканує пов’язані репозиторії після змін і періодично. Він записує знахідки та пов’язує усунення з ініціативами й переглянутими змінами. Перевірте стан сканування та поточну задокументовану поведінку. Maintaining.

Ваш pipeline усе ще потребує відповідних умов допуску до випуску. Відповідальний за сервіс усе ще має підтвердити розгортання та правильність роботи. Цей безперервний ланцюг — частина експлуатації фабрики програмного забезпечення з ШІ, включно з продуктами, перша версія яких починалася як прототип.

Виконайте вправу

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

Завантажити робочий аркуш (Markdown)
Перевірте своє розуміння ↑

Продовжити навчання

Джерела та додаткові матеріали

Матеріали Taiga за темою

← Попередній урок: Підтримуйте програмне забезпечення протягом усього строку його використання