Задержка релиза, утечка данных или падение метеорита: как управлять рисками компании в Yandex Tracker
Как и зачем управлять рисками в ИТ-проекте и почему риск это процесс, рассказывает эксперт по информационной безопасности в Yandex.Cloud Семён Тарасов. Собрали пошаговую инструкцию с примерами для продактов и не только.
Риски для любого программного проекта многочисленны, зачастую индивидуальны, и существуют с момента его рождения: от изменения требований при разработке до утечки данных уже в релизе. Многие компании предпочитают не замечать риски до тех пор, пока не столкнутся с их последствиями.
Сегодня сроки реализации проектов постоянно сокращаются, требования к сервисам становятся всё более жесткими, а объемы данных растут как снежный ком. В условиях, когда одна ошибка в интеграции может привести к утечке пользовательских данных, а больничный ведущего разработчика может задержать реализацию функциональности, которую раньше на рынок выведут конкуренты, вопрос управления рисками стоит как никогда остро.
Зачем учитывать риски?
Риск — это неопределенное событие или условие, которое в случае возникновения имеет позитивное или негативное воздействие на репутацию компании, приводит к приобретениям или потерям в денежном выражении. Каждый риск характеризуется вероятностью, с которой он может наступить, и последствиями, которые он принесёт. Чаще всего принято рассматривать именно негативные последствия. Оценка рисков помогает не только предотвратить масштабные последствия и репутационные потери в случае больших сервисов, но и, например, находить слабые места в инфраструктуре стартапа, грамотно спланировать бюджет на информационную безопасность и соблюсти требования международных стандартов и федеральных законов для средних проектов, работающих с персональными данными, а также избежать множества внезапных финансовых потерь для компаний любого масштаба.
Так, например, без учета угроз и рисков сервис не может быть признанным соответствующим регламенту GDPR, и, соответственно, не может безопасно работать с персональными данными на территории ЕС.
На любой продукт одновременно действует множество факторов, и, соответственно, существует множество рисков, относящимся к непосредственно разработке, эксплуатации, финансированию, страхованию, информационной безопасности, логистике, управлению человеческими ресурсами и многим другим сферам деятельности.
Приведу пример риска информационной безопасности с участием человеческого фактора из нашей практики. Такую внутреннюю угрозу мы минимизировали внутри Yandex.Cloud, уменьшив вероятность успешных DoS-атак из-за некорректных действий сетевых администраторов. Для того, чтобы избежать последствий ошибок в конфигурации было принято решение внедрить Бастион – сервис логирования и контроля действий администратора.
Часто реализуются угрозы, вызванные ошибками планирования и изменением требований при разработке продукта. Так компания CD Projekt RED из-за необходимости выпустить игру Cyberpunk 2077 сразу на 9 платформах разных поколений переносила дату релиза три раза. После запуска у пользователей на некоторых платформах обнаружились проблемы с производительностью и ошибки и в результате компания потратила 2,17 миллиона долларов на возврат средств для приблизительно 30 000 игроков.
Еще один вид рисков – эксплуатационные. В 2015 году компания Google потеряла очень небольшой объем данных (меньше 0,000001% общего дискового пространства в одном ЦОД). Инцидент произошел из-за 4 попаданий молнии в центр обработки данных компании в Бельгии, несмотря на его оснащение сетью молниеотводов.
Независимо от причин возникновения рисков, для того, чтобы избежать последствий их реализации, нужно произвести оценку и применить необходимые меры.
Как мы выбирали продукт для управления рисками
После оценки появляется вполне закономерный вопрос: как управлять всем полученным ворохом рисков. Обычно они рассматриваются как некие статические сущности, абстрагированные от основных процессов компании. А управление рисками считается узкоспециальной задачей, которой должны заниматься исключительно сотрудники отдела ИБ. Чаще всего для управления рисками используют таблицы Excel или узкоспециализированные решения.
В Yandex.Cloud мы оценили оба этих варианта. Нашей задачей была организация управления рисками 30 наших проектов совместно с командами Yandex Object Storage, Yandex DataLens, Yandex Network Load Balancer, Yandex Database, Yandex Container Registry и других сервисов. Сначала мы попробовали использовать Excel.
Нам были важны следующие возможности:
- Занесение всех новых рисков в список;
- Совместная работа над ними с руководителями других команд;
- Изменения статусов рисков и их отслеживание;
- Автоматизация работы с помощью макросов.
Но в процессе эксплуатации мы столкнулись с рядом проблем.
- Ведение всех рисков в одном файле реестра привело к постоянным согласованиям со всеми руководителями других команд. Это занимало много времени всех специалистов.
- Непросто оказалось и отслеживать изменения. Риски можно принять, согласившись с последствиями, нейтрализовать, приняв контрмеры, переадресовать, например, путем страховки, или уклониться от них, отказавшись от использования небезопасных функций. Так, для того, чтобы принять контрмеры, нужно создать связанные с риском задачи для разработчиков, команд эксплуатации и ИБ, направленные на уменьшение последствий, и отслеживать их состояние.
- Для каждого из рисков требовалось собрать и сохранить информацию о источнике, принятым решениям, обсуждению с командами. Пришлось задействовать сторонние инструменты – мессенджеры, почту, хранить отдельно и актуализировать полученные данные вручную.
- Нашлись и проблемы в автоматизации: невозможным было вести адекватную статистику, автоматически ставить задачи в трекер задач или назначать ответственных за риск.
Все эти сложности подтолкнули нас к поиску других вариантов работы с рисками. Вторым по популярности инструментом для управления рисками являются узкоспециализированные решения, такие как SAP и OneTrust GRC. Они имеют преимущества над Excel. Например, функциональность для назначения ответственных, определения уровня риска, сбора и хранения сторонних данных, построения аналитики, но сохраняют и некоторые недостатки. Так, например, эти программы дорогостоящие, зачастую негибкие. А главное они специфичны именно для управления рисками и их очень сложно интегрировать в существующие бизнес-процессы и продукты компании, например, в трекер задач или систему управления проектами.
Рассмотрев эти решения мы поняли, что нам необходим продукт, который учитывает свойства рисков, изменение их состояний и связанные с ними задачи. Это подтолкнуло нас к выводу о том, что риск это процесс, а не статическая сущность. Если рассматривать риск как задачу, а не как статический абстрагированный от всего объект, то можно решить ряд проблем. Использовав для рисков те же инструменты, что и для задач, автоматически решатся проблемы согласований с другими командами, отслеживания изменений, создания связанных задач.
Для совместной работы над задачами и организации процессов в Yandex.Cloud мы используем сервис Yandex Tracker. В нём мы и решили попробовать работать с рисками.
Как мы управляем рисками?
Типичная задача в Yandex Tracker выглядит так:
У нее есть название, описание, приоритет и статус, сроки исполнения, автор, исполнитель и наблюдатели. Она всегда относится к определенной очереди задач. К ней можно прикрепить файлы, написать комментарий и призвать кого-либо из коллег для ее обсуждения.
Риски имеют свои особенности, рассмотрим пошагово как мы настроили Yandex Tracker для работы с рисками, и как создавать и совместно работать над ними.
Шаг 1: Создание собственных полей
У нашего риска есть тот же набор параметров, что и у задачи, но есть и собственные. Мы указываем тип угрозы, его источник и вероятность, а также принятое решение. Эти поля мы создали специально для рисков. Если требуется параметры, которых нет среди существующих, то с помощью документации Yandex Tracker легко добавлять собственные поля. Они могут быть локальными – работать только в пределах очереди задач, к которой привязаны, или глобальными – использоваться во всех задачах.
Шаг 2: Форма для быстрого создания рисков
Для заведения рисков мы воспользовались возможностью интеграции с Yandex Forms, разработав понятную форму, доступную для любого сотрудника.
Для упрощения заведения риска обязательными полями сделали только его название и описание, но можно сразу же:
- Описать уязвимость, которую влечет за собой риск
- Условия, при которых эту уязвимость можно использовать
- Последствия риска
- Вероятность его возникновения
- Уровень влияния на компанию
- Область влияния – сервисы на которых скажется реализация риска
- Тип угрозы
- Источник угрозы
Создаваемые в этой форме риски сразу же попадают в специальную очередь задач, в которой находятся все риски, что позволяет их легко отслеживать.
Шаг 3: Совместная работа над рисками
После заполнения формы в Yandex Tracker автоматически создается риск, для примера мы создали риск падения метеорита:
В форме мы описали все возможные параметры риска. В самом Yandex Tracker с ним могут работать все сотрудники, которым доступна очередь рисков. Так разработчиков или другие команды можно призвать в комментарии для обсуждения и принятия решения по риску, назначить необходимых наблюдателей из других отделов компании. При этом не нужно согласовывать работу над каждым риском со всеми руководителями команд, как это было в Excel. Кроме того, у нас есть возможность прикреплять файлы и хранить все нужные ссылки внутри риска в трекере, а не в нескольких отдельных мессенджерах и почте.
В результате оценки риска падения метеорита на офис мы принимаем решение применить контрмеры. Для их реализации, мы создали связанную задачу «Мониторинг метеоритов». Таким образом мы можем отслеживать состояние реализуемых мер, и изменять состояние самого риска. А благодаря наличию истории изменений всегда можно понять что происходило с нашим риском:
Шаг 4: Дашборды для отслеживания и аналитики
Осталось решить проблему со сбором и представлением статистики и аналитикой. В Yandex Tracker реализован механизм дашбордов. С их помощью можно выстроить процесс мониторинга состояний и изменений в реестре рисков. Дашборд представляет собой набор виджетов со статистикой, списками задач, сводными таблицами. Содержимое виджетов автоматически генерируется на основе списка рисков, который задается пользователем с помощью фильтра. Каждый сотрудник может создавать удобные для себя дашборды, для нашей команды мы создали такой:
В нём можно увидеть:
- Список рисков с уровнями и статусами, сделанный с помощью виджета «список задач»;
- График «Создано/Решено»;
- Статистику количества рисков по уровням и сервисам, а также по времени дедлайна;
- Сводные таблицы по принятым решениям и статусам рисков.
Мы фундаментально изменили свой подход к рискам, рассмотрев их как изменяющиеся со временем процессы, плотно связанные с задачами других команд. Использование привычного для всех сотрудников инструмента для работы с задачами и его гибкая настройка дали возможность работать над рисками широкому кругу сотрудников.
Кроме того, мы сократили время на оформление риска в 10 раз, с учетом организации встреч, согласования изменений, совместного принятия решений и постановки задач для минимизации угроз. Также мы получили инструмент оперативного мониторинга. Полезной оказалась и автоматизация задания уровня риска, напоминаний о необходимости переоценки, установки наблюдателей с их уведомлением о изменениях в риске, контроль связанных задач по снижению вероятности наступления риска. В результате процесс управления рисками стал проще и прозрачнее для всех участников.
Подписывайтесь на блог Yandex.Cloud, чтобы узнавать еще больше новостей и историй об IT и бизнесе.
Другие истории, которые активно читают наши подписчики: