一种基于穷尽搜索的操作系统客体重用检验方法

文档序号:6335290阅读:473来源:国知局
专利名称:一种基于穷尽搜索的操作系统客体重用检验方法
技术领域
本发明涉及一种基于穷尽搜索的操作系统客体重用检验方法。尤其指一种基于穷尽搜索的操作系统内存空间、磁盘空间客体重用检验方法。本发明属于信息安全及计算机操作系统领域。
背景技术
GB17859-1999将计算机信息系统的安全保护能力划分为五个等级,从第二级系统审计保护级开始,要求计算机信息系统具备保护客体重用的能力。具体规定为“在计算机信息系统可信计算基的空闲存储客体空间中,对客体初始指定、分配或者再分配一个主体之前,撤销该客体所含信息的所有授权。当主体获得对一个已经释放的客体的访问权时,当前主体不能获得原主体活动所产生的任何信息。”防止操作系统中存在客体重用现象是开发可信级别操作系统的重要内容。在操作系统环境中,客体的种类主要有内存、系统缓存、寄存器、磁盘空间等。由于现代操作系统普遍运行于保护模式,对用户进程和内核空间实施了保护,操作系统的客体重用检验主要针对进程内存空间和用户磁盘空间进行。在设计客体重用检验工具时,必须特别注意以下问题1.客体重用保护要求对TCB (可信计算基)安全控制范围之内的所有客体资源,在将其从某一用户或代表该用户运行的进程释放时,应将其中的残留信息全部清除。而目前大多数操作系统对于客体的分配和释放是以块为单位,如Windows操作系统进行内存分配时以一个页面作为最小分配空间,而进行磁盘空间的分配时,默认分配块大小为512字节。 由于主体在申请存储空间时的大小并不固定,所申请的存储块中很可能包含有其他内容, 而此时在进行空间释放时,并不将该存储块交还给系统而是继续占有。因此,当主体申请或者释放某块存储区域不一定会触发操作系统为其进行存储块的分配与释放。为此,在进行客体重用检验时,必须确保以前的主体已经彻底地释放了目标存储空间。2.在不同主体之间进行客体重用对比检验的时候,必须确保进行检验的是同一块存储区域,而在操作系统中,无论是物理内存还是磁盘都被系统进行了抽象,主体只能够通过抽象过的逻辑地址对其进行操作,而真正的物理地址被操作系统进行了屏蔽,因此在不同主体间相同逻辑地址的存储空间往往指向不同的物理位置。在进行客体重用检验时,必须采用如内存、磁盘等的物理地址作为检验的基准。目前,对于物理内存和磁盘空间的客体重用的检验,《信息安全信息系统安全等级保护测评准则》中给出了一般化的检验方式和指导步骤,但对于具体的检验技术和工具并没有相关报道。

发明内容
针对现有客体重用检验技术的不足,本发明提供一种基于穷尽搜索的操作系统客体重用自动检验方法,包含内存空间客体重用检验方法和磁盘空间客体重用检验方法。
本发明解决其技术问题所采用的技术方案是设计一个内核驱动程序,在应用层通过物理地址直接对内存空间进行读写,然后以穷尽搜索的方式对读取的数据进行特殊字符匹配,检验用户内存空间是否存在客体重用的现象。磁盘空间客体重用检验实现一个内核驱动程序,该驱动程序可以将磁盘文件存储的逻辑地址转换为磁盘物理地址,直接通过物理地址读取磁盘上的存储信息,然后采用穷尽搜索的方式检验磁盘空间是否存在客体重用现象,进程用户空间内存客体重用检验方法将检验在同一块物理内存区域被某个进程使用过后再被分配给另一个进程时,后者能不能从中获得属于前者的关键信息。磁盘空间客体重用检验方法将检验一块磁盘空间被某个用户使用并释放后,再分配给另一个用户后,是否可能包含属于原用户的信息。1.内存空间客体重用检验方法相应的检验步骤如下步骤1 启动进程A,为其申请一块内存空间,在其中写入特征字符。步骤2 通过内核驱动程序将所申请内存空间的虚拟地址转换为物理地址传递给检验进程B,进程A完全释放所申请的内存空间。步骤3 开启客体重用检验进程B,通过所传入的物理地址为其分配一块相同大小的内存空间。读取该空间的存储信息,然后采用穷尽搜索的方式对所获取的数据进行特征字符匹配,若存在属于进程A的特征字符则表示存在客体重用。2.磁盘空间客体重用检验方法相应的检验步骤如下步骤1 以用户Ul的身份登录操作系统,在一个空文件系统中创建一个文件A,在其中写入特征字符X。步骤2 启动内核驱动程序,获取文件A保存的数据在磁盘中存储的物理地址(CHS 信息),记录该信息。步骤3 删除文件A释放该存储空间,以用户U2的身份登录操作系统,通过CHS信息读取磁盘上的数据,以穷尽搜索的方式对所读取的数据进行特征字符匹配,如果存在文件A中的特征字符,则表明存在客体重用现象。本发明的有益效果是在内存空间客体重用检验中直接通过物理地址操作内存空间,而不必通过反复在虚拟空间申请内存,然后匹对物理地址判断前后申请的内存是否为同一块物理空间。这种检验方式可以保证检验的客体对象为同一块物理内存,保障了客体重用检验的准确性。在磁盘空间客体重用检验中通过文件存储的物理地址直接读取磁盘空间的数据, 然后以穷尽搜索的方式进行特征字符匹配,不需要对整个文件系统进行全盘搜索,可以极大的提高检验速度。通过设计一个内核驱动程序将存储文件的逻辑地址转换为磁盘物理地址,然后直接通过物理地址读取磁盘中的存储信息进行特征字符匹配,极大的简化了磁盘客体重用的检验方式,并提高了检验的准确性。


