Security Champions: безопасность через мотивацию и бенефиты

Всем привет! Меня зовут Артём Пузанков, я руководитель направления безопасной разработки в МТС Диджитал. В этой статье я расскажу о мотивации и процессах внедрения концепции Security Champions на практике. 

25137f7974e4e1f5937ed6f99e5c2748.png

Общаясь с коллегами, я часто слышу о недоверии и спорном отношении к практике Security Champions из-за сложности вовлечения в процесс, выделения ресурса со стороны команды, кардинально противоположных направлениях задач, а также из-за мотивации самих чемпионов. Собрав обратную связь и информацию от коллег по индустрии, соглашусь, что практика не так проста, как кажется. Но при грамотно выстроенных процессах все участники могут получить свои бенефиты.

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

Как мотивировать Security Champions на те или иные действия и как поддерживать их мотивацию на протяжении долгого времени?   Эти вопросы интересуют очень многих, показательны комментарии к моей статье на эту тему. Здесь кроются многие из причин «взлетов и падений» данной практики. Давайте же разберемся, в чем польза освоения роли Security Champions именно для разработчиков и какие организационные моменты стоит предусмотреть при внедрении этой функции.

Начальный этап

За счет масштабирования осведомленности об основах безопасности разрабатываемого ПО можно добиться максимального результата для всей компании, тем самым сократив риски и время выпуска нового продукта или обновления. Поэтому основная мотивация для разработчиков становиться Security Champion — это прокачка профессиональной компетенции и эффективности команды, чтобы существенно сокращать время релиза (Time-to-Market).

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

Что важно предусмотреть на старте:  

  • на роль Security Champions необходимо искать людей, которые сами хотят присоединиться к инициативе, потому что им интересна тема безопасности продуктов. Не рекомендую насильно назначать человека на такую позицию — это влечет за собой огромные риски;

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

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

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

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

  • если не реализовать мотивационные (не)материальные методы, повышение полномочий — потенциальные Security Champions не оценят дополнительные обязанности;  

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

Кроме того, в отдельные рекомендации выделю ключевые моменты организации взаимодействия команд:  

  • обеспечьте живое общение между коллегами и создайте общие каналы коммуникации. Специальные чаты и/или группы — отличный способ для сообщества, в котором Security Champions могут взаимодействовать друг с другом и с группой ИБ. Это удобно и для объявления о встречах, различных анонсах мероприятий и для признания их достижений;

  • проводите регулярные тренинги со специалистами ИБ и ежемесячные встречи всех Security Champions, так как это отличная возможность собрать всех вместе, ознакомить с лучшими практиками и рекомендациями, а также добавить дополнительный соревновательный эффект между командами.

9fb6eaf456f599374cc3c50d11f83cf9.png

Пример чек-листа программы на начальном этапе:

  • согласование инициативы в компании;

  • согласование линейного или функционального руководителя;

  • добровольное участие;

  • минимум один «чемпион» на команду;

  • 2 ежемесячных совещания под руководством профессионалов;

  • выделенный канал/группа коммуникации;

  • создание пространства/раздела во внутренней вики-системе;

  • ожидаемые трудозатраты (оцените примерные трудозатраты);

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

Deep dive. Бизнес-процессы

Когда цели внедрения программы определены, важно правильно выстроить бизнес-процессы, в которых будут участвовать Security Champions, выполняя новую роль. По личному опыту скажу, что это один из самых сложных этапов, но именно он гарантирует дальнейший успех инициативы. 

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

Приведу пример универсального бизнес-процесса:

74c9134bab2639ef737273e17e274dc6.png

  1. Security Champion идентифицирует объекты исследования, подлежащие анализу.

  2. Security Champion инициирует проверку компонента.

  3. Инструмент анализа принимает компонент и анализирует объект согласно внутренним правилам, после чего формируется отчет с данными об уязвимостях.

  4. Security Champion просматривает список уязвимостей, при возникающих трудностях и/или вопросах по устранению (не)обращается к AppSec-аналитику за помощью.

  5. AppSec-аналитик проводит консультацию для Security Champion, на которой принимается решение о действительности найденных уязвимостей.

  6. AppSec-аналитик совместно с Security Champion решают, являются срабатывания ложными или действительным.

  7. В случае, если найденные уязвимости являются действительными, Security Champion инициирует обработку уязвимости (процесс, список мер и шагов для устранения).

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

  9. Если найденная уязвимость оказывается ложной — Security Champion проставляет отметку в инструменте сканирования.

  10. Security Champion устанавливает отметку о ложном срабатывании, после чего процесс считается оконченным.

Так выглядит молодой и успешный Security Champion

Так выглядит молодой и успешный Security Champion

Методы мотивации

Какими приемами привлечь участников и побудить их к совершению действий? Тут надо включить максимум фантазии и эмпатии, понять, что будет лучше работать внутри вашей команды. Кому-то будет приятно услышать публичную похвалу на собрании, кому-то — получить особый приз или денежное поощрение в виде бонуса. Поговорите с командой, поймите общее настроение, и не сдерживайте себя условностями, придумывайте!  

Лично мне нравится метод геймификации, рассмотрим его подробнее. Этот метод позволяет объединять команду, повысить эффективность и вовлеченность всех участников коллектива. Начисление очков за выполненные задания, система уровней, «ачивки» в зависимости от уровня… Можно придумывать различные условия и назначать награды, это привнесет соревновательный момент в повседневное выполнение задач, а также позволит развить соревновательную составляющую не только между отдельными чемпионами, командами, ИТ-продуктами, а целыми системами и бизнес-единицами путем введения номинаций и премий. Разумеется без условной «Золотой малины» за худшие достижения тоже не обойтись. Приведу несколько идей для реализации.

Например, вы устранили N уязвимостей, за это вам будет начислено 20 очков опыта, а для перехода на второй уровень программы необходимо 30 очков опыта. Но очки также можно начислять за активное участие в мероприятиях от группы ИБ, таким образом вы мотивируете коллег работать и на результат, и на обучение.

А если в какой-то момент Security Champion достигнет максимального уровня? Например, если Security Champion бездействует какое-то время, то очки его уровня должны сгореть, чтобы произошел «откат» к уровню ниже, а если очков, наоборот, больше, чем требует максимальный уровень, — необходимо развивать систему уровней или реализовать возможность компенсации электронными баллами, бустерами и прочими способами.

Можно также внедрить реферальную систему, например, если Security Champion пригласит разработчика к участию в программе, сможет выполнять наставнические функции, то пригласивший сотрудник будет получать 10% от очков опыта приглашенного.

Для того, чтобы стимулировать посещаемость ежемесячных тренингов, можно, например, в какой-то момент организовывать вращение «колеса фортуны», в котором указаны имена всех присутствующих. Этот человек получит приз, но только если он присутствует на встрече.

Куда же без наказаний? Система должна предусматривать и штрафные санкции, например, если команда решила выйти в релиз, минуя устранение проблем безопасности.

Награды, бонусы, поощрения

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

Что можно предложить? Например, вручать некие баллы, эксклюзивные предметы или мерч компании за повышение уровня осведомленности или, например, достижение квартальных целей.

Как это может выглядеть:

  • 1 уровень: 2 наклейки — одна за достижение первого уровня, а вторая — за участие в программе Security Champion;

  • 2 уровень: наклейка за достижение второго уровня и специальная термокружка с лого программы;

  • 3 уровень: наклейка третьего уровня и специальная футболка с лого программы.

Представим, что у нас есть внутренняя валюта, за которую можно купить мерч компании, а также различные значки, которые выделяют твой профиль на внутренней платформе. За валюту можно приобрести мерч, сертификат на какой-либо образовательный курс, который доступен только Security Champions, или цена для них снижена в N раз. Пример значка:

c8ae2784ab30836be2f815e6ed453434.png

