CN111835681A - 一种大规模流量异常主机检测方法和装置 - Google Patents
一种大规模流量异常主机检测方法和装置 Download PDFInfo
- Publication number
- CN111835681A CN111835681A CN201910316000.5A CN201910316000A CN111835681A CN 111835681 A CN111835681 A CN 111835681A CN 201910316000 A CN201910316000 A CN 201910316000A CN 111835681 A CN111835681 A CN 111835681A
- Authority
- CN
- China
- Prior art keywords
- host
- total
- bytes
- packets
- preset time
- 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
Links
- 230000002159 abnormal effect Effects 0.000 title claims abstract description 79
- 238000001514 detection method Methods 0.000 title claims abstract description 70
- 239000013598 vector Substances 0.000 claims abstract description 42
- 238000000034 method Methods 0.000 claims abstract description 32
- 238000005065 mining Methods 0.000 claims abstract description 24
- 238000013507 mapping Methods 0.000 claims abstract description 10
- 238000010276 construction Methods 0.000 claims description 14
- 238000004422 calculation algorithm Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 7
- 230000001932 seasonal effect Effects 0.000 claims description 6
- 238000009412 basement excavation Methods 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 claims description 2
- 238000004458 analytical method Methods 0.000 description 8
- 230000006399 behavior Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000013145 classification model Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000013178 mathematical model Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 206010000117 Abnormal behaviour Diseases 0.000 description 1
- 241000728173 Sarima Species 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 238000007621 cluster analysis Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- YHXISWVBGDMDLQ-UHFFFAOYSA-N moclobemide Chemical compound C1=CC(Cl)=CC=C1C(=O)NCCN1CCOCC1 YHXISWVBGDMDLQ-UHFFFAOYSA-N 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2517—Translation of Internet protocol [IP] addresses using port numbers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种大规模流量异常主机检测方法和装置,所述方法包括:针对第一预设时间内的流量数据构造原始项集;其中,所述原始项集包括:客户端IP地址、主机IP地址和端口号的映射关系;对所述原始项集做关联规则的挖掘,获得被大于预设数目的客户端访问的主机IP地址和端口号;将获得的所述主机IP地址对应的主机的特征向量作为样本,构建预设检测模型;获得第二预设时间内待检测主机的特征向量,通过构建的预设检测模型确定该主机的流量是否异常。该方法在获得大量正常流量样本的基础上,能够提高流判断量异常主机的准确率。
Description
技术领域
本发明涉及信息处理技术领域,特别涉及一种大规模流量异常主机检测方法和装置。
背景技术
网络流量具有自相似、长相关和重尾分布等分布特征,这些对网络流量工程、网络建模和异常检测具有指导意义。流量异常主机检测是入侵检测的一种手段,用于发现系统的异常情况(入侵和攻击、数据泄露等),主要目的是在事件发生后提供足够的分析来阻止进一步攻击。异常主机的检测方法可以归为两类:一种是基于主机的检测,根据主机的系统日志和审计记录来进行检测分析;另一种是基于行为的检测,根据使用者行为或资源使用特征进行检测分析。流量异常主机检测是一种基于行为的检测方法。
现有的流量异常主机检测方法主要有以下几类:
基于统计学习模型
基于统计学习的流量异常检测,通常需要对正常流量进行数值化的特征提取和分析。通过对大量样本进行特征分布统计建立数学模型,进而通过统计学方法进行异常检测。
基于文本分析的机器学习模型
流量中的URL参数会影响后台代码的解析,因此可以基于隐马尔科夫模型进行文本分析建模,实现流量中的参数值异常检测。
基于单分类模型
由于流量异常主机的黑样本稀少,传统监督学习方法难以训练。基于白样本的异常检测可以通过单分类模型进行样本学习,构造能够充分表达白样本的最小模型实现异常检测。
基于聚类模型
通常正常流量是大量重复性存在的,而入侵行为则极为稀少。因此通过流量的聚类分析,可以识别大量正常行为之外的异常行为。
现有的流量异常主机检测方法主要适用于单个或小规模主机。在大规模主机的实际应用场景中,不同主机之间往往存在很多的关联,现有的方法会出现大量误报。
主机的异常不一定会反映在流量的大小上,基于文本分析的方法对于包含文本信息的流量会有比较好的效果,但对隐去了文本等信息的流量则无法发挥作用。
基于机器学习的分类方法,难点在于很难从真实流量中获取足够有代表性的黑白样本。
发明内容
有鉴于此,本申请提供一种大规模流量异常主机检测方法和装置,在获得大量正常流量样本的基础上,能够提高流判断量异常主机的准确率。
为解决上述技术问题,本申请的技术方案是这样实现的:
在一个实施例中,提供了一种大规模流量异常主机检测方法,所述方法包括:
针对第一预设时间内的流量数据构造原始项集;其中,所述原始项集包括:客户端因特网协议IP地址、主机IP地址和端口号的映射关系;
对所述原始项集做关联规则的挖掘,获得被大于预设数目的客户端访问的主机IP地址和端口号;
将获得的所述主机IP地址对应的主机的特征向量作为样本,构建预设检测模型;
获得第二预设时间内待检测主机的特征向量,通过构建的预设检测模型确定该主机的流量是否异常。
在另一个实施例中,提供了一种大规模流量异常主机检测装置,所述装置包括:构建单元、挖掘单元、建立单元和第一确定单元;
所述构建单元,用于针对第一预设时间内的流量数据构造原始项集;其中,所述原始项集包括:客户端因特网协议IP地址、主机IP地址和端口号的映射关系;
所述挖掘单元,用于对所述构建单元构建的原始项集做关联规则的挖掘,获得被大于预设数目的客户端访问的主机IP地址和端口号;
所述建立单元,用于将所述挖掘单元获得的所述主机IP地址对应的主机的特征向量作为样本,构建预设检测模型;
所述第一确定单元,用于获得第二预设时间内待检测主机的特征向量,通过所述建立单元构建的预设检测模型确定该主机的流量是否异常。
在另一个实施例中,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如所述大规模流量异常主机检测方法的步骤。
在另一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述大规模流量异常主机检测方法的步骤。
由上面的技术方案可见,上述实施例中通过构造原始项集,使用关联规则挖掘获得大量流量正常的主机,结合上面列举的特征,通过特征工程计算得到这些主机的特征向量,以此为样本训练iForest模型,进一步可用来预测待测试主机的流量是否异常。该方案在获得大量正常流量样本的基础上,能够提高流判断量异常主机的准确率。
附图说明
以下附图仅对本发明做示意性说明和解释,并不限定本发明的范围:
图1为IDC机房请求外部网络拓扑结构示意图;
图2为本申请实施例一中大规模流量异常主机检测流程示意图;
图3为本申请实施例二中大规模流量异常主机检测流程示意图;
图4为本申请实施例中应用于上述技术的装置结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图并举实施例,对本发明的技术方案进行详细说明。
本申请实施例应用场景是在大规模的服务器主机机群中,解决流量异常主机的检测问题。IDC服务器机群规模庞大,同时在不同的主机中部署了大量不同的服务,需要在不影响业务的情况下,精准的检测识别大规模集群中的流量异常主机,及时排除包括入侵攻击、数据泄露等隐患。
参见图1,图1为IDC机房请求外部网络拓扑结构示意图。如图1所示,IDC机房中的主机直接与外网通信,或通过NAT与外网通信,需要检测的是各主机的流量是否异常。
下面结合附图,详细说明本申请实施例中大规模异常主机检测过程。
实施例一
参见图2,图2为本申请实施例一中大规模流量异常主机检测流程示意图。具体步骤为:
步骤201,检测设备针对第一预设时间内的流量数据构造原始项集。
构造的原始项集包括:客户端因特网协议IP地址、主机IP地址和端口号的映射关系。
其中,客户端IP地址、主机IP地址和端口号的映射关系表示哪个客户端访问了哪个主机的哪个端口。
参见表1,表1为原始标记示例包含的内容。
客户端IP地址 | 主机IP地址和端口号 |
IP1 | IP1:Port1,IP1:Port2,…IPK:PortL |
IP2 | IP2:Port2,IPM:PortN |
表1
表1中,给出了两个客户端的IP地址对应的主机IP地址和端口号,如客户端IP1对应主机IP1和端口1等。
这里通过收集第一预设时间内客户端的一系列请求的服务的数据进行的原始项集构建。
步骤202,对所述原始项集做关联规则的挖掘,获得被大于预设数目的客户端访问的主机IP地址和端口号。
本申请实施例中对所述原始项集做关联规则的挖掘可以通过频繁项集算法实现。
在使用频繁项集算法时,需根据实际应用设置最小支持度(min_sup)和最小可信度(min_conf),然后对构建的原始项集做关联规则的挖掘,获得被大于预设数目的客户端访问的主机IP地址和端口号,这些被大量客户端均访问过的主机作为提供正常服务的主机,也就是流量异常的主机,这些主机对应的信息可以作为训练样本。
至此,本申请实施例提供的样本构建方案从真实流量中获取足够有代表性的白样本,即流量正常的主机对应的信息,由于从实际应用中获取的白样本,这样的样本也具备普适性,解决了训练样本的问题。
步骤203,将所述主机IP地址对应的主机的特征向量作为样本,构建预设检测模型。
本申请实施例具体实现时,使用大量的流量正常的主机上的特征向量作为样本。
这里的特征向量可以为对主机进行的流量检测,统计获得的一些特征对应的值。
特征向量包括下述之一或任意组合特征:
连接数、端口数、发出的总包数、发出的总包数的最大值、发出的总包数最小值、发出的总包数均值、发出的总字节数、发出的总字节数最大值,发出的总字节数的最小值、发出的总字节数均值、接收的总包数、接收的总包数的最大值、接收的总包数最小值、接收的总包数均值、接收的总字节数、接收的总字节数最大值,接收的总字节数的最小值、接收的总字节数均值。
所述特征向量还包括下述之一或任意组合特征:
协议类型,IP包、传输控制协议(Transmission Control Protocol,TCP)包、用户数据报协议(User Datagram Protocol,UDP)包、控制报文协议(Internet ControlMessage Protocol)Internet,ICMP)包的个数、字节数、包首部、包首部长度平均包长、独立端口数。
在具体实现时,针对协议类型,IP包、TCP包、UDP包、包首部这些特征的值可以使用设置的值进行量化指代,如协议类型包括三种,可以使用1、2、3分别指代一种类型来实现。
本步骤中建立的预设检测模型可以为孤立森林(isolated Forest,iForest)模型,其中,iForest属于Non-parametric和unsupervised的方法,即不用定义数学模型也不需要有标记的训练。对于如何查找哪些点是否容易被孤立(isolated),iForest使用了一套非常高效的策略。下面给出建立iForest模型的具体过程:
第一步、从样本中随机选择N个点样本(主机的特征向量)点作为subsample,放入树的根节点。
第二步、随机指定一个维度(attribute),这里的维度为特征向量中的某一特征对应的维度;在当前节点数据中随机产生一个切割点p——切割点产生于当前节点数据中指定维度的最大值和最小值之间。
第三步、以此切割点生成了一个超平面,然后将当前节点数据空间划分为2个子空间:把指定维度里小于p的数据放在当前节点的左孩子,把大于等于p的数据放在当前节点的右孩子。
第四步、在孩子节点中递归第二步和第三步,不断构造新的孩子节点,直到孩子节点中只有一个数据(无法再继续切割),或孩子节点已到达限定高度。
第五步、获得t个iTree之后,iForest模型建立完成,然后我们可以用生成的iForest来测试数据了。
在建立iForest模型时,上述参数可以设置为如下:
subsample size:256
Tree height:8
Number of trees:100
也就是说建100棵iTree,每棵iTree最高8层,且每棵iTree都是独立随机选择256个数据样本建成。
步骤204,获得第二预设时间内待检测主机的特征向量,通过构建的预设检测模型确定每个主机的流量是否异常。
当预设检测模型为孤立森林模型时,通过构建的孤立森林模型确定每个主机的流量是否异常,即确定任一主机的特征向量对应的路径长度是否大于预设长度阈值,如果是,确定该主机为流量异常主机;否则,确定该主机为流量正常的主机。
针对孤立森林模型的内部实现,具体为:
将待检测主机的特征向量在iTree上走一下,看该特征向量落在哪个叶子节点。
iTree能有效检测异常的假设是:异常点一般都是非常稀有的,在iTree中会很快被划分到叶子节点,因此可以用叶子节点到根节点的路径h(x)长度来判断一条记录x是否是异常点;对于一个包含n条记录的数据集,其构造的树的高度最小值为log(n),最大值为n-1,由于用log(n)和n-1归一化不能保证有界和不方便比较,用一个稍微复杂一点的归一化公式:
H(k)=ln(k)+ε,ε为欧拉常数。
获得第二预设时间内待检测主机的特征向量,对iForest中的每颗iTree树进行测试,记录路径长度,然后根据异常分数计算公式,计算每条测试数据的异常分数(AnomalyScore),即s(x,256),如果异常分数在0.6以上,则认定为异常流量主机。
至此,该实施例在构造原始项集的基础上,通过频繁项集做关联规则的挖掘,获得大量流量正常的主机,并使用这些主机的特征向量作为样本来构建iForest模型,来预测待测试主机的流量是否异常。该方案能够获得大量正常流量样本的基础上,提高流量监测的准确率,尤其是针对集群性带来影响的流量的异常检测的检测效果更为显著,能够更好地消除流量中业务层面的集群性带来的影响。
实施例二
参见图3,图3为本申请实施例二中大规模流量异常主机检测流程示意图。具体步骤为:
步骤301,基于规则和阈值的主机外发流量检测,确定疑似流量异常的主机。
在具体实现时,检测待检测的第一主机的如下信息:数据流(flow)流条数、开放端口数、流入的包数、字节数、流出的包数、字节数;
本实施例中待检测的第一主机不是一个主机,而是一个待检测的初始集合;即将待检测的第一主机作为初始流量异常检测的主机的集合。
统计第二预设时间内检测的主机的如下特征的值:
连接数、端口数、发出的总包数、发出的总包数的最大值、发出的总包数最小值、发出的总包数均值、发出的总字节数、发出的总字节数最大值,发出的总字节数的最小值、发出的总字节数均值、接收的总包数、接收的总包数的最大值、接收的总包数最小值、接收的总包数均值、接收的总字节数、接收的总字节数最大值,接收的总字节数的最小值、接收的总字节数均值;
当确定第一主机中的任一主机的任一特征的值大于该特征的预设特征阈值时,确定该主机为流量异常的主机,并将第二预设时间内确定为流量异常的第一主机作为待检测的第二主机。
将第二预设时间内确定为流量异常的主机作为第二主机,也就是说第二主机为疑似流量异常的主机。
同样,这里的第二主机也不是一个主机,而是一个主机集合,是第一主机中通过基于规则和阈值的统计方法确定的流量异常的主机组成的主机集合。
具体实现时针对每个特征值设置一个预设特征阈值,也就是说针对每一个特征,都是独立的设置预设特征值;针对同一机房的主机设置相同的阈值,针对不同机房的主机设置的阈值可以相同也可以不同,阈值根据不同机房的业务特征及常规情况下的数据流量确定。
本申请实施例中使用上述基于规则和阈值的统计方式作为初步检测主机流量是否异常的一种方式,确定出的流量异常的主机进一步作为下一步中待检测的主机。
步骤302,基于时间序列模型进一步确定所述疑似流量异常主机中更近似流量异常的主机。
基于时间序列模型确定流量异常的主机的具体过程如下:
获取第三预设时间内待检测的第二主机在各预设时刻的总字节数;
基于第三预设时间内第二主机在各预设时刻的总字节数,根据季节时间序列模型获得第三预设时间的下一预设时刻的总字节数;其中,第三预设时间的下一预设时刻属于第二预设时间;
这里的第三预设时间不是一个固定时间,针对第二预设时间的每个预设时刻,均存在一个第三预设时间,以便最终确定整个第二预设时间内主机流量是否异常。
若确定下一时刻的实际总字节数与预测的总字节数的差值大于预设字节数阈值,则确定该主机为流量异常的主机;并将第二预设时间内确定为流量异常的第二主机作为待检测主机。
步骤301中基于规则和阈值的主机外发流量检测粒度较粗,时间区间内检测出的疑似异常流量主机的数量较多,容易出现错误:
从流量和业务两个层面观察到误报主机异常流量有如下特性:
1)周期性:常见的周期性业务分为6、12和24小时三种场景。
2)稳定的服务:IP流量一天之内波动很小,但不同天之间会发生变化。
3)不稳定的服务:IP对应有多个服务或应用,即存在联合分布。
4)集群性:有多个IP统计信息相似,部署业务非常相关。
5)很少有主机单独支持大数据流量外发,多数有集群行为。
因此,基于上述特性,第三预设时间可以为某个24个小时,也就是说该方案可以通过之前的24小时的流量预测当前时刻的流量;并预测出当前时刻主机的字节数,当实际值减去预测值的超过预先设定的阈值,则确定该主机的流量异常。
该方案引入季节时间序列模型(seasonal ARIMA model)能有效的降低周期性影响造成的误报。通过该步骤能进一步过滤掉一些更近似流量异常的主机中流量正常的主机。
步骤303,根据建立的预设检测模型确定所述更近似流量异常主机中的流量异常主机。
通过步骤302中的时间序列模型能消除周期性因素的影响,但是无法消除集群性因素的影响;本步骤中引入频繁项集和iForest模型来消除集群性因素的影响,进一步确定真正的流量异常的主机。具体实现如下:
第一步、检测设备针对第一预设时间内的流量数据构造原始项集。
构造的原始项集包括:客户端IP地址、主机IP地址和端口号的映射关系。
其中,客户端IP地址、主机IP地址和端口号的映射关系表示哪个客户端访问了哪个主机的哪个端口。
这里通过收集第一预设时间内客户端的一系列请求的服务的数据进行的原始项集构建。
第二步、对所述原始项集做关联规则的挖掘,获得被大于预设数目的客户端访问的主机IP地址和端口号。
可以通过频繁项集算法对所述原始项集做关联规则的挖掘。
在使用频繁项集算法时,需根据实际应用设置最小支持度(min_sup)和最小可信度(min_conf),然后对构建的原始项集做关联规则的挖掘,获得被大于预设数目的客户端访问的主机IP地址和端口号,这些被大量客户端频繁访问的主机作为提供正常服务的主机,也就是流量异常的主机,这些主机对应的信息可以作为训练样本。
至此,本申请实施例提供的样本构建方案从真实流量中获取足够有代表性的白样本,即流量正常的主机对应的信息,由于从实际应用中获取的白样本,这样的样本也具备普适性,解决了训练样本的问题。
第三步、将所述主机IP地址对应的主机的特征向量作为样本,构建预设检测模型。
本申请实施例具体实现时,使用大量的流量正常的主机上的特征向量作为样本。
这里的特征向量可以为对主机进行的流量检测,统计获得的一些特征对应的值。
特征向量包括下述之一或任意组合特征:
连接数、端口数、发出的总包数、发出的总包数的最大值、发出的总包数最小值、发出的总包数均值、发出的总字节数、发出的总字节数最大值,发出的总字节数的最小值、发出的总字节数均值、接收的总包数、接收的总包数的最大值、接收的总包数最小值、接收的总包数均值、接收的总字节数、接收的总字节数最大值,接收的总字节数的最小值、接收的总字节数均值。
所述特征向量还包括下述之一或任意组合特征:
协议类型,IP包、TCP包、UDP包、ICMP包的个数、字节数、包首部、包首部长度平均包长、独立端口数。
在具体实现时,针对协议类型,IP包、TCP包、UDP包、包首部这些特征的值可以使用设置的值进行量化指代,如协议类型包括三种,可以使用1、2、3分别指代一种类型来实现。
本步骤中建立的预设检测模型可以为孤立森林模型,下面给出建立iForest模型的具体过程:
步骤A、从样本中随机选择N个点样本(主机的特征向量)点作为subsample,放入树的根节点。
步骤B、随机指定一个维度(attribute),这里的维度为特征向量中的某一特征对应的维度;在当前节点数据中随机产生一个切割点p——切割点产生于当前节点数据中指定维度的最大值和最小值之间。
步骤C、以此切割点生成了一个超平面,然后将当前节点数据空间划分为2个子空间:把指定维度里小于p的数据放在当前节点的左孩子,把大于等于p的数据放在当前节点的右孩子。
步骤D、在孩子节点中递归第二步和第三步,不断构造新的孩子节点,直到孩子节点中只有一个数据(无法再继续切割),或孩子节点已到达限定高度。
步骤F、获得t个iTree之后,iForest模型建立完成,然后我们可以用生成的iForest来测试数据了。
步骤G、获得第二预设时间内待检测主机的特征向量,通过构建的孤立森林模型确定每个主机的流量是否异常。
第四步、通过构建的预设检测模型(孤立森林模型)确定每个主机的流量是否异常,即确定任一主机的特征向量对应的路径长度是否大于预设长度阈值,如果是,确定该主机为流量异常主机;否则,确定该主机为流量正常的主机。
本实施例中从三个层面实现大规模流量异常主机的检测,分别是基于规则和阈值的统计、基于季节时间序列的SARIMA检测、以及基于频繁项集和iForest的检测。本实施例将上述三种方案组合在一起,能更好的消除流量中周期性、以及业务层面的集群性带来的影响。
基于同样的发明构思,本申请实施例中还提供一种大规模流量异常主机检测装置。参见图4,图4为本申请实施例中应用于上述技术的装置结构示意图。该装置包括:构建单元401、挖掘单元402、建立单元403和第一确定单元404;
构建单元401,用于针对第一预设时间内的流量数据构造原始项集;其中,所述原始项集包括:客户端IP地址、主机IP地址和端口号的映射关系;
挖掘单元402,用于对构建单元401构建的原始项集做关联规则的挖掘,获得被大于预设数目的客户端访问的主机IP地址和端口号;
建立单元403,用于将挖掘单元402获得的所述主机IP地址对应的主机的特征向量作为样本,构建预设检测模型;
第一确定单元404,用于获得第二预设时间内待检测主机的特征向量,通过建立单元403构建的预设检测模型确定该主机的流量是否异常。
优选地,所述预设检测模型为孤立森林模型;
挖掘单元402,具体用于对构建单元401构建的原始项集做关联规则的挖掘时,通过频繁项集算法进行挖掘。
优选地,所述特征向量包括下述之一或任意组合特征:
连接数、端口数、发出的总包数、发出的总包数的最大值、发出的总包数最小值、发出的总包数均值、发出的总字节数、发出的总字节数最大值,发出的总字节数的最小值、发出的总字节数均值、接收的总包数、接收的总包数的最大值、接收的总包数最小值、接收的总包数均值、接收的总字节数、接收的总字节数最大值,接收的总字节数的最小值、接收的总字节数均值。
优选地,所述特征向量还包括下述之一或任意组合特征:
协议类型,IP包、TCP包、UDP包、ICMP包的个数、字节数、包首部、包首部长度平均包长、独立端口数。
优选地,该装置进一步包括:检测单元405和第二确定单元406;
检测单元406,用于获取第三预设时间内待检测的第二主机在各预设时刻的总字节数;
第二确定单元406,用于基于检测单元405获取第三预设时间内第二主机在各预设时刻的总字节数,根据季节时间序列模型获得第三预设时间的下一预设时刻的总字节数;其中,第三预设时间的下一预设时刻属于第二预设时间;若确定下一时刻的实际总字节数与预测的总字节数的差值大于预设字节数阈值,则确定该主机为流量异常的主机;并将第二预设时间内确定为流量异常的第二主机作为待检测主机。
优选地,所述装置进一步包括:第三确定单元407;
检测单元405,进一步用于检测待检测的第一主机的如下信息:flow流条数、开放端口数、流入的包数、字节数、流出的包数、字节数;统计第二预设时间内待检测的第一主机的下述之一或任意组合特征的值:连接数、端口数、发出的总包数、发出的总包数的最大值、发出的总包数最小值、发出的总包数均值、发出的总字节数、发出的总字节数最大值,发出的总字节数的最小值、发出的总字节数均值、接收的总包数、接收的总包数的最大值、接收的总包数最小值、接收的总包数均值、接收的总字节数、接收的总字节数最大值,接收的总字节数的最小值、接收的总字节数均值;
第三确定单元407,用于当检测单元405确定第一主机中的任一主机的任一特征的值大于该特征的预设特征阈值时,确定该主机为流量异常的主机,并将第二预设时间内确定为流量异常的第一主机作为待检测的第二主机。
上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单元。
在另一个实施例中,本申请实施例中还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如所述大规模流量异常主机检测方法的步骤。
在另一个实施例中,本申请实施例中还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如所述大规模流量异常主机检测方法的步骤。
综上所述,本申请通过构造原始项集,使用关联规则挖掘获得大量流量正常的主机,结合上面列举的特征,通过特征工程计算得到这些主机的特征向量,以此为样本训练iForest模型,进一步可用来预测待测试主机的流量是否异常。该方案在获得大量正常流量样本的基础上,能够提高流判断量异常主机的准确率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (13)
1.一种大规模流量异常主机检测方法,其特征在于,所述方法包括:
针对第一预设时间内的流量数据构造原始项集;其中,所述原始项集包括:客户端因特网协议IP地址、主机IP地址和端口号的映射关系;
对所述原始项集做关联规则的挖掘,获得被大于预设数目的客户端访问的主机IP地址和端口号;
将获得的所述主机IP地址对应的主机的特征向量作为样本,构建预设检测模型;
获得第二预设时间内待检测主机的特征向量,通过构建的预设检测模型确定该主机的流量是否异常。
2.根据权利要求1所述的方法,其特征在于,所述对所述原始项集做关联规则的挖掘时,通过频繁项集算法进行挖掘。
3.根据权利要求1所述的方法,其特征在于,所述预设检测模型为孤立森林模型。
4.根据权利要求1所述的方法,其特征在于,所述特征向量包括下述之一或任意组合特征:
连接数、端口数、发出的总包数、发出的总包数的最大值、发出的总包数最小值、发出的总包数均值、发出的总字节数、发出的总字节数最大值,发出的总字节数的最小值、发出的总字节数均值、接收的总包数、接收的总包数的最大值、接收的总包数最小值、接收的总包数均值、接收的总字节数、接收的总字节数最大值,接收的总字节数的最小值、接收的总字节数均值。
5.根据权利要求4所述的方法,其特征在于,所述特征向量还包括下述之一或任意组合特征:
协议类型,IP包、传输控制协议TCP包、用户数据报协议UDP包、控制报文协议ICMP包的个数、字节数、包首部、包首部长度平均包长、独立端口数。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法进一步包括:
获取第三预设时间内待检测的第二主机在各预设时刻的总字节数;
基于第三预设时间内第二主机在各预设时刻的总字节数,根据季节时间序列模型获得第三预设时间的下一预设时刻的总字节数;其中,第三预设时间的下一预设时刻属于第二预设时间;
若确定下一时刻的实际总字节数与预测的总字节数的差值大于预设字节数阈值,则确定该主机为流量异常的主机;并将第二预设时间内确定为流量异常的第二主机作为待检测主机。
7.根据权利要求6所述的方法,其特征在于,所述方法进一步包括:
检测待检测的第一主机的如下信息:flow流条数、开放端口数、流入的包数、字节数、流出的包数、字节数;
统计第二预设时间内待检测的第一主机的下述之一或任意组合特征的值:
连接数、端口数、发出的总包数、发出的总包数的最大值、发出的总包数最小值、发出的总包数均值、发出的总字节数、发出的总字节数最大值,发出的总字节数的最小值、发出的总字节数均值、接收的总包数、接收的总包数的最大值、接收的总包数最小值、接收的总包数均值、接收的总字节数、接收的总字节数最大值,接收的总字节数的最小值、接收的总字节数均值;
当第一主机中的任一主机的任一特征的值大于该特征的预设特征阈值时,确定该第一主机为流量异常的主机,并将第二预设时间内确定为流量异常的第一主机作为待检测的第二主机。
8.一种大规模流量异常主机检测装置,其特征在于,所述装置包括:构建单元、挖掘单元、建立单元和第一确定单元;
所述构建单元,用于针对第一预设时间内的流量数据构造原始项集;其中,所述原始项集包括:客户端因特网协议IP地址、主机IP地址和端口号的映射关系;
所述挖掘单元,用于对所述构建单元构建的原始项集做关联规则的挖掘,获得被大于预设数目的客户端访问的主机IP地址和端口号;
所述建立单元,用于将所述挖掘单元获得的所述主机IP地址对应的主机的特征向量作为样本,构建预设检测模型;
所述第一确定单元,用于获得第二预设时间内待检测主机的特征向量,通过所述建立单元构建的预设检测模型确定该主机的流量是否异常。
9.根据权利要求8所述的装置,其特征在于,所述预设检测模型为孤立森林模型;
所述挖掘单元,用于对所述构建单元构建的原始项集做关联规则的挖掘时,通过频繁项集算法进行挖掘。
10.根据权利要求8或9所述的装置,其特征在于,所述装置进一步包括:检测单元和第二确定单元;
所述检测单元,用于获取第三预设时间内待检测的第二主机在各预设时刻的总字节数;
所述第二确定单元,用于基于所述检测单元获取第三预设时间内第二主机在各预设时刻的总字节数,根据季节时间序列模型获得第三预设时间的下一预设时刻的总字节数;其中,第三预设时间的下一预设时刻属于第二预设时间;若确定下一时刻的实际总字节数与预测的总字节数的差值大于预设字节数阈值,则确定该主机为流量异常的主机;并将第二预设时间内确定为流量异常的第二主机作为待检测主机。
11.根据权利要求10所述的装置,其特征在于,所述装置进一步包括:第三确定单元;
所述检测单元,进一步用于检测待检测的第一主机的如下信息:flow流条数、开放端口数、流入的包数、字节数、流出的包数、字节数;统计第二预设时间内待检测的第一主机的下述之一或任意组合特征的值:连接数、端口数、发出的总包数、发出的总包数的最大值、发出的总包数最小值、发出的总包数均值、发出的总字节数、发出的总字节数最大值,发出的总字节数的最小值、发出的总字节数均值、接收的总包数、接收的总包数的最大值、接收的总包数最小值、接收的总包数均值、接收的总字节数、接收的总字节数最大值,接收的总字节数的最小值、接收的总字节数均值;
所述第三确定单元,用于当所述检测单元确定第一主机中的任一主机的任一特征的值大于该特征的预设特征阈值时,确定该主机为流量异常的主机,并将第二预设时间内确定为流量异常的第一主机作为待检测的第二主机。
12.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7任一项所述的方法。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910316000.5A CN111835681B (zh) | 2019-04-19 | 2019-04-19 | 一种大规模流量异常主机检测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910316000.5A CN111835681B (zh) | 2019-04-19 | 2019-04-19 | 一种大规模流量异常主机检测方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111835681A true CN111835681A (zh) | 2020-10-27 |
CN111835681B CN111835681B (zh) | 2023-08-04 |
Family
ID=72914325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910316000.5A Active CN111835681B (zh) | 2019-04-19 | 2019-04-19 | 一种大规模流量异常主机检测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111835681B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112929364A (zh) * | 2021-02-05 | 2021-06-08 | 上海观安信息技术股份有限公司 | 一种基于icmp隧道分析的数据泄漏检测方法及系统 |
CN113315781A (zh) * | 2021-06-10 | 2021-08-27 | 浙江惠瀜网络科技有限公司 | 基于hmm模型的异常数据检测方法 |
TWI769661B (zh) * | 2021-01-12 | 2022-07-01 | 鴻海精密工業股份有限公司 | 圖像異常檢測方法、裝置、電腦裝置及儲存介質 |
CN115022155A (zh) * | 2022-05-24 | 2022-09-06 | 深信服科技股份有限公司 | 信息处理方法、装置及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070064617A1 (en) * | 2005-09-15 | 2007-03-22 | Reves Joseph P | Traffic anomaly analysis for the detection of aberrant network code |
US20070198708A1 (en) * | 2005-01-14 | 2007-08-23 | Norihiko Moriwaki | Sensor network system and data retrieval method for sensing data |
CN105071985A (zh) * | 2015-07-24 | 2015-11-18 | 四川大学 | 一种服务器网络行为描述方法 |
CN105553998A (zh) * | 2015-12-23 | 2016-05-04 | 中国电子科技集团公司第三十研究所 | 一种网络攻击异常检测方法 |
CN107967488A (zh) * | 2017-11-28 | 2018-04-27 | 网宿科技股份有限公司 | 一种服务器的分类方法及分类系统 |
-
2019
- 2019-04-19 CN CN201910316000.5A patent/CN111835681B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070198708A1 (en) * | 2005-01-14 | 2007-08-23 | Norihiko Moriwaki | Sensor network system and data retrieval method for sensing data |
US20070064617A1 (en) * | 2005-09-15 | 2007-03-22 | Reves Joseph P | Traffic anomaly analysis for the detection of aberrant network code |
CN105071985A (zh) * | 2015-07-24 | 2015-11-18 | 四川大学 | 一种服务器网络行为描述方法 |
CN105553998A (zh) * | 2015-12-23 | 2016-05-04 | 中国电子科技集团公司第三十研究所 | 一种网络攻击异常检测方法 |
CN107967488A (zh) * | 2017-11-28 | 2018-04-27 | 网宿科技股份有限公司 | 一种服务器的分类方法及分类系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI769661B (zh) * | 2021-01-12 | 2022-07-01 | 鴻海精密工業股份有限公司 | 圖像異常檢測方法、裝置、電腦裝置及儲存介質 |
CN112929364A (zh) * | 2021-02-05 | 2021-06-08 | 上海观安信息技术股份有限公司 | 一种基于icmp隧道分析的数据泄漏检测方法及系统 |
CN113315781A (zh) * | 2021-06-10 | 2021-08-27 | 浙江惠瀜网络科技有限公司 | 基于hmm模型的异常数据检测方法 |
CN113315781B (zh) * | 2021-06-10 | 2023-03-24 | 浙江惠瀜网络科技有限公司 | 基于hmm模型的异常数据检测方法 |
CN115022155A (zh) * | 2022-05-24 | 2022-09-06 | 深信服科技股份有限公司 | 信息处理方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111835681B (zh) | 2023-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111935170B (zh) | 一种网络异常流量检测方法、装置及设备 | |
CN111835681B (zh) | 一种大规模流量异常主机检测方法和装置 | |
Jiang et al. | Identifying suspicious activities through dns failure graph analysis | |
US10296739B2 (en) | Event correlation based on confidence factor | |
US9386028B2 (en) | System and method for malware detection using multidimensional feature clustering | |
CN111355697B (zh) | 僵尸网络域名家族的检测方法、装置、设备及存储介质 | |
CN111277570A (zh) | 数据的安全监测方法和装置、电子设备、可读介质 | |
Catak et al. | Distributed denial of service attack detection using autoencoder and deep neural networks | |
CN109361673B (zh) | 基于流量数据样本统计和平衡信息熵估计的网络异常检测方法 | |
Aiello et al. | Basic classifiers for DNS tunneling detection | |
US20050108377A1 (en) | Method for detecting abnormal traffic at network level using statistical analysis | |
CN107370752B (zh) | 一种高效的远控木马检测方法 | |
US20160269431A1 (en) | Predictive analytics utilizing real time events | |
EP2415229A1 (en) | Method and system for alert classification in a computer network | |
CN113821793B (zh) | 基于图卷积神经网络的多阶段攻击场景构建方法及系统 | |
EP3913888A1 (en) | Detection method for malicious domain name in domain name system and detection device | |
CN110768946A (zh) | 一种基于布隆过滤器的工控网络入侵检测系统及方法 | |
CN114143037A (zh) | 一种基于进程行为分析的恶意加密信道检测方法 | |
CN112822223A (zh) | 一种dns隐蔽隧道事件自动化检测方法、装置和电子设备 | |
CN112565229A (zh) | 隐蔽通道检测方法及装置 | |
Shahrestani et al. | Architecture for applying data mining and visualization on network flow for botnet traffic detection | |
CN111885011B (zh) | 一种业务数据网络安全分析挖掘的方法及系统 | |
CN109257384B (zh) | 基于访问节奏矩阵的应用层DDoS攻击识别方法 | |
Mahardhika et al. | An implementation of Botnet dataset to predict accuracy based on network flow model | |
CN114362972B (zh) | 一种基于流量摘要和图采样的僵尸网络混合检测方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |