Главная лекция о внедрении РБПО

Не ищите шаблон.
Постройте безопасную разработку.

Документ не создаёт безопасность. Её создаёт работающая система: люди, инструменты и процессы. Документ появляется следом — как честное описание этой системы и её доказательств.

Чужой регламент — это чужие очки: выглядят правильно, но фокус не ваш.

Люди×Инструменты×ПроцессыДоказательства
01 / неверный вопрос

«Дайте правильный шаблон» — звучит разумно. И ведёт не туда.

Желание начать с документа понятно: файл видим, его можно согласовать, положить в папку и показать проверяющему. Он даёт ощущение порядка раньше, чем появился сам порядок.

МИФ 01

«Кем-то одобренный» текст подойдёт и нам

У другой организации иные продукты, роли, репозитории, стек, поставщики, модель угроз, допустимый риск и способ выпуска. Копирование переносит слова — не способность выполнять работу.

МИФ 02

Толстый документ означает зрелый процесс

Объём не доказывает исполнение. Сто страниц текста не компенсируют отсутствующий контроль, неразобранные срабатывания и выпуск без проверки.

МИФ 03

Купленный сканер уже является процессом

Инструмент без владельца, правил запуска, triage, срока исправления, повторной проверки и решения по исключению производит шум — не безопасность.

Мои шаблоны вам не подойдут как готовая система. Они могут быть примером структуры, но вашу реальность придётся спроектировать, запустить, проверить и только затем описать.

02 / несущая конструкция

Триада, без которой РБПО остаётся декорацией

Элементы не складываются — они перемножаются. Если один равен нулю, итоговая способность организации тоже равна нулю.

ЛЮДИ / субъект ответственности

Назначьте не «ответственных вообще», а владельцев решений

  • Владелец процесса задаёт правила, метрики и улучшения.
  • Разработчик устраняет причину дефекта и добавляет regression test.
  • Security champion или AppSec помогает с triage и сложными решениями.
  • Владелец риска принимает ограниченное исключение с причиной и сроком.
  • Владелец выпуска проверяет gate и комплект доказательств.

Если людей нет: отчёты копятся, ложные срабатывания не отделяются от уязвимостей, а исключения становятся бессрочными.

ИНСТРУМЕНТЫ / техническая способность

Подберите средства под продукт, стек и доказуемую задачу

  • репозиторий и защищённый pipeline с управляемыми правами;
  • SAST и правила компилятора для используемых языков;
  • SCA, реестр компонентов, SBOM и контроль лицензий;
  • sanitizers, fuzzing и DAST там, где есть проверяемые интерфейсы;
  • issue tracker, хранилище evidence и контролируемые секреты.

Если инструментов нет: требование остаётся намерением, которое нельзя повторяемо выполнить и проверить.

ПРОЦЕССЫ / воспроизводимый порядок

Свяжите работу с входом, выходом, gate и обратной связью

  • что запускает действие и какие данные нужны на входе;
  • кто выполняет, проверяет и принимает решение;
  • какой критерий означает pass, fail или допустимое исключение;
  • какой артефакт остаётся и сколько он хранится;
  • как finding возвращается в разработку и как подтверждается исправление.

Если процесса нет: полезные действия случаются эпизодически и исчезают при смене специалиста.

Безопасная разработка — не папка документов.
Это способность организации снова и снова получать проверяемый безопасный результат.

03 / след работающей системы

Если процесс есть, он оставляет следы

Не надо сочинять соответствие задним числом. Спроектируйте работу так, чтобы доказательства возникали естественно и были связаны с решением.

  1. 01ТребованиеID, источник, критерий проверки
  2. 02Решениеархитектура, модель угроз, review
  3. 03Проверкалог запуска, отчёт, версия правил
  4. 04Triageвладелец, приоритет, обоснование
  5. 05Изменениеcommit, тест, связь с finding
  6. 06Retestновый результат и release decision
