[发明专利]一种模块加载方法、装置及电子设备有效
| 申请号: | 201510544043.0 | 申请日: | 2015-08-28 |
| 公开(公告)号: | CN105205400B | 公开(公告)日: | 2018-10-16 |
| 发明(设计)人: | 王鑫;刘桂峰;姚辉 | 申请(专利权)人: | 北京金山安全软件有限公司 |
| 主分类号: | G06F21/57 | 分类号: | G06F21/57 |
| 代理公司: | 北京柏杉松知识产权代理事务所(普通合伙) 11413 | 代理人: | 马敬;项京 |
| 地址: | 100085 北京*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 模块 加载 方法 装置 电子设备 | ||
本发明实施例公开了一种模块加载方法、装置及电子设备,方法包括:检测是否有新进程启动;如果检测到有新进程启动,根据预先设置的地址生成规则,生成新进程的模块的新加载地址;按照新加载地址以及模块占用内存空间的大小,加载新进程的模块。应用本发明实施例,在对新进程的模块按照预先指定的加载地址进行加载之前,就生成了新进程的模块的新加载地址,将模块按照生成的新加载地址进行加载。即使黑客获得了模块的新加载地址,也很难通过新加载地址获得模块的预先指定的加载地址,进而不能通过预先指定的加载地址寻找适合用于攻击的指令片断进行攻击,提高了计算机对ROP攻击的防护,提高了计算机的安全性。
技术领域
本发明涉及计算机安全技术领域,特别涉及一种模块加载方法、装置及电子设备。
背景技术
Windows XP系统是微软公司推出供个人电脑使用的操作系统。为了防止黑客对计算机的攻击,微软公司推出了一款安全工具EMET(Enhanced Mitigation ExperienceToolkit,增强减灾体验工具)。其基本工作原理是:
按照对进程的模块预先指定的地址和占用内存空间的大小,将进程的模块加载到内存中;在将进程的模块加载到内存之后,对加载到内存中的模块的地址和内存空间进行申请,强制系统对加载到内存中的模块的地址进行随机化处理,得到随机化后的目的地址;按照随机化后的目的地址和占用内存空间的大小,将进程的模块重新加载到内存中;将进程的模块原占用的地址及内存空间分配给上述申请。
但是应用EMET安全工具对模块进行加载,对ROP(Return-oriented programming,返回导向编程)攻击的防护性不佳,主要体现在应用EMET安全工具在将进程的模块按照预先指定的地址和占用内存空间的大小,加载到内存至将进程的模块原占用的地址及内存空间重新进行分配的过程中,黑客有可能利用ROP攻击技术从内存中获得进程的模块原占用的地址,进而通过该地址寻找适合用于攻击的指令片断,并将寻找到的各个指令片断拼接起来,进行攻击。
发明内容
本发明实施例的目的在于提供一种模块加载方法、装置及电子设备,以提高计算机对ROP攻击的防护。
为达到上述目的,本发明实施例公开了一种模块加载方法,包括:
检测是否有新进程启动;
如果检测到有新进程启动,在对所述新进程的模块按照预先指定的加载地址进行加载之前,根据预先设置的地址生成规则,生成所述新进程的模块的新加载地址;
按照所生成的新加载地址以及所述新进程的模块占用内存空间的大小,加载所述新进程的模块。
可选的,在所述根据预先设置的地址生成规则,生成所述新进程的模块的新加载地址之前,还包括:
判断所述新进程是否为需要保护的进程;
所述根据预先设置的地址生成规则,生成所述新进程的模块的新加载地址,包括:
在所述新进程为需要保护的进程的情况下,根据预先设置的地址生成规则,生成所述新进程的模块的新加载地址。
可选的,所述判断所述新进程是否为需要保护的进程,包括:
判断预先存储的进程配置信息表中是否记录有与所述新进程对应的信息;如果有,则将所述新进程确定为需要保护的进程。
可选的,在所述按照所生成的新加载地址以及所述新进程的模块占用内存空间的大小,加载所述新进程的模块之前,还包括:
清除模块绑定导入表中的数据,以禁用模块的绑定输入机制,使模块加载到所述新加载地址。
可选的,所述新进程的模块为主模块,且主模块中存在重定位表;或所述新进程的模块为系统模块;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京金山安全软件有限公司,未经北京金山安全软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510544043.0/2.html,转载请声明来源钻瓜专利网。





