Как подсчитать стоимость утечки: гайд по методу Монте-Карло
Винсент ван Дейк (Vincent van Dijk) — основатель Security Scientist, соучредитель и технический директор Cyberjuice, создатель Cybersecurity Canvas, специалист по информационной безопасности, в которой работает уже больше 40 лет. Уверен, что только изучение данных позволяет выстраивать адекватную киберзащиту, не тратя ресурсы на покупку неэффективных решений.
История создания метода Монте-Карло
Метод Монте‑Карло был разработан в середине XX века учёными Станиславом Уламом и Джоном фон Нейманом во время работы над атомной бомбой в лаборатории Лос‑Аламос. Тогда им требовалось быстро находить решения сложных вероятностных задач, для которых классические методы были бессильны. В качестве инструмента они предложили использовать серию случайных чисел — по сути, многократные «прогоны» сценариев, чтобы понять вероятный итог.
Своё название метод получил в честь казино Монте‑Карло, потому что все расчёты строились на моделировании случайностей, так же как и в азартных играх, где исход всегда зависит от удачи. С тех пор метод Монте‑Карло стал универсальным инструментом для оценки рисков, прогнозирования и принятия решений в условиях неопределённости. Он используется в физике, финансах, IT и теперь в кибербезопасности.
Суть метода Монте-Карло
Метод Монте-Карло (англ. Monte Carlo simulation) — это способ оценки результата с помощью большого количества случайных сценариев. В основе лежит многократное моделирование: вы проигрываете тысячи возможных вариантов, чтобы понять, какова вероятность, что событие случится, и каким может быть результат. Этот метод анализа используется, когда параметры известны приблизительно и есть информация о статистическом распределении этих параметров.
Анализ Монте-Карло даёт ответ на два вопроса: «Какова вероятность утечки?» и «Во что это обойдётся?» — в цифрах. Это помогает подобрать адекватные меры киберзащиты и обосновать бюджеты перед заинтересованными сторонами.
Для оценки стоимости утечки данных по методу Монте-Карло нужно рассчитать вероятность события, понять, какие факторы и как именно могут на неё повлиять, и многократно — скажем, 10 000 раз — смоделировать различные сценарии. В результате получим распределение вероятных итоговых затрат.
Расчёт вероятности утечки
Вероятность — это шанс того, что утечка данных может произойти. Часто специалисты по безопасности используют расплывчатые термины вроде «высокая», «средняя» и «низкая» вероятность. Но есть формула, которая даёт более точный результат ↓
Формула отражает зависимость вероятности утечки от потенциального количества потерянных записей: чем их больше, тем меньше шансов потерять такой объём данных. На графике это выглядит так ↓
Но в реальности на вероятность утечки влияют и другие факторы, которые также стоит учитывать в расчётах. Всего в формулу можно добавить шесть показателей, отражающих специфику компании:
где каждый дополнительный множитель — это фактор влияния на вероятность, их значения рассчитало MDPI на основе исследования IBM:
FC — страна (Country). Чем выше средняя стоимость утечки данных в стране, тем большее влияние оказывает этот фактор. В исследовании IBM нет данных для России, поэтому фактор FC можно исключить из расчётов или применить другой показатель, например FD — длительность хранения конфиденциальных данных (Duration). Тогда значения будут такими ↓
FBCM — наличие команды управления непрерывностью бизнеса (Business Continuity Management). Отражает подготовленность компании к восстановлению и продолжению работы после серьёзных сбоев, включая киберинциденты.
FI — отрасль (Industry). Чем выше стоимость утечки данных в сфере, тем большим будет значение множителя.
FBC — причина утечки (Breach Causes). События, которые приводят к утечке данных, по-разному влияют на её стоимость.
FE — шифрование конфиденциальных данных (Encryption). Отражает степень защищённости компании.
FP — использование политики конфиденциальности данных (Privacy).
α = 0,4405, β = 4 × 10 − 5, а x — размер утечки.
Когда все данные для определения вероятности инцидента собраны, можно приступать к прогнозированию ущерба от потенциальных утечек.
Моделирование стоимости утечки данных по методу Монте-Карло
Суть в том, чтобы многократно случайным образом симулировать возможные сценарии утечки, каждый раз немного изменяя входные параметры, а затем анализировать распределение итоговых убытков.
Алгоритм такой:
1. Определяются входные параметры:
- Стоимость одной записи пользователя. IBM определили среднюю стоимость в 169 $, или около 13 500 рублей. Для расчётов можно использовать эту цифру или скорректировать её исходя из специфики компании.
- Вероятность инцидента.
2. Определяется диапазон значений для количества записей. Например, от 1 до 100 000.
3. Генерируется заданное количество случайных комбинаций. Например, 10 000 симуляций.
4. Считается стоимость каждой симуляции.
5. Анализируется результат.
Разберём на примере. Допустим, нам нужно спрогнозировать ущерб от утечек на ближайшие пять лет.
1. Для начала определяем параметры вероятности:
- Вместо фактора страны используем фактор длительности хранения данных, допустим, сейчас мы храним их четыре года: FD = 1.
- Есть команда управления непрерывностью бизнеса: FBCM = 0,84.
- Работаем в сфере ретейла: FI = 0,84.
- Хотим узнать стоимость утечки в результате хакерской атаки: FBC = 1,32.
- Не используем шифрование данных: FE = 1,09.
- Правила политики конфиденциальности соблюдаются не строго: FP = 1.
2. Допускаем размер утечки: от 10 000 до 100 000 записей.
3. Запускаем 10 000 виртуальных сценариев, каждый раз меняя условия: размер возможной утечки, вероятность её возникновения и другие факторы.
4. Симулируем эти сценарии и смотрим, сколько раз они «происходят» и с каким ущербом.
5. Видим, что 90% сценариев приводят к утечкам на сумму более 500 млн рублей, а в 10% цифры могут достигать 1 миллиарда и более. То есть риск серьёзный и его нельзя игнорировать.
Риск — состояние неопределённости, когда некоторые из возможностей связаны с убытками, поломками или другими нежелательными последствиями.
Чтобы выровнять ситуацию, мы решили внедрить шифрование данных, усилить политику конфиденциальности и уменьшить срок хранения данных до одного года. Если уровень безопасности повышается, то некоторые риски должны снижаться.
Факторы вероятности изменятся:
FE = 0,64.
FP = 0,89.
FD = 0,5.
И снова проводим симуляцию.
Видим, что вероятность успешной утечки значительно снижается. Теперь в 90% случаев ущерб будет в районе 50 млн, а в 10% — 350 млн. То есть риск снижается в 3–10 раз, а средняя экономия средств может достигать 550 млн. Если эта сумма превышает инвестиции в дополнительные меры защиты, значит, их внедрение оправдано.
Как провести симуляцию самостоятельно
Симуляцию по методу Монте-Карло можно реализовать, например, на Python. Тогда код будет таким:
import numpy as np
import matplotlib.pyplot as plt
years = 5 # сколько лет хотим смоделировать
N = 10000 # число сценариев
size_min, size_max = 10_000, 100_000 # минимальный и максимальный размер утечки
cpr_base = 13500 # стоимость одной записи (в рублях)
# Множители – подставьте свои
F_BC = 1.32 # хакерская атака
F_E = 0.64 # данные зашифрованы
F_I = 0.84 # ретейл
F_BCM = 0.84 # Есть команда
F_D = 0,5 # храним 1 год
F_P = 0,89 # использование политики конфиденциальности
alpha, beta = 0.4405, 4e-5
losses = []
for _ in range(N):
loss = 0
for _ in range(years):
x = np.random.randint(size_min, size_max + 1)
P = (F_BC*F_E*F_I*F_BCM*F_D*F_P) * alpha * np.exp(-beta * x)
if np.random.random() < P:
loss += cpr_base * F_I * F_D * x
losses.append(loss / 1_000_000) # млн ₽ за весь период
plt.hist(losses, bins=30, edgecolor='black')
plt.axvline(np.percentile(losses, 90), ls='--', c='orange', label='90% случаев')
plt.axvline(np.percentile(losses, 99), ls='--', c='violet', label='9% случаев')
plt.axvline(np.percentile(losses, 100), ls='--', c='red', label='1% худших сценариев')
plt.xlabel('Ущерб, млн ₽'); plt.ylabel('Кол-во сценариев'); plt.legend(); plt.grid()
plt.tight_layout(); plt.show()
Есть вариант попроще: занести данные в «Шаблон расчёта стоимости утечек» и посмотреть, что получится.
Помните: вопрос утечки данных — это не «если», а «когда». Моделирование и оценка рисков — необходимый инструмент для разумного управления бизнесом. Считайте заранее, стройте чёткие аргументы и рассматривайте затраты на безопасность как стратегическую инвестицию, а не страховку «на всякий случай».