поиск по сайту
Коммутатор USB-канала как техническое средство для тестирования программно-аппаратных СЗИ

Коммутатор USB-канала как техническое средство для тестирования программно-аппаратных СЗИ

Т. М. Каннер

Закрытое акционерное общество «ОКБ САПР», Москва, Россия

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

Ключевые слова: автоматизированное тестирование, «мобильные» программно-аппаратные СЗИ, коммутатор USB-канала.

В настоящее время информационные системы создаются и развиваются очень быстро за счет использования эффективных инструментальных средств, в связи с этим необходимо максимально сократить время, затрачиваемое на разработку СЗИ, выделив этапы, которые можно полностью автоматизировать или автоматизировать при определенных условиях. К таким этапам относятся тестирование, верификация и исправление найденных ошибок. Эти этапы неоднократно повторяются в процессе разработки СЗИ. Сокращения временных затрат на разработку СЗИ можно достичь за счет автоматизации процесса тестирования.

Для программных СЗИ существует большое количество разнообразных средств автоматизации тестирования [1], применение которых может быть затруднено для программно-аппаратных СЗИ из-за наличия аппаратного компонента и особенностей его функционирования [2–4].

Аппаратный компонент может быть «мобильным» – отчуждаемым от средства вычислительной техники (СВТ) в течение эксплуатации программно-аппаратного СЗИ . В этом случае при проведении тестирования СЗИ его иногда необходимо переподключать к СВТ, то есть физически отключать, затем подключать к соответствующему интерфейсу. Автоматизировать процесс тестирования таких СЗИ затруднительно без использования дополнительного технического средства, учитывающего особенности функционирования аппаратной компоненты СЗИ [5]. Такое техническое средство должно эмулировать физическое отключение и подключение СЗИ к определенному интерфейсу СВТ автоматизированным способом.

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

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

В соответствии с изложенными принципами в ОКБ САПР был разработан так называемый коммутатор USB-канала (внешний вид изображен на Рис. 1), предназначенный для автоматизации тестирования «мобильных» СЗИ, подключаемых к USB-интерфейсу СВТ.

Рисунок 1: Коммутатор USB-канала с подключенным коммутируемым СЗИ – ПСКЗИ ШИПКА

Данный программно-аппаратный комплекс представляет собой:

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

Такое техническое средство способно физически прерывать питание различных подключаемых к нему USB-устройств (например, ПСКЗИ ШИПКА и СН «Секрет» производства ОКБ САПР [6, 7]) без их физического отключения/переподключения.

Коммутатор USB-канала предназначен для выполнения следующих функций:

  1. управляемое переподключение USB-устройств в процессе их автоматизированного тестирования (то есть коммутатор USB-канала используется как техническое средство тестирования);
  2. управляемая блокировка доступа к USB-каналу (коммутатор USB-канала – как компонент СЗИ, реализующий блокировку запрещенных USB-устройств и позволяющий осуществлять доступ к разрешенным USB-устройствам).

Функционально коммутатор USB-канала состоит из следующих компонентов:

  • аппаратный компонент c внутренним ПО (firmware), запускающимся при поступлении питания и выполняющим основной функционал программно-аппаратного комплекса;
  • программный компонент (внешнее ПО), состоящий из:
    • библиотеки для встраивания и использования комплекса в стороннем ПО;
    • утилиты командной строки для выполнения коммутации USB-устройств (с использованием библиотеки).

Коммутация USB-канала обеспечивается синхронным включением и выключением мультиплексора линий данных и питания. Команды между внешним и внутренним ПО передаются путем обмена сообщениями специального формата по управляющему каналу данных.

С использованием библиотеки для встраивания комплекса в стороннее ПО или работающей на ее основе утилиты командной строки можно подать следующие команды аппаратному компоненту:

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

Программный интерфейс коммутатора USB-канала предоставляет следующий набор функций:

  • std::list<std::string> US_Enumerate();
  • std::string US_ON(std::string usbSwitcher);
  • std::string US_OFF(std::string usbSwitcher).

