Давайте рассмотрим, как используются карты двух различных типов.
В чем же различия? В обоих случаях примененное в преступных целях считывающее устройство в состоянии разрушить систему, так как это устройство является единственной связью карты с внешним миром. Как только станут известны секретные данные карты с магнитной полосой, устройство может делать все, что пожелает. Как только смарт-карта получит правильный PIN, считывающее устройство может заставить всех поверить всему, что оно захочет.
Основное различие между этими картами состоит в том, что смарт-карта умеет осуществлять некоторый контроль, так как имеет внутреннюю защиту. Например, если кто-нибудь украдет карту с магнитной полосой, он сможет грубыми приемами завладеть данными этой карты. Он может сделать это автономно, на компьютере, так что ее владелец даже не узнает о случившемся. (Хитрый вор возьмет карту, считает данные с магнитной полосы и затем положит ее обратно в бумажник жертвы.) Смарт-карту нельзя взломать подобным образом, поскольку ее можно запрограммировать так, что она будет выключаться после десяти (или около того) неправильных вводов пароля подряд. Так, если кто-нибудь похитит смарт-карту, узнать пароль с легкостью у него не получится. Он получит возможность сделать только десять попыток. (Предполагается, что вор не умеет взламывать карту. Если он на это способен, то он может сделать это так же, как и в случае завладения картой с магнитной полосой.)
Другое существенное различие состоит в том, что смарт-карта не выдает свои секреты. Например, при использовании карт для подписи документов смарт-карта будет более безопасна, чем карта с магнитной полосой. Карта с магнитной полосой передает считывающему устройству функцию подписания документа, тем самым сообщая ему все секретные данные. В этом случае остается только надеяться на лучшее. Преступник с помощью устройства чтения может украсть шифр подписи. Смарт-карта же самостоятельно ставит подпись. Сканирующее устройство может загружать в карту для подписи подложные документы, но оно не получит шифр подписи.
Есть и другие, более тонкие различия. Смарт-карта позволяет опереться на некоторые основные правила выполнения действий. В принципе это можно использовать и в системе, которая обращается к базам данных, и для карт с магнитной полосой, но смарт-карты позволяют добиться лучшей реализации.
Известно, что смарт-карты распространены как платежное средство по всей Европе, но не в Соединенных Штатах. Почему? Все объясняется особенностями телефонной связи. Система проверки американских кредитных карточек работает в режиме онлайн. Когда вы покупаете что-нибудь, продавец использует модем, чтобы убедиться в том, что ваша карточка действительна и вы платежеспособны. Пятнадцать лет назад эта система не могла бы работать ни в одной европейской стране. Плата за телефон была высока, многие магазины их даже не имели, а в Италии, например, их установки приходилось дожидаться год или два. Связь была дорогой и ненадежной. Создание онлайновой системы в Европе было невыгодно, поэтому индустрия кредитных карт отдала предпочтение смарт-картам, позволявшим хоть как-то обезопасить сделки. Дело не в том, что смарт-карты защищены лучше, чем карты с магнитными полосами, просто американский способ борьбы с мошенничеством был менее практичным. Настойчивое лоббирование европейскими производителями смарт-карт (Bull SA, Gemplus, и Schiumberger) также нельзя не учитывать.
Если говорить кратко, то существует определенное различие между картами с магнитными полосами и смарт-картами, но насколько это важно – зависит от их применения. Сопротивление вторжению в смарт-карту при достаточных затратах времени и средств всегда может быть преодолено, поэтому не имеет смысла создавать систему, безопасность которой основана на средствах сопротивления вторжению. Большинство людей не способны взломать смарт-карту, так что она достаточно хорошо защищена от большей части преступлений. Но обе карты создавались в предположении, что считывающему устройству следует доверять, поэтому они могут пострадать от действия устройств, используемых злоумышленниками. И все же, смарт-карта лучше защищена от взлома. И до тех пор, пока сопротивление вторжению не преодолено, смарт-карта надежно хранит свои секреты.
Хороши такие меры противодействия, которые не только защищают от известных угроз, но и эффективно действуют в непредвиденных случаях. Хотя и очень трудно обеспечить настоящую безопасность, неразумно полагать, что не случится катастрофа, если в чем-либо допущены просчеты.
Слишком многие системы безопасности чересчур хрупки: они разваливаются от самой незначительной ошибки. Вот несколько примеров:
• Главный секрет систем защиты европейских платных каналов телевидения в течение прошлого десятилетия находился в устройстве настройки телевизора. Это означало, что как только кому-то удастся преодолеть защиту и завладеть ключом, вся система окажется под угрозой.
• Защиту карточки с магнитной полосой 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 долларов
Существует много других всевозможных оценок узлов, включая вероятность успеха различных способов нападения или вероятность того, что нападающий использует определенный метод, и т. д.
В любой практической схеме узлы имеют множество значений, соответствующих различным переменным. Различные значения узлов можно комбинировать, чтобы узнать больше об уязвимости системы. Например, на рис. 21.6 видно, что самые дешевые виды взлома не требуют специального оборудования. Вы также можете видеть способы открытия сейфа, требующие наименьших затрат и сопряженные с небольшим риском, не требующие взлома, не требующие квалификации, самые дешевые с наибольшей вероятностью успеха, «законные» и т. д. Каждый раз, уточняя определенные характеристики нападений, вы больше узнаете о безопасности системы.
Рис. 21.6. Наиболее дешевые способы взлома, не требующие специального оборудования
Чтобы все это хорошо работало, необходимо объединить схему со сведениями о нападающих. Разные нападающие имеют различный уровень мастерства, успеха, неприятия риска, денег и т. д. Если вас беспокоит организованная преступность, то вы должны иметь в виду возможность дорогостоящих видов взлома и взломщиков, готовых попасть в тюрьму. Если вас тревожит угроза нападения террористов, вы не должны забывать о тех, кто готов умереть ради достижения своей цели. Если же речь идет об аспирантах, изучающих вашу систему безопасности, нет смысла беспокоиться о таких незаконных действиях, как взяточничество и шантаж. Характеристика нападающих определяет то, какой части дерева атак следует уделить особое внимание.
Деревья атак также позволяют сыграть в игру «что, если?», рассматривая различные варианты мер противодействия. Например, цель на рис. 21.6 оценивается в 20 000 долларов, поскольку самый дешевый вид взлома, не требующий специального оборудования, – это взятка лицу, знающему комбинацию. Что, если принять меры предосторожности – заплатить этому человеку сумму большую, чем возможная взятка, с тем чтобы он был менее сговорчив? Если предположить, что теперь расходы на подкуп составляют 80 000 долларов (напоминаю, это только пример; в реальности придется исследовать, как именно контрмеры влияют на значение узла), то цена увеличится на 60 000 долларов (возможно, на эту сумму придется нанять головорезов для достижения соглашения).
Деревья атак PGP
Ниже показана схема нападений на программы безопасности электронной почты PGP. Так как PGP является сложной программой, то и схема получается сложной, и будет проще изобразить ее в виде плана, а не графически. PGP имеет несколько средств безопасности, так что здесь показано только одно из нескольких деревьев атак на PGP. В нашей схеме цель состоит в том, чтобы прочитать сообщение, зашифрованное с помощью PGP. Другими мишенями могут быть: подделка подписи, изменение подписи в письме, незаметное изменение сообщения, подписанного или зашифрованного с помощью PGP.
Если компьютерная программа допускает изменение (с помощью троянского коня) или порчу (с помощью вируса), то ее можно использовать для того, чтобы PGP создавал незащищенную пару (открытый – закрытый) ключей (например, чтобы факторизация осуществлялась на основе множителей, известных нападающему).
Дерево атак PGP
Цель: прочитать сообщение, зашифрованное PGP (ИЛИ)
1. Прочитать сообщение, зашифрованное PGP
1.1. Расшифровать сообщение (ИЛИ)
1.1.1. Взломать асимметричное шифрование (ИЛИ)
1.1.1.1. Атаковать «в лоб» асимметричное шифрование (ИЛИ)
Можно подбирать возможные ключи с помощью (известного) открытого ключа получателя до нахождения совпадения. Эффективность этого нападения значительно уменьшается с помощью произвольной избыточной информации, вводимой в процессе симметричного шифрования.
1.1.1.2. Математически взломать асимметричное шифрование (ИЛИ)
1.1.1.2.1. Взломать RSA (ИЛИ)
На сегодня неизвестно, равнозначен ли взлом RSA разложению на множители.
1.1.1.2.2. Разложение на множители RSA или вычисление дискретного логарифма для схемы Эль-Гамаля.
Каждое из этих действии требует решения множества теоретических проблем, которые в настоящий момент кажутся очень сложными.
1.1.1.3. Криптоанализ асимметричного шифрования
1.1.1.3.1. Общий криптоанализ RSA и схемы Эль-Гамаля (ИЛИ)
Способы общего криптоанализа RSA или Эль-Гамаль не известны. Криптоанализ одного зашифрованного текста даст общий подход для взламывания RSA и схемы Эль-Гамаля.
1.1.1.3.2. Использование уязвимых мест RSA и Эль-Гамаля (ИЛИ)
В RSA есть несколько уязвимых мест; тем не менее PGP устраняет большую часть угроз, с ними связанных.
1.1.1.3.3. Тайминг-атаки (атаки, основанные на сравнительных измерениях времени) на RSA и Эль-Гамале.
Тайминг-атаки на RSA уже известны, они вполне могут успешно применяться и против схемы Эль-Гамаля. Однако эти атаки требуют низкоуровневого контроля за компьютером получателя в то время, как он расшифровывает послание.
1.1.2. Взломать симметричный ключ
1.1.2.1. Взломать симметричный ключ с помощью атаки «в лоб» (ИЛИ)
Все алгоритмы шифрования с помощью симметричного ключа для PGP имеют ключи размером не менее 128 бит. Это делает нереальной лобовую атаку.
Атака «в лоб» в некоторой степени облегчается при включении избыточной информации в начало всех зашифрованных сообщений. См. OpenPGP RFC[54].
1.1.2.2. Криптоанализ шифрования с помощью симметричного ключа Алгоритмы шифрования с помощью симметричного ключа (поддерживаемые PGP 5.x): IDEA, 3-DES, CAST-5, Blowfish и SAFER-SK 128. Эффективные методы для общего криптоанализа этих алгоритмов не известны.
1.2. Другими способами установить симметричный ключ, используемый для шифрования посланий
1.2.1. Вынудить (обманом) отправителя использовать открытый ключ получателя, чей закрытый ключ известен, для шифрования сообщения, (ИЛИ)
1.2.1.1. Заставить отправителя поверить, что некий подложный ключ (секретный ключ которого известен) – это ключ адресата.
1.2.1.2. Убедить отправителя зашифровать послание не одним-единственным ключом: настоящим ключом получателя и другим, секретный ключ которого известен.
1.2.1.3. Сделать так, чтобы сообщение было зашифровано некоторым другим открытым ключом, происхождение которого отправителю неизвестно Этого можно добиться, запустив программу, которая заставит пользователя поверить, что используется правильный ключ, тогда как на самом деле шифрование производится другим ключом.
1.2.2. Заставить получателя подписать зашифрованный симметричный ключ (ИЛИ)
Если адресат слепо подписывает зашифрованный ключ, то он невольно открывает незашифрованный ключ. Ключ достаточно короток, поэтому хэширование не обязательно перед подписыванием. Или если хэш-функция сообщения соответствует зашифрованному ключу, то получателю можно предложить подписать сообщение (или его хэш-функцию).
1.2.3. Контроль памяти компьютера отправителя (ИЛИ)
1.2.4. Контроль памяти компьютера получателя (ИЛИ)
Незашифрованный симметричный ключ должен храниться где-нибудь в памяти во время шифрования и дешифрования. Если память доступна, это дает повод завладеть ключом и прочитать послание.
1.2.5. Определить ключ по генератору случайных чисел (ИЛИ)
1.2.5.1. Определить состояние генератора случайных чисел в момент шифрования послания (ИЛИ)
1.2.5.2. Внедрить программу (вирус), которая определенным образом изменит состояние генератора случайных чисел (ИЛИ)
1.2.5.3. Внедрить программу, которая непосредственно повлияет на выбор симметричных ключей
1.2.6. Внедрить вирус, который откроет симметричный ключ 1.3. Заставить получателя (помочь) расшифровать послание (ИЛИ)
1.3.1. Атаковать симметричный ключ с помощью зашифрованного текста (ИЛИ)
Шифрование в режиме обратной связи, используемое PGP, совершенно не защищено от таких атак. Пересылая адресату тот же ключ (или зашифрованный ключ) вместе с измененным текстом, можно заполучить полное содержание письма[55].
1.3.2. Атаковать открытый ключ с помощью избранного зашифрованного текста (ИЛИ)
Так как RSA и схема Эль-Гамаля достаточно гибки, можно внести определенные изменения в зашифрованный симметричный ключ. Этот измененный (зашифрованный) ключ можно переслать с подлинным сообщением. Это дает возможность атаковать симметричные алгоритмы. Или можно найти слабый зашифрованный текст, и его шифрование с помощью алгоритма симметричного ключа предоставит информацию об измененном ключе, что позволит получить сведения о подлинном ключе.
1.3.3. Отправить любое сообщение адресату (ИЛИ)
Если получатель автоматически расшифровывает сообщение и отвечает на него, то отправитель получит образец шифрования известного открытого текста.
1.3.4. Контроль исходящей почты получателя (ИЛИ)
Если получатель отвечает на сообщение без использования шифрования, то можно собрать информацию о полученном им сообщении.
1.3.5. Сфальсифицировать поля «ответить» или «от кого» подлинного сообщения (ИЛИ)
В этом случае получатель может послать ответ по фальшивому адресу электронной почты, и даже если послание засекречено, оно будет зашифровано открытым ключом, секретный ключ которого известен.
1.3.6. Прочитать послание после того, как оно будет расшифровано получателем
1.3.6.1. Скопировать сообщение с жесткого диска или из виртуальной памяти компьютера (ИЛИ)
1.3.6.2. Копировать сообщение с резервной копии, хранящейся на магнитной ленте (ИЛИ)
1.3.6.3. Контроль сетевого трафика (ИЛИ)
1.3.6.4. Использовать средства приема электромагнитного излучения для считывания сообщения, выведенного на экран (ИЛИ)
1.3.6.5. Получение сообщения с устройств вывода
1.3.6.5.1. Получить текст с бумажной распечатки
1.3.6.5.2. Получить текст с фоточувствительного барабана принтера
1.3.6.5.3. Подслушать передачу информации с компьютера на принтер
1.3.6.5.4. Получить информацию из памяти принтера.
1.4. Добыть секретный ключ получателя
1.4.1. Разложение на модули RSA или вычисление дискретного логарифма для схемы Эль-Гамаля (ИЛИ)
Оба эти способа требуют решения множества теоретических вопросов, которые в настоящее время представляются очень сложными.
1.4.2. Получить секретный ключ получателя из его связки ключей (ИЛИ)
1.4.2.1. Добыть зашифрованную связку ключей получателя (И)
1.4.2.1.1. Скопировать его с жесткого диска пользователя (ИЛИ)
1.4.2.1.2. Скопировать его резервную копию (ИЛИ)
1.4.2.1.3. Контроль сетевого трафика (ИЛИ)
1.4.2.1.4. Внедрить вирус или закладку для раскрытия копии зашифрованного секретного ключа
Недавно созданный вирус Melissa как раз подходит для такого случая. Существуют и другие возможности: сделать файл открытым для чтения или поместить его в Интернете.
1.4.2.2. Расшифровать секретный ключ
1.4.2.2.1. Взломать зашифрованное с помощью алгоритма IDEA сообщение (ИЛИ)
1.4.2.2.1.1. Взломать IDEA с помощью атаки «в лоб» (ИЛИ)
IDEA использует 128-битовые ключи. Поэтому успешная атака «в лоб» нереальна.
1.4.2.2.1.2. Криптоанализ IDEA
Эффективные методы криптоанализа IDEA не известны
1.4.2.2.2. Узнать пароль
1.4.2.2.2.1. Контроль клавиатуры в момент введения пользователем пароля (ИЛИ)
1.4.2.2.2.2. Убедить пользователя открыть пароль (ИЛИ)
1.4.2.2.2.3. Использовать программу, запоминающую нажатия на клавиши, когда пользователь вводит пароль (ИЛИ)
1.4.2.2.2.4. Угадать пароль
1.4.3. Контроль памяти получателя (ИЛИ)
Когда пользователь расшифровывает полученное письмо, секретный ключ должен помещаться где-нибудь в памяти.
1.4.4. Внедрить вирус для раскрытия секретного ключа
На самом деле более изощренным является способ, указанный в пункте 1.4.2.1.4, где вирус дожидается расшифровки секретного ключа.
1.4.5. Создать для получателя незащищенную пару ключей (открытый – закрытый)
При рассмотрении схемы сразу становится очевидным, что взлом RSA и IDEA алгоритмов шифровки – не самое выгодное нападение на PGP. Существует множество способов считывания посланий, зашифрованных PGP. Вы можете подсмотреть изображение на экране, когда получатель расшифровывает и читает послание (используя троянского коня вроде Back Orifice, приемник TEMPEST или скрытую камеру), завладеть секретным ключом, после того как пользователь введет пароль (с помощью Back Orifice или специального компьютерного вируса), получить пароль (с помощью программы, запоминающей ввод с клавиатуры, приемника TEMPEST или Back Orifice) или попытаться овладеть паролем «в лоб» (это будет в меньшей степени энтропией, чем генерировать 128-битовые ключи IDEA). Выбор алгоритма и длина ключа – наименее существенные вещи из тех, которые могут сокрушить всю систему безопасности PGP.
Ниже приведена более общая схема: цель состоит в прочтении определенного сообщения или во время пересылки, или на одном из двух компьютеров.
Дерево атак для чтения сообщения электронной почты
Задача: прочитать определенное сообщение электронной почты, посланное с одного компьютера, использующего Windows 98, на другой.
1. Убедить отправителя показать письмо (ИЛИ)
1.1. Подкуп
1.2. Шантаж
1.3. Принуждение с помощью угроз
1.4. Обман
2. Прочитать сообщение, когда оно вводится в компьютер (ИЛИ)
2.1. Улавливать электромагнитное излучение экрана компьютера (Мера противодействия: использовать TEMPEST)
2.2. Визуально контролировать экран компьютера
2.3. Контролировать видеопамять
2.4. Контролировать шнур для подключения дисплея
3. Прочитать сообщение, хранящееся на диске отправителя (контрмера: использовать SFS для шифрования данных на жестких дисках) (И)
3.1. Получить доступ к жесткому диску (контрмера: установить замки на все двери и окна)
3.2. Считать файл, защищенный SFS
4. Прочитать сообщение, когда оно пересылается от отправителя к получателю (контрмера: использовать PGP) (И)
4.1. Перехватить сообщение во время пересылки (контрмера: использовать программу шифрования транспортного уровня)
4.2. Прочитать сообщение, зашифрованное PGP
5. Убедить получателя показать сообщение (ИЛИ)
5.1. Подкуп
5.2. Шантаж
5.3. Принуждение с помощью угроз
5.4. Обман
6. Подсмотреть сообщение во время его прочтения (ИЛИ)
6.1. Принимать электромагнитное излучение экрана монитора (контрмера: использовать TEMPEST)
6.2. Следить за изображением на экране
7. Прочитать сообщение, хранящееся на диске получателя (ИЛИ)
7.1. Получить сообщение с жесткого диска после его расшифровки (контрмера: использовать SFS для шифровки данных на диске) (И)
7.1.1. Получить доступ к жесткому диску (контрмера: установить замки на двери и окна)
7.1.2. Считать файл, зашифрованный SFS
7.2. Получить резервную копию расшифрованного сообщения
8. Получить бумажную распечатку сообщения (контрмера: хранить бумажные копии в сейфе) (И)
8.1. Получить доступ к сейфу
8.2. Открыть сейф
9. Украсть компьютер отправителя и попытаться извлечь из него сообщение
10. Украсть компьютер получателя и попытаться извлечь из него сообщение
Создание и использование деревьев атак
Как создавать дерево атак? Вначале определите возможные цели нападения. Каждая цель формирует отдельное дерево атак, хотя различные деревья могут иметь общие узлы и одно дерево может являться частью другого. Затем обдумайте все возможные виды нападений на каждую цель и включите их в схему. Повторяйте все действия, спускаясь вниз по дереву, пока не закончите. Покажите схему еще кому-нибудь, чтобы он тоже поработал над ней. Проделывайте это столько раз, сколько потребуется; возможно, на анализ уйдет несколько месяцев.