=Paper= {{Paper |id=Vol-1732/paper5 |storemode=property |title= О множествах наборов прав в системах безопасности с матрицей доступа (Some Properties of Sets of Rights in Access Matrix Models of Security Systems) |pdfUrl=https://ceur-ws.org/Vol-1732/paper5.pdf |volume=Vol-1732 |authors=Sergey Usov }} == О множествах наборов прав в системах безопасности с матрицей доступа (Some Properties of Sets of Rights in Access Matrix Models of Security Systems) == https://ceur-ws.org/Vol-1732/paper5.pdf
    Î ìíîæåñòâàõ íàáîðîâ ïðàâ â ñèñòåìàõ áåçîïàñíîñòè
                   ñ ìàòðèöåé äîñòóïà
                                                           Ñ.Â. Óñîâ

                                                      raintower@mail.ru


                    Îìñêèé ãîñóäàðñòâåííûé óíèâåðñèòåò èì. Ô.Ì. Äîñòîåâñêîãî, Îìñê, Ðîññèÿ




                                                         Àííîòàöèÿ
                          Ñòàòüÿ ïîñâÿùåíà èçó÷åíèþ ñâîéñòâ íàáîðîâ ïðàâ äîñòóïà â ñè-
                          ñòåìàõ ñ äèñêðåöèîííûì ðàçãðàíè÷åíèåì äîñòóïà. Ðàññìàòðèâà-
                          åòñÿ ìîäåëü Õàððèñîíà-Ðóççî-Óëüìàíà. Ïîêàçàíî, ÷òî ìíîæåñòâà
                          íàáîðîâ ïðàâ ôîðìèðóþò ñèñòåìó íåçàâèñèìîñòè. Ïðèâåäåí ïðè-
                          ìåð ñòðîåíèÿ ïîäñèñòåìû áåçîïàñíîñòè, êîãäà óïîìÿíóòàÿ ñèñòåìà
                          íåçàâèñèìîñòè ÿâëÿåòñÿ ìàòðîèäîì.




   Äàííàÿ ðàáîòà ïîñâÿùåíà èçó÷åíèþ íåêîòîðûõ ñâîéñòâ ìíîæåñòâ íàáîðîâ ïðàâ äîñòóïà â äèñêðåöèîí-
íûõ ìîäåëÿõ ñèñòåì áåçîïàñíîñòè.
   Ðàññìîòðèì êîìïüþòåðíóþ ñèñòåìó ñ äèñêðåöèîííîé ïîëèòèêîé áåçîïàñíîñòè Õàððèñîíà-Ðóççî-
Óëüìàíà[1].
   Â ðàìêàõ ìîäåëè HRU ðàññìàòðèâàþòñÿ ñëåäóþùèå ìíîæåñòâà:
   - ìíîæåñòâî îáúåêòîâ äîñòóïà O;
   - ìíîæåñòâî ñóáúåêòîâ äîñòóïà S, ïðè÷åì S ⊆ O;
   - ìíîæåñòâî ïðàâ äîñòóïîâ R;
   Âîçìîæíîñòü ïîëó÷åíèÿ äîñòóïà ñóáúåêòà ê îáúåêòó îïðåäåëÿåòñÿ ìàòðèöåé äîñòóïîâ  òàáëèöåé M ,
ñòðîêè êîòîðîé ïîäïèñàíû ñóáúåêòàìè, à ñòîëáöû  îáúåêòàìè. Êàæäàÿ ÿ÷åéêà ñîäåðæèò íåêîòîðûé íàáîð
ïðàâ α ∈ R, êîòîðûìè îáëàäàåò ñóáúåêò ñòðîêè ïî îòíîøåíèþ ê îáúåêòó ñòîëáöà ìàòðèöû äîñòóïîâ.
Ñîäåðæàíèå ÿ÷åéêè ìàòðèöû äîñòóïîâ, íàõîäÿùåéñÿ íà ïåðåñå÷åíèè ñòðîêè s ∈ S è ñòîëáöà o ∈ S, áóäåì
îáîçíà÷àòü M [s, o].
   Äëÿ âíåñåíèÿ èçìåíåíèé â ìàòðèöó äîñòóïîâ èñïîëüçóþòñÿ òàê íàçûâàåìûå ýëåìåíòàðíûå îïåðàòîðû 
ýòî ñèñòåìíûå êîìàíäû îïðåäåëåííîãî âèäà, âñåãî èõ 6:

 1. CreateSubject(s)  ñîçäàåò ñóáúåêò s ∈ S;

 2. CreateObject(o)  ñîçäàåò îáúåêò o ∈ O;

 3. DestroySubject(s)  óíè÷òîæàåò ñóáúåêò s;

 4. DestroyObject(o)  óíè÷òîæàåò îáúåêò o;

 5. Enter(r, s, o)  âíîñèò ïðàâî äîñòóïà r ∈ R â M [s, o], ïðè ýòîì ìàòðèöà äîñòóïîâ èçìåíÿåòñÿ ïî ïðàâèëó:
    M [s, o] := M [s, o] ∪ {r};

Copyright   c   by the paper's authors. Copying permitted for private and academic purposes.

In: Sergey V. Belim, Nadezda F. Bogachenko (eds.): Proceedings of the Workshop on Data Analysis and Modelling (DAM 2016),
Omsk, Russia, October 2016, published at http://ceur-ws.org
 6. Delete(r, s, o)  óäàëÿåò ïðàâî äîñòóïà r ∈ R èç M [s, o], ïðè ýòîì ìàòðèöà äîñòóïîâ èçìåíÿåòñÿ ïî
    ïðàâèëó: M [s, o] := M [s, o] \ {r}.

   Ýëåìåíòàðíûå îïåðàòîðû HRU ãðóïïèðóþòñÿ â êîìàíäû, êîòîðûå ìîæíî ðàññìàòðèâàòü êàê çàïðîñû
íà èçìåíåíèå ìàòðèöû äîñòóïîâ. Êàæäàÿ êîìàíäà ñîñòîèò èç äâóõ ÷àñòåé: óñëîâèÿ âûïîëíåíèÿ êîìàíäû
è ïîñëåäîâàòåëüíîñòè ýëåìåíòàðíûõ îïåðàòîðîâ. Êîìàíäà HRU èìååò ñëåäóþùèé âèä:
   Commandγ(x1 , x2 , . . . , xk )
   if r1 ∈ M [s1 , o1 ] and
   r2 ∈ M [s2 , o2 ] and
   .
   .
   .
   rl ∈ M [sl , ol ]
   < óñëîâèÿ âûïîëíåíèÿ êîìàíäû >
   then
   op1 , op2 , . . . , opn
   < îïåðàòîðû, ñîñòàâëÿþùèå êîìàíäó >.
   Çäåñü êàæäûé èç àðãóìåíòîâ êîìàíäû x1 . . . xk ïðåäñòàâëÿåò ñîáîé ëèáî îáúåêò èç, ëèáî ñóáúåêò, ó÷àñò-
âóþùèé â óñëîâíîé ÷àñòè ëèáî â ýëåìåíòàðíûõ îïåðàòîðàõ; o1 . . . ol ∈ O, s1 . . . sl ∈ S, r1 . . . rl ∈ R.
   Ïðè âûïîëíåíèè êàæäîé êîìàíäû ñèñòåìà ïåðåõîäèò èç îäíîãî ñîñòîÿíèÿ â äðóãîå. Ïóñòü ñèñòåìà â
ìîìåíò âðåìåíè t íàõîäèòñÿ â ñîñòîÿíèè Q(t), òîãäà ïîñëå ïðèìåíåíèÿ íåêîòîðîé êîìàíäû γ ñèñòåìà
ïåðåéäåò â íîâîå ñîñòîÿíèå Q(t + 1) â ñëåäóþùèé ìîìåíò âðåìåíè t + 1.
   Îòìåòèì, ÷òî â óñëîâíîé ÷àñòè êîìàíäû ïðîâåðÿåòñÿ òîëüêî íàëè÷èå ïðàâà â îïðåäåëåííîé ÿ÷åéêå
ìàòðèöû äîñòóïîâ, íî íå åãî îòñóòñòâèå.

  Èòàê, ïóñòü  îáùàÿ ìàòðèöà äîñòóïà, è M (t)  ñîñòîÿíèå ìàòðèöû äîñòóïà â ìîìåíò âðåìåíè t. Òîãäà
äëÿ M (t) ìîæíî ðàññìîòðåòü ìíîæåñòâî A(t) êàê íåñòðóêòóðèðîâàííûé íàáîð ïðàâ:

                            A(t) = {a ∈ S × O × R|a = (s, o, r), r ∈ M (t)[s, o]}.

Çäåñü â ñëó÷àå îáúåêòíî-ñóáúåêòíîé ìîäåëè S  ìíîæåñòâî âñåõ ñóáúåêòîâ, äîïóñêàþùèõ àêòèâàöèþ â
äàííîé ñèñòåìå, O  ìíîæåñòâî âñåõ îáúåêòîâ, êîòîðûå ìîãóò áûòü ñîçäàíû â ñèñòåìå, R  ìíîæåñòâî
âñåâîçìîæíûõ ïðàâ, êîòîðûìè ìîæåò îáëàäàòü ñóáúåêò íà îáúåêò.  ñëó÷àå îáúåêòíî-îðèåíòèðîâàííîé
ìîäåëè S  ìíîæåñòâî îáúåêòîâ, êîòîðûå ìîãóò áûòü ñîçäàíû â ñèñòåìå, O  ìíîæåñòâî ïîëåé è ìåòîäîâ
îáúåêòîâ ñèñòåìû, R  ìíîæåñòâî âñåâîçìîæíûõ ïðàâ, êîòîðûìè ìîæåò îáëàäàòü îáúåêò íà ïîëå èëè
ìåòîä.
   Ðàññìîòðèì ñåìåéñòâî A âñåâîçìîæíûõ ïîäìíîæåñòâ äåêàðòîâà ïðîèçâåäåíèÿ S × O × R. Ïîíÿòíî,
÷òî A(t) ∈ A. Ñåìåéñòâî A êîíå÷íî, åñëè ìíîæåñòâà S è O êîíå÷íû. Òàêèå êîìïüþòåðíûå ñèñòåìû áó-
äåì íàçûâàòü êîíå÷íûìè. Äàëåå, åñëè íå îãîâîðåíî ïðîòèâíîãî, áóäåì ðàññìàòðèâàòü èìåííî êîíå÷íûå
êîìïüþòåðíûå ñèñòåìû.
   Áåçîïàñíîñòü ñèñòåìû áóäåò îïðåäåëåíà â ñîîòâåòñòâèè ñ ðàáîòîé [2]:

Îïðåäåëåíèå 1. Áóäåì ãîâîðèòü, ÷òî ñîñòîÿíèå ñèñòåìû äîïóñêàåò óòå÷êó ïðàâà äîñòóïà r ∈ R, åñëè
ñóùåñòâóþò òàêèå êîìàíäà γ , îáúåêò o è ñóáúåêò s, ÷òî r ∈   / o.M [s, o] â òåêóùåì ñîñòîÿíèè ñèñòåìû, íî
r ∈ o.M [s, o] â ñîñòîÿíèè, â êîòîðîå ñèñòåìà ïåðåéäåò èç òåêóùåãî ïî âûïîëíåíèè êîìàíäû γ .

Îïðåäåëåíèå 2.   Áóäåì ãîâîðèòü, ÷òî ñèñòåìà r-áåçîïàñíà, åñëè íå ñóùåñòâóåò ïîñëåäîâàòåëüíîñòè êî-
ìàíä, ïåðåâîäÿùèõ ñèñòåìó èç íà÷àëüíîãî ñîñòîÿíèÿ â ñîñòîÿíèå, äîïóñêàþùåå óòå÷êó ïðàâà äîñòóïà r.

Îïðåäåëåíèå 3. Áóäåì ãîâîðèòü, ÷òî íàáîð ïðàâ äîñòóïà A(t) ∈ A äîïóñêàåò óòå÷êó ïðàâà äîñòóïà r ∈ R,
åñëè ñîñòîÿíèå ñèñòåìû Q(t) ñ ñîîòâåòñòâóþùåé íàáîðó ïðàâ A(t) ìàòðèöåé äîñòóïà M (t) äîïóñêàåò óòå÷êó
ïðàâà r.

Îïðåäåëåíèå 4.  Áóäåì ãîâîðèòü, ÷òî íàáîð A r-áåçîïàñåí, åñëè ñèñòåìà ñ ñîîòâåòñòâóþùåé íàáîðó ïðàâ
A íà÷àëüíîé ìàòðèöåé äîñòóïà M (0) r-áåçîïàñíà.
   Êðîìå òîãî, íàïîìíèì, ÷òî ñèñòåìîé íåçàâèñèìîñòè íà êîíå÷íîì ìíîæåñòâå X íàçûâàåòñÿ ïàðà (X, I),
I ⊆ 2X , òàêàÿ, ÷òî I ñîäåðæèò ïóñòîå ìíîæåñòâî è ëþáîå ïîäìíîæåñòâî ëþáîãî ýëåìåíòà èç I ñàìî ëåæèò â
I. Ìíîæåñòâà, ÿâëÿþùèåñÿ ýëåìåíòàìè I, íàçûâàþòñÿ íåçàâèñèìûìè, à ìíîæåñòâà, ïðèíàäëåæàùèå 2X \ I
 çàâèñèìûìè. Ìàêñèìàëüíûå ïî âêëþ÷åíèå íåçàâèñèìûå ìíîæåñòâà íàçûâàþòñÿ áàçàìè, ìèíèìàëüíûå
ïî âêëþ÷åíèþ çàâèñèìûå ìíîæåñòâà  öèêëàìè. Íàêîíåö, ñèñòåìà íåçàâèñèìîñòè íàçûâàåòñÿ ìàòðîèäîì,
åñëè âñå åå áàçû ðàâíîìîùíû [3].

Òåîðåìà 1. Ñåìåéñòâî I ⊆ A âñåõ r -áåçîïàñíûõ íàáîðîâ ïðàâ äîñòóïà îáðàçóåò ñèñòåìó íåçàâèñèìîñòè.


Äîêàçàòåëüñòâî. Çàìåòèì, ÷òî óñëîâèåì äëÿ âûïîëíåíèÿ êàêîé-ëèáî êîìàíäû ñëóæèò íàëè÷èå íåêîòîðûõ
ïðàâ, â òî âðåìÿ êàê îòñóòñòâèå ïðàâ â óñëîâíîé ÷àñòè êîìàíäû íèêîãäà íå ïðîâåðÿåòñÿ.
    Ïóñòü äëÿ íà÷àëüíîãî ñîñòîÿíèÿ ñèñòåìû Q(0) ñ îáùèì íàáîðîì ïðàâ A(0) ñóùåñòâóåò öåïî÷êà êîìàíä
γ1 , γ2 , . . . , γT , ïåðåâîäÿùàÿ ñèñòåìà â ñîñòîÿíèå Q(T ), äîïóñêàþùåå óòå÷êó ïðàâà äîñòóïà r. Áåç îãðàíè÷å-
íèÿ äîñòóïà ñ÷èòàåì öåïî÷êó γ1 , γ2 , . . . , γT íåñîêðàòèìîé, â ÷àñòíîñòè, ïðè ïîñëåäîâàòåëüíîì âûïîëíåíèè
êîìàíä ýòîé öåïî÷êè óñëîâèÿ êàæäîé êîìàíäû îêàçûâàþòñÿ âûïîëíåíû (â ïðîòèâíîì ñëó÷àå, åñëè óñëîâèÿ
íå âûïîëíåíû è êîìàíäû íå âûïîëíÿåòñÿ, åå ìîæíî âûêèíóòü èç öåïî÷êè). Ïóñòü A(0) ⊆ A0 (0), è Q0 (0) 
ñîñòîÿíèå òîé æå ñèñòåìû, ñîîòâåòñòâóþùåå íàáîðó A0 (0). Ïðèìåíèì ê ýòîìó ñîñòîÿíèþ ñèñòåìû öåïî÷êó
êîìàíä γ1 , γ2 , . . . , γT : ïî-ïðåæíåìó óñëîâèÿ âûïîëíåíèÿ âñåõ êîìàíä áóäóò âûïîëíåíû. Èòàê, íàäìíîæå-
ñòâî íàáîðà ïðàâ äîñòóïà, íå ÿâëÿþùåãîñÿ r-áåçîïàñíûì, ñàìî íå r-áåçîïàñíî. Íàîáîðîò, ïîäìíîæåñòâî
r-áåçîïàñíîãî íàáîðà áóäåò r-áåçîïàñíûì.                                                                     

   Ðàññìîòðèì íà ìíîæåñòâå íàáîðîâ âñåâîçìîæíûõ ïðàâ A àääèòèâíóþ ôóíêöèþ φ : A → R. Äëÿ ýòîãî
äîñòàòî÷íî çàäàòü çíà÷åíèå ôóíêöèè íà ýëåìåíòàõ ìíîæåñòâà S × O × R. Ñìûñëîì ýòîé ôóíêöèè ìîæåò
áûòü, íàïðèìåð, îöåíêà ýôôåêòèâíîñòè ïðàâà äîñòóïà. Ïî òåîðåìå Ðàäî-Ýäìîíäñà [3] æàäíûé àëãîðèòì
òî÷íî ðåøàåò çàäà÷ó íàõîæäåíèÿ ìàêñèìàëüíîãî çíà÷åíèÿ àääèòèâíîé ôóíêöèè íà r-áåçîïàñíîì íàáîðå,
åñëè ñåìåéñòâî I âñåõ r-áåçîïàñíûõ íàáîðîâ ïðàâ äîñòóïà ÿâëÿåòñÿ ìàòðîèäîì.

Òåîðåìà 2. Ñóùåñòâóåò äèñêðåöèîííàÿ ìîäåëü áåçîïàñíîñòè êîìïüþòåðíîé ñèñòåìû, ñåìåéñòâî âñåõ
r-áåçîïàñíûõ íàáîðîâ ïðàâ äîñòóïà êîòîðîé ÿâëÿåòñÿ ìàòðîèäîì.

    êà÷åñòâå äîêàçàòåëüñòâà ïðèâåäåì ïðèìåð òàêîé êîìïüþòåðíîé ñèñòåìû äëÿ îáúåêòíî-
îðèåíòèðîâàííîé ìîäåëè HRU [4]. Íàïîìíèì îñíîâíûå îòëè÷èÿ îáúåêòíî-îðèåíòèðîâàííîé ìîäåëè HRU
îò êëàññè÷åñêîãî ñóáúåêòíî-îáúåêòíîãî àíàëîãà.
   Ñèñòåìà ðàññìàòðèâàåòñÿ â âèäå ìíîæåñòâà îáúåêòîâ O, èìåþùèõ îòêðûòûå ïîëÿ è ñêðûòûå ïîëÿ,
à òàêæå ìåòîäû îáðàáîòêè ïîëåé. Êàæäûé èç îáúåêòîâ ïðèíàäëåæèò êàêîìó-òî êëàññó k èç ìíîæåñòâà
âñåõ êëàññîâ ñèñòåìû K. Êëàññ çàäàåò ñòðóêòóðó îáúåêòà: îïðåäåëÿåò, êàêèìè îáùèìè ñâîéñòâàìè áóäóò
îáëàäàòü ïîëÿ è ìåòîäû âñåõ îáúåêòîâ ýòîãî êëàññà. Îáúåêòû îäíîãî êëàññà îòëè÷àþòñÿ äðóã îò äðóãà
òîëüêî ñîäåðæàíèåì ñâîèõ ïîëåé.
   Ïîëåì f íàçûâàåòñÿ íåêîòîðàÿ îáëàñòü ïàìÿòè ôèêñèðîâàííîé äëèíû, êîòîðàÿ ìîæåò ñîäåðæàòü ïðî-
èçâîëüíûå äàííûå è èçìåíÿòüñÿ â ïðîöåññå ôóíêöèîíèðîâàíèÿ ñèñòåìû. Ìåòîäîì s íàçûâàåòñÿ íåêîòîðîå
îòîáðàæåíèå, èñïîëüçóþùåå â êà÷åñòâå àðãóìåíòîâ ïîëÿ, è íå èçìåíÿþùååñÿ â ïðîöåññå ôóíêöèîíèðîâàíèÿ
êîìïüþòåðíîé ñèñòåìû.
   Êëàññîì îáúåêòîâ íàçûâàåòñÿ ïðîèçâîëüíûé ñïèñîê ïîëåé è ìåòîäîâ, êàæäîìó èç êîòîðûõ ïðèñâîåíî
îäíî çíà÷åíèå èç ìíîæåñòâà {private, public}. Ïîëÿ è ìåòîäû, êîòîðûì ïðèñâîåíî çíà÷åíèå private, íàçû-
âàþòñÿ ñêðûòûìè. Ïîëÿ è ìåòîäû, êîòîðûì ïðèñâîåíî çíà÷åíèå public, íàçûâàþòñÿ îòêðûòûìè.
   Ñîâîêóïíîñòü ïîëåé è ìåòîäîâ ïîñòðîåííûõ ïî ñïèñêó, çàäàâàåìîìó êëàññîì, íàçûâàåòñÿ îáúåêòîì êëàñ-
ñà. Îáúåêò êëàññà, äëÿ êîòîðîãî íå ñóùåñòâåííà ëèáî î÷åâèäíà â äàííîé çàäà÷å ïðèíàäëåæíîñòü ê êîí-
êðåòíîìó êëàññó, áóäåì íàçûâàòü îáúåêòîì. Äëÿ êàæäîãî îáúåêòà o ∈ O îïðåäåÿþòñÿ ìíîæåñòâî ñêðûòûõ
ïîëåé o.P , ìíîæåñòâî îòêðûòûõ ïîëåé o.F è ìíîæåñòâî ìåòîäîâ o.S .
   Äîñòóïîì ìåòîäà s ê ïîëþ f íàçûâàåòñÿ àêòèâèçàöèÿ ìåòîäà s òàêèì îáðàçîì, ÷òî îáúåêò o ÿâëÿåòñÿ
àðãóìåíòîì ñîîòâåòñòâóþùåãî îòîáðàæåíèÿ. Äîñòóï ê ñêðûòûì ïîëÿì îáúåêòà èìåþò òîëüêî ìåòîäû ýòîãî
îáúåêòà. Êðîìå òîãî, ìåòîäû ìîãóò îáðàùàòüñÿ ê îòêðûòûì ïîëÿì äðóãèõ îáúåêòîâ. Âîçìîæíîñòü äîñòóïà
ê ñêðûòûì ïîëÿì îáúåêòà òîëüêî ìåòîäàìè ýòîãî æå îáúåêòà íàçûâàåòñÿ èíêàïñóëÿöèåé. Äëÿ îòêðûòûõ
ïîëåé (public) áóäåì ñ÷èòàòü âåðíûì ñëåäóþùåå ïðåäïîëîæåíèå: îòêðûòûå ïîëÿ âñåõ îáúåêòîâ èìåþò îäíî
è òî æå ìíîæåñòâî âîçìîæíûõ òèïîâ äîñòóïà. Ìíîæåñòâî äîñòóïîâ ê îòêðûòûì ïîëÿì îáîçíà÷èì ÷åðåç
R.
   Äëÿ ïîñòðîåíèÿ ñèñòåìû äèñêðåöèîííîãî ðàçäåëåíèÿ äîñòóïà äëÿ êàæäîãî îáúåêòà o ∈ O ââîäèòñÿ
äîïîëíèòåëüíîå private ïîëå M , ñîäåðæàùåå ëîêàëüíóþ ìàòðèöó äîñòóïîâ: o.M : O × (o.F ∪ o.S) → 2R ∪
{0, 1}, ïðè÷åì o0 .M [o, f ] → 2R , ãäå f ∈ o0 .F ; o, o0 ∈ O, òî åñòü äëÿ îòêðûòûõ ïîëåé â ÿâíîì âèäå çàäàåòñÿ
ìíîæåñòâî ðàçðåøåííûõ äîñòóïîâ, è o0 .M [o, s] → {0, 1}(o, o0 ?O), ãäå s ∈ o0 .S ; o, o0 ∈ O òî åñòü äëÿ ìåòîäîâ
îïðåäåëÿåì ðàçðåøåíèå (1) èëè çàïðåò (0) âûçîâà.
   Ïî àíàëîãèè ñ ñóáúåêòíî-îáúåêòíîé ìîäåëüþ HRU, äëÿ îáúåêòíî-îðèåíòèðîâàííûõ ìîäåëåé ââîäÿòñÿ
ñëåäóþùèå ýëåìåíòàðíûå îïåðàòîðû:

 1. Create(o, k)  ñîçäàåò îáúåêò o êëàññà k ∈ K, åñëè o ∈ O.

 2. Destroy(o)  óíè÷òîæàåò îáúåêò o, åñëè o ∈ O.

 3. Enter(r, o, o0 .f )  âíîñèò ïðàâî äîñòóïà r â o0 .M [o, f ], åñëè o, o0 ∈ O.

 4. Delete(r, o, o0 .f )  óäàëÿåò ïðàâî r äîñòóïà èç o0 .M [o, f ], åñëè o, o0 ∈ O.

 5. Grant(o, o0 .s)  ðàçðåøàåò âûçîâ îáúåêòó o ìåòîäà o0 .s, åñëè o, o0 ∈ O.

 6. Deprive(o, o0 .s)  çàïðåùàåò âûçîâ îáúåêòó o ìåòîäà o0 .s, åñëè o, o0 ∈ O.

   Ïîä ñîñòîÿíèåì êîìïüþòåðíîé ñèñòåìû â êàæäûé ìîìåíò âðåìåíè ïîíèìàåòñÿ ñîâîêóïíîñòü ìíîæåñòâà
âñåõ îáúåêòîâ ñèñòåìû â ýòîò ìîìåíò âðåìåíè è ñîñòîÿíèÿ âñåõ ìàòðèö äîñòóïîâ o.M îáúåêòîâ ñèñòåìû
â ýòîò ìîìåíò âðåìåíè. Ñîñòîÿíèÿ êîìïüþòåðíîé ñèñòåìû â ìîäåëè HRU èçìåíÿþòñÿ ïîä âîçäåéñòâèåì
çàïðîñîâ íà ìîäèôèêàöèþ ìàòðèöû äîñòóïà â âèäå êîìàíä ñëåäóþùåãî ôîðìàòà:
   Commandγ(x1 , ..., xg ) :
   if <êîíúþíêöèÿ ëîãè÷åñêèõ âûðàæåíèé âèäà r ∈ o0 .M [o, f ] èëè o0 .M [o, s] = 1>
   then <ïîñëåäîâàòåëüíîñòü ýëåìåíòàðíûõ îïåðàòîðîâ>.
   Çäåñü àðãóìåíòû xi ïðåäñòàâëÿþò ñîáîé îáúåêòû, ó÷àñòâóþùèå â êà÷åñòâå àðãóìåíòîâ â óñëîâíîé ÷àñòè
ëèáî â ýëåìåíòàðíûõ îïåðàòîðàõ.

Äîêàçàòåëüñòâî. Ïóñòü ìíîæåñòâî êëàññîâ ñèñòåìû K = {k1 , k2 , . . . , km }. Äëÿ ïðîñòîòû ïðèìåì, ÷òî âñå
îáúåêòû êàæäîãî êëàññà óñòðîåíû äîâîëüíî ïðîñòî: îíè îáëàäàþò îäíèì ìåòîäîì s è îäíèì îòêðûòûì
ïîëåì f , ê êîòîðîìó ñóùåñòâóåò äâà âèäà äîñòóïà: r (áåçîïàñíûé) è w (îïàñíûé). Áóäåì ðàññìàòðèâàòü
ìíîæåñòâî íåçàâèñèìîñòè, ñîâïàäàþùåå ñî ìíîæåñòâîì âñåõ w-áåçîïàñíûõ íàáîðîâ ïðàâ äîñòóïà. Äëÿ
ýòîãî íåîáõîäèìî îïðåäåëèòü, êàêèå êîìàíäû ïðèñóòñòâóþò â ñèñòåìå.
   Ðàññìîòðèì êîìïüþòåðíóþ ñèñòåìó êàê äâóäîëüíûé ãðàô G, â êîòîðîì êàæäîìó îáúåêòó o ñîîòâåò-
ñòâóåò äâå âåðøèíû: o.s è o.f , î÷åâèäíî, ïðåäñòàâëÿþùèå ìåòîä è ïîëå ýòîãî îáúåêòà. Âåðøèíû o.s è o0 .f
ñîåäèíåíû ðåáðîì â ìîìåíò âðåìåíè t, åñëè a = (o, o0 .f, r) ∈ A(t), ãäå A(t)  òåêóùèé íàáîð ïðàâ äîñòóïà
ñèñòåìû. Ïðè ýòîì, âîçìîæíî, o = o0 . Ìû áóäåì îòîæäåñòâëÿòü ïðàâî a = (o, o0 .f, r) ñ ðåáðîì ãðàôà G.
Òàêèì îáðàçîì, G(t) = G(O, A(t)). Ïîñòðîèì òàêóþ ñèñòåìó êîìàíä, êîòîðàÿ äîïóñêàåò äîáàâëåíèå ðåáðà
â ýòîì ãðàôå (òî åñòü ïðàâà r íåêîòîðîãî îáúåêòà íà ïîëå f ýòîãî èëè äðóãîãî îáúåêòà), òîëüêî åñëè îíî íå
ïðèâîäèò ê îáðàçîâàíèþ öèêëà. Åñëè æå öèêë â ãðàôå óæå ñóùåñòâóåò, òî ñîîòâåòñòâóþùåå ñîñòîÿíèå ñè-
ñòåìû äîïóñêàåò óòå÷êó ïðàâà w. Äëÿ ðåàëèçàöèè òðåáóåìûõ êîìàíä ââåäåì äîïîëíèòåëüíîå (ôèêòèâíîå)
ïðàâî äîñòóïà r0 , îáîçíà÷àþùåå îòñóòñòâèå ïðàâà r.
   Âîò êîìàíäà, äîáàâëÿþùåå ðåáðî, íå ïðèâîäÿùåå ê îáðàçîâàíèþ öèêëà:
   Command1(o1 : k1 , o2 : k2 , . . . , om : km )
   if < êîíúþíêöèÿ óñëîâèé âèäà r0 ∈ o∗ .M [o∗∗ , f ] òàêèõ, ÷òî â ãðàôå G îòñóòñòâèå ðåáåð (o∗∗ , o∗ .f, r),
ñîîòâåòñòâóþùèõ ïðîâåðÿåìûì ïðàâàì, äîñòàòî÷íî äëÿ åãî àöèêëè÷íîñòè, òî åñòü G áåç óêàçàííûõ ðåáåð
ÿâëÿåòñÿ ëåñîì >
   then
   Enter(r, o, o0 .f ) (âàæíî, ÷òî óñëîâíîé ÷àñòè íå ïðîâåðÿëîñü îòñóòñòâèå ðåáðà a = (o, o0 .f, r)),
   Delete(r0 , o, o0 .f ).
   Êîìàíä òàêîãî âèäà ìîæåò áûòü äîâîëüíî ìíîãî, òàê êàê êîëè÷åñòâî ëåñîâ èç óñëîâèÿ êîìàíäû, ðàâíî
êàê è ìíîæåñòâî âàðèàíòîâ äîáàâëÿåìîãî ðåáðà èç òåëà êîìàíäû, äîâîëüíî âåëèêî. Âïðî÷åì, òàêèõ êîìàíä
ìîæåò è íå áûòü âîîáùå.
   Êîìàíäû, ïðèâîäÿùàÿ ê óòå÷êå ïðàâà w â ñëó÷àå íàëè÷èÿ â ãðàôå ñèñòåìû öèêëà, âûãëÿäÿò ãîðàçäî
ïðîùå:
  Command2(o1 : k1 , o2 : k2 , , om : km )
  if < êîíúþíêöèÿ óñëîâèé âèäà r ∈ o∗ .M [o∗∗ , f ] òàêèõ, ÷òî â ãðàôå G ðåáðà (o∗∗ , o∗ .f, r), ñîîòâåòñòâóþùèõ
ïðîâåðÿåìûì ïðàâàì, îáðàçóþò öèêë, íàïðèìåð:
  r ∈ o∗ .M [o∗∗ , f ]&r ∈ o∗ .M [o∗ , f ]&r ∈ o∗∗ .M [o∗∗ , f ]&r ∈ o∗∗ .M [o∗ , f ] >
  then
  Enter(w, o, o0 .f ).
  Êîìàíäà, ñîçäàþùàÿ îáúåêò, ìîæåò âíåñòè ëèáî ïðàâî äîñòóïà r ýòîãî îáúåêòà ê ïîëÿì äðóãèõ îáúåêòîâ,
ëèáî ïðàâî äîñòóïà r äðóãèõ îáúåêòîâ ê ïîëþ ñîçäàííîãî îáúåêòà, íî íå òî è äðóãîå îäíîâðåìåííî. Òàêèå
äåéñòâèÿ íå íàðóøàò àöèêëè÷íîñòü ãðàôà ñèñòåìû. Òàêæå â äàííîé ñèñòåìå äîïóñòèìû ïðîèçâîëüíûå
êîìàíäû, íå ñîäåðæàùèå îïåðàöèè Enter.
  Ïîíÿòíî, ÷òî ñèñòåìà íåçàâèñèìîñòè, îáðàçîâàííàÿ w-áåçîïàñíûìè ìíîæåñòâàìè ïðàâ äîñòóïà ïîñòðî-
åííîé êîìïüþòåðíîé ñèñòåìû, áóäåò ÿâëÿåòñÿ äâóäîëüíûì ìàòðîèäîì, à èìåííî  öèêëè÷åñêèì ìàòðîèäîì
ãðàôà ñèñòåìû G.                                                                                               
Çàìå÷àíèå 1. Ïðèìåð, ïîñòðîåííûé â òåîðåìå, ðàáîòàåò òîëüêî â ñëó÷àå îäíîðîäíîé ñèñòåìû áåçîïàñíî-
ñòè. Åãî ìîæíî ðàñïðîñòðàíèòü íà ïðîèçâîëüíóþ êîíå÷íóþ ñèñòåìó, åñëè ââåñòè îòäåëüíûé ïîäêëàññ äëÿ
êàæäîãî îáúåêòà (èç êîíå÷íîãî ìíîæåñòâà).

Çàìå÷àíèå 2. Ñóùåñòâóåò è áîëåå ïðîñòîé ïðèìåð ìàòðîèäà: êîãäà äëÿ óòå÷êè ïðàâà w äîñòàòî÷íî
íàáðàòü îïðåäåëåííîå (ñêàæåì, l) êîëè÷åñòâî ïðàâ r. Ïðè ýòîì åñëè |A| < l, òî ìîæíî äîáàâèòü åùå îäíî
ïðàâî l. Îäíàêî è â ýòîì ñëó÷àå òðåáóåòñÿ îäíîðîäíîñòü ñèñòåìû è íåâîçìîæíîñòü ïîäñòàâèòü â êîìàíäó
îäèí è òîò æå îáúåêò íåñêîëüêî ðàç.

Çàìå÷àíèå 3. Ñèñòåìà, ïîñòðîåííàÿ â òåîðåìå, äîïóñêàåò ïðîâåðêó r -áåçîïàñíîñòè, ïðè÷åì äîâîëüíî ïðî-
ñòóþ: åñëè â íà÷àëüíîì ñîñòîÿíèè ñèñòåìû ýëåìåíòû ìíîæåñòâà A(0) îáðàçóþò öèêë, òî ñèñòåìà äîïóñêàåò
óòå÷êó ïðàâà w, â ïðîòèâíîì ñëó÷àå îíà w-áåçîïàñíà.

Ñïèñîê ëèòåðàòóðû
[1] M. A. Harrison, W. L. Ruzzo, J. D. Ulman. Protection in Operating Systems. Communications of the ACM,
    1425, 1975.

[2] M. V. Tripunitara, N. Li. The Foundational work of Harrison-Ruzzo-Ullman Revisited. Center for Education
    and Research in Information Assurance and Security, Purdue University, West Lafayette, IN 47907-2086,
    2006.

[3] J. Edmonds. Matroids and the Greedy Algorithms. Math Programming, 127136, 1971.

[4] S. V. Belim, S. Yu. Belim, S. V. Usov. Ob"ektno-orientirovannaya modikatsiya modeli bezopasnosti HRU.
    Problemy informatsionnoy bezopasnosti. Komp'yuternye sistemy, 39(1):614, 2010 (in russian).




 Some Properties of Sets of Rights in Access Matrix Models of Security Systems
                                                Sergey V. Usov

   The article is devoted to studying the properties of sets of access rights in the models of security systems
with discretionary access control. The Harrison-Ruzzo-Ulman model of access control is considered. It is shown
that the sets of rights create an independence system. An example of the security system with the sets of rights
forming matroid is shown.