Автор работы: Пользователь скрыл имя, 02 Января 2013 в 18:12, курс лекций
Лекция № 1
Программные и аппаратные механизмы защиты
Лекция №2
Хранение аутентифицирующей информации в открытых компьютерных системах. Типовые схемы хранения ключевой информации. Защита БД аутентификации.
Лекция № 3
Протоколы стойкой удаленной аутентификации пользователей. Протокол CHAP, S/KEY. Удаленная аутентификация в Windows с использованием хэша LANMAN
Лекция № 4
Технические устройства идентификации и аутентификации
Лекция № 5
Идентификация и аутентификация пользователей с помощью биометрических устройств
Архитектура
Жизненный цикл вирусов включает 2 фазы: латентную, когда вирус не проявляет своего присутствия, и фазу непосредственного функционирования.
Переход от латентной фазы к фазе исполнения выполняется по методу активизирующего события. Загрузка вируса в оперативную память выполняется одновременно с загрузкой инфицированного объекта. Основные способы загрузки зараженных объектов:
Фаза исполнения вируса включает следующие этапы:
По способу поиска «жертвы» вирусы делятся на:
Инфицирование
объектов может выполняться либо
путем простого самокопирования
кода вируса в исполнительный код, либо
может использовать более сложный
алгоритм, осуществляя мутацию исполнител
Суть мутации кода может заключается в изменении порядка независимых инструкций, в замене одних регистров на другие, внедрение в исполнительный код мусорных конструкций, в замене одних инструкций другими.
Вирусы, мутирующие в процессе самокопирования называются полиморфными. Если неполиморфные вирусы могут быть идентифицированы в ПА среде путем их поиска по сигнатурам, то полиморфные вирусы не имеют сигнатуру, по которой бы они однозначно идентифицировались.
Для защиты от вирусов наиболее часто применяют антивирусные мониторы, сканнеры, ПА средства, не допускающие заражение вирусами объектов операционной среды, не допускающие проникновение в КС.
Наиболее часто используемые пути проникновения вируса в КС:
Методы борьбы с РПВ
Сигнатура – уникальная последовательность кода, свойственная вирусу, её присутствие в исполняемом коде говорит об однозначном присутствии РПВ. Можно поступить по-другому: разрешить запускать системе только те модули, которые имеют известную сигнатуру.
Первый и второй метод действенны, когда сами контрольные элементы не подвержены воздействию закладок. Если этого не обеспечить, закладка может модифицировать алгоритм контроля целостности, подменить контрольную сумму.
Изолированная программная среда
При отсутствии активизирующих событий для программной закладки, её деструктивное воздействие невозможно, даже если она присутствует в ПА среде. Поэтому одним из способов защиты от РПВ можно нейтрализацию всех активных событий ПЗ.
ИПС характеризуется выполнением следующих условий:
Эта достоверность должна достигаться только путем использования аппаратных средств, процедура контроля целостности которых прошитая в их ПЗУ, контроль целостности должен выполняться на протяжении всего сеанса работы пользователя, начиная с самых разных этапов загрузки ЭВМ.
Идентификацию и аутентификацию пользователя желательно также выполнять на аппаратном блоке.
ИПС при запуске программы пользователя одновременно выполняет проверку условий:
Лекция № 11
Сертификация программного обеспечения по уровню контроля отсутствия НДВ
Программное обеспечение, системы защиты, которые работают с конфиденциальной информацией, либо с информацией, составляющей государственную тайну, должно пройти проверки на наличие в них НДВ.
Под НДВ понимается функциональная возможность ПО, не описанная в документации, либо не соответствующая описанным в документации., которая может привести к нарушению конфиденциальности, целостности, доступности информации.
Проверка ПО на наличие НДВ осуществляется согласно РД ФСТЭК 1998 г. «Защита от НСД. Часть 1. ПО средств защиты. Классификация по уровню контроля отсутствия НДВ». Согласно этому РД выделяется 4 уровня контроля, 1-высокий, 4 – низкий.
1 – системы,
обрабатывающее информацию «
2 - системы,
обрабатывающее информацию «
3- системы, обрабатывающее информацию «Секретно»
4 - системы, обрабатывающее конфиденциальную информацию
№ |
Наименование требования |
Уровень контроля | |||
4 |
3 |
2 |
1 | ||
Требования к документации |
|||||
1 |
Контроль состава и содержания документации |
|
|
|
|
1.1 |
Спецификация (ГОСТ 19.202-78) |
+ |
= |
= |
= |
1.2 |
Описание программы (ГОСТ 19.402-78) |
+ |
= |
= |
= |
1.3 |
Описание применения (ГОСТ 19.502-78) |
+ |
= |
= |
= |
1.4 |
Пояснительная записка (ГОСТ 19.404-79) |
- |
+ |
= |
= |
1.5 |
Тексты программ, входящих в состав ПО (ГОСТ 19.401-78) |
+ |
= |
= |
= |
Требования к содержанию испытаний |
|||||
2 |
Контроль исходного состояния ПО |
+ |
= |
= |
= |
3 |
Статический анализ исходных текстов программ |
|
|
|
|
3.1 |
Контроль полноты и отсутствия избыточности исходных текстов |
+ |
+ |
+ |
= |
3.2 |
Контроль соответствия исходных текстов ПО его объектному (загрузочному) коду |
+ |
= |
= |
+ |
3.3 |
Контроль связей функциональных объектов по управлению |
- |
+ |
= |
= |
3.4 |
Контроль связей функциональных объектов по информации |
- |
+ |
= |
= |
3.5 |
Контроль информационных объектов |
- |
+ |
= |
= |
3.6 |
Контроль наличия заданных конструкций в исходных текстах |
- |
- |
+ |
+ |
3.7 |
Формирование перечня маршрутов выполнения функциональных объектов |
- |
+ |
+ |
= |
3.8 |
Анализ критических маршрутов выполнения функциональных объектов |
- |
- |
+ |
= |
3.9 |
Анализ алгоритма работы функциональных объектов на основе блок-схем, диаграмм и т.п., построенных по исходным текстам контролируемого ПО |
- |
- |
+ |
= |
4 |
Динамический анализ исходных текстов программ |
|
|
|
|
4.1 |
Контроль выполнения функциональных объектов |
- |
+ |
+ |
= |
4.2 |
Сопоставление фактических маршрутов выполнения функциональных объектов и маршрутов, построенных в процессе проведения статического анализа |
- |
+ |
+ |
= |
5 |
Отчётность |
+ |
+ |
+ |
+ |
Для программного обеспечения импортного производства состав документации может отличаться от требуемого, однако содержание должно соответствовать требованиям, указанных в ГОСТ.
Контроль состава
документации проводится группой экспертов
путем сравнения перечня
Контроль содержания документации осуществляется, как по соответствию формальным требованиям ГОСТ к содержанию составных частей документов, так и по соответствию реальным возможностям программного обеспечения.
На основании проведенного контроля делается вывод о соответствии документации требованиям руководящего документа и о возможности ее использования в процессе эксплуатации программного обеспечения.
Контроль
исходного состояния программно
Контроль заключается в фиксации исходного состояния ПО и сравнении полученных результатов с приведёнными в документации.
Результатами контроля исходного состояния ПО должны быть рассчитанные уникальные значения контрольных сумм загрузочных модулей и исходных текстов программ, входящих в состав ПО.
Контрольные суммы должны рассчитываться для каждого файла, входящего в состав ПО.
Проверенное программное обеспечение фиксируется – т.е. со всех модулей снимаются контрольные суммы.
Для представленных загрузочных модулей исходных текстов контрольное суммирование должно осуществляться с использованием программного обеспечения фиксации и контроля исходного состояния. Результаты контрольного суммирования оформляются в виде отчетов, являющихся приложением к протоколу испытаний.
Лекция № 12
Статический анализ исходных текстов программ
Статический анализ исходных текстов программ должен включать следующие технологические операции:
1. Контроль полноты и отсутствия избыточности
Полнота представленных исходных текстов ПО подтверждается фактом успешной компиляции и сборки исследуемого программного обеспечения с учетом результатов контроля соответствия исходных текстов загрузочному коду.
Для проверки полноты
специальных средств
Для контроля избыточности исходных текстов на уровне файлов, с помощью анализатора исходных текстов определить список файлов, составляющих ПО и на основе анализа полученных исходных данных определить избыточные файлы, проанализировать их назначение и обоснованность включения в состав программного обеспечения.
2. Контроль соответствия исходных текстов программного обеспечения
Контроль соответствия исходных текстов ПО его объектному (загрузочному) коду осуществляется методом создания загрузочных модулей из представленных исходных текстов ПО, и их сравнением полученных модулей с модулями, входящими в состав дистрибутива.
Берутся предоставленные исходные тексты (*) и производится их контрольная сборка – т.е. они компилируется и полученные модули сравниваются по контрольным суммам с модулями зафиксированного ПО (см. пункт 2)
В случае отсутствия исходных текстов используются два подхода:
1. С восстановлением исходных текстов:
При использовании данного подхода, возможно, потребуется итеративное дизассемблирование – с постепенными уточнениями.
2. Без восстановления
исходных текстов –
Для контрольной сборки, помимо собственно исходных файлов, желательно иметь и среду сборки (т.е. все компиляторы и компоновщики, которые использовал разработчик – иначе, при полностью самостоятельной сборке в лаборатории, расхождения по контрольным суммам почти гарантированно (т.е. собранные модули будут отличаться от модулей зафиксированного ПО). Наилучший вариант – когда контрольная сборка производится либо на стенде разработчика (один или несколько компьютеров необходимых для cборки ПО, предоставляемые разработчиком и полностью готовые к сборке ПО), либо непосредственно у разработчика.