一种反弹式木马的检测方法转让专利

申请号 : CN201210562997.0

文献号 : CN103051627B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 胡光俊朱平王奕钧宋伟航

申请人 : 公安部第一研究所北京中盾安全技术开发公司

摘要 :

本发明公开了一种反弹式木马的检测方法,该方法通过网络模拟端获取本机发送的网络数据,对其网络通信行为进行分析,然后对本机进程进行分析,最后将进程的本地特征与其网络特征综合起来判断来识别木马,并且在主机上不需要安装任何软件或模块,主机程序可以从U盘中直接启动,因此十分适用于主机对安装木马查杀软件有限制的情况。

权利要求 :

1.一种反弹式木马的检测方法,其特征在于,通过网络模拟端获取本机发送的网络数据,对其通信行为进行分析,然后对本机进程进行分析,最后将进程的本地特征与其网络特征综合起来判断识别木马;

该方法包括以下步骤:

步骤1:接入网络模拟端;

网络模拟端负责响应接入计算机发出的连接请求以构造出虚拟的互连网环境,并将接入计算机发出的网络数据反馈给检测端,供其综合分析,在网络模拟端设有:数据包采集模块、数据包分析模块、数据包响应模块、网络数据反馈模块;

步骤2:关联进程网络数据;

通过网络模拟端反馈回来的数据包,检测端将网络数据包与本地进程关联起来,其关联方法如下:检测端根据被检测主机的网络端口状态,反查出各端口对应的进程,然后将该端口发送的数据包记录在该进程下;

步骤3:检测进程的本地特征;包括是否加载了不在白名单的模块或者打开了不在白名单中的文件句柄,检测方法如下:枚举出该进程加载的所有模块和打开的文件句柄,然后将这些模块和文件通过白名单库筛选,如果该模块或文件不在白名单库中,那么再验证该模块或文件的数字签名,如果数字签名验证失败则将其判断为可疑模块;

步骤4:分析进程数据。

2.根据权利要求1所述的一种反弹式木马的检测方法,其特征在于,白名单库中存储操作系统以及常用软件组成模块运行时的各个模块的唯一性标识值:SHA1散列值。

3.根据权利要求1所述的一种反弹式木马的检测方法,其特征在于,步骤3中检测该进程的本地特征时首先根据白名单库对计算机操作系统运行时所加载的模块进行扫描,扫描项包括操作系统启动加载模块和系统运行的进程加载的模块。

4.根据权利要求1所述的一种反弹式木马的检测方法,其特征在于,步骤4分析进程数据,首先判断该进程的本地行为特征,如果进程的本地行为特征为可疑,则继续判断该进程的网络行为特征,统计该进程发送的特征数据包,计算这些特征数据包的间隔周期,如果存在一个周期,则判断该进程为木马进程。

5.根据权利要求4所述的一种反弹式木马的检测方法,其特征在于,判断该进程的本地行为特征包括以下选项中的至少一部分:

1)进程与其访问的URL是不是在白名单库中,

2)是否劫持IE浏览器,

3)是否伪造系统进程,

4)是否加载了可疑模块。

说明书 :

一种反弹式木马的检测方法

技术领域

[0001] 本发明属于信息安全领域,公开了一种反弹式木马的检测方法。

背景技术

[0002] 重要信息系统面临着国家级的敌对力量的威胁,对方会采用最高水平的网络攻击技术和工具对重要信息系统发起攻击,木马是最具危险的手段之一。木马和以前的病毒有所不同,木马是有客户端和服务器端,一般来说服务器端和客户端相互配合,以完成一些破坏活动,如文件破坏,敏感信息获取,主机控制等,客户端会定期连接服务器,从服务器上获取下一步动作指示,因此木马不仅在客户机上有所行为,在网络通信上也有一定的特征。当前,木马在技术水平上完全可以做到杀毒软件无法查杀、主机防火墙无法封堵,基于主机检测的反隐藏工具无法发现,一旦系统被种植木马,就将长期潜伏,对国家安全造成巨大损失。
[0003] 目前对于木马的检测都集中使用主机端,使用的技术有特征码扫描、主动防御检测等方法。例如瑞星使用的就是特征码扫描的方式,软件将已知的木马提取特征码加入木马库,然后将系统的被检测文件与特征码一一对比,找到后就报警清除。高级的木马检测程序例如卡巴斯基2012,使用主动防御的方法,检测系统关键位置是否被恶意更改、利用规则检测程序是否有可疑动作,发现有可疑动作则报警。
[0004] 目前普遍使用的检测方法有明显的缺陷。例如特征码扫描方式,只要更改被检测程序的特征码,特征码检测方式即失效。主动防御的检测方法存在以下问题:频繁询问用户,使得没有经验的用户不知所措;使用高级内核rootkit技术能躲避主动防御的监控。

发明内容

[0005] 为了解决上述问题,本发明提供了一种反弹式木马的检测方法。
[0006] 本发明提供的反弹式木马的检测方法,通过网络模拟端获取本机发送的网络数据,对其通信行为进行分析,然后对本机进程进行分析,最后将进程的本地特征与其网络特征综合起来判断来识别木马。
[0007] 该方法通过以下步骤来实现:
[0008] 步骤1:接入网络模拟端;
[0009] 步骤2:关联进程网络数据;
[0010] 步骤3:检测进程的本地特征;
[0011] 步骤4:分析进程数据。
[0012] 下面列举上述各步骤的较佳实施方式:
[0013] 步骤1中的网络模拟端负责响应接入计算机发出的连接请求以构造出虚拟的互连网环境,并将接入计算机发出的网络数据反馈给检测端,供其综合分析,在网络模拟端设有:数据包采集模块、数据包分析模块、数据包响应模块、网络数据反馈模块。
[0014] 步骤2中关联进程网络数据是指:通过网络模拟端反馈回来的数据包,检测端将网络数据包与本地进程关联起来,其关联方法如下:检测端根据被检测主机的网络端口状态,反查出各端口对应的进程,然后将该端口发送的数据包记录在该进程下。
[0015] 步骤3检测该进程的本地特征,包括是否加载了不在白名单的模块或者打开了不在白名单中的文件句柄,检测方法如下:枚举出该进程加载的所有模块和打开的文件句柄,然后将这些模块和文件通过白名单库筛选,如果该模块或文件不在白名单库中,那么再验证该模块或文件的数字签名,如果数字签名验证失败则将其判断为可疑模块。
[0016] 白名单库中存储操作系统以及常用软件组成模块运行时的各个模块的唯一性标识值:SHA1散列值。
[0017] 步骤3中检测该进程的本地特征时可以首先根据白名单库对计算机操作系统运行时所加载的模块进行扫描,扫描项包括操作系统启动加载模块和系统运行的进程加载的模块。
[0018] 步骤4分析进程数据,首先判断该进程的本地行为特征,如果进程的本地行为特征为可疑,则继续判断该进程的网络行为特征,统计该进程发送的特征数据包,计算这些特征数据包的间隔周期,如果存在一个周期,则判断该进程为木马进程。
[0019] 判断该进程的本地行为特征可以包括以下选项中的至少一部分:
[0020] 1)进程与其访问的URL是不是在白名单库中,
[0021] 2)是否劫持IE浏览器,
[0022] 3)是否伪造系统进程,
[0023] 4)是否加载了可疑模块。
[0024] 本发明通过网络模拟端获取本机发送的网络数据,对其网络通信行为进行分析,然后对本机进程进行分析,最后将进程的本地特征与其网络特征综合起来判断来识别木马,并且在主机上不需要安装任何软件或模块,主机程序可以从U盘中直接启动,因此十分适用于主机对安装木马查杀软件有限制的情况。

附图说明

[0025] 图1是本发明的结构框图;
[0026] 图2是本发明的工作模式图;
[0027] 图3是本发明的智能判断流程图。

具体实施方式

[0028] 本发明提供的检测反弹式木马的方法将未知程序的本地特征与其网络特征综合起来判断来识别木马。本发明通过网络模拟端获取本机发送的网络数据,对其通信行为进行分析,然后对本机进程进行分析,最后将进程的本地特征与其网络特征综合起来判断来识别木马。本发明具体结构如附图1所示。
[0029] 基于进程的网络行为特征与本地行为特征的联合检测方式是本发明的核心检测方法,具体检测分析方法如下:
[0030] 步骤1:接入网络模拟端
[0031] 将被检测机器接入一个网络模拟端(工控机),网络模拟端负责响应接入计算机发出的连接请求以构造出虚拟的互连网环境,并将接入计算机发出的网络数据反馈给检测端,供其综合分析。
[0032] 在网络模拟端设有:数据包采集模块、数据包分析模块、数据包响应模块、网络数据反馈模块。各模块功能如下:
[0033] 数据包采集模块:获取所有被检测主机发送的网络数据。
[0034] 数据包分析模块:对数据包采集模块获取的数据包进行分析,根据其协议不同,提取出其内容。
[0035] 数据包响应模块:被检测主机发出的数据包的协议不同,部分协议需要响应,如TCP协议中的三次握手,本模块对该协议的数据包进行响应。
[0036] 网络数据反馈模块:将收到的数据包相关信息反馈至检测端,供其进行相关的综合分析。
[0037] 步骤2:关联进程网络数据
[0038] 通过网络模拟端反馈回来的数据包,检测端将网络数据包与本地进程关联起来。其关联方法如下:检测端根据被检测主机的网络端口状态,可反查出各端口对应的进程,然后将该端口发送的数据包记录在该进程下。
[0039] 步骤3:检测进程的本地特征
[0040] 检测该进程的本地特征,包括是否加载了不在白名单的模块或者打开了不在白名单中的文件句柄。检测方法如下:枚举出该进程加载的所有模块和打开的文件句柄,然后将这些模块和文件通过白名单库筛选(白名单库中存储Windows系列操作系统以及常用软件组成模块运行时的各个模块的唯一性标识值:SHA1散列值),如果该模块或文件不在白名单库中,那么在验证该模块或文件的数字签名,如果数字签名验证失败则将其判断为可疑模块。为了达到加速检测的目的,检测时首先根据白名单库对计算机操作系统运行时所加载的模块进行扫描。扫描项包括操作系统启动加载模块和系统运行的进程加载的模块。
[0041] 步骤4:分析进程数据
[0042] 分析进程数据,首先判断该进程的本地行为特征:
[0043] 1)进程与其访问的URL是不是在白名单库中
[0044] 2)是否劫持IE浏览器
[0045] 3)是否伪造系统进程
[0046] 4)是否加载了可疑模块
[0047] 如果进程的以上本地行为特征为可疑,则继续判断该进程的网络行为特征:统计该进程发送的特征数据包,计算这些特征数据包的间隔周期。如果存在一个周期,则判断该进程为木马进程。
[0048] 下面结合附图对本发明做进一步的详细描述。
[0049] 工作模式如图2所示,主机木马检测模块放在可移动存储介质上,在使用时连接到被检测主机,同时将被检测主机通过网线连接在网络模拟端。具体检测步骤如下:
[0050] 1)模拟互联网环境:通过网络模拟端模拟接入主机的网络注册请求,并对主机发送的数据包按照相应的网络协议进行解析和响应。
[0051] 2)采集主机网络行为数据:主机木马检测模块开始检测时,网络模拟端开始捕获被检测主机的网络活动数据包,同时将该数据包反馈给主机木马检测模块。由主机木马检测模块将该数据包记录在其所属进程下。
[0052] 3)采集主机本地行为数据:主机木马检测模块开始检测时,主机木马检测模块将网络模拟端返回的数据包关联到本地进程上,并对该进程进行分析,检测该进程是否加载或打开过可疑的模块(不在白名单中且验证数字签名失败)。同时通过计算枚举得到的系统开放端口与网络模拟端扫描本机得到的开放端口的差集来判断本机是否开放了隐藏端口。并且可以在自定义木马特征库后,以特征码匹配的方式对主机进行静态扫描检测。
[0053] 4)智能判断:根据以上采集到的主机网络行为数据和本地行为数据进行综合分析,具体分析步骤如图3所示。
[0054] 本发明通过网络模拟端获取本机发送的网络数据,对其网络通信行为进行分析,然后对本机进程进行分析,最后将进程的本地特征与其络特征综合起来判断来识别木马,解决了特征码扫描检测方式的不足。