Где:

  • usbSwitcher – строка (из списка, возвращаемого US_Enumerate()), идентифицирующая коммутатор USB-канала, которому передается команда (вида «OKB SAPR USB Switcher X», где X – номер подключенного к СВТ коммутатора, начиная с «0»);
  • US_Enumerate – функция, осуществляющая поиск и вывод списка найденных и доступных в данный момент коммутаторов USB-канала (либо пустой список – в случае отсутствия подключенных к СВТ коммутаторов);
  • US_ON – функция, передающая команду на включение передачи данных и питания устройств, подключенных к коммутатору USB-канала (в случае корректного завершения работы возвращает «SUCCESS», иначе – генерируется исключение типа std:string с подробным описанием ошибки);
  • US_OFF – функция, передающая команду на отключение передачи данных и питания устройств, подключенных к коммутатору USB-канала (в случае корректного завершения работы возвращает «SUCCESS», иначе – генерируется исключение типа std:string с подробным описанием ошибки).

При использовании коммутатора USB-канала с помощью утилиты командной строки (USBSwitсherConsole.exe) необходимо передавать на вход следующие параметры:

  • list – для вывода списка доступных коммутаторов USB-канала (то есть реализуется выполнение функции US_Enumerate из библиотеки встраивания и использования комплекса в стороннем ПО);
  • on <switcherName> – для включения передачи данных и питания устройств, подключенных к соответствующему коммутатору (то есть реализуется выполнение функции US_ON из библиотеки встраивания и использования комплекса в стороннем ПО). Без указания <switcherName> команда отправляется на первый доступный коммутатор;
  • off <switcherName> – для отключения передачи данных и питания устройств, подключенных к соответствующему коммутатору (то есть реализуется выполнение функции US_OFF из библиотеки встраивания и использования комплекса в стороннем ПО). Без указания <switcherName> команда отправляется на первый доступный коммутатор.

Пример работы утилиты командной строки (USBSwitсherConsole.exe), а именно – вывод списка доступных коммутаторов, включение и отключение передачи данных и питания, изображен на Рис. 2.

Рисунок 2: Пример работы утилиты командной строки коммутатора USB-канала

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

СПИСОК ЛИТЕРАТУРЫ

  1. Каннер Т. М., Обломова А. И. О выборе инструмента автоматизации тестирования для программно-аппаратных СЗИ // Вопросы защиты информации. Научно-практический журнал, М., 2014. №4. С. 34-36
  2. Каннер (Борисова) Т. М., Кузнецов А. В. Проблемы тестирования СЗИ, функционирующих до старта ОС // Комплексная защита информации. Электроника инфо. Материалы XVIII Международной конференции 21–24 мая 2013 года, Брест (Республика Беларусь). 2013. С. 114-115
  3. Каннер (Борисова) Т. М., Обломова А. И. Способы автоматизации тестирования СЗИ, функционирующих в ОС, на примере ПСКЗИ ШИПКА // Комплексная защита информации. Электроника инфо. Материалы Электроника инфо. Материалы XVIII Международной конференции 21–24 мая 2013 года, Брест (Республика Беларусь). 2013. С. 117-118
  4. Каннер Т. М., Куваева К. А. Формирование подхода к автоматизации тестирования СЗИ, в конструктив которых входит флеш-память, функционирующих в ОС // Вопросы защиты информации. Научно-практический журнал. М., 2014. №4. С. 52-54
  5. Каннер Т. М. Применимость методов тестирования ПО к программно-аппаратным СЗИ // Вопросы защиты информации. М., 2015. №1. C. 30-39
  6. Специальный съемный носитель информации. Патент на полезную модель № 94751. 27.05.2010, бюл. №15.
  7. Мобильное устройство защиты информации. Патент на полезную модель № 83862. 20.06.2009, бюл. № 17.

Метки статьи:
тестирование USB
ФорумФорум
Форум ОКБ САПР
Вопросы специалистовВопросы специалистов
Вопросы, которые нам присылают, и наши ответы на них