隐通道识别技术研究
2026/9/24 11:39:15点击:
计算机科学幽。
隐通道识别技术研究朱虹冯玉才华中理工大学计算机学院加一引言计算机的广泛应用,在促进了社会的进步,为人类创造了巨大的财富的同时,也带来了计算机系统的安全性问题。
目前,这个问题已越来越成为关系国计民生的重要问题,也引起了人们的广泛关注。
根据川,开发具有级及以上的操作系统或数据库管理系统必须进行隐通道分析。
隐通道分析的关键在于隐通道的识别,只有在隐通道标识出来后才能估算隐通道的带宽,并采取一些策略消除隐通道限制隐通道的带宽或对隐通道审计。
在一安全的计算机系统中,采用了自主存取控制和强制存取控制来限制信息只通过合法的通讯通道如文件共享内存和进程信号等流动。
但不幸的是有些不可信的主体,使用系统的某一资源位置的存取或调整自己的运行时间来影响其他主体或其他主体的响应时间而发送信息给其他的主体,这就是存储隐通道和定时隐通道。
本文综述了对操作系统的隐通道分析的一些形式化方法,并比较了这些方法的优缺点。
二基本概念基本定义定义隐通道是系统的一个用户用违反系统安全策略的方式传送信息给另一用户的机制。
在一个系统操作系统或数据库管理系统中,给定一个安全策,本文获九五国防预研军事项目数据库安全技术资助。。
略模型M及其解释中的任何两个主体卜和间的潜在通信是隐蔽的当且仅当M的相应主体和间的通信在中是非法的闭。
定义特洛伊木马是一种人为地隐藏在正常软件中的秘密程序,它使所寄存的软件在完成指定功能时执行非授权的任务。
通过特洛伊木马的作用,使敏感信息泄露出去。
许多利用软件进行计算机犯罪的活动都是通过特洛伊木马程序进行的。
隐通道的特性隐通道包括存储隐通道与定时隐通道。
如果一个隐通道是一个主体直接或间接地写一存储位置而被另一主体直接或间接地读这个存储位置时,这个隐通道是存储隐通道。
如果一个隐通道是一个主体通过调整它自己的系统资源如时间的使用时间,而影响了另一个主体的实际的响应时间,从而发送信息给另一主体时,这个隐通道是定时隐通道。
系统中存在既是存储隐通道又是定时隐通道的通道,此时我们说这个通道同时具备存储隐通道与定时隐通道的特性。
隐通道往往通过系统原本不用于数据传送的系统资源来发送信息,并且这种通讯方式往往不被系统的存取控制机制所检测和控制。
存储隐通道采用符合其编码方式的对某存储位置的处理来发送信息,即发送者修改系统的某个共享资源属性而接收者能监测到这种修改。
定时隐通道则通过其经历的时间来传送信息,发送者通过调整接收者的响应时间来检测某个共享实体的变化。
尽管高安全级的用户有可能利用隐通道给低安全级的用户传送信息,但隐通道的主要的潜在威胁是它有可能被特洛伊木马所利用,而在安全系统之上运行不可信的应用程序又不失安全性是可信计算机系统的主要信条。
开发一级的安全系统必须对隐通道进行分析,并采取一定的策略消除或限制隐通道的使用。
一个隐通道的实例数据库系统的共享资源名或视图名及其访问权限就是一个潜在的存储隐通道。
另外,系统实现机制不同也会引人存储隐通道或定时隐通道。
例在一个采用了多级安全模型如格模型或模型的数据库管理系统中,采用自主存取控制和强制存取控制策略防止了数据库中的数据信息从高安全级流向低安全级,但是一个具有高安全级的不可信的主体用户仍然可以通过其他方式使得信息从高安全级流向低安全级。
在这样的系统中有一高安全级的用户和另一低安全级的用户他们的非分层范围相同,只是分层密级不同。
系统操作遵循下列规则创建一基表时,基表的安全级被设置为空即无安全级也即具有*低安全级2)系统实行自主存取控制,任何主体都可以将所建表的使用权限授予其他用户,并且这个授权的提交过程是系统自动完成的。
系统的任一用户可以查询数据字典,了解白己对系统哪些资源具有操作权限,资源的创建者是谁等。
系统实行强制存取控制,使得主体对客体的所有存取遵循下列多级安全模型中的原则,这两条原则主要用于防止信息从高安全级流向低安全级。
向下读仅当主体安全级中的分层密级大于或等于客体安全级的分层密级,且主体安全级中的非分层范围包含客体安全级中的所有非分层范围时,该主体才能读该客体。
向上写仅当主体安全级中的分层密级小于或等于客体安全级中的分层密级,且主体安全级中的所有范围包含于客体安全级的范围时,该主体才能写该客体。
由规则用户创建一基表按照规则他将的使用权限授予用户编码或不授予用户编码由规则可以通过查询数据字典了解他具有编码或不具有编码对表操作的权限。
使用表名及其存取权限可以实现从传送一位信息到从而引起了信息从高安全级流向低安全级,这种信息传送机制在规则的解释中是非法的。
尽管系统采用了强制存取控制策略规则但这种非法的信息传送机制饶过了强制存取机制的控制,这就是一个存储隐通道,如图所示。
上述信息传送方式完全可以由特洛伊木马程序来实现。
一表少火巴乡查询系统表用户对表有操作权限传送位信息一,一口非法信息流向合法信息流向共享系统资源图三隐通道的标识方法对于数据库管理系统的形式化隐通道标识,文献中说明非常少,而对操作系统的隐通道分析研究有一些形式化的方法,广泛采用了基于操作系统内核形式化顶层说明的分析,包括信息流分析法共享资源矩阵法无干扰分析方法隐蔽流树法等。
在形式化或描述性顶层说明中标识潜在隐通道有助于查找在*终实现时导致隐通道的设计漏洞。
设计漏洞的早期发现是改正设计的有用前提,此时只需要花较低的代价就可以改进这些漏洞。
但是完全依赖于顶层说明查找隐通道既不适当也不需要。
首先,这样做不能检测所有的实现代码中的隐通道,因为目前还没有形式化的方法来证明顶层与实现代码的一致性,这就无法保证在实现代码中不存在隐通道而且形式化或描述性顶层说明不包含数据结构和代码的细节来检侧代码中的由实现语言的语义控制语句,如分支语句循环语句等指针赋值结构中的变量别名等引起的间接的信息流动的描述其次,这种分析导致了错误的信息流动,也就是存在出现在形式化描述性说明中的隐通道可能在实现代码中不出现的情况。
本节重点介绍了隐通道的表示隐通道标识的信息来源目前的标识方法和它们的优缺点。
隐通道的表示操作系统的隐通道可以用内部变量及原语的两个集合表示,其中一个集合用绕过系统强制安全策略的方式变更变量值另一个集合以绕过系统强制策略的方式用于查看变量值多个原语对于查看变更变量是必须的,因为查看/变更变量之后,发送者和/或接收者得建立发送接收下一位的环境。
因此隐通道识别的首要目标就是发现所有的用于变更或查看的内部变量及原语,即所有的三元组变量,卜,其次,确定在通道内设置时间延迟噪声及审计代码降低通道带宽并监控隐通道使用的的位置。
内核变量的可查看性阶与变量的引用不同,同样,变量的可变更性与变量的修改也不同。
例如赋值语句二V表明被修改,卜被引用。
如果的状态和内容不通过内核界面输出给用户进程,的引用就是用户进程不可见的。
而且假设常量是仅有的赋给从的语句,此时被修改但不是可变更的,因为被设置一值被赋一常数不能用于隐蔽信息流。
若一个内核变量值的变更可被另一调用内核原语的用户进程检测,则这个变量在内核界面是可见的。
即变量的可查看性和变量的可变更性以是否在内核界面可见为原则。
变量可以是一个对象的属性,也可以是一种数据结构变量。
隐通道识别的信息来源隐通道识别的首要信息来源是包含原语描述和处理器指令及其对系统对象和寄存器的影响参数及其指令域等的系统参考手册详细的一系统的描述性顶层说明及级系统的形式化顶层说明源代码及处理器指令码。
使用这种方法的优点是这些信息可广泛采用。
缺点是首先,无论使用哪种系统参考手册,只能将及处理器作为基本的黑盒子系统实现细节不可见,使用系统参考手册不能达到发现所有的或近似于所有的隐通道的目的。
其次,基于系统参考手册进行分析太晚而不利于隐通道的处理,一旦系统实现手册己写出,通过修改界面规定来消除己发现的隐通道己不再可行再次,目前还没有方法来显示仅依赖于系统参考手册进行隐通道分析的精确程度。
到目前为止,大多数识别方法使用形式化顶层说明作为隐通道识别的主要来源。
这些说明比系统参考手册往包含更详细的适当的信息使用顶层说明有助于检测可能在*终实现时导致隐通道的设计漏洞,设计缺点的早期发现有助于将更正设计缺陷的代价降到*小。
识别方法符号信志流分析将信息流语义同每一条说明或实现语言的语句相联系。
例如形如一b的语句引起信息从流向用表示,当不为常量时类似的形如一b一的语句引起信息从流向并且定义一种流向策略如若信息从变量流向的安全级必须支配的安全级当用于说明性语句或代码时,流向策略有助于。
产生流向公式。
如流向公式就是, a的安全级多的安全级。
在信息流路径上将单个语句的所有信息流公式联合而成的完整的程序和原语说明或代码的流向公式,必须被证明是正确的。
若某一个程序流公式不能被证明,这个特别的流向可能导致隐通道的信息流向,而必须进一步分析。
即必须完成语义分析来确定①这个未被证明的流向是真的还是错误的非法信息流向这个未被证明的流是否有导致隐通道的使用场景。
人们已建立了各种工具将符号流分析应用于形式化说明。
符号信息流分析法有以下优点可以以直接的方式自动实现可用于形式化顶层说明和源代码可以增量地用于单个函数和原语在特别的说明或代码中,它不会错过任何导致隐通道的信息流向。
符号流分析法有这样三个缺点首先,会产生大量的错误的非法信息流向必须通过手工语义分析消除这种流向不适宜用于非形式化说明也不适宜为在中放置隐通道处理代码提供帮助。
享资源拒阵法用M法识别隐通道是由提出并用于若干个项目。
该方法用于描述或代码时需要以下几个步骤分析的所有原语操作,而不管这些操作是形式化的还是非形式化说明的,还是在源代码中的。
建立一由用户可见的原语作为行而可查看/可变更变量为列的共享资源矩阵,根据这些属性是读还是变更,用或M标记每一个原语,变量项这一步假设通过界面己经确定了可查看/可变更变量那些既不可单独查看也不可更改的变量合在一起作为一个单独的变量来分析。
对共享资源矩阵项完成一传递闭包,并加入相应矩阵项。
这一步中将标识所有间接的对变量的读。
只要一原语可读的变量可以被基于读变量的函数变更时,这个原语间接地读变量只要方法应用于非形式化的系统参考手册所定义界面说明一而不是运用于每个原语的内部说明一完成这一步仅能识别在之外的进程可以怎样使用隐蔽地由界面得到的信息。
因此只要用M法将作为黑盒子处理,就可以取消传递闭包这一步骤,因为这一步没提供任何附加的在说明或代码内的流动信息分析包含行项是或的每一矩阵列,每当这些列的变量由一个进程来读而由另一变量来写而且前一进程的优先级不支配后一进程的优先级时,这些列的变量可能支持隐蔽通信。
对共享资源矩阵的分析导致四种可能的结果在两个通信进程间存在合法的通道授权通道用标记不能从一个通道获得有井用的信息,用标记它发送者和接收者进程是相同的,用标记一个潜在的隐通道存在,用标记它通过分析所有的矩阵项。
发现潜在隐通道的使用场景。
这个方法有以下的优点首先。
用于形式化或非形式化软硬件说明,也可用于源代码其次,它不要求赋予表示在矩阵中的内部变量安全级,消除了主要的错误的非法信息流的来源。
但缺少安全级赋予变量有如下负面的影响首先,个别的原语或原语对不能孤立地被证明是安全的,这一缺点增加了增量分析新的功能的复杂性其次,汾析可标识潜在的隐通道,而这种隐通道可由信息流分析法自动消除。
尽管M法可以用于源代码分析,但是给源代码自动构造共享资源矩阵这项工作是*繁琐的步骤的工具至今不存在。
无干扰分析要求将看成抽象机器。
从用户进程的观点来看,提供了某种服务,一个进程的请求代表了抽象机器的输入。
的响应即数据值错误消息正确响应是的输出,而内部变量的内容构成了它当前的状态。
每一个输入都引起状态的变化如果必要的话和输出。
一个用户进程与另一个用户进程间无干扰是指将从初始状态起所有的来自*一个进程的愉入取消好象它们从未输入过一样,而由第二个进程观察到的输出不变。
即一个用户进程的输人不能影响另一个进程的输出,则在*一个进程和第二个进程间没有信息传递。
令和是某个抽象机的两个用户进程。
若是机器的以来自的一个输入结尾的输入序列,令是输出接收*后的输入后的输出假定当输入时机器处于初始状态为了表达无干扰,设是所有的输入从中删除后的剩余子序列。
如果对所有可能的以一输入结尾的输入序列有二Y则与间无干扰。
无干扰将整个输入序列包括许多一输入与单个一输出相联系,在隐通道分析中,传统的观点是一旦和间存在隐通道,每一个单个的一输入都对下一个一输出有影响。
而无千扰分析提出了另一种观点,的每一个输出都不影响所有的以前的输入。
这似乎有必要分析所有过去的输入因为假如每个输人某一延时都报告有一输出,就象若输人立即引起下一个输出一样,隐通道即产生了。
要分析从机器的初始状态以来的所有历史输入是非常麻烦的,也是不必要的,因为当前状态由所有的必要的信息确定下一个一输出,于是和间无干扰可以用当前状态而不是所有优先输入的历史状态表示。
若与间无干扰,的输人对的下一输出无影响。
而无干扰的要求比这更强,因为它要求的输入对的任何后续输出无影响。
为避免分析无界的输人序列,将的状态分成等价类,不必区分是使用现在的还是后续的输出。
两个状态是等价的,是指对相同的输入有相同的输出②任意的输入后相应的下一状态也是等价的。
即,与间无干扰当且仅当每个的输入占据一个等价于的状态。
用这种方法即可查找系统中的隐通道。
无干扰分析有以下优点可用于形式化的描述和源代码避免发现假的非法流可增量地用于单个的函数和原语。
但也有三个实际的缺点可用于形式化的顶层描述,还可用于源代码,将无干扰手工应用于大型是不实际的,无干扰分析是乐观的它试图证明在描述或代码中不出现干扰,它的*佳应用是可信进程分离的描述而不是包含大量共享变量即内核构件。
隐蔽流树法川这是一种较新的方法,提供了查找构成隐通道的场景的方法。
隐蔽流树法使用了树的数据结构模型化了信息从一个共享资源向另一个共享资源的流动,实现了系统地搜索通过共享变量属性发送而*终被监听进程所检测的信息传送方式。
构造隐蔽流树所需要的信息与基本共享资源矩阵所需要的信息相同。
每一个操作都用三个列表表示引用列表修改列表和返回列表。
返回列表包含更新用户输出时被引用的资源属性。
由文提出的法不区别流向多个目标的信息流,但只要稍作修改就可以标识多个目标的信息流。
首先确定一个重点分析的资源属性,树由发送者所作的对资源属性的修改动作和由接收者对该资源属性的修改的认可动作序列组成。
树根的左子树由发送者所作的对资源属性修改的一系列调用序列组成树根右子树由接收者的所作的认可资源属性修改的一系列操作序列组成。
树的构造是将修改列表中所包含的对象的任一操作加入到认可路径的直接认可分支,将在引用列表中所包含的对象的任意操作加入到导出的认可分支的操作中。
对上述加人的资源属性修改列表,加人直接和间接的认可操作,反复进行这个过程,直到所有的路径以直接认可结束或达到预先指定的深度并且剩余的导出认可路径以标记。
周游树得到由发送者和接收者传送信息的操作序列。
将这些序列简化,删除冗余的操作对或加入建立某一操作的有效操作的前提条件的操作如在读下转第页一为。二,这个表达式比例中约束代数表达式更为简单。
例下列的空间查询能用代数表示区域包含在中,选择包含于空间区域的空间对象。
的约束关系表示为氏区域相交在中,选择和空间区域相交的空间对的约束关系表示为氏洲相邻查询选择与空间对象相邻的对象,约束关系表示为氏氏。
二一二空间连接基于相交选择空间对象对任与相交刃。
卜司主卜司三二。
兀仁空间连接基于相邻选择空间对象对任与相邻瓜,口吠习尸三一卜司三兀仁之三万仁三夕二兀差查询选择中的空间对象中没有一个对象和在上的投影是相等的。
二口。
二二。
三主二)一冗仁和是分别查询空间对象的边界和内部的简写。
结论约束数据库用数学约束来建模可能无限的关系元组集。
本文中,为了解决约束数据模型和约束代数在建模空间对象时的不足之处,在嵌套关系语义的基础上,我们提出了嵌套约束数据模型和嵌套约束代数通过几个例子,我们证明了这个代数比约束代数川更适合于时空应用。
文给出了嵌套语义下的约束数据库实例区间约束数据库,它以易于实现而受到约束数据库研究者的重视。
参考文献目。眨乡一5训上接第页一文件前先打开该文件等这些操作序列被检查并确定哪些表示合法操作,将合法操作删除。
对剩余的序列进行分析看它们是否可以建立隐通道。
总之,尽管目前有一些形式化的方法来标识隐通道,无论采用什么方法都需要手工进行分析,所有形式化方法都无法代替经验技巧和敏捷的头脑来完成隐通道的识别。
参考文献砒一抽闷自即梦罗一
- 上一篇:没有啦
- 下一篇:计算机图形、图象自动识别系统鉴别真伪支票 2026/9/24
