Теория и практика защиты программ


Исходные данные, определения и условия - часть 3


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

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

множества E представляет собой набор значений данных, необходимый для выполнения прогона программы: E=(Ei:i=1,2,...,N);

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

выполнение программы П

приводит к получению для каждого Ei

определенного значения функции F(Ei);

множество E

определяет все возможные вычисления в программе П, то есть каждому набору входных данных Ei соответствует прогон программы П, и наоборот, каждому прогону соответствует некоторый набор входных данных Ei;

наличие дефектов в программе П приводит к тому, что ей на самом деле соответствует функция F', отличная от заданной функции F;

для некоторого Ei

отклонение выхода F'(Ei), полученного в результате выполнения программы не должно превышать некоторый установленный уровень безопасности программного обеспечения S(Ei), то есть безопасность обеспечивается при соблюдении ограничения: F'(EiS(Ei).

Вопрос о том, приводит ли некоторое отклонение выхода к нарушению условия безопасности, должен решаться в каждом конкретном случае отдельно, поскольку все определяется конкретными особенностями поведения системы после нарушения ее работы.




- Начало -  - Назад -  - Вперед -