Специалист DevSecOps

Направление
DevOps
Длительность обучения
272 академ. часов

О курсе

Актуальность программы вызвана необходимостью подготовки DevSecOps инженеров, способных к внедрению безопасного инженерного процесса разработки современных цифровых платформ и экосистем на основе лучших международных практик разработки безопасного программного обеспечения (ПО). Кратко основные достоинства такой подготовки и переподготовки можно выразить в трех основных тезисах: скорость, безопасность и эффективность программного кода. В настоящее время большинство отечественных компаний перешли к внутреннему (in-house) развитию ИТ-систем, до этого большинство систем и решений поставляли внешние зарубежные и отечественные производители ПО. По этой причине стало важным повысить качество, безопасность и скорость разработки ПО за счет формирования внутренних команд разработки и построения собственного производственного ИТ-процесса. Это привело к формированию десятков и сотен команд разработки ПО (от 500 до 30 000 штатных и внешних разработчиков ПО), каждая из которых использует свой набор методов для автоматизации развертывания приложений в различных средах (pipeline). Также это потребовало задействовать автоматическую доставку изменений на промышленные контуры. В результате, это позволило сформировать упомянутый набор методов и перевести разработку во внутренний сегмент не только для новых систем с гибкой микросервисной архитектурой, но и для большого числа сложных монолитных систем, базирующихся на «коробочных» решениях, адаптированных под требования отечественных цифровых предприятий. Таким образом, переход к практикам DevSecOps является одним из стратегических направлений (стримов) современных отечественных цифровых предприятий и подразумевает трансформацию служб, занимающиеся разработкой, тестированием и эксплуатацией ПО, в так называемые кросс-функциональные команды, работающие над одной бизнес-функциональностью. В свою очередь это потребовало включения в состав команд разработки специалистов по архитектуре и разработке ПО, технологов, тестировщиков и DevSecOps-инженеров. Такой переход к кросс-функциональным командам предъявил новые требования к процессам управления кодом (исходным, тестирования, развертывания и т. д.), управления тестированием и разработкой. Там, где ранее были допустимы разрывы в процессах, сейчас они становятся критическими препятствиями, и необходимо постоянно совершенствовать DevSecOps ландшафт в части инструментов и устранения разрывов в процессах. В условиях трансформации бизнеса и сокращения времени вывода новых цифровых продуктов на рынок основным индустриальным вызовом становится обеспечение информационной безопасности на всех этапах непрерывного производственного процесса. Успешное окончание обучения по программе данного курса позволит специалистам: Взаимодействовать с командами разработки ПО и операционными подразделениями для анализа функциональных и не функциональных требований, пользовательских сценариев на предмет безопасности; Заниматься подготовкой требований по безопасности, а также контролировать соблюдение требований в процессе разработки ПО; Проводить ревью безопасности разработанной архитектуры приложений (монолитной, SOA, микросервисной), ревью исходного кода ПО, тестирование безопасности релизов и систем в продакшене; Управлять требованиями по безопасности, в частности моделировать и анализировать угрозы безопасности; Управлять уязвимостью программных систем. Вести их учет, оценивать критичность и контролировать исправления в разработке ПО; Разрабатывать шаблоны безопасной архитектуры приложений, внедрять стандартны безопасного программирования, доводить требования безопасности до команд разработки ПО; Внедрять лучшие практики разработки безопасного ПО, DevSecOps (SAST, DAST, dependency check и др.); Своевременно информировать команды разработчиков ПО об обнаружении новых и ранее неизвестных уязвимостях программного кода и предлагать обоснованные решения для их нейтрализации. В программе рассматриваются все основные приемы и способы разработки безопасных (доверенных) цифровых платформ и экосистем (DevSecOps). Это позволяет внедрить в практику отечественных цифровых предприятий достаточно сложный инженерный процесс разработки безопасного ПО, а также применять соответствующие инструментальные средства автоматизации. К основным практикам обеспечения информационной безопасности относятся: Контроль компонент с открытым исходным кодом при попадании в периметр разработки (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) и др. технических мер безопасности. При масштабировании и трансформации процессов разработки ПО в производную парадигму DevSecOps также важным является: Использование безопасных по умолчанию библиотек фреймворков и компонент ПО в процессе разработки (Secure-by-Default); Интеграция технологических практик ИБ в самое начало конвейера CI/CD (Shift-Left подход); Автоматизация всех процессов в концепции Everything-as-a-Code; Воспитание security-лидеров (чемпионов), ответственных за выполнение производственных задач информационной безопасности в кросс-функциональных командах разработки безопасного ПО и повышение корпоративной культуры информационной безопасности в целом; Применение модели зрелости DevSecOps как для оценки существующего процесса, так и для постоянного совершенствования процесса разработки безопасного ПО; Достижение «прозрачности» мер безопасности для всех участников инженерного производственного процесса разработки безопасного ПО. Применение практики DevSecOps-оркестрации (Application Security Testing Orchestration, ASTO), реализующей сквозную интеграцию инструментального стека безопасности с инструментами разработки, автоматизированное управление конвейером (пайплайнами), а также сбор, консолидацию и анализ данных в рамках непрерывного процесса разработки защищенного ПО. Это позволяет значительно сэкономить ресурсы и сократить более чем в 10 раз общее время внедрения инициативы DevSecOps в сложных и гетерогенных инженерных средах. После изучения курса слушатели будут: Знать: Основные методы и практики 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 Приведение наименований переменных, функций, классов, структур данных и файлов в соответствие с установленными в организации требованиями по безопасности Структурирование исходного программного кода в соответствии с установленными в организации требованиями по безопасности Форматирование исходного программного кода в соответствии с установленными в организации требованиями по безопасности Слияние, разделение и сравнение исходных текстов безопасного программного кода Анализ и проверка исходного программного кода на требования по безопасности

Отзывы студентов

Отзыв о курсе «Специалист DevSecOps»
Оценка
      Пока никто не оставил отзыв об этом курсе. Станьте первым!