[发明专利]一种Linux系统内存敏感数据的清除方法及装置有效
申请号: | 201410258526.X | 申请日: | 2014-06-11 |
公开(公告)号: | CN104007993B | 公开(公告)日: | 2017-05-10 |
发明(设计)人: | 涂碧波;朱民;孟丹 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 北京安信方达知识产权代理有限公司11262 | 代理人: | 王丹,栗若木 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 linux 系统 内存 敏感数据 清除 方法 装置 | ||
1.一种Linux系统内存敏感数据的清除方法,包括:
当进程调用close系统调用关闭文件时,或当因进程退出而调用exit_files关闭未关闭的文件时,通过文件结构struct file定位到相应的地址空间结构struct address_space,判断所要关闭的文件对应的inode结构是否有脏页,如果有则调用vfs_fsync函数只将该文件中的脏页回写到磁盘中;遍历所定位到的地址空间结构中的基数树,将基数树中的所有页面全部删除、清零后释放到空闲区;
在每个进程中构造读写链表,记录对设备文件读或写数据时在设备缓存中的起始地址address和数据长度length;在read系统调用或write系统调用退出时,通过遍历所述读写链表,对每个节点将从address开始,到address加length为止的地址空间中的数据清零。
2.如权利要求1所述的方法,其特征在于,还包括:
在进程调用exit系统调用进行退出而释放页表项对应的物理页框时,或是调用brk和unmmap系统调用时,在释放物理页框前将物理页框中的数据清零。
3.如权利要求1所述的方法,其特征在于,还包括:
定期进行下述操作:
将系统调用过程中遗留在当前内核栈中的数据用预定的四字节标志覆盖;标记所述内核栈中已覆盖的空间。
4.如权利要求3所述的方法,其特征在于,所述将系统调用过程中遗留在当前内核栈中的数据用预定的四字节标志覆盖的步骤包括:
当进程第一次系统调用离开内核栈,则找到thread_info的地址;当进程非第一次系统调用离开内核栈,则找到第一个具有连续50个所述预定的四字节标志的地址;如果不存在具有连续50个该所述预定的四字节标志的地址,则找到最后一个具有连续所述预定的四字节标志的地址;将从esp开始到所找到的地址之间的数据用所述预定的四字节标志覆盖。
5.如权利要求1所述的方法,其特征在于,还包括:
当回收内存时,加密写入交换区的数据;清除被换出到交换区的匿名页中的数据,以及被内存回收机制回收的页中的数据。
6.一种Linux系统内存敏感数据的清除装置,其特征在于,包括:
文件数据清除模块,用于当进程调用close系统调用关闭文件时,或当因进程退出而调用exit_files关闭未关闭的文件时,通过文件结构struct file定位到相应的地址空间结构struct address_space,判断所要关闭的文件对应的inode结构是否有脏页,如果有则调用vfs_fsync函数只将该文件中的脏页回写到磁盘中;遍历所定位到的地址空间结构中的基数树,将基数树中的所有页面全部删除、清零后释放到空闲区;
设备数据清除模块,用于在每个进程中构造读写链表,记录对设备文件读或写数据时在设备缓存中的起始地址address和数据长度length;在read系统调用或write系统调用退出时,通过遍历所述读写链表,对每个节点将从address开始,到address加length为止的地址空间中的数据清零。
7.如权利要求6所述的装置,其特征在于,还包括:
用户数据清除模块,用于在进程调用exit系统调用进行退出而释放页表项对应的物理页框时,或是调用brk和unmmap系统调用时,在释放物理页框前将物理页框中的数据清零。
8.如权利要求6所述的装置,其特征在于,还包括:
内核栈清除模块,用于定期进行下述操作:将系统调用过程中遗留在当前内核栈中的数据用预定的四字节标志覆盖;标记所述内核栈中已覆盖的空间。
9.如权利要求8所述的装置,其特征在于,所述内核栈清除模块将系统调用过程中遗留在当前内核栈中的数据用预定的四字节标志覆盖是指:
所述内核栈清除模块当进程第一次系统调用离开内核栈,则找到thread_info的地址;当进程非第一次系统调用离开内核栈,则找到第一个具有连续50个所述预定的四字节标志的地址;如果不存在具有连续50个该所述预定的四字节标志的地址,则找到最后一个具有连续所述预定的四字节标志的地址;将从esp开始到所找到的地址之间的数据用所述预定的四字节标志覆盖。
10.如权利要求6所述的装置,其特征在于,还包括:
回收过程清除模块,用于当回收内存时,加密写入交换区的数据;清除被换出到交换区的匿名页中的数据,以及被内存回收机制回收的页中的数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410258526.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:向主机服务质量指标分配权重
- 下一篇:一种硬齿面轴装式减速机