下面结合附图和实施实例对本发明进一步说明。图1为内存空间客体重用检验工作流程2为磁盘空间客体重用检验工作流程图
具体实施例方式—种基于穷尽搜索的操作系统客体重用检验方法,包含内存空间客体重用检验方法和磁盘空间客体重用检验方法。对于内存空间的客体重用检验,检验工具应该检验同一块物理内存区域在被某个进程使用过后再被分配给另一个进程时,后者不能从中获得属于前者的信息。对于磁盘空间客体重用的检验,检验工具应该检验同一块磁盘空间被属于某个用户的文件使用并释放后,另一个用户是否可以从该磁盘空间获取到属于原用户的数据。1.内存空间客体重用检验方法相应步骤如下步骤1 启动进程A,为其申请一块内存空间,在其中写入特征字符。由于操作系统进行内存管理时,为每个进程分配一个独立的4GB大小的虚拟内存地址空间,进程在进行内存申请时,实际是申请一段虚拟地址空间,然后由操作系统通过页面调度程序自动将虚拟地址映射成物理地址,而这一映射过程不能保证所申请的物理内存是连续的。为了提高客体重用检验的准确性,在检验过程中使得进程A申请的内存空间小于4K,由于操作系统进行页面调度的最小单位为一个页面(即4K)大小,因此保证了申请的内存空间在物理上是连续的。步骤2 通过内核驱动程序将所申请内存空间的虚拟地址转换为物理地址传给检验进程B,进程A完全释放所申请的内存空间。虚拟地址到物理地址的转换是实现客体重用检验的关键。但是现有操作系统地址转换工作都是由内核层完成,用户层只能得到转换后的虚拟地址,为此,可以以驱动程序的形式查找虚拟地址相应的页目录项PDE,从而得到该虚拟地址所对应页表的物理地址。根据页表的物理地址获取该页表中相应的页表项PTE,而PTE中包含该虚拟地址所对应物理页的物理地址。最后由虚拟地址的页内偏移与物理页的物理地址,即可以得到该虚拟地址所对应的物理地址。这种虚拟地址到物理地址的转换方式不需要更改系统的内核代码,极大的提高了检验方法的适用性。步骤3 开启客体重用检验进程B,通过所传入的物理地址为其分配一块相同大小的内存空间。读取该空间的存储信息,然后采用穷尽搜索的方式对所获取的数据进行特征字符匹配,若存在属于进程A的特征字符则表示存在客体重用。在进程A结束后,客体重用检验进程B通过传入的物理地址直接在原内存块上申请同样大小的物理内存。现在,多用户操作系统中,管理内存采取的是虚拟地址空间,而不是实际的物理内存空间,所以一般情况下进程得到的地址是物理地址映射后的虚拟地址, 无法得到其实际的物理地址。为了保证检验进程B申请的内存空间与进程A相同,我们通过硬件驱动程序来实现物理内存分配,从而保证进行客体重用检验时的检验对象为同一块内存空间。读取新分配的内存区域中存储的数据,以穷尽搜索的方式进行特征码匹配,若存在进程A设定的特征字符则说明系统存在内存空间客体重用问题。在进行实际测试时要注意尽量关闭系统的后台服务进程,使系统中其他内存分配操作的数量降到最低,避免进程A释放的内存空间被其他进程占有,从而使得客体重用检验进程申请此处内存失败。此外,进程B在进程A结束前启动,否则进程A释放的内存空间可能被进程B的代码段占用。
2.磁盘空间客体重用检验方法对于磁盘空间客体重用问题,不同主体间的磁盘客体重用测试可等价于测试一个磁盘空间被某个用户释放后分配给另一个用户后是否可能包含属于原用户的数据。磁盘空间客体重用检验与内存空间检验相似,需要对同一块磁盘空间进行特殊字符匹配,以检验是否存在客体重用现象。在实际检验过程中,要保证新用户所分配的磁盘空间包含原用户的磁盘空间。为此,在检验过程中可以通过设计一个内核驱动程序,将原用户分配的数据存储地址转换为磁盘物理地址,然后通过删除文件的方式彻底释放这段磁盘空间,系统为新用户重新分配磁盘空间后,通过磁盘物理地址直接读取存储于这段地址空间的数据,然后以穷尽搜索的方式进行特征字符匹配。磁盘空间客体重用检验过程步骤如下步骤1 以用户Ul身份登录一个空文件系统,在其中创建一个文件A,并写入特征
字符串。步骤2 启动内核驱动程序,将文件A在磁盘中存储的逻辑地址转换为磁盘物理地址,然后删除文件A。步骤3 注销文件系统,以用户U2的身份登录,通过磁盘物理地址直接读取磁盘空间存储的数据,然后以穷尽搜索的方式进行特征字符匹配,若存在文件A中的特征字符则表明系统存在客体重用现象。由于目前的文件系统所能存储的数据量非常庞大,因此如果通过遍历整个文件系统的方式进行客体重用检验,势必会极大地降低检验效率。因此,在该发明中首先通过磁盘物理地址直接读取存储在相同磁盘空间中的数据,然后再进行特殊字符匹配,这样极大的提高了客体重用检验的效率,而且由于前后检验的客体对象是同一块物理空间,保证了检验的准确性。
权利要求
1. 一种基于穷尽搜索的客体重用检验方法,包含内存空间客体重用检验方法和磁盘空间客体重用检验方法。内存空间客体重用检验的特征是通过内存物理地址在原内存空间中为检验进程分配相同的内存空间,并对该空间中的存储数据采用穷尽搜索的方式进行关键字匹配。磁盘空间客体重用检验的特征是通过内核驱动程序获取数据存储的磁盘物理地址,通过物理地址直接进行磁盘空间存储数据的读取,然后采用穷尽搜索的方式进行特殊字符匹配。内存空间客体重用检验方法检验步骤如下步骤1 启动进程A,为其申请一块内存空间,在其中写入特征字符。步骤2 通过内核驱动程序将所申请内存空间的虚拟地址转换为物理地址传递给检验进程B,进程A完全释放所申请的内存空间。步骤3 开启客体重用检验进程B,通过所传入的物理地址为其分配一块相同大小的内存空间。读取该空间的存储信息,然后采用穷尽搜索的方式对所获取的数据进行特征字符匹配,若存在属于进程A的特征字符则表示存在客体重用。磁盘空间客体重用检验方法检验步骤如下步骤1 以用户Ul的身份登录操作系统,在一个空文件系统中创建一个文件A,在其中写入特征字符X。步骤2 启动内核驱动程序,获取文件A保存的数据在磁盘中存储的物理地址(CHS信息),记录该信息。步骤3 删除文件A释放该存储空间,以用户U2的身份登录操作系统,通过CHS信息读取磁盘上的数据,以穷尽搜索的方式对所读取的数据进行特征字符匹配,如果存在文件A 中的特征字符,则表明存在客体重用现象。
全文摘要
本发明提供一种基于穷尽搜索的操作系统内存空间、磁盘空间客体重用检验方法,属于信息安全及计算机操作系统领域。内存空间客体重用检验的特征是,采用内核驱动程序进行虚拟地址到物理地址的转换,通过内存物理地址为检验进程分配相同的内存空间,并对该空间中的存储数据采用穷尽搜索的方式进行关键字匹配。磁盘空间客体重用检验的特征是,通过内核驱动程序获取数据存储的磁盘物理地址,通过物理地址直接进行磁盘空间存储数据的读取,然后采用穷尽搜索的方式进行特殊字符匹配。本发明可以快速、有效的对内存、磁盘空间进行客体重用检验,不需要对内存、磁盘空间进行全盘搜索遍历,使用方便、高效,检验结果准确。
文档编号G06F17/30GK102467509SQ201010533190
公开日2012年5月23日 申请日期2010年11月5日 优先权日2010年11月5日
发明者张海霞, 李金戈, 连一峰, 陈平, 鲍旭华 申请人:中科正阳信息安全技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1