Имя материала: Комплексная защита информации в компьютерных системах

Автор: Виктор Иванович Завгородний

7.2.3. контрольно-испытательный стенд

 

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

Контрольно-испытательный стенд должен отвечать следующим требованиям [19]:

1. Стенд строится как открытая система, допускающая модернизацию и наращивание возможностей.

2. Стенд должен обеспечивать адекватность структуры и информационных потоков структуре и информационным потокам реальной системы.

3. Необходимо поддерживать взаимозаменяемость программных модулей модели и реальной системы.

4. Стенд должен позволять проводить как автономные испытания модулей, так и всего программного средства в целом.

Контрольно-испытательный стенд может содержать следующие модули (рис. 11):

* модель системы, которая состоит из моделей программных модулей и программных модулей реальной системы;

* модуль конфигурации модели системы, осуществляющий регистрацию и динамическое включение программных модулей реальной системы и моделей программных модулей из соответствующих баз данных;

* база данных моделей угроз - для накопления и модификации моделей угроз, представленных в формализованном виде;

* модуль формирования входных воздействий, учитывающий возможные угрозы, ограничения на входную информацию и результаты тестирования на предыдущем шаге;

* модель внешних воздействий, предназначенная для учета воздействий, внешних по отношению к моделируемой системе;

* модуль анализа результатов тестирования.

 

 

ММ - модель программного модуля;

МС - программный модуль реальной системы.

 

Рис.11. Структурная схема контрольно-испытательного

 

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

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

 

Страница: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 |