当前位置: 首页 > 专利查询>江苏大学专利>正文

一种基于系统操作指南的隐通道搜索方法技术方案

技术编号:8594077 阅读:210 留言:0更新日期:2013-04-18 07:17
本发明专利技术公开了一种基于系统操作指南的隐通道搜索方法,首先标识出系统中所有被多个用户共享的对象;对每个对象标识出该对象拥有的所有属性;将属性分成布尔型、数值型、字符型三种类型;对每种类型,依据系统操作指南将引起属性相同变化的高安全级用户的操作序列归结为一类,将引起属性相同变化的低安全级用户的操作序列归结为一类;在高低安全级用户的每一类操作序列中分别随机选取一个操作序列,将两个操作序列按照组合规则组成一个新操作序列集;运行所有新操作序列并记录结果;如果某个新操作序列的执行结果与运行低安全级用户选取的操作序列得到的结果不一致,则新操作序列可用来产生隐通道。适用于面向用户的多级安全系统中的隐通道搜索。

【技术实现步骤摘要】

本专利技术属于信息安全
,涉及一种基于系统操作指南的对多级安全系统进 行隐通道搜索的方案。
技术介绍
多级安全系统因为不存在密钥管理、以及对用户透明等优点,所以在军方、企业的 内部网络中得到了广泛应用。但多级安全系统中存在着一个重要的安全隐患,即隐通道问 题。由于隐通道在导致机密性信息泄漏方面所起的作用,美国国防部率先在其发布 的可信计算机系统评估准则(TCSEC)中,将隐通道明确列入评估的指标,规定在B2级及 以上高安全等级系统设计和开发中,必须进行隐通道分析。其后,多个国家都在相应的标 准中对隐通道分析作了硬性规定。我国《计算机信息系统安全保护等级划分准则》(GB 17859-1999)中也规定对于第四级(结构化保护级)和第五级(访问验证保护级)的安全系 统,系统开发者应彻底搜索隐通道,并根据实际测量或工程估算确定每一个被标识信道的 最大带宽。彻底搜索隐通道,即标识隐通道的工作是隐通道分析中最为困难的一环。其困难 性体现在理论和工程实践两个方面第一理论上仍然不够成熟,没有严谨且行之有效的方 法;第二实际工作量庞大,手工分析容易出错,缺乏行之有效的自动工具。目前存在的隐通 道搜索方法主要有下面四种。共享资源矩阵法共享资源矩阵法由Kemmerer于1983年提出,是迄今为止最为成功的一种隐蔽通 道标识方法。该方法的分析步骤是1、分析所有的可信计算基TCB原语操作,确定通过TCB接口用户可见/可修改的 共享资源属性;2、构造共享资源矩阵,该矩阵的各行对应于用户可见的TCB原语,各列对应于用 户可见/可修改的共享资源属性。如果一个原语可以读一个变量,则将该矩阵项(TCB原语, 变量)标记为R。类似地,如果一个原语可以修改一个变量,则将该矩阵项(TCB原语,变量) 标记为M。最后,将既不能读又不能写的变量合并,分析时将它们视为一个变量。3、对共享资源矩阵完成传递闭包操作,具体步骤如下在矩阵中搜索包含标记R 的每一项,如果该项所在的行中出现M标记,则检查包含该M项的所在列。如果在该列的任 意一个行中出现R标记,且该行与原始R项所在列的对应行中没有R标记,则在该矩阵项中 增加间接读标记r。重复以上操作,直到矩阵中无法再增加r项时为止。注意,这里区分r 与R仅表明,r为间接读,R为直接读。在今后的分析中,将r等同地视为R。4、分析每个矩阵行,找出同时包含R和M的行,并删去其他矩阵行。当一个进程可 以读一个变量且另一个进程可以写该变量时,如果写进程的安全级支配读进程的安全级, 就可能产生潜在的隐蔽通道。通过对矩阵项的分析,可以得到以下4种不同类型的通道(I)该通道为合法通道,将它标记为“L”;(2)从该通道无法获得有用的信息,将它标记为“N” ;(3)发送进程与接收进程是同一个进程,将它标记为“S” ;(4)该通道为潜在的隐蔽通道,将它标记为“P”。5、分析矩阵所有的项,构造潜在隐蔽通道的实际应用场景。可以构造出实际应用场景的潜在隐蔽通道,即为真实隐蔽通道。语法彳目息流方法语法信息流方法的分析步骤是,(I)将信息流语义附加在每个语句之后。例如,当 b不为常数时,赋值语句a: = b产生由b到a的信息流,用a — b表示,并称之为“明流”。类似地,条件语句产生暗流。例如,if X = a then y: = b else z: = c产生的暗流是y — x 和z —x。这时,同时存在明流y — b和z — c。(2)定义安全信息流策略,例如“如果信息从变量b流向变量a,则a的安全级必须支配变量b的安全级”。(3)将流策略应用于形式化顶层规范或源代码,生成信息流公式。例如,a: = b的流公式为SL(a) ^ SL(b),其中 SL(X)表示变量X的安全级。(4)证明流公式的正确性。如果无法证明某个流公式的正确性,则需要进一步对语句进行语义分析,并判断该信息流(a)是非法流还是伪非法流;(b) 是否能够产生真实隐蔽通道,而不只是潜在隐蔽通道。语义信息流方法语义信息流方法的分析步骤是,(I)选择用于隐蔽通道分析的内核原语;(2)确定内核变量的可见性/可修改性(i)通过语义分析,确定内核变量的直接可见性/可修改性;(ii)对每个原语生成一个“函数调用依赖关系”集合F⑶;(iii)通过信息流分析,确定内核变量的间接可见性;(iv)在每个原语中解决变量别名问题;(V)标识在原语间共享的用户进程可见/可修改的变量,消除局部变量;(3)分析共享变量,并标识隐蔽存储通道。无干扰方法无干扰方法的本质是一个用户不应当知道他不支配的其他任何用户的任何动作。 他们将可信计算基TCB视为一个状态机,并定义了两个用户进程之间的无干扰概念。假设状态机有一个初始状态,称一个用户进程与另一个用户进程是无干扰的,如果从初始状态开始,删除第I个进程所有的输入(等价于从来没有这些输入),第2个进程的输出没有任何变化。可以证明,进程之间无干扰具有以下性质如果一个进程的输入不能影响另一个进程的输出,则不可能从第I个进程向第2个进程传输信息。依据上述搜索方法所分析的对象不同可将它们分成基于系统顶级描述和基于系统源代码的搜索方法。这意味着上述两类方法需要系统的开发者提供详尽的系统顶级描述和源代码,然而在实际的软件开发过程中开发者为了保护自己的利益不愿意把顶级描述和源代码提供给用户`,从而`导致用户无法使用目前存在的方法对系统进行隐通道搜索,进而无法发现系统中存在的机密信息泄露途径。但是用户为了保证机密信息不被泄露,必须对系统进行隐通道搜索,从而堵住信息泄露的途径。因此现有技术缺少面向用户具有普遍适用性的隐通道搜索方法。
技术实现思路
为了解决以上技术问题,本专利技术提出一种面向用户的基于系统操作指南的隐通道搜索方法。系统操作指南是开发者必须提供给用户的文档,该方法基于系统操作指南进行搜索,使得分析者在无法获得系统顶级描述和源代码的情况下也可以搜索隐通道,发现系统中存在的信息泄露途径。具体技术方案如下。,其特征在于包括以下步骤步骤一,依据系统操作指南标识出系统中所有被多个用户共享的对象,记为 Object1, Object2,…,Objectn ;步骤二,依据系统操作指南对每个对象Objecti (I ≤ i ≤ η)标识出该对象的属性 Propertyi, η …,Propertyiilll ;步骤三,对每个属性PropertyiJd≤i≤η, I≤j≤m),依据属性的类型是布尔类型,数值类型,还是字符类型,计算相应的操作序列集Seq(PropertyiJ);步骤四,将所有属性Property^· (I≤i≤η, I≤j≤m)对应的序列集 seq (Propertyi; j)合并为集合Com,对Com中的每一个元素a ,运行操作序列a并记录得到的结果,运行由a中低级用户的操作组成的序列并记录得到的结果,如果两个结果不一致, 则断言操作序列a会导致隐通道。对于布尔类型的属性,所述操作序列集的计算方法包括以下步骤步骤A,对于低级用户L,在系统操作指南中随机选择一个使得Propertyi,」的值从 O变为I的操作序列,记为Oper1 = on, . . . , Ole ;随机选择一个使得Propertyi,」的值从I变为O的操作序列,记为oper2 = O21本文档来自技高网
...

