1 - А-13-08

advertisement
Лекции по курсу:
«Методы и средства защиты компьютерной
информации»
Преподаватель
Хорев Павел Борисович
1
Содержание:
1. Введение и основные понятия защиты информации ........................................................... 4
1.1. Современное состояние ИТ, проблема защиты информации и пути ее решения ............ 4
1.2. Основные понятия .................................................................................................................. 4
2. Комплексное обеспечение информационной безопасности ................................................. 6
2.1. Угрозы безопасности и каналы утечки информации .......................................................... 6
2.2. Классификация методов защиты информации. Специфика программных методов ........ 7
2.3. Правовое обеспечение информационной безопасности ..................................................... 8
3. Защита от НСД к информации в корпоративных системах ............................................... 9
3.1. Способы НСД и защиты от него КС ..................................................................................... 9
3.2. Способы аутентификации пользователей КС ...................................................................... 9
3.3. Организация базы учетных записей пользователей .......................................................... 10
3.4. Защита от локального НСД .................................................................................................. 10
3.4.1. Аутентификация на основе паролей ............................................................................ 10
3.4.2. Аутентификация на основе модели рукопожатия ...................................................... 11
3.4.3. Программно-аппаратная защита от локального НСД ................................................ 12
3.4.4. Аутентификация на основе биометрических характеристик .................................... 13
3.4.5. Аутентификация по клавиатурному «почерку» .......................................................... 14
3.4.6. Аутентификация по «росписи» мышью ...................................................................... 15
3.5. Защита от удаленного НСД.................................................................................................. 15
3.5.1. Протоколы PAP и S/Key ................................................................................................ 15
3.5.2. Протокол CHAP ............................................................................................................. 16
3.5.3. Протокол Kerberos ......................................................................................................... 17
3.5.4. Программно-аппаратная защита от удаленного НСД ................................................ 18
3.6. Защита от несанкционированной загрузки ОС .................................................................. 19
4. Защита от НСД в ОС ................................................................................................................. 19
4.1. Разграничение прав пользователей в открытых версиях ОС Windows ........................... 19
4.2. Дискреционное и мандатное управление доступом к объектам. Классификации
безопасности компьютерных систем и информационных технологий .................................. 20
4.2.1. Дискреционное управление доступом ......................................................................... 20
4.2.2. Мандатное управление доступом ................................................................................. 21
4.2.3. Классификации ............................................................................................................... 21
4.3. Разграничение прав пользователей в защищенных версиях ОС Windows ..................... 23
4.4. Разграничение прав доступа к объектам компьютерных систем ..................................... 23
4.4.1. Разграничение прав доступа к объектам в защищенных версиях ОС Windows ...... 23
4.4.2. Аудит событий безопасности в защищенных версиях Windows .............................. 24
4.4.3. Разграничение прав пользователей в ОС Unix............................................................ 25
5. Криптографические методы защиты информации ............................................................ 26
5.1.Элементы теории чисел ......................................................................................................... 26
5.2. Симметричные криптосистемы и их использование ......................................................... 27
5.2.1. Способы построения симметричных криптосистем................................................... 27
5.2.2. Абсолютно стойкий шифр. Генерация, хранение, распространение ключей .......... 28
5.2.3. Криптосистема DES и ее модификация ....................................................................... 28
5.2.4. Криптосистема ГОСТ 28147-89 .................................................................................... 29
5.2.5. Использование симметричных криптосистем. Примеры .......................................... 30
5.3. Асимметричные криптографические системы................................................................... 31
5.3.1. Принципы создания и основные свойства асимметричных криптосистем.............. 31
5.3.2. Асимметричная криптосистема RSA ........................................................................... 32
5.3.3. Криптосистемы с открытым ключом ........................................................................... 32
5.3.4. Применение асимметричной криптографии ............................................................... 33
2
6. Компьютерная стеганография и ее применение ................................................................. 39
7. Защита от вредоносных программ ......................................................................................... 39
7.1. Вредоносные программы и их классификация .................................................................. 39
7.2. Загрузочные и файловые вирусы......................................................................................... 41
7.3. Методы обнаружения и удаления вирусов ......................................................................... 41
7.4. Программы-закладки и защита от них ................................................................................ 42
8. Защита программ от копирования ......................................................................................... 42
8.1. Принципы создания система защиты от копирования ...................................................... 42
8.2. Защита инсталляционных дисков и настройка ПО на характеристики компьютера ..... 43
8.3. Противодействие исследованию алгоритмов работы системы защиты от копирования
........................................................................................................................................................ 44
9. Защита информации в глобальных компьютерных сетях ................................................ 45
3
1. Введение и основные понятия защиты информации
1.1. Современное состояние ИТ, проблема защиты информации и
пути ее решения




характерные черты современных ИТ с т.зр. ЗИ (7)
проблемы ЗИ (2)
пути решения (3)
системно-концептуальный подход
Характерные черты современных ИТ с т. зр. ЗИ:
1) рост использования автоматических и автоматизированных процедур обработки и
принятия решений; фактически не контролируются человеком;
2) территориальная распределенность компонентов систем, передача по открытым каналам
связи;
3) рост сложности технических и программных средств;
4) накопление огромных объемов информации и ее долговременное хранение;
5) интеграция в единые базы данных информации самого разного назначения;
6) непосредственный доступ к информационным ресурсам разных категорий пользователей
с разными полномочиями;
7) рост стоимости компьютерных систем.
Проблемы ЗИ:
 обеспечение сохранности,
 обеспечение установленного режима доступа.
Пути решения задачи ЗИ. 3 этапа, которые проходят организации при попытке ее решить:
1. Обеспечить ЗИ можно привлечением отдельных программных средств (антивирусы,
шифровальщики), минимальные организационные меры.
2. 1 ничего не обеспечивает. Приобретение единой системы ЗИ со своим управляющим
ядром, которое управляет остальными компонентами (например, оперативное обновление
версий ПО).
3. ЗИ – не какая-то единовременная акция по установке ПП, а постоянный процесс, который
должен выполняться на всех этапах ЖЦ АС. Должен быть использован весь комплекс
методов и средств защиты:
 организационные (организационно-технические и организационно-правовые)
мероприятия – действия людей, ответственных за обеспечение безопасности;
 инженерно-технические методы и средства;
 математические и криптографические методы и средства;
 программно-аппаратные методы и средства.
На сегодняшний день общепринятым считается системно-концептуальный подход к ЗИ.
Системность: временная (постоянная ЗИ), территориальная, целевая (защищенность –
обязательная составляющая качества информации), организационная. Концептуальность: в
основе д.б. научно-обоснованная концепция.
1.2. Основные понятия
 информация
 формы представления информации
 классификация информации по законодательству РФ
4










информация по ГК РФ
свойства защищаемой информации
защита информации
утечка информации
цель ЗИ
эффективность ЗИ
объект ЗИ
информационная безопасность
политика безопасности
термины криптографии
шифрование, расшифрование, ключ шифрования, криптография, дешифрование,
криптология, хэширование
Информация – сведения обо всем (людях, фактах, предметах, событиях, явлениях и т.д) в
независимости от формы их представления.
Формы представления информации:
 документированная информация (информация на носителе + удостоверяющие
реквизиты);
 речевая;
 телекоммуникационная.
Наряду с термином информация используют термин информационный ресурс.
Классификация информации по законодательству РФ:
 открытая информация: любая информация, если не оговорено иное, является открытой;
 информация с ограниченным доступом:
o государственная тайна;
o конфиденциальная:
 персональные данные (сведения о фактах жизни гражданина, по
которым можно восстановить его биографию);
 служебная тайна (врачебная, адвокатская, тайна суда и следствия);
 коммерческая тайна.
Информация (по ГК РФ) – объект материального права (у нее м.б. собственник и есть
пользователь).
Защищаемая информация обладает двумя свойствами:
 у нее есть собственник;
 доступ к ней ограничен на основании нормативно-правовых документов.
Защита информации – деятельность по предотвращению:
 утечки информации;
 несанкционированного воздействия;
 непреднамеренного воздействия.
Воздействие: уничтожение или искажение.
Утечка информации:
 разглашение информации;
 несанкционированный доступ (с нарушением установленных норм и правил);
 добывание с помощью разведки (агентурная, техническая).
Цель ЗИ – предотвращение ущерба.
Эффективность ЗИ – степень достижения цели.
Объект ЗИ – информация, носитель информации, информационный процесс.
Информационная безопасность – состояние защищенности информационной среды.
5
Политика безопасности – совокупность документированных норм, правил, практических
приемов, регулирующих работу с защищаемой информацией.
Термины криптографии
Шифрование: пусть P – открытый текст, C – шифротекст (криптограмма). Шифрование: C =
Ek(P). k – параметр (ключ шифрования). Расшифрование: P = Dk’(C).
Ключи шифрования (дешифрования): одинаковые (симметричное шифрование) или разные
(асимметричное: один из ключей м.б. открытым – шифрование с открытым ключом).
Криптография – наука о построении шифров.
Дешифрование – получение открытого текста из шифротекста без знания ключа (вскрытие
шифра). Этим занимается наука криптоанализ.
Криптология – общее название, включающее криптографию и криптоанализ.
Шифрование – обратимая операция. Хэширование – необратимая операция.
2. Комплексное обеспечение информационной
безопасности
2.1. Угрозы безопасности и каналы утечки информации
 классификация угроз: по целям, по мотивам и источникам
 каналы утечки информации
Классификация угроз по целям:
1) нарушение конфиденциальности;
2) нарушение целостности (искажение, подделка, уничтожение);
3) нарушение доступности (блокирование) – невозможность получения доступа к
информации со стороны легальных пользователей.
Классификация угроз по источникам и мотивам угроз:
1) угрозы, не связанные с деятельностью человека (естественные) – наводнение,
землетрясение;
2) угрозы, связанные с человеческой деятельностью (искусственные):
 неумышленные (непреднамеренные)
 ошибки проектирования
 ошибки программирования
 ошибки эксплуатации
 случайные сбои в работе электротехнических средств
 воздействие физических полей других устройств
 …
 умышленные (преднамеренные)
 несанкционированные действия обслуживающего персонала
 несанкционированный доступ к информации любых пользователей
Каналы утечки информации:
1) косвенные (не требуют физического доступа к элементам системы):
 подслушивающие устройства;
 видеонаблюдение (удаленное);
 побочные э/м излучения и наводки (ПЭМИН);
2) непосредственные (требуют физический доступ к элементам системы), не предполагают
изменения элементов компьютерных систем:
 копирование носителей информации;
6
 хищение носителе информации;
 сбор промышленных отходов, содержащих конфиденциальную информацию;
 сбор остаточной информации (временные файлы, удаленные файлы и т.д.);
 использование незаблокированных терминалов других пользователей;
3) непосредственные, требуют изменения элементов компьютерных систем:
 нелегальное подключение аппаратуры к линиям связи:
 пассивное (возможность прослушивания всех пакетов, проходящих по линиям
связи);
 активное (часть пакетов уничтожается, часть изменяется);
 применение программных средств защиты связи;
 вывод из строя средств защиты.
2.2. Классификация методов защиты информации. Специфика
программных методов
 классификация средств защиты информации
 аппаратные средства
 программные средства
