В результате обучения Вы получите шаблон (образец) "Руководства по РБПО" в соответствии с требованиями п. 4.10 - 4.11 ГОСТ Р 56939-2016. В обязательном порядке Вами будут изучены и досконально рассмотрены требования к документам в соответствии с требованиями п. 4.12 ГОСТ Р 56939-2016 (образцы покажем, дадим). Отдельный день посвящён требованиям ГОСТ Р ИСО/МЭК 27001 и политике ИБ организации (шаблон которой также Вам будет предоставлен), в соответствии с требованиями п. 4.13 ГОСТ Р 56939-2016. Также, в обязательном порядке, будут рассмотрены требования всех документальных подтверждений выполнения требований ГОСТ Р 56939-20ХХ, в соответствии со всеми 25 процессами РБПО. Это будет сделано для того, чтобы Вам быть готовым к переходу на требования нового стандарта - ГОСТ Р 56939-20ХХ. По мнению регулятора, ГОСТ Р 56939-20ХХ будет утверждён уже в этом году.
Ждём Вас на наших курсах по безопасной разработке ПО!
Программа курса:
Раздел 1. Организация ЭВМ и вычислительных систем. Операционные системы Windows. Операционные системы Linux.
• Установка, настройка и администрирование безопасной среды функционирования программного обеспечения на примере операционных систем Windows и Linux.
Раздел 2. Сетевые технологии. OSI vs TCP/IP. Принципы организации безопасного межсетевого взаимодействия, принципы организации и структуры кадров основных протоколов стека TCP/IP.
• Настройка и администрирование ЛВС. Настройка и администрирование безопасной среды функционирования программного обеспечения на примере компьютерной сети предприятия;
• Сбор информации об ИТ-инфраструктуре (инвентаризация активов) с помощью программного комплекса «Сканер-ВС 6.0».
Раздел 3. Основы информационной безопасности. Основные руководящие нормативные и методические документы РФ. Основные методы защиты от угроз нарушения конфиденциальности, целостности и доступности информации. Модели угроз, нарушителя и модели защиты.
• Создание проекта модели угроз, нарушителя и модели защиты с использованием БДУ ФСТЭК России.
Раздел 4. Хроника языков программирования. Проектирование архитектуры программного обеспечения. Жизненный цикл разработки безопасного программного обеспечения.
• Практика создания программ на популярных языках программирования с учетом требований безопасности.
Раздел 5. Понятийная база (основные термины и определения) процессов безопасной разработки программного обеспечения.
• Оценивание программного обеспечения в соответствии с ГОСТ ИСО/МЭК 15408-Х (ч. 1, 2, 3);
• Изучение взаимосвязи мер по разработке безопасного программного обеспечения (ГОСТ Р 56939–2016) и требований ГОСТ Р ИСО/МЭК 15408–3.
Раздел 6. Методологии разработки безопасного программного обеспечения.
• Основные практики и принципы безопасной разработки;
• Software Development Lifecycle (SDLc);
• Основные практики Security Development Lifecycle (SDL);
• DevOps;
• DevSecOps;
• Методики оценки зрелости ИБ процессов;
• Принципы дизайна.
Раздел 7. Общие сведения о сертификации и лицензировании программного обеспечения. Основные руководящие нормативные и методические документы. Сертифицированные испытания. Структура документации для подачи заявки и проведения сертификационных испытаний по требованиям доверия согласно требованиям приказа ФСТЭК России от 2 июня 2020 г. № 76. Структура документации для подачи заявки и проведения сертификационных испытаний в соответствии с требованиями приказа Министра обороны Российской Федерации 2020 года № 488.
• Создание проекта документации для подачи заявки на проведение сертификационных испытаний по требованиям доверия в соответствии с требованиями приказа ФСТЭК России от 2 июня 2020 г. № 76;
• Создание проекта документации для подачи заявки на проведение сертификационных испытаний по требованиям системы сертификации средств защиты информации в Министерстве обороны Российской Федерации.
Раздел 8. Организация на предприятии процессов БРПО. Руководство по разработке безопасного ПО в соответствии с требованиями ГОСТ Р 56939–2016.
• Руководство по разработке безопасного ПО в соответствии с требованиями ГОСТ Р 56939–2016.
Раздел 9. Планирование процессов разработки безопасного ПО. Процессы жизненного цикла ПО. Порядок организации работ по созданию безопасного ПО, выполняемых в рамках процессов жизненного цикла ПО.
• Порядок организации работ по созданию безопасного ПО, выполняемых в рамках процессов жизненного цикла ПО;
• Дорожная карта (алгоритм) внедрения БРПО на предприятии.
Раздел 10. Обучение сотрудников в соответствии с требованиями ГОСТ Р 56939–2016.
• Создание проекта плана обучения. Организация учёта обучения сотрудников;
• Мероприятия по повышению осведомленности разработчика о возможных типовых угрозах, ошибках и уязвимостях в разрабатываемом ПО, механизмах их недопущения или минимизации вероятности их возникновения, порядке сопровождения ПО и управления жизненным циклом.
Раздел 11. Формирование и предъявление требований безопасности к ПО.
• Формирование требований к безопасному ПО с учётом требований законов, нормативных правовых актов, отраслевых стандартов, перечня требований пользователя, а также сценариев применения безопасного ПО. Разработка технического задания на создание безопасного ПО в соответствии с требованиями ГОСТ 19.201.
Раздел 12. Управление конфигурацией ПО.
• Регламент управления конфигурацией в рамках жизненного цикла ПО;
• Регламент управления конфигурацией в рамках жизненного цикла ПО.
Раздел 13. Управление недостатками и запросами на изменение ПО.
• Регламент управления недостатками ПО.
Раздел 14. Разработка, уточнение и анализ архитектуры ПО.
• Требования безопасности к принципам проектирования архитектуры ПО, направленным на снижение количества потенциальных уязвимостей с учетом результатов моделирования угроз безопасности информации;
• Как получить документально оформленный проект архитектуры программы.
Раздел 15. Моделирование угроз.
• Меры по нейтрализации угроз безопасности, связанных с особенностями реализации архитектуры ПО, модель угроз.
•Описание поверхности атаки. Угрозы безопасности ПО, актуальные для выполненных изменений. Анализ поверхности атаки методом сканирования интерфейсов ПО (локальных и сетевых интерфейсов взаимодействия с ПО (модулями ПО) пользователя и взаимодействий модулей ПО между собой, средой функционирования и внешними объектами при их наличии;
• Перечень целей (функциональных подсистем, программных модулей ПО и их интерфейсов) для проведения дальнейших исследований безопасности ПО (например, фаззинг - тестирования) с учетом архитектуры ПО, результатов моделирования угроз и выполнения анализа поверхности атаки для разработанного кода ПО).
Раздел 17. Формирование и поддержание в актуальном состоянии правил кодирования. Примеры опасных и безопасных конструкций для используемых в ПО языков программирования. Перечень правил и рекомендаций, направленных на устранение недостатков программы (потенциально уязвимых конструкций) в исходном коде программы, либо правила документирования.
• Регламент оформления исходного кода и безопасного кодирования. Программные средства автоматической проверки правил кодирования.
Раздел 18. Экспертиза исходного кода.
• Регламент проведения экспертизы исходного кода ПО;
• Экспертиза исходного кода ПО.
Раздел 19. Использование инструментов композиционного анализа.
• Регламент композиционного анализа. Перечень зависимостей ПО.
Раздел 20. Методы, подходы и инструменты декомпиляции исходного кода программы для компонентов, заимствованных у сторонних разработчиков ПО, с целью получения исходного кода программы и проведения его статического анализа. Реверс-инжиниринг. Введение, базовые понятия и инструменты реверс-инжиниринга. Применение реверс-инжиниринга при безопасной разработке ПО. Реверс-инжиниринг. Язык ассемблера, дизассемблирование и декомпиляция исполняемого кода.
• Проведение анализа заимствованных компонентов, составляющих поверхность атаки, на предмет наличия известных уязвимостей при сборке (непосредственно перед сборкой) ПО (компонентов, модулей ПО). Преодоление методов защиты от реверс-инжиниринга;
• Дизассемблирование и декомпиляция конструкций языков высокого уровня в коде, выполняющемся до загрузки операционной системы, в программах пользовательского уровня. Поиск уязвимостей и недокументированных возможностей с помощью реверс-инжиниринга.
Раздел 21. Статический анализ исходного кода. Регламент проведения статического анализа исходного кода ПО. Инструменты статического анализа.
• Практика применения статических анализаторов на стеке разработки веб-приложений.
Раздел 22. Применение статического анализа для обеспечения безопасной разработки. Инструменты статического анализа. Методы статического анализа программного кода.
• Практика применения статических анализаторов для компилируемых языков;
• Статический анализ кода, экспертиза исходного кода программы (ручное рецензирование). Применение автоматизированных средств при сертификационных испытаниях на примере использования анализатора исходных текстов «АК-ВС 3». Разбор дефектов и ручная разметка результатов статического анализатора.
Раздел 23. Подходы к формированию исходных данных для выполнения динамического анализа кода программы, фаззинг-тестирования программы и тестирования на проникновение в рамках процесса квалификационного тестирования ПО. Квалификационное тестирование ПО.
· Практика применения динамических анализаторов на стеке разработки веб-приложений.
Раздел 24. Динамический анализ кода программы. регламент проведения динамического анализа кода ПО. Инструменты динамического анализа и фаззинг-тестирования.
• Практика применения динамических анализаторов для компилируемых языков;
• Практика применения динамических анализаторов для анализа бинарных исполняемых модулей без исходного кода.
Раздел 25. Использование безопасной системы сборки ПО.
• Регламент безопасной сборки ПО.
Раздел 26. Обеспечение безопасности сборочной среды ПО.
• Регламент обеспечения безопасности сборочной среды;
• Схема сборочной среды. Журналы аудита процессов сборки ПО.
Раздел 27. Обеспечение целостности кода при разработке ПО.
• Политика доступа к исходному коду ПО и обеспечения его целостности. Модель управления доступом к исходному коду ПО.
Раздел 28. Обеспечение безопасности используемых секретов.
• Регламент использования секретов;
• Описание реализации процедуры использования секретов.
Раздел 29. Проверка кода на предмет внедрения вредоносного кода через цепочки поставок.
• Организация контроля зависящих от сторонних поставщиков элементов разработки. Организация контроля договорных обязательств со сторонними поставщиками. Организация процесса выявления элементов инфраструктуры разработчика, воздействие на которые может повлиять на возникновение недекларированных возможностей в ПО.
Раздел 30. Функциональное тестирование.
• План функционального тестирования. Отчет по результатам функционального тестирования. Журналы регистрации хода проведения функционального тестирования;
• Системы управления ошибками.
Раздел 31. Нефункциональное тестирование. Проведение нефункциональных тестов, в том числе, имитирующих действия потенциального нарушителя.Раздел 31. Нефункциональное тестирование. Проведение нефункциональных тестов, в том числе, имитирующих действия потенциального нарушителя.
• Регламент проведения нефункционального тестирования. Описание объекта нефункционального тестирования. Отчет по результатам нефункционального тестирования.
Раздел 32. Теоретическая часть по анализу уязвимостей (тестирования на проникновение). Введение в OWASP Top 10. Разбор наиболее опасных уязвимостей веб-приложений.
• Проведение тестирования на проникновение на примере уязвимого веб-приложения. Практика применения автоматизированных средств (инструментов) при сертификационных испытаниях.
Раздел 33. Обеспечение безопасности при выпуске готовой к эксплуатации версии ПО.
• Регламент приемки ПО. Регламент обеспечения целостности ПО, передаваемого пользователям.
Раздел 34. Применение цифровой подписи ПО в качестве меры, реализующей возможность проверки целостности ПО.
• Применение цифровой подписи ПО в качестве меры, реализующей возможность проверки целостности ПО.
Раздел 35. Безопасная доставка ПО пользователям.
• Документация безопасной доставки ПО пользователям. Состав и порядок передачи эксплуатационной документации.
Раздел 36. Обеспечение поддержки ПО на этапе эксплуатации пользователями
• Документация технической поддержки. Организация работы службы технической поддержки;
• Процедура оповещения пользователей о выпуске обновлений (включая обновления безопасности) и необходимости их установки. Процедура информирования пользователей ПО о выявленных уязвимостях и способах реализации мер по их нейтрализации до разработки обновлений безопасности, устраняющих уязвимость, по установленным каналам взаимодействия.
Раздел 37. Обеспечение реагирования на информацию об уязвимостях.
• Регламент реагирования на информацию об уязвимостях. Использование средств автоматизации (системы управления изменениями, системы отслеживания ошибок, системы управления задачами);
• Поиск уязвимостей в эксплуатирующемся ПО, регламент поиска ошибок и уязвимостей в ПО при его эксплуатации. Отчеты по результатам проводимых проверок, в которые включается информация об исправлении найденных ошибок, выпуска обновлений ПО и доставки обновлений ПО пользователям.
Раздел 38. Обеспечение безопасности при выводе ПО из эксплуатации.
• Описание условий, при которых ПО (версию ПО) необходимо выводить из эксплуатации. Регламент вывода ПО из эксплуатации;
• Рекомендации по формированию совокупности процессов, подлежащих реализации разработчиком безопасного ПО в рамках научно-исследовательских и опытно-конструкторских работ.