Практическая работа №4 Настройка изолированной среды
Изолированные программные среды
Локальные изолированные программные среды
Локальным называется любой файл, который указывается с использованием ссылки по протоколу file: или пути UNC (Universal Naming Convention — универсальные правила именования). Локальные SWF-файлы помещаются в одну из четырех локальных изолированных программных сред.
Локальная изолированная программная среда файловой системы: в целях безопасности среды выполнения Flash Player и AIR по умолчанию помещают в нее все локальные файлы. Исполняемый код из этой изолированной программной среды может считывать локальные файлы (например, с помощью класса URLLoader), но не имеет никакой возможности взаимодействовать с сетью. Это предотвращает утечку локальных данных в сеть и другие виды несанкционированного доступа.
Локальная изолированная программная среда с сетевым подключением: во время компиляции SWF-файла можно указать, что он имеет доступ к сети, когда выполняется в качестве локального файла (см. раздел Настройка типа изолированной программной среды для локальных SWF-файлов). Такие файлы помещаются в локальную изолированную программную среду с сетевым подключением. SWF-файлы, помещенные в локальную изолированную программную среду с сетевым подключением, теряют доступ к локальным файлам. Зато они получают доступ к сетевым данным. Однако SWF-файлы из локальной изолированной программной среды с сетевым подключением все равно не могут считывать данные из сети, если им не предоставлено соответствующее разрешение посредством файла политики URL-адресов или вызова метода Security.allowDomain(). Чтобы предоставить такое разрешение, файл политики URL-адресов должен разрешать доступ всем доменам с использованием оператора или метода Security.allowDomain("*"). Дополнительные сведения см. в разделах «Элементы управления веб-сайта (файлы политики)» и «Элементы управления автора (разработчика)».
Локальная доверенная изолированная программная среда: в эту среду помещаются локальные SWF-файлы, зарегистрированные в качестве доверенных (пользователями или программами установки). Системные администраторы и пользователи также имеют возможность перераспределять (перемещать) локальные SWF-файлы в локальную доверенную изолированную программную среду или из нее в соответствии с требованиями безопасности (см. разделы «Элементы управления администратора» и «Элементы управления пользователя)». SWF-файлы, распределенные в локальную доверенную изолированную программную среду, могут взаимодействовать со всеми остальными SWF-файлами и загружать данные из любого местоположения (удаленного или локального).
Изолированная программная среда приложения AIR: эта изолированная программная среда включает содержимое, установленное вместе с выполняемым приложением AIR. По умолчанию код, выполняемый в изолированной программной среде приложения AIR может выполнять перекрестные сценарии для кода из любого домена. Однако файлы, находящиеся за пределами изолированной программной среды приложения AIR, не могут выполнять перекрестные сценарии для находящегося внутри нее кода. По умолчанию код и содержимое в изолированной программной среде приложения AIR могут загружать содержимое и данные из любого домена.
Взаимодействие между локальной изолированной программной средой с сетевым подключением и локальной изолированной программной средой файловой системы, а также между локальной изолированной программной средой файловой системы и удаленной изолированной программной средой строго запрещено. Разрешение на такое взаимодействие не может предоставить ни приложение, выполняемое в проигрывателе Flash Player, ни пользователь, ни администратор.
Для выполнения сценариев в любом направлении между локальными HTML-файлами и локальными SWF-файлами, например, с помощью класса ExternalInterface, требуется, чтобы оба файла (HTML и SWF) находились в локальной доверенной изолированной программной среде. Это требование объясняется тем, что локальные модели безопасности обозревателей отличаются от модели проигрывателя Flash Player.
SWF-файлы из локальной изолированной программной среды с сетевым подключением не могут загружать SWF-файлы из локальной изолированной программной среды файловой системы. SWF-файлы из локальной изолированной программной среды файловой системы не могут загружать SWF-файлы из локальной изолированной программной среды с сетевым подключением.
Изолированная программная среда приложения AIR
Среда выполнения Adobe AIR добавляет дополнительную изолированную среду приложения, которая расширяет модель изолированных программных сред безопасности Flash Player. Файлы, устанавливаемые в составе приложения AIR, загружаются в изолированную программную среду приложения. Все остальные файлы, загружаемые приложением, имеют те же ограничения по безопасности, которые определены в обычной модели безопасности Flash Player.
При установке приложения все файлы, включенные в пакет AIR, устанавливаются на компьютер пользователя в каталог приложения. Разработчики могут обратиться к этому каталогу в коде с использованием схемы URL app:/ (см. раздел «Схемы URI»). Все файлы дерева каталога приложения помещаются в изолированную программную среду приложения при выполнении приложения. Содержимое изолированной программной среды приложения наделяется полным набором привилегий, доступных приложению AIR, в том числе возможностью взаимодействия с локальной файловой системой.
Многие приложения AIR используют только такие локально установленные файлы для выполнения приложения. Однако приложения AIR не ограничены файлами в каталоге приложения — они могут загружать файлы любого типа из любых источников. К ним относятся файлы, локально установленные на компьютере пользователя, а также файлы из доступных внешних источников, например из локальной сети или Интернета. Тип файла не влияет на ограничения безопасности; загруженные HTML-файлы обладают теми же привилегиями безопасности, что и загруженные SWF-файлы из того же источника.
Содержимое изолированной программной среды безопасности приложения имеет доступ к API-интерфейсам AIR, к которым содержимое из других изолированных программных сред не имеет доступа. Например, свойство air.NativeApplication.nativeApplication.applicationDescriptor, которое возвращает содержимое файла дескриптора приложения, ограничено доступом к содержимому в изолированной программной среде безопасности приложения. Другим примером API-интерфейса с ограниченным доступом является класс FileStream, который содержит методы для чтения и записи в локальную файловую систему.
API-интерфейсы ActionScript, которые доступны только для содержимого в изолированной программной среде безопасности приложения, отмечены логотипом AIR в cправочнике ActionScript® 3.0 для платформы Adobe® Flash® Platform. При использовании этих API-интерфейсов в других изолированных программных средах среда выполнения выдает исключение SecurityError.
Для содержимого HTML (в объекте HTMLLoader) все JavaScript API-интерфейсы AIR (которые доступны через свойство window.runtime или объект air при использовании файла AIRAliases.js) доступны для содержимого в изолированной программной среде безопасности приложения. Содержимое HTML в другой изолированной программной среде не имеет доступа к свойствуwindow.runtime, поэтому такое содержимое не имеет доступа к API-интерфейсам Flash Player.
Содержимое, выполняемое в изолированной программной среде приложения AIR, имеет следующие дополнительные ограничения.
Содержимое HTML в изолированной программной среде безопасности приложения имеет ограничения по использованию API-интерфейсов, которые могут динамически преобразовывать строки в исполняемый код после загрузки кода. Это предотвращает случайный ввод (и исполнение) приложением кода из источников, не относящихся к приложению (например, из потенциально небезопасных сетевых доменов). Примером может служить использование функции eval(). Дополнительные сведения см. в разделе «Ограничения по использованию кода в содержимом из различных изолированных программных сред».
Для предотвращения возможных информационных атак теги img в содержимом HTML объектов TextField в ActionScript игнорируются содержимым SWF, находящимся в изолированной программной среде безопасности приложения.
Содержимое в изолированной программной среде приложения не может использовать протокол asfunction в содержимом HTML текстовых полей ActionScript 2.0.
Содержимое SWF в изолированной программной среде приложения не может использовать междоменный кэш — функцию, добавленную в Flash Player 9 Пакет обновлений 3. Эта функция позволяет проигрывателю Flash Player постоянно кэшировать содержимое компонента платформы Adobe и использовать его в содержимом SWF по запросу (исключая необходимость многократной повторной загрузки содержимого).
Ограничения для JavaScript внутри AIR
В отличие от содержимого в изолированной программной среде безопасности приложения содержимое JavaScript из других изолированных программных сред безопасности может вызвать функцию eval() для исполнения динамически генерируемого кода в любое время. Однако существуют ограничения для сценариев JavaScript, выполняемых за пределами изолированной программной среды приложения AIR. Вот некоторые из них:
Код JavaScript в изолированной программной среде безопасности, отличной от изолированной программной среды приложения, не имеет доступа к объекту window.runtime, поэтому не может исполнять API-интерфейсы AIR.
По умолчанию содержимое в изолированной программной среде, отличной от изолированной программной среды приложения, не может вызывать XMLHttpRequest для загрузки данных из доменов, отличных от домена, вызывающего запрос. Однако код приложения может предоставить содержимому, не имеющему отношения к приложению, такую возможность, задав атрибут allowCrossdomainXHR в кадре-контейнере или во встроенном кадре. Дополнительные сведения см. в разделе «Ограничения по использованию кода в содержимом из различных изолированных программных сред».
Существуют ограничения по вызову метода JavaScript window.open(). Дополнительные сведения см. в разделе «Ограничения по вызову метода JavaScript window.open()».
Содержимое HTML в изолированных программных средах безопасности remote (сетевых) может загружать содержимое CSS, frame, iframe и img только из удаленных доменов (с сетевых URL-адресов).
Содержимое HTML в локальной изолированной программной среде файловой системы, локальной изолированной программной среде с сетевым подключением или в локальной доверенной изолированной программной средае может загружать содержимое CSS, frame, iframe и img только из локальных изолированных программных сред (не с сетевых и программных URL-адресов).
Дополнительные сведения см. в разделе «Ограничения по использованию кода в содержимом из различных изолированных программных сред».
Настройка типа изолированной программной среды для локальных SWF-файлов
Конечный пользователь или администратор компьютера может указать локальный SWF-файл как доверенный, чтобы он мог загружать данные из всех доменов, локальных и сетевых. Это указывается в каталоге глобальной доверенной зоны Global Flash Player Trust и в каталоге пользовательской доверенной зоны User Flash Player Trust. Дополнительные сведения см. в разделах «Элементы управления администратора» и «Элементы управления пользователя».
Дополнительные сведения о локальных изолированных программных средах см. в разделе «Локальные изолированные программные среды».
Adobe Flash Professional
Чтобы настроить SWF-файл для локальной изолированной программной среды файловой системы или для локальной изолированной программной среды с сетевым подключением, нужно настроить параметры публикации документа в инструменте разработки.
Adobe Flex
Чтобы настроить SWF-файл для локальной изолированной программной среды файловой системы или для локальной изолированной программной среды с сетевым подключением, нужно установить флаг use-network в компиляторе Adobe Flex. Дополнительные сведения см. в разделе «О параметрах компилятора приложений» руководства Создание и развертывание приложений Adobe Flex 3.
Свойство Security.sandboxType
Автор SWF-файла может использовать статическое свойство Security.sandboxType, предназначенное только для чтения, чтобы определить тип изолированной программной среды, в которую среда выполнения Flash Player или AIR поместила SWF-файл. Класс Security включает константы, представляющие возможные значения свойства Security.sandboxType, перечисленные ниже.
Security.REMOTE: SWF-файл находится в удаленном местоположении в Интернете и подчиняется правилам изолированной программной среды на основе домена.
Security.LOCAL_WITH_FILE: SWF-файл является локальным файлом, но не является доверенным для пользователя и не публиковался с возможностью сетевого подключения. SWF-файл может считывать информацию из локальных источников данных, но не может обмениваться данными через Интернет.
Security.LOCAL_WITH_NETWORK: SWF-файл является локальным файлом, не является доверенным для пользователя, но публиковался с возможностью сетевого подключения. SWF-файл может обмениваться данными через Интернет, но не может считывать информацию из локальных источников данных.
Security.LOCAL_TRUSTED: SWF-файл является локальным файлом, пользователь сделал его доверенным с помощью диспетчера настроек проигрывателя или файла конфигурации доверия Flash Player. SWF-файл может считывать информацию из локальных источников данных и обмениваться данными через Интернет.
Security.APPLICATION: SWF-файл работает в приложении AIR и был установлен с пакетом (файлом AIR) для этого приложения. По умолчанию файлы в изолированной программной среде приложения AIR могут выполнять перекрестные сценарии для любого файла из любого домена. Однако файлы, находящиеся за пределами изолированной программной среды приложения AIR, не могут выполнять перекрестные сценарии для файла AIR. По умолчанию файлы в изолированной программной среде приложения AIR могут загружать содержимое и данные из любого домена.
|
В этом пошаговом руководстве настраивается изолированная среда разработки, необходимая каждому разработчику базы данных для того, чтобы он мог вносить и тестировать изменения в базе данных, не влияя на других участников рабочей группы. Изолированная среда разработки основана на проекте базы данных, содержащем определения всех объектов рабочей базы данных. Можно создать проект, импортировать в него схему из рабочей базы данных и настроить параметры проекта. Затем создается план создания данных. Наконец, проект базы данных и все связанные файлы помещаются в систему управления версиями для совместного использования вашей командой.
В этом пошаговом руководстве вы играет административную роль, определяя среду, которую каждый разработчик в рабочей группе будет использовать для выполнения своих задач разработки. Перед завершением рабочего элемента разработчик использует генератор данных для заполнения обновленной схемы реалистичными, но имитированными данными, после чего выполняет модульные тесты базы данных, чтобы убедиться, что изменения схемы работают, как ожидалось. Когда рабочие элементы завершены, каждый разработчик возвращает свои изменения в систему управления версиями, откуда их могут извлекать другие участники рабочей группы. Выполняя тесты перед возвратом изменений, каждый участник рабочей группы сокращает риск для общих усилий.
В этом пошаговом руководстве демонстрируется выполнение следующих задач.
Создание проекта базы данных с использованием мастера создания проекта базы данных.
Выполнение мастера создания проекта базы данных для импорта схемы базы данных, указания свойств проекта базы данных, а также свойств построения и развертывания.
Анализ результатов операции импорта.
Добавление проекта в систему управления версиями.
Обязательные компоненты
Необходимо, чтобы была установлена система Visual Studio и имелся доступ к учебной базе данных AdventureWorks2008 для SQL Server 2008. Чтобы добавить проект в систему управления версиями, необходимо установить программное обеспечение для управления версиями, такое как Visual Studio Team Foundation Server.
Сведения об установке учебной базы данных AdventureWorks2008 см. на следующей странице веб-сайта Codeplex: Образцы продукта Microsoft SQL Server.
Можно также использовать SQL Server 2008 R2 и базу данных AdventureWorks2008R2. В данном пошаговом руководстве отмечены различия; для AdventureWorks2008R2 следует выполнить другое действие.
Создание проекта базы данных
В меню Файл последовательно выберите команды Создать и Проект.
Откроется диалоговое окно Создать проект.
В области Установленные шаблоны разверните узел База данных и щелкните SQL Server.
В списке шаблонов выберите Мастер SQL Server 2008.
В поле Имя введите AdvWorksSandbox.
Примите заданные по умолчанию Расположение и Имя решения.
Установите флажок Создать каталог для решения, если он еще не установлен.
Снимите флажок Добавить в систему управления версиями, если он установлен, и нажмите кнопку ОК.
Появится мастер создания проекта базы данных.
С помощью этого мастера вам предстоит настроить проект базы данных и импортировать схему исходной базы данных.
Настройка проекта и импорт схемы базы данных
Прочитав страницу "Добро пожаловать!", нажмите кнопку Далее.
Убедитесь, что выбран пункт Проект базы данных для управления изменениями в определенной пользователем базе данных.
В разделе "Файлы скриптов SQL" убедитесь, что выбран пункт По схеме, и нажмите кнопку Далее.
На странице Задание параметров базы данных в поле Укажите схему по умолчанию для объектов, создаваемых в проекте базы данных введите HumanResources и нажмите кнопку Далее.
На странице Импорт схемы базы данных установите флажок Импортировать существующую схему.
В списке Подключение к исходной базе данных щелкните подключение, соответствующее серверу и базе данных AdventureWorks2008 или AdventureWorks2008R2. Если подключение еще не существует, щелкните Новое подключение для его создания. Если не задать подключение, проект будет создан, но схема импортирована не будет.
Примите установленные по умолчанию параметры импорта объектов и настроек, и нажмите кнопку Далее.
На странице Настройка построения и развертывание в разделе Подключение к конечной базе данных нажмите кнопкуИзменить и укажите подключение к серверу базы данных, на котором нужно создать изолированную среду разработки.
В поле Имя конечной базы данных введите AdvWorksSandbox, если это имя еще не задано.
В списке Параметры сортировки по умолчанию при развертывании щелкните Использовать параметры сортировки проекта.
В результате этого действия обработчик развертывания будет использовать параметры сортировки проекта базы данных при сравнении проекта с конечной базой данных.
Снимите флажок Блокировать добавочное развертывание при возможности потери данных.
Поскольку изолированная среда разработки будет содержать только созданные тестовые данные, потеря данных допустима.
Нажмите кнопку Готово для создания проекта базы данных и импорта в него базы данных.
Будет создан проект базы данных. Процесс может занять несколько минут.
Просмотрите сводные результаты и нажмите кнопку Готово.
В фоновом режиме Visual Studio все еще выполняет анализ схемы базы данных. В строке состояния появится сообщение, показывающее количество операций, которые необходимо завершить до полного окончания анализа схемы базы данных.
Затем нужно изучить созданный проект базы данных.
Анализ результирующего проекта
В обозревателе решений разверните узел AdvWorksSandbox, а затем дочерний узел "Объекты схемы".
Исследуйте дочерние узлы, расположенные ниже узла "Объекты схемы" в иерархии.
Обозреватель решений содержит все файлы, определяющие объекты, находящиеся в схеме базы данных, из которой они импортированы.
В меню Вид выберите команду Представление схемы базы данных.
В представлении схемы разверните узел AdvWorksSandbox.
Изучите вложенные узлы, расположенные ниже узла AdvWorksSandbox в иерархии.
В представлении схемы содержатся все объекты, определенные в файлах, отображаемых в обозревателе решений.
В обозревателе решений щелкните узел AdvWorksSandbox.
В меню Проект выберите команду Свойства AdvWorksSandbox.
На странице "Свойства" перейдите на вкладку Развертывание.
В поле Имя конечной базы данных введите AdvWorksSandbox, если это имя еще не задано.
В меню Файл выберите команду Сохранить выбранные элементы.
Каждый разработчик будет задавать строку подключения к серверу базы данных, где должна размещаться его копия базы данных.
Развертывание проекта в изолированной среде разработки
В обозревателе решений щелкните узел AdvWorksSandbox.
Если данный проект будет развернут на тот же сервер базы данных, на котором запущена исходная база данных AdventureWorks2008 или AdventureWorks2008R2, необходимо изменить имя файла во избежание конфликтов. Если вместо этого выполнить развертывание на сервер, который не содержит исходную базу данных AdventureWorks2008 или AdventureWorks2008R2, можно перейти к шагу 7.
Разверните папку Объекты схемы, затем последовательно разверните папки Объекты уровня базы данных, Хранилище и Файлы.
Появляются три файла: AdventureWorks2008_Data.sqlfile.sql, AdventureWorks2008_Log.sqlfile.sql и FileStreamDocuments.sqlfile.sql. При использовании SQL Server 2008 R2 появляются следующие файлы: AdventureWorks2008R2_Data.sqlfile.sql, AdventureWorks2008R2_Log.sqlfile.sql и FileStreamDocuments2008R2.sqlfile.sql.
Дважды щелкните файл FileStreamDocuments.sqlfile.sql.
Файл откроется в редакторе Transact-SQL.
Измените определение файла в соответствии с приведенным ниже кодом:
ALTER DATABASE [$(DatabaseName)] ADD FILE (NAME = [FileStreamDocuments], FILENAME = '$(DefaultDataPath)SandboxDocuments') TO FILEGROUP [DocumentFileStreamGroup];
При использовании AdventureWorks2008R2 вместо этого следует использовать следующее определение:
ALTER DATABASE [$(DatabaseName)] ADD FILE (NAME = [FileStreamDocuments2008R2], FILENAME = '$(DefaultDataPath)SandboxDocuments') TO FILEGROUP [Document2008R2FileStreamGroup];
В меню Файл выберите команду Сохранить все.
В меню Проект выберите команду Свойства AdvWorksSandbox.
Откроется окно "Свойства проекта".
Перейдите на вкладку Развертывание.
В списке Действие развертывания щелкните Создать скрипт развертывания (SQL) и развернуть в базе данных.
В меню Построение выберите команду Развернуть AdvWorksSandbox.
Скрипт построения создается для проекта базы данных и затем развертывается на сервере базы данных, где решено разместить изолированную среду разработки. По завершении разработки сообщение "Deployment Succeeded" выводится в окне Выходные данные.
Вы определили проект базы данных и импортировали схему из рабочей базы данных. Теперь можно поместить решение в систему управления версиями, чтобы оно стало доступно рабочей группе.
Открытие рабочей группе доступа к проекту
Добавление проекта в систему управления версиями
В обозревателе решений щелкните узел AdvWorksSandbox.
В меню Файл выберите Система управления версиями и щелкните Добавить решение в систему управления версиями.
На этом этапе вы взаимодействуете с установленным программным обеспечением системы управления версиями. В данном пошаговом руководстве описаны шаги добавления проекта в Team Foundation Server. Если нужно использовать другую систему управления версиями, замените описанные шаги эквивалентными им. Если используется Team Foundation Server, появляется диалоговое окно Подключение к Team Foundation Server.
В Подключиться к Team Foundation Server щелкните сервер, на котором находится командный проект, куда нужно добавить решение.
В Проекты группы щелкните командный проект, который нужно добавить в проект базы данных, и нажмите кнопку ОК.
Откроется диалоговое окно Добавление решения AdvWorksSandbox в систему управления версиями.
Нажмите кнопку ОК, чтобы принять значения по умолчанию.
Проект базы данных и содержащиеся в нем файлы помещены под контроль систем управления версиями. Первоначально они извлечены. Чтобы другие участники рабочей группы получили к ним доступ, их нужно вернуть.
В меню Вид выберите команду Другие окна и щелкните Ожидающие изменения.
Появится окно Ожидающие изменения.
В поле "Комментарий" введите Первоначальное создание проекта базы данных, импорт схемы и создание данных.
В окне Ожидающие изменения на панели инструментов щелкните Вернуть.
В диалоговом окне Ход возврата отобразится проект базы данных и содержащиеся в нем файлы, возвращаемые в систему управления версиями. Значки в обозревателе решений обновляются, показывая, что файлы возвращены в систему управления версиями.
Защита от РПВ. Изолированная программная среда
Методы борьбы с воздействием РПВ можно разделить не следующие классы.
1. Общие методы защиты программного обеспечения от РПВ:
1.1.контроль целостности системных областей, запускаемых прикладных программ и используемых данных;
1.2. контроль цепочек прерываний и фильтрация вызовов критических для безопасности системы прерываний;
Данные методы действенны лишь тогда, когда контрольные элементы не подвержены воздействию закладок и разрушающее воздействие входит в контролируемый класс. Так, например, система контроля над вызовом прерываний не будет отслеживать обращение на уровне портов. С другой стороны контроль целостности информации может быть обойден злоумышленником путем:
- навязывания конечного результата проверок;
- влияния на процесс считывания информации;
- изменения хеш-значений, хранящихся в общедоступных файлах.
1.3. создание безопасной и изолированной операционной среды;
1.4. предотвращение результирующего воздействия вируса или закладки (например, запись на диск только в зашифрованном виде на уровне контроллера, либо запрет записи на диск на аппаратном уровне).
2. Специализированные методы борьбы с РПВ:
2.1. поиск фрагментов кода по характерным последовательностям (сигнатурам), свойственным РПВ, либо наоборот, разрешение на выполнение или внедрение в цепочку прерываний только программ с известными сигнатурами;
2.2. поиск критических участков кода методом семантического анализа (анализ фрагментов кода на выполняемые ими функции, часто сопряженный с дисассемблированием или эмуляцией выполнения) [34].
В качестве одной из возможных эвристических методик выявления РПВ в BIOS, ассоциированных с существенно важными прерываниями, можно рассмотреть следующую [32].
Эвристическая методика выявления РПВ в BIOS
1. Выделяется группа прерываний, существенных с точки зрения обработки информации программой, относительно которой проводится защита. Обычно это прерывания int 13h (запись информации на внешние магнитные накопители прямого доступа), int 14h (обмен с RS232 портом), int 10h (обслуживание видеотерминала), а также в обязательном порядке прерывания таймера int 8h, int 1Ch и прерывания клавиатуры int 9h и int 16h.
2. Для выделенной группы прерываний определяются точки входа в ПЗУ, используя справочную информацию, либо выполняя прерывание в режиме трассировки.
3. Для выделенных адресов создаются цепочки исполняемых команд от точки входа до команды IRET - возврату управления из BIOS.
В цепочках исполняемых команд выделяются
- команды работы с портами;
- команды передачи управления;
- команды пересылки данных.
4. В цепочках исполняемых команд анализируются команды выделенных групп. Определяются:
- опасные действия первой группы: в прерываниях какого-либо класса присутствуют команды работы с недокументированными портами. Наличие таких команд, как правило, указывает на передачу информации некоторому устройству, подключенному к параллельному интерфейсу (общей шине), например, встроенной радиопередающей закладке.
- опасные действия второй группы: в прерываниях какого-либо класса присутствуют команды работы с портами, участвующие в работе другого класса прерываний;
- опасные действия третьей группы: в цепочках присутствуют команды перемещения данных из BIOS в оперативную память (кроме таблицы прерываний и RAM BIOS);
- опасные действия четвертой группы: в цепочках присутствуют команды передачи управления в оперативную память или в сегменты расширенного BIOS.
5. В случае если опасных действий, относящихся к выше представленным четырем группам, не обнаружено, аппаратно-программная среда ПЭВМ без загруженной операционной среды считается чистой (безопасной).
Защита от РПВ путем создания изолированной программной среды
Заметим, что при пустом множестве активизирующих событий для закладки потенциальные деструктивные действия с ее стороны невозможны.
Предположим, что в ПЗУ и ОС отсутствуют закладки – проверка этого проведена по некоторой методике. Пусть также пользователь работает только с программами, процесс написания и отладки которых полностью контролируется, т.е. в них также исключено наличие закладок. Такие программы называются проверенными. Потенциально злоумышленными действиями в этом случае могут быть следующие:
1. проверенные программы будут использованы на другой ПЭВМ с другим BIOS и в этих условиях могут использоваться некорректно;
2. проверенные программы будут использованы в аналогичной, но не проверенной операционной среде, в которой они также могут использоваться некорректно;
3. проверенные программы используются на проверенной ПЭВМ и в проверенной операционной среде, но запускаются еще и непроверенные программы, потенциально несущие в себе возможности НСД.
Следовательно, в этих условиях деструктивные действия закладок гарантированно невозможны, если выполняются следующие условия:
1. На ПЭВМ c проверенным BIOS установлена проверенная операционная среда.
2. Достоверно установлена неизменность ОС и BIOS для данного сеанса работы.
3. Кроме проверенных программ в данной программно-аппаратной среде не запускалось и не запускается никаких иных программ, проверенные программы перед запуском контролируются на целостность.
4. Исключен запуск проверенных программ в какой-либо иной ситуации, т.е. вне проверенной среды.
5. Условия 1 - 4 выполняются в любой момент времени для всех пользователей, аутентифицированных защитным механизмом.
При выполнении перечисленных выше условий программная среда называется изолированной (ИПС – изолированная программная среда).
Основными элементами поддержания ИПС являются контроль целостности и активности процессов.
Функционирование программ в рамках ИПС существенно ослабляет требования к базовому ПО операционной среды. ИПС контролирует активизацию процессов через операционную среду, контролирует целостность исполняемых модулей перед их запуском и разрешает инициирование процесса только при одновременном выполнении двух условий - принадлежности к разрешенным программам и неизменности программ. В таком случае, для предотвращения угроз, связанных с внедрением в операционную среду скрытых недекларированных возможностей, от базового ПО требуется только:
1. невозможность запуска программ помимо контролируемых ИПС событий;
2. отсутствие в базовом ПО возможностей влиять на среду функционирования уже запущенных программ (фактически это требование невозможности редактирования и использования оперативной памяти другого процесса).
Создание и поддержка ИПС возможна только с помощью специализированных аппаратных средств, целостность которых обеспечивается технологией производства и периодическими проверками.
Контрольные вопросы
1 Что из себы представляет ИПС?
2. Область применения ИПС?
3.От каких угроз защищает ИПС?
|