Классы средств защиты информации:
1) организационные (организационные мероприятия и действия, подбор и обучение кадров)
+: сами по себе эти методы могут перекрыть существенную часть каналов утечки
информации;
–: эти методы объединяют все остальные в единое целое;
2) инженерно-технические:
 средства контроля и управления доступом (например, турникетная система);
 охранное телевидение (CCTV);
 охранно-пожарная сигнализация (ОПС);
 средства пожаротушения;
 средства обнаружения радиозакладных устройств;
 …
3) криптографические;
4) программно-аппаратные.
Аппаратные средства – электромеханические и электронные устройства, обладающие
признаками:
 входят в состав технических средств компьютерной системы;
 выполняют отдельные функции ЗИ.
Аппаратные средства:
 основные
 устройства для считывания идентификационных признаков,
 платы шифрования,
 замки-блокираторы на рабочих станциях и серверах
 …
 вспомогательные
 средства уничтожения информации на магнитных дисках
 сигнализации
 …
Программные средства – программное обеспечение в составе компьютерной системы,
предназначенное для решения отдельных задач ЗИ.
Программные средства:
 основные:
7
 программы идентификации и аутентификации,
 разграничение доступа к информационным ресурсам,
 программные средства шифрования,
 средства защиты ПО от несанкционированного применения и использования,
 …
 вспомогательные
 программы уничтожения остаточной информации,
 аудит безопасности (регистрация событий безопасности в системных журналах),
 программы имитации работы с нарушителем (отвлечение нарушителя от какой-либо
информации),
 программы тестирования средств защиты,
 программы резервного копирования,
 …
Достоинства:
 простота тиражирования,
 гибкость (настраиваемость, параметризация),
 простота использования,
 неограниченные возможности для усовершенствования.
Недостатки:
 возможность злоумышленного изменения,
 потребление ресурсов (снижение эффективности системы),
 «пристыкованность» многих средств защиты.
2.3. Правовое обеспечение информационной безопасности
Уровни правового регулирования:
1) федеральное законодательство РФ:
 конституция РФ (ст. 23 – тайна частной собственности);
 ГК РФ ст. 139 – служебная и коммерческая тайна;
 УК РФ ст. 272 (НСД), 273 (вредоносные программы), 274 (правила эксплуатации);
 закон «О государственной тайне» (Министерство Обороны, ФСБ, Гос. тех. комиссия,
служба военной разведки + межведомственная комиссия по защите);
 «Об информации, информатизации и ЗИ»;
 «Об электронной цифровой подписи»;
 «О связи»;
 «О лицензировании отдельных видов деятельности»;
 «Об авторских и смежных правах»;
 «О правовой охране программ для ЭВМ;
2) подзаконные акты:
 указы президента РФ («О мерах обеспечения законности в области разработки,
производства, реализации и эксплуатации средств шифрования»);
 постановления правительства РФ («О сертификации средств защиты информациии»);
 письма высшего арбитражного суда РФ;
 постановления пленумов верховного суда РФ;
3) стандарты, руководящие документы, инструкции, методики, утверждения
соответствующих органов
 Госстандарт, «Средства вычислительной техники защиты от НСД. Общие
технические требования», «Стандарты на алгоритмы ЭЦП», «Стандарты на функции
хэширования»;
 Гос. Тех. Комиссия: «Концепция защиты техники, автоматизированных систем, … от
НСД»;
8
4) локальные нормативные акты.
3. Защита от НСД к информации в корпоративных системах
3.1. Способы НСД и защиты от него КС
 классификация НСД
 защита от НСД
Классификация НСД:
1) подбор паролей и др. аутентифицирующей информации, 2 способа:
 полный перебор; если N – мощность алфавита, используемого в пароле, а K – max
длина пароля, то среднее время взлома t*NK/2;
 по специальному словарю;
2) использование подключения к системе в момент временного отсутствия легального
пользователя;
3) подключение к линии связи в момент завершения сеанса легального пользователя;
4) «маскарад» – выдача себя за легального пользователя:
 похищение носителя с ключевой информацией;
 перехват пароля:
 внедрение закладки, сохраняющей ввод с клавиатуры;
 имитация панели для ввода имени и пароля;
 социальная инженерия (мошенничество) – метод программируемого
взаимоотношения с человеком для достижения цели;
5) мистификация;
6) аварийный способ – искусственное создание ситуации отказа в работе отдельных служб
атакуемой системы. Цель – отключить средства защиты, нарушить политику безопасности
(пример – алгоритм Чижова);
7) профессиональный взлом:
 тщательный анализ ПО;
 поиск уязвимостей в ПО ЗИ;
 анализ выбранной политики безопасности;
 попытка внедрения вредоносных программ.
Направления защиты от НСД:
 аутентификация,
 разграничение доступа (разграничение полномочий),
 шифрование.
3.2. Способы аутентификации пользователей КС
Способы аутентификации:
1) пользователь знает что-то, что подтверждает его подлинность:
 парольная аутентификация;
 модель рукопожатия (запрос-ответ) – секретное правило преобразования информации;
2) пользователь что-то имеет, что подтверждает его подлинность:
 материальные носители с ключевой информацией;
 магнитные носители;
 штрих-коды (со специальным составом, препятствующим сканированию);
 touch memory;
 token (маркер, брелок);
 smart card;
3) пользователь и есть то лицо, за которое себя выдает (биометрические признаки):
9
 характеристики работы пользователя за компьютером (скорость доступа,
клавиатурный почерк, роспись мышью);
 ввод специфической информации (решение некоторой логической задачи);
 аутентификация на основе БЗ об уровне знаний, культуры пользователя (экспертная
система аутентификации).
3.3. Организация базы учетных записей пользователей
 понятия
 Unix
 Windows, алгоритмы Windows NT и LAN Manager
Пусть i – пользователь, RIDi – идентифицирующий номер пользователя (relational identifier),
IDi – логическое имя учетное записи пользователя, Di – дескриптор, описатель учетной
записи (связь логического имени с физическим лицом), Si – случайная величина.
Пусть Pi – некоторая аутентифицирующая информация (очевидно ее нельзя хранить в
открытом виде), Fi – функция преобразования F(Pi, Si) (функция шифрования или
хеширования Pi), Gi – информация о правах и полномочиях пользователей системы.
Unix
Учетные записи находятся в файле /etc/passwd (обычно открыт для чтения всем). В
современных системах используется затенение (/etc/shadow, /etc/master.passwd). В Linux
запрещен доступ по чтению.
Gi: UIDi или GIDi (для группы), home dir, shell
Si: 2-3 символа
Pi и Si используются в качестве начального ключа (вектора) для шифрования магической
строки M (8 пробелов): EPi,Si(M) = F(Pi, Si). Для шифрования – алгоритм DES.
Windows NT/2000/XP Pro
База учетных записей: реестр (HKLM\SAM), файл Windows\System32\config\SAM.
Gi: набор битов, задающий привилегии пользователя. Случайные значения не
поддерживаются. 2 функции F:
 алгоритм Windows NT,
 алгоритм LAN Manager.
Алгоритм Windows NT:
1) максимальная длина пароля – 14 символов,
2) преобразование в кодировку Unicode,
3) применение функции хеширования: hi = H(Pi) (16 байт),
4) шифрование: F(Pi, Si) = ERIDi(hi) (алгоритм DES).
Алгоритм LAN Manager:
1) максимальная длина пароля – 14 символов,
2) преобразование буквенных символов пароля к верхнему регистру: Piup = Uppercase (Pi),
3) разделение на 2 7-байтовые половины: Piup = Pi1 || Pi2,
4) шифрование магической строкой M = “kgs!@#$%”: hi = EPi1(M) || EPi2(M),
5) F(Pi, Si) = ERIDi(hi).
3.4. Защита от локального НСД
3.4.1. Аутентификация на основе паролей





требования к паролю, пример Windows
хранение паролей
назначение паролей
правила назначения/изменения паролей
противодействие попытками подбора паролей
10
 усиление парольной аутентификации
 недостатки парольной аутентификации
Требования к паролю: простота запоминания, сложность подбора.
Пусть N – мощность множества символов, из которых состоит пароль, K – длина пароля.
Количество вариантов паролей: NK.
Требования к паролю в Windows NT/2000/XP Pro:
Kmin = 6
A1 = {A, …, Z}
A2 = {a, …, z}
A3 = {0, …, 9}
A4 = {‘,’, ‘.’, +, -, …}
Pi  IDi
Хранение паролей: шифрование, хеширование.
Назначение паролей:
 обычно назначается пользователем, постоянная профилактическая работа с
пользователями, проблема возобновления пароля при забытии;
 пользователь + администратор: администратор задает пароль, пользователь может его
изменять;
 пароль назначается системой, например, в конце сеанса системой выдается новый пароль.
Правила назначения/изменения паролей:
 пароль никогда не отображается на экране,
 любое изменение пароля требует двукратного его ввода,
 при превышении лимита ввода неправильного пароля блокировка учетной записи.
Противодействие попыткам подбора пароля:
 блокировка учетной записи (после превышения лимита, на какое-то время или до ручного
снятия блокировки администратором);
 увеличение времени задержки перед каждым последующим набором пароля (например, в
10 раз);
 скрытие имени последнего работающего пользователя;
 учет всех неудачных попыток.
Усиление парольной аутентификации
С помощью одноразовых паролей. Пользователю выдается список паролей {Pi | i = 1, …, n} (i
– номер сеанса). Решает проблему узнавания пароля при вводе. Недостатки:
 невозможно запомнить все пароли,
 не понятно, какой вводить пароль при сбое.
Решение проблемы запоминания – пароли выбираются на основе необратимой функции.
Пусть F(p) – необратимая функция. Обозначим Fn(p) = F(F(…(F(p)))).
Пароли: Pi = Fi(P).
Недостатки парольной аутентификации:
 самая уязвимая,
 не подходит для взаимной аутентификации в сети; например, пусть A и B – абоненты
сети, у A есть пароль B, у B – A.
AB: запрос PB
BA: называет себя, запрос PA
AB: A, PA (посылка пароля «в никуда»)
B: проверка PA
BA: B, PB
3.4.2. Аутентификация на основе модели рукопожатия
 протокол
11
 варианты
 достоинства, недостатки
 решение задачи взаимной аутентификации
Пользователь (П) и система (С) согласовывают между собой некоторую функцию – правило
преобразования (F). Протокол:
С: генерация случайного x, y = F(x)
СП: x
П: вычисление y=F(x) (F – функция, которую знает пользователь)
ПС: y
С: y == y
Требование к F: невозможность определения F по x и F(x). Например: ax{mod p} (p – простое
число).
Другие варианты:
 у С есть база вопросов (часть из них объективные: «Девичья фамилия матери», другая
часть – нет: «Где находится клуб?»). С случайно выбирает вопрос, П может ответить что
угодно. При каждом следующем входе С предоставляет новые вопросы (как те, на которые
он отвечал, так и новые).
 графические образы – БД пиктограмм.
Достоинства:
 не передается конфиденциальная информация,
 каждый сеанс входа уникален.
Недостаток: длительность процедуры аутентификации.
Применение для взаимной аутентификации в сети:
Пусть A и B – абоненты сети.
A: выбирает x, y = F(x)
AB: A, x
B: y = F(x)
BA: B, y
A: y == y
Если y == y, то A доверяет B. Также нужно повторить процедуру для B.
3.4.3. Программно-аппаратная защита от локального НСД






