7.2.3. контрольно-испытательный стенд
7.2.3. контрольно-испытательный стенд
Одним из наиболее эффективных путей обнаружения закладок и ошибок в разрабатываемых программных средствах является создание комплексного контрольно-испытательного стенда разрабатываемой системы. Он позволяет анализировать программные средства путем подачи многократных входных воздействий на фоне изменяющихся внешних факторов, с помощью которых имитируется воздействие возможных закладок. Таким образом, контрольно-испытательный стенд может рассматриваться как детальная имитационная модель разрабатываемой системы, позволяющая обеспечить всесторонний анализ функционирования разрабатываемого программного средства в условиях воздействия закладок.
Контрольно-испытательный стенд должен отвечать следующим требованиям [19]:
1. Стенд строится как открытая система, допускающая модернизацию и наращивание возможностей.
2. Стенд должен обеспечивать адекватность структуры и информационных потоков структуре и информационным потокам реальной системы.
3. Необходимо поддерживать взаимозаменяемость программных модулей модели и реальной системы.
4. Стенд должен позволять проводить как автономные испытания модулей, так и всего программного средства в целом.
Контрольно-испытательный стенд может содержать следующие модули (рис. 11):
* модель системы, которая состоит из моделей программных модулей и программных модулей реальной системы;
* модуль конфигурации модели системы, осуществляющий регистрацию и динамическое включение программных модулей реальной системы и моделей программных модулей из соответствующих баз данных;
* база данных моделей угроз для накопления и модификации моделей угроз, представленных в формализованном виде;
* модуль формирования входных воздействий, учитывающий возможные угрозы, ограничения на входную информацию и результаты тестирования на предыдущем шаге;
* модель внешних воздействий, предназначенная для учета воздействий, внешних по отношению к моделируемой системе;
* модуль анализа результатов тестирования.
ММ модель программного модуля;
МС программный модуль реальной системы.
Рис.11. Структурная схема контрольно-испытательного
При разработке программных продуктов для обработки конфиденциальных данных готовые программы должны представляться на сертификацию в виде исходных программ на языках высокого уровня и в виде выполняемого модуля. Наличие программы на языке высокого уровня значительно упрощает процесс контроля программы на отсутствие закладок. На этом уровне программирования применяются стандартные подходы к разработке конструкций языка, как правило, не используются особенности конкретных аппаратных средств, на которых выполняется программа. При наличии транслятора, проверенного на отсутствие ошибок и закладок, из проверенной программы на языке высокого уровня легко получается выполняемый модуль, который сравнивается с представленным разработчиком выполняемым модулем. Проверка программных средств осуществляется с помощью специальных программ, которые позволяют автоматизировать анализ на ошибки и закладки. Они контролируют отсутствие скрытых входов в блоки («люков»), отсутствие тупиковых ветвей алгоритмов, выдают информацию о наличии операторов, блоков, назначение которых программе неизвестно. Особое внимание уделяется участкам программ, написанных на языках более низкого уровня, а также попыткам выполнения действий в обход операционной системы (если это допускает система программирования). Окончательное решение принимается программистом после тщательного анализа информации, полученной специальной программой контроля.
Выполняемые модули программных средств проверяются в процессе сертификации на специальных аппаратно-программных стендах, способных имитировать функционирование испытываемого программного средства на допустимом множестве входных и внешних воздействий. При контроле выполняется операция, обратная транслированию дизассемблирование. Для упрощения анализа выполняемых модулей применяются также отладчики, программы-трассировщики, которые позволяют проконтролировать последовательность событий, порядок выполнения команд.
Обсуждение Комплексная защита информации в компьютерных системах
Комментарии, рецензии и отзывы