Как читать авторский курс и нормативные материалы
Это учебные материалы, а не заключение о соответствии конкретного продукта. Организационные модели курса отделяйте от терминов стандарта: ППК в опубликованном проекте — машиночитаемый перечень, а живой реестр его версий является практикой сопровождения. Термин OSA в разных материалах имеет разный охват. Статус и обязательность нормативного документа проверяются отдельно; проект КАПО опубликован как проект первой редакции.
План занятия: Защита цепочки поставки и OSA
Длительность: 90 минут. Формат: лекция + демонстрация + практическая работа в парах.
Цели занятия
К концу занятия слушатель умеет: - классифицировать атаку на цепочку поставки по трём классам (вредоносный пакет / путаница в именах / подрыв апстрима) и назвать контроль под каждый; - объяснить разницу между OSA (контроль доступа на входе) и SCA (контроль состава), не сводя одно к другому; - описать архитектуру OSA-контура: блокирующий режим (плагин к менеджеру артефактов) vs сканирующий, OSA Proxy, карантин, политики; - спроектировать заготовку политики controlled repository с этапами warmup → monitoring → blocking.
Материалы
- Конспект модуля;
- стенд с пакетным менеджером (npm или pip) и доступом к OSA-proxy либо демо-инсталляции;
- заготовка таблицы политики (условие → действие) для практики;
- П17. OSA controlled repository policy, П18. OSA Proxy режимы и ограничения;
- ГОСТ Р 56939-2024 — раздел про защиту цепочки поставки.
Ход занятия
| Мин | Блок | Что происходит |
|---|---|---|
| 0–8 | Вводный кейс | Разбираем червь Shai-Hulud: install → локальный поиск секретов → публикация → самораспространение в пакеты жертвы. Вопрос аудитории: на каком шаге SCA уже бессилен? (Ответ: SCA смотрит собранное, а нагрузка выполнилась на install.) |
| 8–28 | Лекция: таксономия атак | Три класса атак с примерами: вредоносный пакет (кража env, бэкдор); путаница в именах (typosquatting djngo, combosquatting, brandjacking aws-…, slopsquatting / LLM-галлюцинации); подрыв апстрима (XZ, protestware node-ipc/colors/faker). Под каждый класс — контрмера. |
| 28–48 | Лекция: OSA-контур | OSA на входе vs SCA по составу. Архитектура: плагин к Nexus/JFrog (блокирующий режим) vs OSA Proxy (без привязки к хранилищу) vs сканирующий режим (Harbor, GitLab Registry). Карантин «молодых» версий, dependency confusion и приоритет индексов. Разбор mermaid-потока из конспекта. |
| 48–63 | Демонстрация | Преподаватель показывает запрос пакета через OSA-proxy: «чистый» пакет проходит, заблокированный (typosquat / из stop-list) — отказ, «молодая» версия — карантин. Показать фрагмент политики «условие → действие». Параллельно — построение SBOM на проверяемый Docker-образ через OSA. |
| 63–85 | Практическая работа (в парах) | Слушатели проектируют политику controlled repository для своей экосистемы: этапы warmup/monitoring/blocking, 4–6 правил «условие → действие», правила карантина, процедура исключений и audit trail. См. Практическая работа. |
| 85–90 | Рефлексия и контрольная точка | Каждая пара называет: какое правило точно сломает разработку без процедуры исключений, и чем подтверждается решение при аудите. |
Контрольная точка
Слушатель должен: 1. на конкретной атаке показать, почему OSA ловит то, что SCA пропускает; 2. различить блокирующий и сканирующий режимы и сказать, какой нужен для критичного потока; 3. предъявить заготовку политики с этапами warmup → monitoring → blocking и процедурой исключений.
Домашнее задание
Достроить политику до состояния, пригодного для регламента Организации, по чек-листу из 05 Что проверять на проекте; свериться с П18. OSA Proxy режимы и ограничения на предмет границ применимости proxy-режима.