активация программных средств при включении питания компьютера
модель нарушителя
аппаратные компоненты
установка системы защиты
эксплуатация
анализ защищенности
Активация программных средств при включении питания компьютера:
1) POST
2) [BIOS setup]
3) BIOS
4) программа начальной загрузки (в MBR – Master Boot Record, в 1-м физическом секторе
диска) – определение активного раздела жесткого диска
5) оболочка ОС (находится в 1-м секторе логического диска)
Если изменена программа начальной загрузки, то все последующие действия по загрузке
защищенной ОС теряют свой смысл.
12
Утв. 1: Гарантированно корректно работает та программа, которая первой получает
управление после BIOS.
Утв. 2: Для гарантированно корректной защиты от несанкционированной загрузки ОС
достаточно, чтобы программа хеширования и сами хеш-значения паролей были аппаратно
защищены от чтения с помощью любых программных средств.
Модель нарушителя:
 не присутствует при установке системы защиты,
 не имеет пароля установки защиты,
 не имеет пароля пользователя,
 не имеет копии ключевой информации на дополнительном носителе,
 не может вскрыть системный блок компьютера,
 не может перезаписать ПЗУ BIOS.
Важную роль играют аппаратные компоненты:
 плата расширения BIOS (BIOS extension) – имеет уникальный пароль;
 «аппаратные ключи», например, Touch memory; кроме этого м.б. дополнительная
ключевая информация (в ОЗУ).
Установка системы защиты:
1) вставка платы расширения в системный блок;
2) при загрузке управление передается плате расширения;
3) запрос пароля установки;
4) если пароль совпадает, то загрузка ОС;
5) автозапуск Setup;
6) ввод пароля пользователя и ключевой информации с аппаратного элемента (Pi, Ki);
7) ввод имен файлов, целостность которых д.б. гарантирована (fi1, fi2, …, fin);
8) вычисление хеш-кода и его шифрование: EK(H(fij, Pi, Ki, PS)) (K – мастер-ключ, PS –
пароль установки, записан на плате).
Эксплуатация:
1) запуск Bios Extension;
2) запрос пароля;
3) запрос на установку объекта с ключевой информацией;
4) проверка целостности файлов;
5) загрузка ОС.
мастер ключ
плата расширения
пароль установки
пароль пользователя
пользователь
ключевая информация пользователя аппаратный элемент
Анализ защищенности
 пароль пользователя – ничего не доступно;
 элемент с ключевой информацией – ничего не доступно;
 пароль пользователя, ключевая информация – может осуществить НСД, но не может
внедрить прогрумму-закладку для осуществления постоянного НСД; может только
ознакомиться с текущим состоянием;
 пароль установки – может получить постоянный НСД,
 пароль установки, пароль доступа – не может переустановить систему.
3.4.4. Аутентификация на основе биометрических характеристик
Основой для аутентификации являются физиологические особенности организма человека.
Достоинства:
 трудность фальсификации,
13
 высокая достоверность (оценивается вероятностью ошибка 1-го рода – отказ в доступе
легального пользователя (10-6-10-3), 2-го рода – допуск нелегального пользователя (10-5-10-2)),
 неотделимость от личности.
Примеры биометрических характеристик:
 отпечатки пальцев,
 геометрическая форма руки,
 узор радужной оболочки глаза,
 рисунок сетчатки глаза (вероятность повторения 10-78),
 тембр голоса,
 форма лица.
3.4.5. Аутентификация по клавиатурному «почерку»
 ключевая фраза: настройка, аутентификация, другой вариант
 псевдослучайный текст: основа, настройка
 особенности метода
Клавиатурный почерк – темп работы пользователя с клавиатурой.
Промежутки между нажатиями соседних клавиш подчинены одному и тому же закону. В
качестве текста может выступать некоторая ключевая фраза либо псевдослучайный текст.
Ключевая фраза
Настройка:
1) выбор фразы,
2) набор фразы несколько раз,
3) удаление грубых ошибок (интервалы, существенно отличающиеся от остальных,
исключаются),
4) {ti,i+1k} – интервалы между нажатиями i-й и (i+1)-й клавишей при k-м наборе,
5) вычисление Mk, Dk.
n – длина ключевой фразы, m – число наборов.
Аутентификация:
1) набор ключевой фразы несколько раз;
2) удаление грубых ошибок;
3) решение задачи: проверка гипотезы о равенстве дисперсии для одной пары клавиш;
4) если решена, то задача проверки гипотезы равенства центров распределения при
неизвестной дисперсии;
5) пусть для r комбинаций подтвердилось, тогда r/(n-1) – оценка достоверности. Можно
ввести порог (например, 0.95).
Другой вариант:
1) набор текста 1 раз;
2) гипотеза о равенстве дисперсий: берутся интервалы внутри одной фразы;
3) если разброс времен и у эталона и у проверяемого набора один и тот же, то исключаем
ошибочные интервалы;
4) r/(n-1).
Псеводслучайный текст
Клавиатура – поле m. Расстояние между клавишами – dij – количество клавиш, лежащих на
прямой, соединяющей клавиши i и j. Степень поля k – максимальное расстояние между
двумя клавишами. Особенности:
1) характеристики нажатия клавиш одного поля тем ближе друг к другу, чем меньше k;
2) при настройке и при аутентификации количество полей д.б. одинаковым;
3) если пользователь владеет 10-пальцевым набором, то характеристики снимать с
половины клавиатуры;
Снимаемые характеристики: время между нажатиями клавиши из i-го и j-го поля (xij).
14
Режим настройки:
1) генерация текста (осмысленный тест, фиксированный набор слов, охват всей
клавиатуры);
2) сохранение характеристик xij;
3) расчет D, M;
Особенности метода
Клавиатурный почерк – нестабильная характеристика. Темп м.б. разным. Виды
нестабильности:
 естественная (овладение набором с клавиатуры, старение – не скачкообразно);
 скачкообразная – физическое состояние, эмоциональное возбуждение.
3.4.6. Аутентификация по «росписи» мышью
Имеется набор координат точек.
Разрыв в линии росписи – точка, в которой расстояние до предыдущей точки больше, чем
среднее расстояние: dj,j-1 > d/(k-1).
Характеристики:
 количество точек,
 линия росписи,
 длина отрезков между точками,
 количество разрывов, взаимное расположение разрывов.
Нужно выполнить сглаживание – найти точки разрыва и добавить точки.
Ищем количество замкнутых контуров и их взаимное расположение.
Режим настройки: получение нескольких росписей.
Режим аутентификации:
 ввод росписи,
 расчет эталонных характеристик,
 получение характеристик,
 сравнение с эталоном.
3.5. Защита от удаленного НСД
3.5.1. Протоколы PAP и S/Key





обозначения
PAP
идея S/Key
парольная инициализация в S/Key
аутентификация в S/Key
Обозначения:
U – пользователь,
C – клиентский компьютер,
S – сервер,
P – пароль,
ID – логическое имя пользователя.
PAP (Password Authentication Protocol):
1. CS: ID, P
2. S: извлечение P из БД по ID, P == P
3. SC: подтверждение или отказ и разрыв
15
S/Key предполагает использование одноразовых паролей. Идея: U и S знают P, C и S знают
некоторую функцию F (например, хеширование). Формируется список паролей (m штук):
F(m)(P), F(m-1)(P), …, F(P). Пусть Yi = F(i)(P).
На S в БД хранится Ym+1, m, ID и P.
Идея аутентификации:
1. SC: m
2. UC: P
3. C: Ym = F (m)(P)
4. CS: Ym
5. S: Ym+1 = F(Ym), Ym+1 == Ym+1
6. S: замена в БД Ym+1 на Ym+1, m
Парольная инициализация в S/Key – генерация списка паролей:
1. SC: запрос ID
2. CS: ID
3. S: генерация случайного N (код иницилизации)
4. SC: запрос m
5. CS: m
6. S: извлечение P из БД по ID
7. S: Ym+1 = F(m+1)(N, P)
8. S: запись N, m, Ym+1, ID, P в БД
Инициализацию требуется проводить в следующих случаях:
 смена секретного ключа,
 заканчивается список одноразовых паролей,
 возможна компрометация списка паролей.
Аутентификация в S/Key:
1. CS: ID
2. S: извлечение P, N, m, Ym+1 из БД по ID
3. SC: N, m
4. UC: P
5. C: Ym = F (m)(N, P)
6. CS: Ym
7. S: Ym+1 = F(Ym), Ym+1 == Ym+1
8. S: замена Ym+1 и m в БД
3.5.2. Протокол CHAP




обозначения
аутентификация
выбор случайного числа
недостатки
CHAP – Challenge Handshake Authentication Protocol (протокол аутентификации на основе
модели рукопожатия).
Обозначения:
U – пользователь, C – клиент, S – сервер, N – случайное число.
Аутентификация:
1. SC: пакет вызова (challenge) (IDS, N, length(N))
2. UC: IDU, P
3. CS: пакет отклика (IDU, h), h = H(IDS, N, P)
4. S: извлечение по IDU из БД H(IDS, N, P), H == H
16
5. SC: пакет подтверждения/отказа
Ключевой момент протокола CHAP – выбор N. Требования;
 уникальность,
 непредсказуемость (алгоритм не м.б. полностью выявлен).
На практике N разбито на 2 части:
 текущая дата и время,
 случайное число (аппаратный или программный датчик).
Недостатки:
 плохая масштабируемость относительно числа серверов,
 сложность администрирования.
Аналогичные недостатки и у S/Key.
3.5.3. Протокол Kerberos





