Программно-аппаратная защита информации
Автор работы: Пользователь скрыл имя, 20 Февраля 2011 в 14:59, курс лекций
Описание работы
Программные и аппаратные механизмы защиты
Файлы: 1 файл
Аникин_Катасёв_Кривилёв_ПАЗИ_Конспекты_лекций_2008.doc
— 1.34 Мб (Скачать файл)Для контрольной сборки, помимо собственно исходных файлов, желательно иметь и среду сборки (т.е. все компиляторы и компоновщики, которые использовал разработчик – иначе, при полностью самостоятельной сборке в лаборатории, расхождения по контрольным суммам почти гарантированно (т.е. собранные модули будут отличаться от модулей зафиксированного ПО). Наилучший вариант – когда контрольная сборка производится либо на стенде разработчика (один или несколько компьютеров необходимых для cборки ПО, предоставляемые разработчиком и полностью готовые к сборке ПО), либо непосредственно у разработчика.
Последовательность действий при выполнении трансляции исходных текстов, версия транслятора, а также исходные данные (директивы) для транслятора должны соответствовать приведённым в сопроводительной документации.
Автоматизация
здесь подразумевается на уровне
командных
файлов для сборки или автоматизации,
предусмотренной в самих средствах
сборки.
3.2.4. Отчётность
По
окончании испытаний
- контроля исходного состояния программного обеспечения;
- контроля полноты и отсутствия избыточности исходных текстов контролируемого программного обеспечения на уровне файлов;
- контроля соответствия исходных текстов программного обеспечения его объектному (загрузочному) коду.
3.3. Требования к третьему уровню контроля
3.3.1. Контроль состава и содержания документации
Требования полностью включают в себя аналогичные требования к четвертому уровню контроля.
Кроме того, должна быть представлена «Пояснительная записка» (ГОСТ 19.404-79), содержащая основные сведения о назначении компонентов, входящих в состав программного обеспечения, параметрах обрабатываемых наборов данных (подсхемах баз данных), формируемых кодах возврата, описание используемых переменных, алгоритмов функционирования и т.п.
3.3.2. Контроль исходного состояния программного обеспечения
Требования полностью включают в себя аналогичные требования к четвёртому уровню контроля.
3.3.3. Статический анализ исходных текстов программ
Кроме аналогичных требований, предъявляемых к четвёртому уровню контроля, дополнительно предъявляются следующие требования:
- контроль полноты и отсутствия избыточности исходных текстов ПО на уровне функциональных объектов (процедур);
- контроль связей функциональных объектов (модулей, процедур, функций) по управлению;
- контроль связей функциональных объектов (модулей, процедур, функций) по информации;
- контроль информационных объектов различных типов (например, локальных переменных, глобальных переменных, внешних переменных и т.п.);
- формирование перечня маршрутов выполнения функциональных объектов (процедур, функций).
Лекция № 13
Перечень типовых дефектов программного обеспечения
Рассмотрим перечень типовых дефектов программного обеспечения.
- Неполная проверка параметров и разброса переменных; нестрогий контроль границ их изменений.
- Скрытое использование приоритетных данных.
- Асинхронное изменение интервала между временем проверки и временем использования.
- Неправильное преобразование в последовательную форму.
- Неправильные идентификация, верификация, аутентификация и санкционирование задач.
- Отказ предотвращения перехода за установленные в программе пределы доступа и полномочий.
- Логические ошибки (например, больше логических выражений или результатов, чем операций перехода).
- Незавершённые разработка и описание.
- Недокументированные передачи управления.
- Обход контроля или неправильные точки контроля.
- Неправильное присвоение имен, использование псевдонимов.
- Неполная инкапсуляция или неполное скрытие описания реализации объекта.
- Подменяемые контрольные журналы.
- Передача управления в середине процесса.
- Скрытые и недокументированные вызовы из прикладных программ, команд ОС и аппаратных команд.
- Не устранение остаточных данных или отсутствие их адекватной защиты.
- Неправильное освобождение ресурсов.
- Игнорирование отключения внешних приборов.
- Неполное прерывание выполнения программ.
- Использование параметров ОС в прикладном пространстве памяти.
- Не удаление средств отладки до начала эксплуатации.
Формы проявления программных дефектов
(Вариант 1)
1. Выполнение
арифметических операций и
- деление на 0;
- переполнение разрядной сетки;
- отличие результатов арифметических операций от ожидаемых;
- обращение к стандартным функциям с недопустимыми значениями параметров.
2. Ошибки, связанные
с затиранием команд и
3. Ошибки управления:
- зацикливание – бесконечное повторение одной и той же части программы;
- последовательность прохождения участков программы не соответствует ожидаемому;
- потеря управления, приводящая к ошибкам разного рода (обращение к запрещенной области памяти, попытка выполнить запрещенную программу или «не команду».
- 4. Ошибки ввода-вывода:
- «странный» вывод (на печать, на монитор и т.д.);
- сообщения об ошибках от системных программ ввода-вывода.
(Вариант 2)
1. Ошибки, приводящие
к прекращению выполнения
- зацикливание, то есть последовательная повторяющаяся реализация определенной группы команд, не прекращающаяся без внешнего вмешательства;
- останов и прекращение решения функциональных задач;
- значительное искажение или потеря накопленной информации о текущем состоянии управляемого процесса;
- прекращение или значительное снижение темпа решения некоторых задач вследствие перегрузки ЭВМ по пропускной способности;
- искажение процессов взаимного прерывания подпрограмм, приводящее к блокировке возможности некоторых типов прерываний.
2. Ошибки, кратковременно, но значительно искажающие отдельные результаты, выдаваемые управляющим алгоритмом:
- пропуск подпрограмм или их существенных частей;
- выход на подпрограммы или их части, резко искажающиеся результаты;
- обработка ложных или сильно искаженных сообщений.
3. Ошибки, мало и кратковременно влияющие на результаты, выдаваемые управляющим алгоритмом.
Этот
тип ошибок характерен, в основном,
для квазинепрерывных величин, в которых
возможны небольшие отклонения результатов
за счёт ошибок. Эти ошибки в среднем мало
искажают общие результаты, однако отдельные
выбросы могут сильно влиять на процесс
управления и требуется достаточно эффективная
защита от таких редких значительных выбросов.
Лекция № 14
Следует
отметить, что круг вопросов, связанных
с защитой информацией в
Защищенность операционной системы во многом характеризует защищенность всей компьютерной системы в целом. В связи с этим, защите ОС необходимо уделять много внимания на практике.
Классификация угроз безопасности ОС
Классификация угроз по цели:
- Несанкционированное чтение информации.
- Несанкционированное изменение информации.
- Несанкционированное уничтожение.
- Полное или частичное разрушение операционной системы, полное или частичное ее завешивание, завешивание программных модулей, физическое стирание с диска системных файлов (вирусы, DoS).
Классификация по принципу воздействия на ОС:
- Использование легальных каналов получения информации, например угроза несанкционированного чтения при некорректном определения профиля пользователя администратором.
- Использование скрытых каналов получения информации – использование недокументированных возможностей ОС (переполнение буфера – запуск некоторого программного кода).
- Создание новых каналов получения информации с помощью программных закладок.
По характеру воздействия на ОС:
- Активное воздействие – несанкционированное действия злоумышленника в системе (подбор пароля, украли базу паролей).
- Пассивное воздействие – несанкционированное наблюдение злоумышленника за процессами, происходящими в системе (сниффер).
По типу слабости защиты:
- Неадекватная политика безопасности, в том числе, ошибки администратора системы.
- Ошибки и недокументированные возможности программного обеспечения ОС: люки – случайные или преднамеренные служебные входы.
- Ранее внедренная программная закладка.
По способу воздействия на объект атаки:
- Непосредственное воздействие.
- Превышение пользователем своих полномочий.
- Работа от имени другого пользователя.
- Использование результатов работы другого пользователя (перехват информационных потоков).
По способу действий злоумышленника:
- В интерактивном режиме.
- В пакетном режиме (с помощью специально написанной программы, скрипта, которая действует самостоятельно, без участия злоумышленника).
По объекту атаки:
- ОС в целом.
- Объекты ОС (файлы, устройства, и т.д.).
- Субъекты ОС (пользователи, системные процессы, и т.д.).
- Каналы передачи данных.
По используемым средствам атаки:
- Штатные средства ОС, без использования дополнительного ПО.
- ПО третьих фирм (вирусы, вредоносные программы, отладчики, сетевые мониторы, сканеры).
- Специально разработанное ПО.
По состоянию атакуемого объекта на момент атаки: хранение, передача, обработка.
Типичные атаки на ОС
1. Сканирование файловой системы
2. Кража ключевой информации.
Простейший случай – подсматривание паролей, набираемых пользователем.
3. Подбор пароля.
4. Сборка мусора. В данном случае восстанавливается информация, которая помечена как удаленная, но реально не удаленная с диска или из памяти.
Например, если в памяти обрабатывался конфиденциальный документ, то после закрытия текстового редактора, можно просканировать память и выделить его.