Анализ информационных потоков

Помимо выполнения основной своей задачи - математически точного представления требований правил управления доступом, модель управления доступом используется в процессе разработки системы для выполнения так называемого анализа информационного потока. Анализ информационного потока - это общая технология для анализа путей утечки информации в системе (Lampson, 1973; Denning, 1983); она применима к любой модели безопасности.

Информационный поток может рассматриваться как отношение причина-следствие между двумя переменными A и B. Считается, что в любой функции, где модифицируется B и упоминается A, существует поток от переменной A к переменной B (записывается в виде A->B), если какая-либо информация о старом значении A может быть получена путем анализа нового значения B.

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

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

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

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

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

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

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

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