Кибербезопасность в Agile: Как обеспечить комплексный подход?
Бизнес может быстро реагировать на пожелания клиентов и оперативно изменять продукт под новые условия, что даёт ощутимое конкурентное преимущество, и именно это делает идеологию Agile очень востребованной.
Вопросы кибербезопасности в Agile
Как любое новшество, использование Agile в разработке и продвижении проектов влечёт за собой большое количество новых вызовов и угроз кибербезопасности, что ставит перед специалистами по кибербезопасности несколько непростых вопросов:
1. Как обеспечить кибербезопасность agile-проектов и реализуемых продуктов?
2. Как можно использовать Agile при обеспечении комплексной кибербезопасности?
Разобраться с этими вопросами поможет взгляд через призму кибербезопасности на ценности и принципы, заявленные в главном документе Agile «Манифесте гибкой методологии разработки ПО» (англ. Agile Manifesto). Манифест содержит группу основных принципов (постулатов), которые условно можно разделить на правую и левую части:
левая часть |
|
правая часть |
Люди и взаимодействие |
важнее |
процессов и инструментов |
Работающий продукт |
важнее |
исчерпывающей документации |
Сотрудничество с заказчиком |
важнее |
согласования условий контракта |
Готовность к изменениям |
важнее |
следования первоначальному плану. |
Вместе с постулатами приводится и небольшая оговорка мелким шрифтом: «Таким образом, не отрицая важности того, что справа, всё-таки больше ценится то, что слева». К сожалению, в данном направлении наблюдаются проблемы. У людей встречается такая особенность — «слепое пятно», когда люди не видят, не замечают какое-либо изображение или текст. Общение с командами Agile неожиданно показало, что фраза «не отрицая важности того, что справа» попала как раз в такое «слепое пятно». Команды видят только принципы, сгруппированные слева. Между тем, внедрение Agile начинается не с митингов и досок со стикерами, а с перестройки образа мышления. При выпуске «работающего продукта» команды не должны забывать и про утверждение, которое находится в правой части. Сейчас это удаётся не всем. Такое увлечение постулатами из левой части часто приводит к выходу процессов разработки из-под контроля и возникновению новых рисков. Причём большинство рисков вызвано не столько новыми проектными решениями, сколько перекосами в использовании методологии. И это одна из проблем, решать которую приходится в том числе и специалисту по кибербезопасности.
Следующая потенциальная проблема заключается в незавершённости постулатов Agile. Вопросы защиты информации не нашли хоть какого-нибудь отражения в манифесте. Максимум, что говорится о требованиях к конечному продукту — он должен быть «работающим» и «быть готовым к изменениям». С точки зрения идеологов Agile, важнее оперативно реализовать продукт и его функциональность (так называемые «эпики» и «фичи»), пусть и в ущерб защищённости. Ограничения на выпуск продукта в промышленную эксплуатацию вызывают у них искреннее изумление. Постулаты выполнены, а про кибербезопасность в манифесте ни слова не сказано. Так почему возникают ограничения? И это ещё одно направление деятельности специалиста по кибербезопасности в эпоху Agile. Необходимо так встроиться в работу команд, чтобы вопросы кибербезопасности решались «на лету» совместно с развитием и изменением продукта.
Agile бросает вызов кибербезопасности — специалисту по кибербезопасности жизненно необходимо научиться меняться «на ходу» и воспринимать любой план в Agile не более чем ориентир. В гибких процессах Agile от специалиста по кибербезопасности требуются умение оперативно проводить экспресс-анализ и предлагать работающие методы и технологии защиты, которые заметно не влияют на удобство использования и производительность продукта. При гибкой разработке нельзя формировать пул требований по ИБ, а потом долго ждать, когда он будет выполнен — в Agile нет места ожиданию. Вспоминается старая пословица «на то и щука в озере, чтобы карась не дремал», так и специалисту по кибербезопасности в эпоху Agile задремать не получится. Отсутствие чётких планов, молниеносные изменения, решение широкого спектра задач и разнородные команды — вот «щуки» Agile, заставляющие специалиста по кибербезопасности постоянно находиться в тонусе.
Опыт работы в командах Agile в ПАО «Сбербанк» (далее — Sbergile) позволил сформулировать несколько основополагающих подходов к кибербезопрасности в Agile:
• разработку продукта осуществляют люди (от их мотивации соблюдать правила кибербезопасности зависит защищённость конечного продукта и всего процесса в целом);
• для продукта реальная защищённость важнее, чем формальное соответствие требованиям регулятора;
• общение и сотрудничество с членами команды важнее, чем формальное выполнение командой требований политик, регламентов и других регулирующих документов;
• безопасность должна быть не менее гибкой, чем продукт, защиту которого она обеспечивает. В условиях постоянных, молниеносных изменений продукта необходимо быть готовым к изменению «на лету» и мер по защите.
ЭПО по кибербезопасности
С одной стороны, хорошо, если специалист по кибербезопасности входит в команду разработчиков (сквод). Он постоянно находится в курсе всех событий и решений команды и полностью погружён в разработку продукта. С другой стороны, такой подход не совсем эффективен. Часть решаемых задач (спринтов), например, таких, как изменение дизайна, обычно не требует участия специалиста по кибербезопасности, т. е. он простаивает. Для более эффективного использования их компетенции и времени в Sbergile была создана роль «эксперт предметной области по кибербезопасности» или сокращённо ЭПО по кибербезопасности. Сейчас в работе трайба Sbergile участвуют 2–3 человека. ЭПО по кибербезопасности видит картину разработки продукта целиком, предлагает лучшие практики по обеспечению его безопасности, которые были наработаны в других командах. Формирование продукта Agile заставляет прорабатывать продукт «целиком» — от фронтальной части до бэка и сопровождения, что делает возможность «широкого охвата» наиболее ценной.
Для выполнения роли ЭПО специалисту по кибербезопасности требуется обладать колоссальными компетенциями. Для решения вопросов кибербезопасности в проектах Agile недостаточно владеть навыками и знаниями собственно по кибербезопасности, эксперту предметной области необходимо сочетать в себе множество смежных знаний: по бизнес-процессам, обработке информации в смежных системах и проектах, юридическим и методологическим аспектам обеспечения безопасности и многое другое.
Кроме профессиональных навыков, для работы в Agile ЭПО по кибербезопасности должен также быть стратегом и тактиком, уметь планировать задачи и контролировать их исполнение, обладать навыками критического мышления, ускоренного обмена информацией, эффективного взаимодействия с командами, быть способным отказаться от устоявшихся норм, способным генерировать идеи не только в части защиты информации, но и развития продукта в целом. Таким образом, ЭПО по кибербезопасности является высококлассным специалистом, обладающим широким набором знаний и компетенций и способным оперативно и эффективно решать задачи команд Agile.
Практика Sbergile
Как обстоит дело на практике? Рассмотрим работу ЭПО по кибербезопасности на примере Sbergile.
Любой проект имеет вполне определённый жизненный цикл. В Agile цикл крайне ограничен по времени одного спринта — обычно это две недели. За это время команде необходимо не только продумать и реализовать идею, но и обеспечить, чтобы при реализации не снизился уровень общей защищённости продукта и не пострадали пользователи (клиенты).
Рис. 1. Участие ЭПО в работе команды по разработке продукта
Для более эффективного решения задач ЭПО по кибербезопасности включается в работу команды на самом раннем этапе, когда идеи только формируются. При их обсуждении сразу поднимаются вопросы защиты информации, продумываются её методы и технологии, т. е. идея рассматривается не только с точки зрения её ценности для бизнеса, но и с позиций кибербезопасности. В дискуссию вовлечена вся команда, поэтому между ними и ЭПО устанавливается тесное взаимодействие, все участники получают информацию о необходимых подходах к обеспечению кибербезопасности, а ЭПО по кибербезопасности — дополнительное время на более детальную проработку вопросов защиты информации.
До agile-трансформации в ПАО Сбербанк разработка программного обеспечения велась по устоявшейся схеме: формировались бизнес-требования и прорабатывалась архитектура решения. Результаты выполнения этих работ фиксировались в соответствующих документах, в которые входили и требования по кибербезопасности. На следующем этапе готовился набор технических требований, который описывал конкретный участок разработки. Этап разработки оканчивался приёмо-сдаточными испытаниями, на основании которых принималось решение о готовности выхода продукта в опытную или промышленную эксплуатацию.
Внедрение Agile внесло в данный процесс свои коррективы. Сокращённый жизненный цикл разработки в Agile не оставил времени на разработку и согласование таких тяжеловесных документов. Как мы ни стремились уйти от формализма и отказаться от бюрократии, свидетельства достигнутых договорённостей и принятые решения должны были фиксироваться. По прошествии времени (или смены команды) крайне сложно понять, что же, собственно, реализовывалось и как.
Необходимо было найти новые, более гибкие методы и механизмы фиксации достигнутых договорённостей и принятых решений (так называемых артефактов). Такими артефактами в Sbergile служат протоколы встреч, Back log, пользовательские истории (User story), планы спринтов и суперспринта, ну а также общая дорожная карта (Road map) развития продукта. Для фиксации артефактов нет необходимости запускать полноценный цикл согласования. Участие ЭПО по кибербезопасности на всех этапах проекта — от идеи до итогового демо — позволило значительно сократить затраты времени и повысить защищённость итогового продукта.
Контроль за выполнением требований и реализацией решений по кибербезопасности — ещё один вопрос, который стоит перед ЭПО. В классической схеме на данном этапе проводятся приёмо-сдаточные испытания, однако Agile и здесь внёс свои коррективы. В связи с тем что создание продукта разбито на более мелкие периоды (спринты), необходимо контролировать не только защищённость продукта в целом, но и отслеживать изменения защищённости от спринта к спринту. Именно поэтому ЭПО по кибербезопасности теперь рассматривает не только весь большой проект, но и каждую его составляющую (пользовательскую историю или запись в Back log). Такой подход позволил оперативно и более гибко реагировать на изменения. По итогам суперспринта проводится итоговые приёмо-сдаточные и функциональные испытания, но с учётом того, что элементы продукта уже проверены — такие испытания не становятся препятствием и не требует много ресурсов.
Обеспечение безопасности должно стать составной частью ежедневной работы команды по разработке проекта. Вопросы кибербезопасности в Agile нельзя оставлять «на потом», необходимо добиться, чтобы команда принимала их во внимание в той же степени, в которой она обеспечивает дружелюбность, надёжность и производительность своего решения.
Таким образом, ЭПО по кибербезопасности должен выполнять следующие задачи:
· формировать требования и проводить экспертизу решений на всех этапах работы команды, всего трайба в целом;
· консультировать работников трайба по вопросам кибербезопасности;
· давать заключение о возможности промышленной эксплуатации.
При их выполнении ЭПО по кибербезопасности имеет полномочия:
· по согласованию с владельцем продукта (Product Owner) повышать приоритет задач, влияющих на кибербезопасность, а также ставить задачи по кибербезопасности владельцу продукта;
· блокировать приёмку результатов спринтов с нереализованными требованиями по кибербезопасности;
· выходить с предложением реализации задач по устранению уязвимостей и угроз кибербезопасности;
· инициировать через владельца встречи и обсуждения по предметной области с работниками трайба.
В Agile необязательно сразу строить тяжеловесную, комплексную защиту. Можно идти такими же быстрыми мелкими шагами (спринтами), как и сам проект, выбирая направления и методы в зависимости от величины риска.
Подводя итоги, хочется отметить, что Agile может со временем сменить другая более гибкая и технологичная либо формализованная идеология. И возможно, не все организации смогут использовать Agile в полном объёме. Но опыт работы в Sbergile показывает однозначно, что для обеспечения защиты информации в современном мире кибербезопасность может и должна стать более гибкой и уметь реагировать на современные вызовы максимально эффективно и оперативно, а роль эксперта по кибербезопасности подразумевает постоянное обучение и повышение компетенций специалиста, обеспечивающего кибербезопасность. Новые подходы — это новые вызовы, и кибербезопасность должна быть к ним готова.
А.В. Каралкин,
руководитель направления отдела ИБ в ИТ-проектах СБЕРБАНКА РОССИИ
Опубликовано 24.03.2017