В модели приватности субъект может получить доступ к объекту в том случае, если цель его/её текущей задачи содержится в наборе целей, для которых получены данные объектного класса. Следующий сценарий атаки (в пределах больницы), приведённый на схеме 1, допускает существование незаконного потока информации.
Субъект выполняя задачу T1 может читать информацию содержащуюся в объекте O1 и записывать важные данные из O1 в O2. Вследствие этого, другой субъект, выполняющий T2 (с T-Purpose AD), имеет возможность прочитать данные из O1 (с O-Purposes(class(O1) = {MT}), записанные в О2. Это является нарушением принципа взаимосвязанности целей!
В частности, должна быть предотвращена возможность прочтения субъектом объекта личных данных О1 (с O-Purposes(Class(O1)) I` P) и их запись в объект не личных данных О2 (с O-Purposes(Class(O2)) = P).
Можно избежать возникновения незаконного информационного потока, если обеспечиваются следующие условия:
В любом состоянии, если субъект Si имеет одновременный доступ на чтение к объекту О1 и доступ на запись или дополнение к объекту О2, то O-Purposes = (class (O1)) E O-Purposes (class (O2)).
Для соответствия этим условиям в управлении доступом или в сертификации процедуры трансформации программ возможно использование механизма контроля информационного потока.
Простейший механизм контроля потока может быть интегрирован в систему управления доступом операционной системы. Функция Input-Purposes выражена следующим образом: S -> 2P, где Input-Purposes(Si) является набором целей для тех данных, которые могут быть прочитаны Si. Изначально, после создания процесса, Input-Purpose (Si) равен P. Если Si получает доступ на чтение к объекту Oj, то Input-Purposes(Si)*, в новом системном состоянии, принимает значение Input-Purpose (Si) г O-Purposes (class (Oj)).
Если допустить, что Si может не производить запись в объект, полученный с целью не входящей в Input-Purposes (Si), то тем самым возможно предотвратить возникновение незаконного информационного потока. Следующая информация инварианта потока должна помочь избежать незаконного информационного потока:
Инвариант управления незаконным информационным потоком:
" Si: S, Oj:O, x н {write, append} : (Si, Oj, x) н CA => O-Purposes (class (Oj)) м Input-Purposes (Si).
"Секрето-ориентированное состояние" является системным состоянием, соответствующим четырём инвариантам секретности, с 1 по 4, точно так же, как инвариант информационного потока. Последовательность состояний называется "секрето-ориентированной последовательностью состояний", если каждое состояние в последовательности состояний является секрето-ориентированным и все последующие состояния последовательности соответствуют четырем ограничениям секретности 1-4.