刘爱军,田祎
(1.商洛学院数学与计算机应用学院,陕西商洛726000;2.商洛学院经济与管理学院,陕西商洛726000)
一个基于访问历史的BLP改进模型的修正
刘爱军1,田祎2
(1.商洛学院数学与计算机应用学院,陕西商洛726000;2.商洛学院经济与管理学院,陕西商洛726000)
为克服SLCF安全模型使用动态调整主体安全标记方法不当,造成信息泄漏的安全隐患问题,结合BLP基本安全准则,分析指出该模型存在的不足,提出从信息流角度,根据访问历史记录,对信息流入、流出标记函数的变化规则进行修正的基本思想,给出了新的修正访问控制规则,并通过实例,对修正效果的正确性进行分析验证,结果表明该修正访问控制规则,在确保应用系统的可用性和灵活性的前提下,确实有效防止了信息的非法泄漏,增强了系统的安全性。
BLP;修正;机密性;可用性;SLCF
BLP模型是在计算机安全系统中实现多级安全(MLS)机密性策略的经典模型,被视作基本安全公理的基石。BLP安全模型制定了一组约束系统状态间转换规则的安全理论,主要内容包括4个特性公理,10个定理、11个规则[1]。
这些公理和规则虽然能很好地保证信息的机密性,防止信息的非授权泄漏,可随信息安全领域的不断发展,该经典模型也存在明显的不足。它的局限主要体现在完整性、可用性、灵活性、扩展性和隐通道问题。
针对以上局限,如何在保持安全性的前提下增加BLP模型的灵活性和可用性,最大限度保证信息的完整性,是近年来该领域研究改进的重点和热点。其中,动态调整主客体的安全等级(又称敏感标签)并修改模型的安全属性和状态转换规则是增强BLP模型在实际系统中的灵活性和可用度的主要方法[2]。
Amon Ott[3]提出一种自适应的(Adaptive)安全等级可动态调整规则,用于实现在满足相关条件下可动态调整主体的当前安全等级,以增加访问控制的灵活性;石文昌等[4-5]提出了一种与文献[3]相似的ABLP实施方法,该方法构造内外二层判断空间,改进原有访问规则,以主体当前安全标记、客体安全标记和访问方式为主要判断参数条件,对允许访问的主体的当前敏感标记进行合理调整;季庆光等[6]提出一个改进的机密性策略模型DBLP,将Amon Ott规则推广为动态地调整敏感标签范围,并指出文献[3,5]中可信主体没有给出准确定义,文献[5]ABLP模型证明不严格,几个判断参数初始值设置不当,可能导致的隐通道问题;司天歌等[7]基于系统动作的不干扰模型,从信息流的角度引入一种对多级安全模型安全性的形式化分析方法,并以此分析方法对ABLP和DBLP改进模型进行分析,指出其证明的不完备性及可能的安全隐患;梁洪亮等[8]引入了访问历史的概念,并给出了一个新增的标记函数集合,从信息流的角度记录流入流出历史,提出了一个与文献[4]类似的基于静态客体标记和动态主体标记的改进BLP模型框架SLCF(security label common framework),通过重新定义模型的安全属性和状态转换规则,动态调整主体当前敏感标记,增强系统的灵活性。
以上改进方法,结合实际需要改进了访问规则,放宽了BLP经典模型的严格访问限制,一定程度上增强了模型的可用性和灵活性,但由于没有得到严格安全证明验证,因此使用中带来了一定的安全隐患。SLCF框架模型也存在类似安全缺陷。
1.1 SLCF模型介绍
针对BLP模型灵活性不足的特点,梁洪亮等[5]提出了一个基于历史信息的动态主体安全标记(即敏感级)BLP改进模型(简称SLCF)。改进模型认为在一次会话过程中,主体标记动态记录着信息的流入流出变化情况,并有一个上下界阈值;客体标记是固定不变的。改进模型在保持原主体、客体、标记、访问集合等概念外,主要引入如下内容[5]:
1)增加了4个主体标记函数(fil,fih,fol,foh),用于记录主体的历史访问信息。fil,fih:流入信息的最低/最高标记,初始值为LOW(系统的最小标记值);fol,foh:流出信息的最低/最高标记,初始值为HIGH(系统的最大标记值)。fih,fol用于实现多等级保密安全策略,foh,fil用于实现多等级完整性安全策略。
针对多等级保密安全策略,该方法对经典BLP模型的主要改进是:根据标记函数fih、fol和主体最大标记函数fs、客体标记函数fo的关系调整主体当前标记函数fc及信息流入/出标记函数fih、fol标记值。
2)SLCF的安全判定条件以及主体标记规则具体描述如下:
规则1(读访问)a)若满足条件fc≥fo,则允许主体S读取客体O;b)否则继续进行内层判别:若满足(fs≥fo)&&(fol≥fo)则fc=Max(fc,fo),fih= Max(fih,fo),同时允许主体S读取客体O;c)否则若以上条件均不满足则拒绝主体S读访问客体O。
规则2(写访问)a)若满足条件fo≥fc,则允许主体S添加客体O;b)否则继续进行内层判别:若满足fo≥fih则fc=Min(fc,fo),fol=Min(fol,fo),同时允许主体添加客体O;c)否则若以上条件均不满足,则拒绝主体S添加客体O。
规则3(读写双向访问)a)若满足条件fc=fo,则允许主体S对客体O双向读写访问;b)否则继续进行内层判别:若满足(fs≥fo)&&(fol≥fo) &&(fo≥fih),则fc=fo,fih=Max(fih,fo),fol=Min(fol,fo),允许主体S对客体O双向读写访问;c否则若以上条件均不满足,则拒绝主体S对客体O双向读写访问。
1.2 SLCF框架安全性分析
本文在理论分析的基础上,并根据SLCF模型规则举例说明,结果进一步表明该模型存在以下明显问题:
1)SLCF模型所引实例无法根据表1初始条件得到表2所示结论[8],与实际规则执行结果不符;
2)根据文献[5],fih,fol和foh,fil分别应用于实现多等级保密安全策略和多等级完整性安全策略,而文献所引实例仅用于说明多等级保密安全策略,故判定条件及实现规则与foh,fil无关;
3)经理论分析及实例验证说明SLCF框架不满足机密性策略,存在信息从高密级向低密级泄漏的隐患。
如表1所示,针对1.2中1)仍然引用文献[8]实例初始标记值对所述结果进行分析。文献[8]叙述执行(process2,file2,r),(process2,file3,w)后 fih=2,而按其判断规则1可知执行(process2,file2,r)时,因满足外层判断条件fc(process2)≥fo(file2),经外层判断即允许执行,故fih值应保持不变;再执行(process2,file3,w),也满足fo(file3)≥fc(process2)外层条件,故无需进入内层判断即允许执行,完成以上两步操作fih仍保持原值,即fih=LOW,不应为2。
表1 SLCF和修正的SLCF模型敏感级标记值比较
针对1.2中3)信息非法泄漏问题,本文反例分析验证,说明存在安全隐患。假设有某一系统机密性敏感级分为绝密、机密、秘密和无密四级,为方便表述分别用数值3,2,1,0代表4个对应密级。如图1所示,进程process1是一个特洛伊木马,fc(process1)=3,文件file1和file2是系统中两个客体,fo(file1)=3,fo(file2)=1,fc(process2)=1。
图1 特洛伊木马引起信息泄密实例
按照原SLCF模型规则依次完成以下三步操作:a)(process1,file1,r);b)(process1,file2,a);c)(process2,file2,r)。各步操作敏感级函数标记值变化如表2所示。
步骤1:进程process1读file1。因fc(process1)=fo(file1)=3,满足规则1条件fc≥fo,故读请求被允许,主客体各安全标记值不变;
步骤2:进程process1将file1添加到file2。因fc(process1)=3,fo(file2)=1,不满足规则2外层条件fo≥fc,继续进入内层判断,满足fo≥fih(fih= LOW),故写请求被允许,各安全标记值分别调整为:fc(process1)=Min(fc(process1),fo(file2))=1,fol(process1)=Min(fol(process1),fo(file2))=1,fih不变;
步骤3:进程process2读file2。因fc(process2)=fo(file2)=1,满足规则1条件fc≥fo,故允许完成将添加进文件file2的文件file1读入到进程process2中。
表2 SLCF模型下各主客体标记函数值变化
根据SLCF模型规则,由表2各时刻敏感级函数变化分析可以看出,含有特洛伊木马的进程process1已将高敏感级文件file1通过文件file2间接地泄漏给了低敏感级的进程process2。显然这违背了BLP的“上写下读”基本安全策略。
2.1 修正原因
造成以上结果的根本原因是foh,fil作为主客体读写访问历史记录,正确的访问规则应是只要允许访问操作发生就要“记忆”信息流入流出记录,并用作下次访问判断条件。具体来说,只要读操作被允许就应比较fih和fo的大小关系,并始终保证fih取fih和fo中最大值,而非仅仅考虑不满足读操作的外层条件(fc≥fo)时才考虑fih的变化。同理,只要写操作被允许就要比较fo和fol的大小关系,并始终保持fol取fol和fo中最小值。即如读操作被允许,则fih=Max(fih,fo);如写操作被允许,则fol=Min(fol,fo)。若读写操作双向允许,则fih=Max(fih,fo)和fol=Min(fol,fo)。
2.2 修正规则
规则1(读访问)a)若满足外层判断条件fc≥fo,则允许主体S读取客体O,同时让fih=Max(fih,fo);b)、c)保持不变。
规则2(写访问)a)若满足外层判断条件fo≥fc,则允许主体S添加客体O,同时让fol=Min(fol,fo);b)、 c)保持不变。
规则3(读写双向访问)a)若满足外层判断条件fc=fo,则允许主体S对客体O双向读写访问,同时让fih=Max(fih,fo),fol=Min(fol,fo);b)、c)保持不变。
2.3 安全验证
同样,对修正规则依次完成以下操作,分析验证其安全性。三步操作分别为:(process1,file1,r),(process1,file2,a),(process2,file2,r),各时刻敏感级函数标记值变化如表3所示。
第一步:进程process1读file1。因fc(process1)=fo(file1)=3,满足规则1外层条件fc≥fo,故读请求被允许,同时执行fih=Max(fih,fo),则fih=3;
第二步:进程process1将file1添加到file2。因fc(process1)=3,fo(file2)=1,不满足修正规则2外层条件fo≥fc,进入内层判断仍不满足fo≥fih(fih=3),故写请求被拒绝,各安全标记函数值不变;
第三步:因第二步进程process1已被拒绝将file1添加到file2,故进程process2虽然可读访问file2,但却无法通过file2读取到file1高密级信息,从而有效防止了信息泄漏。
通过以上实例分析可见,在不改变BLP经典模型“上写下读”基本原则的前提下,与原文献方法相比该修正有效地避免了高密级信息向下的非法泄漏,并在保证安全性的前提下增强了原模型的灵活性,是对SLCF方法的有效改进。
表3 修正规则下各主客体标记函数值变化
本文针对BLP经典模型的局限性,介绍了在实际系统应用中增强BLP模型灵活性的各种改进方法。以实例方式对BLP模型的SLCF改进方法进行分析验证,指出该方法存在的信息泄漏安全隐患。最后,提出改进思路,给出修正规则,并通过实例验证了该修正方法的有效性。
最后必须强调,对BLP模型的灵活性和可用性改进,都应以优先考虑系统的安全性为前提,缺少了机密性保护而空谈对BLP模型改进,就失去了改进的价值和意义。
[1]Bel D E,Lapadula J L.Secure computer systems: mathematical foundations,M74-244[R].Bedford:The MITRE Corporation,1973.
[2]刘波,陈曙晖,邓劲生.Bell-LaPadula模型研究综述[J].计算机应用研究,2013,30(3):566-660.
[3]Ott A.Regel-basierte zugriffskontrolle nach dem generalized framework for access controlansatz am beispiel Linux[R].[S.L.]:Diplomarbeit Universitat Hamburg,1997.
[4]石文昌,孙玉芳,梁洪亮.经典BLP安全公理的一种适应性标记实施方法及其正确性[J].计算机研究与发展,2001,38(11):1366-1372.
[5]石文昌,梁洪亮,孙玉芳.主体当前敏感标记动态确定方案研究[J].电子学报,2001,29(8):1046-1049.
[6]季庆光,卿斯汉,贺也平.一个改进的可动态调节的机密性策略模型[J].软件学报,2004,15(10):1547-1557.
[7]司天歌,谭智勇,戴一奇.一种对多级安全模型安全性的分析方法[J].计算机研究与发展,2008,45(10):1711-1717.
[8]梁洪亮,孙玉芳,赵庆松,等.一个安全标记公共框架的设计与实现[J].软件学报,2003,14(3):547-552.
(责任编辑:李堆淑)
A Correction in an Im proved BLP M odel Based on Access History
LIU Ai-jun1,TIAN Yi2
(1.College of Mathematics and Computer Application,Shangluo University,Shangluo 726000,Shaanxi; 2.College of Economic and Management,Shangluo Univerrsity,Shangluo 726000,Shaanxi)
The SLCF model can′t adjust the subject security label properly by using dynamic methods and may cause a variety of security risks such as information leakage.To circumvent above-mentioned problems,we point out the shortcomings in the present model and propose a new improvement access control rules by integrating BLP basic security policies.From the information transmission angle,the rules modify the information flow marking functionon the basis of access history.A living example is introduced to validate the accuracy of correction.The results show that our improvement access control rules can prevent illegal information leakage and enhance the security of the system on the premise ofavailability and flexibility.
BLP;correction;confidentiality;availability;SLCF
TP309
A
1674-0033(2015)06-0011-04
10.13440/j.slxy.1674-0033.2015.06.003
2015-10-15
陕西省教育厅专项科研计划项目(14JK1221)
刘爱军,男,陕西洛南人,硕士,副教授