Как известно, автоматизированная система обработки данных (АСОД) предназначена для классификации, сортировки, расчета, подведения итогов, передачи и приема, восстановления и хранения/поиска информации с минимумом человеческого вмешательства. Автоматизированная обработка данных требует обеспечения определенного уровня защиты в зависимости от степени конфиденциальности обрабатываемых данных. Для обеспечения безопасности АСОД должна включать в себя функции защиты, прежде всего, такие как: * разграничение и контроль доступа к объектам; * обеспечение и контроль целостности системы. Однако такие системы не всегда обеспечивают должный уровень безопасности, которая определяется: - степенью полноты реализованных функций защиты; - надежностью реализации функций защиты. В таких случаях возможно использование внешних по отношению к существующей АСОД средств, задача которых состоит в улучшении характеристик защищенности последней. Такие средства защиты, в дальнейшем подсистемы защиты (ПЗС), могут быть классифицированы лишь для конкретной конфигурации аппаратных и программных средств при решении конкретных задач. Требования к использованию ПЗС включают обязательную оценку соответствия классам защищенности. Однако в настоящее время практически отсутствуют удовлетворительные механизмы такой оценки. И в первую очередь это связано с необходимостью анализа ПЗС, не имея исходных текстов программ и описания используемых алгоритмов. D1 Объект защиты Т1 D2 Подсистема Т2 D3 защиты ТЗ D4 АСОД Т4 D1 - множество возможных путей доступа к обьекту защиты в обход ПЗС; D2 - множество возможных путей доступа к обьекту защиты в обход АСОД через ПЗС; D3 - множество возможных путей доступа к объекту защиты через ПЗС и АСОД; D4 - множество возможных путей доступа к обьекту защиты в обход ПЗС через АСОД; Т1..4 - области воздействия/слежения в соответствии с D1..4. Рис.1 Взаимосвязь подсистемы и объекта защиты В настоящее время широкое распространение и использование получили компьютеры, где вычислительные ресурсы или применяемые программы не позволяют использовать мощные операционные системы (ОС), обеспечивающие должный уровень безопасности. В этой связи актуальным стало создание и использование ПЗС частично реализующих функции защиты. Рис. 1 иллюстрирует место ПЗС в операционной среде компьютера. Организация защиты реализуется через добавление новых или модификацию существующих функций защиты, обеспечивающих безопасность как объектов защиты, так и собственно АСОД. Один из методов, позволяющий оценить ПЗС - анализ, целью которого является определение набора механизмов - защиты и их устойчивости к попыткам нарушения, возможных путей развития средств защиты и их сравнительной оценки. Один лишь верификационный анализ, устанавливающий соответствие между спецификацией стратегии защиты и реализацией ПЗС, не может классифицировать защиту на соответствие тому или иному уровню безопасности прежде всего из-за отсутствия в ряде случаев спецификации и удовлетворительного описания реализации. Таким образом, анализ с целью оценки ПЗС является основным методом исследования ПЗС. Определение наборов функций, отсутствие которых может привести к нарушению безопасности всей АСОД через D1, то есть путей обхода системы защиты - есть первая задача анализа. Отсутствие определенных функций защиты, способствует реализации несанкционированного доступа. В некоторых случаях ПЗС разрабатываются без учета возможных угроз (D1 <> 0) или уже реализованных функций защиты (D3 <> 0). В последнем случае возможен конфликт между различными функциями, что может привести к нарушению конфиденциальности информации или к краху всей системы. С другой стороны, сами функции, обеспечивающие защиту, требуют анализа на устойчивость (например, криптостойкость для алгоритмов шифрования). Отсутствие возможности доступа к объекту через D1 (D1 =0), не гарантирует, что подсистема обеспечивает заданный уровень безопасности. Определение степени устойчивости к попыткам нарушения или вскрытия алгоритмов, реализованных в подсистеме (D2 и D3), и определение совместимости функций из 03 с уже реализованными в ОС (при D3 <> 0) - вторая задача анализа. Основой предлагаемой методики анализа ПЗС является слежение за процессами, протекающими в операционной среде, и направленное воздействие на них (в общем случае изменяющее ход выполнения алгоритмов путем изменения/подмены данных). Причем особый интерес представляют процессы и их взаимодействие в: * ядре операционной системы; * подсистеме защиты; * обьекте защиты. Данные для направленного воздействия можно получить снимая информацию о про текающих процессах и результатах предыдущих воздействий. Получение такой информации достигается слежением в те или иные моменты времени при возникновении определенных событий, описанных ниже. Если собственно воздействие заключается в изменении значений регистров, ячеек и системных областей основной памяти компьютера или подмене входных данных, то, как момент воздействия, так и события, слежение за которыми можно осуществлять, определяется самой АСОД и вычислительной платформой. Большинство платформ, реализованных в соответствии с принципом открытости, обеспечивают возможность слежения за следующими событиями: *вызовы программных и аппаратных прерываний; *выполнение привилегированных инструкций; *возникновение нарушения защиты памяти. В частности процессоры семейства Intel 80х86, начиная с i80286, позволяют реализовать слежение (при поддержке операционной системой) за: * вызовами программных прерываний (инструкция INT <<номер прерывания>>); * вызовами аппаратных прерываний; * возникновением исключений; * выполнением привилегированных инструкций, включая операции с портами ввода/вывода; * дальними вызовами и переходами (инструкции CALL FAR и JMP FAR). (Теоретически возможно следить за выполнением каждой инструкции и обращением по чтению из и записи в любую ячейку памяти используя механизм выделения памяти процессам и исключения по нарушению защиты памяти). Эти события и определяют возможности слежения на уровне операционной системы в компьютере. Другие компоненты вычислительной среды, такие как СУБД или любые другие системы обработки информации, определяют события другого более высокого уровня, и слежение/воздействие может быть реализовано на их же уровне, например, в моменты возникновения запросов, обращений к записям и другой структурированной информации. Слежение за вышеописанными событиями дает возможность определить взаимодействие исследуемого процесса с операционной системой и аппаратным обеспечением, а также с другими процессами протекающими в операционной среде. Естественно, основываясь на информации о событиях нельзя полностью восстановить для анализа алгоритмы, реализованные в программном обеспечении, например, алгоритмы шифрования. Однако для анализа ПЗС, которые, как раз и созданы, прежде всего, для того, чтобы контролировать взаимодействие процессов, такой метод, безусловно, подходит. Описываемая динамическая система анализа (ДСА) ПЗС основана на слежении за событиями аппаратном уровня и уровня операционной системы. Однако ее функциональная схема не претерпит существенных изменений и для анализа степени защищенности систем обработки данных более высоком уровня. Работа интеллектуального блока анализа основана на итеративном способе исследования с обратной связью. Все блоки реализуются в виде процессов вычислительной среды, работающих параллельно. Однако специфика и взаимосвязь информационных потоков, отраженных на схеме, циркулирующих в ВС, требует синхронизации. За это отвечает динамическая система исследования тактируемая событиями, описанными выше. Именно она реализует механизмы воздействия и слежения. (Реализация этих механизмов в качестве привилегированных процессов, позволит использовать ДСА для исследования и оценки систем защиты операционных систем). Направленное воздействие позволяет управлять ходом процессов, меняя их алгоритмы, заставляя проходить по интересующим исследователя ветвям. Накапливаемая база знаний методов защиты и экспертных оценок исследователя позволяет оценить используемые методы зашиты конкретной ПЗС, направить исследования в нужном направлении, предложить пути усиления защиты. В то же время, накапливаемая информация позволит в дальнейшем включать в оценку и более сложные методы защиты, например, выявление запросов, нарушающих конфиденциальность данных, что представляется наиболее сложным как для реализации, так и для анализа.