обозначения
общая схема взаимодействия
получение клиентом TGT
получение клиентом ST
взаимная аутентификация клиента и сервера
Основа – использование мандатов (ticket).
Обозначения:
C – клиент
S – сервер
AS – Authentication Server, сервер аутентификации
TGS – Ticket Grant Server, сервер выдачи мандатов
TGT – ticket grant ticket, предварительный мандат
ST – session ticket, сеансовый мандат
TS – time stamp, время отправки пакета
T – time, срок жизни пакета
Схема взаимодействия:
5. ST
C
4. ST
1. (ID, P)
2. TGT
AS
S
3. TGT
TGS
Клиент получает мандат на доступ к серверу. Сервер «доверяет» мандату, выданному TGS.
Достоинство: нет постоянного обращения к AS при обращении к S.
Доверие основано на том, что серверы имеют ключи шифрования, которым доверяют.
Первоначальная ключевая информация д.б. распределена каким-то образом.
Обозначения:
KTGS – ключ шифрования TGS (очевидно, есть у всех серверов)
KS – ключ шифрования сервера S (есть у самого сервера и у TGS)
KA,B – временный ключ для взаимодействия A и B
ADC – адрес клиента
PC – пароль клиента
17
KC,TGS, KC,S
«C»
ADC, IDC,
PC, IDTGS
KC,S
5. ST, EKC,S(IDC, ADC)
6. EKC,S(TS)
«S»
KS
4.
EK
)
C,
GT E 3. I
TG
T
DC
S (K
,
KC
D
S
I
,T
,TG
C,
TG
,
1.
S,
G
S (I
KC
ST
(
DC T,
C
)
P
,A
E
.
2
DC
)
TG
, ID
C
S
«AS»
KTGS, PC,
KC,TGS
«TGS»
KTGS, KS,
KC,S
KC,TGS
Получение клиентом TGT:
1. CAS: IDC, IDTGS, TS1 (C хочет получить доступ к TGS)
2. AS: TGT = EKTGS(KC,TGS, IDC, ADC, IDTGS, TS2, T2)
3. ASC: EPC(KC,TGS, IDTGS, TS2, T2, TGT)
Получение клиентом ST:
1. C: AC := EKC,TGS(IDC, ADC, TS3)
2. CTGS: IDS, TGT, AC (кто хочет получить доступ и к кому)
3. TGS: расшифрование TGT (для получения KC,TGS), расшифрование AC
4. TGS: ST := EKS(KC,S, IDC, ADC, IDS, TS4, T4)
5. TGSC: EKC,TGS(KC,S, IDS, TS4, T4, ST)
Цель шифрование AC – проверка, тот ли клиент запрашивает доступ, что указан в TGT (на
случай, если клиент украл TGT).
Взаимная аутентификация клиента и сервера:
1. C: AC2 = EKC,S(IDC, ADC, TS5)
2. CS: ST, AC2
3. S: расшифрование ST (для получения KC,S), расшифрование AC2
4. S: проверка, совпадает ли запрашивающий клиент с клиентом, указанным в мандате
5. SC: EKC,S(TS5+1) – отклик клиенту, подтверждение подлинности сервера
3.5.4. Программно-аппаратная защита от удаленного НСД





схема сети
возможности нарушителя
crypto router
схема передачи пакета
масштабирование относительно числа подсетей
A
X
CR1
Интернет
CR2
B
Y
ЛВС1
Нарушитель
ЛВС2
Возможности нарушителя:
 знает топологию всей сети;
 знает IP-адреса подсетей;
 имеет образцы программно-аппаратного обеспечения сети;
18
 имеет информацию об ошибках в ПО, об оставленной отладочной информации, мастерключах;
 не имеет локального доступа;
 не может иметь сеансовых/базовых ключей шифрования.
CR – Crypto Router – программно-аппаратное средство, обладающее следующими
возможностями:
 внутренние (связь внутри ЛВС) и внешние интерфейсы (связь с Интернет) разделены,
 шифрование всей исходящей изнутри информации и расшифрование всей входящей из
Интернета информации.
CR использует расширенную таблицу маршрутизации. Таблица маршрутизации для CR1
содержит имя рабочей станции X, ее маршрутизатор CR2, ключ связи с этим
маршрутизатором K12, интерфейс связи I(CR2).
Передача пакета от A к X:
1. ACR1: пакет P = (ADA, ADX, данные)
2. CR1: по X находит CR2, по CR2 находит I(CR2) и K12
3. P = (ADCR1, ADCR2, EK12(P))
4. CR1CR2: P
5. CR2: в таблице маршрутизации CR1 находит K12, P = DK12(P)
6. CR2X: P
Эта схема прозрачна для любого сетевого ПО, работающего по TCP/IP. Надежность
определяется криптоалгоритмом.
Когда число подсетей большое, то нужен еще один объект – криптомаршрутизатор с
функциями центра распределения ключей – KDC (Key Distribution Center). KDC
распространяет таблицы маршрутизации.
3.6. Защита от несанкционированной загрузки ОС
Проще всего осуществляется на уровне BIOS Setup. Структура:
 Standard
 Advanced
 …
 Set User Password
 Set Supervisor Password
Установить пароль на загрузку ОС: Standard\Password := System, max длина пароля – 8
символов.
+: простота и надежность
–: 1 пароль для всех пользователей, невозможность восстановления пароля, существование
технических паролей
Обезопаситься от загрузки с несанкционированного носителя.
Установить Supervisor password; если установлен, то по паролю пользователя нельзя
изменить настройки.
Защита от прерывания обычного хода загрузки: msdos.sys – [Options] BootKeys = 0.
4. Защита от НСД в ОС
4.1. Разграничение прав пользователей в открытых версиях ОС
Windows




профиль пользователя
действия администратора
ограничения
проблемы
19
 хранение ограничений
Открытые версии: Windows 9x/Me/XP Home Edition. Права пользователя здесь – профиль.
Профиль пользователя:
 структура рабочего стола,
 главное меню,
 последние используемые документы,
 …
 ограничения прав,
 пароль.
Пароль используется для защиты профиля учетной записи.
Действия администратора:
1) включить пароль для профиля,
2) зарегистрировать всех пользователей, которые могут работать на рабочей станции,
3) ограничить права отдельных учетных записей (редактор системных правил, System Policy
Editor, poledit.exe).
Ограничения:
1) на уровне локального компьютера:
 ограничения на выбираемый пароль (min длина, буквенно-цифровой пароль),
 отмена кэширования паролей,
 отмена общего доступа к ресурсам компьютера,
 …
2) на уроне локального пользователя:
 определение списка разрешенных к запуску программ,
 удаление из главного меню потенциально опасных команд («Выполнить», «Найти»,
«Сеанс MS-DOS»),
 запрет использования функций панели управления,
 скрытие значков дисков,
 запрет доступа к сети,
 запрет изменения структуры рабочего стола и главного меню,
 запрет редактирования реестра.
Существует пользователь, профиль которого загружается по умолчанию (если не вводить
имя и пароль) – Default. Профиль нового пользователя основывается на профиле Default.
Проблемы:
 все ограничения касаются только программ, разработанных Microsoft,
 запрет на редактирование реестра относится только к программе regedit.exe.
Хранение ограничений
Информация сохраняется в реестре или в профиле пользователя:
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\ProfileList\ (HKCU).
Хранение ограничений в неодноранговой сети:
 локально, в реестре,
 в файле на сервере (например, config.pol в директории NetLogon).
4.2. Дискреционное и мандатное управление доступом к
объектам. Классификации безопасности компьютерных систем
и информационных технологий
4.2.1. Дискреционное управление доступом
Дискреционное управления доступом – Discretionary Access Control, DAC.
20
1. Каждый объект имеет владельца (по умолчанию – тот, кто создал объект).
2. Владелец имеет право управления доступом.
Управление доступом основано на матрице доступа, строки которой соответствуют
субъектам доступа, столбцы – объектам, а элементами которой являются списки контроля
доступа (DACL, Discretionary Access Control List).
В системе матрица может храниться «по столбцам» (DACL) или по строкам (права доступа
пользователей).
Права доступа в Windows:
 общие (generic) – для совместимости с ОС, построенных по стандарту POSIX: чтение,
запись, выполнение;
 стандартные (применимы к любому объекты): удаление, чтение, запись DACL;
 специальные (привязаны к виду объекта).
3. Должен существовать привилегированный пользователь с полномочиями присвоения
прав пользования любым объектам (присвоение только себе, а не другим).
Достоинство: самая хорошо изученная модель.
Недостатки:
 нельзя контролировать утечку конфиденциальной информации;
 статичность: например, после открытия документа права доступа не изменяются;
 слабая защита от вредоносных программ.
4.2.2. Мандатное управление доступом
Мандатное управление доступом – Mandate Access Control.
1. Каждый пользователь имеет свой уровень запуска G(Ui) (например целое число; чем
больше, тем больше прав).
2. У любого объекта есть метка секретности S(Oj).
3. У любого процесса есть уровень конфиденциальности: C(Pk) = max S(Oj) (по всем
объектам, используемым в процессе).
4. Правила управления доступом:
 не читать выше: G(Ui)  S(Oj),
 не записывать ниже,
 понизить гриф секретности объекта может только пользователь, который обладает
специальной привилегией и имеет доступ к этому объекту.
Как правило, MAC распространяется на часть объектов, используется совместно с DAC. Есть
пользователь с полномочиями удаления любого объекта.
Достоинства:
 нет опасности утечки конфиденциальной информации;
 если начальное состояние системы безопасное и переход из состояния в состояние может
происходить в соответствии с правилами MAC, то каждое следующее состояние будет
безопасным;
 схожесть с обычным порядком доступа к документам.
Недостатки:
 существенное снижение производительности: права доступа нужно определять для
каждой операции записи/чтения;
 неудобство для пользователя;
 нельзя создать открытый объект пользователю с большими полномочиями.
4.2.3. Классификации




TCSEC
РД ГТК РФ
ITSEC
класс C2
21
TCSEC
TCSEC – Trusted Computer System Evaluation Criteria («Оранжевая книга»), 2-я половина
1980-х г. 7 классов безопасности:
 D1 – все, что не прошло в другие классы;
 C1, C2 – DAC, C1 – на уровне пользовательских групп, C2 – на уровне отдельного
пользователя;
 B1, B2, B3 – MAC;
 A1 – верифицированная защита (формальное доказательство защищенности).
Недостатки:
 не учитываются особенности отдельных компьютерных систем (сети, СУБД), в 90-х г.
устранено;
 ориентировка на системы военного и государственного назначения.
РД ГТК РФ
Для средств вычислительных технологий и для автоматизированных систем. 9 классов:
 3Б, 3А – однопользовательские системы;
 2Б, 2А – многопользовательские системы, конфиденциальная информация одного уровня,
все имеют к ней один доступ;
 1Д, 1Г, 1В, 1Б, 1А – многопользовательские системы, разные права:
 1Д – парольная аутентификация;
 1Г – DAC;
 1В – MAC;
 1А – пароль 8 символов (цифры/буквы), биометрия, аппаратный ключ.
Недостатки:
 ориентирована на конфиденциальность (нет достоверности);
 ориентирована на силовые структуры.
ITSEC
Стандарты задают ограничения на технологии. 2 составляющие: классы компьютерных
систем, классы для применения (СУБД, сетевые системы, АСУТП). В результате развития
появились Common Criteria for ITSEC (общие критерии оценки безопасности). Полностью
отказались от общей шкалы, есть набор показателей: аутентификация, целостность,
разграничение доступа.
Класс C2
Требования:
 DAC;
 уникальное имя и пароль;
 объекты одного процесса не д.б. доступны для другого, в т.ч. и после завершения работы
1-го процесса;
 аудит событий безопасности администратором;
 система должна защищать себя от внешнего воздействия.
22
4.3. Разграничение прав пользователей в защищенных версиях ОС
Windows
Пользователь
1. Ctrl-Alt-Del
13'. Отказ
3. ID, P
5. ID, P
WinLogon
2.
12. AT
6. ID, P
LSA
13. AT
11. SID
Файл аудита
secevent.evt
msv1_0.dll
7. ID, H(P)
10. SID
4. ID, P
Explorer
msgina.dll
UserInit
8. ID, H(P)
SAM
9. SID
БД SAM
14. AT
ID, P  SID  AT
msgina.dll – провайдер аутентификации
LSA – Local Security Authority
SAM – Security Account Manager
SID – Security Identifier, включает RID (относительный номер, однозначно определяющий
права)
AT – Access Token, маркер доступа:
 SID пользователя,
 SID первичной группы,
 привилегии субъекта,
 ID сеанса,
 имя службы которая выдала сертификат.
Имеются псевдопользователи и предопределенные группы: Everyone, Users, System, ….
Принцип min полномочий: программа при запуске получает min полномочия, которые имеет
пользователь. В Windows программа получает все полномочия, в Unix программа может
получать права пользователя, который ее установил.
Проблема (клиент-сервер): при запуске сервера загружается пользователь System, по запросу
клиента может получить доступ к секретным данным. Решение – «олицетворение»
(impersonalisation) – передача дополнительного маркера. Для доступа по сети создается
специальный пользователь Guest.
4.4. Разграничение прав доступа к объектам компьютерных
систем
4.4.1. Разграничение прав доступа к объектам в защищенных версиях ОС
Windows





