<< Предыдущая

стр. 2
(из 39 стр.)

ОГЛАВЛЕНИЕ

Следующая >>

18.3. Претензии на универсальность 219
18.4. Погоня за прибылью 220
18.5. Технологические причины 220
18.5.1. Эффективность разработки 220
18.5.2. Преемственность 221
18.6. Отсутствие ответственности 222
18.7. Сложность контроля 222


ЧАСТЬ V. ЗАМЕТКИ ОБ ИССЛЕДОВАНИЯХ
СРЕДСТВ ЗАЩИТЫ 223


Глава 19. Кому это нужно 225
19.1. Время создавать защиту 225
19.2. Время исследовать защиту 226
19.2.1. Власть и деньги 226
19.2.2. Самозашита 227
Содержание

19.2.3. Слава 229
19.2.4. Удовольствие 230
19.2.5. Справедливость 231
19.3. Синтез и анализ 232


Глава 20. Интернет — кладезь информации 235
20.1. Что искать в Интернете 235
20.2. Как и где искать 236
20.2.1. Google 236
20.2.2. Google groups 237
20.2.3. Babel Fish 237
20.2.4. The Wayback Machine 237
20.2.5. FTP Search 238
20.2.6. Peer-to-Peer networks 238
20.2.7. Распродажи 239
20.3. Саморазвитие и интеллектуальные игры 239


Глава 21. Инструментарий исследователя. 243
21.1. Классификация инструментов 243
21.2. Анализ кода программ 244
21.3. Работа с ресурсами 247
21.4. Доступ к файлам и реестру 247
21.5. Содержимое оперативной памяти 248
21.6. Устройства ввода и вывода 248
21.7. Сообщения Windows 248
21.8. Сетевой обмен 249
21.9. Вызовы библиотечных функций 250


Глава 22. Реконструкция криптографических протоколов 251
22.1. Область применения 251
22.2. Идентификация криптографической библиотеки 252
22.3. Идентификация криптографических примитивов 253
22.3.1. Идентификация функций по шаблонам 253
22.3.2. Константы в алгоритмах 254
22.3.3. Принцип локальности 256
Содержание X!

22 А. Протоколирование 257
22.5. Внесение искажений 259


Глава 23. Чего ожидать в будущем 261

23.1. Концепции безопасности 261
23.2. Перспективы развития криптографии 262
23.2.1. Потребность в новых криптографических примитивах 262
23.2.2. Надежные, но не всегда работающие протоколы 263
23.3. Защита программ 265
23.4. Защита данных 267
23.5. Методы анализа программ 268


Благодарности 271


Список использованных источников 273
Посвящается



Оксане, Егору и Полине
Саше Каталову
Лене Павловской и Сереже Осокину
Маше Ручке и Игорю Баздыреву
Марине Портновой и Леониду Агранонику
Джеку Палладино (Jack Palladino)
Эдмунду Хинцу (Edmund Hintz)
Полу Хольману (Paul Holman)



И многим другим,
чья поддержка и помощь
помогли выжить и победить.
Введение



Большинство книг по защите информации содержит в себе стройный набор
правил, беспрекословное выполнение которых, по идее, должно обеспечить
необходимый уровень защиты. Однако, как показывает практика, точное
следование правилам далеко не всегда приводит к желаемому результату.
Этому есть несколько причин.
Во-первых, все математически строгие доказательства строятся на моделях,
которые трудно применимы на практике из-за чрезмерной жесткости накла-
дываемых ограничений. Так, например, легко доказать, что одноразовый
блокнот является абсолютно стойким шифром, но при его использовании
размер ключа должен быть не меньше размера шифруемых данных и ключ
не должен использоваться дважды. На подобные условия согласятся разве
что дипломаты, военные или спецслужбы, а для массового использования
такой алгоритм не пригоден.
Во-вторых, реальный мир гораздо разнообразней, чем его описывают
в книгах, и всегда может возникнуть ситуация, которая не только никому не
встречалась на практике, но и даже не приходила в голову. Следовательно,
не может быть и полных формальных правил поведения в такой ситуации.
А в-третьих, людям свойственно ошибаться. И программист, реализующий
правила безопасности, тоже не застрахован от ошибок. Для обычных про-
грамм работоспособность обычно подтверждается путем выполнения серии
тестов, проверяющих все основные режимы. Но если программа имеет дело
с безопасностью, все обстоит иначе. Адекватное (обеспечивающее должный
уровень защиты) поведение программы на всех тестах не гарантирует отсут-
ствия "дыры" в одном из режимов, который не был протестирован. Для по-
лучения подобных гарантий требуется выполнить тестирование во всех воз-
можных режимах, что практически нереализуемо.
В этой книге нет универсальных рекомендаций по построению надежных
средств защиты, как нет и подробного описания техник, применяемых для
4 Введение

