- •Введение
- •1Информационная безопасность компьютерных систем
- •Основные понятия и определения
- •Основные угрозы безопасности асои
- •Обеспечение безопасности асои
- •Вопросы по теме
- •2Принципы криптографической защиты информации
- •Основные понятия и опеределения
- •Традиционные симметричные криптосистемы
- •Шифры перестановки
- •2.1Шифр перестановки "скитала"
- •2.2Шифрующие таблицы
- •2.3Применение магических квадратов
- •Шифры простой замены
- •2.4Полибианский квадрат
- •2.5Система шифрования Цезаря
- •2.6Аффинная система подстановок Цезаря
- •2.7Система Цезаря с ключевым словом
- •2.8Шифрующие таблицы Трисемуса
- •2.9Система омофонов
- •Шифры сложной замены
- •2.10Шифр Гронсфельда
- •2.11Система шифрования Вижинера
- •2.12Одноразовая система шифрования
- •2.13Шифрование методом Вернама
- •Шифрование методом гаммирования
- •2.14Методы генерации псевдослучайных последовательностей чисел
- •Вопросы по теме
- •3Современные симметричные криптосистемы
- •Американский стандарт шифрования данных des
- •3.2. 0Сновные режимы работы алгоритма des
- •3.1Режим "Электронная кодовая книга"
- •3.2Режим "Сцепление блоков шифра"
- •3.5Области применения алгоритма des
- •Алгоритм шифрования данных idea
- •Отечественный стандарт шифрования данных
- •3.6Режим простой замены
- •3.7Режим гаммирования
- •3.8Режим гаммирования с обратной связью
- •3.9Bыработки имитовставки
- •Вопросы по теме
- •4Асимметричные криптосистемы
- •Концепция криптосистемы с открытым ключом
- •Однонаправленные функции
- •Криптосистема шифрования данных rsa
- •Вопросы по теме
- •5Идентификация и проверка подлинности
- •Основные понятия и концепции
- •Идентификация и механизмы подтверждения подлинности пользователя
- •Взаимная проверка подлинности пользователей
- •Протоколы идентификации с нулевой передачей знаний
- •5.1Упрощенная схема идентификации с нулевой передачей знаний
- •5.2Параллельная схема идентификации с нулевой передачей знаний
- •5.3Схема идентификации Гиллоу - Куискуотера
- •Вопросы по теме
- •6Электронная цифровая подпись
- •Проблема аутентификации данных и электронная цифровая подпись
- •Однонаправленные хэш-функции
- •Алгоритм безопасного хеширования sha
- •Однонаправленные хэш-функции на основе симметричных блочных алгоритмов
- •Отечественный стандарт хэш-функции
- •Алгоритмы электронной цифровой подписи
- •6.1Алгоритм цифровой подписи rsa
- •6.2Алгоритм цифровой подписи Эль Гамаля (egsa)
- •6.3Алгоритм цифровой подписи dsa
- •6.4Отечественный стандарт цифровой подписи
- •Вопросы по теме
- •7Управление криптографическими ключами
- •Генерация ключей
- •Хранение ключей
- •Распределение ключей
- •7.1Распределение ключей с участием центра распределения ключей
- •7.2Прямой обмен ключами между пользователями
- •Протокол skip управления криптоключами.
- •Вопросы по теме
- •8Методы и средства защиты от удаленных атак через сеть Internet
- •Особенности функционирования межсетевых экранов
- •Основные компоненты межсетевых экранов
- •8.1Фильтрующие маршрутизаторы
- •8.2Шлюзы сетевого уровня
- •8.3Шлюзы прикладного уровня
- •Основные схемы сетевой защиты на базе межсетевых экранов
- •8.4Межсетевой экран-фильтрующий маршрутизатор
- •8.5Межсетевой экран на основе двупортового шлюза
- •8.6Межсетевой экран на основе экранированного шлюза
- •8.7Межсетевой экран - экранированная подсеть
- •Применение межсетевых экранов для организации виртуальных корпоративных сетей
- •Программные методы защиты
- •Вопросы по теме
- •9Резервное хранение информации. Raid-массивы
- •Вопросы по теме
- •10Биометрические методы защиты
- •Признаки личности в системах защиты информации
- •10.1Отпечатки пальцев
- •10.2Черты лица
- •10.3Геометрия кисти руки
- •10.4Рисунок радужной оболочки глаза
- •10.5Рисунок сосудов за сетчаткой глаза
- •10.6Расположение вен на руке
- •10.7Динамические характеристики почерка
- •10.8Особенности речи
- •10.9Динамика ударов по клавишам
- •10.10 Другие характеристики
- •Устройства для снятия биометрических характеристик
- •Системы распознавания личности
- •Проверка личности при помощи биометрических характеристик
- •Вопросы по теме
- •11Программы с потенциально опасными последствиями
- •Троянский конь
- •Логическая бомба
- •Программные закладки
- •Атака салями
- •Вопросы по теме
- •12Защита от копирования
- •Привязка к дискете
- •12.1Перестановка в нумерации секторов
- •12.2Введение одинаковых номеров секторов на дорожке
- •12.3Введение межсекторных связей
- •12.4Изменение длины секторов
- •12.5Изменение межсекторных промежутков
- •12.6Использование дополнительной дорожки
- •12.7Введение логических дефектов в заданный сектор
- •12.8Изменение параметров дисковода
- •12.9Технология "ослабленных" битов
- •12.10 Физическая маркировка дискеты
- •Применение физического защитного устройства
- •"Привязка" к компьютеру
- •12.11Физические дефекты винчестера
- •12.12Дата создания bios
- •12.13Версия используемой os
- •12.14Серийный номер диска
- •Конфигурация системы и типы составляющих ее устройств
- •Опрос справочников
- •Введение ограничений на использование программного обеспечения
- •Вопросы по теме
- •13Защита исходных текстов и двоичного кода
- •Противодействие изучению исходных текстов
- •13.1Динамическое ветвление
- •13.2Контекстная зависимость
- •13.3Хуки
- •Противодействие анализу двоичного кода
- •Вопросы по теме
- •14Операционные системы
- •Сравнение nt и unix-систем
- •15.2Создание "вспомогательной" программы, взаимодействующей с имеющейся
- •15.3Декомпилирование программы
- •15.4Копирование программного обеспечения
- •15.5Использование или распространение противозаконных программ и их носителей
- •15.6Деятельность в компьютерной сети
- •Компьютер и/или сеть являются средством достижения целей.
- •Вопросы по теме Лабораторные работы по курсу «Информационная безопасность и защита информации»
- •Лабораторная работа № 1. «Реализация дискреционной модели политики безопасности»
- •Лабораторная работа № 2 . «Количественная оценка стойкости парольной защиты»
- •Лабораторная работа №3. «Создание коммерческой версии приложения»
- •Лабораторная работа №4. «Защита от копирования. Привязка к аппаратному обеспечению. Использование реестра»
- •2. Реестр Windows
- •Литература
Вопросы по теме
11Программы с потенциально опасными последствиями
Программой с потенциально опасными последствиями назовем программу или часть программы, которая способна выполнить одно из следующих действий:
скрыть признаки своего присутствия в программной среде ПЭВМ;
самодублироваться, ассоциировать себя с другими программами и/или переносить свои фрагменты в какие-либо области оперативной или внешней памяти, не принадлежащие программе;
изменять код программ в оперативной или внешней памяти;
сохранять фрагменты информации из оперативной памяти в некоторых областях внешней памяти (локальных или удаленных);
искажать произвольным образом, блокировать и/или подменять выводимый во внешнюю память или канал связи массив информации, образовавшийся в результате работы прикладных программ, или уже находящиеся во внешней памяти массивы данных.
Программы с потенциально опасными последствиями можно условно подразделить на:
классические программы-"вирусы";
программы типа "программный червь" или "троянский конь" и фрагменты программ типа "логический люк";
программы типа "логическая бомба";
программные закладки - обобщенный класс программ с потенциально опасными последствиями.
Кроме того, такие программы можно классифицировать по методу и месту их внедрения и применения (то есть по "cпособу доставки" в систему):
закладки, связанные с программно-аппаратной средой (BIOS);
закладки, связанные с программами первичной загрузки;
закладки, связанные с драйвером DOS, командным интерпретатором, сетевыми драйверами, то есть с загрузкой и работой операционной среды;
закладки, связанные с прикладным программным обеспечением общего назначения (встроенные в клавиатурные и экранные драйверы, программы тестирования ПЭВМ, утилиты, файловые оболочки);
исполняемые модули, содержащие только код закладки (как правило, внедряемые в пакетные файлы типа BAT);
модули-имитаторы, совпадающие по внешнему виду с легальными программами, требующими ввода конфеденциальной информации;
закладки, маскируемые под программные средства оптимизационного назначения (архиваторы, ускорители и т.д.);
закладки, маскируемые под программные средства игрового и развлекательного назначения (как правило, используются для первичного внедрения других закладок; условное название - "исследователь").
Вирус
Первые исследования саморазмножающихся искусственных конструкций проводились в середине прошлого столетия: в работах фон Неймана, Винера и др. дано определение и проведен математический анализ конечных автоматов, в том числе самовоспроизводящихся. Термин "компьютерный вирус" появился позднее - официально считается, что его впервые употребил сотрудник Лехайского университета (США) Фред Коэн в 1984 году на 7-й конференции по безопасности информации, проходившей в США.
Компьютерным вирусом называется программа, которая может создавать свои копии (не обязательно совпадающие с оригиналом) и внедрять их в файлы, системные области компьютера, сети и так далее. При этом копии сохраняют способность дальнейшего распространения.
Вирусы можно разделить на классы по следующим признакам:
по среде обитания вируса;
по способу заражения среды обитания;
по деструктивным возможностям.
По среде обитания различают вирусы сетевые, файловые, загрузочные и специальные. Сетевые вирусы распространяются по компьютерной сети, файловые внедряются в выполняемые файлы, загрузочные в загрузочный сектор диска(Boot) или сектор, содержащий системный загрузчик винчестера(Master Boot Record). Специальные ориентированы на конкретные особенности ПО, например вирус, заражающий документы редактора Word. Существуют сочетания - например, файлово-загрузочные вирусы, заражающие и файлы и загрузочные сектора дисков. Кроме того, по сети могут распространятся вирусы любых типов.
Способы заражения делятся на резидентный и нерезидентный. Резидентный вирус при инфицировании компьютера оставляет в оперативной памяти свою резидентную часть, которая затем перехватывает обращение операционной системы к объектам заражения и внедряется в них. Резидентные вирусы находятся в памяти и остаются активными вплоть до выключения или перезагрузки компьютера. Нерезидентные вирусы не заражают память компьютера и являются активными ограниченное время. Некоторые вирусы оставляют в оперативной памяти небольшие резидентные программы, которые не распространяют вирус. Такие вирусы считаются нерезидентными.
По деструктивным возможностям вирусы можно разделить на:
безвредные, никак не влияющие на работу компьютера (кроме уменьшения свободной памяти на диске в результате своего распространения);
неопасные, влияние которых ограничивается уменьшением свободной памяти на диске и графическими, звуковыми и прочими эффектами;
опасные вирусы, которые могут привести к серьезным сбоям в работе компьютера;
очень опасные вирусы, которые могут привести к потере программ, уничтожить данные, способствовать ускоренному износу или повреждению частей механизмов(например, головок винчестеров).
Люк
Люком называется не описанная в документации на программный продукт возможность работы с этим программным продуктом. Сущность использования люков состоит в том, что при выполнении пользователем некоторых не описанных в документации действий он получает доступ к возможностям и данным, которые в обычных условиях для него закрыты (в частности - выход в привилегированный режим).
Люки чаще всего являются результатом забывчивости разработчиков. В процессе разработки программы разработчики часто создают временные механизмы, облегчающие ведение отладки за счет прямого доступа к отлаживаемым частям продукта. По окончанию отладки большинство люков убирается из программы; но люди есть люди - зачастую они забывают о существовании каких-то мелких "лючков".
Одним из наиболее показательных примеров использования "забытых" люков является, пожалуй, широко известный в компьютерном мире инцидент с вирусом Морриса. Одной из причин, обусловивших возможность распространения этого вируса, была ошибка разработчика программы электронной почты, входящей в состав одной из версий операционной системы UNIX, приведшая к появлению малозаметного лючка. Для вас, наверное, будет небесполезно знать, что американские специалисты оценивают ущерб, нанесенный в результате этого инцидента, более чем в 100 миллионов долларов.
Люки могут образовываться также в результате часто практикуемой технологии разработки программных продуктов "сверху вниз". При этом программист приступает сразу к написанию сразу управляющей программы, заменяя предполагаемые в будущем подпрограммы так называемыми "заглушками". В теории моментом завершения разработки конечной программы по такой технологии можно считать момент замены последней заглушки реальной подпрограммой.
В действительности дело обстоит несколько сложнее. Вся беда в том, что авторы часто оставляют заглушки в конечном программном продукте, передаваемом в эксплуатацию. Делают это порой неумышленно: например, на ранних стадиях разработки предполагалось наличие в конечном программном продукте некоторой подпрограммы, однако в процессе разработки выяснилось, что эта подпрограмма в силу каких-либо причин не нужна. Но заглушка-то осталась! Удалить заглушку, не заменяя ее подпрограммой, бывает весьма сложно. Это может спровоцировать программиста оставить заглушку "до лучших времен".
Возможен вариант, когда заглушки оставляются в конечной программе сознательно, в расчете на подключение в дальнейшем к работающей программе новых подпрограмм, реализующих некоторые новые возможности, либо предполагая возможное подключение к программе тестирующих средств для более точной настройки программы. Кто может дать гарантию, что в один прекрасный день такой заглушкой кто-нибудь не воспользуется для подключения к программе совсем иной подпрограммы, работающей в интересах этого "кого-нибудь", а не законного владельца?
Наконец, еще одним распространенным источником люков является так называемый "неопределенный ввод". Не так уж редка ситуация, когда программа создается неопытным программистом, исходящим из предположения, что пользователи будут работать с его программой всегда корректно. В этом случае реакция на неопределенный ввод может быть в лучшем случае непредсказуемой; гораздо хуже, если программа в случае одинакового неопределенного ввода выполняет некоторые повторяющиеся действия - это дает потенциальному захватчику возможность планировать свои действия по нарушению безопасности.
Таким образом, люк (или люки) может присутствовать в программе ввиду того, что программист:
забыл удалить его;
умышленно оставил его в программе для обеспечения тестирования или выполнения оставшейся части отладки;
умышленно оставил его в программе в интересах облегчения окончательной сборки конечного программного продукта;
умышленно оставил его в программе с тем, чтобы иметь скрытое средство доступа к программе уже после того, как она вошла в состав конечного продукта.