ЗадачаНаблюдаемый следРешение
Threat modelingграницы доверия, угрозы, меры, reviewриск покрыт или принят владельцем
SASTверсия анализатора, правила, finding, triageисправить, доказать false positive, ограничить исключение
SCA / SBOMкомпонент, версия, источник, лицензия, уязвимостьallow, remediate, replace или reject
DAST / fuzzingзафиксированная сборка, corpus, конфигурация, crashвоспроизвести, устранить причину, выполнить retest
Выпусксводка gates, исключения, подпись решенияrelease, hold или возврат в разработку
04 / проверка реальностью

Документ может быть безупречным — и полностью мёртвым

Представьте подробный регламент статического анализа: роли, формы, сроки, десятки страниц. Его никто не открывает. В pipeline нет обязательного gate. А динамические проверки C/C++ продукта вообще выпали из поля зрения.

БУМАЖНАЯ ЗРЕЛОСТЬ

Всё описано

  • регламент согласован;
  • форма отчёта существует;
  • сканер закуплен;
  • ответственность размыта;
  • результат не влияет на выпуск.
Доказательство безопасности: отсутствует

ОПЕРАЦИОННАЯ ЗРЕЛОСТЬ

Всё выполняется

  • gate запускается автоматически;
  • critical finding имеет владельца;
  • исключение ограничено сроком;
  • исправление подтверждает retest;
  • release decision связан с evidence.
Регламент: краткое и точное описание реальности

Нельзя закончить здание, а потом вынуть плитку и доказать, что раствор под ней был приготовлен правильно. Так же нельзя выпустить продукт, а затем восстановить отсутствующие review, логи проверок и решения по риску.

Доказательства проектируются заранее — в контрольных точках жизненного цикла.

ПРИМЕР / C/C++ PIPELINE

Не список флагов, а связанный контур контроля

Конкретные параметры зависят от компилятора, libc, целевой ОС, архитектуры и требований к производительности. Но каждый выбор должен иметь владельца, место запуска, критерий и сохранённый результат.

Компиляция · запрет опасных предупреждений
-Wall -Wextra -Wpedantic -Wconversion
-Wshadow -Wformat=2 -Werror=format-security
Release hardening · пример для ELF toolchain
-O2 -D_FORTIFY_SOURCE=3
-fstack-protector-strong -fPIE
-Wl,-pie -Wl,-z,relro,-z,now
-Wl,-z,noexecstack
Отдельный CI-профиль · динамическая диагностика
-O1 -g -fno-omit-frame-pointer
-fsanitize=address,undefined

# ThreadSanitizer запускается отдельно:
-fsanitize=thread

Проверяемый минимум контура: review модели угроз → правила secure coding → компиляторные предупреждения → SAST → SCA и SBOM → unit/negative tests → sanitizers → fuzzing → DAST для доступных интерфейсов → triage → исправление → retest → решение о выпуске. Ни один инструмент не универсален; применимость фиксируется к продукту и сценарию угроз.

05 / правильное место документов

Сначала работа. Потом её честная проекция на документы.

Регламент нужен — но не как заклинание. Он служит интерфейсом между исполнителями, руководством, заказчиком и проверяющим.

СЛОЙ 01 · СТАБИЛЬНЫЙ

Политика и руководство

Цели, область действия, принципы, роли верхнего уровня, модель governance и связь с риском.

СЛОЙ 02 · ОПЕРАЦИОННЫЙ

Регламенты и инструкции

Конкретные входы, действия, инструменты, gates, критерии, исключения, форматы evidence и сроки хранения.

СЛОЙ 03 · ДОКАЗАТЕЛЬНЫЙ

Записи и артефакты

Логи, отчёты, approvals, tickets, SBOM, результаты review и retest — автоматически связанные с версией продукта.

Документ живой

версионируется рядом с изменениями процесса, имеет владельца и дату следующего пересмотра;

Документ исполнимый

называет роль, вход, выход, критерий, систему учёта и маршрут исключения;

Документ проверяемый

позволяет выбрать операцию и дойти до фактического evidence без ручной реконструкции;

Документ доступный

актуальная версия формируется по кнопке, а устаревший файл нельзя принять за действующий.

Смените вопрос

БЫЛОГде взять правильный шаблон?

СТАЛОКто, чем и по какому правилу получает результат — и какое доказательство остаётся?

ЗАКАЗЧИК / ПРОВЕРЯЮЩИЙ / ВЛАДЕЛЕЦ ТРЕБОВАНИЯ

