[发明专利]安全操作系统中防止文件客体重用的方法有效
申请号: | 201210149725.8 | 申请日: | 2012-05-15 |
公开(公告)号: | CN102708323A | 公开(公告)日: | 2012-10-03 |
发明(设计)人: | 刘燕;龚文;王戍靖;郎金刚;武术;周启明;刘冬梅 | 申请(专利权)人: | 中科方德软件有限公司;中国科学院软件研究所 |
主分类号: | G06F21/00 | 分类号: | G06F21/00 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 安全 操作系统 防止 文件 客体 重用 方法 | ||
技术领域
本发明涉及安全操作系统(OS)设计领域,尤其涉及一种安全操作系统中防止文件客体重用的方法。
背景技术
操作系统中的客体重用,是指客体在被释放(或删除)时,仅仅释放该客体在文件系统中的索引,而所占用的磁盘块中的内容并未清空。当创建新的客体时,有可能利用到以前客体中的内容,例如磁盘块,从而造成信息泄漏。所述客体,具体指磁盘文件,即存储在可擦写介质上(一般为磁盘)上的具有索引结构的文件系统上的文件,也包括一部分内存中的文件系统,如ramfs、ramdisk上的文件系统等。
客体的重用是使用索引文件系统的操作系统中典型的安全漏洞之一,由于索引文件系统的固有结构,为了性能需要,客体的创建和删除一般仅仅更新索引项,这就造成了客体内容可能复用的问题。例如:Linux操作系统,出于性能的考虑,对于资源的管理采用即时分配和丢弃方式,通过指针、掩码等方式表示资源的分配情况,而不是将资源真正的分配和回收。以磁盘文件为例,在安全操作系统所支持的ext3文件系统上,文件是以i节点存储的,每个i节点指示了该文件所有的磁盘块;而i节点和磁盘块均是以掩码方式标识该块的使用情况。当用户删除文件时,只是将相应的i节点掩码和磁盘块掩码去掉,而该文件的内容仍然还存储在磁盘块上,该磁盘块并不会被清空。因此当其他用户创建一个新的文件时,这些磁盘块有可能被分配到该文件,用户读取该文件时,就可能读到原来的文件中的部分内容,即发生了信息泄漏。操作系统中除了磁盘文件外,还有其他客体,如动态内存、IPC对象等,由于频繁的分配和回收机制并不改变其内容,因此也会造成信息泄漏。其中最重要的客体是磁盘文件。
由于多任务操作系统中对文件的操作涉及到的场景比较复杂,涉及一个进程多次打开文件、多个进程打开一个文件、硬链接等各种各样的场景,而不能仅仅由删除客体的发起者做简单的清空,因此解决客体重用的方法一般都是在程序做文件删除的系统调用时,由操作系统内核将文件内容清空,以保证该操作的原子性,而不会造成用户态程序的同步问题。
在现有的操作系统内核中,执行删除的系统调用前将文件清空的做法比较简单,保证清空和删除这两个操作的原子性,不会影响到其他进程访问该文件产生的异常行为。但是,由于输入/输出(I/O)系统调用的不可重入性,在这两个操作完成前,内核无法返回用户态,当前处理器上的其他所有进程均会阻塞,从而严重的影响性能。尤其是在删除较大的文件时,将导致操作系统停止响应等严重问题。因此,从这个意义上讲,恶意的大文件删除操作导致系统性能降低也是一种攻击。
发明内容
有鉴于此,本发明所要解决的技术问题在于提供一种安全操作系统中防止文件客体重用的方法,以解决现有的防止客体重用技术中的性能缺陷(如由于内核的工作过于集中导致防止客体重用策略失效等),通过将大量操作系统内核的工作转移到用户态程序,并通过设计严格的同步机制,使多任务环境下不会产生同步问题,以改善系统运行的性能和避免在防止文件客体重用时引起的信息泄露。
为解决上述技术问题,本发明一方面提供了一种安全操作系统中防止文件客体重用的方法,其特征在于,当应用程序需要删除文件客体时,首先所述应用程序通过fcount系统调用从系统内核获取所述需要被删除文件客体的引用计数;当引用计数为0时,文件操作系统调用对该文件客体设置互斥机制,并将被删除文件客体内容清空。
进一步,本发明所述的安全操作系统中防止文件客体重用的方法,其特征在于获取所述需要被删除文件客体的引用计数的方式为通过路径获取对应文件客体的引用计数或者通过文件描述符获取对应的文件客体的引用计数。
进一步,本发明所述的安全操作系统中防止文件客体重用的方法,其特征在于,所述fcount系统调用包括两个操作常量:FCOP_FD和FCOP_PATH;其中,对于获取一个路径名表示的文件客体,要获得其引用计数,则传入FCOP_PATH和相应的路径;对于获取一个文件描述符对应的文件客体,则通过传入FCOP_FD和文件描述符得到其引用计数。
进一步,本发明所述的安全操作系统中防止文件客体重用的方法,其特征在于,所述文件操作系统调用为unlink操作。
进一步,本发明所述的安全操作系统中防止文件客体重用的方法,其特征在于,所述文件操作系统调用为close操作。
进一步,本发明所述的安全操作系统中防止文件客体重用的方法,其特征在于,所述文件操作系统调用为_exit操作。
进一步,本发明所述的安全操作系统中防止文件客体重
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中科方德软件有限公司;中国科学院软件研究所,未经中科方德软件有限公司;中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210149725.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:牧草强化发酵浸浆制酶技术及移动式太阳能发酵床
- 下一篇:管道下料辅助划线装置