Значок Security Champion присуждается любому радеющему за безопасность сотруднику (кроме сотрудников ИБ) за следующие достижения:

  • найдена эксплуатируемая уязвимость;

  • сообщение о подозрительной активности в любой системе;

  • предложение о улучшении процессов безопасности;

  • предложение о новых инструментах автоматизированного анализа кода приложений или улучшение к существующему;

  • для разработчиков: устранение N уязвимостей в коде за квартал;

  • для инженеров: проведение анализа инфраструктурных уязвимостей и устранения N уязвимостей в сервисах.

Этот пример — лишь один из тысячи, творите и придумывайте новое, свое, что-то, привязанное к именно к вашей организации и рабочим процессам.

База знаний и обучение

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

Идеальный вариант — если появится специальный сотрудник, который будет вести этот проект совместно с командой ИБ, чтобы специалисты по безопасности могли заниматься своей основной деятельностью в Application Security. Но важно подчеркнуть, что только в тесном сотрудничестве разработчиков с ИБ возможно разработать нужный контент.

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

Ниже приведу несколько идей:

  • создайте базу знаний, где вы перечислите уязвимости OWASP TОП-10, подробнее расскажите о каждой типовой уязвимости, покажите примеры небезопасного/безопасного фрагментов кода, распишите логику устранения уязвимостей, методы защиты от уязвимостей, создайте библиотеку безопасных шаблонов проектирования и так далее;

  • составьте свой ТОП-10 уязвимостей именно для вашей компании;

  • в процессе тренингов, старайтесь соблюдать баланс между теорией и практикой.

Оценка эффективности

Настало время поговорить о внедрении метрик, чтобы была возможность проверять эффективность Security Champions, работы программы и ее соответствие первоначальным целям. Рекомендую создать какой-либо результирующий артефакт с показателями в удобной форме и установить цель для каждой метрики. Далее масштабируйте метрики соизмеримо развитию программы. Примеры ежемесячных метрик:

  • потенциальные проблемы безопасности, фишинговые сообщения, о которых сообщается (цель: увеличение с течением времени);

  • общее количество чемпионов (цель: ≤1 на команду);

  • % чемпионов, прошедших тренинги (цель: 80%);

  • % посещаемости тренингов от общего числа SC в месяц (цель: 80%);

  • время устранения уязвимостей разработчиками в командах с ролью Security Champion (цель: уменьшение с течением времени);

  • среднее количество уязвимостей в командах с ролью Security Champion на итерациях в течении месяца (цель: снижение с течением времени).

Быстрый старт Security Champions

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

В зависимости от объема компании вам может потребоваться отдельно выделенный человек, одной из функций которого будет ведение направления Security Champions.

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

Пример плана внедрения:

  1. Получить согласование на внедрение инициативы от своего непосредственного руководства.

  2. Создать презентацию с обобщенной информацией про цели и задачи программы. Лучше создать несколько вариантов для разных аудиторий.

  3. Прорекламировать проект внутри компании, обсудив его со всеми, с кем только можно — от руководителей до директоров направлений. Очень важно получить и обработать обратную связь.

  4. Связаться с руководителями будущих Security Champions, чтобы узнать, есть ли у них на примете кто-то конкретный, и еще раз напомнить, что это добровольная программа. Попросить руководителей познакомить вас с потенциальными кандидатами. 

  5. Объявить открытым набор на программу Security Champions

  6. Провести вводную встречу со всеми Security Champions, чтобы рассказать и объяснить все детали программы.

  7. Запланировать обучающие тренинги и встречи, отправляя чемпионам приглашения как можно раньше.

  8. Приступить и не откладывать!  

Адаптация

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

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

Планируйте — действуйте — проверяйте — корректируйте!
Надеюсь, что данный материал окажется Вам полезным. Желаю успехов во внедрении программы Security Champions!

P.S. Огромная благодарность моему коллеге Илье Шарову за помощь в подготовке статьи :)

© Habrahabr.ru