взлома. Внимание читателя направляется на то, какие ошибки чаще всего
допускаются в процессе разработки средств защиты, и приводятся примеры
реальных систем, которые были взломаны из-за таких ошибок.
Первая, вводная часть книги призвана дать читателю общее понимание за-
дач информационной безопасности и проблем, возникающих при решении
этих задач.
Вторая часть, в основном, посвящена криптографии, т. к. криптография яв-
ляется очень мощным инструментом, без которого построение большинства
систем защиты было бы просто невозможно.
В третьей части рассматриваются вопросы защиты программ от несанкцио-
нированного тиражирования. Приводятся описания наиболее распро-
страненных приемов защиты, и объясняется, почему эти приемы не всегда
работают.
Четвертая часть рассказывает о защите данных. В числе прочих рассматри-
ваются вопросы реализации систем управления цифровыми правами. Дается
анализ основных причин, приводящих к появлению ненадежных средств
защиты.
В пятой, заключительной части собрана информация о том, как и для чего
проводятся исследования программных средств защиты информации. Разра-
ботчикам защит полезно знать, какие средства есть в распоряжении против-
ника, чтобы максимально осложнить его работу.
Часть I

КОМУ НУЖНА ЗАЩИТА?

Глава 1. Общие сведения о защите информации
Глава 2. Основные способы обеспечения защиты
Глава 3. Когда защиты слишком много
Глава 4. Методы оценки эффективности защиты
Часть I. Кому нужна защита

Эта часть вводная. Вряд ли она будет очень интересна профессионалам
в области защиты информации, т. к. призвана донести до читателя
основные понятия и терминологию предметной области, а также общее
представление о том, что может и чего не может информационная
безопасность. Однако, наверняка, даже хорошо знакомые с данной темой
люди смогут найти для себя в этой части что-то новое.
Глава 1


Общие сведения
о защите информации
Перед тем как начинать рассмотрение вопросов защиты информации, стоит
более или менее формально определить, что скрывается за терминами "ин-
формационная безопасность" и "защита информации". Прежде всего, оба
этих словосочетания являются переводом на русский язык английского тер-
мина "information security". Словосочетание "информационная безопасность"
имеет скорее научный, теоретический окрас, а "защита информации" обыч-
но используется при описании практических мероприятий. Однако, в це-
лом, они являются синонимами, и в книге между ними не будет делаться
каких-либо различий.
Мы будем оперировать термином "информация" в максимально широком его
понимании. Информацией являются любые данные, находящиеся в памяти вы-
числительной системы, любое сообщение, пересылаемое по сети, и любой
файл, хранящийся на каком-либо носителе. Информацией является любой ре-
зультат работы человеческого разума: идея, технология, программа, различные
данные (медицинские, статистические, финансовые), независимо от формы их
представления. Все, что не является физическим предметом и может быть ис-
пользовано человеком, описывается одним словом — информация.

1.1. Что и от чего защищать
До начала рассмотрения различных аспектов защиты информации необхо-
димо выяснить, что и от кого предполагается защищать. Без этого рассуж-
дать о преимуществах и недостатках систем информационной безопасности
просто бессмысленно.

