发明名称 一种基于硬件模拟器的处理隐藏进程的方法
摘要 本发明属于网络安全技术领域,具体涉及一种基于硬件模拟器的处理隐藏进程的方法。本发明通过在模拟硬件环境上构建隐藏代码中恶意代码的运行环境,操纵和控制模拟CPU指令和各种模拟内存的访问操作,以CR3寄存器中CR3值为标志,检测出隐藏进程,监控隐藏进程的运行过程,由数据采集模块记录隐藏进程中恶意代码的运行信息;本发明同时提供从虚拟内存中直接提取恶意代码镜像。本发明的模拟硬件设备的所有虚拟CPU的指令和各种硬件操作都在翻译之后模拟执行,而不是直接使用代码片段在真实机器上执行,可在指令运行过程中精确计算该条指令运行的时间,从而实现对隐藏进程中恶意代码完全透明的分析。
申请公布号 CN101770551A 申请公布日期 2010.07.07
申请号 CN200810241102.7 申请日期 2008.12.30
申请人 中国科学院软件研究所 发明人 杨轶;苏璞睿;司端锋;冯登国
分类号 G06F21/00(2006.01)I;G06F9/455(2006.01)I 主分类号 G06F21/00(2006.01)I
代理机构 北京君尚知识产权代理事务所(普通合伙) 11200 代理人 余长江
主权项 一种基于模拟硬件环境的处理隐藏进程的方法,其步骤如下:1)按照目标文件在硬盘上的数据块排序,将数据块顺次添加到虚拟硬盘,转换为硬件模拟器识别的操作系统镜像;2)配置镜像路径、硬件模拟器的模拟内存大小及模拟CPU的类型;硬件模拟器加载步骤1)中的操作系统镜像,并启动该操作系统;3)虚拟CPU执行指令时,查找CR3寄存器中是否出现新的CR3值,若出现新CR3值,则遍历操作系统所有的EPROCESS结构是否包含有该CR3值;若不存在包含有该CR3值的EPROCESS结构,则将该CR3值对应的隐藏进程检测出来;4)利用硬件模拟器读取所述隐藏进程的内存,获取隐藏进程加载的动态库;比较所述动态库的导出表中的名称与API表中的名称,获取所述导出表中所有API的地址,构建API表;5)判断所述检测出的隐藏进程的EIP与所述API表中每个函数的第一条指令是否匹配,若匹配,则读取堆栈和寄存器获取函数参数和返回值,在虚拟内存中监控并读取参数对应执行的指令,数据采集模块记录该指令及该指令执行的数据,并返回给用户。
地址 100190 北京市海淀区中关村南四街4号