Как подготовиться ко всему?

a16bae711d19fbc8e9875709d177b220.png

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

Классифицировать риски можно на разных основаниях — например, выделять риски связанные с человеческой деятельностью и природными катаклизмами, внутренними и внешними факторами, разделять риски на регуляторные (связанные с возможными нарушениями законодательства) и операционные (непосредственно затрагивающие реализуемые бизнес‑процессы), также можно учитывать масштаб реализации риска (он может затрагивать как один компонент системы, так и целый ЦОД) и вероятность/степень влияния на бизнес (финансовые показатели, потеря репутации, уменьшение пользовательской базы и др.). В действительности даже в разных регламентирующих документах разделение выполняется по разным критериям и единого решения для классификации нет.

Например, риски связанные с информационными системами можно определить с точки зрения информационной безопасности (несанкционированный доступ и/или модификация информации, нарушение доступа в связи с внешней атакой или нарушением физической или логической целостности сети и др.). Но при этом причина их возникновения может находиться в юридической плоскости (например, блокировка доступа к внешнему источнику данных), в социальном аспекте (с помощью социальной инженерии может быть получен привилегированный доступ в систему, ноутбук сотрудника может быть украден, сотрудник может сам опубликовать конфиденциальную информацию), в технологиях (например, могут быть перехвачены данные при использовании публичных сетей, если используется слабое шифрование или использоваться случайная ошибка или уязвимость в программном обеспечении), в реализации процессов работы с информацией вне безопасного контура (например, пароли могут быть приклеены на монитор или распечатка с ключами доступа или конфиденциальной информацией выброшена с бытовым мусором) и т. д. В результате описание каждого риска и всех возможных факторов его возникновения становится крайне сложной (если не невозможной) задачей. А тут еще добавляются внешние факторы (в том числе природного происхождения) и возникает желание просто понадеяться, что ничего не произойдет, раз уж нельзя описать все возможные негативные сценарии.

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

  • National Institute of Standards and Technology Framework (NIST) Risk Management Framework определяет набор опросников и классификацию рисков для управления активами и их инвентаризацией (Asset Management), также затрагивает возможные узкие места в реализации потоков данных между хранилищами, информационными системами и сотрудниками (в том числе, в оффлайн‑формате), разграничения доступа и использования физических носителей, регламентных процедур для проверки внутренних и внешних информационных систем (наличие вирусов, обновлений программного обеспечения, наличия известных уязвимостей), регламентов безопасности в организации и правил аудита событий и обнаружения аномалий. Также определяет необходимость указания известных и потенциальных уязвимостей в используемых активах (в том числе с использованием инструментов статического анализа кода и баз данных уязвимостей в используемых библиотеках — VulDB (исчерпывающая коллекция известных угроз и уязвимостей в библиотеках и фреймворках, также соотнесены с рисками и общей классификацией уязвимостей — CWE и дана оценка стоимости возможной реализации атаки на эту уязвимость), CVE тоже собирает информацию о продуктах и библиотеках и дополнительно назначает индекс опасности (CVSS Score), по которому можно оценивать вероятность реализации риска и степень влияния на бизнес.

  • ENISA Risk Management Framework — европейский аналог NIST RMF, также делает акцент на аспектах информационной безопасности и методологиях управления рисками в организации бизнес‑процессов

  • PCI DSS (Payment Card Industry Data Security Standard) — классификация рисков и чеклисты для проверки соответствия процессов обработки финансовой информации (данные банковских карт, информация о транзакциях, контроль доступа к счетам и т. д.).

  • ISO 31 000:2018, ISO 31 010:2019, ISO Guide 73:2009 — международные стандарты по идентификации и управлению рисками. Определяют общую терминологию и исчерпывающий список методик и техник для идентификации рисков, оценке вероятности и степени влияния на бизнес, например такие:

    • сети Байеса и диаграммы влияния могут использоваться для обнаружения причиноо‑следственных связей и оценке влияния реализации одного риска на другие

    • анализ Байеса позволяет оценить вероятность реализации многофакторного риска

    • анализ «галстук‑бабочка» (Bow‑Tie Analysis) для обнаружения причинно‑следственных цепочек

    • cost/benefit — анализ для сравнения случаев выигрыша/проигрыша в деньгах при применении мер смягчения риска (если он реализуется или если нет) и при реализации незапланированного риска

    • анализ с помощью дерева решений — также может использоваться для определения причинно‑следственных связей

    Всего в документе представлены и описаны 42 техники в нескольких категориях:

    • техники для расширения обзора (например, интервью, брейншторминг и опросы)

    • техники для идентификации рисков (в том числе, чеклисты, анализ сценариев, метод Исикавы и другие)

    • техники для оценки рисков (индексы рисков, диаграммы Парето) и выбора из нескольких вариантов (cost/benefit‑анализ, теория игр)

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

    • техники для измерения рисков и для их инвентаризации (реестр рисков, матрица последствия‑сходство, S‑кривая, диаграмма «галстук‑бабочка»

  • ISO 14 971 — стандарт для документации Risk Management File для медицинских устройств

  • ГОСТ Р 51 897–2002. Менеджмент риска. Термины и определения.

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

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

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

  • Likelihood/Probability — насколько вероятна реализация риска (может быть как в процентах, так и в качественных значениях «редко», «маловероятно», «возможно», «вероятно», «очень вероятно»

  • Consequence/Impact — степень влияния на бизнес (финансово, репутационно и др.), может быть измерено как в качественных уровнях («незначительно», «мало», «средне», «велико», «катастрофическое»), так и в измеримых величинах (например, возможных финансовых потерях)

  • Стоимость поддержки мер по снижению риска (OpEx — операционные расходы, CapEx — капитальные расходы)

  • Статус риска — еще не происходил, происходил в прошлом, реализован сейчас

  • Владелец риска — ответственное лицо, который связан с информационной системой или процессом, где риск реализовался, и который будет непосредственно организовывать меры по уменьшению его влияния.

  • категория риска (например, по NIST)

  • превентивные меры по уменьшению вероятности возникновения риска (документы, регламенты, возможно автоматические сценарии и проверки)

  • реактивные меры по исправлению воздействия риска при его реализации

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

По статистике на первом месте в вероятности возникновения рисков оцениваются отказы оборудования, атаки на информационные системы и утечки данных. Также в возможные риски попадают изменения законодательства, нарушения цепочки поставок, ошибки при исследовании рынка и выявлении целевой аудитории, потеря репутации из‑за внешних факторов, а также появление конкурентов и новых технологий, которые могут существенно изменить бизнес‑ландшафт. Отдельно необходимо отметить возможные форс‑мажорные обстоятельства (пожары, наводнения, землетрясения), которые не всегда возможно контролировать и полностью исключить.

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

Далее мы рассмотрим несколько свободных систем управления рисками класса GRC (Governance, Risk management, Compliance), которые могут быть использованы в любых разрабатываемых и поддерживаемых вами проектах и запущены на любом компьютере.

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

Наиболее важной функцией системы управления рисками является аккумулирование в едином хранилище информации о всех возможных рисках, автоматический или ручной мониторинг их реализации, уведомление ответственных лиц (через электронную почту или мессенджер) и сообщение о заранее запланированных действиях (либо выполнение автоматического сценария, например для переключения на резервный центр обработки данных), визуализация текущего состояния систем и реализации возможных рисков на объединенном дэшборде с отображением индикаторов риска (Key Risk Indicator — KRI). Также в риски можно включить возможные проблемы с регуляторами из‑за несоответствия требованиям или неотслеживания актуальных изменений местного законодательства. Часто в систему управления рисками часто добавляют поддержку базы знаний нормативных документов (регламентов, положений, законов и иных внутренних и технических документов).

SimpleRisk

SimpleRisk позволяет выполнить регистрацию рисков (с указанием источника возникновения, метода оценки вероятности, влияния на бизнес и активов, которые будут затронуты реализованным риском, категория риска и причина возникновения угрозы, например пожар в ЦОД или физическое проникновение). Карточка риска также позволяет загрузить дополнительные документы (например, регламенты), указать какая команда и заинтересованные лица должны быть ассоциированы с риском. Также SimpleRisk позволяет управлять возможными нарушениями комплаенса и проводить регулярные проверки реализации рисков для дальнейшего отображения текущего состояния. Для формирования списка рисков можно использовать опросники (например, PCI DSS). Поддерживает множество языков интерфейса (включая русский), все названия категорий могут быть изменены на русский через административный интерфейс. Активы могут быть обнаружены автоматически (через сетевое сканирование), но всегда можно добавить их вручную,  либо создать дополнительные сценарии обнаружения (поскольку доступен исходный код проекта). Для выполнения автоматических действий при возникновении риска и обнаружения реализации риска также потребуется расширение проекта, но для ручного управления и планирования рисков возможностей у продукта достаточно.

Для установки на Linux‑системах используется команда:

curl -sL https://raw.githubusercontent.com/simplerisk/setup-scripts/master/simplerisk-setup.sh | bash -

или может быть использован Docker‑контейнер:

docker run -d -p 80:80 -p 443:443 -v ~/simplerisk:/var/lib/mysql simplerisk/simplerisk

Веб‑сервер приложения будет доступен через https://localhost

Eramba

Eramba также является свободным инструментом, который также поддерживает автоматические инструменты контроля (в том числе, поддерживает контроль учетных записей пользователей и их разрешений). К сожалению Eramba не поддерживает русский язык (но при этом доступны исходные тексты и язык может быть добавлен при необходимости). Кроме управления рисками и комплаенс, Eramba поддерживает возможность отслеживания потоков данных и обнаружения узких мест на каждом этапе. Для регистрации инцидентов доступен отдельный интерфейс, также в нем можно регистрировать действия, предпринятые по итогам возникновения инцидента. Также как SimpleRisk в Eramba поддерживается возможность регистрации рисков по результатам прохождения опросников. Документы, опросники и внутренние процедуры для уменьшения рисков могут быть найдены на сайте или из баз данных из списка и добавлены к Eramba.

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

Для запуска Eramba можно запустить Docker‑контейнер из официального compose‑стека:

git clone https://github.com/eramba/docker
cd docker
docker compose -f docker-compose.simple-install.yml up

Система будет доступна через https://localhost:8443

OpenRMF

OpenRMF поддерживает регламентные процедуры NIST/PCI DSS, позволяет быстро сформировать список рисков по результатам чеклиста, поддерживает создание ресурсов на основе большого количества шаблонов с возможностью автоматического сканирования уязвимостей (используются возможности Nessus или DISA SCAP Scan Tool через XML‑файл в формате XCCDF).

git clone https://github.com/Cingulara/openrmf-docs
cd openrmf-docs/scripts/keycloak
docker compose up -d
sudo ./setup-realm-linux.sh (нужно будет ввести внешний ip-адрес компьютера и имя пользователя для административного доступа, нельзя использовать admin)
cd ..
echo "JWTAUTHORITY=http://<вставить_ip>:9001/auth/reals/openrmf\nJWTCLIENT=openrmf" >.env
docker compose up -d

Система будет доступна через браузер по адресу http://localhost:8080/

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

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

© Habrahabr.ru