【技术保护点】
一种基于系统操作指南的隐通道搜索方法,其特征在于包括以下步骤:步骤一,依据系统操作指南标识出系统中所有被多个用户共享的对象,记为Object1,Object2,…,Objectn;步骤二,依据系统操作指南对每个对象Objecti(1≤i≤n)标识出该对象的属性Propertyi,1,…,Propertyi,m;步骤三,对每个属性Propertyi,j(1≤i≤n,1≤j≤m),依据属性的类型是布尔类型,数值类型,还是字符类型,计算相应的操作序列集seq(Propertyi,j);步骤四,将所有属性Propertyi,j(1≤i≤n,1≤j≤m)对应的序列集seq(Propertyi,j)合并为集合Com,对Com中的每一个元素a,运行操作序列a并记录得到的结果,运行由a中低级用户的操作组成的序列并记录得到的结果,如果两个结果不一致,则断言操作序列a会导致隐通道。

【技术特征摘要】
1.ー种基于系统操作指南的隐通道捜索方法,其特征在于包括以下步骤 步骤一,依据系统操作指南标识出系统中所有被多个用户共享的对象,记为Object1, Object2,…,Objectn ; 步骤ニ,依据系统操作指南对姆个对象Objecti (I < i < n)标识出该对象的属性Propertyij 1;…,PropertyiJ ; 步骤三,对姆个属性Property^ (1: 1: n,1: j彡m),依据属性的类型是布尔类型,数值类型,还是字符类型,计算相应的操作序列集Seq(PropertyiJ); 步骤四,将所有属性PropertyiJd彡i <n, I彡j彡m)对应的序列集seq (Propertyi,」)合并为集合Com,对Com中的每ー个元素a,运行操作序列a并记录得到的结果,运行由a中低级用户的操作组成的序列并记录得到的结果,如果两个结果不一致,则断言操作序列a会导致隐通道。2.如权利要求1所述的ー种基于系统操作指南的隐通道捜索方法,其特征在于对于布尔类型的属性,所述操作序列集的计算方法包括以下步骤 步骤A,对于低级用户L,在系统操作指南中随机选择ー个使得PropertyiJ的值从0变为I的操作序列,记为Oper1 = O11, . . . , Ole ;随机选择ー个使得Property^的值从I变为0的操作序列,记为oper2 = O21, . . . , O2r ;随机选择ー个使得PropertyiJ的值保持为0的操作序列,记为oper3 = O31, . . .,O3t ;随机选择ー个使得PropertyiJ的值保持为I的操作序列,记为 Oper4 = O41, . . . , O4y ; 步骤B,对于高级用户H,在系统操作指南中随机选择ー个使得PropertyiJ的值从0变为I的操作序列,记为Seq1=S11, S12, . . . , Slq ;随机选择ー个使得Propertyi, j的值从I变为0的操作序列,记为seq2=s21,. . , S2w ; 步骤C,将Oper1与seq2组合成集合Seqoper1J,具体组合过程为序列sequence G Seqoper12当且仅当sequence的长度为e+w, sequence中的最后一个元素为Oper1中的最后ー个元素ole, sequence在集合Set (Oper1) (Set(Oper1)表示由Oper1中的操作构成的集合)上的投影等于Oper1, sequence在集合Set(Seq2) (Set(Seq2)表示由Seq2中的操作构成的集合)上的投影等于seq2 ; 步骤D,将Oper2与Seq1组合成集合Seqopei^1,具体组合过程为序列sequence G seqoper2;1当且仅当sequence的长度为r+q, sequence中的最后一个元素为Oper2中的最后ー个元素o2r, sequence在集合Set(Oper2)上的投影等于oper2, sequence在集合Set (Seq1)上的投影等于Seq1 ; 步骤E,将Oper3与Seq1组合成集合Seqopei^1,具体组合过程为序列sequence G seqoper3;1当且仅当sequence的长度为t+q, sequence中的最后一个元素为Oper3中的最后ー个元素o3t, sequence在集合Set(Oper3)上的投影等于oper3, sequence在集合Set (Seq1)上的投影等于Seq1 ; 步骤F,将Oper4与seq2组合成集合seqoper4,2,具体组合过程为序列sequence G seqoper4,2当且仅当sequence的长度为y+w, sequence中的最后一个元素为Oper4中的最后ー个元素o4y, sequence在集合Set(Oper4)上的投影等于oper4, sequence在集合Set(Seq2)上的投影等于Seq2 ; 步骤 G,合并所有的序列集 Ceq(PropertyiJ) = Seqoper12 U seqoper2;1 U seqoper3;1 Useqoper4,2 o3.如权利要求1所述的ー种基于系统操作指南的隐通道捜索方法,其特征在于对于数值类型的属性,所述操作序列集的计算方法包括以下步骤 步骤A,对于低级用户L,在系统操作指南中随机选择ー个使得PropertyiJ的值变大的操作序列,记为Oper1 = O11, . . . , Ole ;随机选择ー个使得Property^的值变小的操作序列,记为oper2 = O21, . . . , O2r ;随机选择ー个使得Propertyi,j的值保持不变的操作序列,记为Oper3 =O31, ,o3t ; 步骤B,对于高级用户H,在系统操作指南中随机选择ー个使得PropertyiJ的值变大的操作序列,记为Seq1=S11, S12, . . . , Slq ;随机选择ー个使得Property^的值变小的操作序列,...

【专利技术属性】
技术研发人员:周从华
申请(专利权)人:江苏大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1