CN105681250A - 一种僵尸网络分布式实时检测方法和系统 - Google Patents

一种僵尸网络分布式实时检测方法和系统 Download PDF

Info

Publication number
CN105681250A
CN105681250A CN201410655378.5A CN201410655378A CN105681250A CN 105681250 A CN105681250 A CN 105681250A CN 201410655378 A CN201410655378 A CN 201410655378A CN 105681250 A CN105681250 A CN 105681250A
Authority
CN
China
Prior art keywords
detection
netflow
training
real
main frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410655378.5A
Other languages
English (en)
Other versions
CN105681250B (zh
Inventor
胡卫华
班晓芳
曲武
张利
孟祥杰
刘锡峰
梁杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Venus Information Security Technology Co Ltd
Venus Info Tech Inc
Beijing Venus Information Technology Co Ltd
China Information Technology Security Evaluation Center
Original Assignee
Beijing Venus Information Security Technology Co Ltd
Beijing Venus Information Technology Co Ltd
China Information Technology Security Evaluation Center
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Venus Information Security Technology Co Ltd, Beijing Venus Information Technology Co Ltd, China Information Technology Security Evaluation Center filed Critical Beijing Venus Information Security Technology Co Ltd
Priority to CN201410655378.5A priority Critical patent/CN105681250B/zh
Publication of CN105681250A publication Critical patent/CN105681250A/zh
Application granted granted Critical
Publication of CN105681250B publication Critical patent/CN105681250B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种僵尸网络分布式实时检测方法和系统,包括:数据生成组件生成网络流量元数据Netflow信息,并发送给数据检测组件;数据检测组件的检测模型训练单元从经过标注的训练数据中提取多个训练检测特征,建立作为实时检测单元的检测标准的检测模型;数据检测组件的实时检测单元接收实时发送的Netflow信息,并提取多个检测特征,与上述检测模型进行比较,当比较结果匹配时,得出包括检测对象标识符的告警信息,将所述告警信息与主机黑白名单比较,得出确认受控僵尸主机和可疑受控僵尸主机。本发明的方案既可以应用在千兆流量的企业网,又可以应用到ISPs网络中;提高了僵尸网络检测的总体检测性能。

Description

一种僵尸网络分布式实时检测方法和系统
技术领域
本发明涉及通讯领域,尤其涉及一种僵尸网络分布式实时检测方法和系统。
背景技术
当前,全球互联网安全威胁正处于深远变革阶段,攻击者的攻击目的从针对网络架构本身,使其不能够正常使用,转移到以普通用户和相关组织为目标。这类新型攻击直接影响了全球网络用户的日常生活,威胁到了企业用户和政府网络的安全。例如,计算机用户正在遭受间谍软件窥探其敏感信息、垃圾邮件对其邮箱账户进行洪泛攻击、钓鱼网站偷窃认证数据等。这些攻击的核心就是大量被控制的计算机,这些机器可能位于世界各地的家庭、学校、公司或政府。攻击者使用这些受控主机作为匿名代理去隐藏其真实身份和意图,同时放大攻击能力。僵尸恶意程序能够使操作者远程控制受控主机,并将这些主机组织成僵尸网络。僵尸网络问题的范围很难定义,由于其受控主机高度的可转换特性(由受控主机转变为正常主机),僵尸网络很难检测,甚至很难评估。不过,截止2013年底,CERT已经报道最大的僵尸网络包含近500,000受控主机,而且已经报告的受控主机数目接近300万。
目前,传统的基于主机的僵尸恶意软件检测方法,例如反病毒扫描器,对于检测僵尸网络具有一定的局限性。为了辅助检测,基于网络的僵尸网络检测方法已经被提出来,并开始被广泛研究。当前,对于僵尸网络的检测多采用事后处理机制,即类CERT机构在发现某个大型网站或重要网络受到DDoS攻击或垃圾邮件攻击时,才开始协调相关部门和安全企业进行调查,其调查结果多数情况是不能够定位僵尸网络控制节点和攻击发起人,甚至不能够发现实施攻击的僵尸网络受控主机。这个过程中,攻击所造成的损失以及调查的代价非常大,所以研究和实现一种有效的、能够实用于各类网络环境(企业网,互联网服务提供商(ISP))的、分布式的实时僵尸网络检测方法是非常必要的。
对当前僵尸网络检测技术调研,主流的技术例如BotSniffer、BotMiner或TAMD等系统通常采用关联网络中多个主机的行为,而且依赖僵尸网络产生的噪音进行检测,例如垃圾邮件和DoS行为,而这类行为妨碍了偷窃类僵尸恶意软件的检测。尽管,当前存在的许多系统都允许检测主机僵尸恶意软件感染,但该类检测产品通常使用的是深度包解析方法。这类方法特征提取阶段时间代价较大,仅适用于企业千兆网络环境,难以应用到万兆企业环境(丢包严重),更难以应用于ISPs客户环境。
发明内容
为了解决上述问题,本发明提出了一种僵尸网络分布式实时检测方法和系统,能够既可以应用在千兆流量的企业网,又可以应用到ISPs网络中;提高了僵尸网络检测的总体检测性能。
为了达到上述目的,本发明提出了一种僵尸网络分布式实时检测方法,该方法包括:
数据生成组件接收网络流量生成网络流量元数据Netflow信息,并将Netflow信息发送给数据检测组件。
数据检测组件的检测模型训练单元,从经过标注的训练数据中提取多个训练检测特征,基于该训练检测特征,建立作为实时检测单元的检测标准的检测模型。
数据检测组件的实时检测单元,接收数据生成组件实时发送的Netflow信息,基于该Netflow信息提取多个检测特征,将检测特征与检测模型进行比较,当比较结果匹配时,得出包括检测对象标识符的告警信息,将该告警信息与主机黑白名单相比较,得出确认受控僵尸主机和可疑受控僵尸主机。
优选地,数据生成组件接收网络流量生成网络流量元数据Netflow信息是指:
数据生成组件的网络设备接收网络流量生成标准的Netflow信息;或,
数据生成组件的安全设备或软件接收网络流量生成自定义的Netflow信息。
优选地,训练数据是指:数据检测组件的僵尸恶意样本处理单元根据僵尸恶意样本家族的分类结果,在可控的虚拟机或沙箱环境下执行同一个家族的恶意代码,捕获和存储所有的原始网络流量,安全设备或软件对原始网络流量进行包重组为原始流并从原始流中提取的自定义Netflow信息。
优选地,检测模型的建立包括以下步骤:
构建主机关系链训练子单元基于火花流SparkStream分布式流处理引擎和训练数据,建立训练多级主机访问关系链。
构建主机Netflow图谱训练子单元基于SparkStream分布式流处理引擎和训练数据,建立训练主机Netflow图谱。
基于统计的特征提取训练子单元分析训练主机访问关系链、训练主机Netflow图谱和Netflow信息,提取多个训练检测特征,形成训练检测特征向量。
建立检测模型子单元基于训练检测特征向量建立检测模型。
优选地,多个训练检测特征包括:主机访问关系链、平均间隔、平均流持续时长、平均流大小、对于流起始时间的傅里叶变换、IP地址熵、上下行流量比、流量负载熵。
优选地,建立检测模型子单元建立检测模型的过程包括:使用聚类算法分别对多个训练检测特征向量的各个分量进行聚类,删除不符合聚类评估函数的聚类簇,基于剩余的所述聚类簇建立所述检测模型。
优选地,得出确认受控僵尸主机和可疑受控僵尸主机的步骤包括;
构建主机关系链实时子单元基于SparkStream分布式流处理引擎和实时的Netflow信息建立实时多级主机访问关系链。
构建主机Netflow图谱实时子单元基于SparkStream分布式流处理引擎和实时Netflow信息,建立实时主机Netflow图谱。
基于统计的特征提取实时子单元分析实时主机访问关系链、实时主机Netflow图谱和实时Netflow信息,提取多个检测特征,组成检测特征向量。
僵尸主机检测单元将获取的待检测的检测特征向量的每个分量与检测模型进行比较,并根据每个分量对检测精度的影响不同给予不同的权重,根据比较结果命中的分量和权重计算检测特征向量的总体评分;判断总体评分是否超过预定的阈值,如果超过阈值,发出包括检测对象标识符的告警信息;否则,标注正常,进行下一轮的检测。
黑白名单子单元将所述告警信息中的检测对象标识符与白名单进行比较,删除与白名单相匹配的主机,过滤误报主机;还用于将告警信息中的检测对象标识符与黑名单进行比较,检测出与黑名单相匹配的主机,确认为受控僵尸主机;将与白名单和所述黑名单都不匹配的主机确认为可疑受控僵尸主机;并且根据确认结果,更新黑名单和所述白名单的内容。
本发明还提出一种僵尸网络分布式实时检测系统,该系统包括:数据生成组件和数据检测组件。
数据生成组件,用于接收网络流量生成网络流量元数据Netflow信息,并将所述Netflow信息发送给所述数据检测组件。
数据检测组件,包括检测模型训练单元和实时检测单元。
检测模型训练单元,用于从经过标注的训练数据中提取多个训练检测特征,基于该训练检测特征,建立作为实时检测单元的检测标准的检测模型。
实时检测单元,用于接收数据生成组件实时发送的Netflow信息,基于该Netflow信息提取多个检测特征,将检测特征与检测模型进行比较,当比较结果匹配时,得出包括检测对象标识符的告警信息,将该告警信息与主机黑白名单相比较,得出确认受控僵尸主机和可疑受控僵尸主机。
优选地,数据生成组件包括网络设备、安全设备和软件。
网络设备,用于接收网络流量生成标准的Netflow信息。
安全设备和软件,用于接收网络流量生成自定义的Netflow信息。
优选地,数据检测组件还包括僵尸恶意样本处理单元,用于根据僵尸恶意样本家族的分类结果,在可控的虚拟机或沙箱环境下执行同一个家族的恶意代码,捕获和存储所有的原始网络流量。
优选地,安全设备和软件还用于,对原始网络流量进行包重组为原始流,从原始流中提取自定义Netflow信息并保存,形成训练数据。
优选地,检测模型训练单元包括构建主机关系链训练子单元、构建主机Netflow图谱训练子单元、基于统计的特征提取训练子单元和建立检测模型子单元。
构建主机关系链训练子单元,基于火花流SparkStream分布式流处理引擎和训练数据,建立训练多级主机访问关系链。
构建主机Netflow图谱训练子单元,基于SparkStream分布式流处理引擎和所述训练数据,建立训练主机Netflow图谱。
基于统计的特征提取训练子单元,用于分析训练主机访问关系链、训练主机Netflow图谱和Netflow信息,提取多个训练检测特征,形成训练检测特征向量。
建立检测模型子单元,用于基于训练检测特征向量,建立检测模型。
优选地,多个训练检测特征包括:主机访问关系链、平均间隔、平均流持续时长、平均流大小、对于流起始时间的傅里叶变换、IP地址熵、上下行流量比、流量负载熵。
优选地,建立检测模型子单元还用于,使用聚类算法分别对多个训练检测特征向量的各个分量进行聚类,删除不符合聚类评估函数的聚类簇,基于剩余的聚类簇建立检测模型。
优选地,实时检测单元包括构建主机关系链实时子单元、构建主机Netflow图谱实时子单元、基于统计的特征提取实时子单元、僵尸主机检测单元和黑白名单子单元。
构建主机关系链实时子单元,基于SparkStream分布式流处理引擎和实时的Netflow信息,建立实时多级主机访问关系链。
构建主机Netflow图谱实时子单元,基于SparkStream分布式流处理引擎和所述实时Netflow信息,建立实时主机Netflow图谱。
基于统计的特征提取实时子单元,用于分析实时主机访问关系链、所述实时主机Netflow图谱和所述实时Netflow信息,提取多个检测特征,组成检测特征向量。
僵尸主机检测单元,用于将获取的待检测的检测特征向量的每个分量与检测模型进行比较,并根据每个分量对检测精度的影响不同给予不同的权重,根据比较结果命中的分量和该权重计算检测特征向量的总体评分;判断总体评分是否超过预定的阈值,如果超过阈值,发出包括检测对象标识符的告警信息;否则,标注正常,进行下一轮的检测;
黑白名单子单元,用于将告警信息中的检测对象标识符与白名单进行比较,删除与白名单相匹配的主机,过滤误报主机;还用于将告警信息中的检测对象标识符与黑名单进行比较,检测出与黑名单相匹配的主机,确认为受控僵尸主机;将与白名单和所述黑名单都不匹配的主机确认为可疑受控僵尸主机;并且根据确认结果,更新黑名单和所述白名单的内容。
与现有技术相比,本发明包括:数据生成组件接收网络流量生成网络流量元数据Netflow信息,并将该Netflow信息发送给数据检测组件;数据检测组件的检测模型训练单元,从经过标注的训练数据中提取多个训练检测特征,基于该训练检测特征,建立作为实时检测单元的检测标准的检测模型;数据检测组件的实时检测单元,接收数据生成组件实时发送的Netflow信息,基于该Netflow信息提取多个检测特征,将该检测特征与上述的检测模型进行比较,当比较结果匹配时,得出包括检测对象标识符的告警信息,将所述告警信息与主机黑白名单比较,得出确认受控僵尸主机和可疑受控僵尸主机。本发明的方案既可以应用在千兆流量的企业网,又可以应用到ISPs网络中;提高了僵尸网络检测的总体检测性能。
附图说明
下面对本发明实施例中的附图进行说明,实施例中的附图是用于对本发明的进一步理解,与说明书一起用于解释本发明,并不构成对本发明保护范围的限制。
图1为本发明僵尸网络分布式实时检测方法流程图;
图2为本发明僵尸网络分布式实时检测方法中检测模型训练单元031的一个实施例的方法流程图;
图3为本发明僵尸网络分布式实时检测方法中实时检测单元032的一个实施例的方法流程图;
图4为本发明僵尸网络分布式实时检测方法中检测模型训练单元031的完整的训练过程流程图;
图5为本发明僵尸网络分布式实时检测方法中主机关系链的构建流程图;
图6为本发明僵尸网络分布式实时检测方法中实时检测单元032的完整的检测过程流程图;
图7为本发明僵尸网络分布式实时检测系统组成框图;
图8为本发明僵尸网络分布式实时检测系统组成实施例简要示意图;
图9为本发明僵尸网络分布式实时检测系统组成实施例详细示意图;
图10为本发明僵尸网络分布式实时检测系统组成另一实施例示意图;
图11为本发明实施例中僵尸网络分布式实时检测组件中定义的主机关系链描述;
图12为本发明实施例中僵尸网络分布式实时检测组件中定义的主机Netflow图谱描述;
图13为本发明实施例中僵尸网络分布式实时检测组件中主机关系链构造过程描述;
图14为本发明实施例中僵尸网络分布式实时检测组件中主机Netflow图谱构造过程描述。
具体实施方式
为了便于本领域技术人员的理解,下面结合附图对本发明作进一步的描述,并不能用来限制本发明的保护范围。
本发明采用两种方式提高检测性能,其一是使用更高层次的Netflow信息。根据网络流量情况,可以选择使用标准Netflow数据或自定义的Netflow数据。对于自定义Netflow数据的提取,无需深度包解析过程,对于信道加密并不敏感。其二,训练和分析阶段引入了SparkStream分布式流处理引擎,可以根据Netflow数据量大小横向扩展系统,即通过添加机器提升处理性能。
具体地,本发明提出一种僵尸网络分布式实时检测方法,如图1所示,该方法包括:
S101,数据生成组件接收网络流量生成网络流量元数据Netflow信息,并将Netflow信息发送给数据检测组件。
优选地,数据生成组件接收网络流量生成网络流量元数据Netflow信息是指:
数据生成组件的网络设备接收网络流量生成标准的Netflow信息;或,数据生成组件的安全设备和软件接收网络流量生成自定义的Netflow信息。
S102,数据检测组件的检测模型训练单元,从经过标注的训练数据中提取多个训练检测特征,基于该训练检测特征,建立作为实时检测单元的检测标准的检测模型。
优选地,训练数据是指:数据检测组件的僵尸恶意样本处理单元根据僵尸恶意样本家族的分类结果,在可控的虚拟机或沙箱环境下执行同一个家族的恶意代码,捕获和存储所有的原始网络流量,安全设备或软件对原始网络流量进行包重组为原始流并从原始流中提取的自定义Netflow信息。
优选地,检测模型的建立包括以下步骤:
构建主机关系链训练子单元基于火花流SparkStream分布式流处理引擎和训练数据,建立训练多级主机访问关系链。
构建主机Netflow图谱训练子单元基于SparkStream分布式流处理引擎和训练数据,建立训练主机Netflow图谱。
基于统计的特征提取训练子单元分析训练主机访问关系链、训练主机Netflow图谱和Netflow信息,提取多个训练检测特征,形成训练检测特征向量。
建立检测模型子单元基于训练检测特征向量建立检测模型。
优选地,多个训练检测特征包括:主机访问关系链、平均间隔、平均流持续时长、平均流大小、对于流起始时间的傅里叶变换、IP地址熵、上下行流量比、流量负载熵。
优选地,建立检测模型子单元建立检测模型的过程包括:使用聚类算法分别对多个训练检测特征向量的各个分量进行聚类,删除不符合聚类评估函数的聚类簇,基于剩余的所述聚类簇建立检测模型。
S103,数据检测组件的实时检测单元,接收数据生成组件实时发送的Netflow信息,基于该Netflow信息提取多个检测特征,将该检测特征与上述的检测模型进行比较,当比较结果匹配时,得出包括检测对象标识符的告警信息,将该告警信息与主机黑白名单比较,得出确认受控僵尸主机和可疑受控僵尸主机。
优选地,得出确认受控僵尸主机和可疑受控僵尸主机的步骤包括:
构建主机关系链实时子单元基于SparkStream分布式流处理引擎和实时的Netflow信息建立实时多级主机访问关系链。
构建主机Netflow图谱实时子单元基于SparkStream分布式流处理引擎和实时Netflow信息,建立实时主机Netflow图谱。
基于统计的特征提取实时子单元分析实时主机访问关系链、实时主机Netflow图谱和实时Netflow信息,提取多个检测特征,组成检测特征向量。
僵尸主机检测单元将获取的待检测的检测特征向量的每个分量与检测模型进行比较,并根据每个分量对检测精度的影响不同给予不同的权重,根据比较结果命中的分量和权重计算检测特征向量的总体评分;判断总体评分是否超过预定的阈值,如果超过阈值,发出包括检测对象标识符的告警信息;否则,标注正常,进行下一轮的检测。
黑白名单子单元将告警信息中的检测对象标识符与白名单进行比较,删除与白名单相匹配的主机,过滤误报主机;还用于将告警信息中的检测对象标识符与黑名单进行比较,检测出与黑名单中相匹配的主机,确认为受控僵尸主机;将与白名单和黑名单中的主机名称都不匹配的主机确认为可疑受控僵尸主机;并且根据确认结果,更新黑名单和白名单的内容。
下面针对不同的实施例对本发明方案做进一步描述。
本发明实施例中的僵尸网络分布式实时检测方法的检测模型训练单元031一个实施例包括:检测模型训练单元031接收来自Netflow产生设备发送的自定义的Netflow信息,提取特征并建立检测模型。如图2所示,该方法具体包括以下步骤:
S201,在可控的环境下,例如沙箱或虚拟机,运行需要训练的僵尸恶意代码家族可执行程序。
S202,使用安全设备,例如IDS或IPS,对原始流量进行捕获、包重组、并进行自定义Netflow特征提取、存储原始流量和Netflow特征。
在实际使用中,自定义的Netflow至少要包括NetflowV5特征,可以有选择的包括NetflowV9特征,具体不在此限定Netflow的版本。此外,还需要包括上下行流量比和流量负载熵,但不局限于这些特征。本专利中将自定义的Netflow记为(UD)Netflow,既可以表示自定义的Netflow,也可以表示标准的Netflow特征。
S203,使用(UD)Netflow数据,采用分布式方式实时构造主机关系链,并提取主机关系链特征。
S204,使用(UD)Netflow数据,采用分布式方式实时构造主机Netflow图谱,并提取主机Netflow图谱特征。
S205,将上下行流量比、流量负载熵、主机关系链特征和主机Netflow图谱特征合并为检测特征向量,并使用聚类算法对各个分量分别聚类,过滤低质量的聚类簇,使用过滤后选中的聚类簇进行建模。
本实施例训练组件中,训练组件可以提取可控环境发来的僵尸恶意代码家族的C&C通信特征,建立模型检测。然后,新的(UD)Netflow通过检测模型时,若命中,则说明该流量与模型具有相似的特征,从而获取到受控僵尸主机的信息。因此,本发明实施例的训练组件能够实现对僵尸恶意代码家族建模。
上面从分布式实时检测方法的检测模型训练单元031的训练过程进行了说明,下面将从分布式实时检测方法的实时检测单元032的检测过程进行说明,请参阅图3,本发明实施例中的僵尸网络分布式实时检测方法的实时检测单元032一个实施例包括以下步骤:
S301,实时检测单元032接收到(UD)Netflow生成设备发出的(UD)Netflow数据。
在本实施例的实时检测单元032中,(UD)Netflow生成设备可以为企业网中的IDS、IPS和Snort,前提是此类的IDS、IPS或Snort能够重组包成为流,并能够提取(UD)Netflow特征。也可以为,交换机或路由器,前提是此类交换机或路由器能够发出标准的Netflow数据,可以自选Netflow版本号,至少包括NetflowV5版本。
S302,实时检测单元032对接收到的(UD)Netflow数据进行分布式实时处理,提取(UD)Netflow的统计特征,具体包括以下步骤:
S3021,首先,使用(UD)Netflow数据构造主机关系链,并基于统计的方法提取主机关系链特征。
S3022,然后,使用(UD)Netflow数据构造主机Netflow图谱,并基于统计的方法提取主机Netflow图谱特征。
S3023,将(UD)Netflow中的部分特征,例如上下行流量比和流量负载熵,主机关系链特征和主机Netflow图谱特征,合并成一个8维的检测特征向量,并使用3元组标识这部分检测数据,3元组定义为(源IP,源端口,协议),记为检测对象标识符。
S303,实时检测单元032利用检测模型训练单元031生成的检测模型进行检测。
检测过程中,对于检测特征向量的每个分量分别检测,并根据每个分量对检测精度的影响不同给予不同的权重,根据权重和命中的分量计算检测特征向量的总体评分。
判断待检测特征向量的总体评分是否超过设定的阈值,若超过给定的阈值,则检测组件告警。否则,标注正常,进行下一轮的检测。
接下来,使用IP白名单列表对告警的检测对象标识符进行过滤。即对于告警的检测对象标识符,提取其源IP与IP白名单列表进行比较。若命中,则表示检测组件误告警。标注为正常,进行下一轮的检测。
接下来,若没有命中,将其源IP与僵尸主机IP黑名单列表进行比较。若命中,将检测对象标识符标记为确认僵尸主机。若没命中,将检测对象标识符标记为可疑僵尸主机。
S304,最后,实时检测单元032输出检测结果,检测结果包括:确认僵尸主机列表和可疑僵尸主机列表。
本实施例实时检测单元032中,使用检测模型训练单元031建立好的检测模型,对于获得的检测特征向量的各个分量进行检测,并根据权重和命中的分量计算检测特征向量的总体评分。最后,使用黑白名单进行过滤和分类,输出检测结果。因此,本发明实施例的检测组件能够实现实时对僵尸恶意代码进行检测。
需要说明的是,本实施例中,IDS、IPS重组包为流,并提取自定义Netflow特征的过程可以使用本领域技术人员已知的任何方法,生产IDS、IPS的厂家多数可以提供此功能,可以选择开启此策略。
上面从检测模型训练单元031和实时检测单元032的角度对僵尸网络分布式实时检测的流程进行了简要说明,为便于理解,下面从检测模型训练单元031和实时检测单元032的详细建立过程和依据的角度对上述僵尸网络分布式实时检测方法进行详细描述。
如图4所示,为本发明僵尸网络分布式实时检测方法中检测模型训练单元031的完整的训练过程实施例,包括以下步骤:
S401,建立可控的虚拟机或沙箱环境,环境中使用WindowsXP系统,并保证系统环境没有受到恶意代码的影响。
可控的虚拟机或沙箱环境,首先能够确保系统是干净的,并且具有对系统进行相关配置和操作的权限,以满足实验要求。
为了捕捉僵尸网络产生的通信流量,基于Xen构建了可控的WindowsXP虚拟机环境。同时,该虚拟机与互联网相连,且包含真实的用户数据。
S402,对僵尸恶意代码样本进行分析,并且使用VirusTotal和Anubis对这些恶意代码进行家族分类。
僵尸恶意代码样本的来源通常是研究人员使用蜜罐等工具进行捕获,或是来自于交换渠道。对于获取到的僵尸恶意代码样本进行分析的过程包括检测和分类,该过程使用业界知名的检测和标注系统Anubis和VirusTotal,分别用于动态检测和静态检测。
该过程需要正确的分类僵尸恶意样本,即同一家族的不同样本需要放在一起统一送给下个过程进行分析。当然,由于Anubis和VirusTotal的局限性,不正确的分类肯定会存在,这可能会影响生成检测模型的质量。但本专利的实施例对于训练数据集中的噪音具有一定程度的容错性。
S403,在可控的虚拟机或沙箱环境下,对僵尸恶意代码家族运行。
根据僵尸恶意样本家族的分类结果,在沙箱或虚拟机这类可控环境下执行同一个家族的恶意代码,所有的网络流量都将被捕获和记录。
为了能够保证本实施例使用的训练样本是活跃的、相关的,观测和研究了Anubis在2013年5月份的检测样本,并从中选出适合本实施例训练的样本。Anubis每天收到并分析成千上万的样本,在动态检测领域具有权威性。
本实施例训练组件使用的训练样本家族非常具有代表性,并且在当前网络环境中相当活跃。具体所选择的样本家族包括Festi、Pushdo、Bifrose三个僵尸网络家族,平均每个家族选择20个变种样本进行测试,并捕获所有的网络流量。
本实施例的训练数据并不局限于所选择的3个僵尸网络家族,其他僵尸家族也可用于训练。
在使用僵尸家族样本训练之前,需要对样本进行分析。在分析僵尸恶意样本过程中,最主要的挑战是如何区分恶意C&C通信与正常C&C通信。在训练过程中,正常C&C通信为噪音数据。事实上,许多僵尸程序会由于某些原因访问合法网站,例如为了检测网络可达性、同步时间或为发送垃圾邮件。一些僵尸变种甚至能够故意的伪造访问合法站点的良性流量,以此隐匿自己的C&C通信,同时还能对抗基于静态特征标签的检测。
本实施例使用两种方式过滤无关流量并识别相关流量:其一是使用网络访问白名单,例如MicrosoftUpdate、Baidu等。此外,可以利用第三方的知识库或使用已知的静态特征、特别的通信模式与训练流量进行比较。而且,将目标IP地址与已知的僵尸网络C&C服务器进行比较。另一方面,更多的高级的、自动的技术可以被引入,例如能够识别未知C&C服务器的JACKSTRAWS,该方法利用僵尸样本执行时附加的系统调用信息进行识别。区分僵尸网络的C&C通信和无关的通信可以使训练模型仅仅捕捉僵尸网络流量。
值得注意的是,当与僵尸网络C&C通信无关的流量被包含到模型建立过程中,显然会降低结果模型的可信度。但是,本实施例中,使用可信度较低的模型对于检测结果影响不大。
S404,使用安全设备或软件对可控环境产生的流量进行包重组为流。
本实施例训练组件所使用的安全设备包括IDS、IPS,并能够进行包重组,组织成原始流,从原始流中提取自定义Netflow的设备。本实施例训练组件所使用的IDS软件包括Snort、OSSEC、Bro等开源的IDS软件,这些软件中多数已经内置了包重组、组织成流并提取特征,也提供了相应的API支持用户自定义开发。
需要说明的是,本实施例训练组件中,安全检测设备进行包重组、组织成为数据流并提取特征的过程可以使用任何本领域技术人员可实施的方法。
S405,对网络重组的数据流进行分析,提取自定义的Netflow特征,记为(UD)Netflow。
本实施例训练组件所使用的自定义Netflow特征,是在标准的Netflow基础上,添加了一些自定义的特征,例如上下行流量比、流量负载熵等特征,这些特征对于检测僵尸网络是有帮助的。
需要说明的是,本实施例训练组件中,标准Netflow格式为本领域技术人员已知的标准格式,常用的两个版本为NetflowV5和NetflowV9。
S406,将(UD)Netflow和原始流量存储到HDFS中。
本实施例训练组件支持将原始流量和(UD)Netflow特征存储到Hadoop分布式文件系统中,即HDFS中,以便支持后期使用Hive和MapReduce进行统计查询和批处理。
对(UD)Netflow进行分布式实时处理,构建主机关系链和主机(UD)Netflow图谱,主机关系链和主机(UD)Netflow图谱是本实施例最为核心的两个概念,下面对主机关系链和主机(UD)Netflow图谱进行详细说明。
S407,对(UD)Netflow进行分布式实时处理,构建主机关系链,并提取主机关系链特征。
本实施例在对(UD)Netflow处理时,采用的是SparkStream分布式实时流处理引擎。SparkStream引擎的基本原理是将Stream数据分成小的时间片断(可采用不同的时间粒度,例如秒、分钟等),以类似batch批量处理的方式来处理这小部分数据。SparkStreaming引擎是构建在Spark上,一方面是因为Spark的低延迟执行引擎(100ms+)可以用于实时计算,另一方面相比基于Record的其它处理框架(如Storm),RDD数据集更容易做高效的容错处理。此外,小批量处理的方式使得它可以同时兼容批量和实时数据处理的逻辑和算法。方便了一些需要历史数据和实时数据联合分析的特定应用场合。
本实施例中,引入了主机关系链的概念,图11对主机关系链进行展示,下面将对主机关系链的构建进行详细描述,如图5所示,具体包括以下步骤:
S501,僵尸网络控制者发布命令或者更新,僵尸主机频繁向其邻居节点发布搜索命令。
S502,僵尸主机频繁连接邻居节点以交换keep-alive消息。在分布式僵尸网络中,每个僵尸主机都维护一个邻居节点名单,并频繁访问名单中的节点,即反复连接相同的一组节点。大部分僵尸网络符合该模型,主机关系链主要描述此类僵尸网络的特征。
S503,僵尸主机连接其名单中前后相邻节点的流“相继出现”,即一个流先出现,另一个流紧跟前一个出现,这些流具有前驱后继的关系,本实施例称之为“关系链”。因为这些关系链是描述主机之间的访问关系的,也称之为“主机关系链”。
S504,根据关系链中流的个数不同,分为二级和多级关系链。二级关系链指前后两个流的前驱后继关系,多级关系链指前后多个流的前驱后继关系。
相比之下,合法用户的网络行为较随机,合法的流之间不会呈现明显的关系链。因此,可以通过提取流之间的主机关系链识别C&C流量,从而检测出受控僵尸主机。
本实施例中,基于SparkStream引擎提取主机关系链的流程如图13所示,包括Map(fun)、Shuffle(fun)、Reduce(fun)、Filter(fun)等过程。其中,H,P,t和n分别表示主机、端口,获取该数据流的时间窗标识和该数据流出现的次数。例如,(H1,P1,H2,P2,t1,n1),表示在时间窗口t1,数据流从源主机H1源端口P1到目标主机H2目标端口P2出现了n1次。生成的主机关系链,例如[(H5,P1),[(H1,P2,n5),(H2,P2,n9)]],表示主机(H5,P1)的具有三级关系链特征。
若“相继出现”对应的时间值取值过长,例如大于30s,上述主机链看起来是一个正常的用户访问。如果取值小于1s,则定义的主机关系链才可用于检测僵尸网络。故,选择正确的数据流间隔是非常必要的。在构建主机关系链过程中,对大于间隔的数据流要采取丢弃策略。
S418,对(UD)Netflow进行分布式实时处理,构建主机Netflow图谱,并提取主机Netflow图谱特征。
本实施例中,引入了主机Netflow图谱的概念,图12对主机Netflow图谱进行展示,下面将对主机Netflow图谱进行详细描述。
主机Netflow图谱是两个网络节点间(主机&端口)时序的流序列,图14显示了不同形状的主机Netflow图谱。例如NG-4使用431端口,从主机H1到H4显示了高度的规律行为。这种规律性使得能够提取主机Netflow图谱的统计特征。例如,在主机Netflow图谱NG-4中,接近常量的流之间的时间间隔和持续时间,使用这两个特征能够精确描述整个NG-4图谱。
为了获得更为有意义的统计数据,需要主机Netflow图谱包含一定量的连接数,即|NG|min,在本实施例中,30≤|NG|min≤70。主机Netflow图谱的最小长度是与僵尸网络实际通信一致的,即C&C网络通信通常包含多个主机与C&C服务器之间的连接。
主机Netflow图谱构建之后,为了分类图谱中的子序列,需要处理每个图谱抽取统计特征。基于主机Netflow图谱,主要提取以下5个统计特征,分别为主机(UD)Netflow图谱中的两个流之间的平均间隔、平均流持续时长、平均流大小、流起始时间的傅里叶变换、IP地址熵。
平均间隔说明如下,在主机Netflow图谱中,两个流子序列之间起始时间间隔。僵尸主控节点必须保证其下所控节点能够接收到新的命令和频繁更新。通常,从C&C服务器到受控僵尸主机之间的通信采用“推”模式是不可能的。其原因是,许多受控僵尸主机是在私有网络中,并处于网络地址转换设备NAT后面,或者是还没有注册到C&C服务器上。假设大部分受控僵尸主机与C&C服务器之间通信都使用一个常量的时间间隔(或者一个固定范围的随机值),这将致使通信中可检测的周期性。对于这类通信模式,僵尸主控节点必须平衡僵尸网络的可扩展性、灵活性和C&C服务器连接被检测到的风险。一些僵尸网络变种为规避特征提取和恶意代码检测系统,开始采用随机和合法连接。其他方法,例如每天定时连接也遭遇到主机时钟不同步的问题。而且,僵尸恶意代码作者可以通过精心设计恶意代码使其不显示周期行为。但是,模仿随机和合法通信是相当困难的,而且也是可检测的。基于对不同的僵尸恶意代码家族的观察,当前大部分僵尸恶意代码都符合上面的假设,同时表现出松散的周期C&C通信特征。
平均持续时长说明如下,在主机Netflow图谱中,每个流子序列持续时间的均值。通常情况下,受控僵尸主机不收到新命令的情况下,大部分通信仅仅包含简单的握手信息,即受控僵尸主机请求新命令,C&C服务器返回没有新命令。因此,在主机Netflow图谱中,认为这个过程的持续时间是相近的。
平均流大小说明如下,在主机Netflow图谱中,平均流大小包含两个子特征,分别为平均源字节数和平均目标字节数。通过使用源和目标字节数切分两个方向的通信,能够将请求信道与命令传输区分开。也就是说,请求更新垃圾邮件列表可能总是相同的大小,但来自C&C服务器的包含真实列表的数据是可变的。因此,主机Netflow图谱可能包含许多具有相同源字节数的流子序列。相似的判断也可应用到目标字节数,例如,来自C&C服务器的响应具有固定的格式。
流起始时间的快速傅里叶变换说明如下,为检测潜在的C&C通信规律,使用快速傅里叶变换(FastFourierTransformAlgorithm,FFT)算法处理C&C通信的二进制抽样。在此过程中,对主机Netflow图谱进行抽样,每个子序列起始位置设定为1,子序列中间位置则设定为0。通过这种方式,一个主机Netflow图谱被映射为一个二进制序列。为计算高质量的FFT,使用Netflow图谱中最小时间间隔的1/4作为抽样间隔,这可以避免欠采样问题。尽管如此,若存在两个流子序列之间距离非常小,其他流子序列之间距离非常大,该抽样方法将会产生大量的数据点。在此情况下,需要限制单个Netflow图谱中包含的采样点数为65536,即216,同时接受轻微欠采样情况。在使用该值的情况下,FFT是最快的,而且实验中仅仅有少量数据点被欠采样成一个单一的点。更为精确地描述如下,对于观测到的C&C图谱,18%显示欠采样,但是仅仅平均1%的起始时间被抽样到了一个采样点。在下一步,为抽取最重要的频率特征,需要计算主机Netflow图谱FFT的功率谱密度(PowerSpectralDensity,PSD)。FFT的峰值对应着时间周期性,并且对于主机Netflow图谱中的大跨度的间隔具有耐受性。而在实际测试环境中,僵尸网络恶意代码的C&C服务器通信是周期性的,然后会停滞一段时间。在一定的时间窗口内,当恶意代码作者设计可随机变化的C&C通信频率的僵尸代码,这种随机变化将会降低FFT的峰值。然而,FFT的峰值仍然保持可检测和同样的频率,因此可以通过FFT的峰值检测僵尸网络通信。
IP地址熵说明如下,同一网络的一定范围内,计算正常流量中(UD)Netflow五元组的IP地址熵,熵值都大致相同。如果出现行为异常,则异常流量将改变(UD)Netflow的IP地址熵,熵值也将与正常情况下的熵值出现很大差别。不同类型、不同比例的异常流量,熵值也有很大不同。例如,在僵尸网络感染期间,已中招的主机会在很短时间内连接到其他许多主机。被感染主机建立的开启连接会占多数,熵随之减小。同样,数据包流中的目标IP地址会比正常流量中的IP地址随机得多。也就是说,目的地IP地址的分布会更分散,导致信息熵较高。在僵尸网络发动DDOS攻击时,目的IP地址熵值较小,源IP地址熵值较大,网络扫描探测的目的IP地址熵值较大,源IP地址熵值较小。由于正常网络流量具有较为稳定的IP地址熵,异常流量将破坏这种稳定,从而可以从IP地址熵的角度进行僵尸网络检测。
本实施例训练组件中,基于SparkStream引擎提取主机Netflow图谱的流程如图12所示,包括Map(fun)、Shuffle(fun)、Reduce(fun)、Filter(fun)等过程。其中,H,P,t和n分别表示主机、端口,获取该数据流的时间窗标识和该数据流出现的次数。例如,(H1,P1,H2,P2,t1,n1),表示在时间窗口t1,数据流从源主机H1源端口P1到目标主机H2目标端口P2出现了n1次。生成的主机Netflow图谱,例如[(H1,P1,H2,P2),[(t1,t2,t3,t5),(n1,n4,n5,n9,n10)]],表示主机(H1,P1)到主机(H2,P2)之间的Netflow图谱。
S409,对(UD)Netflow的部分特征、主机关系链特征和主机Netflow图谱特征合并为检测特征向量。
对检测特征向量所包含的(UD)Netflow特征为上下行流量比和流量负载熵,但不局限于这两个特征。
上下行流量比说明如下,用户正常上网时产生的上行流量比下行流量小。流量异常是指用户上网时产生的上行流量比下行流量大得多。主要有两种原因造成:一是使用P2P软件(电驴、迅雷、PPLive、UUSEE等)在外网下载、看视频(如电影、电视)会产生大量的上行流量,为其他使用P2P软件的用户提供自己计算机上的数据。二是感染僵尸病毒,大量向外网发送病毒自动收集或生成的、危害计算机安全的敏感数据。对于正常的P2P软件,可以使用白名单列表方式进行过滤,剩下的为僵尸软件或恶意代码造成的可疑流量。
流量负载熵说明如下,新的僵尸程序将最新的加密或混淆技术用于其命令通道,以避免IDS、防火墙或其他方式的网络侦听。由于流量负载部分完全是加密或混淆的,基于特征的检测的方法难以提取加密通道的特征,故检测僵尸网络难以实现。然而,由于加密算法导致负载中字符出现的随机性大大提高,每个字符出现的概率变小。也就是说,信道流量加密后,其熵值比较高。因此,可以通过熵值判断信道是否加密。然后,结合主机流量白名单列表方式进行过滤掉合法加密流量,剩下的为僵尸软件或恶意代码造成的可疑流量。
因此,本实施例的检测特征向量包含主机访问关系链、平均间隔、平均流持续时长、平均流大小、对于流起始时间的傅里叶变换、IP地址熵、上下行流量比、流量负载熵,8个特征分量。
S410,使用聚类算法对分别对检测特征向量每个分量进行聚类。
为了聚类检测特征向量,本实施例的训练组件使用SGC聚类算法,该算法无需聚类参数,并且不需要提前指定聚类簇个数。根据测试经验,完全自动的、无监督的SGC聚类算法能够获得K-means算法想类似的结果。在某些情况下,甚至SGC聚类算算法能够获得更好聚类簇的结果,这表明SGC聚类算法能够较好的适应本专利的应用场景。
通过对僵尸恶意代码行为进行观测,检测特征向量的8个特征分量在总体上是无关的,因此选择对每个特征分量分别进行聚类。例如,一个僵尸代码的两个版本可能链接不同版本C&C服务器,传输不同大小的流、IP地址熵不同、流量负载熵不同等。然而,这两个版本的僵尸代码通信的周期模式仍然相同。
聚类后分析聚类簇,可以明显观测到大量的聚类簇含有可疑和真实恶意代码特定的行为。此外,一些小的聚类簇会包含多样的数据,这样的聚类簇往往具有较低的聚类质量,甚至对应的主机访问关系链和Netflow图谱也相当独特。
需要说明的是,本实施例中使用的SGC聚类算法可以为任何本领域技术人员可行的算法,本专利不再赘述。
S411,分别计算各个检测向量分量产生的聚类簇质量,过滤低质量的聚类簇。
在聚类过程中,计算完聚类中心和成员后,使用聚类质量评估函数判断各个聚类簇的质量。聚类评估函数定义如下,其中,sd为标准方差,c为均值,β为控制因子,默认值为2.53。
一般情况下,大的聚类簇具有更高的内部相似性,更为多样的聚类子簇。所有聚类qclu的均值是评估特征向量相似性的指标。高的聚类质量表明,大多数的僵尸恶意代码生成高度相似的(UD)Netflow,抽取的检测特征向量也相近。
如果(UD)Netflow是多样的,则主机关系链和主机(UD)Netflow图谱也是多样的,就会产生更多低质量的聚类簇。存在低质量的聚类簇是非常正常的。假定一个僵尸恶意代码家族样本,C&C通信具有确定的周期间隔特征,但为了规避检测,增加了人为的随机流量。然后,从该样本生成的流量中提取相关的C&C通信信息。在聚类过程中,由大多数僵尸恶意代码家族样本产生确定时间间隔C&C通信被聚类成高质量的聚类簇,然而随机的流量被聚类成低质量的、松散的聚类簇,且具有高的标准方差。尽管这些低质量的聚类簇降低了整个聚类的平均聚类质量,但是过滤低质量的聚类簇后,捕捉到真实C&C通信的聚类簇仍然是高质量的,而且表现了相关僵尸恶意代码的行为。
S412,利用选中的聚类簇进行建模。
训练结束后,最终的模型将包括8个聚类簇集合,每个集合对应一个特征,集合内包含了该特征的期望值。例如,平均间隔为850s或2100s,目的IP地址到源IP地址传输61KB,源IP地址到目的IP地址传输127KB,上下行流量比为2.745:1,每个流的持续时间为0.2s或10s,FFT为0.0012Hz或0.04Hz,IP地址熵值为7.54(该僵尸程序正在发动DDOS攻击),流量负载熵值为7.65(该僵尸程序使用的是加密信道),以上这些特征表明该僵尸程序为Dedler变种。
如图6所示,为本发明实施例中僵尸网络分布式实时检测方法的实时检测单元032的完整检测过程实施例,包括以下步骤:
S601,获取(UD)Netflow数据。
在(UD)Netflow获取部分,实时检测单元032和检测模型训练单元031是不同的。实时检测单元032支持标准的Netflow检测,也支持自定义的Netflow检测。对应的是两个使用场景,分别为ISP和企业网。在检测模型训练单元031中,对于自定义的Netflow数据产生过程与训练组件类似,不在赘述。在检测模型训练单元031中,对于来自网络设备的Netflow,例如路由器和交换机,需要使用特定的解析步骤解析出Netflow数据。
对于路由器和交换机发出的Netflow数据包,格式为UDP(用户数据报协议)数据包,每个UDP包中包含1到20条Netflow数据。对于采集的UDP数据包,解包抽取标准Netflow数据,也同样记为(UD)Netflow。
在检测阶段,将(UD)Netflow和原始流量存储到HDFS中是可选步骤。
本实施例实时检测单元032同样支持将原始流量和(UD)Netflow特征存储到Hadoop分布式文件系统中,即HDFS中,以便支持后期使用Hive和MapReduce进行统计查询和批处理。但该过程对于(UD)Netflow特征存储提供全部环境都支持,而对原始流量存储仅支持企业网千兆环境。
S602,将(UD)Netflow实时发送给Sparkstream进行分布式实时处理,该步骤与检测模型训练单元031中的步骤相同,本专利不再赘述。
S603,分布式实时构建主机关系链,并提取主机关系链特征,该步骤与训练组件中的步骤相同,本专利不再赘述。
S604,分布式实时构建主机Netflow图谱,并提取主机Netflow图谱特征向量,该步骤与训练组件中的步骤相同,本专利不再赘述。
S605,对(UD)Netflow的部分特征、主机关系链特征和主机Netflow图谱特征合并为检测特征向量,该步骤与检测模型训练单元031中的步骤相同,本专利不再赘述。
S606,基于训练好的模型分别对检测特征向量的每个分量进行检测,对于命中的分量根据权重计算总体得分。
为检测是否一个给予的检测特征向量V匹配训练好的模型M,需要将V中的每个特征与模型中的聚类簇进行比较。例如,如果特征向量V中的平均时间间隔特征处于M的一个聚类簇中,检测算法将仍定为一次命中,并调高检测得分值γM
检测得分值γM的提升幅度主要依赖于聚类簇的质量和特征向量的质量(即自定义Netflow的部分特征(例如,上下行流量比、流量负载熵等)、主机关系链和主机(UD)Netflow图谱的质量)。这些质量定义在一定程度上反应了主机关系链和主机(UD)Netflow图谱建立、以及特征提取过程的不确定性。
通常,越高的聚类质量,检测得分值γM提升的越快。更确切的说,设γM=γM+qclu·exo{-β*sdV/avgV}。其中,β=2.35。对于γM,其范围被定义为[-2*sdV,2*sdV],即对于所有的特征值,命中聚类簇的中心时,标准方差的2倍。对于γM范围的限制主要是从处理速度方面进行考虑,优化处理性能。在数学上,对于指数评分函数的描述是递减速度很快。因此,与聚类中心相比,其他特征值对于评分的贡献范围为0到γM之间,多于两倍的标准方差。
对于不同的僵尸网络家族,为了能够命中多个模型,需要为每个模型维护一个γM
需要注意的,在训练过程中引入的人造训练数据(与C&C通信无关的流量),会造成低质量的聚类簇,然后仅仅会导致γM轻微上升。通过这种方式,本发明实施例中隐含着对训练中引入的噪音具有一定程度的免疫能力。
S607,将总体评分γ与实施例告警阈值α进行比较,若γ>α,则该模型判断为匹配,检测组件发出告警。
为了降低误报率,检测组件不仅仅是依赖单一的特征值进行判别。可以根据实际环境情况设定最小的命中特征数h。也就是说,除了满足每个特征都需要满足γ>α,至少存在h个这样的特征向量,1≤h≤8。这样的约束存在可以降低检测组件由于突发的单一特征匹配导致误报。
例如,对于给定特征向量中的两个特征平均时间间隔和FFT,满足γ>α。若,设定h=3,检测组件需要满足额外的一个特征才会告警,例如主机关系链、流量负载熵、IP地址熵等。
S608,将告警的信息基于IP白名单列表进行过滤,去除误判情况。
分析聚类簇发现,可能会出现部分规模较大、质量较高的聚类簇,这些聚类簇的IP对应着若干个IT公司的网站,例如百度、淘宝,Amazon。通过详细分析,推测可能是僵尸网络控制者租用了相关IT公司的服务作为C&C服务器,通过看起来合法的流量掩盖其恶意目的。这仅仅是一种推测,故在检测组件中添加了IP白名单列表,降低检测组件的误报率。
IP白名单列表通常包括各个IT公司注册的合法IP地址。
S609,将过滤后结果,使用受控主机IP黑名单进行分类,结果分成确认僵尸主机和可疑僵尸主机。
受控僵尸主机IP黑名单,包括被其他研究机构公开,或被其他僵尸网络软件检测到并确认的僵尸主机固定IP列表。基于该黑名单,检测组件的检测结果可以被分成两类,即确定是受控僵尸主机和可疑僵尸主机,便于用户进一步分析。
僵尸网络实时检测单元032输出检测结果,检测结果包括:确认僵尸主机列表和可疑僵尸主机列表。用户可以根据该僵尸网络受控主机的信息执行后续处理,从而进一步保障了网络安全性。
本发明还提出一种僵尸网络分布式实时检测系统01,该系统包括:数据生成组件02和数据检测组件03,具体如图7所示。
数据生成组件02,用于接收网络流量生成网络流量元数据Netflow信息,并将所述Netflow信息发送给数据检测组件。
优选地,数据生成组件02包括网络设备、安全设备和软件。
网络设备,用于接收网络流量生成标准的Netflow信息。
安全设备和软件,用于接收网络流量生成自定义的Netflow信息。
数据检测组件03,包括检测模型训练单元031和实时检测单元032。
检测模型训练单元031,用于从经过标注的训练数据中提取多个训练检测特征,基于训练检测特征,建立作为实时检测单元的检测标准的检测模型。
实时检测单元032,用于接收数据生成组件实时发送的Netflow信息,基于Netflow信息提取多个检测特征,将检测特征与检测模型进行比较,当比较结果匹配时,得出包括检测对象标识符的告警信息,将告警信息与主机黑白名单比较,得出确认受控僵尸主机和可疑受控僵尸主机。
优选地,数据检测组件还包括僵尸恶意样本处理单元033,用于根据僵尸恶意样本家族的分类结果,在可控的虚拟机或沙箱环境下执行同一个家族的恶意代码,捕获和存储所有的原始网络流量。
优选地,安全设备和软件还用于,对原始网络流量进行包重组为原始流,从原始流中提取所述自定义Netflow信息并保存,形成训练数据。
优选地,检测模型训练单元031包括构建主机关系链训练子单元0311、构建主机Netflow图谱训练子单元0312、基于统计的特征提取训练子单元0313和建立检测模型子单元0314。
构建主机关系链训练子单元0311,基于火花流SparkStream分布式流处理引擎和训练数据,建立训练多级主机访问关系链。
构建主机Netflow图谱训练子单元0312,基于SparkStream分布式流处理引擎和训练数据,建立训练主机Netflow图谱。
基于统计的特征提取训练子单元0313,用于分析训练主机访问关系链、训练主机Netflow图谱和Netflow信息,提取多个所述训练检测特征,形成训练检测特征向量。
建立检测模型子单元0314,用于基于训练检测特征向量,建立检测模型。
优选地,多个训练检测特征包括:主机访问关系链、平均间隔、平均流持续时长、平均流大小、对于流起始时间的傅里叶变换、IP地址熵、上下行流量比、流量负载熵。
优选地,建立检测模型子单元0314还用于,使用聚类算法分别对多个训练检测特征向量的各个分量进行聚类,删除不符合聚类评估函数的聚类簇,基于剩余的聚类簇建立检测模型。
优选地,实时检测单元032包括构建主机关系链实时子单元0321、构建主机Netflow图谱实时子单元0322、基于统计的特征提取实时子单元0323、僵尸主机检测单元0324和黑白名单子单元0325。
构建主机关系链实时子单元0321,基于SparkStream分布式流处理引擎和实时的Netflow信息,建立实时多级主机访问关系链。
构建主机Netflow图谱实时子单元0322,基于SparkStream分布式流处理引擎和实时Netflow信息,建立实时主机Netflow图谱。
基于统计的特征提取实时子单元0323,用于分析实时主机访问关系链、实时主机Netflow图谱和实时Netflow信息,提取多个检测特征,组成检测特征向量。
僵尸主机检测单元0324,用于将获取的待检测的检测特征向量的每个分量与检测模型进行比较,并根据每个分量对检测精度的影响不同给予不同的权重,根据比较结果命中的分量和所述权重计算检测特征向量的总体评分;判断总体评分是否超过预定的阈值,如果超过所述阈值,发出包括所述检测对象标识符的告警信息;否则,标注正常,进行下一轮的检测;
黑白名单子单元0325,用于将告警信息中的检测对象标识符与白名单进行比较,删除与白名单相匹配的主机,过滤误报主机;还用于将告警信息中的检测对象标识符与黑名单进行比较,检测出与黑名单中相匹配的主机,确认为受控僵尸主机;将与白名单和黑名单中的主机名称都不匹配的主机确认为可疑受控僵尸主机;并且根据确认结果,更新黑名单和白名单的内容。
下面介绍本发明实施例中僵尸网络分布式实时检测系统01一个实施例示意图,请参阅图8,发明实施例中僵尸网络分布式实时检测系统01一个实施例包括:
数据生成组件02,用于生成(UD)Netflow数据,该类数据用于检测模型训练单元031训练模型。
数据检测组件03,包括检测模型训练单元031和实时检测单元032。
检测模型训练单元031,接收数据生成组件02发送的(UD)Netflow,提取检测特征向量,训练检测模型。
实时检测单元032,接收(UD)Netflow生成单元发送的(UD)Netflow,提取检测特征向量,使用训练单元输出的检测模型进行检测,并将检测结果展示给用户。
为便于理解,下面对本发明实施例中僵尸网络分布式实时检测系统的实施例进行详细介绍,请参阅图9。
本发明实施例中僵尸网络分布式实时检测系统01一个实施例包括数据生成组件02、检测模型训练单元031和实时检测单元032。
数据生成组件02,包括自定义Netflow生成单元和标准Netflow生成单元。自定义Netflow生成单元,用来捕获原始流量,重组为数据流,提取数据流的自定义Netflow数据,输出并存储。标准Netflow生成单元,用来生成标准Netflow数据,通常指交换机和路由器,输出并存储标准Netflow数据。
检测模型训练单元031和实时检测单元032共用了主机关系链生成单元(0311、0321)、主机Netflow图谱生成单元(0312、0322)、检测特征提取单元(0313、0323)。
主机关系链生成单元(0311、0321),用于分布式实时生成主机关系链,并提取主机关系链特征。
主机Netflow图谱生成单元(0312、0322),用于分布式实时生成主机Netflow图谱,并提取主机Netflow图谱的5个特征。
检测特征提取单元(0313、0323),用于合并(UD)Netflow部分特征(包括上下行流量比、流量负载熵,但不局限于此)、主机关系链特征和主机Netflow图谱特征,构造包含8个特征分量的检测特征向量。
此外,检测模型训练单元031还包括建立检测模型子单元0314,该单元可以分为聚类单元、模型评价单元和模型输出单元。
聚类单元,使用聚类算法分别对检测特征向量的各个分量进行聚类,基于聚类簇建立检测模型。
模型评价单元,用于计算各个聚类簇的质量。在聚类过程中,计算完聚类中心和成员后,使用聚类质量评估函数判断各个聚类簇的质量。聚类评估函数定义如下,其中,sd为标准方差,c为均值,β为控制因子,默认值为2.53。
模型输出单元,用于根据聚类簇构造最终检测模型,并将模型提供给检测单元使用。训练结束后,最终的模型将包括8个聚类簇集合,每个集合对应一个特征,集合内包含了该特征的期望值。
此外,实时检测单元032还包括僵尸主机检测单元0324和黑白名单子单元0325,其中,僵尸主机检测单元0324还包括比对单元、检测结果生成和评分单元;黑白名单子单元0325还包括检测结果精化单元和检测结果输出单元。
比对单元,用于基于训练好的模型分别对检测特征向量的每个分量进行检测。为检测是否一个给予的检测特征向量V匹配训练好的模型M,需要将V中的每个特征与模型中的聚类簇进行比较。
检测结果生成和评分单元,用户对命中的特征进行评分。如果特征向量V中的平均时间间隔特征处于M的一个聚类簇中,检测算法将仍定为一次命中,并调高检测得分值γM。对于不同的僵尸网络家族,为了能够命中多个模型,需要为每个模型维护一个γM。比对结束后,将总体评分γ与实施例告警阈值α进行比较,若γ>α,则该模型判断为匹配,检测组件发出告警。
检测结果精化单元,用于将告警的信息基于IP白名单列表进行过滤,去除误判情况;将过滤后结果,使用受控主机IP黑名单进行分类,结果分成确认僵尸主机和可疑僵尸主机。
检测结果输出单元,用于输出检测结果,检测结果包括:确认僵尸主机列表和可疑僵尸主机列表。用户可以根据该僵尸网络受控主机的信息执行后续处理,从而进一步保障了网络安全性。
为便于理解,下面对本发明实施例中僵尸网络分布式实时检测系统再一个实施例示意图进行详细介绍,请参阅图10,本发明实施例中僵尸网络分布式实时检测系统再一个实施例示意图包括:
数据源,数据源在系统层面主要分为三个部分,分别为沙箱环境、企业网和ISP网络。沙箱网络环境用于生成训练(UD)Netflow数据,并提供给建模程序。企业网环境下,既可以使用交换机和路由器提供标准的Netflow数据,也可以使用IDS类的设备或软件分析原始流量,生成(UD)Netflow数据发给检测程序。网络服务提供商(ISP)网络中,由于数据流量相当大,从原始流量中提取(UD)Netflow是不可行的。在ISP环境中,使用交换机和路由器提供标准的Netflow数据发给检测程序。
建模程序:使用沙箱环境发送的(UD)Netflow数据建立检测模型;
检测程序:基于检测模型,使用交换机和路由器提供标准的Netflow数据,或使用IDS类的设备或软件分析原始流量生成自定义的Netflow数据,对受控僵尸网络进行检测。
SparkStream分布式流处理引擎:建模程序和检测程序是使用该引擎框架开发的,使得僵尸网络分布式实时检测系统具有可扩展性、实时性和高可用性。
Hadoop分布式文件系统,简称为HDFS,用来存储原始流量和(UD)Netflow数据,为后期使用Hive和MapReduce进行统计查询和批处理提供支持。其中,训练数据的原始流量和(UD)Netflow数据必须要存储在HDFS中,用来检测的数据是可选存储的。
从以上技术方案可以看出,本发明具有以下优点:
本发明通过对不同僵尸恶意软件家族C&C通信数据的分析,提出利用(UD)Netflow数据检测感染僵尸恶意程序的主机,即基于网络的检测。根据检测系统处理的流量情况,检测系统可选择添加部分包特征。由于本发明是基于行为的,不是基于静态特征标签,故能够处理加密和混淆通信。
本发明可以根据僵尸恶意代码家族样本的流量自动生成检测模型,模型建立过程是在可控的沙箱或虚拟机环境下自动进行的。
本发明在训练和检测步骤采用了SparkStream分布式流处理引擎,分布式构建了主机访问关系链和主机Netflow图谱两种流结构,并从中提取了8个特征,分别为关系链、平均间隔、平均流持续时长、平均流大小、流起始时间的傅里叶变换、IP地址熵、上下行流量比、流量负载熵。
基于这8个特征检测系统进行建模和检测。由于引入了SparkStream分布式流处理引擎,本发明实施例能够根据网络负载情况通过添加计算节点来提高性能。同时,本发明实施例使用HDFS存储数据,也可以横向扩展。
本发明采用简单的(UD)Netflow数据,可选的包解析步骤,特征提取过程更具有弹性。因此,本发明实施例既可以应用在千兆流量的企业网,又可以应用到ISPs网络中。此外,本发明实施例在可扩展性、实时性、检测性能总体上优于当前主流的僵尸网络检测系统。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指挥相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上对本发明所提供的一种僵尸网络检测分布式实时检测方法及系统进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (15)

1.一种僵尸网络分布式实时检测方法,其特征在于,所述方法包括:
数据生成组件接收网络流量生成网络流量元数据Netflow信息,并将所述Netflow信息发送给数据检测组件;
所述数据检测组件的检测模型训练单元,从经过标注的训练数据中提取多个训练检测特征,基于所述训练检测特征,建立作为所述实时检测单元的检测标准的检测模型;
所述数据检测组件的实时检测单元,接收所述数据生成组件实时发送的所述Netflow信息,基于所述Netflow信息提取多个检测特征,将所述检测特征与所述检测模型进行比较,当比较结果匹配时,得出包括检测对象标识符的告警信息,将所述告警信息与主机黑白名单相比较,得出确认受控僵尸主机和可疑受控僵尸主机。
2.如权利要求1所述的方法,其特征在于,所述数据生成组件接收网络流量生成网络流量元数据Netflow信息是指:
所述数据生成组件的网络设备接收所述网络流量生成标准的Netflow信息;或,
所述数据生成组件的安全设备或软件接收所述网络流量生成自定义的Netflow信息。
3.如权利要求2所述的方法,其特征在于,所述训练数据是指:所述数据检测组件的僵尸恶意样本处理单元根据僵尸恶意样本家族的分类结果,在可控的虚拟机或沙箱环境下执行同一个家族的恶意代码,捕获和存储所有的原始网络流量,所述安全设备或软件对所述原始网络流量进行包重组为原始流并从所述原始流中提取的所述自定义Netflow信息。
4.如权利要求1所述的方法,其特征在于,所述检测模型的建立包括以下步骤:
构建主机关系链训练子单元基于火花流SparkStream分布式流处理引擎和所述训练数据,建立训练多级主机访问关系链;
构建主机Netflow图谱训练子单元基于所述SparkStream分布式流处理引擎和所述训练数据,建立训练主机Netflow图谱;
基于统计的特征提取训练子单元分析所述训练主机访问关系链、所述训练主机Netflow图谱和所述Netflow信息,提取多个所述训练检测特征,形成训练检测特征向量;
建立检测模型子单元基于所述训练检测特征向量建立所述检测模型。
5.如权利要求4所述的方法,其特征在于,多个所述训练检测特征包括:主机访问关系链、平均间隔、平均流持续时长、平均流大小、对于流起始时间的傅里叶变换、IP地址熵、上下行流量比、流量负载熵。
6.如权利要求4所述的方法,其特征在于,所述建立检测模型子单元建立所述检测模型的过程包括:使用聚类算法分别对所述多个训练检测特征向量的各个分量进行聚类,删除不符合聚类评估函数的聚类簇,基于剩余的所述聚类簇建立所述检测模型。
7.如权利要求4所述的方法,其特征在于,所述得出确认受控僵尸主机和可疑受控僵尸主机的步骤包括;
构建主机关系链实时子单元基于SparkStream分布式流处理引擎和实时的Netflow信息建立实时多级主机访问关系链;
构建主机Netflow图谱实时子单元基于所述SparkStream分布式流处理引擎和所述实时Netflow信息,建立实时主机Netflow图谱;
基于统计的特征提取实时子单元分析所述实时主机访问关系链、所述实时主机Netflow图谱和所述实时Netflow信息,提取多个所述检测特征,组成检测特征向量;
僵尸主机检测单元将获取的待检测的所述检测特征向量的每个分量与所述检测模型进行比较,并根据所述每个分量对检测精度的影响不同给予不同的权重,根据比较结果命中的分量和所述权重计算所述检测特征向量的总体评分;判断所述总体评分是否超过预定的阈值,如果超过所述阈值,发出包括所述检测对象标识符的告警信息;否则,标注正常,进行下一轮的检测;
黑白名单子单元将所述告警信息中的所述检测对象标识符与白名单进行比较,删除与所述白名单相匹配的主机,过滤误报主机;还用于将所述告警信息中的所述检测对象标识符与黑名单进行比较,检测出与所述黑名单相匹配的主机,确认为所述受控僵尸主机;将与所述白名单和所述黑名单都不匹配的主机确认为所述可疑受控僵尸主机;并且根据确认结果,更新所述黑名单和所述白名单的内容。
8.一种僵尸网络分布式实时检测系统,其特征在于,所述系统包括:数据生成组件和数据检测组件;
所述数据生成组件,用于接收网络流量生成网络流量元数据Netflow信息,并将所述Netflow信息发送给所述数据检测组件;
所述数据检测组件,包括检测模型训练单元和实时检测单元;
所述检测模型训练单元,用于从经过标注的训练数据中提取多个训练检测特征,基于所述训练检测特征,建立作为所述实时检测单元的检测标准的检测模型;
所述实时检测单元,用于接收所述数据生成组件实时发送的所述Netflow信息,基于所述Netflow信息提取多个检测特征,将所述检测特征与所述检测模型进行比较,当比较结果匹配时,得出包括检测对象标识符的告警信息,将所述告警信息与主机黑白名单相比较,得出确认受控僵尸主机和可疑受控僵尸主机。
9.如权利要求7所述的系统,其特征在于,所述数据生成组件包括网络设备、安全设备和软件;
所述网络设备,用于接收所述网络流量生成标准的Netflow信息;
所述安全设备和软件,用于接收所述网络流量生成自定义的Netflow信息。
10.如权利要求8所述的方法,其特征在于,所述数据检测组件还包括僵尸恶意样本处理单元,用于根据僵尸恶意样本家族的分类结果,在可控的虚拟机或沙箱环境下执行同一个家族的恶意代码,捕获和存储所有的原始网络流量。
11.如权利要求10所述的方法,其特征在于,所述安全设备和软件还用于,对所述原始网络流量进行包重组为原始流,从所述原始流中提取所述自定义Netflow信息并保存,形成所述训练数据。
12.如权利要求8所述的系统,其特征在于,所述检测模型训练单元包括构建主机关系链训练子单元、构建主机Netflow图谱训练子单元、基于统计的特征提取训练子单元和建立检测模型子单元;
所述构建主机关系链训练子单元,基于火花流SparkStream分布式流处理引擎和所述训练数据,建立训练多级主机访问关系链;
所述构建主机Netflow图谱训练子单元,基于所述SparkStream分布式流处理引擎和所述训练数据,建立训练主机Netflow图谱;
所述基于统计的特征提取训练子单元,用于分析所述训练主机访问关系链、所述训练主机Netflow图谱和所述Netflow信息,提取多个所述训练检测特征,形成训练检测特征向量;
所述建立检测模型子单元,用于基于所述训练检测特征向量,建立所述检测模型。
13.如权利要求12所述的系统,其特征在于,所述多个训练检测特征包括:主机访问关系链、平均间隔、平均流持续时长、平均流大小、对于流起始时间的傅里叶变换、IP地址熵、上下行流量比、流量负载熵。
14.如权利要求12所述的系统,其特征在于,所述建立检测模型子单元还用于,使用聚类算法分别对所述多个训练检测特征向量的各个分量进行聚类,删除不符合聚类评估函数的聚类簇,基于剩余的所述聚类簇建立所述检测模型。
15.如权利要求8所述的系统,其特征在于,所述实时检测单元包括构建主机关系链实时子单元、构建主机Netflow图谱实时子单元、基于统计的特征提取实时子单元、僵尸主机检测单元和黑白名单子单元;
所述构建主机关系链实时子单元,基于SparkStream分布式流处理引擎和实时的Netflow信息,建立实时多级主机访问关系链;
所述构建主机Netflow图谱实时子单元,基于所述SparkStream分布式流处理引擎和所述实时Netflow信息,建立实时主机Netflow图谱;
所述基于统计的特征提取实时子单元,用于分析所述实时主机访问关系链、所述实时主机Netflow图谱和所述实时Netflow信息,提取多个所述检测特征,组成检测特征向量;
所述僵尸主机检测单元,用于将获取的待检测的所述检测特征向量的每个分量与所述检测模型进行比较,并根据所述每个分量对检测精度的影响不同给予不同的权重,根据比较结果命中的分量和所述权重计算所述检测特征向量的总体评分;判断所述总体评分是否超过预定的阈值,如果超过所述阈值,发出包括所述检测对象标识符的告警信息;否则,标注正常,进行下一轮的检测;
所述黑白名单子单元,用于将所述告警信息中的所述检测对象标识符与白名单进行比较,删除与所述白名单相匹配的主机,过滤误报主机;还用于将所述告警信息中的所述检测对象标识符与黑名单进行比较,检测出与所述黑名单相匹配的主机,确认为所述受控僵尸主机;将与所述白名单和所述黑名单都不匹配的主机确认为所述可疑受控僵尸主机;并且根据确认结果,更新所述黑名单和所述白名单的内容。
CN201410655378.5A 2014-11-17 2014-11-17 一种僵尸网络分布式实时检测方法和系统 Active CN105681250B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410655378.5A CN105681250B (zh) 2014-11-17 2014-11-17 一种僵尸网络分布式实时检测方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410655378.5A CN105681250B (zh) 2014-11-17 2014-11-17 一种僵尸网络分布式实时检测方法和系统

Publications (2)

Publication Number Publication Date
CN105681250A true CN105681250A (zh) 2016-06-15
CN105681250B CN105681250B (zh) 2019-04-02

Family

ID=56945403

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410655378.5A Active CN105681250B (zh) 2014-11-17 2014-11-17 一种僵尸网络分布式实时检测方法和系统

Country Status (1)

Country Link
CN (1) CN105681250B (zh)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106230819A (zh) * 2016-07-31 2016-12-14 上海交通大学 一种基于流采样的DDoS检测方法
CN106549959A (zh) * 2016-10-26 2017-03-29 中国银联股份有限公司 一种代理网际协议ip地址的识别方法及装置
CN106778273A (zh) * 2016-12-28 2017-05-31 北京安天网络安全技术有限公司 一种验证恶意代码在受害者主机中活跃度的方法及系统
CN107104959A (zh) * 2017-04-20 2017-08-29 北京东方棱镜科技有限公司 云环境中异常行为检测方法与装置
CN107454068A (zh) * 2017-07-21 2017-12-08 河南工程学院 一种结合免疫危险理论的蜜网安全态势感知方法
CN107832611A (zh) * 2017-10-21 2018-03-23 北京理工大学 一种动静态特征结合的僵尸程序检测与分类方法
CN108111476A (zh) * 2017-08-08 2018-06-01 西安交大捷普网络科技有限公司 C&c通道检测方法
CN108306864A (zh) * 2018-01-12 2018-07-20 深圳壹账通智能科技有限公司 网络数据检测方法、装置、计算机设备和存储介质
CN108322444A (zh) * 2017-12-29 2018-07-24 山石网科通信技术有限公司 命令与控制信道的检测方法、装置和系统
CN108629183A (zh) * 2018-05-14 2018-10-09 南开大学 基于可信度概率区间的多模型恶意代码检测方法
CN109033836A (zh) * 2018-07-24 2018-12-18 南开大学 基于统计学习的恶意代码多模型交叉检测方法
CN109067722A (zh) * 2018-07-24 2018-12-21 湖南大学 一种基于两步聚类和检测片分析联合算法的LDoS检测方法
CN109314664A (zh) * 2016-06-23 2019-02-05 日本电信电话株式会社 僵尸主控机发现系统和方法
WO2019184664A1 (zh) * 2018-03-26 2019-10-03 华为技术有限公司 恶意文件的检测方法、设备和系统
CN110839088A (zh) * 2018-08-16 2020-02-25 深信服科技股份有限公司 一种被虚拟货币挖矿的检测方法、系统、装置及存储介质
CN110858837A (zh) * 2018-08-24 2020-03-03 阿里巴巴集团控股有限公司 一种网络管控方法、装置以及电子设备
CN111767193A (zh) * 2020-07-01 2020-10-13 中国银行股份有限公司 一种服务器数据异常检测方法、装置、存储介质及设备
CN112235242A (zh) * 2020-09-08 2021-01-15 中国科学院信息工程研究所 一种c&c信道检测方法及系统
CN114205095A (zh) * 2020-08-27 2022-03-18 极客信安(北京)科技有限公司 一种加密恶意流量的检测方法和装置
CN114362972A (zh) * 2020-09-27 2022-04-15 中国科学院计算机网络信息中心 一种基于流量摘要和图采样的僵尸网络混合检测方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013053407A1 (en) * 2011-10-14 2013-04-18 Telefonica, S.A A method and a system to detect malicious software
CN103139206A (zh) * 2013-01-31 2013-06-05 北京神州绿盟信息安全科技股份有限公司 一种僵尸主机的检测方法及装置
CN103685184A (zh) * 2012-09-14 2014-03-26 上海宝信软件股份有限公司 一种基于小流统计分析的对等僵尸主机识别方法
CN104115463A (zh) * 2011-11-07 2014-10-22 网络流逻辑公司 用于处理网络元数据的流式传输方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013053407A1 (en) * 2011-10-14 2013-04-18 Telefonica, S.A A method and a system to detect malicious software
CN104115463A (zh) * 2011-11-07 2014-10-22 网络流逻辑公司 用于处理网络元数据的流式传输方法和系统
CN103685184A (zh) * 2012-09-14 2014-03-26 上海宝信软件股份有限公司 一种基于小流统计分析的对等僵尸主机识别方法
CN103139206A (zh) * 2013-01-31 2013-06-05 北京神州绿盟信息安全科技股份有限公司 一种僵尸主机的检测方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
胡卫华等: "面向下一代威胁的安全框架", 《信息安全与通信保密》 *

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109314664A (zh) * 2016-06-23 2019-02-05 日本电信电话株式会社 僵尸主控机发现系统和方法
CN106230819A (zh) * 2016-07-31 2016-12-14 上海交通大学 一种基于流采样的DDoS检测方法
CN106230819B (zh) * 2016-07-31 2019-08-06 上海交通大学 一种基于流采样的DDoS检测方法
CN106549959A (zh) * 2016-10-26 2017-03-29 中国银联股份有限公司 一种代理网际协议ip地址的识别方法及装置
CN106778273A (zh) * 2016-12-28 2017-05-31 北京安天网络安全技术有限公司 一种验证恶意代码在受害者主机中活跃度的方法及系统
CN107104959A (zh) * 2017-04-20 2017-08-29 北京东方棱镜科技有限公司 云环境中异常行为检测方法与装置
CN107454068A (zh) * 2017-07-21 2017-12-08 河南工程学院 一种结合免疫危险理论的蜜网安全态势感知方法
CN107454068B (zh) * 2017-07-21 2020-05-15 河南工程学院 一种结合免疫危险理论的蜜网安全态势感知方法
CN108111476A (zh) * 2017-08-08 2018-06-01 西安交大捷普网络科技有限公司 C&c通道检测方法
CN107832611A (zh) * 2017-10-21 2018-03-23 北京理工大学 一种动静态特征结合的僵尸程序检测与分类方法
CN108322444A (zh) * 2017-12-29 2018-07-24 山石网科通信技术有限公司 命令与控制信道的检测方法、装置和系统
CN108306864A (zh) * 2018-01-12 2018-07-20 深圳壹账通智能科技有限公司 网络数据检测方法、装置、计算机设备和存储介质
WO2019184664A1 (zh) * 2018-03-26 2019-10-03 华为技术有限公司 恶意文件的检测方法、设备和系统
US11836253B2 (en) 2018-03-26 2023-12-05 Huawei Technologies Co., Ltd. Malicious file detection method, device, and system
CN108629183A (zh) * 2018-05-14 2018-10-09 南开大学 基于可信度概率区间的多模型恶意代码检测方法
CN109067722B (zh) * 2018-07-24 2020-10-27 湖南大学 一种基于两步聚类和检测片分析联合算法的LDoS检测方法
CN109067722A (zh) * 2018-07-24 2018-12-21 湖南大学 一种基于两步聚类和检测片分析联合算法的LDoS检测方法
CN109033836A (zh) * 2018-07-24 2018-12-18 南开大学 基于统计学习的恶意代码多模型交叉检测方法
CN109033836B (zh) * 2018-07-24 2021-07-20 南开大学 基于统计学习的恶意代码多模型交叉检测方法
CN110839088A (zh) * 2018-08-16 2020-02-25 深信服科技股份有限公司 一种被虚拟货币挖矿的检测方法、系统、装置及存储介质
CN110858837A (zh) * 2018-08-24 2020-03-03 阿里巴巴集团控股有限公司 一种网络管控方法、装置以及电子设备
CN111767193A (zh) * 2020-07-01 2020-10-13 中国银行股份有限公司 一种服务器数据异常检测方法、装置、存储介质及设备
CN114205095A (zh) * 2020-08-27 2022-03-18 极客信安(北京)科技有限公司 一种加密恶意流量的检测方法和装置
CN114205095B (zh) * 2020-08-27 2023-08-18 极客信安(北京)科技有限公司 一种加密恶意流量的检测方法和装置
CN112235242A (zh) * 2020-09-08 2021-01-15 中国科学院信息工程研究所 一种c&c信道检测方法及系统
CN114362972A (zh) * 2020-09-27 2022-04-15 中国科学院计算机网络信息中心 一种基于流量摘要和图采样的僵尸网络混合检测方法及系统
CN114362972B (zh) * 2020-09-27 2023-07-21 中国科学院计算机网络信息中心 一种基于流量摘要和图采样的僵尸网络混合检测方法及系统

Also Published As

Publication number Publication date
CN105681250B (zh) 2019-04-02

Similar Documents

Publication Publication Date Title
CN105681250B (zh) 一种僵尸网络分布式实时检测方法和系统
Singh et al. Issues and challenges in DNS based botnet detection: A survey
US10721244B2 (en) Traffic feature information extraction method, traffic feature information extraction device, and traffic feature information extraction program
CN112769821B (zh) 一种基于威胁情报和att&ck的威胁响应方法及装置
Rieck et al. Botzilla: detecting the" phoning home" of malicious software
US20160323305A1 (en) Information processing apparatus, method for determining activity and computer-readable medium
US10581880B2 (en) System and method for generating rules for attack detection feedback system
Alaidaros et al. An overview of flow-based and packet-based intrusion detection performance in high speed networks
Bisio et al. Real-time behavioral DGA detection through machine learning
CN103297433A (zh) 基于网络数据流的http僵尸网络检测方法及系统
Haddadi et al. On the effectiveness of different botnet detection approaches
Osanaiye et al. TCP/IP header classification for detecting spoofed DDoS attack in Cloud environment
Jiang et al. Novel intrusion prediction mechanism based on honeypot log similarity
KR102002880B1 (ko) 기계 학습 모델에 기반하여 악성 패킷을 검출하는 방법 및 이를 이용한 장치
Zhong et al. Stealthy malware traffic-not as innocent as it looks
Ádám et al. Artificial neural network based IDS
Le et al. Unsupervised monitoring of network and service behaviour using self organizing maps
CN110493253B (zh) 一种基于树莓派设计的家用路由器的僵尸网络分析方法
Li et al. Network-based and attack-resilient length signature generation for zero-day polymorphic worms
Lu et al. APT traffic detection based on time transform
KR20100074480A (ko) 네트워크 기반의 http 봇넷 탐지 방법
Caulkins et al. A dynamic data mining technique for intrusion detection systems
Hao et al. Unsupervised detection of botnet activities using frequent pattern tree mining
CN111371917B (zh) 一种域名检测方法及系统
Yang et al. Cyber threat detection and application analysis

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant