Структура и принципы построения
На современном уровне развития информационных технологий создания сложного ПО КС практическая реализация и использование дополнительных методик и средств комплексного контроля технологической безопасности невозможна без создания экспериментального испытательного стенда.
Целью формирования испытательного стенда контроля технологической безопасности ПО является обеспечение заблаговременного обнаружения и ликвидации преднамеренных и непреднамеренных дефектов в разрабатываемых программах. Технологическая проверка программных средств организуется, как правило, в среде локальной вычислительной сети (ЛВС), в рамках которой имитируются реальные условия их применения и одновременно реализуется тестовый контроль посредством объединения отдельных подсистем через протоколы высокого уровня.
Испытательный стенд должен удовлетворять следующим требованиям:
· обеспечивать аппаратно-программную поддержку применения экспертных, аналитических, натурных и имитационных методов тестирования программ на наличие в них закладок;
· обеспечивать проведение всестороннего анализа работоспособности общесистемного и специального программного обеспечения, инструментальных средств разработки программ в условиях возможного проявления сбоев и разрушающих воздействий;
· предоставлять возможность варьирования различными значениями входного информационного вектора;
· имитировать воздействие различных внешних факторов, создавая, таким образом, условия активизации возможных закладок;
· обеспечивать функционирование широкого класса программных комплексов с возможностью модификации базовой структуры стенда с учетом специфики применения КС, программное обеспечение которой подвергается проверке;
· осуществлять настройку и реконфигурацию предполагаемой модели процесса функционирования программ;
· предоставлять возможность управления тестовым программным обеспечением и моделями угроз;
· обеспечивать взаимозаменяемость отдельных элементов стенда и расширение его новыми компонентами;
· предоставлять значительные по объему вычислительные ресурсы, поддерживать стандартные интерфейсы и протоколы обмена в сетевой программно-технической структуре;
· обеспечивать диспетчеризацию, управление и администрирование информационно-вычислительным процессом в сети ПЭВМ;
· осуществлять сбор, накопление и каталогизацию больших объемов информации о преднамеренных и непреднамеренных дефектах;
· получать исходные данные для подготовки спецификаций и сертификата качества на вновь создаваемые программные изделия.
Анализ существующих контрольно-испытательных стендов показывает, что они предназначены для автономной или комплексной отладки программных комплексов с целью их отладки и выявления незлонамеренных ошибок разработчиков и могут служить основой для создания стенда контроля технологической безопасности ПО. Однако структуры подобных стендов, как правило, не включают в свой состав подсистемы для обнаружения, уничтожения и устранения последствий преднамеренных дефектов в программах.
www.kiev-security.org.ua BEST rus DOC FOR FULL SECURITY |
1. Модульность построения, позволяющую обеспечить гибкую интеграцию и функциональную декомпозицию программно-аппаратных элементов стенда, формировать унифицированные структурные элементы, а также проводить выборочный и комплексный анализ и тестирование программ на предмет наличия закладок.
2. Структурная универсальность, означающая решение разнообразных задач по выявлению закладок в разнотипном ПО на основе единых средств стенда.
3. «Настраиваемость», под которой подразумевается обеспечение возможности испытаний и отладки программ различных предметных областей, а также гибкость использования информационно согласованных штатных средств стенда для различных условий тестирования.
4. Расширяемость и открытость, означающие возможность дальнейшего развития и модификации стенда, в том числе независимых относительно отдельных его элементов.
5. Унифицируемость, означающая единство среды испытаний, общность средств и протоколов их взаимодействия для всех режимов тестирования и видов объектов контроля.
6. Защищенность, под которой понимается изолированность штатных программно-аппаратной среды стенда от деструктивных воздействий со стороны испытываемых программ.
Исходя из предложенных выше принципов, структура испытательного стенда контроля программного обеспечения на технологическую безопасность, может состоять из следующих основных элементов:
· сектора макетов комплексов программ КС;
· автоматизированного рабочего места (АРМ) обнаружения и ликвидации дефектов;
· АРМ экспертного тестирования;
· сектора имитации моделей информационных угроз;
· сектора планирования и анализа результатов тестового контроля;
· сектора проектного анализа объектов контроля безопасности;
· сервера эталонов КП;
· сервера тестов;
· АРМ администратора стенда.
Сектор макетов комплексов программ КС обеспечивает среду для размещения программных средств в интересах проведения автономных и комплексных испытаний их функционирования в условиях, близких к реальным в режимах одномашинной отладки программных модулей, а также отработки методов сетевого взаимодействия компонентов КП.
АРМ обнаружения и ликвидации дефектов представляет собой программно-аппаратную реализацию средств динамического тестирования готового программного изделия в экстремальных режимах эксплуатации с фиксацией любых отклонений от штатного функционирования и устранением выявленных дефектов. Данное автоматизированное рабочее место в процессе своей работы выполняет роль концентратора, который объединяет потоки информации от абонентов сети стенда, и коммутатора, обеспечивающего логическую коммутацию информационных запросов к серверам и другим абонентам ЛВС.
АРМ экспертного тестирования предназначено для статического тестирования вероятностных характеристик наличия закладок в программах и оценки показателей их качества независимыми экспертами по специальным методикам и в соответствии с ГОСТ 28195-89.
Сектор имитации моделей информационных угроз включает в свой состав имитатор разрушающих воздействий и критических нагрузок, а также сервер моделей угроз. Такой состав сектора обеспечивает не только выявление закладок в программах, но и проверку их работоспособности совместно со своими средствами защиты при имитации разрушающих программных воздействий, значительных информационных нагрузок и ресурсных ограничений.
Сектор планирования и анализа результатов тестового контроля является интегрированной системой планирования экспериментальных исследований на стенде, в том числе управления вычислительными ресурсами, анализа результатов тестового контроля технологической безопасности ПО, генерации отчетных материалов и отображения их с применением компьютерной графики.
Важнейшей функцией средств анализа результатов является подготовка исходных данных и формирование сертификата качества и безопасности программного изделия на основе спецификаций, прошедших аудиторскую проверку.
Сектор проектного анализа объектов контроля безопасности осуществляет контроль соответствия структуры разработанного программного комплекса и его прогнозируемых показателей проектным материалам на него. Ввиду того, что структурные ошибки этапа проектирования являются доминирующими в общем множестве ошибок и приводят к наиболее тяжелым последствиям, считается целесообразным наличие рассматриваемого сектора в составе стенда. Кроме того, на основе сравнения характеристик вновь создаваемого программного комплекса с информацией об уже реализованных средствах, находящейся в сервере эталонов КП, можно решить вопрос контроля выполнения требований по стандартизации, унификации и типизации структур, модулей и интерфейсов ПО КС.
В идеале, формы усовершенствования макетов комплексов программ должны быть следующими: отдельные программные модули, схемный и функциональный эквивалент, прототип комплекса, отработанный комплекс. При соблюдении такой взаимосвязанной последовательности преобразований макета, впервые разрабатываемого программного комплекса, появляется возможность в конечном продукте аккумулировать весь позитивный опыт разработки и контроля безопасности ПО.
По некоторым оценкам при повторном использовании программы-макета для создания комплекса программ, аналогичного первоначальному, результативность промышленного производства прикладных программ повышается более чем в 10 раз.
Серверы эталонов КП и тестов, соответственно, обеспечивают хранение, накопление и выдачу по запросам «клиентов» сети стенда информации и «упакованных» тестов в интересах поддержания целенаправленного процесса технологического контроля программ.
АРМ администратора стенда реализует следующие общесистемные функции:
· многоуровневая защита и изоляция элементов сети стенда и циркулирующей в нем информации от несанкционированного доступа как от абонентов сети, так и тестируемого ПО;
· управление сетевым доступом;
· конфигурирование и реконфигурирование архитектуры стенда;
· координация и диспетчеризация работы стенда, восстановление процесса его функционирования в случае возникновения отказов и сбоев;
· защита от компьютерных вирусов и проведение необходимых профилактических процедур.
Предполагается, что на самом стенде используется только категорированная вычислительная техника и сертифицированное общее и специальное программное обеспечение, производится контроль операционной среды, исключен запуск непроверенных программ вне установленной технологии контроля разрабатываемых программных средств.
В качестве базовых средств реализации предложенного испытательного стенда контроля ПО на технологическую безопасность целесообразно использовать программно-аппаратные платформы, которые по своим функциональным возможностям и вычислительной мощности превосходят как минимум на порядок (если такое возможно) тестируемые программные и/или аппаратные средства. К основным достоинствам операционной среды для такого стенда в сравнении с другими операционными системами можно отнести следующие:
· высокое быстродействие, качество и значительный объем средств тестирования и разработки ПО;
· наличие встроенных высокоуровневых протоколов обмена, обеспечивающих взаимодействие «клиент-сервер»;
· распространенность, тиражируемость, надежность и отработанность пользователями российского рынка программных продуктов фирмы разработчика (например, фирмы Microsoft);
· наличие возможности надстройки средств ОС индивидуальными средствами защиты от несанкционированного доступа,
· приемлемая стоимость;
· экспериментально проверенная согласованность по протоколам обмена с другими распространенными ОС;
Таким образом, предложенные принципы построения и структура испытательного стенда контроля программного обеспечения на технологическую безопасность ориентированы, в отличие от существующих структур стенда, на комплексное экспертно-аналитическое, имитационное и натурное тестирование ПО КС с целью гарантированного выявления преднамеренных и непреднамеренных дефектов в программах на основе использования современной сетевой технологии обработки информации «клиент-сервер».