Откройте актуальную версию документа прямо сейчас
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.
Приложение Е
(справочное)
Вероятностный подход к определению полноты безопасности предварительно разработанного программного обеспечения
Е.1 Общие положения
Настоящее приложение содержит исходные руководящие материалы по использованию вероятностного подхода к определению полноты безопасности программных средств для предварительно разработанных программ на основе опыта их эксплуатации. Вероятностный подход является наиболее подходящим для оценки операционных систем, компонентов библиотек, компиляторов и других программных систем. Настоящее приложение содержит краткое описание возможностей вероятностного подхода, а также ссылки на источники с более подробным их описанием. Настоящее приложение не следует рассматривать как полное или исчерпывающее. Его следует использовать только тем специалистам, кто компетентен в статистическом анализе.
Предложенные в настоящем приложении методы могут быть также использованы для демонстрации роста уровня полноты безопасности ПО, которое некоторое время успешно эксплуатировалось. Например, ПО, созданное в соответствии с требованиями ГОСТ 34332.4 для УПБ 1, после соответствующего периода успешной работы в большом числе применений может быть пригодным для демонстрации соответствия уровню полноты безопасности УПБ 2.
Число запросов без отказов при испытании или число часов, необходимое для работы без отказов, для определения конкретного уровня полноты безопасности представлено в таблице Е.1. В таблице Е.1 также обобщены результаты, приведенные в Е.2.1 и Е.2.3.
Опыт эксплуатации может быть выражен математически, как показано в Е.2, для дополнения или замены статистического тестирования, а опыт эксплуатации, полученный из нескольких мест эксплуатации, может быть объединен (путем добавления конкретного числа обработанных запросов или часов работы в период эксплуатации), но только в случае, если:
- программная версия, подлежащая использованию в Э/Э/ПЭ СБЗС системе будет идентична версии, для которой предъявлен результат опыта ее эксплуатации;
- эксплуатационный профиль входного пространства аналогичен;
- существует эффективная система уведомлений и документирования отказов;
- справедливы принятые в Е.2 предположения.
Таблица Е.1 - Необходимая предыстория для определения уровня полноты безопасности
УПБ |
Режим работы с низкой интенсивностью запросов (вероятность отказа при выполнении планируемых функций по запросу) |
Число реальных запросов |
Режим с высокой интенсивностью запросов или с непрерывным запросом (вероятность опасного отказа в час) |
Общее число часов эксплуатации |
||
1 - = 0,99 |
1 - = 0,95 |
1 - = 0,99 |
1 - = 0,95 |
|||
УПБ 4 |
От 10 -5 до 10 -4 |
От 10 -9 до 10 -8 |
||||
УПБ 3 |
От 10 -4 до 10 -3 |
От 10 -7 до 10 -6 |
||||
УПБ 2 |
От 10 -3 до 10 -2 |
От 10 -6 до 10 -5 |
||||
УПБ 1 |
От 10 -2 до 10 -1 |
От 10 -5 до 10 -4 |
||||
Примечания 1 Величина 1 - представляет собой уровень доверия. 2 Предпосылки и описание процедур получения числовых значений в настоящей таблице см. в Е.2.1 и Е.2.3. |
Подробное описание данного метода/средства приведено в [75], [84].
Е.2 Формулы статистического тестирования и примеры их использования
Е.2.1 Простой статистический тест для режима работы с низкой интенсивностью запросов
Е.2.1.1 Исходные предпосылки:
- распределение тестовых данных равно распределению запросов при выполнении операций в режиме онлайн;
- прохождения тестов статистически не зависят друг от друга в отношении причины отказа;
- для обнаружения любых отказов, которые могут появиться, существует адекватный механизм;
- число тестовых запросов n > 100;
- во время прогона n тестовых запросов отказы отсутствуют.
Е.2.1.2 Результаты
Вероятность отказа р (на один запрос) при уровне доверия 1 - определяется из выражения:
.
Е.2.1.3 Пример
Таблица Е.2 - Вероятности отказа режима работы с низкой интенсивностью запросов
1 - |
р |
0,95 |
3/n |
0,99 |
4,6/n |
Для вероятности отказа при запросе для УПБ 3 при уровне доверия 95 % применение указанной формулы дает 30000 тестовых примеров при выполнении условий принятых предпосылок. Результаты для каждого УПБ объединены в таблице Е.1.
Е.2.2 Тестирование входного массива (предметной области) для режима работы с низкой интенсивностью запросов
Е.2.2.1 Исходные предпосылки
Единственная исходная предпосылка состоит в том, что тестируемые данные выбирают так, чтобы обеспечить случайное унифицированное распределение по входному массиву (предметной области).
Е.2.2.2 Результаты
Необходимо определить число тестов n, которые требуются, исходя из порога точности входов для тестируемой функции с низкой интенсивностью запросов (например, безопасное отключение).
Таблица Е.3 - Средние расстояния между двумя точками тестирования
Размер предметного пространства |
Среднее расстояние между двумя точками тестирования в произвольном направлении |
1 |
= 1/n |
2 |
= |
3 |
= |
k |
= |
Примечание - k может быть любым положительным целым числом. Значения 1, 2 и 3 приведены только в качестве примеров. |
Е.2.2.3 Пример
Рассмотрим безопасное отключение, которое зависит только от двух переменных А и В. Если проверкой было установлено, что пороговые значения, которые разделяют входную пару переменных А и В, определены с точностью до 1 % от диапазона измерения А или В, то число равномерно распределенных тестовых запросов, требуемых в области А и В, будет равно n = 1/ = 10 4.
Е.2.3 Простой статистический тест для режима с высокой интенсивностью запросов или в режиме с непрерывным запросом
Е.2.3.1 Исходные предпосылки:
- распределение данных такое же, как и распределение при выполнении операций в режиме онлайн;
- относительное уменьшение вероятности отсутствия отказа пропорционально продолжительности рассматриваемого интервала времени и постоянно в противном случае;
- для обнаружения любых отказов, которые могут появиться, существует адекватный механизм;
- тест выполняется в течение времени тестирования t;
- во время тестирования t никаких отказов не происходит.
Е.2.3.2 Результаты
Соотношение между интенсивностью отказов , уровнем доверия 1 - и временем тестирования t имеет вид:
.
Интенсивность отказов обратно пропорциональна среднему времени наработки на отказ (MTBF):
.
Примечание - В настоящем стандарте не делается различий между интенсивностью отказов в час и частотой отказов в час. Вероятность отказа F связана с частотой отказов f выражением
,
однако область применения настоящего стандарта охватывает частоту отказов менее 10 -5 1/ч, а для небольших значений частоты справедливо F .
Е.2.3.3 Пример
Таблица Е.4 - Вероятности отказа для режима с высокой интенсивностью запросов или для режима с непрерывным запросом
1 - |
|
0,95 |
3/t |
0,99 |
4,6/t |
Для подтверждения того, что среднее время наработки на отказ составляет по меньшей мере 10 8 ч с уровнем доверия 95 %, требуется время тестирования ч и должны быть соблюдены исходные предпосылки. Число тестов, необходимое для каждого УПБ, - в соответствии с таблицей Г.1.
Е.2.4 Полное тестирование
Программу можно рассматривать как урну, содержащую N шаров. Каждый шар представляет собой конкретное свойство программы. Шары извлекают случайно и заменяют после проверки. Полное тестирование достигается, если все шары извлечены.
Е.2.4.1 Исходные предпосылки:
- распределение тестируемых данных таково, что каждое из N свойств программы тестируется с равной вероятностью;
- тесты проводят независимо друг от друга;
- каждый появляющийся отказ обнаруживается;
- число тестовых примеров n много больше N;
- во время прогона n тестовых запросов отказы не появляются;
- каждым прогоном теста контролируется одно свойство программы (свойство программы - это то, что может быть протестировано во время одного прогона теста).
Е.2.4.2 Результаты
Вероятность тестирования всех свойств программы р определяется выражением:
или
,
где
При оценке этого выражения обычно только первые его члены имеют значение, поскольку в реальных условиях выполняется соотношение n много больше N, что делает все члены этого выражения при большом j несущественными. Это видно из таблицы Г.5.
Пример
Рассмотрим программу, которая имела несколько инсталляций в течение нескольких лет. За это время она выполнялась по меньшей мере раз. Предположим, что каждое сотое выполнение программы соответствует перечисленным выше исходным предпосылкам (см. Е.2.4.1). Поэтому для статистической оценки могут быть приняты выполнений программы. Если предположить, что 4000 тестовых прохождений программы могут выполнить исчерпывающее тестирование, считая такую оценку консервативной, то в соответствии с таблицей Г.5, вероятность того, что не все будет протестировано, составляет .
При N = 4000 значения первых членов в зависимости от n представлены в таблице Е.5.
Таблица Е.5 - Вероятность тестирования всех свойств программы
n |
p |
1 - + - ... |
|
1 - + - ... |
|
1 - + - ... |
|
1 - + - ... |
На практике такие оценки должны быть консервативными.
Подробное описание данного метода/средства приведено в [179]-[182].
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.