Начиная слева, на каждом новом уровне к существующей ветви добавляется еще одна, и в итоге получаются четыре нужные нам комбинации. Слева направо по верхней ветви получаем P(УЭУ)P(КУД | УЭУ) = P(УЭУ,КУД). То есть дерево отображает слева направо получение вероятностей с помощью умножения. Каждая ветвь заканчивается «элементарными вероятностями», как их называют специалисты в области теории принятия решений. Это еще один способ разложения вероятности, похожие операции мы выполняли с воздействием в главе 6. Не обязательно расписывать дерево полностью, достаточно понимать принцип как из одних его узлов выводятся другие. А теперь посмотрим, как появляется формула Байеса.
Доказательство формулы Байеса
1. P(КУД,УЭУ) = P(УЭУ,КУД) – то же самое, что 3 × 2 = 2 × 3, или «свойство коммутативности».
2. P(КУД,УЭУ) = P(КУД)P(УЭУ | КУД) – смотрите первую ветвь дерева на рис. 8.1.
3. P(УЭУ,КУД) = P(УЭУ)P(КУД | УЭУ) – верно, исходя из 1 и 2.
4. P(КУД)P(УЭУ | КУД) = P(УЭУ)P(КУД | УЭУ) – верно, исходя из 1, 2 и 3.
5. P(УЭУ | КУД) = P(УЭУ)P(КУД | УЭУ) / P(КУД) – деление № 4 на P(КУД).
6. P(КУД | УЭУ) = P(КУД)P(УЭУ | КУД) / P(УЭУ) – деление № 4 на P(УЭУ).
Пожалуйста, не думайте, что все эти формулы нужно выучить наизусть, просто считайте их подпунктами правила. Мы будем ссылаться на них в ходе анализа.
Применение формулы Байеса к ситуации взлома облачного хранилища
Теперь, когда освоены базовые операции с вероятностями, проанализируем, каким образом формируются выходные данные на основе всех представленных выше уравнений. Для облегчения понимания получения вероятностей используем более крупное дерево цепных правил. Если сумеете в этом всем разобраться, для чего достаточно школьных знаний алгебры, то будете на пути к освоению моделирования с использованием любых технологических средств. Кроме того, пример специально упрощен, чтобы можно было увидеть математические доказательства. Расчеты покажутся не такими уж сложными благодаря предлагаемым нами инструментам вычисления, которые при желании можно использовать для дальнейшего изучения взаимосвязей.
На рис. 8.2 показаны вычисления из электронной таблицы, которую можно загрузить с сайта. В столбце слева приведены входные данные, полученные от калиброванных экспертов, а в столбце справа – производные значения, рассчитанные на основе этих данных.
Прежде чем рассмотреть, как была выведена каждая из этих вероятностей, стоит прояснить, почему нам точно известны элементы в столбце «Входные данные, полученные от калиброванных экспертов», а не в столбце «Производные значения». На самом деле можно было бы выбрать множество комбинаций различных входных и выходных данных. Калиброванные эксперты просто начинают с тех величин, которые, как им кажется, смогут лучше оценить. Или, имея представление о некоторых производных величинах, они могут проверить, совпадают ли их оценки вероятностей из второй таблицы с теми, что указаны в первой.
Также можно оценить P(КУД | ПТП) напрямую, не используя УЭУ в качестве промежуточного шага. Однако мы хотели показать, как неопределенности, касающиеся разных состояний, могут быть связаны между собой. Теперь по порядку продемонстрируем математические расчеты для каждого из значений, приведенных в столбце «Производные значения» на рис. 8.2.
Рис. 8.2. Пример разложения крупной утечки данных с условными вероятностями
1. Какова вероятность того, что эту уязвимость можно эксплуатировать удаленно?
P(УЭУ) = P(ПТП)P(УЭУ | ПТП) + P(~ПТП)P(УЭУ | ~ПТП) = (0,01)(0,95) + (1–0,01)(0,0005) = 1,0 %.
2. Какова вероятность P(КУД)?
P(КУД) = P(УЭУ)P(КУД | УЭУ) + P(~УЭУ)P(КУД | ~УЭУ) = (0,01)(0,25) + (1–0,01)(0,01) = 1,24 %.
3. Какова вероятность наличия удаленно эксплуатируемой уязвимости с учетом того, что есть вероятность крупной утечки данных?
P(УЭУ | КУД) = P(КУД | УЭУ)P(УЭУ)/P(КУД) = (0,25 (0,01)/(0,0124) = 20,16 %.
4. Какова вероятность наличия удаленно эксплуатируемой уязвимости с учетом вероятности того, что крупной утечки данных не было?
P(УЭУ | ~КУД) = P(~КУД | УЭУ)P(УЭУ)/P(~КУД).