дескриптор безопасности
DACL
схема предоставления прав доступа
алгоритм предоставления прав доступа
объекты, доступом к которым можно управлять
Любой объект разграничения доступа имеет дескриптор безопасности SD (Security
Descriptor):
 SID (ID безопасности) владельца,
 SID первичной группы,
 DACL (управляется владельцем),
 SACL (системный список контроля доступа, управляется администратором).
23
DACL – Discretionary Access Control List, список ACE (Access Control Entry) двух типов –
Allowed и Denied. ACE содержит:
 SID объекта,
 тип (Allowed/Denied),
 маска доступа (Access Mask).
Схема предоставления прав доступа
1. AT
Приложение
6.
Объект
LSA
5. R
2. AT
3. SD
4. R
SRM
Файл
аудита
SRM – Security Reference Monitor (монитор безопасных ссылок).
LSA – Local Security Authority
R – результат проверки прав доступа.
AT – Access Token
Алгоритм предоставления доступа:
1) найти ACE с SID, совпадающим с SIDAT;
2) если не найдено, то доступ запрещается;
3) если тип ACE – Denied ???;
4) если тип ACE – Denied и есть хотя бы одно совпадение в AMAT == AMACE, то доступ
запрещается;
5) если тип ACE – Allowed и AMAT == AMACE, то доступ разрешается.
Объекты, доступом которых можно управлять:
 файлы и папки (NTFS),
 разделы реестра,
 принтеры.
4.4.2. Аудит событий безопасности в защищенных версиях Windows






задачи аудита
файл аудита
политика аудита
события
реакция на переполнение файла аудита
роли
Задачи аудита:
 обнаружение попыток НСД, подготовок к таким попыткам,
 расследование фактов НСД.
Файл аудита: Windows\System32\config\secevent.evt.
Политика аудита:
 определение событий,
 определение параметров файла аудита: размер, реакция на переполнение.
События:
 вход/выход субъектов,
 изменение в политике безопасности,
 использование привилегий,
 системные события,
 доступ к объектам.
24
Реакция на переполнение файла аудита:
 затирать автоматически самые старые события,
 затрать события, если они старее указанного количества дней,
 блокирование работы системы до ручной очистки журнала аудита.s
Роли: администратор, аудитор.
4.4.3. Разграничение прав пользователей в ОС Unix






учетная запись
ограниченная оболочка
разграничение доступа к объектам
маска доступа
4-й бит
назначение прав доступа вновь создаваемым объектам
Учетная запись:
 UID,
 GID,
 начальный каталог (HOME$),
 командная оболочка (Shell).
Ограничение доступа с помощью ограниченной оболочки:
 запрет выхода из домашнего каталога,
 запрет изменения значений переменной окружения PATH,
 запрет перенаправления ввода/вывода,
 запрет использоваиня в именах файлов ‘/’?
 использование только программ из PATH.
Недостаток: некоторые программы допускают выход в оболочку. Есть ограничение на
количество терминалов, с которых может войти root.
Разграничение доступа к объектам
Структура раздела. на котором установлена ОС:
 программа-загрузчик ОС,
 суперблок,
 область индексов,
 область файлов,
 область, недоступная для ФС.
Индекс файла:
 UID,
 GID,
 маска доступа,
 временные характеристики.
Маска доступа – массив контроля доступа, имеющий постоянную длину. 3 части:
 владелец,
 другие члены его группы,
 все остальные.
Например: rwxr-xr--.
В каждой группе можно определить 4-й бит:
 владелец: SUID (Set UID) – выполнение программы не с правами пользователя, который
ее запустил, а с правами ее владельца;
 группа: SGID – аналогично SUID, только выполняется с правами группы;
 sticky bit (создание файла в чужом каталоге).
25
Назначение прав доступа вновь создаваемым объектам – переменная среды UMASK.
5. Криптографические методы защиты информации
5.1.Элементы теории чисел









вычет
сравнимость по модулю
свойства операций над вычетами
взаимнопростые числа
мультипликативно обратное число
приведенный набор вычетов
функция Эйлера
малая теорема Ферма, теорема Эйлера
причины использования операций над вычетами
Утв.: aZ nZ+ ! q, rZ (0  r < n  a = qn+r). r – вычет a по модулю q.
Опр.: a = b {mod n} – a сравнимо с b по модулю n (a, b, n  Z).
a{mod b} = c  kZ+(a = kb + c)
a = c {mod b}  a{mod b} = c
Полный набор вычетов по модулю n: {0, 1, 2, …, n-1} – коммутативное кольцо. Свойства
операций над вычетами:
 аддитивность: (a+b) {mod n} = (a{mod n} + b{mod n}){mod n};
 мультипликативность: (a*b) {mod n} = (a{mod n} * b{mod n}){mod n};
 сохранение степени: ab{mod n} = (a{mod n})b{mod n}.
Другие свойства:
 (-a){mod n} = (kn-a){mod n} (k = a/n, a > 0);
 (a{mod n}){mod n} = a{mod n};
 n {mod n} = 0.
Опр.: Числа a и b взаимно простые, если НОД(a, b) = 1.
Опр.: Если ab = 1{mod n}, то b – мультипликативно обратное число для a{mod n}.
Необходимое условие существования мультипликативно обратного числа – взаимная
простота.
Опр.: Приведенный набор вычетов по модулю n Zn* – множество, содержащее вычеты по
модулю n, которые взаимно просты с n.
Опр.: Функция Эйлера (n) = | Zn*|.
Утв.: Если p, q – простые числа, то (p) = p-1, (p2) = p(p-1), (pq) = (p-1)(q-1).
Утв.: Если n – составное число и {p1, p2, …, pk} его простые делители, то
n

1
  n   n 1   < n-1.
pi 
i 1 
Теорема (малая теорема Ферма): Если aZ, n – простое, a и n – взаимно простые, то
an-1 = 1{mod n}.
Теорема (Эйлера): Если aZ, n – простое, a и n – взаимно простые, то a(n) = 1{mod n}.
Утв.: Если aZ, n – простое, a и n – взаимно простые, то a-1{mod n} = a(n)-1{mod n}.
Причины использования операций над вычетами:
 ограничение разрядности,
 простая процедура вычисления прямой операции (обратная операция – дискретный
логарифм, вычисляется очень сложно).
26
5.2. Симметричные криптосистемы и их использование
5.2.1. Способы построения симметричных криптосистем




перестановка
замена/подстановка
гаммирование
современные симметричные криптосистемы
Обозначения:
P – открытый текст,
C – шифртекст,
EK – функция шифрования ключом K,
DK – функция расшифрования ключом K.
Основные способы:
1) перестановка: символы переставляются в соответствии с задаваемым ключом правилом.
Это один из лучших алгоритмов по временным характеристикам. Проблема в случае, когда
длина ключа меньше длины текста. Решения:
 разбиение текста на блоки (проблема расширение последнего блока);
 размещение текста в таблице (число столбцов = длина ключа, число строк = длина текста
/ длина ключа), перестановка столбцов в соответствии с ключом, чтение текста по строкам.
Недостатки:
 сохраняются частотные характеристики открытого текста,
 недостаточное количество возможных ключей.
2) замена/подстановка: символы открытого текста заменяются другими символами того же
или другого алфавита. Виды: одноалфавитные и многоалфавитные.
Одноалфавитные подстановки
Пусть k – ключ, {Ai | i = 1, …, n-1} – алфавит символов открытого текста.
Ek(Ai) = Ai+k{mod n}
Dk(Ai) = Ai-k{mod n} = Ai+n-k{mod n} = En-k(Ai)
Многоалфавитные подстановки
k = k1k2…kn
Ekj(Ai) = Ai+kj{mod n}
Одинаковые символы открытого текста становятся разными в шифртексте.
Разновидность – шифры кодировочной книги. Ключ – некоторый текст. Шифртекст состоит
из символов: N1N2N3 (N1 – номер страницы, N2 – номер строки, N3 – позиция в строке).
Побайтное шифрование:
ci+1 = pi + pi+1
3) гаммирование
p = p1p2…pn
Создается гамма шифра – псевдослучайная последовательность.
G = G1G2…Gn
Ci = piGi
pi = ciGi = piGiGi = pi
Современные симметричные криптосистемы:
 потоковые шифры – шифрование байт за байтом. Основа – как правило, гаммирование.
RC4 (Rivest Cipher), SEAL;
 блочные шифры (подавляющее большинство) – текст разбивается на блоки одинаковой
длины (обычно 64 бита); многократно для каждого блока:
 первоначальная перестановка,
 гаммирование + замена,
27
 конечная перестановка.
Количество перестановок: 8-32. Возможно, на блок перед шифрованием накладывается
предыдущий блок. Для этого нужен вектор инициализации, который накладывается на 1й блок.
5.2.2. Абсолютно стойкий шифр. Генерация, хранение, распространение
ключей
Клод Шеннон определил условия существования идеального шифра:
 ключ выбирается совершенно случайно,
 длина открытого текста не больше длины ключа.
Проблемы: генерация, хранение и распространение ключей.
Генерация: как обеспечить случайность? В современных системах используется генератор
случайных чисел, который инициализируется от таймера, от случайной последовательности
событий. Случайная составляющая добавляется к ключу.
Хранение: ключи должны храниться в зашифрованном виде (на каком-то мастер-ключе). Где
хранить мастер-ключ? Например, в открытом виде на защищенном от чтения носителе.
Распространение:
 через центр распределения ключей (KDC, Key Distribution Center); каждый хост имеет
ключ доступа к KDC; проблема – потенциальная возможность чтения всех сообщений;
 обмен напрямую (непосредственно между хостами), требуется взаимная аутентификация.
5.2.3. Криптосистема DES и ее модификация






обозначения
шифрование
расшифрование
варианты использования (ECB, CBC, CFB, OFB)
особенности
модификации (3-DES, DESX, AES)
DES – Data Encryption Standard
Обозначения:
IP – начальная перестановка (initial partition)
Key – базовый ключ шифрования (64 бита)
ki – некоторые внутренние ключи, используемые на каждом шаге шифрования (48 бит)
ki = KS(i, Key)
P – исходный блок открытого текста (64 бита)
C – результат шифрования P
L||R – сцепление левой и правой половин блоков (по 32 бита)
Шифрование
1) L0||R0 = IP (64 бита);
2) для i = 1, 2, …, 16: Li = Ri-1, Ri = Li-1f(Ri-1, ki) (сеть Фейстела);
3) C = IP-1(R16L16).
f(Ri-1, ki)
1) Ri-1  Ri-1 (расширение до 48 бит по определенному правилу);
2) R1 = Ri-1Ki;
3) R2 = S(R1) (блок подстановки; 32 бита);
4) R3 = P(R2) (блок перестановки; 32 бита).
Расшифрование
Используется тот же алгоритм и те же ключи, только в обратном порядке (вместо k1, k2, …,
k16  k16, k15, …, k1).
28
Варианты использования
1. ECB (Electronic Code Book, электронная кодовая книга) – базовый
P = P1P2…Pn – текст разбивается на блоки.
Ci = EK(Pi) (i = 1, …, n)
C = C1C2…Cn
Недостатки:
 проблема расширения последнего блока,
 изменение одного бита в блоке влияет только на этот блок.
