- •Лабораторная работа № 2
- •Цель работы:
- •Теоретическое введение
- •1.1. Построение систем защиты от угрозы нарушения конфиденциальности информации
- •Общие подходы к построению парольных систем
- •Выбор паролей
- •Передача пароля по сети
- •Криптографические методы защиты
- •Способы и особенности реализации криптографических подсистем
- •Криптографическая защита на прикладном уровне ас
- •2. Построение систем защиты от угрозы нарушения целостности информации
- •Целостность данных в ас
- •Барьерные адреса
- •Динамические области памяти
- •Адресные регистры
- •3. Построение систем защиты от угрозы отказа доступа к информации
- •Предотвращение неисправностей в по ас
- •4. Построение систем защиты от угрозы раскрытия параметров информационной системы
- •5. Методология построения защищенных ас
- •Исследование корректности реализации и верификация ас
- •Список литературы
- •2. Порядок выполнения работы
- •3. Практические задания
- •4. Контрольные вопросы
3. Построение систем защиты от угрозы отказа доступа к информации
Поскольку одной из основных задач АС является своевременное обеспечение пользователей системы необходимой информацией (сведениями, данными, управляющими воздействиями и т.п.), то угроза отказа доступа к информации применительно к АС может еще рассматриваться как угроза отказа в обслуживании или угроза отказа функционирования. В свою очередь, создание и эксплуатация АС тесным образом связаны с проблемой обеспечения надежности, важность которой возрастает по мере увеличения сложности и стоимости разработки, а также характера возможных последствий, которые для управляющих критических систем могут быть катастрофическими.
Защита от сбоев программно-аппаратной среды
К неправильному функционированию АС приводят ошибки в ПО или отказ аппаратуры. Поэтому в органически связанном комплексе невозможно бывает, по крайней мере на начальной стадии поиска, разделить причины отказа. В связи с этим вводят понятие надежности ПО, под которой понимается свойство объекта сохранять во времени значения всех параметров, характеризующих способность выполнять требуемые функции в заданных режимах и условиях применения, технического обслуживания, ремонта, хранения и транспортировки.
Несмотря на явное сходство в определениях надежности для аппаратных средств и ПО фактически между этими надежностями сохраняются принципиальные различия. Программа в большинстве случаев не может отказать случайно. Ошибки в ПО, допущенные при его создании, зависят от технологии, организации и квалификации исполнителей и в принципе не являются функцией времени. Причиной отказов, возникающих из-за этих ошибок и фиксируемых как случайный процесс, является не время функционирования системы, а набор входных данных, сложившихся к моменту отказа.
Угроза отказа функционирования АС может быть вызвана как целенаправленными действиями злоумышленников, так и недостаточной надежностью входящей в состав АС аппаратуры и ПО. При обеспечении защиты АС от угрозы отказа функционирования обычно делают следующие допущения. Считается, что надежность аппаратных компонентов достаточно высока, и в практическом плане этой составляющей в общей надежности АС можно пренебречь. Более того, темпы морального старения вычислительной техники значительно опережают темпы ее физического старения, и замена вычислительной техники, как правило, происходит до ее выхода из строя. В настоящее время (при условии соблюдения правил эксплуатации) практически не рассматривается возможность потери данных вследствие утери МНИ функциональных свойств. Таким образом, надежность функционирования АС может быть сведена к надежности функционирования входящего в ее состав программного обеспечения. Другое допущение связано с тем, что принято не различать природу причин сбоев и отказов работы АС, т.е. для надежности функционирования АС неважно, вызваны ли они действиями злоумышленника или связаны с ошибками разработки, важно, как и в каком объеме произойдет их парирование.
Существуют два основных подхода к обеспечению защиты ПО АС от угрозы отказа функционирования-предотвращение неисправностей (fault avoidance) и отказоустойчивость (fault tolerance).
Отказоустойчивость предусматривает, что оставшиеся ошибки ПО обнаруживаются во время выполнения программы и парируются за счет использования программной, информационной и временной избыточности. Предотвращение неисправностей связано с анализом природы ошибок, возникающих на разных фазах создания ПО, и причин их возникновения. Рассмотрим эти два направления подробнее.
Обеспечение отказоустойчивости ПО АС
Невозможность обеспечить в процессе создания АС ее абсолютную защищенность от угрозы отказа функционирования даже при отсутствии злоумышленных воздействий заставляет искать дополнительные методы и средства повышения безопасности функционирования ПО на этапе эксплуатации [10]. Для этого разрабатываются и применяются методы оперативного обнаружения дефектов при исполнении программ и искажений данных введением в них временной, информационной и программной избыточности. Эти же виды избыточности используются для оперативного восстановления искаженных программ и предотвращения возможности развития угроз до уровня, нарушающего безопасность АС.
Для обеспечения высокой надежности и безопасности функционирования АС необходимы вычислительные ресурсы для максимально быстрого обнаружения проявления дефектов, возможно точной классификации типа уже имеющихся и вероятных последствий искажений, а также для автоматизированных мероприятий, обеспечивающих быстрое восстановление нормального функционирования АС. Неизбежность ошибок в сложных АС, искажений исходных данных и других аномалий приводит к необходимости регулярной проверки состояния и процесса исполнения программ, а также сохранности данных. В процессе проектирования требуется разрабатывать надежные и безопасные программы и базы данных, устойчивые к различным возмущениям и способные сохранять достаточное качество результатов во всех реальных условиях функционирования. В любых ситуациях прежде всего должны исключаться катастрофические последствия дефектов и длительные отказы или в максимальной степени смягчаться их влияние на результаты, выдаваемые пользователю.
Временная избыточность состоит в использовании некоторой части производительности компьютера для контроля исполнения программ и восстановления (рестарта) вычислительного процесса. Для этого при проектировании АС должен предусматриваться запас производительности, который затем будет использоваться системами контроля и для повышения надежности и безопасности функционирования. Значение временной избыточности зависит от требований к безопасности функционирования или обработки информации и находится в пределах от 5...10% производительности до трех-четырех кратного дублирования в мажоритарных вычислительных комплексах.
Информационная избыточность состоит в дублировании накопленных исходных и промежуточных данных, обрабатываемых программами. Избыточность используется для сохранения достоверности данных, которые в наибольшей степени влияют на нормальное функционирование АС и требуют значительного времени на восстановление. Такие данные обычно характеризуют некоторые интегральные сведения о внешнем управляющем процессе; в случае их разрушения может прерваться процесс управления внешними объектами или обработки их информации, отражающийся на безопасности АС.
Программная избыточность используется для контроля и обеспечения достоверности наиболее важных решений по управлению и обработке информации. Она заключается в сопоставлении результатов обработки одинаковых исходных данных разными программами и исключении искажения результатов, обусловленных различными аномалиями. Программная избыточность необходима также для реализации средств автоматического контроля и восстановления данных с использованием информационной избыточности и для функционирования всех средств защиты, имеющих временную избыточность.
Последовательный характер исполнения программ центральным процессором приводит к тому, что средства оперативного программного контроля включаются после выполнения прикладных и сервисных программ. Поэтому средства программного контроля обычно не могут обнаруживать возникновение искажения вычислительного процесса или данных (первичную ошибку) и фиксируют, как правило, только последствия первичного искажения (вторичную ошибку). Результаты первичного искажения в ряде случаев могут развиваться во времени и принимать катастрофический характер отказа при увеличении времени запаздывания в обнаружении последствий первичной ошибки.
Обеспечение отказоустойчивости ПО АС применимо в основном к прикладному программному обеспечению, так как в этом случае реализация задачи контроля возлагается на операционную систему. Что же касается самой операционной системы, то данный подход здесь практически не работает, так как для нее потребуется своя 'контролирующая операционная "сверхсистема", которую также надо контролировать, и т.д. Поэтому для операционных систем применяют методы предотвращения неисправностей в ПО.