Start EDU: как научить 6 тысяч разработчиков писать безопасный код

Start EDU: как научить 6 тысяч разработчиков писать безопасный код

Image: Unsplash

Многие продуктовые команды и заказчики понимают важность требований по безопасности и преимущества подхода Shift-Left Security, однако в рабочей рутине могут не учесть критичные требования или не разобраться, как правильно их реализовать с учетом специфики своего продукта.

Сергей Волдохин, директор по продуктам Start X, рассказал, как крупная российская ИТ-экосистема внедрила обучение безопасной разработке в свои процессы на базе платформы Start EDU, и как это помогло продуктовым командам сократить число уязвимостей, время на триаж, доработки по требованиям безопасности и ускорить Time To Market.

Дано

Наш заказчик — технологическая компания, сервисы которой помогают 100 миллионам человек решать повседневные задачи онлайн.

В компании работает больше 10 000 сотрудников, среди которых — порядка 6 000 разработчиков и членов продуктовых команд. Они ведут 200 технологичных проектов и делают продукты, с помощью которых люди общаются и обмениваются контентом, продают и покупают товары, обучаются и ведут бизнес.

Для репутации заказчика критически важно обеспечить максимальную защищенность пользовательских данных и безопасность собственных продуктов и инфраструктуры.

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

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

Отношение продуктовых команд удалось поменять после запуска процесса тренировок по практической безопасности на базе продукта Start CTF.

Многие разработчики и инженеры после этого стали запрашивать «продвинутое, экспертное» обучение, чтобы разобраться, как вести разработку безопасно на своих проектах и в продуктах.

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

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

Такое обучение не было интересным и не помогало формировать экспертизу и практические навыки у продуктовых команд.

Задача

Для заказчика было важно научить продуктовые команды писать код без уязвимостей и помочь команде безопасности внедрить процесс безопасной разработки, который позволит:

  • продуктовым командам самостоятельно находить уязвимости и правильно исправлять их в коде своих приложений;
  • разбирать и устранять замечания, полученные с Quality Gate;
  • повысить культуру безопасной разработки и воспитать Security Champion-ов — сотрудников продуктовых команд, которые помогут создавать защищенные продукты своим коллегам.

Решение

Для обучения продуктовых команд заказчик выбрал платформу Start EDU, которая устанавливается в собственной инфраструктуре, интегрируется с процессами безопасной разработки и позволяет:

  1. Распределить сотрудников по командам, согласно их текущим проектам и задачам.
  2. Определить характеристики продуктов, над которыми работает каждая команда.
  3. Назначить релевантное обучение, основываясь на характеристиках продуктов и соответствующих угрозах безопасности.
  4. Отслеживать прогресс обучения по проектам, продуктам или отдельным сотрудникам.

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

Обучение с учетом специфики проекта и продукта

Платформа определяет текущие знания и навыки разработчика и автоматически предлагает обучающие модули под конкретный проект, продукт и квалификацию сотрудника.

Автоматизация становится возможной на основе требований и характеристик систем — продуктов и проектов, над которыми работают команды. По ним формируется карта проекта, учитывается, какая система разрабатывается, какие внешние модули используются.

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

Интерактивный и практический формат обучения

Юниты — это специальный формат, который используется в платформе и помогает объяснить сложные технические вопросы, связанные с работой приложений, возможными уязвимостями и практиками безопасной разработки.

Юниты содержат теорию, проверочные задания и практику. Сотрудники обучаются на реальных примерах кода с особенностями на разных языках программирования и конкретных кейсах.

Пример юнита «Защита от подделки межсайтовых запросов»

Пример юнита «Защита от подделки межсайтовых запросов»

Пример практического задания с выбором корректной защиты кода

Отчетность в реальном времени

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

Результат

Start EDU позволил организовать непрерывное обучение в рамках процессов безопасной разработки.

В этом процессе уже могут участвовать до 6 000 разработчиков, в первую очередь — 20 продуктовых команд, которые отвечают за наиболее критичные продукты.

У каждого сотрудника в каждой команде есть персональная карта с расчетным и ожидаемым уровнем компетенций. Если реальный уровень компетенций ниже расчетного, цветовая индикация на карте помогает увидеть таких сотрудников и назначить им обучение:

Дашборд с рейтингом разработчиков с разбивкой по проектам, ролям и по уровню компетенций в вопросах безопасной разработки

Благодаря такому процессу разработчики реализуют требования по безопасности изначально, при написании кода.

В момент прохождения Quality Gate после первичного обучения уже удалось зафиксировать снижение числа уязвимостей на 20% и соответствующее сокращение времени на триаж, доработки по требованиям безопасности и сокращение Time To Market.

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

Сейчас заказчик уже проектирует интеграцию Start EDU с Quality Gate, которая позволит из реальных отчетов об уязвимостях выбирать наиболее актуальные темы и кейсы для последующего обучения продуктовых команд, а также позволит кратно ускорить триаж обнаруженных уязвимостей с помощью квалифицированных разработчиков.

Планируется интеграция Start EDU с внутренней системой корпоративного обучения для создания непрерывного обучающего трека в рамках онбординга новых сотрудников и повышения квалификации тех коллег, которые переходят на новые проекты и продукты.

Start X
Автор: Start X
Start X — экосистема продуктов по безопасности, которые помогают сотрудникам распознавать и предотвращать цифровые атаки, а командам разработки быстрее выпускать защищенные продукты.
Комментарии: