поиск по сайту
Проблемы тестирования СЗИ, функционирующих до старта ОС

Проблемы тестирования СЗИ, функционирующих до старта ОС

КУЗНЕЦОВ А. В., БОРИСОВА Т.М.
РОССИЯ, МОСКВА, ОКБ САПР

В настоящее время при разработке средств защиты информации (СЗИ) производители все больше внимания уделяют их тестированию. Тестирование стало неотъемлемой частью общего процесса разработки, без которого не может быть выполнен выпуск продукта «в свет». Если говорить о тестировании программных СЗИ, то, как правило, оно выполняется в соответствии со всеми правилами тестирования программного обеспечения: проводится функциональное, нефункциональное тестирование и тестирование, связанное с изменениями. Однако существуют еще и программно-аппаратные СЗИ, которые, в свою очередь, состоят из программного обеспечения (ПО) и аппаратной базы, реализующей необходимую аппаратную функциональность. Естественно, такие СЗИ также необходимо тестировать, но уже не просто, как программное обеспечение (программное СЗИ), а с учетом наличия аппаратной составляющей.

Программно-аппаратные СЗИ можно разделить на две группы:

  • СЗИ, функционирующие до момента загрузки операционной системы (ОС);
  • СЗИ, функционирующие в ОС.

В данной статье мы рассмотрим проблемы тестирования СЗИ первой группы — функционирующие до старта ОС, и не будем рассматривать тестирование СЗИ второй группы. Это связано с тем, что тестирование СЗИ, функционирующих в ОС, в основном сводится к тестированию, аналогичному по своему составу и способам тестирования, тестированию программных СЗИ (естественно, с учетом наличия и особенностей аппаратной базы).Как правило, СЗИ, функционирующие до старта ОС, представляют собой аппаратный модуль, подключаемый в средство вычислительной техники (СВТ) и перехватывающий на себя управление до момента загрузки ОС. Примером такого СЗИ является средство защиты информации от несанкционированного доступа (НСД) «Аккорд-АМДЗ».

СЗИ НСД «Аккорд-АМДЗ» — это аппаратный модуль доверенной загрузки (АМДЗ) для IBM-совместимых ПК — серверов и рабочих станций локальной сети, обеспечивающий защиту устройств и информационных ресурсов от несанкционированного доступа.

Принцип работы СЗИ НСД «Аккорд-АМДЗ» следующий: контроллер перехватывает управление сразу после выполнения штатного BIOS ПК и позволяет выполнить дальнейшую загрузку ОС только после прохождения ряда контрольных процедур, а именно:

  • идентификация/аутентификация пользователя;
  • проверка целостности технических и программных средств ПК (с использованием механизма пошагового контроля целостности);

Кроме этого «Аккорд-АМДЗ» позволяет выполнять загрузку различных ОС только с заранее определенных постоянных носителей информации (например, только с жесткого диска). Таким образом, обеспечивается доверенная загрузка ОС.

Попробуем применить существующие виды тестирования программного обеспечения (функциональные, нефункциональные и связанные с изменениями) к тестированию СЗИ, функционирующих до старта ОС. Рассмотрим аспект тестирования таких СЗИ с точки зрения автоматизации этого процесса. В этом случае можно выделить:

  • ручное тестирование — все действия выполняются тестировщиком;
  • автоматизированное тестирование — для выполнения тестирования применяются специализированные сторонние программные средства;
  • полуавтомтизированное тестирование — часть проверок выполняется специализированными сторонними программными средствами, а часть — вручную.

Тестирование программно-аппаратных СЗИ (в нашем случае — «Аккорд-АМДЗ»), выполняемое вручную, проводится по заранее разработанной тестировщиком программе и методике тестирования (ПМИ). Однако, как и при тестировании любого другого продукта, существует необходимость автоматизации данных действий. При автоматизированном тестировании, как правило, используются скрипты (тесты, разработанные при помощи специальных программ), эмулирующие действия пользователя. Однако в данном случае, так как эти скрипты могут функционировать только в операционной системе, их использование для тестирования СЗИ, функционирующих до старта ОС, является невозможным. Это одна из главных проблем тестирования СЗИ, функционирующих до старта ОС.

