Брюс Шнайер - Секреты и ложь. Безопасность данных в цифровом мире
Слишком многие системы безопасности чересчур хрупки: они разваливаются от самой незначительной ошибки. Вот несколько примеров:
• Главный секрет систем защиты европейских платных каналов телевидения в течение прошлого десятилетия находился в устройстве настройки телевизора. Это означало, что как только кому-то удастся преодолеть защиту и завладеть ключом, вся система окажется под угрозой.
• Защиту карточки с магнитной полосой MetroCard, использовавшейся для оплаты проезда в метро и автобусах Нью-Йорка, можно было обойти, просто сложив карту в нужном месте (это было в 1998 году).
• DVD-безопасность.
Рассмотрим в связи с этим кредитные карты. Карту трудно подделать, у нее имеются еще такие средства защиты, как голограммы, микропечать и «ультрафиолетовые» водяные знаки. Можно завладеть номером кредитной карточки, но как только она объявлена похищенной, ее номер оказывается в «горячем» списке. Зарегистрирована карта как украденная или нет, компьютерные программы все равно просматривают базу данных по движениям денежных средств, ища аномальные случаи их расходования. Даже если злоумышленник умеет обходить все эти защитные меры, карта имеет ограниченный кредит. И, в конце концов, срок действия карты рано или поздно истекает.
Использование некоторых других систем безопасности приводит к непредвиденным последствиям. Дорогие автомобили теперь имеют систему зажигания, которую нельзя замкнуть, это – защитная мера против воров. Сокращая количество угонов, такая мера также изменяет саму модель угрозы: вместо похищения со стоянки увеличивается опасность ограбления автомашин. Это показывает, что эффективность контрпрофилактики не самая высокая, такие меры, как обнаружение и реагирование – намного действеннее.
Вот еще пример: версия Trend Micro's OfficeScan (возможно, уже исправленная) – продукт, осуществляющий проверку на наличие вирусов и уязвимых мест для нападений, приводящих к отказу в обслуживании, сама имеет болевые точки как для нападений этого типа, так и для других.
Управление национальной безопасности действительно хорошо разбирается в этих вещах. Там создают многоуровневые системы защиты и постоянно задаются вопросом: что будет, если они не сработают? Что, если криптография подведет в тот самый момент, когда откажет защита безопасной территории, и система сигнализации останется единственной мерой противодействия? Что, если охрана вместо того, чтобы реагировать на сигнал тревоги, будет занята другим делом? Или что, если машина, которая генерирует ключи шифрования, выйдет из строя, а следом за ней – также и резервная машина? Что, если человек, отвечающий за ремонт резервной машины, подкуплен? Наверное, вы и сами можете продолжить список подобных вопросов.
Глава 21
Схемы нападений
Даная была дочерью Акрисия, которому предсказали, что он умрет от руки сына своей дочери. Поэтому Акрисий заточил Данаю в бронзовой комнате, вдали от всего мужского рода. Зевс, воспылавший страстью к Данае, проник в ее комнату через крышу в виде золотого дождя. Даная родила Персея, и вы можете догадаться, чем закончилась эта история[53].
Моделирование угроз по большей части производится ad hoc – для конкретного случая. Вы размышляете о возможных угрозах до тех пор, пока больше уже не можете о них думать, и прекращаете это занятие. Потом вы удивляетесь и приходите в ярость, когда кто-нибудь придумывает такой вид нападения, о котором вы и не подозревали. Мой любимый пример по этому поводу – это банда калифорнийских воров, которые владели искусством вламываться в чужие дома, проделывая бензопилой отверстие в стене. Взломщики совершенно не вписывались в модель безопасности, так как защитные меры, используемые хозяевами, представляли собой дверную и оконную сигнализацию. Они оказались бесполезны в этом случае.
Для облегчения задачи я построил схему действий нападающих, которую назвал деревом атак. Деревья атак представляют собой методологию описания угроз и мер противодействия для защиты системы. В расширенном виде схема позволяет представить наглядно безопасность системы. Она дает возможность просчитать защиту, сравнить методы защиты различных систем и проделать множество других хитростей.
Основная идея состоит в том, что мы изображаем возможные нападения на систему в виде древовидной схемы, в которой основная цель помещается в корне, а различные пути ее достижения изображаются в виде ветвей и листьев. Приписывая каждому узлу в кроне определенное значение, мы можем выполнить некоторые основные расчеты, позволяющие сделать определенные заключения относительно различных способов нападения. Такая схема называется «деревом И/ИЛИ».
Я начну с простейших деревьев атак для систем защиты, не связанных с компьютерным миром, и постепенно выстрою общую концепцию рассматриваемого предмета.
Основные деревья атакНа рис. 21.1 показана несложная схема нападения на сейф. Каждая схема нападения имеет свою цель, представленную в корневом узле дерева. В нашем примере цель – открытие сейфа. В компьютерных науках деревья «растут» сверху вниз. Чтобы открыть сейф, атакующему нужно открыть замок отмычкой, узнать его шифр, прорезать отверстие в сейфе или сделать что-то при установке сейфа, что позволит потом легко его открыть. Чтобы узнать шифр, взломщик должен либо найти где-нибудь запись комбинации цифр, либо выудить ее у владельца сейфа. И так далее. Каждый узел становится промежуточной целью, а дочерний по отношению к нему узел – это путь ее достижения. Конечно, это только образец дерева, к тому же незавершенный.
Рис. 21.1. Узлы атак
Обратите внимание: на рисунках все, что не обозначено явно как узел И, является узлом ИЛИ. ИЛИ – это узел альтернатив, в нашем примере имеется четыре способа открыть сейф. Узлы И представляют собой отдельные шаги для достижения одной цели. Для того чтобы узнать комбинацию сейфа, взломщик должен подслушать разговор «И» вынудить владельца сейфа назвать комбинацию. Достичь цели можно лишь в том случае, если будут пройдены обе промежуточные цели.
Это – основа дерева атак. Завершив построение, полезно присвоить определенные значения различным листьям дерева (на рис. 21.1 «О» означает «осуществимо», а «Н» – «неосуществимо»). Напоминаю, это только пример для иллюстрации. Не нужно думать, что эти оценки характеризуют реальную защиту моего сейфа в офисе. Сделав оценку узлов (скорее всего, на основании тщательного изучения самого сейфа), можно рассчитать безопасность цели. Узел ИЛИ осуществим, если осуществим любой из его дочерних узлов. Узел И осуществим, если осуществимы все его дочерние узлы, и неосуществим в противном случае (рис. 21.2).
Рис. 21.2. Возможные способы взлома
Пунктирные линии на рис. 21.2 показывают все предполагаемые схемы взлома: последовательность осуществимых действий. В этой простейшей схеме существуют два реальных пути проникновения в сейф: прорезать в нем отверстие или узнать комбинацию, подкупив держателя сейфа. Эти сведения позволят правильно организовать защиту.
Присвоение значений (осуществимо или нет) узлам – это далеко не все. Можно затем установить определенные значения всем остальным узлам дерева, используя следующие критерии: легко или сложно, дорого или дешево, законно или незаконно, требуется взлом или нет, требуется специальное оборудование или нет. Рисунок 21.3 демонстрирует ту же самую схему с оценками узлов по критерию «требует специального оборудования» и «не требует специального оборудования».
Рис. 21.3. Способы взлома: потребуется или нет специальное оборудование
Присвоить узлам характеристики «дорого» или «недорого» весьма полезно, но лучше показать, сколько именно это будет стоить. Можно задать узлам численные значения. На рис. 21.4 показана схема с указанием расходов на преодоление каждого узла. Так же как и оценка «да/нет», оценка затрат может легко быть распространена по всему дереву. Узлы ИЛИ принимают наименьшее из значений дочерних узлов, а значение узлов И равно сумме значений всех дочерних узлов.
На рис. 21.4 затраты указаны по всей схеме, а также выделен самый дешевый способ взлома.
Рис. 21.4. Стоимость взлома
Опять же, эта схема может использоваться для определения уязвимых мест системы. Рисунок 21.5 показывает все возможные способы взлома, которые потребуют расходов меньше 100 000 долларов. Если вы рассматриваете только недорогие виды нападений (может, стоимость содержимого сейфа составляет как раз 100 000 долларов), тогда они вас заинтересуют.
Рис. 21.5. Способы взлома, расходы на которые не превышают 100 000 долларов
Существует много других всевозможных оценок узлов, включая вероятность успеха различных способов нападения или вероятность того, что нападающий использует определенный метод, и т. д.