1.1.1. Характеристики информации
Прежде всего, у каждой "единицы" защищаемой информации есть несколь-
ко параметров, которые необходимо учитывать:
П статичность;
• размер и тип доступа;
8 Часть I. Кому нужна защита?

О время жизни;
• стоимость создания;
П стоимость потери конфиденциальности;
• стоимость скрытого нарушения целостности;
О стоимость утраты.
Статичность определяет, может ли защищаемая информация изменяться
в процессе нормального использования. Так, например, передаваемое по
сети зашифрованное сообщение и документ с цифровой подписью изме-
няться не должны, а данные на зашифрованном диске, находящемся в ис-
пользовании, изменяются постоянно. Также изменяется содержимое базы
данных при добавлении новых или модификации существующих записей.
Размер единицы защищаемой информации может накладывать дополни-
тельные ограничения на используемые средства защиты. Так блочные алго-
ритмы шифрования в некоторых режимах оперируют порциями данных
фиксированной длины, а использование асимметричных криптографических
алгоритмов приводит к увеличению размера данных при зашифровании
(см, гл. 5). Тип доступа (последовательный или произвольный) также накла-
дывает ограничения на средства защиты — использование потокового алго-
ритма шифрования для больших объемов данных с произвольным доступом
требует разбиения данных на блоки и генерации уникального ключа для ка-
ждого из них.
Время жизни информации — очень важный параметр, определяющий, на-
сколько долго информация должна оставаться защищенной. Существует
информация, время жизни которой составляет минуты, например отданный
приказ о начале атаки или отступления во время ведения боевых действий.
Содержимое приказа и без расшифровки сообщения станет ясно противни-
ку по косвенным признакам. Время жизни большей части персональной
информации (банковской, медицинской и т. п.) соответствует времени жиз-
ни владельца — после его смерти разглашение такой информации уже ни-
кому не принесет ни вреда, ни выгоды. Для каждого государственного сек-
рета, как правило, тоже определен период, в течение которого информация
не должна стать публичной. Однако с некоторых документов грифы не сни-
маются никогда — это случай, когда время жизни информации не ограни-
чено. Никогда не должна разглашаться информация и о ключах шифрова-
ния, вышедших из употребления, т. к. у противника могут иметься
в наличии все старые зашифрованные сообщения и, получив ключ, он смо-
жет обеспечить себе доступ к тексту сообщений.
Стоимость создания является численным выражением совокупности ресур-
сов (финансовых, человеческих, временнь/х), затраченных на создание ин-
формации. Фактически, это ее себестоимость.
Стоимость потери конфиденциальности выражает потенциальные убытки,
которые понесет владелец информации, если к пей получат неавторизован-
Глава 1. Общие сведения о защите информации

пый доступ сторонние лица. Как правило, стоимость потери конфиденци-
альности многократно превышает себестоимость информации. По истече-
нии времени жизни информации стоимость потери ее конфиденциальности
становится равной нулю.
Стоимость скрытого нарушения целостности выражает убытки, которые мо-
гут возникнуть вследствие внесения изменений в информацию, если факт
модификации не был обнаружен. Нарушения целостности могут носить раз-
личный характер. Они могут быть как случайными, так и преднамеренными.
Модификации может подвергаться не только непосредственно текст сооб-
щения или документа, но также дата отправки или имя автора.
Стоимость утраты описывает ущерб от полного или частичного разруше-
ния информации. При обнаружении нарушения целостности и невозможно-
сти получить ту же информацию из другого источника информация считает-
ся утраченной.
Четыре различных стоимости, перечисленные выше, могут очень по-разному
соотноситься друг с другом. Рассмотрим два примера.
Представим следующую ситуацию. Человек при помощи специализирован-
ной программы заносит информацию обо всех своих счетах и финансовых
операциях в базу данных. Вследствие особенностей налоговой системы по-
добная практика является обычной для жителей некоторых стран. Стои-
мость создания подобной базы данных складывается преимущественно из
времени, потраченного на ее заполнение актуальными данными. Финансо-

<< Предыдущая

стр. 2
(из 39 стр.)

ОГЛАВЛЕНИЕ

Следующая >>