2. CBC (Cipher Block Chain, сцепление блоков шифра)
Ci = EK(PiCi-1) (i = 1, …, n)
Pi = DK(Ci)Ci-1
C0 = IV (initial vector)
Фактически, Cn – некоторая функция от K, P1, P2, …, Pn. Cn называют MAC (Message
Authentication). MAC может использоваться для проверки целостности шифра.
3. CFB (Cipher Feedback, обратная связь по шифру)
Ci = PiEK(Ci-1)
C0 = IV
Pi = CiEK(Ci-1)
Cn – MAC
4. OFB (Output Feedback, обратная связь по выходу)
Ci = PiEK(Si-1)
Pi = CiEK(Si-1)
Si – псевдослучайная последовательность, инициализируется с помощью IV.
Особенности:
 вектор инициализации либо передается вместе с шифром, либо генерируется по
общеизвестному правилу;
 для увеличения длины ключа могут использоваться случайные значения (salt values),
которые передаются вместе с зашифрованным файлом.
Модификации
1. 3-DES – тройное шифрование разными ключами
C = EK3(DK2(EK1(P)))
P = DK1(EK2(DK3(C)))
Эффективная длина ключа: 168 бит.
2. DESX (DES Extended)
К ключу K (56-битный ключ DES) добавляется 2 части по 64 бита K1 и K2.
Шифрование: EK(PK1)K2.
3. AES (Advanced Encryption Standard) – стандарт по передаче коммерческой информации.
5.2.4. Криптосистема ГОСТ 28147-89
 шифрование
 расшифрование
 режимы (простая замена, гаммирование, гаммирование с обратной связью, генерация
имитовставки)
Длина блока 64 бита. Длина ключа 256 бит.
Ключ: K = K0K1…K7
H – таблица замен 8x16 (аналог KS в DES). Требование – в одной строке все 16 значений д.б.
разными.
Шифрование
1) Для i = 1, 2, 3
29
2) Для j = 0, …, 7: P = f(P, Kj)
3) Для j = 7, …, 0: P = f(P, Ki)
4) C = P
Расшифрование
1) Для j = 0, …, 7: C = f(C, Kj)
2) Для k = 1, 2, 3
3) Для j = 7, …, 0: C = f(C, Ki)
4) P = C
f(P, Kj)
P = P1||P2
1) S = P1+Kj{mod 232}, S = S0S1S2 (по 4 бита)
2) для m = 0, …, 7: Sm = Hm, Sm
3) S << 11 (циклический сдвиг)
4) S = SP1
5) P2 = P1, P2 = S
Режимы
1. Простая замена (аналог ECB)
Ci = EK(Pi), Pi = DK(Ci)
2. Гаммирование (аналог OFB)
Синхропосылка (начальный вектор): S = S1S0 – случайное число.
S0i+1 = S0i+K1{mod 232}
S1i+1 = S1i+K2–1{mod 232–1} + 1
K1 = 101010116
K2 = 101010416
Ci = PiEK(Si)
Pi = CiEK(Si)
3. Гаммирование с обратной связью (аналог CFB)
Ci = PiEK(Ci-1)
C0 = S – синхропосылка (IV)
Pi = CiEK(Ci-1)
4. Генерация имитовставки (MAC)
EK(Pi)
Для k = 1, 2
Для j = 0, …, 7
Pi = f(Pi, Ki)
I=P
Для всего текста:
S=0
i Si = EK(Pi)
S = S1S0
Имитовставка – S0.
5.2.5. Использование симметричных криптосистем. Примеры
1. Безопасная генерация, хранение и распространение ключей.
2. Защищенная передача информации по открытому каналу.
A: H(P) – MAC
P = P || H(P)
C = EK(P)
AB: C
B: P = DK(C) – неявное подтверждение подлинности
P = P || H(P)
30
H(P)
H(P) == H(P) – проверка целостности
Современные криптосистемы
Название
Длина блока
DES
64
3-DES
64
DESX
64
ГОСТ 28147-89
64
IDEA
64
RC2, RC5, RC6
32, 64, 128
AES
128
CAST
64
Skipjack
64
Blowfish
64
SAFER+
128
Длина ключа
56
168
184
256
128
2-2048
128, 192, 256
128
80
до 448
128, 192, 256
Количество раундов
16
16
16
32
8
0-256
14
16
32
16
16, 12, 8
5.3. Асимметричные криптографические системы
5.3.1. Принципы создания и основные свойства асимметричных
криптосистем




однонаправленная функция
свойства асимметричной криптосистемы
недостатки асимметричной криптографии
применение асимметричной криптографии
Основа – однонаправленная (односторонняя) функция.
Опр.: F(x) – однонаправленная функция, если:
 вычисление функции м.б. эффективно реализовано,
  F-1(x),
 вычисление F-1 трубоемко (сложность сравнима с перебором всех входных данных).
Используются частные случаи однонаправленных функций: однонаправленная функция с
обходными путями (если известная некоторая дополнительная информация, то вычисление
F-1 сравнимо с вычислением F).
Пусть E – алгоритм шифрования, D – алгоритм расшифрования, PD – открытый ключ, SK –
секретный ключ. Свойства:
1) PK  SK,
2) DSK(EPK(P)) = P,
3) D и E просты при вычислении,
4) зная EPK нельзя получить DSK,
5) (*) DPK(ESK(P)) = P.
Недостатки по сравнению с симметричной криптографией:
 на сегодняшний день все существующие асимметричные криптосистемы работают на
несколько порядков медленнее симметричных;
 длина ключа в асимметричной криптографии для такой же стойкости шифра д.б. больше
(1792 бита против 112).
Применение асимметричной криптографии:
 передача сеансовых ключей:
A: K, C = EK(P), K = EPKB(C)
AB: C, K
B: K = DSKB(K), P = DK(C)
31
 электронная цифровая подпись (требуется свойство 5).
5.3.2. Асимметричная криптосистема RSA




параметры алгоритма
шифрование
расшифрование
доказательство корректности расшифрования
RSA – Rivest, Shamir, Adleman (RSA Data Security, Ronald Rivest).
Однонаправленная функция: pq = n, обратная операция – факторизация.
Параметры алгоритма: p, q, x, y
1) выбрать достаточно большие простые p и q;
2) n = pq;
3) выбрать y: НОД(y, (n)) = 1
4) выбрать x: xy = 1{mod (n)} (1)
Открытый ключ: (x, n)
Секретный ключ: (y, n)
p – открытый текст
c – шифртекст
Шифрование:
c = px{mod n}
если p  n, то разбиение текста на блоки, меньшие n.
Расшифрование: p = cy{mod n}
Док-во: (корректность расшифрования)
Доказать, что (px{mod n})y = p
(px{mod n})y = pxy{mod n} = (*)
(1)  xy = k(n) + 1 (kZ+)
(*) = pk(n)+1{mod n} = p(p(n){mod n})k = (теорема Эйлера) = p1k = p
5.3.3. Криптосистемы с открытым ключом
 система Диффи и Хеллмана
 система Эль Гамаля
 эллиптические кривые
Система Диффи и Хеллмана
Однонаправленная функция: y = ax{mod p}
1 < a, x  p-1
p – простое число или степень простого числа
x = logay{mod p}
Пусть A и B хотят установить защищенный канал связи и обменяться секретными ключами.
Они знают a и p.
1) A: xA, yA = axA{mod p}
2) B: xB, yB = axB{mod p}
3) AB: yA
4) BA: yB
5) A: kA = yBxA{mod p}
6) B: kB = yAxB{mod p}
Эта система не годится для ЭЦП.
32
Эль Гамаль (El Gamal)
Модификация системы Диффи и Хеллмана.
p – простое число или его степень
x – секретный ключ
g – открытый параметр (целое число)
m – открытый текст
Открытый ключ:
y = gx{mod p}
PK = (y, g, p)
Шифрование: выбирается k – случайное число (k < p, НОД(k, p-1) = 1)
Шифр состоит из 2 частей: C1, C2.
C1 = gk{mod p}
C2 = myk{mod p} или C2 = myk{mod p}
Расшифрование:
m = C1x{mod p}  C2 = (gk)x{mod p}  C2 = yk{mod p}  m  yk{mod p} = m
или
решение уравнения mC1x{mod p} = C2{mod p}
Эллиптические кривые
Эллиптическая кривая – множество точек {(x, y) | y2 = x3+ax+b}  {(, )}.
Однонаправленная функция – операция сложения для эллиптических кривых: A = B+C –
получение по двум точкам некоторой 3-й, принадлежащей этой же кривой. Это простая
операция. Задача нахождения C по A и B – сложная.
5.3.4. Применение асимметричной криптографии
5.3.4.1. Электронная цифровая подпись и ее применение
 угрозы электронным документам
 действия с ЭЦП
 RSA
 El Gamal
 эллиптические кривые
 свойства хеш-функций
 современные хеш-функции
Угрозы электронным документам (ЭД):
 подготовка документа от другого лица («маскарад»),
 отказ автора от подготовки/рассылки документа (ренегатство),
 подмена,
 изменения, внесенные третьем лицом (активный перехват),
 повторная передача того же документа.
Действия с ЭЦП:
M – подписываемый текст
 получение
A: H(M), S = ESKA(H(M))
AB: M, S
 проверка
B: H1 = DPKA(S)
H(M)
H(M) == H1
33
Алгоритмы ЭЦП:
1) RSA
(y, n) – секретный ключ, (x, n) – открытый ключ
p – сообщение
Получение ЭЦП: c = My{mod n}
Проверка ЭЦП: cx = M{mod n}
2) El Gamal (DSA, ГОСТ Р 34.10-94)
p – простое число (или степень)
x – секретный ключ
g – некоторое целое число (1  x, g < p)
y = gx{mod p}
k – случайное число, НОД(k, p-1) = 1
Получение ЭЦП:
c1 = gk{mod p}
из уравнения M = xc1+kc2{mod p-1} (1) находится c2
ЭЦП: c1||c2
Проверка ЭЦП:
проверка равенства yc1c1c2 = gM{mod p}
yc1c1c2{mod p} = gxc1gkc2{mod p} = gxc1+kc2{mod p} = (*)
из (1): xc1+kc2 = n(p-1) + M (nZ+)
(*) = gMgn(p-1){mod p} = gM(gp-1{mod p})n{mod p} = gM{mod p} (малая теорема Ферма)
3) эллиптические кривые
Дополнительно к операции сложения вводится операция умножения:
Y = xG = G + G + … + G (x раз) (2)
x – секретный ключ
(Y, G, g, a, b) – открытый ключ (a, b – параметры эллиптической кривой)
G вводится из соотношения gG = 0 (g – такое число, при котором gG = 0, степень точки).
Получение ЭЦП:
выбор k: 0 < k < g
C = kG
r = Cx{mod g} (Cx – x-координата точки C) (3)
s = rx + kM{mod g}
ЭЦП – (r, s)
Проверка ЭЦП:
v = M-1{mod g}
z1 = sv{mod g}
z2 = -rv{mod g}
C = z1G + z2Y
r = Cx{mod g}
r == r
Док-во:
z1 = rXP-1 + kPP-1{mod g} = rXP-1 + k{mod g}
z2 = –CxP-1{mod g}
z1G + z2Y = rP-1x{mod g}G + kG – CxP-1{mod p}Y = см. (2), (3) =
CxP-1{mod g}Y + kG – CxP-1{mod g}Y = kG = C
Свойства хеш-функции:
1) p длина H(p) – const,
2) p1 = p2 H(p1) = H(p2),
3)  H-1 p = H-1(H(p)),
4) (*) p1p2 H(p1)  H(p2).
34
4 – очевидно невозможно. Это свойство нужно понимать в практическом смысле:
 любые min изменения в тексте должны изменять хеш-значение (чувствительность к
незначительным изменениям);
 невозможность за приемлемое время взломать хеш-значение на современном уровне
