一种模块加载方法、装置及电子设备的制造方法_4

文档序号:9453376阅读:来源:国知局
所述新进程的模块占用内存空间的大小,加载所述新进程的模块。
[0149]其中,在所述根据预先设置的地址生成规则,生成所述新进程的模块的新加载地址之前,还可以包括:
[0150]判断所述新进程是否为需要保护的进程;
[0151]所述根据预先设置的地址生成规则,生成所述新进程的模块的新加载地址,可以包括:
[0152]在所述新进程为需要保护的进程的情况下,根据预先设置的地址生成规则,生成所述新进程的模块的新加载地址。
[0153]其中,所述判断所述新进程是否为需要保护的进程,可以包括:
[0154]判断预先存储的进程配置信息表中是否记录有与所述新进程对应的信息;如果有,则将所述新进程确定为需要保护的进程。
[0155]其中,在所述按照所生成的新加载地址以及所述新进程的模块占用内存空间的大小,加载所述新进程的模块之前,还可以包括:
[0156]清除模块绑定导入表中的数据,以禁用模块的绑定输入机制,使模块加载到所述新加载地址。
[0157]其中,所述新进程的模块为主模块,且主模块中存在重定位表;或所述新进程的模块为系统模块;
[0158]所述根据预先设置的地址生成规则,生成所述新进程的模块的新加载地址,可以包括:
[0159]随机生成地址,将随机生成的地址作为所述新进程的模块的新加载地址。
[0160]其中,所述新进程的模块为主模块,且主模块中不存在重定位表;
[0161]所述根据预先设置的地址生成规则,生成所述新进程的模块的新加载地址,可以包括:
[0162]将预先指定的加载地址,确定为所述新进程的模块的新加载地址。
[0163]其中,所述新进程的模块为系统模块:所述方法还可以包括:
[0164]根据预先指定的加载地址和所述新进程的模块占用内存空间的大小,填充预先准备的跳转指令。
[0165]其中,还可以包括:
[0166]记录所述新进程的所有模块的预先指定的加载地址;
[0167]捕获所述新进程出现的异常;
[0168]判断所记录的加载地址中是否存在所捕获到的异常对应的地址;
[0169]如果存在,则向用户提示有溢出攻击。
[0170]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0171]本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0172]本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:R0M/RAM、磁碟、光盘等。
[0173]以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
【主权项】
1.一种模块加载方法,其特征在于,包括: 检测是否有新进程启动; 如果检测到有新进程启动,在对所述新进程的模块按照预先指定的加载地址进行加载之前,根据预先设置的地址生成规则,生成所述新进程的模块的新加载地址; 按照所生成的新加载地址以及所述新进程的模块占用内存空间的大小,加载所述新进程的模块。2.根据权利要求1所述的方法,其特征在于,在所述根据预先设置的地址生成规则,生成所述新进程的模块的新加载地址之前,还包括: 判断所述新进程是否为需要保护的进程; 所述根据预先设置的地址生成规则,生成所述新进程的模块的新加载地址,包括:在所述新进程为需要保护的进程的情况下,根据预先设置的地址生成规则,生成所述新进程的模块的新加载地址。3.根据权利要求2所述的方法,其特征在于,所述判断所述新进程是否为需要保护的进程,包括: 判断预先存储的进程配置信息表中是否记录有与所述新进程对应的信息;如果有,则将所述新进程确定为需要保护的进程。4.根据权利要求1所述的方法,其特征在于,在所述按照所生成的新加载地址以及所述新进程的模块占用内存空间的大小,加载所述新进程的模块之前,还包括: 清除模块绑定导入表中的数据,以禁用模块的绑定输入机制,使模块加载到所述新加载地址。5.根据权利要求1所述的方法,其特征在于,所述新进程的模块为主模块,且主模块中存在重定位表;或所述新进程的模块为系统模块; 所述根据预先设置的地址生成规则,生成所述新进程的模块的新加载地址,包括: 随机生成地址,将随机生成的地址作为所述新进程的模块的新加载地址。6.根据权利要求1所述的方法,其特征在于,所述新进程的模块为主模块,且主模块中不存在重定位表; 所述根据预先设置的地址生成规则,生成所述新进程的模块的新加载地址,包括: 将预先指定的加载地址,确定为所述新进程的模块的新加载地址。7.根据权利要求5所述的方法,其特征在于,所述新进程的模块为系统模块:所述方法还包括: 根据预先指定的加载地址和所述新进程的模块占用内存空间的大小,填充预先准备的跳转指令。8.根据权利要求1的方法,其特征在于,还包括: 记录所述新进程的所有模块的预先指定的加载地址; 捕获所述新进程出现的异常; 判断所记录的加载地址中是否存在所捕获到的异常对应的地址; 如果存在,则向用户提示有溢出攻击。9.一种模块加载装置,其特征在于,包括:检测单元、地址生成单元和加载单元,其中, 所述检测单元,用于检测是否有新进程启动; 所述地址生成单元,用于在所述检测单元检测到有新进程启动的情况下,在对所述新进程的模块按照预先指定的加载地址进行加载之前,根据预先设置的地址生成规则,生成所述新进程的模块的新加载地址; 所述加载单元,用于按照所述地址生成单元生成的新加载地址以及所述新进程的模块占用内存空间的大小,加载所述新进程的模块。10.一种电子设备,其特征在于,包括:处理器、存储器、通信接口和总线; 所述处理器、所述存储器和所述通信接口通过所述总线连接并完成相互间的通信; 所述存储器存储可执行程序代码; 所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行权利要求1至8任意一项所述的模块加载方法。
【专利摘要】本发明实施例公开了一种模块加载方法、装置及电子设备,方法包括:检测是否有新进程启动;如果检测到有新进程启动,根据预先设置的地址生成规则,生成新进程的模块的新加载地址;按照新加载地址以及模块占用内存空间的大小,加载新进程的模块。应用本发明实施例,在对新进程的模块按照预先指定的加载地址进行加载之前,就生成了新进程的模块的新加载地址,将模块按照生成的新加载地址进行加载。即使黑客获得了模块的新加载地址,也很难通过新加载地址获得模块的预先指定的加载地址,进而不能通过预先指定的加载地址寻找适合用于攻击的指令片断进行攻击,提高了计算机对ROP攻击的防护,提高了计算机的安全性。
【IPC分类】G06F21/57
【公开号】CN105205400
【申请号】CN201510544043
【发明人】王鑫, 刘桂峰, 姚辉
【申请人】北京金山安全软件有限公司
【公开日】2015年12月30日
【申请日】2015年8月28日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1