[摘要] 本文分別從靜態(tài)和動態(tài)兩個方面深層次剖析了控制策略,主要從動態(tài)控制方法主要從執(zhí)行和編譯兩個方面分析,尤其深層次研究了基于執(zhí)行機制的隱式信息流問題,提出利用棧和隊列把隱式轉(zhuǎn)換為顯式信息流策略,提出了鏈隊列的思想。
[關(guān)鍵詞] 訪問控制 靜態(tài)策略 動態(tài)策略 隱式信息流
一、靜態(tài)的訪問控制策略
1.訪問控制矩陣
最經(jīng)典的描述保護系統(tǒng)的方法是訪問控制矩陣,它也是計算機安全中的最基本的抽象表示方法。如下圖
2.訪問控制表
將訪問控制矩陣中所有客體所代表的列存儲下來就構(gòu)成了訪問控制表。這樣每一個客體就與一個序?qū)Φ募舷嚓P(guān)聯(lián),而每一序?qū)Π粋€主體和一個權(quán)限的集合,指定的主體就可以使用這些權(quán)限來訪問相關(guān)聯(lián)的客體。則圖對應(yīng)的訪問控制表為:
acl(file1)={(process1,rwo),(process2 ,a)}
acl(file2)={(process1,r),(process2,ro)}
acl(process1)={(process1,rweo),(process2,r)}
acl(process2)={(process1,w),(process2,rweo)}
3.能力表
概念上能力表就像訪問控制矩陣的行。每一個主體都與一個序?qū)详P(guān)聯(lián),每一序?qū)Χ及粋€客體一個權(quán)限集合。與此表關(guān)聯(lián)的主體能夠根據(jù)序?qū)χ兄甘镜臋?quán)限訪問序?qū)χ械目腕w。如圖1中對應(yīng)的能力表為:
cap(process1)={(file1,rwo),(file2,r),(process1,rweo),(process2,w)}
cap(process2)={(file1,a),(file2,ro),(process1,r),(process2,rweo)}
靜態(tài)訪問控制策略還有鎖與鑰匙和基于環(huán)的訪問控制兩種方法。
二、動態(tài)訪問控制策略中的信息流控制
1.基于編譯器的機制
基于編譯器的機制目的是檢驗程序中的信息流是否經(jīng)過授權(quán)。
2.基于執(zhí)行的機制
基于執(zhí)行的機制的目標是防止信息流違反安全策略。假設(shè)賦值語句If x=1theny:=a 的顯式安全驗證條件是x≤y,則當x≠1時,而x=high而y=low的情況下就會導致信息從x流向了y,造成了隱式安全信息流的發(fā)生即沒有判斷出x≠1是不符合信息流策略的。解決的方法是引入程序計數(shù)器(pc)。
3.基于棧和隊列的機制——隱式信息流解決方法
定義五種指令含義:
(1)x:=x+1 等價于if pc ≤x then x:=x+1;else skip
(2)條件語句
if x=0 then goto n else x:=x-1等價于
if x=0 then {push(pc,pc),pc:=lub(pc,x);pc:=n;}
else{if pc≤x then {x:=x-1;} else skip}
(3)return 語句相當于pop(pc,pc)返回給最后一個if語句之后的那個語句。
(4)分支語句
if’x=0 then goto n else x:=x-1等價于
if x=0 then { if x≤pcthen {pc:=n;} else skip }
else{ if pc≤x then {x:=x-1;} else skip }
①棧與程序
push(x,x)表示將變量x及安全類型 x壓入棧中,而pop(x,x)表示從程序棧中彈出棧頂數(shù)據(jù)及安全類型。
根據(jù)以上的規(guī)則下列程序假設(shè)x=1,y=0,z=0在下列程序中用棧的形式來表示出來如下表,以達到把隱式信息流轉(zhuǎn)變成顯式信息流的目的。
②鏈隊列與程序
同樣可以用鏈隊列的形式表示出來。把每一個元素分為三部分:變量和安全級別以及指針。同樣假設(shè)x=1,y=0,z=0。初始隊列由x、y、z、pc組成,隨著程序的運行把元素和安全類別插入隊列中,pc的變化只跟程序分支有關(guān)系,即程序的分支對pc賦值。每當隊列中插入或者刪除元素時都要判定pc的安全級別。刪除的元素變量參與運算。
參考文獻:
[1](美)S.巴斯朱洪譯:計算機算法:設(shè)計和分析引論.上海:復旦大學出版社,1985
[2]嚴蔚敏吳偉民:數(shù)據(jù)結(jié)構(gòu).北京:清華大學出版社,2002,2
[3](美)MattBishop:計算機安全學—安全的藝術(shù)與科學.王立斌譯.北京:電子工業(yè)出版社,2005