Create object oтр of type η;
Enter {"own", "read","write","execute"} into rs2, oтр ; end if
if {"read","write"} ⊆ rs1,o2 then
Enter {"read","write","execute"} into rs1, oтр ; end if end α1
В команде α1 дочерним типом является тип η по отношению к типам a, u и η, входящим в тело команды. Поэтому в результате перехода системы в новое состояние по команде α1 в Графе отношений наследственности появляются следующие дуги –
(a,η), (u,η) и (η,η).
2-й шаг. Доверенный субъект s1 запускает троянскую программу oтр, которая автоматически приобретает его права доступа. Command "запустить файл" (s1,oтр):
α2(s1:a, sтр:η, o1:ν, o2:η, o3:ν, oтр:η): if {"read","write","execute"} ⊆ rs1, oтр then
Create subject sтр of type a;
Enter {"read","write","execute"} into rsтр, o2; end if
if {"own", "read","write","execute"} ⊆ rs1,o1 and {"own", "read","write","execute"} ⊆ rs1, o3 then
Enter {"read","write","execute"} into rsтр, o1; Enter {"read","write","execute"} into rsтр, o3; end if end α2
В команде α2 дочерним типом является тип a по отношению к типам a, η, u и ν, входящим в тело команды. Поэтому в результате перехода системы в новое состояние по команде α2 в Графе отношений наследственности появляются следующие дуги – (a,a), (η,a), (u,a) и
(ν,a).
Следует заметить, что уже на данном шаге в Графе отношений наследственности появляется цикл длиною два - (a→η), отражающий угрозу переноса в объекты несекретного типа η информации от доверенного пользователя s1.
3-й шаг. На основе скрытых (недекларируемых) возможностей троянская программа sтр типа a копирует содержимое секретного файла o3 типа ν в несекретный каталог o2 типа η, обеспечивая возможность недоверенному пользователю s2 типа u ознакомится с секретной информацией типа ν, прямо ему недоступной.
α3(sтр:a, o3:ν, o2:η, o':ν):
if "read" ∈ rsтр,o3 and "write" ∈ rsтр, o2 then
Create object o' of type ν ;
Enter {"own", "read","write","execute"} into rsтр, o' ;
Enter "read" into rs2,o1;
Read (sтр of type a, o3 of type ν); Write (sтр of type a, o' of type ν); end if
Destroy subject sтр of type a;
end α3
В команде α3 дочерним типом является тип ν по отношению к типам a, η, и ν, входящим в тело команды. Поэтому в результате перехода системы в новое состояние по команде α3 в Графе отношений наследственности появляются следующие дуги – (a,ν), (η,ν) и (ν,ν).
На графе отношений наследственности появляется еще два цикла, длиной 2 - (a→ν→ a), и диной 3 - (a→η→ν→ a).
Задача № 2.3.
В системе, функционирующей на основе модели с типизованной матрицей доступа TAM и по условиям задачи 2.2, предложить возможное разрешение проблемы атак троянским конем на основе ограничений на команды переходов по соотношению дочерних и родительских типов. Дайте физическое обоснование решения и подтвердите его на Графе отношений наследственности.
Решение.
Возможны два варианта.
1-й вариант.
Вводится запрет на команды переходов αaη в которых тип η (no secret) является дочерним для типа a (admin).
Э то означает, что если при переходе в новое состояние создается объект типа η, то в команде перехода αaη не могут быть задействованы субъекты типа a. Тем самым злоумышленник не может, создавая несекретный объект типа η, одновременно давать на него права доступа доверенному пользователю типа a.
Таким образом, вторая часть команды α1 невозможна.
На Графе отношении наследственности такие ограничения на первом шаге приведут к редукции дуги (a,η), что, в свою очередь устраняет возможность образования цикла (a→ν→ a).
2-й вариант.
Вводится запрет на команды переходов αην в которых тип ν является дочерним для типа η.
Э то означает, что если при переходе в новое состояние создается секретный объект типа ν, то при этом в команде перехода αην не могут быть задействованы несекретные сущности типа η. Тем самым создание секретного файла типа ν в несекретном каталоге типа η невозможно.
Таким образом, команда α3 невозможна.
На Графе отношений наследственности такие ограничения приводят к редукции дуги (η,ν), что, в свою очередь устраняет возможность образования цикла (a→η→ν→ a).
Do'stlaringiz bilan baham: |