Введение в практические количественные методы оценки в сфере кибербезопасности
Построй немного. Попробуй немного. Узнай много.
В этой главе мы предложим простую отправную точку для разработки количественной оценки риска. Позже будут рассмотрены более подробные модели (начиная с главы 6) и более современные методы (начиная с главы 8). А пока начнем с модели, которая лишь заменяет обычную матрицу рисков. Это всего лишь способ зафиксировать субъективные оценки вероятности и воздействия, но сделать это вероятностно.
Чтобы все получилось, придется освоить несколько методов. Прежде всего вы познакомитесь с идеей субъективной оценки вероятностей (хотя упражнения для обучения такой оценке мы отложим до главы 7, пока потерпите). Также будет представлен очень простой метод моделирования, а работа по фактическому построению симуляции по большей части будет сделана за вас (пример будет представлен в таблице Excel, которую можно загрузить с сайта www.howtomeasureanything.com/cybersecurity).
Изучение вами данной главы заложит фундамент, на который мы будем опираться до конца книги, постепенно надстраивая различные улучшения. Вы узнаете, как проверять свои субъективные оценки вероятности и улучшать их, как математически обоснованно использовать даже малое число наблюдений для дальнейшего уточнения оценки, а кроме того, как совершенствовать модели с помощью дополнительной детализации и усложнения. Пока же остановимся на простейшем варианте метода замены, часто используемого сегодня в области кибербезопасности.
Простая замена «один на один»
Путь к более точной оценке риска можно начать, всего лишь заменив элементы, используемые в методе, с которым большинство экспертов по кибербезопасности уже знакомы, – матрице рисков. Как и в случае с матрицей рисков, мы будем полагаться только на суждение экспертов в области кибербезопасности. Они продолжат выносить субъективные экспертные суждения о вероятности и воздействии точно так же, как делают это сейчас при составлении матриц риска. Не потребуется никаких иных данных, кроме информации, которую, возможно, уже и так используют аналитики в сфере кибербезопасности для обоснования своих суждений с помощью матрицы риска. Как и прежде, эксперты смогут использовать столько данных, сколько посчитают нужным, для вынесения, по сути, все того же субъективного суждения.
Единственное предлагаемое нами изменение в том, чтобы вместо использования шкал типа «высокий, средний, низкий» или «от 1 до 5» эксперты научились субъективно оценивать фактические величины, стоящие за такими шкалами, т. е. вероятность и воздействие в денежном выражении. В табл. 3.1 кратко описана возможная замена каждого элемента привычной матрицы риска с помощью метода, использующего вероятности в явном виде.
Предложенный метод, как и матрица рисков, на самом деле не более чем еще один способ выражения текущего состояния неопределенности. Он не отражает надлежащее измерение в принятом нами смысле: мы не снижаем неопределенность на основе дополнительных наблюдений, мы лишь подтверждаем свою априорную неопределенность. Однако теперь уровень этой неопределенности выражен таким образом, который позволяет нам однозначно сообщать о риске и корректировать степень неопределенности с появлением новой информации.
Давайте теперь соберем воедино элементы данного подхода, начиная с того, как эксперт в сфере кибербезопасности дает субъективную оценку вероятности.
Эксперт как инструмент
В соответствии с принципами замены «один на один» нами будет задействован тот же источник данных для оценки, что использовался бы и при составлении матрицы рисков, – эксперт в сфере кибербезопасности. Подобно тому как эксперты уже оценивают вероятность и воздействие с помощью обычной матрицы рисков, они могут оценить их же, используя значимые величины. Чуть позже будет также разобрано, как добавить к их оценке дополнительную внешнюю информацию. В любой проблеме измерения важной отправной точкой является фиксирование текущего состояния неопределенности. Нужно лишь задать базовую структуру, выполнив следующие действия.
1. Определить список рисков. Классифицировать риски можно по-разному, но сейчас только укажем, что для обычной матрицы рисков составляется такой же список.
2. Определить конкретный период времени, в течение которого может возникнуть несущее риск событие (например: «Утечка данных из приложения Х произойдет в ближайшие 12 месяцев», «Потеря доступа к системе Х достаточно продолжительная, чтобы привести к снижению производительности в ближайшие пять лет» и т. д.).
3. Для каждого риска субъективно определить вероятность (от 0 до 100 %), с которой заявленное событие произойдет в указанное время (например: «Существует вероятность 10 %, что утечка данных из системы X произойдет в ближайшие 12 месяцев»).
4. Для каждого риска субъективно определить диапазон финансовых потерь в случае наступления события в виде 90 %-ного доверительного интервала (ДИ). Это достаточно широкий диапазон, позволяющий быть на 90 % уверенными, что фактические потери окажутся в его пределах (например: «Если произойдет утечка данных из приложения X, то с вероятностью 90 % можно предположить, что потери составят от 1 до 10 млн долл.»).
5. Если есть возможность, то получить оценки нескольких экспертов, но не проводить при этом общее совещание в попытке достичь консенсуса. Просто предоставьте список определенных событий, и пусть люди отвечают по отдельности. Если ответы некоторых экспертов сильно отличаются от остальных, выясните, не интерпретируют ли они иначе проблему. Например, если один человек называет вероятность наступления какого-либо события равной 5 % в течение года, а другой говорит, что оно с вероятностью 100 % происходит каждый день, тогда они, судя по всему, по-разному поняли вопрос (авторы лично сталкивались именно с таким вариантом). Однако, если эксперты понимают вопрос одинаково, просто усредните их ответы. То есть вычислите среднее арифметическое значение всех вероятностей наступления события, чтобы получить одно значение вероятности, а затем вычислите среднее арифметическое всех наименьших значений вероятностей для получения одного нижнего предела и наибольших значений для получения одного верхнего предела.
Идея субъективной оценки вероятностей может встретить возражения. Некоторые аналитики, без проблем говорящие, что вероятность составляет 4 по шкале от 1 до 5 или является средней по вербальной шкале, будут утверждать, что существуют требования к количественным вероятностям, делающие количественную оценку невыполнимой. Почему-то проблемы, которые не смущали их при использовании более неоднозначных методов, становятся основными препятствиями при попытке сформулировать значимую вероятность.
Это распространенное заблуждение. Как уже отмечалось в главе 2, использование субъективной вероятности для обозначения исходного состояния неопределенности эксперта является математически обоснованным. На самом деле некоторые проблемы в статистике можно решить только с помощью вероятностно выраженного исходного состояния неопределенности. И как раз такие задачи оказываются наиболее значимыми для принятия решений в любой области, включая кибербезопасность. Позже будут приведены источники, поддерживающие этот подход, в том числе несколько очень крупных эмпирических исследований, демонстрирующих его обоснованность. Более того, здесь есть глава, посвященная тому, как помочь читателям измерить и усовершенствовать собственные навыки оценки вероятностей с помощью короткой серии упражнений, позволяющих со временем повысить эффективность этих навыков. Оценки вероятности, получаемые после такого улучшения навыков, мы называем откалиброванными, и, как будет показано далее, существует достаточно много исследований, подтверждающих обоснованность подобных практик.
Пока же просто уясните, что большинство экспертов можно научить субъективно оценивать вероятности и что этот навык объективно измерим (как бы иронично это ни звучало). Помните: если основное беспокойство по поводу использования вероятностных методов возникает из-за отсутствия данных, то, значит, вам не хватает имеющихся данных и для применения неколичественных методов. Как уже говорилось, оба метода на начальном этапе используют один и тот же источник данных – экспертное мнение специалистов по кибербезопасности. И нельзя утверждать, что при использовании количественных показателей вероятности без надлежащего обучения будут допущены ошибки, которых удалось бы избежать, применяя качественные методы.
Достоверность мнения эксперта можно повысить за счет методов, учитывающих два других источника ошибок в суждениях: высокую степень несогласованности экспертов и склонность к распространенным ошибкам в умозаключениях, когда дело касается вероятностного мышления. Все это также будет рассмотрено в следующих главах (и, разумеется, влияние данных источников ошибок никак не учитывается в обычной матрице рисков).
Вычисляя неопределенность
У использования диапазонов для обозначения неопределенности вместо нереалистично точных конкретных значений есть свои преимущества. Скажем, при применении диапазонов и вероятностей нет нужды делать предположения, в которых вы не уверены. Однако плюс точных значений в том, что их легко складывать, вычитать, умножать и делить в электронной таблице. Если точно знать величину убытков каждого типа, можно без труда вычислить общие убытки. А поскольку для каждого типа у нас есть только диапазоны, то для вычислений придется использовать методы вероятностного моделирования.
Так каким же образом выполнять математические действия в электронной таблице, когда у нас не точные значения, а диапазоны? К счастью, есть проверенное практическое решение, которое можно применить на любом современном компьютере, – метод Монте-Карло. В симуляции по методу Монте-Карло с помощью компьютера генерируется множество сценариев, в качестве вводных данных для которых используются вероятности. В каждом сценарии для каждой из неизвестных переменных случайным образом задается конкретное значение. Затем эти значения подставляются в формулу для расчета выходных данных одного сценария. Процесс обычно охватывает тысячи сценариев.
В 1940-х годах ряд математиков и ученых начали использовать подобные симуляции тысяч случайных испытаний для некоторых очень трудных математических задач. Станислав Улам, Джон фон Нейман и Николас Метрополис сумели применить данный метод на примитивных компьютерах, доступных в то время, чтобы помочь решить математические задачи, связанные с разработкой первой атомной бомбы. Ими было обнаружено, что при проведении тысяч испытаний в произвольном порядке можно вычислить вероятность различных результатов для модели, имеющей некоторое количество входных данных, характеризующихся высокой степенью неопределенности. По предложению Метрополиса Улам назвал этот компьютерный метод генерации случайных сценариев методом Монте-Карло – по известному месту для любителей азартных игр, в честь своего дяди, заядлого игрока1. В настоящем, когда имеется большая вычислительная мощность (в миллиарды раз превышающая практически по всем показателям ту, что была доступна в Манхэттенском проекте), симуляции по методу Монте-Карло используются для моделирования проектных и финансовых рисков, для создания моделей риска на электростанциях, в системе поставок, в страховании и, да, в кибербезопасности.
Если у вас нет опыта работы с симуляциями по методу Монте-Карло, скорее всего, они кажутся вам сложнее, чем есть на самом деле. Они регулярно применяются авторами и многими их сотрудниками для решения различных практических задач в бизнесе. Нам не единожды приходилось видеть, как люди, у которых сама идея использования симуляций по методу Монте-Карло вызывала дискомфорт, после непосредственной работы с ними становились в итоге их ярыми сторонниками.
Давайте начнем с очень простой задачи и разберем инструменты для ее решения. Предположим, есть набор возможных событий, которые могут случиться за год. Для каждого события заданы степень вероятности и диапазон возможных убытков, в случае если оно произойдет. Пусть вероятность одних событий составляет 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 с учетом вероятности.
В Excel обратная функция вероятности для нормального распределения выглядит так:
=НОРМОБР(вероятность; среднее; стандартное_откл)
(Примечание: в последних версиях Excel также используется функция НОРМ.ОБР, но НОРМОБР тоже работает.) Если заменить аргумент «вероятность» на функцию СЛЧИС(), то получится нормально распределенное случайное число с указанным средним значением и стандартным отклонением. Стандартное отклонение – своего рода мера ширины распределения вероятности, но на самом деле эту величину специалистам очень трудно определить интуитивно. Лучше просто попросить эксперта назвать 90 %-ный доверительный интервал, как описывалось ранее. ДИ можно использовать для вычисления необходимых параметров среднего значения и стандартного отклонения на основе верхнего и нижнего пределов (ВП и НП) диапазона потенциальных убытков, предоставленного экспертом.
Этот диапазон мы превратим в распределение вероятности определенного типа, которое будем часто применять: логнормальное распределение, представляющее собой разновидность более привычного колоколообразного нормального распределения. Это просто нормальное распределение по логарифму значения, которое мы хотим смоделировать, и оно обычно гораздо точнее отображает реальность.
Рис. 3.1. Сравнение логнормального и нормального распределений
На рис. 3.1 показан пример подобного распределения в сравнении с нормальным. Обратите внимание, что логнормальное распределение, в отличие от нормального, выглядит однобоким или «перекошенным». При логнормальном распределении не может получиться нулевое или отрицательное число, но у него имеется хвост справа, допускающий получение очень больших значений в результатах. Именно поэтому логнормальное распределение часто реалистично отражает вероятность различных сумм убытков. Нормальное распределение достаточно широкое, чтобы охватить некоторые экстремальные события, однако оно может также выдавать нелогичные отрицательные результаты на другом конце шкалы (не может быть отрицательного количества взломанных учетных записей или отрицательного времени простоя системы). Вот почему логнормальное распределение используют еще и для моделирования различных величин, которые не могут быть отрицательными, но способны (хотя и редко) оказываться очень большими.
Для получения логнормального распределения в примере, представленном на сайте книги, применяется следующая формула Excel:
= ЛОГНОРМОБР(СЛЧИС();среднее ln(X);стандартное_отклонение ln(X)),
где:
стандартное_отклонение ln(X) = (ln(ВП) – ln(НП))/3,29)
среднее ln(X) = (ln(ВП) + ln(НП))/2)
Таким образом, если нами получен 90 %-ный ДИ для воздействия от 100 000 до 8 млн долл., тогда среднее и стандартное отклонение, которые должны использоваться в функции ЛОГНОРМОБР (т. е. среднее значение и стандартное отклонение логарифма исходного распределения), будут равны:
среднее ln(x) = (ln(8000000) + ln(100000)) / 2 = 13,7
стандартное_отклонение ln(x) =
(ln(8000000) – ln(100000)) / 3,29 = 1,33
Определение убытков от события, у которого вероятность возникновения составляет 5 %, а воздействие – от 1 до 9 млн долл., можно записать так:
= ЕСЛИ(СЛЧИС() < 0,05; ЛОГНОРМОБР(СЛЧИС(); (ln(9000000) + ln(1000000)) / 2;
(ln(9000000) – ln(1000000)) / 3,29); 0)
В большинстве случаев (95 %) эта функция будет выдавать ноль. И только в 5 % случаев она сгенерирует значение, которое с вероятностью 90 % попадет в диапазон от 1 до 9 млн долл. Обратите внимание, что, поскольку это 90 %-ный ДИ, существует вероятность 5 %, что значение окажется ниже нижнего предела (но выше нуля, так как логнормальное распределение может давать только положительные значения), и вероятность 5 %, что оно будет выше верхнего предела, иногда намного выше. Так, если в приведенном выше примере событие происходит, то существует вероятность 1 %, что убытки могут превысить 14,2 млн долл.
Логнормальные распределения следует применять осторожно. Экстремальные значения убытков заданного 90 %-ного ДИ могут оказаться нереалистичными, если верхний предел во много раз превысит нижний. Так происходит, когда эксперт, оценивающий значение, ошибочно решает, что верхний предел представляет собой наихудший вариант, а это не так. Верхний предел 90 %-ного доверительного интервала допускает с вероятностью 5 %, что значение будет больше. Экстремальные результаты также чувствительны к нижнему пределу. Если 90 %-ный ДИ составляет от 10 000 до 1 млн долл., то верхний предел оказывается в 100 раз больше нижнего. В этом случае существует вероятность 1 %, что убытки в 2,6 раза превысят заявленный верхний предел (составят 2,6 млн долл.). Если же 90 %-ный ДИ составляет от 1000 до 10 млн долл., то убытки с вероятностью 1 % будут больше верхнего предела более чем в 6,7 раза (67 млн долл.).
Если числа кажутся слишком большими, измените ширину диапазона или просто ограничьте сгенерированное значение некоторым максимумом. При желании обозначить, что 10 млн долл. – это максимальный убыток, можно использовать функцию =МИН(убытки;10000000), чтобы в результате получить наименьшую сумму из убытков или 10 млн долл.
В приложении А представлены и другие распределения, более подходящие для решения тех или иных типов проблем. Там же указаны формулы Excel для распределений с описанием, когда уместно применять каждое из них. Позже мы еще затронем тему выбора распределения.
Для большого количества событий и воздействий можно составить таблицу наподобие табл. 3.2, чтобы смоделировать все убытки для всех событий (пример можно скачать с сайта www.howtomeasureanything.com/cybersecurity).
В приведенном примере интерес представляет общая сумма убытков: 23 345 193 долл. Теперь остается лишь провести еще несколько тысяч испытаний, чтобы увидеть, каким будет распределение убытков. Каждый раз при пересчете таблицы в итоговой сумме будет появляться новое значение (если вы работаете в MS Office на ПК, то команда «пересчитать» должна запускаться нажатием клавиши F9). Если бы вы сумели каким-то образом записать каждый такой результат нескольких тысяч испытаний, то получили бы итог симуляции по методу Монте-Карло.
В Excel это проще всего сделать с помощью таблицы данных инструмента «Анализ „что если“». Можно запускать сколько угодно испытаний и видеть результаты каждого, и при этом не придется тысячи раз копировать табл. 3.2. Таблица данных позволяет пользователю Excel увидеть, как будет выглядеть серия ответов в формуле, если менять по одному параметру за раз. Например, у вас есть очень большая электронная таблица для расчета пенсионного дохода, включающая текущие нормы сбережений, рост рынка и ряд других факторов. Возможно, вы захотите посмотреть, как изменится оценка продолжительности проекта, если менять размер ежемесячных сбережений со 100 до 5000 долл. с шагом в 100 долл. В таблице данных автоматически отобразятся все результаты, как если бы вы вручную каждый раз самостоятельно изменяли этот один параметр и записывали результат. Этот метод применяется в электронной таблице, которую можно скачать с сайта www.howtomeasureanything.com/cybersecurity.
Чтобы узнать больше о таблицах данных в целом, изучите основы на страницах справки в Excel, но нами используется немного измененный вариант таблицы-образца. Обычно требуется ввести значение в поле «Подставлять значения по столбцам в» или в поле «Подставлять значения по строкам в» (в нашем случае можно было бы использовать только поле «Подставлять значения по столбцам в»), чтобы указать, какое значение таблицы данных будет многократно меняться для получения различных результатов. В данном же примере не требуется определять, какие входные данные менять, потому что у нас уже есть функция СЛЧИС(), меняющая значение каждый раз при пересчете. Таким образом, наши входные значения – просто произвольные числа, отсчитываемые от 1 до количества сценариев, которое мы хотим запустить.
Существует важный момент, касающийся количества испытаний при моделировании событий нарушения кибербезопасности. Нам часто приходится иметь дело с редкими, но обладающими большим воздействием событиями. Если вероятность события составляет всего 1 % в год, то 10 000 тестов в большинстве случаев приведут к 100 таким событиям за указанный срок, но этот показатель может немного варьироваться. При данном количестве испытаний он может произвольно варьироваться от ровно 100 (точно так же, как при подбрасывании монетки из 100 раз не обязательно выпадет ровно 50 орлов). В этом случае результат будет находиться между 84 и 116 примерно в 90 % случаев.
Теперь для каждого из случаев, когда происходит событие, нужно смоделировать убытки. Если у убытков длинный хвост, то при каждом запуске симуляции по методу Монте-Карло могут наблюдаться значительные отличия. Под длинным хвостом имеется в виду, что, вполне возможно, убытки будут больше среднего. Например, у нас может быть распределение убытков, где наиболее вероятным исходом являются убытки в 100 000 долл., но существует 1 %-ная вероятность крупных убытков (50 млн долл. или более). Однопроцентный наихудший сценарий в риске, вероятность которого всего лишь 1 % в год, – это, прежде всего, ситуация, которая может произойти с вероятностью 1/100 × 1/100, или 1: 10 000 в год. И поскольку 10 000 является заданным количеством тестов, то в какой-то симуляции это наихудшее событие может произойти один или несколько раз за 10 000 испытаний, а в какой-то может не произойти ни разу. Это значит, что каждый раз при запуске симуляции по методу Монте-Карло можно наблюдать, что среднее общее значение убытков немного меняется.
Самым простым решением здесь для специалиста, использующего метод Монте-Карло, которому не хочется слишком утруждаться, станет проведение большего числа испытаний. Разброс значений от симуляции к симуляции уменьшится, если провести 100 000 тестов или 1 млн. Вы удивитесь, как мало времени это занимает в Excel на достаточно быстром компьютере. У нас заняло несколько секунд проведение 100 000 тестов, так что затрачиваемое время не кажется серьезным ограничением. Мы даже выполнили в старом добром Excel миллион сценариев с несколькими крупными вычислениями, и на это потребовалось не более 15 минут. Однако, по мере того как события становятся все более редкими и значимыми, применяются более эффективные методы, чем увеличение числа испытаний в разы. Но пока не будем усложнять задачу и просто бросим дешевые вычислительные мощности на решение проблемы.
Теперь у нас есть способ генерации тысяч результатов в симуляции по методу Монте-Карло с помощью стандартного Excel (без каких-либо надстроек или кода Visual Basic для выполнения расчетов). Учитывая, насколько широко используется Excel, почти наверняка у любого аналитика из сферы кибербезопасности есть инструменты для его применения. А полученные данные можно использовать для другого важного элемента анализа риска – количественной визуализации риска.
Визуализация риска
Популярность матриц рисков, знакомых каждому, кто занимается кибербезопасностью, объясняется тем, что они доступно иллюстрируют вероятности и воздействия на одной схеме. В предложенном нами несложном решении шкала для вероятности заменена вероятностью в явном виде, а для воздействия – 90 %-ным ДИ, представляющим диапазон потенциальных убытков.
В нашем варианте вертикальная ось по-прежнему может быть представлена одной точкой – только вероятностью, а не балльной оценкой, зато воздействие теперь представлено более чем одной точкой. Заявляя, что вероятность наступления события составляет 5 %, мы не можем утверждать, что его воздействие составит ровно 10 млн долл. На деле существует вероятность 5 %, что у нас будут некоторые убытки, при этом есть 2 %-ная вероятность потерять больше 5 млн долл., вероятность потери более 15 млн долл. составляет 1 % и т. д.
Такой объем информации невозможно отобразить простой точкой на двухмерной диаграмме. Но можно представить его с помощью графика, называемого кривой вероятности превышения потерь. Нам не требуется заново изобретать велосипед (хотя риск-менеджеры во многих отраслях регулярно именно этим и занимаются), ведь эту концепцию также используют в оценке риска финансового портфеля, актуарной науке, в так называемой вероятностной оценке риска в ядерной энергетике и других технических науках. Наименование может меняться в зависимости от области: где-то это будет «вероятность превышения», а где-то «дополнительная функция кумулятивных вероятностей». На рис. 3.2 показан пример кривой вероятности превышения потерь.
Рис. 3.2. Пример кривой вероятности превышения потерь
На рис. 3.2 показана вероятность того, что данная сумма будет потеряна за некоторый период времени (например, год) из-за определенной категории рисков. Подобную кривую можно полностью построить на основе информации, полученной в предыдущем примере таблицы данных (табл. 3.3). Строить такие кривые риска можно как для конкретной уязвимости, так и для системы, структурной единицы или предприятия. По кривой вероятности превышения потерь хорошо видно, какой диапазон убытков возможен (а не просто точечное значение), а еще что бóльшие потери менее вероятны, чем меньшие. В примере на рис. 3.2 (который, судя по размерам сумм, вероятно, описывает риски в области кибербезопасности на уровне всего предприятия, причем весьма крупного) существует вероятность 40 %, что убытки составят 10 млн долл. в год или больше, а также вероятность примерно 15 % потерять 100 млн долл. или больше. Для удобства отображения более широкого диапазона потерь на горизонтальной оси используется логарифмическая шкала, но это лишь вопрос предпочтений, годится и линейная.
Рис. 3.3. Неотъемлемый риск, остаточный риск и рискоустойчивость
Кроме того, можно создать еще один вариант этого графика, добавив пару кривых. На рис. 3.3 показаны три кривые: неотъемлемый риск, остаточный риск и рискоустойчивость. Сопоставление неотъемлемого и остаточного рисков распространено в сфере кибербезопасности для представления рисков до применения предлагаемых средств контроля (т. е. методов снижения рисков) и после применения средств контроля соответственно. Неотъемлемый риск, однако, не обязательно означает полное отсутствие контроля, поскольку такой вариант невозможен в реальности. Скорее его можно определить как риск, включающий только минимально необходимые средства контроля, т. е. те, исключение которых равносильно небрежности, и, следовательно, вопрос о целесообразности их применения не стоит вовсе. Различие между неотъемлемыми и остаточными рисками составляет истинно произвольный контроль – такие виды контроля, исключение которых можно считать разумным. Примерами минимальных средств контроля могут быть защита с помощью пароля, системы сетевой защиты, некоторая регулярность обновления патчей, ограничение определенных видов доступа к учетным записям администраторов и т. д. Организация может составить собственный список минимальных средств контроля. Если средство контроля считается необходимым минимумом, то не возникает проблема выбора. А раз нет проблемы выбора, то информация не несет ценности для анализа решений. Поэтому лучше сосредоточить внимание на средствах контроля в тех случаях, когда разумны оба варианта: использовать и не использовать.
Кривая вероятности превышения потерь предоставляет простой и удобный визуальный способ сравнения риска с рискоустойчивостью, которую тоже можно однозначно и количественно выразить в виде кривой вероятности превышения потерь. На рис. 3.3 можно заметить, что часть кривой неотъемлемого риска (показана более жирной линией) находится выше кривой рискоустойчивости (показана пунктирной линией). Принято говорить, что эта часть кривой неотъемлемого риска «нарушает» или «ломает» рискоустойчивость. Кривая остаточного риска, с другой стороны, всегда находится на уровне кривой рискоустойчивости или под ней. И в таком случае говорят, что кривая рискоустойчивости «стохастически доминирует» над кривой остаточного риска. Это означает, что остаточный риск является приемлемым. Далее мы расскажем, как можно с легкостью определить кривую рискоустойчивости, но сначала опишем, как получить остальные кривые с помощью приведенной ранее симуляции по методу Монте-Карло.
Помните, что, как и в случае с другими методами, используемыми в этой главе, все технические детали отражены в доступных для скачивания электронных таблицах на упомянутом выше сайте.
Как видно из табл. 3.4, у гистограммы имеется два столбца. В первом столбце указаны суммы убытков, соответствующие значениям на горизонтальной оси для кривой вероятности превышения потерь. Во втором столбце указан процент результатов симуляции по методу Монте-Карло, которые дали значение, равное или большее, чем сумма в первом столбце. Самый простой метод получить эти значения вероятностей – применить функцию СЧЁТЕСЛИ в Excel. Если обозначить все данные второго столбца табл. 3.3 как «Результаты Монте-Карло», а под «Убытками» понимать каждую ячейку столбца убытков в гистограмме, находящуюся напротив соответствующей ячейки с расчетом вероятности, то формула этого самого расчета будет иметь следующий вид:
= СЧЁТЕСЛИ(Результаты Монте-Карло;">"&Убытки)/10000
Функция СЧЁТЕСЛИ действует согласно своему названию. Она подсчитывает количество значений в определенном диапазоне, которые удовлетворяют заданному условию. Если функция СЧЁТЕСЛИ возвращает 8840 для данного диапазона и ячейки «Убытки» с суммой 2 млн долл., это означает, что в диапазоне находятся 8840 значений, превышающих 2 млн долл. Деление результата функции на количество тестов в симуляции Монте-Карло (10 000 в нашем примере) позволяет преобразовать его в значение между 0 и 1 (0 и 100 %). По мере применения формулы к все более и более крупным значениям в столбце убытков процент значений в симуляции, превышающих этот уровень убытков, будет уменьшаться.
Теперь просто создадим по этим двум столбцам точечную (X,Y) диаграмму в Excel. Если хотите, чтобы она выглядела так же, как показанная выше кривая вероятности превышения потерь, нужно выбрать тип диаграммы с гладкими кривыми и без маркеров для точки. Именно этот тип диаграмм используется в электронной таблице с сайта. Дополнительные кривые можно добавить, вставив еще столбцы данных. Скажем, создание кривой остаточного риска представляет собой аналогичную процедуру, но основанную на оценках вероятности и воздействия (которые, предположительно, будут меньше) после реализации предложенных дополнительных средств контроля.
Один из недостатков диаграммы с кривыми вероятности превышения потерь заключается в том, что изображение становится перегруженным при наличии множества таких кривых. В типичной матрице рисков каждый риск показан как одна точка (хотя и крайне нереалистичная и двусмысленная точка), а кривая вероятности превышения потерь отображается как линия. Вот почему одна из организаций, составив диаграмму с большим количеством кривых вероятности превышения потерь, назвала ее диаграммой спагетти. Однако с этим недостатком легко справиться, просто создав отдельные диаграммы для различных категорий. Кроме того, поскольку кривые вероятности превышения потерь всегда можно объединить математически, то возможно создание комплексных диаграмм кривых вероятности превышения потерь, где каждая кривая будет раскладываться на несколько других, показанных на отдельной подробной диаграмме. Это еще одно ключевое преимущество использования такого инструмента, как кривые вероятности превышения потерь, для передачи информации о рисках. На сайте книги доступна электронная таблица, демонстрирующая, как это делается.
Теперь сравните эту возможность комплексного сравнения с популярными подходами в оценке рисков кибербезопасности. Типичный подход «низкий/средний/высокий» недостаточно конкретен, чтобы можно было сказать, что «семь низких значений и два средних рискованнее, чем одно высокое» или «девять низких значений в сумме дают одно среднее», но это позволяет сделать кривая вероятности превышения потерь. И еще следует подчеркнуть, что высокая неоднозначность метода «низкий/средний/высокий» никоим образом не избавляет аналитика от необходимости задумываться о подобных вещах. Просто с матрицей рисков он вынужден воспринимать риски гораздо более неоднозначно.
Для построения обобщенной кривой необходимо для начала создать еще одну таблицу, подобную табл. 3.3, но в которой каждое значение будет являться суммой нескольких смоделированных категорий рисков, а затем на ее основе сделать таблицу, аналогичную табл. 3.4. Опять же, в качестве примера у нас есть электронная таблица, доступная для скачивания на сайте www.howtomeasureanything.com/cybersecurity. Порядок действий при этом следующий: проводится еще 10 000 тестов всех рисков, общее влияние которых нас интересует, и к их сумме применяется процедура построения кривой вероятности превышения потерь. Может показаться, что достаточно было бы просто взять отдельно составленные таблицы, такие как табл. 3.3, сложить количество значений, подпадающих под условия соответствующей ячейки с расчетом процента, и получилась бы обобщенная кривая. Но нет, полученные результаты будут неверны, за исключением случаев, когда риски идеально коррелируют (опустим подробности, почему так происходит, но, немного поэкспериментировав, вы сами в этом убедитесь, если захотите увидеть разницу между двумя процессами).
Придерживаясь этого метода, можно увидеть риски системы при нескольких уязвимостях, риски структурного подразделения от нескольких систем и риски в масштабах предприятия для всех структурных подразделений.
В идеале информация для кривой рискоустойчивости собирается на встрече с руководителями, обладающими компетенцией заявлять, насколько большой риск организация готова принять в соответствии с ее политикой. Хаббарду доводилось формировать кривые рискоустойчивости различных типов (кривая вероятности превышения потерь – лишь один из видов количественной оценки рискоустойчивости) для множества организаций, в том числе с целью определения рискоустойчивости ряда приложений обеспечения кибербезопасности. Такая встреча обычно длится около полутора часов. Предполагается, что в ходе нее вы просто объясняете саму концепцию руководству, а затем просите их установить несколько точек на кривой. Также в процессе необходимо определить, какая именно кривая рискоустойчивости вас интересует (например, ежегодный риск для отдельной системы, риск на десятилетие для всего предприятия и т. д.). Как только суть дела объяснена, можно начинать задавать вопросы, оттолкнувшись от какой-то произвольной точки.
Аналитик: Согласны ли вы принять вероятность десять процентов того, что в год из-за рисков кибербезопасности убытки составят более пяти миллионов долларов?
Руководитель: По-моему, лучше бы обойтись вообще без рисков.
Аналитик: По-моему, тоже, но сейчас вы уже рискуете во многих областях. Очевидно, что, сколько ни вкладывай в снижение рисков, полностью они не исчезнут.
Руководитель: Верно. Полагаю, я могу согласиться с вероятностью десять процентов, что убытки составят пять миллионов долларов или более.
Аналитик: Как насчет вероятности двадцать процентов потерять более пяти миллионов долларов в год?
Руководитель: Кажется, это перебор. Давайте остановимся на десяти процентах.
Аналитик: Отлично, тогда десять процентов. Итак, какую вероятность гораздо бóльших убытков, например пятьдесят миллионов долларов или больше, вы готовы назвать? Может быть, хотя бы один процент?
Руководитель: Полагаю, я не люблю рисковать. Считаю допустимой однопроцентную вероятность для убытков в размере двадцать пять миллионов долларов или более за год…
И так далее. Отметив три или четыре точки, можно интерполировать остальные и передать результат руководству на окончательное утверждение. Технически процесс не сложный, но важно знать, как реагировать на некоторые потенциальные вопросы или возражения. Кто-то из руководителей может указать, что процедура кажется весьма абстрактной. В таком случае стоит привести примеры из практики их компании или других предприятий, касающиеся выбранных убытков и того, как часто они возникают.
Кроме того, некоторые предпочитают рассматривать кривую только в рамках определенного бюджета на кибербезопасность, от них можно услышать что-то вроде «приемлемость данного риска зависит от того, во сколько нам обойдутся меры по его предотвращению». Подобное беспокойство вполне разумно. Если руководство готово уделить вам больше времени, можно задать рискоустойчивость при различных уровнях расходов на предотвращение рисков. Есть даже способы нахождения оптимального соотношения риска и отдачи (подробнее об этом читайте в первой книге Хаббарда «Как измерить все, что угодно. Оценка стоимости нематериального в бизнесе»). Однако большинство, похоже, готовы рассмотреть идею о том, что существует максимально приемлемый риск. Именно его мы и пытаемся определить.
Стоит также отметить, что авторы множество раз обсуждали с руководителями организаций кривые рискоустойчивости как в области кибербезопасности, так и в других областях. Если вы переживаете, что начальство ничего не поймет, можем вас заверить: мы с таким ни разу не сталкивались. Даже когда нас уверяли, что начальник в этом не разбирается. На самом деле руководители, похоже, осознают необходимость определения уровня приемлемых рисков не хуже других специалистов в области кибербезопасности. Мы еще вернемся к данной теме в главе 5, когда будем обсуждать различные иллюзорные препятствия для применения количественных методов.
Поддержка решения: рентабельность смягчения последствий
В конечном счете смысл анализа рисков – даже с матрицей рисков, которую мы заменяем, – это поддержка решений. Однако проблема, с которой мы сталкивались раньше, заключалась в принятии конкретных решений по распределению ресурсов для конкретных средств управления. Во сколько обойдется, в конце концов, перевести один «высокий» риск в «средний»? Будет ли это стоить нам 5000 долл. или 5 млн? А что, если наш бюджет на кибербезопасность составляет 8 млн долл. и при этом у нас 80 «низких», 30 «средних» и 15 «высоких» рисков? А если за одну и ту же сумму можно смягчить последствия или нескольких «низких» рисков, или одного «среднего»? Если вам доводилось слышать (авторам вот доводилось) вопросы вроде «если потратить еще миллион долларов, удастся ли перевести этот риск из красной зоны в желтую?», то, возможно, такой подход к проблеме вызывал бы у вас раздражение. Когда руководителю отдела информационной безопасности приходится принимать решения о распределении средств на практике, очевидно, что от традиционной матрицы рисков помощи мало. Может показаться, что реально справиться и вовсе без этих методов. Однако, как будет показано далее, одной из ошибок руководителей отделов информационной безопасности является убеждение, что они примут верные решения, полагаясь только на свою экспертную интуицию.
Руководителю отдела информационной безопасности необходимы расчеты «рентабельности средств контроля», представляющей собой отношение снижения ожидаемых убытков в денежном выражении к стоимости средств контроля. Если рассматривать только выгоду в течение одного года (и игнорировать прочие соображения об изменении стоимости со временем), формула может быть такой:
Термин «ожидаемый» в контексте проектных расчетов обычно относится к средневзвешенному по вероятности значению некоторой суммы. Таким образом, ожидаемые убытки – это среднее значение убытков в симуляции по методу Монте-Карло, связанное с конкретной причиной. Если применить средства контроля для снижения рисков, а затем смоделировать новый набор убытков, среднее значение этих убытков станет меньше (за счет уменьшения вероятности любого из убытков, или уменьшения воздействия от наступления события, влекущего за собой убытки, или и того и другого). Разница убытков до и после применения средств контроля – это и есть параметр «снижение ожидаемых убытков» в формуле выше. Если снижение ожидаемых убытков равно затратам, то, согласно формуле, рентабельность средств контроля составит 0 %. Это верно и для других форм инвестиций.
Также необходимо будет определить, в течение какого периода времени ожидается снижение убытков. Если средства контроля – это текущие расходы, которые можно начать и прекратить в любое время, то приведенная выше формула будет применяться к годовой выгоде (снижению убытков) и годовым затратам. Если же средства контроля – разовая инвестиция, выгода от которой может проявляться в течение длительного периода времени, то следует придерживаться финансовых правил компании, касающихся капиталовложений. Вероятно, при этом надо будет рассчитать выгоду как текущую стоимость потока инвестиций при заданной ставке дисконтирования. Или потребуется подготовить внутреннюю норму рентабельности. Мы не будем уделять этому внимание, но существуют несложные финансовые расчеты, которые, опять же, можно выполнить с помощью одних лишь простых функций в редакторе Excel.
Необходимо соблюдать осторожность, если планируется раскладывать простой диапазон воздействия на множество переменных, используемых для его расчета. В показанном ранее примере вычисление ожидаемых потерь требует очень простых подсчетов: достаточно умножить рассчитанное среднее значение распределения воздействия на вероятность наступления события (электронная таблица, представленная на сайте, сделает это за вас). Однако если разложить воздействие на множество компонентов, которые необходимо перемножить (например, количество взломанных учетных записей умножить на стоимость одной записи, продолжительность отключения умножить на количество пострадавших людей и умножить на стоимость одного человека в час и т. д.), то работа со средними значениями уже не даст разумную оценку. Фактически придется запускать отдельную симуляцию для каждой строки. Но в нашей простейшей модели пока можно об этом не задумываться. По мере совершенствования модели мы сможем вносить в нее больше деталей. В последующих главах будут описаны способы развития модели через добавление элементов, постепенно повышающих ее реалистичность.
Куда двигаться дальше
Существует множество моделей, которые аналитики в сфере кибербезопасности могли бы использовать для определения текущего состояния неопределенности. Можно просто оценить вероятность и воздействие напрямую, без дальнейшего разложения. Можно разработать метод моделирования, определяющий, как изменяются вероятность и воздействие в зависимости от типов угроз, возможностей угроз, уязвимостей или характеристик систем. Можно перечислить приложения и оценить риск для каждого из них либо перечислить средства контроля и оценить риски, на предотвращение которых направлено каждое средство.
В конечном счете нам неважно, какая стратегия моделирования будет выбрана вами, а вот что требует обсуждения, так это вопрос, как следует оценивать различные стратегии. Если появится достаточно информации, чтобы все компании могли обоснованно принять единый, унифицированный метод моделирования, тогда так и нужно будет поступить. До тех пор следует позволить компаниям использовать различные подходы к моделированию, тщательно оценивая при этом относительную эффективность выбранных методов.
Начать можно с применения каких-либо существующих готовых решений для разложения рисков. Помимо методов, продвигаемых Хаббардом, эти решения включают в себя методологию и инструменты, используемые в подходе FAIR (factor analysis of information risk – факторный анализ информационных рисков), разработанном Джеком Джонсом и Джеком Фройндом2. По мнению авторов, FAIR как еще одно решение, основанное на методе Монте-Карло, но предлагающее собственный вариант разложения рисков на дальнейшие компоненты, вполне подходит для того, чтобы помочь компании сделать первый шаг в верном направлении. Также можно добиться довольно многого с помощью простых инструментов, с которыми мы уже вас познакомили (и еще познакомим в следующих главах). Читатели, обладающие хотя бы базовыми знаниями в области программирования, математики или финансов, запросто смогут привнести что-то свое. Таким образом, большинство читателей смогут развить описанные инструменты, как посчитают нужным. А те, кто заинтересуется, смогут найти на нашем сайте дополнительные инструменты для отдельных разбираемых вопросов, например для использования языков программирования R и Python. Однако поскольку все, что мы делаем в этой книге, можно полностью выполнить в Excel, применять дополнительные инструменты не обязательно.
Пока что разобранный в этой главе метод все еще является лишь очень простым решением, основанным на экспертном суждении. Про обновление нашей первоначальной модели данными с использованием статистических методов мы расскажем далее. Тем не менее даже на этом этапе видны преимущества предлагаемого метода по сравнению с матрицей рисков. Он позволяет фиксировать более подробную информацию о знаниях эксперта по кибербезопасности и дает доступ к более мощным аналитическим инструментам. При желании даже сейчас можно было бы сделать что угодно из перечисленного ниже (или все).
• Как уже упоминалось, можно разложить воздействие на отдельные оценки различных видов затрат: юридические, устранение последствий, перебои в работе системы, затраты на пиар и т. д. Каждый вид может являться функцией известных ограничений, таких как количество сотрудников, или бизнес-процесс, на который повлияло отключение системы, или количество учетных записей в системе, которые могут быть скомпрометированы в случае взлома. Это позволит эффективно использовать знания компании о подробностях работы ее систем.
• Можно установить взаимосвязь между событиями. Например, специалист по кибербезопасности может знать, что если произойдет событие X, то событие Y станет гораздо более вероятным. Опять же, это позволит применить знания, которые в менее количественном методе невозможно было бы использовать напрямую.
• Там, где это возможно, о некоторых вероятностях и воздействиях можно сделать вывод по известным данным с использованием надлежащих статистических методов. Мы знаем, как скорректировать состояние неопределенности, описанное в этом методе, с помощью новых данных и математически обоснованных методов.
• Эти результаты можно надлежащим образом «суммировать», чтобы определить совокупные риски для целых комплексов систем, структурных подразделений или компаний.
Подробнее о каждом из перечисленных усовершенствований будет рассказано далее, а здесь лишь продемонстрировано, как выглядит простая замена «один на один». Теперь можно перейти к альтернативным методам оценки риска. Как выбрать самый подходящий из всех методов, с которых можно было бы начать в нашей простой модели, и тех, которые можно было бы к ней добавить? Или, если уж на то пошло, как узнать, что метод вообще работает?
1. Станислав Улам. Приключения математика. – Ижевск: НИЦ «Регулярная и хаотическая динамика», 2001. – 272 с.
2. Jack Freund and Jack Jones, Measuring and Managing Information Risk: A FAIR Approach (Waltham, MA: Butterworth-Heinemann, 2014).