Специалист DevSecOps

В программе рассматриваются все основные приемы и способы разработки безопасных (доверенных) цифровых платформ и экосистем (DevSecOps). Это позволяет внедрить в практику предприятий достаточно сложный инженерный процесс разработки безопасного ПО, а также применять соответствующие инструментальные средства автоматизации. 

Форма обучения: онлайн-вебинары + самостоятельная практическая работа в СДО

Режим занятий: вечернее обучение - вебинары как правило идут c 18:00 до 21:00. Расписание состоит из 2-3 вебинара в неделю + практическая часть занятий и самостоятельная работа слушателей реализуется в личном кабинете слушателя в СДО.

Слушателям предоставляется доступ к личному кабинету, учебным материалам и записям вебинаров в режиме 24*7 в течение всего срока обучения. Организованы консультации преподавателей в чате и на форуме программы.
В процессе обучения осуществляется методическая и техническая поддержка слушателей, организовано уведомление слушателя о расписании проведения вебинаров, новостные сообщения на форуме и в чате.

К основным практикам обеспечения информационной безопасности относятся:

  • контроль компонент с открытым исходным кодом при попадании в периметр разработки (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)
  • анализ бинарного кода и контроль состава контейнеров (Bytecode and Container Analysis, BCA)
  • реализация WAF (Web Application Firewall) и др. технических мер безопасности.

Успешное окончание обучения по программе данного курса позволит специалистам:

  • Взаимодействовать с командами разработки ПО и операционными подразделениями для анализа функциональных и не функциональных требований, пользовательских сценариев на предмет безопасности;

  • Заниматься подготовкой требований по безопасности, а также контролировать соблюдение требований в процессе разработки ПО;

  • Проводить ревью безопасности разработанной архитектуры приложений (монолитной, SOA, микросервисной), ревью исходного кода ПО, тестирование безопасности релизов и систем в продакшене;

  • Управлять требованиями по безопасности, в частности моделировать и анализировать угрозы безопасности;

  • Управлять уязвимостью программных систем. Вести их учет, оценивать критичность и контролировать исправления в разработке ПО;

  • Разрабатывать шаблоны безопасной архитектуры приложений, внедрять стандартны безопасного программирования, доводить требования безопасности до команд разработки ПО;

  • Внедрять лучшие практики разработки безопасного ПО, DevSecOps (SAST, DAST, dependency check и др);

  • Своевременно информировать команды разработчиков ПО об обнаружении новых и ранее неизвестных уязвимостях программного кода и предлагать обоснованные решения для их нейтрализации.

Цель курса 

Получение компетенций для профессиональной деятельности в области программирования и создания ИТ- продуктов:

  • формализация и алгоритмизация поставленных задач разработки безопасного ПО;
  • написание безопасного программного кода с использованием языков программирования, определение данных и манипулирование ими;
  • оформление программного кода в соответствии с установленными требованиями безопасности;
  • проверка и отладка программного кода современных цифровых платформ и экосистем;
  • проверка программного обеспечения на соответствие требованиям устойчивости и безопасности;
  • разработка тестовых наборов данных;
  • рефакторинг и оптимизация безопасного программного кода.

ПРИОБРЕТАЕМЫЕ ЗНАНИЯ И НАВЫКИ

После изучения курса слушатели будут:

Знать:

  • Основные методы и практики DevSecOps;
  • Методы и приемы алгоритмизации поставленных задач безопасной разработки ПО;
  • Основные структуры данных Python;
  • Алгоритмы решения типовых задач, области и способы их применения;
  • Синтаксис выбранного языка Python;
  • Особенности программирования на Python;
  • Стандартные библиотеки языка Python;
  • Технологии безопасного программирования;
  • Особенности выбранной среды программирования;
  • Методы и приемы отладки программного кода;
  • Типы и форматы сообщений об ошибках и уязвимостях ПО.

Уметь:

  • Применять Python для написания безопасного программного кода;
  • Использовать выбранную среду программирования;
  • Отлаживать программный код;
  • Использовать вспомогательные инструментальные программные средства для обработки исходного текста программного кода;
  • Выявлять ошибки в программном коде;
  • Контролировать компоненты с открытым исходным кодом при попадании в периметр разработки (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);
  • Проводить анализ бинарного кода и контроль состава контейнеров (Bytecode and Container Analysis, BCA);
  • Применять известные технические меры безопасности для разработки безопасного ПО.

