- •Лекции по курсу:
- •4. Защита от нсд в ос 19
- •5. Криптографические методы защиты информации 25
- •6. Компьютерная стеганография и ее применение 38
- •1.2. Основные понятия
- •2. Комплексное обеспечение информационной безопасности
- •2.1. Угрозы безопасности и каналы утечки информации
- •2.2. Классификация методов защиты информации. Специфика программных методов
- •2.3. Правовое обеспечение информационной безопасности
- •3. Защита от нсд к информации в корпоративных системах
- •3.1. Способы нсд и защиты от него кс
- •3.2. Способы аутентификации пользователей кс
- •3.3. Организация базы учетных записей пользователей
- •3.4. Защита от локального нсд
- •3.4.1. Аутентификация на основе паролей
- •3.4.2. Аутентификация на основе модели рукопожатия
- •3.4.3. Программно-аппаратная защита от локального нсд
- •3.4.4. Аутентификация на основе биометрических характеристик
- •3.4.5. Аутентификация по клавиатурному «почерку»
- •3.4.6. Аутентификация по «росписи» мышью
- •3.5. Защита от удаленного нсд
- •3.5.1. Протоколы pap и s/Key
- •3.5.2. Протокол chap
- •3.5.3. Протокол Kerberos
- •3.5.4. Программно-аппаратная защита от удаленного нсд
- •3.6. Защита от несанкционированной загрузки ос
- •4. Защита от нсд в ос
- •4.1. Разграничение прав пользователей в открытых версиях ос Windows
- •4.2. Дискреционное и мандатное управление доступом к объектам. Классификации безопасности компьютерных систем и информационных технологий
- •4.2.1. Дискреционное управление доступом
- •4.2.2. Мандатное управление доступом
- •4.2.3. Классификации
- •4.3. Разграничение прав пользователей в защищенных версиях ос Windows
- •4.4. Разграничение прав доступа к объектам компьютерных систем
- •4.4.1. Разграничение прав доступа к объектам в защищенных версиях ос Windows
- •4.4.2. Аудит событий безопасности в защищенных версиях Windows
- •4.4.3. Разграничение прав пользователей в ос Unix
- •5. Криптографические методы защиты информации
- •5.1.Элементы теории чисел
- •5.2. Симметричные криптосистемы и их использование
- •5.2.1. Способы построения симметричных криптосистем
- •5.2.2. Абсолютно стойкий шифр. Генерация, хранение, распространение ключей
- •5.2.3. Криптосистема des и ее модификация
- •5.2.4. Криптосистема гост 28147-89
- •5.2.5. Использование симметричных криптосистем. Примеры
- •5.3. Асимметричные криптографические системы
- •5.3.1. Принципы создания и основные свойства асимметричных криптосистем
- •5.3.2. Асимметричная криптосистема rsa
- •5.3.3. Криптосистемы с открытым ключом
- •5.3.4. Применение асимметричной криптографии
- •5.3.4.1. Электронная цифровая подпись и ее применение
- •5.3.4.2. Эцп «вслепую» и ее применение
- •5.3.4.3. Протокол защищенного обмена данными
- •5.3.4.4.Программа pgp
- •5.3.4.5. Криптографический интерфейс приложений Windows
- •5.3.4.6. Шифрующая файловая система Windows
- •6. Компьютерная стеганография и ее применение
- •7. Защита от вредоносных программ
- •7.1. Вредоносные программы и их классификация
- •7.2. Загрузочные и файловые вирусы
- •7.3. Методы обнаружения и удаления вирусов
- •7.4. Программы-закладки и защита от них
- •8. Защита программ от копирования
- •8.1. Принципы создания система защиты от копирования
- •8.2. Защита инсталляционных дисков и настройка по на характеристики компьютера
- •8.3. Противодействие исследованию алгоритмов работы системы защиты от копирования
- •9. Защита информации в глобальных компьютерных сетях
8.2. Защита инсталляционных дисков и настройка по на характеристики компьютера
Установка ПО:
проверка легальности установки (получение ключа от пользователя, считывание ключевой информации с дистрибутива);
копирование файлов на жесткий диск;
изменение реестра, главного меню, рабочего стола и т.д.;
настройка на характеристики компьютера и пользователя для предотвращения нарушения лицензионного соглашения.
Для защиты инсталляционных дисков используется некопируемая метка:
физическая (повреждение);
магнитная:
вынос метки за пределы поля копирования носителя;
нестандартное форматирование;
использование временных характеристик чтения/записи;
комбинация способов.
нестандартное форматирование: выбирается ключевая дорожка носителя и, например, вместо 18 секторов по 512 байт записывается 1 сектор длиной 8196 байт;
использование временных характеристик: на ключевой дорожке сектора нумеруются в обратном порядке (18, 17, …, 1), читается 1-й сектор, делается попытка многократного чтения соседних секторов (1 и 2 будут сильно разнесены), засекается время чтения;
метки: на дистрибутив наносится локальное повреждение, путем последовательного чтения и записи определяется адрес поврежденного сектора.
получение параметров компьютера:
получить совокупность параметров: имя пользователя, имя компьютера, размещение системных файлов, характеристики аппаратного обеспечения, версии ОС и ФС и т.д.;
хеширование собранной информации;
получение ЭЦП;
сохранение ЭЦП в реестре;
–: после легального обновления программа не будет работать.
8.3. Противодействие исследованию алгоритмов работы системы защиты от копирования
цель нарушителя
инструменты нарушителя
противодействие
защита от отладчика
защита от дизассемблирования
Цель нарушителя:
снятие системы защиты,
раскрытие системы проверки и создание генератора правильной ключевой информации,
внесение изменений в исполняемый код с целью обхода блока проверки.
Инструменты нарушителя:
отладчик,
дизассемблер,
программы мониторинга.
Противодействие: обнаружение присутствия инструмента нарушителя + ответная реакция,
Защиты от отладчика
Обнаружение присутствия отладчика:
перебор всех открытых главных окон (EnumWindows, toolhelp.dll)
IsDebuggerPresent (NT, 2000, XP Pro)
GetEnvironmentVariables
0xcc – если на вход в программу ставится точка прерывания, то ставится 0xcc
замер времени выполнения
Варианты действий:
закрытие окна отладчика (DestroyWindow, порча стека, COM – Release, DDE – poke, аварийное завершение),
отключение блока проверки (временное снятие защиты).
Защита от дизассемблирования
самомодификация кода;
максимальное усложнение проверки:
использование асимметричного шифрования (ключ – ID и пароль – шифруется ключом автора или владельца);
хеширование;
нейронная сеть, аппроксимирующая алгоритм проверки;
x – вводимая информация, y – проверяемая информация, F = z1○z2, y = F(x); в блоке проверки: z2(x) = z1-1(y);
проверка контрольных сумм;
использование «усложненного» программирования:
нелинейный алгоритм проверки;
хранение проверочной информации в различных частях системы (атомы, память окна, класс окна);
нестандартная проверка (правильное значение – false, try {sqrt(-1)} catch(…) {проверка});
вынесение проверки в обработчик стандартного события (WM_PAINT);
имитация проверки в разных местах программы;
хранение проверочной информации в разных переменных разного типа;
косвенная адресация;
…