-
公开(公告)号:CN101458630A
公开(公告)日:2009-06-17
申请号:CN200810241105.0
申请日:2008-12-30
Applicant: 中国科学院软件研究所
Abstract: 本发明属于软件安全性测评技术领域,具体涉及一种基于硬件模拟器的自修改代码识别方法。本发明通过在硬件模拟器中设置标志,仅使目标可执行文件单步执行,截获虚拟系统执行指令,使用影子内存监控程序执行过程中的信息,识别提取程序执行过程中动态释放到内存中并得到执行的代码,获取分析目标的数据信息。本发明的数据采集是通过模拟硬件实现,而不是将恶意代码放在真实的CPU上执行,因此对实际系统不造成任何影响。本发明由于采用硬件模拟器作为动态分析的平台,因此不会对实际系统造成任何影响,同时提高了分析平台和代码之间的透明性,可有效抵御代码的检测。
-
公开(公告)号:CN101770551A
公开(公告)日:2010-07-07
申请号:CN200810241102.7
申请日:2008-12-30
Applicant: 中国科学院软件研究所
Abstract: 本发明属于网络安全技术领域,具体涉及一种基于硬件模拟器的处理隐藏进程的方法。本发明通过在模拟硬件环境上构建隐藏代码中恶意代码的运行环境,操纵和控制模拟CPU指令和各种模拟内存的访问操作,以CR3寄存器中CR3值为标志,检测出隐藏进程,监控隐藏进程的运行过程,由数据采集模块记录隐藏进程中恶意代码的运行信息;本发明同时提供从虚拟内存中直接提取恶意代码镜像。本发明的模拟硬件设备的所有虚拟CPU的指令和各种硬件操作都在翻译之后模拟执行,而不是直接使用代码片段在真实机器上执行,可在指令运行过程中精确计算该条指令运行的时间,从而实现对隐藏进程中恶意代码完全透明的分析。
-
公开(公告)号:CN101515320B
公开(公告)日:2011-08-17
申请号:CN200910081510.5
申请日:2009-04-10
Applicant: 中国科学院软件研究所
Abstract: 本发明公开了一种攻击时漏洞检测方法及其系统,属于网络安全领域。本发明方法为:被分析的程序加载到虚拟机后,识别虚拟机当前运行的进程是否属于被分析的程序;如果是则判断当前代码是否处于循环中,如果处于循环中则记录当前状态信息;否则判断当前程序是否存在攻击;如果存在攻击,则从记录的当前状态信息中寻找最后一次程序指针所依赖变量被改变之前的状态s;恢复s中保存的状态信息,重新从状态s开始运行,找出修改程序指针所依赖变量的具体指令并返回该指令的位置;本发明的系统包括:虚拟环境模块、状态选择模块、系统监视模块、漏洞分析模块、状态记录模块。本发明操纵性好、检测效率高,同时避免了商业软件缺乏源代码无法分析的问题。
-
公开(公告)号:CN101458630B
公开(公告)日:2011-07-27
申请号:CN200810241105.0
申请日:2008-12-30
Applicant: 中国科学院软件研究所
Abstract: 本发明属于软件安全性测评技术领域,具体涉及一种基于硬件模拟器的自修改代码识别方法。本发明通过在硬件模拟器中设置标志,仅使目标可执行文件单步执行,截获虚拟系统执行指令,使用影子内存监控程序执行过程中的信息,识别提取程序执行过程中动态释放到内存中并得到执行的代码,获取分析目标的数据信息。本发明的数据采集是通过模拟硬件实现,而不是将恶意代码放在真实的CPU上执行,因此对实际系统不造成任何影响。本发明由于采用硬件模拟器作为动态分析的平台,因此不会对实际系统造成任何影响,同时提高了分析平台和代码之间的透明性,可有效抵御代码的检测。
-
公开(公告)号:CN101515320A
公开(公告)日:2009-08-26
申请号:CN200910081510.5
申请日:2009-04-10
Applicant: 中国科学院软件研究所
Abstract: 本发明公开了一种攻击时漏洞检测方法及其系统,属于网络安全领域。本发明方法为:被分析的程序加载到虚拟机后,识别虚拟机当前运行的进程是否属于被分析的程序;如果是则判断当前代码是否处于循环中,如果处于循环中则记录当前状态信息;否则判断当前程序是否存在攻击;如果存在攻击,则从记录的当前状态信息中寻找最后一次程序指针所依赖变量被改变之前的状态s;恢复s中保存的状态信息,重新从状态s开始运行,找出修改程序指针所依赖变量的具体指令并返回该指令的位置;本发明的系统包括:虚拟环境模块、状态选择模块、系统监视模块、漏洞分析模块、状态记录模块。本发明操纵性好、检测效率高,同时避免了商业软件缺乏源代码无法分析的问题。
-
-
-
-