发明内容
本发明要解决的技术问题是提供一种识别病毒的方法及装置,通过对木马病毒运行过程中的内存内容进行转存,从而可以从内存中获得木马病毒运行过程中使用的数据,根据这些数据识别网购木马,避免由于病毒样本文件被加密处理,通过数字签名软件加载的木马病毒无法被正确识别的问题。
为解决上述技术问题,本发明的实施例提供一种识别病毒的方法,包括:
获取用户访问在线支付网站时的内存中的原始内存信息,并对所述原始内存信息进行转存;
对转存后的所述原始内存信息进行分析,获得访问所述在线支付网站中被访问过程中运行的进程的相关信息;
根据所述进程的相关信息,对当前运行的进程是否是病毒样本对应的进程进行识别。
其中,所述获取用户访问在线支付网站时的内存中的原始内存信息,并对所述原始内存信息进行转存的步骤包括:
提高查看系统权限的权限值;
基于提高后的权限值,获得要转存的进程的内存空间地址;其中所述要转存的进程为访问所述在线支付网站中被访问过程;
根据所述内存空间地址,对所述内存空间中的内容进行转存,并将转存的内容保存为一个文件。
其中,对转存后的所述原始内存信息进行分析,获得访问所述在线支付网站中被访问过程中运行的进程的相关信息的步骤包括:
对所述文件进行分析,获得访问所述在线支付网站中被访问过程中运行的病毒进程要使用的数据以及调用的函数。
其中,对所述文件进行分析,获得访问所述在线支付网站中被访问过程中运行的病毒进程要使用的数据以及调用的函数的步骤包括:
根据字符编码集或者病毒特征库,对所述文件进行全文字符串匹配,获得匹配不成功的无效字符串,并过滤掉所述无效字符串
过滤掉所述无效字符串,得到匹配成功的字符串对应的文件;
根据所述匹配成功的字符串对应的文件,获得病毒进程要使用的数据以及调用的函数。
其中,根据所述进程的相关信息,对当前运行的进程是否是病毒样本对应的进程进行识别的步骤包括:
根据病毒进程要使用的数据以及调用的函数,在所述匹配成功的字符串对应的文件中查找若有与所述数据以及调用的函数相匹配的:节点IE的内容、节点Patch的内容和节点TargetAddr的内容,则确定该进程为病毒进程;其中,所述节点IE的内容为搜索IE窗口控件时使用的内容,所述节点Patch的内容为修改IE网页内容时使用的内容,所述TargetAddr的内容为网购木马病毒要盗取的对应网购地址。
本发明的实施例还提供一种识别病毒的装置,包括:
内存截取模块,用于获取用户访问在线支付网站时的内存中的原始内存信息,并对所述原始内存信息进行转存;
获取模块,用于对转存后的所述原始内存信息进行分析,获得访问所述在线支付网站中被访问过程中运行的进程的相关信息;
识别模块,用于根据所述进程的相关信息,对当前运行的进程是否是病毒样本对应的进程进行识别。
其中,所述内存截取模块包括:
设置模块,用于提高查看系统权限的权限值;
获得模块,用于基于提高后的权限值,获得要转存的进程的内存空间地址;其中所述要转存的进程为访问所述在线支付网站中被访问过程;
转存模块,用于根据所述内存空间地址,对所述内存空间中的内容进行转存,并将转存的内容保存为一个文件。
其中,所述获得模块具体用于:对转存后的所述文件进行分析,获得访问所述在线支付网站中被访问过程中运行的病毒进程要使用的数据以及调用的函数。
其中,所述获得模块还用于:根据字符编码集或者病毒特征库,对所述文件进行全文字符串匹配,获得匹配不成功的无效字符串,并过滤掉所述无效字符串;过滤掉所述无效字符串,得到匹配成功的字符串对应的文件;根据所述匹配成功的字符串对应的文件,获得病毒进程要使用的数据以及调用的函数。
其中,所述识别模块具体用于:根据病毒进程要使用的数据以及调用的函数,在所述匹配成功的字符串对应的文件中查找若有与所述数据以及调用的函数相匹配的:节点IE的内容、节点Patch的内容和节点TargetAddr的内容,则确定该进程为病毒进程;其中,所述节点IE的内容为搜索IE窗口控件时使用的内容,所述节点Patch的内容为修改IE网页内容时使用的内容,所述TargetAddr的内容为网购木马病毒要盗取的对应网购地址。
本发明的上述技术方案的有益效果如下:
上述方案中,通过对木马病毒运行过程中的内存内容进行转存,从而可以从内存中获得木马病毒运行过程中使用的数据,根据这些数据识别网购木马,避免由于病毒样本文件被加密处理,通过数字签名软件加载的木马病毒无法被正确识别的问题。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
如图1所示,本发明的实施例提供一种识别病毒的方法,包括:
步骤11,获取用户访问在线支付网站时的内存中的原始内存信息,并对所述原始内存信息进行转存;
步骤12,对转存后的所述原始内存信息进行分析,获得访问所述在线支付网站中被访问过程中运行的进程的相关信息;
步骤13,根据所述进程的相关信息,对当前运行的进程是否是病毒样本对应的进程进行识别。
本发明的该实施例通过对木马病毒运行过程中的内存内容进行转存,从而可以从内存中获得木马病毒运行过程中使用的数据,根据这些数据识别网购木马,从而可以在木马病毒样本被解密完就能被识别出来,避免由于病毒样本文件被加密处理,通过数字签名软件加载的木马病毒无法被正确识别的问题。
在本发明的另一实施例中,包括上述步骤11-13的基础上,其中,所述步骤11包括:
步骤111,提高查看系统权限的权限值;
步骤112,基于提高后的权限值,获得要转存的进程的内存空间地址;其中所述要转存的进程为访问所述在线支付网站中被访问过程;
步骤113,根据所述内存空间地址,对所述内存空间中的内容进行转存,并将转存的内容保存为一个文件。
具体实现过程如下:得到进程令牌句柄,根据进程令牌句柄,查看系统权限的特权值,提升进程权限为SeDubegPrivilege;
获取要转存的进程的内存空间起始地址,为转存内存做准备;
对当前系统进程做一个进程的快照,根据起始地址读取内存内容,获取第一个模块的信息,如果失败就退出;
遍历系统进程找到pModuleName指定的进程,并遍历它的模块信息得到模块的内存起始地址,按照上述过程对所有进程进行遍历。
在上述实施列中,步骤12具体包括:对所述文件进行分析,获得访问所述在线支付网站中被访问过程中运行的病毒进程要使用的数据以及调用的函数。如此可以得到动态分析由于环境原因得不到的信息。
具体实现过程包括:根据字符编码集或者病毒特征库,对所述文件进行全文字符串匹配,获得匹配不成功的无效字符串,并过滤掉所述无效字符串;过滤掉所述无效字符串,得到匹配成功的字符串对应的文件;根据所述匹配成功的字符串对应的文件,获得病毒进程要使用的数据以及调用的函数。
相应地,步骤13可以包括:根据病毒进程要使用的数据以及调用的函数,在所述匹配成功的字符串对应的文件中查找若有与所述数据以及调用的函数相匹配的:节点IE((Internet Explore,即IE浏览器))的内容、节点Patch(补丁)的内容和节点TargetAddr(目标地址)的内容,则确定该进程为病毒进程;其中,所述节点IE的内容为搜索IE窗口控件时使用的内容,所述节点Patch的内容为修改IE网页内容时使用的内容,所述TargetAddr的内容为网购木马病毒要盗取的对应网购地址。当然这里的浏览器还可以是其它内核的浏览器,如搜狗浏览器等。
如在下述的XML文件中,包括了:节点IE的内容(如<IE id="1000"description="搜索IE窗口控件"><Substr1 crc="aad4b9f0"descrip="搜索IE窗口控件"><![CDATA[INTERNET EXPLORER_SERVER]]></Substr1>)、节点Patch的内容(如<PatchIE id="1001″description="疑似修改网页">
<Substr1 crc=""descrip="修改网页"><![CDATA[DOCUMENT.WRITE]]></Substr1>
<Substr2 crc=""descrip=获取网页输入内容"><![CDATA[DOCUMENT.GETELEMENTBYID]]></Substr2>
<Substr3 crc=″″descrip="获取网页输入内容"><![CDATA[DOCUMENT.EBANKDEPOSITFORM.GETELEMENTSBYTAGNAME]]>)和节点TargetAddr(如</TargetAddr>)的内容,因此,可断定该进程为网购木马病毒。
XML样本文件如下:
本发明的识别病毒方法的实施例通过对木马病毒运行过程中的内存内容进行转存,从而可以从内存中获得木马病毒运行过程中使用的数据,根据这些数据识别网购木马,从而可以在木马病毒样本被解密完就能被识别出来,避免由于病毒样本文件被加密处理,通过数字签名软件加载的木马病毒无法被正确识别的问题。且分析速度快,不需要等病毒样本运行完,只要在样本完全解密完成后,就可以分析并给出结果。结果准确,不受系统环境限制,由于系统环境目前已有技术无法完全满足病毒的运行环境,但是分析内存信息可以得到没有执行的流程信息。有效避免由于样本加密对分析的干扰,在样本完成解密过程之后,得到的内存信息也都是解密以后的结果,总之,本发明的方案可以准确快速识别盗取网银账号信息的木马病毒。
与上述方法相应地,本发明的实施例还提供一种识别病毒的装置,包括:
内存截取模块21,用于获取用户访问在线支付网站时的内存中的原始内存信息;
获取模块22,用于对所述原始内存信息进行分析,获得访问所述在线支付网站中被访问过程中运行的进程的相关信息;
识别模块23,用于根据所述进程的相关信息,对当前运行的进程是否是病毒样本对应的进程进行识别。
本发明的该实施例通过对木马病毒运行过程中的内存内容进行转存,从而可以从内存中获得木马病毒运行过程中使用的数据,根据这些数据识别网购木马,从而可以在木马病毒样本被解密完就能被识别出来,避免由于病毒样本文件被加密处理,通过数字签名软件加载的木马病毒无法被正确识别的问题。
其中,所述内存截取模块包括:
设置模块,用于提高查看系统权限的权限值;
获得模块,用于基于提高后的权限值,获得要转存的进程的内存空间地址;其中所述要转存的进程为访问所述在线支付网站中被访问过程;
转存模块,用于根据所述内存空间地址,对所述内存空间中的内容进行转存,并将转存的内容保存为一个文件。
其中,所述获得模块具体用于:对所述文件进行分析,获得访问所述在线支付网站中被访问过程中运行的病毒进程要使用的数据以及调用的函数。
其中,所述获得模块还用于:根据字符编码集或者病毒特征库,对所述文件进行全文字符串匹配,获得匹配不成功的无效字符串,并过滤掉所述无效字符串;过滤掉所述无效字符串,得到匹配成功的字符串对应的文件;根据所述匹配成功的字符串对应的文件,获得病毒进程要使用的数据以及调用的函数。
其中,所述识别模块具体用于:根据病毒进程要使用的数据以及调用的函数,在所述匹配成功的字符串对应的文件中查找若有与所述数据以及调用的函数相匹配的:节点IE的内容、节点Patch的内容和节点TargetAddr的内容,则确定该进程为病毒进程;其中,所述节点IE的内容为搜索IE窗口控件时使用的内容,所述节点Patch的内容为修改IE网页内容时使用的内容,所述TargetAddr的内容为网购木马病毒要盗取的对应网购地址。
本发明的该装置实施例同样通过对木马病毒运行过程中的内存内容进行转存,从而可以从内存中获得木马病毒运行过程中使用的数据,根据这些数据识别网购木马,从而可以在木马病毒样本被解密完就能被识别出来,避免由于病毒样本文件被加密处理,通过数字签名软件加载的木马病毒无法被正确识别的问题。且分析速度快,不需要等病毒样本运行完,只要在样本完全解密完成后,就可以分析并给出结果。结果准确,不受系统环境限制,由于系统环境目前已有技术无法完全满足病毒的运行环境,但是分析内存信息可以得到没有执行的流程信息。有效避免由于样本加密对分析的干扰,在样本完成解密过程之后,得到的内存信息也都是解密以后的结果。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。