发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种僵尸网络控制节点的检测方法,该方法可以有效提高探测效率,提高扫描效率。
本发明的另一个目的在于提出一种僵尸网络控制节点的检测装置。
为达到上述目的,本发明一方面实施例提出了一种僵尸网络控制节点的检测方法,包括以下步骤:根据当前僵尸网络控制节点的IP(Internet Protocol,网络之间互连的协议)生成高频网段,并对所述高频网段的每个IP发送SYN数据包,以确定所述每个IP的端口的当前状态;根据所述每个端口的当前状态得到初始可疑网络控制节点集合,并根据所述初始可疑网络控制节点集合与预设的常用端口列表得到可疑网络控制节点列表;根据所述可疑网络控制节点列表建立TCP(Transmission Control Protocol,传输控制协议)连接,以获取高可疑网络控制节点列表;根据所述高可疑网络控制节点列表和僵尸网络家族的端口列表进行匹配和协议探测,以进行家族关联分类;根据所述分类结果对所述高可疑网络控制节点列表的高可疑网络控制节点进行协议校验,以识别家族协议;根据所述家族协议获取相应家族的僵尸网络控制节点。
本发明实施例的僵尸网络控制节点的检测方法,通过对僵尸网络控制节点进行加速自动化主动分析探测,以探测更多的未知的僵尸网络控节点,从而根据监控到的数据进行自动化分析,挖掘更多的威胁情报,实现威胁情报态势感知,有效提高探测效率,提高扫描效率。
另外,根据本发明上述实施例的僵尸网络控制节点的检测方法还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,所述根据所述每个端口的当前状态得到初始可疑网络控制节点集合,进一步包括:根据所述每个IP的端口的当前状态得到所述每个IP的开放端口数;判断所述每个IP的开放端口数是否大于预设端口数;如果大于所述预设端口数,则剔除;如果小于所述预设端口数,则获取对应开放端口的低可疑网络控制节点的集合,以得到所述初始可疑网络控制节点集合。
进一步地,在本发明的一个实施例中,所述根据所述高可疑网络控制节点列表和僵尸网络家族的端口列表进行匹配和协议探测,进一步包括:通过对已捕获的样本进行家族识别和家族通讯协议逆向分析获取所述僵尸网络家族的端口列表;通过所述高可疑网络控制节点列表和所述僵尸网络家族的端口列表匹配得到所述分类结果。
进一步地,在本发明的一个实施例中,所述根据所述分类结果对所述高可疑网络控制节点列表的高可疑网络控制节点进行协议校验,进一步包括:对所述高可疑网络控制节点进行各僵尸网络家族确认包专有协议校验,以识别相应家族的僵尸网络控制节点。
进一步地,在本发明的一个实施例中,所述根据所述家族协议获取相应家族的僵尸网络控制节点,进一步包括:利用沙箱或者木马自动化分析引擎持续对木马分析并解析出新的僵尸网络控制节点,推送拓展新的僵尸网络控制节点的IP和端口,以得到所述所有的僵尸网络控制节点。
为达到上述目的,本发明另一方面实施例提出了一种僵尸网络控制节点的检测装置,包括:第一获取模块,用于根据当前僵尸网络控制节点的IP生成高频网段,并对所述高频网段的每个IP发送SYN数据包,以确定所述每个IP的端口的当前状态;采集模块,用于根据所述每个端口的当前状态得到初始可疑网络控制节点集合,并根据所述初始可疑网络控制节点集合与预设的常用端口列表得到可疑网络控制节点列表;第二获取模块,用于根据所述可疑网络控制节点列表建立TCP连接,以获取高可疑网络控制节点列表;探测模块,用于根据所述高可疑网络控制节点列表和僵尸网络家族的端口列表进行匹配和协议探测,以进行家族关联分类;校验模块,用于根据所述分类结果对所述高可疑网络控制节点列表的高可疑网络控制节点进行协议校验,以识别家族协议;第三获取模块,用于根据所述家族协议获取相应家族的僵尸网络控制节点。
本发明实施例的僵尸网络控制节点的检测装置,通过对僵尸网络控制节点进行加速自动化主动分析探测,以探测更多的未知的僵尸网络控节点,从而根据监控到的数据进行自动化分析,挖掘更多的威胁情报,实现威胁情报态势感知,有效提高探测效率,提高扫描效率。
另外,根据本发明上述实施例的僵尸网络控制节点的检测装置还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,所述采集模块,进一步包括:采集单元,用于根据所述每个IP的端口的当前状态得到所述每个IP的开放端口数;判断单元,用于判断所述每个IP的开放端口数是否大于预设端口数;剔除单元,用于如果大于所述预设端口数,则剔除;以及第一获取单元,用于如果小于所述预设端口数,则获取对应开放端口的低可疑网络控制节点的集合,以得到所述初始可疑网络控制节点集合。
进一步地,在本发明的一个实施例中,所述探测模块,进一步包括:第二获取单元,用于通过对已捕获的样本进行家族识别和家族通讯协议逆向分析获取所述僵尸网络家族的端口列表;匹配单元,用于通过所述高可疑网络控制节点列表和所述僵尸网络家族的端口列表匹配得到所述分类结果。
进一步地,在本发明的一个实施例中,所述校验模块,进一步包括:校验单元,用于对所述高可疑网络控制节点进行各僵尸网络家族确认包专有协议校验,以识别相应家族的僵尸网络控制节点。
进一步地,在本发明的一个实施例中,所述第三获取模块,进一步包括:利用沙箱或者木马自动化分析引擎持续对木马分析并解析出新的僵尸网络控制节点,推送拓展新的僵尸网络控制节点的IP和端口,以得到所述所有的僵尸网络控制节点。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参照附图描述根据本发明实施例提出的僵尸网络控制节点的检测方法及装置,首先将参照附图描述根据本发明实施例提出的僵尸网络控制节点的检测方法。
图1是本发明实施例的僵尸网络控制节点的检测方法的流程图。
如图1所示,该僵尸网络控制节点的检测方法包括以下步骤:
在步骤S101中,根据当前僵尸网络控制节点的IP生成高频网段,并对高频网段的每个IP发送SYN数据包,以确定每个IP的端口的当前状态。
可以理解的是,本发明实施例经过长期的僵尸网络的监控发现,每一个僵尸网络家族的控制节点中,会存在一些同IP但不同Port的僵尸网络控制节点,也就是说,在同一台服务器上部署了多个家族或版本的僵尸网络控制节点。因此,为了提高扫描探测的效率,本发明实施例可以通过自动化提取目前掌握的僵尸网络控制节点的IP,以形成高频网段;然后对高频网段的每个IP发送一个SYN数据包,伪装发起一个三方握手来实现,如果IP从特定端口返回SYN/ACK(同步应答)数据包,则初步鉴定着端口是开放的,从而有效缩减对未知网络控制节点的扫描范围,提高探测效率。
例如,192.168.1.30:8080和192.168.1.30:20即为相同IP但其Port不同;另外,当对高频网段的每个IP发送一个A,而从特定端口也回复了一个A,则说明已确认接收,即说明此端口是开放的。
在步骤S102中,根据每个端口的当前状态得到初始可疑网络控制节点集合,并根据初始可疑网络控制节点集合与预设的常用端口列表得到可疑网络控制节点列表。
可以理解的是,结合图1和图2所示,在步骤S101中探测到的常用的开放端口,如80、7547、22、23、3389、3306等端口,需要先对其进行一次过滤,也就是说,在步骤S101中获取的初始可疑网络控制节点集合的端口枚举遍历自动化产生的常用端口列表,去除出现常用端口的初始可疑网络控制节点,从而形成可疑网络控制节点(IP+Port)列表,为后续的扫描和协议探测减少一部分的工作量,提高控制节点的探测扫描速度。
进一步地,在本发明的一个实施例中,根据每个端口的当前状态得到初始可疑网络控制节点集合,进一步包括:根据每个IP的端口的当前状态得到每个IP的开放端口数;判断每个IP的开放端口数是否大于预设端口数;如果大于预设端口数,则剔除;如果小于预设端口数,则获取对应开放端口的低可疑网络控制节点的集合,以得到初始可疑网络控制节点集合。
可以理解的是,结合图1和图2所示,本发明实施例在实现对高频网段的开放端口探测之后,会发现存在有些异常IP的开放端口数多于正常IP开放端口数,对此,需要对这些异常IP进行过滤处理,并自动化统计开放端口数大于一定数量指标的IP地址,并将其剔除,从而获取开放端口数小于数量指标的IP以及对应开放端口的低可疑网络控制节点(IP+Port)的集合,其中预设端口数目可以由本领域技术人员根据实际情况进行设计,在此不做具体限制。
在步骤S103中,根据可疑网络控制节点列表建立TCP连接,以获取高可疑网络控制节点列表。
可以理解的是,结合图1和图2所示,由于中对高频网段的IP进行SYN初步探测扫描,是通过建立不完全连接的半开放扫描通信端口状态的一种方式,并且其判断结果存在一定的误报率;本发明实施例使用TCP扫描探测是通过正常的TCP连接对中可疑网络控制节点建立一个完整的通讯过程,从而进一步确认步骤S102中获取的中可疑网络控制节点(IP+Port)的可疑端口是否开放,进而自动化获取高可疑网络控制节点(IP+Port)的列表,进一步减少后期需要进行探测扫描的网络控制节点数。
在步骤S104中,根据高可疑网络控制节点列表和僵尸网络家族的端口列表进行匹配和协议探测,以进行家族关联分类。
进一步地,在本发明的一个实施例中,根据高可疑网络控制节点列表和僵尸网络家族的端口列表进行匹配和协议探测,进一步包括:通过对已捕获的样本进行家族识别和家族通讯协议逆向分析获取僵尸网络家族的端口列表;通过高可疑网络控制节点列表和僵尸网络家族的端口列表匹配得到分类结果。
可以理解的是,结合图1和图2所示,对于历史捕获的样本进行家族识别和家族通讯协议逆向分析之后获取的以家族名称、版本分类的网络控制节点,通过分析可知,每个僵尸网络家族都会使用一些固定的端口进行攻击活动。经过大数据分析,可自动化生成各僵尸网络家族的常用端口列表。
另外,本发明实施例的高可疑网络控制节点(IP+Port)可以自动化批量匹配各僵尸网络家族常用端口,从而快速进行家族以及版本分类,进而形成以家族为单元的通讯协议特征匹配处理模块。
在步骤S105中,根据分类结果对高可疑网络控制节点列表的高可疑网络控制节点进行协议校验,以识别家族协议。
进一步地,在本发明的一个实施例中,根据分类结果对高可疑网络控制节点列表的高可疑网络控制节点进行协议校验,进一步包括:对高可疑网络控制节点进行各僵尸网络家族确认包专有协议校验,以识别相应家族的僵尸网络控制节点。
可以理解的是,结合图1和图2所示,本发明实施例的僵尸网络控制节点经过OpenHeart协议格式校验成功后,随即发送Sure专用协议数据作为对恶意代码的OpenHeart专用协议请求的响应,恶意代码接收到控制节点响应的反馈数据Sure后,同样对Sure进行专有协议格式校验,只有Sure校验成功后双方才能进行正常进行通讯交互。因此,本发明实施例也可以对高可疑网络控制节点进行Sure专有协议校验方式准确识别各家族的僵尸网络控制节点。Sure专用协议校验在规模较庞大的botnet家族都比较常见,Mayday、Xor、Gates、Dofloo、Gafgyt、Mirai、Gh0st等都存在Sure专用协议校验。
在步骤S106中,根据家族协议获取对应僵尸网络家族的网络控制节点。
进一步地,在本发明的一个实施例中,根据家族协议获取对应僵尸网络家族的网络控制节点,进一步包括:利用沙箱或者木马自动化分析引擎持续对木马分析并解析出新的僵尸网络控制节点,推送拓展新的僵尸网络控制节点的IP和端口,以得到所有的僵尸网络控制节点。
可以理解的是,结合图1和图2所示,本发明实施例可以利用沙箱或者木马自动化分析引擎持续对木马分析并解析出新的僵尸网络控制节点,推送拓展新的僵尸网络控制节点IP和端口,不间断增加新的扫描目标拓展更多的未知僵尸网络控制节点。
根据本发明实施例提出的僵尸网络控制节点的检测方法,通过前期的僵尸网络家族信息收集,可以自动化提取高频网段,缩减对未知网络控制节点的扫描范围,从而提高了探测效率,实现网段局部性和效率局部性的特质;针对高频网段,只对僵尸网络家族的常用端口进行端口开放探测,可以大幅提高探测效率和降低资源消耗及探测时间,有效提高效率和时间;对可疑网络控制节点,自动化进行家族、版本分类,并放入与之匹配的僵尸网络家族协议验证模块,从而对可疑网络控制节点进行分流处理,加速可疑C2的验证过程,从而根据监控到的数据进行自动化分析,挖掘更多的威胁情报,实现威胁情报态势感知,有效提高探测效率,提高扫描效率。
其次参照附图描述根据本发明实施例提出的僵尸网络控制节点的检测装置。
图3是本发明一个实施例的僵尸网络控制节点的检测装置的结构示意图。
如图3所示,该僵尸网络控制节点的检测装置10包括:第一获取模块100、采集模块200、第二获取模块300、探测模块400、校验模块500和第三获取模块600。
其中,第一获取模块100用于根据当前僵尸网络控制节点的IP生成高频网段,并对高频网段的每个IP发送SYN数据包,以确定每个IP的端口的当前状态。采集模块200用于根据每个端口的当前状态得到初始可疑网络控制节点集合,并根据初始可疑网络控制节点集合与预设的常用端口列表得到可疑网络控制节点列表。第二获取模块300用于根据可疑网络控制节点列表建立TCP连接,以获取高可疑网络控制节点列表。探测模块400用于根据高可疑网络控制节点列表和僵尸网络家族的端口列表进行匹配和协议探测,以进行家族关联分类。校验模块500用于根据分类结果对高可疑网络控制节点列表的高可疑网络控制节点进行协议校验,以识别家族协议。第三获取模块600用于根据家族协议获取相应家族的僵尸网络控制节点。本发明实施例的装置10可以通过对僵尸网络控制节点进行加速自动化主动分析探测,以探测更多的未知的僵尸网络控节点,有效提高探测效率,提高扫描效率。
进一步地,在本发明的一个实施例中,采集模块200进一步包括:其中,采集单元、判断单元、剔除单元和第一获取单元。采集单元用于根据每个IP的端口的当前状态得到每个IP的开放端口数。判断单元用于判断每个IP的开放端口数是否大于预设端口数。剔除单元用于如果大于预设端口数,则剔除。第一获取单元用于如果小于预设端口数,则获取对应开放端口的低可疑网络控制节点的集合,以得到初始可疑网络控制节点集合。
进一步地,在本发明的一个实施例中,探测模块400进一步包括:第二获取单元和匹配单元。其中,第二获取单元用于通过对已捕获的样本进行家族识别和家族通讯协议逆向分析获取僵尸网络家族的端口列表。匹配单元用于通过高可疑网络控制节点列表和僵尸网络家族的端口列表匹配得到分类结果。
进一步地,在本发明的一个实施例中,校验模块500进一步包括:校验单元。其中,校验单元用于对高可疑网络控制节点进行各僵尸网络家族确认包专有协议校验,以识别相应家族的僵尸网络控制节点。
进一步地,在本发明的一个实施例中,第三获取模块600进一步包括:利用沙箱或者木马自动化分析引擎持续对木马分析并解析出新的僵尸网络控制节点,推送拓展新的僵尸网络控制节点的IP和端口,以得到所有的僵尸网络控制节点。
需要说明的是,前述对僵尸网络控制节点的检测方法实施例的解释说明也适用于该实施例的僵尸网络控制节点的检测装置,此处不再赘述。
根据本发明实施例提出的僵尸网络控制节点的检测装置,通过前期的僵尸网络家族信息收集,可以自动化提取高频网段,缩减对未知网络控制节点的扫描范围,从而提高了探测效率,实现网段局部性和效率局部性的特质;针对高频网段,只对僵尸网络家族的常用端口进行端口开放探测,可以大幅提高探测效率和降低资源消耗及探测时间,进而也体现了效率局部性和时间局部性的特质;对可疑网络控制节点,自动化进行家族、版本分类,并放入与之匹配的僵尸网络家族协议验证模块,从而对可疑网络控制节点进行分流处理,加速可疑C2的验证过程从而根据监控到的数据进行自动化分析,挖掘更多的威胁情报,实现威胁情报态势感知,有效提高探测效率,提高扫描效率。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。