Рис. 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 (ИЛИ)
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. Эффективные методы для общего криптоанализа этих алгоритмов не известны.
54
RFC 2440. В настоящее время конкуренцию ему составляет Gnu PG (GPG) – открытая реализация стандарта OpenPGP. Проект был поддержан грантом от правительства Германии, впервые для открытого программного обеспечения. Русскоязычную документацию GPG можно просмотреть на сайте переводчика www inar ru/-zwon/gph html. – Примеч. ред.