Если у вас нет опыта работы с симуляциями по методу Монте-Карло, скорее всего, они кажутся вам сложнее, чем есть на самом деле. Они регулярно применяются авторами и многими их сотрудниками для решения различных практических задач в бизнесе. Нам не единожды приходилось видеть, как люди, у которых сама идея использования симуляций по методу Монте-Карло вызывала дискомфорт, после непосредственной работы с ними становились в итоге их ярыми сторонниками.
Давайте начнем с очень простой задачи и разберем инструменты для ее решения. Предположим, есть набор возможных событий, которые могут случиться за год. Для каждого события заданы степень вероятности и диапазон возможных убытков, в случае если оно произойдет. Пусть вероятность одних событий составляет 1 %, а других – более 10 %. В конкретном году может не произойти события, которое приведет к значительным убыткам, или их окажется несколько, возможно даже, что одно и то же событие случится несколько раз в течение года. Для последнего варианта также есть решение, но сейчас мы будем придерживаться простого сценария и моделировать событие как результат «или-или», происходящий не чаще одного раза в год. Матрица рисков, в любом случае, не учитывает подобный вариант (как и некоторые другие аспекты, о которых поговорим позже), так что простой сценарий делает пример ближе к принципу замены «один на один».
Далее в книге будет возможность подробнее остановиться на этом виде моделирования. Однако, чтобы помочь вам начать работу, мы предоставили несколько простых примеров в электронной таблице Excel, которую можно загрузить с сайта www.howtomeasureanything.com/cybersecurity. Вооружившись информацией из таблицы и более подробными материалами из следующих глав, вы сможете моделировать свою неопределенность и отвечать на вопросы вроде «Какова вероятность того, что в следующем году из-за кибератаки убытки составят больше, чем X?».
Для решения нашей задачи мы смоделируем тысячи сценариев для каждого риска. В каждом сценарии нужно лишь определить по каждому виду риска, произойдет ли событие и, если произойдет, каковы будут его последствия.
Начнем с определения того, произошло ли событие в отношении одного риска в одном сценарии. Для этого при моделировании можно случайным образом генерировать «1», если событие произойдет, и «0», если не произойдет, где вероятность получения «1» равна заявленной вероятности события. В редакторе Excel это можно записать следующим образом:
=ЕСЛИ(СЛЧИС() < вероятность_события;1;0)
Например, если вероятность события равна 0,15, то эта формула будет выдавать результат «1» (означающий, что событие произошло) в 15 % случаев. В Excel при каждом новом вычислении (по нажатию клавиши F9) будет получаться новый результат. Повторив операцию тысячу раз, вы увидите, что событие произойдет примерно 150 раз. Обратите внимание, что так будет для каждого отдельного риска, указанного в симуляции. То есть, если у вас 100 рисков, у каждого из которых различная вероятность, и вы запустите 1000 сценариев, то эта маленькая формула будет рассчитана 100 000 раз.
Для определения воздействия необходимо генерировать не просто «0» или «1», а континуум значений. Это можно сделать с помощью одной из обратных функций вероятности редактора Excel. Некоторые функции вероятности в Excel позволяют определить вероятность конкретного результата при определенном распределении вероятности. Например, НОРМРАСП(x;среднее; стандартное_откл;1) покажет вероятность того, что нормальное распределение с заданными средним значением и стандартным отклонением даст значение, равное x или меньше. Обратная же функция вероятности выдаст значение x с учетом вероятности.