Введение
Концептуальные диаграммы, показывающие, как можно атаковать актив или цель.
Деревья атак – это концептуальные диаграммы, демонстрирующие возможные способы атаки актива или цели. Деревья атак применяются в самых разных областях. В сфере информационных технологий они используются для описания угроз компьютерным системам и потенциальных атак, направленных на реализацию этих угроз. Однако их применение не ограничивается анализом традиционных информационных систем. Они широко используются в оборонной и аэрокосмической промышленности для анализа угроз, направленных на электронные системы, устойчивые к несанкционированному вмешательству (например, авионику на военных самолетах). Деревья атак все чаще применяются к системам компьютерного управления (особенно в контексте электроэнергетических сетей). Они также используются для анализа угроз физическим системам. Одни из первых описаний деревьев атак можно найти в работах Брюса Шнайера, когда он занимал должность технического директора Counterpane Internet Security. Шнайер принимал непосредственное участие в разработке концепции деревьев атак и сыграл значительную роль в их популяризации. Однако, авторство в некоторых ранних общедоступных публикациях о деревьях атак также указывает на участие Агентства национальной безопасности в их первоначальной разработке. Деревья атак очень похожи, если не идентичны, деревьям угроз. Деревья угроз были разработаны Джонатаном Вайсом из Bell Laboratories в соответствии с требованиями стандарта MIL STD 1785 для работы AT&T над системами командования и управления для федеральных нужд и впервые были описаны в его статье в 1982 году. Эта работа была позже рассмотрена Эдвардом Аморосо в 1994 году.
Основные
Деревья атак — это многоуровневые диаграммы, состоящие из одного корня, листьев и дочерних узлов. Снизу вверх дочерние узлы представляют собой условия, которые должны быть выполнены, чтобы родительский узел стал истинным; когда корень удовлетворен, атака считается завершенной. Каждый узел может быть удовлетворен только своими непосредственными дочерними узлами. Узел может быть дочерним для другого узла; в этом случае логично, что для осуществления атаки потребуется несколько шагов. Например, рассмотрим компьютеры в компьютерном классе, закрепленные на столах. Чтобы украсть один из них, необходимо перерезать кабель или открыть замок. Замок можно открыть, взломав его или получив ключ. Ключ можно получить, угрожая владельцу ключа, подкупая его или забрав его из места хранения (например, из-под коврика для мыши). Таким образом, можно построить дерево атак на четырех уровнях, одним из путей которого будет (Подкуп владельца ключа, Получение ключа, Открытие замка, Кража компьютера). Атака, описанная в узле, может потребовать выполнения одной или нескольких атак, описанных в дочерних узлах. Приведенное выше условие демонстрирует только условия ИЛИ; однако можно создать условие И, например, предположив наличие электронной сигнализации, которую необходимо отключить, только если будет перерезан кабель. Вместо того чтобы делать эту задачу дочерним узлом для перерезания кабеля, обе задачи могут просто сойтись в суммирующем узле. Таким образом, создается путь ((Отключение сигнализации, Перерезание кабеля), Кража компьютера). Деревья атак связаны с устоявшимся формализмом дерева неисправностей. Методология дерева неисправностей использует булевы выражения для определения условий, когда родительские узлы удовлетворяются листовыми узлами. Включая априорные вероятности для каждого узла, можно вычислить вероятности для узлов более высокого уровня, используя правило Байеса. Однако на практике точные оценки вероятностей либо недоступны, либо слишком дороги для получения. В контексте компьютерной безопасности с участием активных субъектов (т.е. злоумышленников) распределение вероятностей событий, вероятно, не является независимым и равномерным, поэтому наивный байесовский анализ не подходит. Поскольку байесовские аналитические методы, используемые в анализе деревьев неисправностей, не могут быть корректно применены к деревьям атак, аналитики вместо этого используют другие методы для определения того, какие атаки будут предпочтительнее для конкретного злоумышленника. Это может включать сравнение возможностей злоумышленника (время, деньги, навыки, оборудование) с ресурсными требованиями конкретной атаки. Атаки, которые близки или превышают возможности злоумышленника, менее предпочтительны, чем атаки, которые кажутся дешевыми и простыми. Степень, в которой атака удовлетворяет целям противника, также влияет на выбор злоумышленника. Атаки, которые находятся в пределах возможностей противника и удовлетворяют его целям, более вероятны, чем те, которые этого не делают.
Обследование
Деревья атак могут становиться большими и сложными, особенно при анализе конкретных атак. Полное дерево атак может содержать сотни или тысячи различных путей, все ведущие к успешному завершению атаки. Тем не менее, эти деревья очень полезны для определения существующих угроз и способов противодействия им. Деревья атак могут быть использованы для разработки стратегии информационной безопасности. Важно, однако, учитывать, что внедрение политик для реализации этой стратегии изменяет структуру дерева атак. Например, защиту от компьютерных вирусов можно усилить, ограничив системному администратору прямой доступ к изменению существующих программ и папок с программами, вместо этого требуя использования менеджера пакетов. Это добавляет в дерево атак возможность наличия ошибок проектирования или уязвимостей в менеджере пакетов. Можно отметить, что наиболее эффективный способ снизить риск угрозы в дереве атак – это нейтрализовать ее как можно ближе к корневой ветви. Хотя это и теоретически верно, на практике обычно невозможно просто нейтрализовать угрозу, не затрагивая другие аспекты функционирования системы. Например, риск заражения системы Windows вирусами можно значительно снизить, используя стандартную (неадминистраторскую) учетную запись и файловую систему NTFS вместо FAT, чтобы предотвратить возможность изменения операционной системы обычными пользователями. Реализация этого исключает любой способ, предвиденный или непредвиденный, заражения операционной системы вирусом обычным пользователем; однако, это также требует от пользователей переключения на административную учетную запись для выполнения административных задач, что создает новый набор угроз в дереве атак и увеличивает операционные издержки. Кроме того, пользователи все еще могут заражать файлы, к которым у них есть права на запись, включая файлы и документы. Системы, использующие кооперативных агентов, которые динамически анализируют и выявляют цепочки уязвимостей, создавая деревья атак, разрабатываются с 2000 года.
Программное обеспечение для моделирования деревьев атак
Существует несколько коммерческих пакетов и продуктов с открытым исходным кодом.