Согласуйте способ проверки до начала работы

  1. Какое свойство безопасности требуется?
  2. Какой метод и на какой версии продукта это проверяет?
  3. Кто участвует и кто принимает решение?
  4. Как выглядит достаточное evidence?
  5. Как оформляется несоответствие, исключение и повторная проверка?

ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ / ПРАВИЛЬНАЯ РОЛЬ

Ускорять описание реальности — да. Выдумывать реальность — нет.

Искусственный интеллект может собрать первый черновик инструкции, нормализовать термины, проверить связность ролей и критериев. Но только после того, как вы передали ему правдивый контекст: архитектуру, роли, фактический pipeline, решения и образцы evidence.

  • не отправляйте исходный код, модели угроз и внутренние документы во внешний сервис без одобрения;
  • учитывайте классификацию данных, договорные ограничения и минимальные привилегии;
  • фиксируйте модель, промпт, версию результата и человеческое согласование;
  • не позволяйте убедительному тексту подменить отсутствующий процесс.
нормативная рамка / не библиотека Word-файлов

Стандарты задают задачи и ожидаемые результаты. Систему строите вы.

Нормативная и методическая база помогает определить полноту. Она не знает вашу архитектуру, людей и pipeline — поэтому не может выдать готовый регламент вашей организации.

Важная граница: применимость конкретного стандарта или требования устанавливают по области регулирования, договору, типу продукта и принятой модели соответствия. Исключение задачи обосновывается риском и неприменимостью — отсутствие специалиста или инструмента само по себе не является обоснованием безопасности.

06 / внедрение без театра

Начните не с библиотеки шаблонов, а с одного честного пилота

Выберите один продукт и один значимый риск. Постройте короткий сквозной путь, соберите доказательства и используйте его как эталон для масштабирования.

  1. 01
    Определите границы

    Продукт, репозитории, pipeline, версии, поставщики, данные и доверенные зоны.

  2. 02
    Назовите риск и требование

    Что именно нельзя допустить и как выглядит проверяемый результат.

  3. 03
    Назначьте людей

    Владелец процесса, исполнители, проверяющий, владелец риска и выпуска.

  4. 04
    Подключите минимальные инструменты

    Только те, которые команда способна запускать, разбирать и поддерживать.

  5. 05
    Соберите сквозной процесс

    Вход → действие → gate → evidence → решение → обратная связь.

  6. 06
    Прогоните реальную выборку

    Не демонстрационный happy path, а настоящий finding и его полный жизненный цикл.

  7. 07
    Опишите то, что выдержало проверку

    Короткий регламент, конкретная инструкция, формы записей и понятный контроль изменений.

GO

Роли действуют, инструменты воспроизводимы, finding проходит до retest, evidence доступно, регламент совпадает с практикой.

NO-GO

Есть только файл, сканер или декларация; непонятны владелец, критерий, решение и след исполнения.

07 / взять с собой

Материалы для осмысления и работы

Это не универсальные регламенты. Используйте их как объяснение принципов, основу обсуждения и проверку собственной логики внедрения.

PDF

АВТОРСКИЙ PDF

Мантра БРПО–РБПО

Автор материала: Пиков Виталий Александрович. Материал составлен на основе сообщений Дмитрия Владимировича Пономарёва в Telegram; текст согласован с Дмитрием. Дмитрий Пономарёв — автор исходных сообщений и не участвовал в подготовке и оформлении материала.

Размер
4,11 МБ
SHA-256
5637fc29…94dde7
Скачать PDF
MD

АВТОРСКИЙ КОНСПЕКТ

РБПО: от процесса к документам

Автор: Пиков Виталий Александрович. Подробный текст для чтения, обсуждения и адаптации к своей системе.

Размер
28,43 КБ
SHA-256
67064b43…3e78d7
Скачать Markdown
финал / главный тезис

Не просите у чужого документа разрешения начать.

Создайте людей.
Подключите инструменты.
Запустите процессы.
Покажите доказательства.

И только потом напишите регламент, которому можно верить.

АВТОР ЛЕКЦИИ

Пиков Виталий Александрович

Эксперт по безопасной разработке ПО, DevSecOps и AppSec