Введение ............................................................................................................................3
ЧАСТЬ I. КОМУ НУЖНА ЗАЩИТА? ................................................................................5
Глава I. Общие сведения о защите информации.................................................................7
1.1. Что и от чего защищать ...............................................................................................7
1.1.1. Характеристики информации ...................................................................................7
1.1.2. Угрозы безопасности ..............................................................................................10
1.1.3. Потенциальный противник ....................................................................................11
1.2. Задачи информационной безопасности .....................................................................13
Глава 2. Основные способы обеспечения защиты............................................................ 17
2.1. Общая классификация ...............................................................................................17
2.2. Технические методы защиты .....................................................................................19
2.3. Методы решения задач информационной безопасности............................................ 20
Глава 3. Когда защиты слишком много ............................................................................29
3.1. Неудобства для пользователя ....................................................................................30
3.2. Снижение производительности ................................................................................31
3.3. Сбои в системе защиты ............................................................................................32
3.4. Материальные затраты пользователей ......................................................................35
3.5. Здравый смысл ..........................................................................................................35
Глава 4. Методы оценки эффективности защиты............................................................ 39
4.1. Оценка обычных программ........................................................................................ 39
4.1.1. Качество программ.................................................................................................. 39
4.1.2. Надежность программ............................................................................................. 40
4.1.3. Экономическая эффективность программ............................................................... 40
4.2. Оценка средств защиты............................................................................................. 41
4.2.1. Качество защиты.................................................................................................... 41
4.2.2. Надежность защиты................................................................................................ 43
4.2.3. Экономическая эффективность защиты................................................................. 44
ЧАСТЬ II. НЕСКОЛЬКО СЛОВ О КРИПТОЛОГИИ....................................................... 47
Глава 5. Базовые понятия................................................................................................. 49
5.1. Происхождение названий.......................................................................................... 49
5.2. Криптография и наука............................................................................................... 50
5.3. Терминология........................................................................................................... 50
5.3.1. Участники взаимодействия.................................................................................... 50
5.3.2. Объекты и операции.............................................................................................. 51
5.4. Криптографические примитивы............................................................................... 52
5.4.1. Алгоритмы шифрования........................................................................................ 52
5.4.2. Криптографические хэш-функции......................................................................... 53
5.4.3. Криптографические генераторы псевдослучайных чисел....................................... 54
5.5. Модели основных криптоаналитических атак ...........................................................55
5.5.1. Атака на основе только шифртекста .......................................................................55
5.5.2. Атака на основе открытого текста ..........................................................................55
5.5.3. Атака на основе подобранного открытого текста ...................................................56
5.5.4. Атака на основе адаптивно подобранного открытого текста.................................. 56
5.6. Анализ стойкости криптографических примитивов.................................................. 57
Глава 6. Криптография для нематематиков...................................................................... 61
6.1. Открытая криптография в России.............................................................................. 61
6.2. Литература по криптологии....................................................................................... 63
6.3. Что нужно знать программисту.................................................................................. 66
6.3.1. Блочные шифры...................................................................................................... 66
6.3.2. Потоковые шифры.................................................................................................. 68
6.3.3. Алгоритмы с открытым ключом.............................................................................. 69
6.3.4. Хэш-функции.......................................................................................................... 70
6.3.5. Генераторы случайных чисел................................................................................... 71
6.3.6. Криптографические протоколы................................................................................ 72
6.4. Разработка собственных криптографических алгоритмов........................................... 72
Глава 7. Насколько надежны алгоритмы и протоколы...................................................... 75
7.1. Слабости в алгоритмах................................................................................................ 75
7.2. Ошибки в кодировании алгоритмов........................................................................... 77
7.3. Многократное использование ключа потокового шифра............................................ 80
7.4. Ошибки в генераторах псевдослучайных чисел.......................................................... 81
7.5. Блочный шифр в режиме простой замены.................................................................. 85
7.6. Использование обратимых хэш-функций................................................................... 86
7.7. Точное следование протоколам.................................................................................. 86
Глава 8. Рекомендации по выбору алгоритмов.................................................................. 89
8.1. Конкурсы по выбору стандартов шифрования........................................................... 89
8.1.1. Стандарт шифрования США.................................................................................... 89
8.1.2. Европейские криптографические схемы.................................................................. 92
8.1.3. Стандарт ISO/IEC 18033........................................................................................... 93
8.1.4. Стандарт шифрования Японии................................................................................ 93
8.2. Практические рекомендации известных специалистов............................................... 94
8.3. Патенты на алгоритмы и протоколы........................................................................... 95
ЧАСТЬ III. КАК НЕ НАДО ЗАЩИЩАТЬ ПРОГРАММЫ.................................................. 97
Глава 9. Актуальные задачи защиты программ.................................................................. 99
9.1. Модели распространения программного обеспечения................................................. 99
9.1.1. Бесплатные программы (Freeware)............................................................................ 99
9.1.2. Почти бесплатные программы................................................................................ 100
9.1.3. Программы, показывающие рекламу (Adware)........................................................ 101
9.1.4. Коммерческие программы (Commercial).................................................................. 101
9.1.5. Почти работоспособные программы........................................................................ 102
9.1.6. Условно бесплатные продукты (Shareware)............................................................. 103
9.2. От чего защищают программы................................................................................... 104
9.3. Основные форматы исполняемых файлов................................................................. 105
9.4. Особенности внутреннего устройства исполняемых файлов
в 32-битовых версиях Windows........................................................................................ 106
Глава 10. Регистрационные коды для программ.............................................................. 109
10.1. Требования и классификация.................................................................................. 110
10.2. Методы проверки регистрационных кодов ПО.........................................................111
10.2.1. Черный ящик........................................................................................................ 111
10.2.2. Сложная математическая задача............................................................................ 111
10.2.3. Табличные методы................................................................................................ 113
10.3. Какой метод выбрать............................................................................................... 115
Глава 11. Привязка к носителям информации.................................................................. 117
11.1. Ключевые дискеты................................................................................................... 117
11.2. Привязка к компакт-дискам..................................................................................... 119
11.2.1. Простейшие защиты.............................................................................................. 120
11.2.2. Диски большой емкости........................................................................................ 121
11.2.3. Отклонение от стандарта записи на диск.............................................................. 121
11.2.4. Физические ошибки на диске................................................................................ 121
11.3. Система защиты StarForce Professional...................................................................... 122
11.3.1. Общая характеристика защиты.............................................................................. 124
11.3.2. Модель задержек при чтении информации
с компакт-диска .................................125
11.3.3. Как StarForce проверяет диск................................................................................ 128
11.3.4. Способ обхода защиты.......................................................................................... 130
11.3.5. Резюме по защите StarForce.................................................................................. 130
Глава 12. Аппаратные ключи защиты............................................................................... 133
12.1. Классификация ключей............................................................................................ 133
12.2. Модификация кода и эмуляция................................................................................ 134
12.3. Ключи с памятью..................................................................................................... 135
12.4. Ключи с неизвестным алгоритмом........................................................................... 135
12.5. Атрибуты алгоритмов.............................................................................................. 136
12.6. Ключи с таймером.................................................................................................... 137
12.7. Ключи с известным алгоритмом............................................................................... 138
12.8. Ключи с программируемым алгоритмом................................................................... 139
12.9. Что происходит на практике.................................................................................... 140
12.10. Выводы о полезности аппаратных ключей............................................................. 140
Глава 13. Использование навесных защит........................................................................ 143
13.1. Какую защиту обеспечивают протекторы................................................................ 143
13.2. Как работают протекторы ........................................................................................144
13.3. Сценарии атаки........................................................................................................ 145
13.4. Борьба технологий защиты и взлома........................................................................ 149
13.5. Несколько интересных протекторов......................................................................... 153
13.5.1. ASProtect............................................................................................................... 153
13.5.2. Armadillo................................................................................................................ 153
13.5.3. РАСЕ InterLok....................................................................................................... 154
13.5.4. HASP Envelope...................................................................................................... 154
13.5.5. StarForce............................................................................................................... 155
13.6. Что плохого в протекторах...................................................................................... 156
13.6.1. Расход памяти...................................................................................................... 156
13.6.2. Безопасность........................................................................................................ 157
13.6.3. Нестабильность.................................................................................................... 158
Глава 14. Приемы, облегчающие работу противника...................................................... 161
14.1. Осмысленные имена функций................................................................................. 161
14.2. Транслируемые языки............................................................................................. 162
14.3. Условно бесплатные и Demo-версии....................................................................... 165
14.3.1. Ограничение функциональности.......................................................................... 166
14.3.2. Ограничение периода использования................................................................... 166
14.3.3. Программы с возможностью регистрации............................................................. 168
14.4. Распределенные проверки....................................................................................... 169
14.5. Инсталляторы с защитой......................................................................................... 170
14.5.1. ZIP-архивы с паролем........................................................................................... 171
14.5.2. Norton Secret Stuff................................................................................................. 171
14.5.3. Package For The Web............................................................................................. 172
ЧАСТЬ IV. ОСНОВНЫЕ АСПЕКТЫ
ЗАЩИТЫ ДАННЫХ.............................................. 175
Глава 15. Обеспечение секретности.................................................................................. 177
15.1. Архивация с шифрованием....................................................................................... 178
15.1.1. ZIP......................................................................................................................... 178
15.1.2. ARJ........................................................................................................................ 178
15.1.3. RAR....................................................................................................................... 179
15.2. Секретность в реализации Microsoft......................................................................... 180
15.2.1. Microsoft Word и Excel........................................................................................... 180
15.2.2. Microsoft Access..................................................................................................... 181
15.2.3. Microsoft Money..................................................................................................... 182
15.2.4. Encrypted File System............................................................................................. 183
15.3. Шифрование дисков................................................................................................ 184
15.3.1. Stacker................................................................................................................... 184
15.3.2. Diskreet.................................................................................................................. 184
15.3.3. BootLock................................................................................................................ 185
15.4. Документы PDF........................................................................................................ 186
15.4.1. Password Security (Standard Security Handler).......................................................... 187
15.4.2. Другие модули защиты от Adobe........................................................................... 188
15.4.3. SoftLock (SLCK_SoftLock)..................................................................................... 189
15.4.4. NewsStand Crypto (NWST_Crypto)......................................................................... 189
15.4.5. Panasonic Crypto (PSDS_Crypto)............................................................................. 190
15.4.6. KEY-LOK Rot 13 (BPTE_rotl3)............................................................................... 190
15.4.7. Normex................................................................................................................... 190
15.4.8. Liebherr (LEXC_Liebherr_Security).......................................................................... 191
15.4.9. DocuRights.............................................................................................................. 191
15.4.10. FileOpen Publisher (FOPN_fLock)........................................................................... 191
15.4.11. FileOpen WebPublisher (FOPNJbweb)..................................................................... 192
15.4.12. Другие модули защиты......................................................................................... 193
15.5. Уничтожение информации....................................................................................... 194
Глава 16. Особенности реализации DRM.......................................................................... 197
16.1. Что такое DRM......................................................................................................... 197
16.2. Возникновение DRM................................................................................................ 198
16.3. Очевидное препятствие............................................................................................ 199
16.4. Защита электронных книг......................................................................................... 200
16.4.1. Adobe PDF Merchant (Adobe.WebBuy).................................................................... 200
16.4.2. Adobe DRM (EBX_HANDLER)............................................................................... 201
16.4.3. Общая проблема с DRM для PDF........................................................................... 202
16.4.4. Microsoft LIT.......................................................................................................... 204
16.4.5. Тенденции рынка электронных книг..................................................................... 206
16.5. Digital Property Protection.......................................................................................... 206
Глава 17. Стеганографическая защита данных.................................................................. 209
17.1. Защита программ в исходных текстах...................................................................... 210
17.2. Защита от утечек информации................................................................................. 211
17.3. Альтернатива DRM.................................................................................................. 212
Глава 18. Причины ослабления средств защиты............................................................... 215
18.1. Непрофессионализм................................................................................................. 215
18.1.1. Иллюзия простоты................................................................................................ 215
18.1.2. Излишнее усердие................................................................................................. 216
18.2. Влияние законодательства....................................................................................... 217
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
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
По всем вопросам, замечаниям и предложениям обращаться по этому адресу mister-grey@narod.ru