В программе рассматриваются все основные приемы и способы разработки безопасных (доверенных) цифровых платформ и экосистем (DevSecOps). Это позволяет внедрить в практику предприятий достаточно сложный инженерный процесс разработки безопасного ПО, а также применять соответствующие инструментальные средства автоматизации.
Форма обучения: онлайн-вебинары + самостоятельная практическая работа в системе дистанционного обучения (СДО).
Режим занятий: вечернее обучение - вебинары как правило идут c 18:00 до 21:00. Расписание состоит из 2-3 вебинара в неделю + практическая часть занятий и самостоятельная работа слушателей реализуется в личном кабинете слушателя в СДО.
Слушателям предоставляется доступ к личному кабинету, учебным материалам и записям вебинаров в режиме 24*7 в течение всего срока обучения. Организованы консультации преподавателей в чате и на форуме программы. В процессе обучения осуществляется методическая и техническая поддержка слушателей, организовано уведомление слушателя о расписании проведения вебинаров, новостные сообщения на форуме и в чате.
К основным практикам обеспечения информационной безопасности относятся:
Успешное окончание обучения по программе данного курса позволит специалистам:
Получение компетенций для профессиональной деятельности в области программирования и создания ИТ- продуктов:
После изучения курса слушатели будут:
Знать:
Уметь:
Владеть навыками/выполнять следующие трудовые действия:
1.1 Алгоритм – свойства и способы представления. Типы данных – назначение и роль в программе. Операнды и операторы – вычисление выражений
1.2 Модели разработки программ. Структурное программирование. Базовые принципы: блочная структура кода – блоки и подпрограммы. типовые структуры управления – последовательность, ветвление, цикл
1.3 Соcтавление алгоритмов. Применение машинной логики к задачам поиска данных. Оценка времени работы алгоритмов, эффективность кода.
1.4 Практические примеры составления блок-схем и псевдокода. Простейшие алгоритмические задачи. Перевод алгоритма в код. Подпрограммы (функции) как основные блоки кода. Типовые задачи на обработку текста.
1.5 Понятие массива. Типовые задачи с массивами: доступ к элементу, обход элементов, инициализация элементов.
1.6 Простейшие конструкции данных: список, стек, очередь, дерево. Поиск элемента и сортировка элементов. Реализация динамического стека.
1.7 Установка интерпретатора Python. Основные операции и типы данных. Операторы ветвления и циклы. Установка и запуск среды разработки. Типы данных: числа, строки, списки, логический тип, None. Функции преобразования типов. Простой ввод и простой вывод
1.8 Cтроки. Методы и функции. Использование срезов. Кортеж. Основные операции с кортежем. Распаковка кортежа. Список. Основные операции со списком. Словарь. Основные операции со словарем. Множества. Основные операции с множеством
1.9 Ветвления. Оператор if. Базовая форма цикла while. Операторы break и continue. Перебор (for). Генераторы словарей, списков, множеств
2.1. Основные концепции DevSecOps.
Тренды разработки современного ПО (внедрение практик DevOps, снижение общих сроков разработки ПО (time to market), повышение гибкости в разработке ПО, переход от монолитных к микросервисным приложениям, динамическое выделение ИТ-ресурсов, повышение внимания к вопросам разработки безопасного ПО).
Основные понятия и определения DevOps и DevSecOps.
Ключевые компоненты DevSecOps (анализ кода, управление изменениями, мониторинг соотвествия, иследование угроз безопасности, оценка уязвимости кода, обучение и повышение осведомленности)
Основные этапы DevSecOps (разработка приложения и работа с репозиторием программ, непрерывная интеграция (CI) и тестирование приложения, непрерывное развертывание (CD) приложения в рабочей среде, контроль новой версии приложения в рабочей среде).
Возможные сценарии интеграции DevSecOps в процессы и инфраструктуру компании.
Адаптации функции кибербезопасности и интеграции DevSecOps.
Проведение оценки безопасности процесса разработки, а также идентификация ключевых рисков и риск-факторов, связанных с недостатками процесса.
Ключевые точки процесса разработки, где необходимо включение мер безопасности.
Информирование сотрудников о критических рисках и мерах для их снижения.
2.2. Основные практики DevSecOps. Моделирование угроз безопасности (Threat modeling).
Контроль компонент с открытым исходным кодом (Open Source Analysis, OSA).
Статический анализ кода (Static Application Security Testing, SAST).
Контроль состава компонент ПО (Software Composition Analysis, SCA).
Динамический анализ кода (Dynamic Application Security Testing, DAST/Interactive Application Security Testing, IAST/Behavioral Application Security Testing, BAST).
Фаззинг-тестирование (fuzzing).
Анализ бинарного кода и контроль состава контейнеров (Bytecode and Container Analysis, BCA).
Решения для выявления и нейтрализации уязвимостей программного кода.
Реализация WAF (Web Application Firewall).
2.3 Трансформация DevOps в DevSecOps. Использование безопасных по умолчанию библиотек, фреймворков и компонент ПО в процессе разработки (Secure-by-Default).
Интеграция технологических практик ИБ в начало конвейера CI/CD (Shift-Left подход).
Автоматизация процессов в концепции Everything-as-a-Code.
Формирование сообщества security-чемпионов в производственных командах для повышения инженерной security-культуры.
Применение модели зрелости DevSecOps для оценки существующего процесса и для постоянного совершенствования.
Обеспечение прозрачности security активностей для участников инженерного производственного процесса.
DevSecOps-оркестрация (Application Security Testing Orchestration, ASTO) для непрерывного улучшения процесса разработки безопасного ПО.
2.4 Национальные требования (Российской Федерации) ГОСТ Р 56939-2016 и ГОСТ Р ИСО/МЭК 12207 в части разработки безопасного ПО (курс проводится в партнерстве с российским учебным центром, данный модуль занимает 3 вебинара, слушатели из Белариси могут его пропустить).
Требования в части идентификации и аутентификации.
Требования по защите от несанкционированного доступа к информации.
Требования в части регистрации событий безопасности.
Требования контроля точности, полноты и правильности входных и выходных данных.
Требования по обработке программных ошибок и исключительных ситуаций.
Требования класса ASE "Оценка задания по безопасности" (ГОСТ Р ИСО/МЭК 15408-3).
Меры по разработке безопасного программного обеспечения, реализуемые при выполнении инсталляции программы и поддержки приемки программного обеспечения.
Меры по разработке безопасного программного обеспечения, реализуемые при решении проблем в программном обеспечении в процессе эксплуатации.
Меры по разработке безопасного программного обеспечения, реализуемые в процессе менеджмента инфраструктурой среды разработки программного обеспечения.
2.5 Роли и кадровое обеспечение DevSecOps.
Принятие методологии разработки безопасного ПО, DevSecOps (оценка текущих мер безопасности и распределение ролей в команде разработки ПО, внедрение мер безопасности на стадии проектирования программных систем, внедрение инструментов и авто-тестов безопасности в пайплайн, тестирование безопасности разработанных решений, анализ выявленных уязвимостей и подготовка рекомендаций по их устранению, обучение лучшим практикам разработки безопасного ПО, Best Practices).
Распределение ролей в процессе DevSecOps (продакт менеджер, архитектор, команда разработки, QA, AppSec специалист, DevOps инженер).
Воспитание чемпионов безопасности Security Champions (масштабирование безопасности с помощью нескольких команд разработки, привлечение сотрудников, не связанных с безопасностью, но связанных с DevOps, создание и развитие культуры безопасности).
Повышение осведомленности по вопросам разработки безопасного ПО.
Развитие корпоративной культуры DevSecOps и безопасности в целом.
6480 BYN
с учетом НДС 20%
под руководством инструктора