- •Теоретические основы компьютерной безопасности
- •Содержание
- •Федеральный закон об электронной подписи n 63-фз от 6 апреля 2011 года 81 список сокращений
- •Основные определения
- •Информация
- •Федеральный закон российской федерации от 27 июля 2006 г. №149-фз «об информации, информационных технологиях и о защите информации»
- •Парольные системы для защиты от нсд к информации
- •Общие подходы к построению парольных систем
- •Выбор паролей
- •Организация иб
- •Анализ угроз иб
- •Построение систем защиты от угрозы нсд
- •Защита на уровне представления или криптографические методы защиты информации
- •Концепция ас
- •Сопряжение симметричной и ассиметричной системы
- •Схемы рассылки ключей диффи - хэлмана
- •Протоколы
- •Схемы применимости скзи
- •Эцп от 10 января 2002 года n 1-фз
- •Инфраструктура открытых ключей
- •Стенография
- •Принципы обеспечения целостности
- •Модель контроля целостности биба
- •Модификация модели биба
- •Теория модели безопасности, монитор безопасности
- •Проблема безопасностей моделей
- •Защита памяти
- •Предотвращение неисправностей по в ас, построение сз от угроз отказа доступа, защита от сбоев па среды
- •Дискреционная модель управления доступом
- •Модель хру
- •Дискреционная модель управления доступом
- •Ролевое управление доступом
- •Оранжевая книга – требования tcb
- •Дерево ролей
- •Модель доменов и типов
- •Информационные модели безопасности
- •Модель распространения прав доступа take-grant
- •Расширенная модель take - grant
- •Федеральный закон об электронной подписи n 63-фз от 6 апреля 2011 года
Защита памяти
Память защищается:
Монопольный доступ
Последовательный доступ: исключен взаимный доступ к разделяемым ресурсам
Разграниченный доступ: как правило дискреционная политика
Способы защиты памяти:
Барьерные адреса: выбирается барьерный адрес. Если программа обращается к большим ( или меньшим) адресам, чем барьерные, то инициируется исключение. Барьерный адрес WinNT: 0х80000000. Изначально появились барьерные адреса в MS DOS.
Динамические области памяти: барьерный адрес может принимать разные значения.
Сегментная адресация (адресация MS DOS): сегментный регистр CS. Адрес программы CS:IF. Программа занимает целое количество параграфов. CS – адрес параграфа (индекс), 0хffff – смещение в параграфе.
Страничная адресация
Предотвращение неисправностей по в ас, построение сз от угроз отказа доступа, защита от сбоев па среды
Защита ПА среды делится:
Предотвращение неисправностей ПО (гарантии проектирования)
Обеспечение отказоустойчивости ПО
Для обеспечения отказоустойчивости используют три основных метода:
Временная избыточность: часть ресурсов отводиться на восстановление системы (restart) (используется в NTFS в журналировании)
Информационная избыточность: методы кодирования (код Хэмминга)
Программная избыточность: дублируется код (не менее трех экземпляров в оперативной памяти)
Предотвращение отказоустойчивости ПО
Выделяют следующий алгоритм:
Анализ и спецификация требований: формируется ТЗ (техническое задание), указывается класс решаемых задач, требования к оборудованию, требования к протоколу, пространственно-временные требования. На выходе должен получиться эскизный проект. ТЗ пишет заказчик.
Проектирование – занимается project designer . Программа разбивается на модули, модули на функции, функции на классы.
Исполнение – кодирование.
Ошибки
Выделяют:
Систематические: в ТЗ или в проектировании
Логические (алгоритмические): встречаются на уровне кодирования, заглушки (программный код имитирующий работу программы, но ничего не выполняет) и люки(моделируемые условия)
Заглушки
Тестирование
Тестер – прибор. Разработкой теста занимается группа программистов.
Рисунок 15 - Жизненный цикл проекта
Выводы:
Делать вывод сразу нельзя
Каждый виток спирали – версия
Проблема нового ПО – атака нулевого дня(уязвимость, которая появляется в новом ПО/аппаратуре, о которой нет сведений.
Семантическая защита ПО.
Обфускация кода или запутывание кода.
Основная задача: скрыть метод работы.
Пример: Правообладатель RSA Data security, запутывание кода 1C.
Запутывание производится на двух уровнях:
Высокий – C, Pascal, ООП
Код можно запутать следующим образом:
Внедрение мусорных ресурсов:
1.1.1 Int x;
X=x; //запутывание не будет произведено, компилятор отбросит
1.1.2. Int x;
Int *y;
Y=&x;
X=*y;
Все переменные определяются в один массив – это бессмысленно, т.к. именно так компилятор размещает данные в оперативной памяти
Низкий:
манипуляция с регистрами - переименование.
Псевдо - код на основе сигнатур (одинаковое начало функции)
«Аист» - анализатор исходных текстов на языке Си, для поиска логических бомб. Находит только типовые вещи.