Владеть навыками/выполнять следующие трудовые действия:

  • Составление формализованных описаний решений поставленных задач по разработке безопасного ПО в соответствии с требованиями технического задания или других принятых в организации нормативных документов
  • Создание безопасного программного кода в соответствии с техническим заданием (готовыми спецификациями)
  • Оптимизация программного кода с использованием специализированных программных средств DevSecOps
  • Приведение наименований переменных, функций, классов, структур данных и файлов в соответствие с установленными в организации требованиями по безопасности
  • Структурирование исходного программного кода в соответствии с установленными в организации требованиями по безопасности
  • Форматирование исходного программного кода в соответствии с установленными в организации требованиями по безопасности
  • Слияние, разделение и сравнение исходных текстов безопасного программного кода
  • Анализ и проверка исходного программного кода на требования по безопасности

Целевая аудитория

  • DevOps инженеры
  • Архитекторы ПО
  • Программисты
  • Специалисты по ИБ

ПРОГРАММА КУРСА

1. Базовый модуль: Основы программирования и составления алгоритмов

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. Профильный модуль. Разработка безопасного ПО.

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) в части разработки безопасного ПО.

Требования в части идентификации и аутентификации.
Требования по защите от несанкционированного доступа к информации.
Требования в части регистрации событий безопасности. 
Требования контроля точности, полноты и правильности входных и выходных данных.
Требования по обработке программных ошибок и исключительных ситуаций.
Требования класса ASE "Оценка задания по безопасности" (ГОСТ Р ИСО/МЭК 15408-3).
Меры по разработке безопасного программного обеспечения, реализуемые при выполнении инсталляции программы и поддержки приемки программного обеспечения.
Меры по разработке безопасного программного обеспечения, реализуемые при решении проблем в программном обеспечении в процессе эксплуатации.
Меры по разработке безопасного программного обеспечения, реализуемые в процессе менеджмента инфраструктурой среды разработки программного обеспечения.

2.5 Роли и кадровое обеспечение DevSecOps.

Принятие методологии разработки безопасного ПО, DevSecOps (оценка текущих мер безопасности и распределение ролей в команде разработки ПО, внедрение мер безопасности на стадии проектирования программных систем, внедрение инструментов и авто-тестов безопасности в пайплайн, тестирование безопасности разработанных решений, анализ выявленных уязвимостей и подготовка рекомендаций по их устранению, обучение лучшим практикам разработки безопасного ПО, Best Practices).
Распределение ролей в процессе DevSecOps (продакт менеджер, архитектор, команда разработки, QA, AppSec специалист, DevOps инженер).
Воспитание чемпионов безопасности  Security Champions (масштабирование безопасности с помощью нескольких команд разработки, привлечение сотрудников, не связанных с безопасностью, но связанных с DevOps, создание и развитие культуры безопасности).
Повышение осведомленности по вопросам разработки безопасного ПО.
Развитие корпоративной культуры DevSecOps и безопасности в целом.

Необходимая подготовка

  • Среднее профессиональное или высшее образование
  • Опыт работы на персональном компьютере;
  • Знание основ программирования.
  • Знание основ информационной безопасности
  • Математика на базовом уровне
Оставить отзыв

Информация о курсе

14 июня - 11 октября
18:00 - 21:00
Вендор: Информационная безопасность
Код курса: DevSecOps
Продолжительность: 0 дней / 272 ак. часа
Направление: Безопасная разработка ПО
Экзамен:
Все предложения
Записаться на курс

Название курса и комментарии*

Имя*

Фамилия*

Отчество*

Компания

Телефон*

Email*

Настоящим, в соответствии с ч.2.ст.18 Закона Республики Беларусь от 10.11.2008 N 455-З(ред. от 11.05.2016) "Об информации, информатизации и защите информации" и Законом Республики Беларусь от 7 мая 2021 г. № 99-З «О защите персональных данных», отправляя данную форму, вы подтверждаете свое согласие на сбор, обработку и хранение ООО «СофтЛайнБел» Ваших персональных данных. ООО «СофтЛайнБел» гарантирует конфиденциальность получаемой от Вас информации. Сбор, обработка и хранение персональных данных осуществляется в целях эффективного оказания услуг и исполнения договоров.