развития ИТ.
Современные хеш-функции:
 MD2, MD4, MD5: 128 бит (MD – Message Digest, автор – Ronald Rivest);
 SHA (Secure Hash Algorithm): 160 бит;
 RIPEMD (Raise Integrity Primitive Evaluation Message Digest): 128-160 бит;
 ГОСТ Р 34.11-94: 256 бит.
Разновидности хеш-функций – функции имитовставки.
5.3.4.2. ЭЦП «вслепую» и ее применение
 протокол Д. Чоума
 протокол «разделяй и властвуй»
Протокол Д. Чоума
Пусть A имеет некоторый текст P и хочет, чтобы B его подписал «вслепую» (не зная
содержимого этого текста).
1) A: генерация случайного числа b
2) A: R = EPKB(b)P{mod n}
EPKB(b) – «слепой множитель», не позволит узнать B содержимое P
Здесь предполагается использование алгоритма RSA: EPKB(b) = bx, (x, n) – открытый
ключ.
3) AB: R
4) B: R = ESKB(R) = bESKB(P){mod n}
ESKB(R) = ESKB(EPKB(b)P{mod n}) = (EPKB(b)P{mod n})y{mod n} =
EPKB(b)y{mod n}Py{mod n} = ESKB(EPKB(b))Py{mod n} = bESKB(P){mod n}
(y, n) – секретный ключ
5) BA: R
6) A: ESKB(P) = R\b{mod n}
Протокол «разделяй и властвуй»
Проблема предыдущего протокола: B не хочет подписывать тексты, совершенно ничего не
зная о его содержимом. Решение – A передает B n текстов, причем A не против того, что B
узнает содержимое (n-1) из них. B, узнав содержимое (n-1) текста, доверяет A и подписывает
оставшийся, нераскрытый, текст.
A имеет {Pi | i = 1, …, n}
1) Ri = EPKB(bi)Pi{mod n}, i = 1, …, n (наложение «слепых множителей»)
2) AB: {Ri | i = 1, …, n}
3) B: выбирает {Ri1, Ri2, …, Rin-1}
пусть I = {i1, i2, …, in-1}, k = in – нераскрываемый текст, который B будет подписывать
4) BA: запрос {bj | jI}
5) AB: {bj | jI}
6) B: Pj = Rj \ EPKB(bj){mod n}, jI; убеждается в корректности Pj
7) B: R = ESKB(Rk) (подпись нераскрытого текста)
8) BA: R
5.3.4.3. Протокол защищенного обмена данными
A необходимо передать B зашифрованный текст P. A шифрует текст P сеансовым ключом K
и должен послать B зашифрованный P и K. Как сделать это безопасно?
35
CA – сертификационный центр
1) A: P = P || sign(P) (sign(P) = ESKA(H(P))
2) A: генерация сеансового ключа K, C = EK(P)
3) ACA: запрос PKB
4) CAA: ESKCA(PKB)
5) A: PKB = DPKCA(ESKCA(PKB))
6) A: K = EPKB(K), C = C || K
7) AB: C
8) B: K = DSKB(K), P = DK(C)
9) BCA: запрос PKA
10) CAB: ESKCA(PKA)
11) B: PKA = DPKCA(ESKCA(PKA))
12) B: H(P) = DPKA(sign(P)), вычисление H(P)
13) B: H(P) == H(P)
5.3.4.4. Программа PGP
 общая информация
 ключи
 распространение открытых ключей
 дополнительные возможности
Автор – Фил Циммерман. PGP (Pretty Good Privacy) – это криптосистема, обеспечивающая
безопасность и целостность электронной почты, файлов, папок и разделов дисков. PGP
включает средства шифрования, цифрового подписания и управления криптографическими
ключами. PGP – это гибридная криптосистема, объединяющая средства симметричной и
асимметричной криптографии.
 симметричная криптография (DES, 3-DES, CAST, IDEA) для сеансовых ключей;
 асимметричная криптография (MD5, RSA, SHA, DSA).
Сеансовые ключи создаются на основе датчика случайных чисел. Инициализация датчика с
помощью движений мышки и информации о пользователе.
Сеансовый ключ защищается с помощью открытого ключа пользователя. Секретный ключ
защищается ключевой фразой.й
Распространение открытых ключей:
 удостоверяющий центр – некоторая организация, выдающая сертификат. Сертификат
содержит: сам ключ, алгоритм шифрования, срок действия и информацию о владельце
(стандарт X.509);
 модель доверия: открытый ключ имеет уровень доверия (абсолютное, частичное,
отсутствие), истинность открытого ключа определяется наличием одной подписи
абсолютного доверия или двух подписей частичного доверия.
Дополнительные возможности:
 Secure viewer,
 интеграция с почтовыми клиентами,
 Free space wiper,
 PGPdisk,
 PGPadmin.
5.3.4.5. Криптографический интерфейс приложений Windows
 структура интерфейса
 принципы взаимодействия приложения и CSP
 отличительные особенности криптопровайдеров
36
 имеющиеся криптопровайдеры
 версии CryptoAPI
 использование функций CryptoAPI: регистрация пользователя, шифрование/
расшифрование, получение и проверка ЭЦП
CryptoAPI = CryptoSPI + CSP
CryptoSPI – Service Provider Interface
CSP – DLL + подпись, зарегистрирована в реестре (HKLM\Software\Microsoft\Cryptography)
Прикладная
программа
функции
CryptoAPI
Модуль ядра
advapi32.dll
функции
CryptoSPI
CSP
Принципы взаимодействия приложения и CSP:
 приложение не занимается генерацией и хранением ключей, это делает криптопровайдер;
 приложение не занимается аутентификацией пользователей;
 приложение не определяют деталей криптографических операций, а указывают функцию.
Отличительные особенности криптопровайдеров:
 уникальное имя,
 тип – свойства криптопровайдера:
 алгоритм ЭЦП (единственный),
 формат подписи,
 формат блоба ключей,
 длина ключа,
 алгоритм обмена ключами,
 алгоритмы симметричного шифрования,
 режимы симметричного шифрования по умолчанию.
Функции и константы определены в Wincrypt.h.
Имеющиеся провайдеры:
 MS Base Cryptographic Provider 1.0: RC2, RC4 (40 бит), RSA (512 бит), MD2, MD4, MD5,
SHA;
 MS Enhanced Cryptographic Provider: 168 бит, 1024 бита, DES, 3-DES;
 MS Strong Cryptographic Provider.
Типы криптопровайдеров: PROV_RSA_FULL, POV_RSA_SIG, PROV_SSL.
Версии CryptoAPI:
 1.0 Win95 OSR2,
 2.0 IE 5.0,
 COM-объект CAPICOM.
Использование функций CryptoAPI:
Пользователь в рамках приложения создает свой контейнер ключей CSP. Контейнер ключей
содержит 2 пары ключей (для ЭЦП и для обмена сеансовыми ключами). Место хранения
контейнера – реестр Windows, специальные носители (определяется криптопровайдером).
1. Регистрация пользователя (создание контейнера):
CryptAcquireContext(CRYPT_NEWKEYSET)
37
CryptGenKey(AT_SIGNATURE или AT_KEYEXCHANGE)
CryptDestroyKey
CryptReleaseContext
2. Шифрование/расшифрование без сохранения сеансового ключа:
CryptAcquireContext
CryptCreateHash
CryptHashData
CryptDeriveKey
CryptSetParam
CryptEncrypt
CryptDestroyKey
CryptDestroyHash
CryptReleaseContext
3. Шифрование/расшифрование с сохранением сеансового ключа:
CryptGetUserKey
CryptImportKey
CryptExportKey
4. Получение и проверка ЭЦП
CryptHashSessionKey
CryptSignHash
CryptVerifySignature
5.3.4.6. Шифрующая файловая система Windows
 схема взаимодействия элементов ОС
 функции EFS
 особенности
 шифрование
 расшифрование
 восстановление
Приложение
Диспетчер I/O
Диск
Драйвер EFS
Сервис EFS
Драйвер NTFS
CryptoAPI
Функции EFS:
 шифрование данных,
 предоставление доступа к зашифрованным файлам,
 копирование, перемещение, переименование зашифрованных файлов,
 расшифрование данных.
Особенности:
 автоматическая генерация ключей,
 автоматическое шифрование/расшифрование файлов.
Шифрование:
случайный ключ,
38
шифрование файла,
шифрование сеансового ключа на основе открытого ключа владельца файла,
сохранение ключа как дополнительного атрибута файла.
Расшифрование:
1) чтение зашифрованного ключа,
2) расшифрование (секретным ключом),
3) расшифрование файла.
Для восстановления используется специальный агент восстановления.
6. Компьютерная стеганография и ее применение





соотношение с криптографией
понятия
принципы
применение
методы
Методы криптографии не скрывают сам факт наличия зашифрованной информации.
Отрицательные стороны:
 возможность блокировки информации,
 по частоте обмена можно делать какие-то выводы,
 подозрение о сокрытии.
Контейнер – объект, куда можно поместить конфиденциальную информацию – сообщение.
При помещении сообщения может использоваться ключ.
Принципы:
 сохранение аутентичности и целостности сообщений,
 сохранение основных свойств контейнера после помещения сообщения,
 открытость методов стеганографии,
 вычислительная сложность извлечения сообщения из контейнера без знания ключа
высокая.
Применение:
 защита от НСД,
 преодоление систем сетевого мониторинга,
 сокрытие программного обеспечения,
 защита авторских прав на фотографии, звуковые и видео файлы.
Методы:
1) использование свойств компьютерных форматов:
 специальное форматирование текстовых документов;
 имитирующие функции: возможность генерации сообщений, которые может скрывать
информацию (например, акростих);
 неиспользуемая часть дисковой памяти;
2) использование естественной избыточности форматов цифрового звука, графики и видео
 bmp: в полноцветных изображениях каждая точка характеризуется 3 байтами, и цвет
не сильно изменяется при изменении младшего бита каждого байта (метод последнего
значащего бита – LSB, Last Significant Bit).
7. Защита от вредоносных программ
7.1. Вредоносные программы и их классификация
 определения
 признаки разрушающей программы
39
 классификация вирусов
 классификация программных закладок
Другое название – разрушающее программное воздействие.
Виды: компьютерные вирусы, программные закладки.
Компьютерные вирусы – программы со свойствами:
 способность самовключения в тело других файлов или в системные области дисковой
памяти;
 самовоспроизведение (автоматическое получение управления);
 самораспространение в компьютерной системе.
Программные закладки – внутренняя или внешняя по отношению к программной системе
программа, обладающая деструктивными для этой системы функциями.
Признаки разрушающей программы:
 скрытие своего присутствия,
 самокопирование,
 искажение кода других программ в оперативной памяти,
 сохранение результатов работы других программ,
 искажение, блокировка, полная подмена информации, передаваемой другими
программами.
Классификация компьютерных вирусов:
1) по способу заражения:
 загрузочные – поражают загрузочные сектора;
 файловые;
 комбинированные;
2) по способу распространения в компьютерной системе:
 резидентные;
 нерезидентные;
3) по степени опасности:
 безвредные (написаны в целях обучения, из научных соображений);
 неопасные: только аудио и видеоэффекты;
 опасные: уничтожают информационные ресурсы;
 очень опасные: выводят из строя оборудование, наносят ущерб здоровью человека;