Попробуем понять, можно ли в данном случае хотя бы частично автоматизировать действия тестировщика. Для этого разделим тестирование рассматриваемых СЗИ на две части: тестирование исполняемого кода СЗИ отдельно от аппаратной составляющей (например, в среде хостовой ОС) и тестирование конечного функционала СЗИ, доступного пользователю (то есть исполняемого кода вместе с аппаратной составляющей).

Исполняемый код СЗИ может быть запущен на выполнение не в среде ОС аппаратного устройства (в нашем случае контроллера Аккорд), а в среде аналогичной ОС, установленной на СВТ. Для исполнения этого кода не в операционной системе, а в виртуальной машине требуется возможность «пробрасывания» аппаратного компонента в конкретной среде виртуализации, что часто бывает невозможно (в нашем случае это невозможно, за счет того, что среды виртуализации не позволяют «пробросить» PCI/PCI-Express-устройство. Таким образом, в рамках ОС СВТ можно автоматизировать процесс проверки корректности исполнения различных модулей, провести нагрузочное и стрессовое тестирование, проверить корректную работу интерфейса. Но в данном случае не будет ответа на главный вопрос: как будет работать финальный продукт, ведь весь этот код должен также корректно выполняться и в среде ОС контроллера Аккорд. Таким образом, дополнительно необходимо выполнять ручное тестирование по ПМИ, которое также можно автоматизировать, но лишь частично. К тому же не всегда получится отслеживать результаты всевозможных проверок. В случае тестирования отдельно исполняемого кода СЗИ в ОС СВТ мы можем получить некоторый результат (код возврата, код ошибки и т.п.), на основе которого можно сказать об успешности проверки. В случае же аппаратного компонента такой результат получить нельзя за счет того, что все выполняется внутри контроллера и не передается наружу. Единственное, что удается отследить при автоматизации тестирования всего СЗИ — корректность отработки функционала контроллера (вообще всего, без конкретики того, что могло отработать не так), причем в случае неуспешной отработки все равно требуется ручное вмешательство (так как ПК, например, может зависнуть и т.п.).

На основании этого можно сделать вывод, что в случае с программно-аппаратными СЗИ, функционирующими до старта ОС, можно использовать только полуавтоматизированное тестирование.

Отдельно стоит выделить вопрос совместимости СЗИ с оборудованием используемого пользователем ПК. Тестирование СЗИ, функционирующего до старта ОС, как правило, выполняется на одном или нескольких ПК, то есть в некой абстрактной «песочнице», которая не включает все возможные варианты СВТ, представленные на современном рынке. А поскольку речь идет о программно-аппаратном СЗИ, включающем аппаратную часть (контроллер Аккорд), то вполне возможны несовместимость с различным СВТ по питанию, поддержке работы сторонних периферийных устройств и т.п. К примеру, перехват управления контроллером «Аккорд-АМДЗ» является аппаратно зависимым и зависит от реализации BIOS, UEFI и различных прерываний. В связи с этим, по результатам проведенного тестирования (в абстрактной «песочнице») нельзя судить о корректности работы рассматриваемого СЗИ вообще на любом оборудовании, которое может использовать пользователь. А перед внедрением СЗИ пользователю предварительно нужно запросить информацию о совместимости у производителя данного СЗИ и, возможно, предоставить свое оборудование для проверки.

Таким образом, можно сделать вывод, что при тестировании СЗИ, функционирующих до старта ОС, существует ряд проблем, которых нельзя встретить при проверке программных СЗИ, а также программно-аппаратных СЗИ, функционирующих в ОС. Это обусловлено тем, что тестирование аппаратной компоненты без возможности доступа к ее функциональности из ОС достаточно затруднительно. Также при тестировании таких СЗИ, как «Аккорд-АМДЗ», возникает проблема возможности проверки совместимости с многообразием существующих СВТ, так как провести тестирование совместимости на всем существующем оборудовании практически невозможно.


ФорумФорум
Форум ОКБ САПР
ОбучениеОбучение
Кафедра «Защита информации» ФРТК МФТИ и собственные курсы стажировок по нашей продукции.