Информационно-безопасные системы. Анализ проблемы: Учебное пособие, страница 37

k = М*l,(9.3)

n = 2n- l,(9.4)

n = k + m.(9.5)

Используя терминологию теории кодирования, можно сказать, что k - длина информационного вектора si , а n - длина кодового вектора fi.

1 вариант. Эталонные остатки rэki хранятся отдельно от последовательностей si в некотором специально выделенном сегменте памяти. Для контроля к последовательности si, длины k приписывается эталонный остаток rэki и полученная последователь­ность fi делится на g. Остаток rni сравнивается с нулем:

- если rni, = 0, то считают, что несанкционированная запись отсутствует, если rni≠0, то несанкционированная запись имеется.

Время контроля в этом варианте пропорционально длине кодового вектораfi т.е. n.

2 вариант. Эталонные остатки rэki хранятся в специально выделенном сегменте памяти, как и в первом варианте контроля. Для контроля последовательность si, делит­ся на g и полученный остаток rki сравнивается с эталонным остатком rэki:

- если rki  + rэki = 0, то считают, что несанкционированная запись отсутствует,

- еслиrki +rэki ≠ 0, то несанкционированная запись имеется. Время контроля в этом варианте пропорционально длине k информационной последовательности si.

3 вариант. Эталонные остатки хранятся отдельно от контролируемых последовательностей si вне памяти ЭВМ, например, на дискете. При контроле эталонный остаток rэki приписывается к s, , полученная последовательность fi делится на g и остаток rni сравнивается с нулем: если rni = 0 , то считают, что несанкционированная запись отсутствует, если rni ≠ 0, то несанкционированная запись имеется.

Время контроля для этого варианта больше, чем первых двух, так как на запись эталонных остатков в память ЭВМ требуется дополнительное время. Далее для осуществления контроля требуется разделить последовательности длины n каждая на g, как и в первом варианте контроля.

4 вариант. Эталонные остатки хранятся вне памяти ЭВМ, как и в третьем варианте. Перед началом контроля эти остатки переписываются в память ЭВМ. В процессе кон­троля последовательность si делится на g и полученный остаток rki сравнивается с rэki: если rki +rэki = 0то считают, что несанкционированная запись отсутствует;  если rki +rэki ≠ 0, то несанкционированная запись имеется.

По времени контроля этот вариант уступает первым двум, но требует несколько меньше времени , чем третий, поскольку k < n.

9.3. Достоверность результатов контроля

Основные идеи сигнатурного анализа описаны в работе [1]. Оценки достоверности сигнатурного анализа приведены в работах [2, 3, 4, б], причем в работе [2] эта оценка получена с использованием полной таблицы соответствия, которые достаточно подроб­но описаны в работе [5]. Здесь будет приведена оценка достоверности обнаружения не­санкционированных записей применительно к рассмотренным в работе вариантам кон­троля.

Достоверность контроля программ можно оценивать при помощи двух коэффици­ентов: γно - доля необнаруживаемых ошибок d - доля обнаруживаемых ошибок. До­стоверностью контроля называют обычно коэффициент d.

Найдем коэффициенты γно и d для первого варианта контроля. Эти коэффициенты можно найти, использовав для этой цели свойства полной таблицы соответствия (ПТС).

К числу основных свойств ПТС относятся следующие:

1.  ПТС изоморфна таблице смежных классов группового линейного кода. В ПТС записывается отображение множества всех ошибок на множество всех возможных про­верочных чисел.

2.  В каждой строке ПТС записано 2k ошибок.

3.  ПТС делит множество всех 2n ошибок в n - разрядном кодовом векторе на два подмножества:

-  подмножество необнаруживаемых ошибок, записанных в первой строке ПТС, отображаемых на проверочное (n - k)- разрядное число 0 (00...0);

-  подмножество всех обнаруживаемых ошибок, которые записаны во всех остальных строках ПТС и которые отображаются на все ненулевые проверочные числа группами по 2k ошибок.

Число строк ПТС равно 2 m = 2 n - k и так как в каждой строке записано 2k оши­бок, то в ПТС записаны все 2n возможных ошибок. Ошибкам первой строки соответ­ствует проверочное число 0 и это же число соответствует событию отсутствия ошибок в передаваемом кодовом векторе, поэтому все ошибки первой строки не обнаруживаются.