• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

IV летняя школа DevOps/DevSecOps. Безопасная разработка

Цель летней школы - онакомление с современными методами и инструментами безопасной разработки приложений, включая технологии непрерывной интеграции и доставки нового кода (Continuous Integration / Continuous Delivery, CI/CD), технологий контейнеризации и оркестрации.

Описание

Современные подходы к безопасной разработке и доставке приложений и обеспечению безопасного жизненного цикла разработки требуют от всех участников процесса понимания механизмов DevOps – операций, поддерживающих совместную разработку, тестирование и внедрение приложений, а так же методов и инструментов безопасной разработки приложений, технологий контейнеризации и оркестрации. К классическим подходам разработки ПО добавились рекомендации и требования, которые на каждом из этапов жизненного цикла разработки обеспечивают проверку на безопасность, обеспечивают целостность итогового приложения, сдвигают процессы выявления уязвимостей программного продукта к этапу проектирования и позволяют интегрировать безопасность во все этапы. Использование современных технологий позволяет автоматизировать процессы подхода безопасной разработки. Активное размещение приложений на облачных платформах требует понимания технологий конкретизации и оркестрации, а так же вопросов безопасности, связанных с ними.

Слушатели получат понимание о современном жизненном цикле безопасной разработки приложений, приобретут навык работы с современными технологиями безопасного тестирования (SAST, DAST) тестирования, сканирования контейнеров и других механизмах безопасности, получат представления о новых вызовах безопасности, связанных с использованием современных технологий. Данная летняя школа может быть рассмотрена как первая ступень, которая обеспечит погружение в вопросы безопасности облачных приложений,

Занятия проводятся в вечернее время, что позволит совместить обучение с работой и другими активностьями

Занятия проводят специалисты от индустрии в области безопасности, devops, оркестрации:

  • Алексей Шадрунов, DevOps-инженер, Яндекс, бакалавр по направлению подготовки «Информационная безопасность», НИУ ВШЭ
  • Бакин Александр, руководитель группы защиты приложений Департамента консалтинга, Инфосистемы Джет
  • Панасюк Евгений - Старший специалист, Отдел безопасности инфраструктуры, Okko
  • Елаев Сергей. Разработчик в компании Servicepipe

Содержание 

Будут рассмотрены следующие темы:

  • Введение в контейнеры. 

Рассмотрим технологию контейнеризации, разберём отличия от виртуальных машин. Изучим механизмы ОС Linux, использующихся для контейнеризации, а также разберём, как вручную изолировать процесс.

  • Container Runtimes. 

Разберём утилиты для работы с контейнерами, их иерархию. Узнаем, в чём отличия между Docker, runc и Podman.

  • Безопасность контейнеров. 

Разберём защитные механизмы ОС Linux, векторы атак на контейнеризованные приложения. Изучим безопасные практики, позволяющие усилить защиту и изоляцию контейнеров. Рассмотрим (на практике) примеры уязвимостей ядра Linux и рантаймов, которые приводят к побегу из контейнера.

  • Введение в DevOps/DevSecOps

На занятии будут рассмотрены основы DevOps в общем и концепции непрерывной интеграции и непрерывного развертывания в частности. Кроме того, будут затронуты вопросы общих проблем, с которыми сталкиваются при использовании принципов DevOps

  • Безопасный жизненный цикл разработки 

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

  • Инструменты и безопасный конвейер 

Рассмотрим инструменты автоматизированного тестирования безопасности ПО.
Спроектируем конвейер безопасной разработки ПО. 
На примере веб-приложения, используя рассмотренные инструменты, оценим премущество подхода БРПО при внедрении в процессы разработки на платформе GitLab.

  • Моделирование угроз

На занятии будут рассмотрены общие подходы к моделированию угроз для приложений, а также рассмотрены наиболее популярные модели по оценке угроз и уязвимостей (STRIDE, DREAD, CVSS)

  • Фреймворки зрелости процесса

На занятии будут рассмотрены общие концепции безопасной разработки ПО, а также наиболее популярные модели зрелости. Лектор является одним из разработчиков фреймворка DAF, поэтому основной акцент будет сделан именно на нем

  • Введение в kubernetes

Обсудим, почему появился Kubernetes, и его роль в эволюции архитектур приложений. Рассмотрим микросервисную архитектуру, контейнеризацию (Docker) и декларативный подход к развертыванию инфраструктуры (YAML). Изучим некоторые возможности ядра Linux (namespaces, cgroups) и базовые компоненты k8s (Master и Worker узлы, kubelet, etcd, API). 

  • Pod/API

Изучим основы Pod. Что это, зачем нужен, и как его создать вручную с нуля.  Познакомимся с основными объектами API k8s: Pod, ReplicaSet, Deployment, StatefulSet, DaemonSet и Job, рассмотрим их предназначение и примеры использования.

  • Сеть в k8s

Требования к участникам

Для прохождения летней школы не требуется сверх-навыков и подготовки, мы начинаем с достаточно базовых вещей.

Однако DevSecOps - это тема на стыке разработки, тестирования, администрирования и безопасности, поэтому некоторый бекграунд все же требуется.

Вы должны уметь работать с linux в командной строке и иметь базовые навыки администрирования. Вам придется устанавливать и настраивать необходимые инструмены для devops и работы с контейнерами.

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

Базовые навыки, такие как работа с системой контроля версий (git) и общее представление о gitflow, так же нужны.