4) по особенностям алгоритма:
 спутники: переименование исходного файла, сохранение своего кода в файле с
исходным именем;
 паразитические: существуют внутри файлов или загрузочных секторов;
 невидимки (stealth-технология): скрытие факта заражения от антивируса;
 полиморфные (призраки): каждая копия вируса отличается от предыдущей;
5) по наличию дополнительных возможностей:
 перехват системных сообщений;
 модификация даты последней записи;
 обработка атрибута «readonly».
Классификация программных закладок:
1) перехватчики паролей:
 имитация программ регистрации в системе;
 перехват нажатий клавиш на клавиатуре;
2) троянские программы – предоставляют НСД нарушителям;
3) мониторы – наблюдение, контроль, чтение, модификация данных, передаваемых по сети;
4) логические бомбы – прогармма, уничтожающие информацию на компьютере (по
событию);
5) компьютерные черви;
40
6) программные закладки, предназначенные для подмены или отключения средств защиты.
7.2. Загрузочные и файловые вирусы
 загрузочные вирусы
 файловые вирусы
 благоприятные условия для создания вирусов в макросах
Загрузочные вирусы
Размещаются в:
 MBR (Master Boot Record – 1-й физический сектор диска) – замена программы начальной
загрузки;
 загрузочные сектора (BR, Boot Record – 0-й сектор логического диска) – замена
программы загрузки ОС.
Вирус может полностью заменить сектора на собственный код.
Алгоритм работы:
1) копирование резидентной части
2) переопределение векторов прерывания BIOS
3) …
4) загрузка настоящей программы и передача ей управления
Файловые вирусы –
 программные файлы (exe, vxd, sys, com, ovl),
 текстовые файлы (htt, bat),
 макросы (doc, xls, mdb).
Благоприятные условия для создания вирусов в макросах:
 макрос м.б. ассоциирован с файлом документа,
 существуют штатные средства переноса макросов из одного документа в другой,
 есть возможность связывания макроса с событиями.
7.3. Методы обнаружения и удаления вирусов
 обнаружение
 удаление
 профилактика
Обнаружение:
1. Сканирование: имеется база сигнатур вирусов, которая используется для просмотра
множества системных объектов.
+: эффективные алгоритмы, высокая производительность сканирования;
–: постоянное обновление баз, невозможность нахождения новых вирусов.
2. Инспекция/ревизия: вычисляются хеш-значения (м.б. с подписями) от характеристик
запускаемых объектов и сравниваются с эталонными.
+: м.б. обнаружены любые вирусы (AdInf, AVP)
–: изменение в системных областях и файлах могут происходить и «легальным» образом.
3. Мониторинг.
+: раннее обнаружение вирусов
4. Эвристический анализ: для анализа используются не сигнатуры вирусов, а фрагменты
кода (Dr.Web).
–: существенное увеличение времени проверки.
5. Вакцинирование: код программмы-вакцины присоединяется к защищаемому файлу.
Перед этим вычисляется хеш-значение и контрольная сумма. При несовпадении – заражение.
6. Защита на уровне BIOS: блокировки записи в системные области.
41
–: если вирус получил управление после ОС, то он может редактировать содержимое
памяти и сбросить эти настройки
7. Аппаратно-программная защита – контроллер, подключенный к шине, запрет
модификации секторов (Sheriff).
8. Ручное обнаружение вирусов
папка Startup, файлы шаблонов Word и Excel, макросы документов, find – поиск подстрок
в файлах.
Удаление:
 антивирусные программы,
 вручную (diskedit, макросы),
 format, fdisk, install/setup.
Профилактика – уменьшение количества каналов прихода вирусов: e-mail,
freeware/shareware, BBS, LAN, обмен файлами на съемных носителях, использование CD с
нелицензионным ПО.
7.4. Программы-закладки и защита от них
 задача нарушителя
 причины возникновения «дыр»
 методы внедрения закладок
Задача нарушителя:
 внедрить программу-инсталлятор,
 создать «дыру» в системе с помощью закладки.
Причины возникновения «дыр»:
 временное предоставление доступа пользователям к защищенному объекту системы;
 разблокирование уязвимой сетевой службы (ftp, telnet);
 незаблокированная консоль администратора;
 требования привилегированных, но недостаточно квалифицированных пользователей.
Методы внедрения закладок:
 маскировка под «полезное» ПО, полезные DLL, драйверы;
 подмена системных модулей;
 ассоциация с модулями на диске (внедрение кода в системные модули);
 ассоциация с модулем ОС в оперативной памяти.
1. Обеспечение автоматического запуска закладки
HKLM\Software\Microsoft\Windows\CurrentVersion\Run (или HKCU)
2. Организация связи с нарушителем по TCP/IP. Как правило не скрывается, активных
действий не предпринимает.
Обнаружение: netstat, FileMon, RegMon, PortMon.
Классические закладки: Back Orifice, NetBus, DIRT.
8. Защита программ от копирования
8.1. Принципы создания система защиты от копирования
 принципы построения
 требования
 типовая структура
Система защиты от копирования – комплекс программных или программно-аппаратных
средств для защиты от нелегального распространения, использования и копирования
программных средств или информационных ресурсов.
42
Принципы построения:
1) учет распространения:
 установка продукта пользователем с дистрибутива, нарушитель может:
 копировать дистрибутив,
 исследовать алгоритм работы средств защиты (отладчик, дизассемблер),
 превысить условия лицензионного соглашения,
 моделировать работу системы для создания аналогичных дистрибутивов;
 установка представителем фирмы, нарушитель может:
 исследование алгоритмов,
 копирование установленного продукта;
 незаинтересованность пользователей в распространении;
2) учет особенностей самого продукта: тираж, цена, сервис, частота обновления;
3) учет особенностей нарушителей:
 насколько реальна возможность снятия защиты,
 возможность привлечения правовых мер,
 учет знаний потенциального нарушителя;
4) постоянное обновление системы защиты.
Требования к системе защиты:
 защита от копирования стандартными средствами,
 защита от исследования с помощью стандартных отладчиков,
 некорректное дизассемблирование стандартными средствами,
 сложность распознавания ключевой информации, по которой определяется легальность
доступа к ресурсу.
Типовая структура системы защиты:
1) блок проверки ключевой информации,
2) блок защиты от исследования,
3) блок согласования с защищаемым модулем,
4) (*) блок ответной реакции.
8.2. Защита инсталляционных дисков и настройка ПО на
характеристики компьютера
Установка ПО:
1) проверка легальности установки (получение ключа от пользователя, считывание
ключевой информации с дистрибутива);
2) копирование файлов на жесткий диск;
3) изменение реестра, главного меню, рабочего стола и т.д.;
4) настройка на характеристики компьютера и пользователя для предотвращения
нарушения лицензионного соглашения.
Для защиты инсталляционных дисков используется некопируемая метка:
 физическая (повреждение);
 магнитная:
 вынос метки за пределы поля копирования носителя;
 нестандартное форматирование;
 использование временных характеристик чтения/записи;
 комбинация способов.
1) нестандартное форматирование: выбирается ключевая дорожка носителя и, например,
вместо 18 секторов по 512 байт записывается 1 сектор длиной 8196 байт;
2) использование временных характеристик: на ключевой дорожке сектора нумеруются в
обратном порядке (18, 17, …, 1), читается 1-й сектор, делается попытка многократного
чтения соседних секторов (1 и 2 будут сильно разнесены), засекается время чтения;
43
3) метки: на дистрибутив наносится локальное повреждение, путем последовательного
чтения и записи определяется адрес поврежденного сектора.
4) получение параметров компьютера:
 получить совокупность параметров: имя пользователя, имя компьютера, размещение
системных файлов, характеристики аппаратного обеспечения, версии ОС и ФС и т.д.;
 хеширование собранной информации;
 получение ЭЦП;
 сохранение ЭЦП в реестре;
–: после легального обновления программа не будет работать.
8.3. Противодействие исследованию алгоритмов работы
системы защиты от копирования





цель нарушителя
инструменты нарушителя
противодействие
защита от отладчика
защита от дизассемблирования
Цель нарушителя:
 снятие системы защиты,
 раскрытие системы проверки и создание генератора правильной ключевой информации,
 внесение изменений в исполняемый код с целью обхода блока проверки.
Инструменты нарушителя:
 отладчик,
 дизассемблер,
 программы мониторинга.
Противодействие: обнаружение присутствия инструмента нарушителя + ответная реакция,
Защиты от отладчика
Обнаружение присутствия отладчика:
 перебор всех открытых главных окон (EnumWindows, toolhelp.dll)
 IsDebuggerPresent (NT, 2000, XP Pro)
 GetEnvironmentVariables
 0xcc – если на вход в программу ставится точка прерывания, то ставится 0xcc
 замер времени выполнения
Варианты действий:
 закрытие окна отладчика (DestroyWindow, порча стека, COM – Release, DDE – poke,
аварийное завершение),
 отключение блока проверки (временное снятие защиты).
Защита от дизассемблирования
1) самомодификация кода;
2) максимальное усложнение проверки:
 использование асимметричного шифрования (ключ – ID и пароль – шифруется
ключом автора или владельца);
 хеширование;
 нейронная сеть, аппроксимирующая алгоритм проверки;
 x – вводимая информация, y – проверяемая информация, F = z1○z2, y = F(x); в блоке
проверки: z2(x) = z1-1(y);
3) проверка контрольных сумм;
4) использование «усложненного» программирования:
 нелинейный алгоритм проверки;
44
 хранение проверочной информации в различных частях системы (атомы, память окна,
класс окна);
 нестандартная проверка (правильное значение – false, try {sqrt(-1)} catch(…)
{проверка});
 вынесение проверки в обработчик стандартного события (WM_PAINT);
 имитация проверки в разных местах программы;
 хранение проверочной информации в разных переменных разного типа;
 косвенная адресация;
 …
9. Защита информации в глобальных компьютерных сетях
 специфические угрозы
 методы противодействия
Специфические угрозы:
 анализ траффика,
 подмена субъекта/объекта соединения,
 ложный объект (внедрение ложного объекта в DNS),
 отказ в обслуживании.
Методы противодействия:
1) межсетевые экраны (МСЭ, firewall, брандмауэр):
 фильтрующий маршрутизатор (сетевой уровень)
+: простота, невысокая стоимость, min снижение производительности, прозрачность
для всех приложений
–: выполняется только фильтрация
 экранирующий транспорт (сеансовый уровень)
 шлюзы прикладных программ
+: идентификация и аутентификация, проверка ЭЦП, шифрование/расшифрование,
могут использоваться как proxy, VPN (Virtual Private Network);
–: сложность разработки, высокая стоимость, снижение производительности,
непрозрачность для приложений
Общие недостатки: не защищает от 1, 3, 4.
2) системы анализа защищенности (САЗ):
 анализ политики идентификации и аутентификации, разграничения доступа, аудита
 проверка целостности системных файлов
 проверка на известные уязвимости (по базе)
–: зависимость от ОС, малое время эффективного использования, возможность двойного
использования
3) системы обнаружения атак (IDS, Intrusion Detection System):
 работают в реальном режиме времени
 работают на уровне хоста, обычно анализируют журналы
 цель – поиск признаков потенциальных угроз
 имеют базу сценариев атак
–: не могут использоваться в высокоскоростных сетях, не понятно, какая должна быть
реакция, необходимость постоянного обновления БД.
45
Download