CN114257386A - 检测模型的训练方法、***、设备及存储介质 - Google Patents
检测模型的训练方法、***、设备及存储介质 Download PDFInfo
- Publication number
- CN114257386A CN114257386A CN202010948783.1A CN202010948783A CN114257386A CN 114257386 A CN114257386 A CN 114257386A CN 202010948783 A CN202010948783 A CN 202010948783A CN 114257386 A CN114257386 A CN 114257386A
- Authority
- CN
- China
- Prior art keywords
- gateway device
- malicious
- model
- message flow
- flow
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 309
- 238000012549 training Methods 0.000 title claims abstract description 232
- 238000000034 method Methods 0.000 title claims abstract description 202
- 238000003860 storage Methods 0.000 title claims abstract description 37
- 238000012360 testing method Methods 0.000 claims abstract description 13
- 238000004458 analytical method Methods 0.000 claims description 116
- 230000000903 blocking effect Effects 0.000 claims description 85
- 238000012545 processing Methods 0.000 claims description 48
- 238000005336 cracking Methods 0.000 claims description 22
- 230000006399 behavior Effects 0.000 claims description 16
- 238000004422 calculation algorithm Methods 0.000 claims description 15
- 244000035744 Hura crepitans Species 0.000 claims description 13
- 230000000737 periodic effect Effects 0.000 claims description 6
- 230000008685 targeting Effects 0.000 claims description 5
- 230000000694 effects Effects 0.000 abstract description 14
- 238000005516 engineering process Methods 0.000 abstract description 14
- 230000009286 beneficial effect Effects 0.000 abstract description 8
- 239000000523 sample Substances 0.000 description 290
- 238000013527 convolutional neural network Methods 0.000 description 43
- 230000008569 process Effects 0.000 description 32
- 230000006870 function Effects 0.000 description 28
- 238000013473 artificial intelligence Methods 0.000 description 26
- 239000011159 matrix material Substances 0.000 description 25
- 239000003795 chemical substances by application Substances 0.000 description 19
- 238000004891 communication Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 13
- 238000012423 maintenance Methods 0.000 description 12
- 238000012216 screening Methods 0.000 description 12
- 238000004519 manufacturing process Methods 0.000 description 11
- 239000013598 vector Substances 0.000 description 11
- 238000004590 computer program Methods 0.000 description 10
- 230000003287 optical effect Effects 0.000 description 7
- 230000004044 response Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 238000012098 association analyses Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 239000000047 product Substances 0.000 description 4
- 241000700605 Viruses Species 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000010219 correlation analysis Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000002820 assay format Methods 0.000 description 1
- 238000009412 basement excavation Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000003116 impacting effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- COCAUCFPFHUGAA-MGNBDDOMSA-N n-[3-[(1s,7s)-5-amino-4-thia-6-azabicyclo[5.1.0]oct-5-en-7-yl]-4-fluorophenyl]-5-chloropyridine-2-carboxamide Chemical compound C=1C=C(F)C([C@@]23N=C(SCC[C@@H]2C3)N)=CC=1NC(=O)C1=CC=C(Cl)C=N1 COCAUCFPFHUGAA-MGNBDDOMSA-N 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000002123 temporal effect Effects 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/1416—Event detection, e.g. attack signature detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/098—Distributed learning, e.g. federated learning
-
- 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
- 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/1441—Countermeasures against malicious traffic
-
- 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/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/142—Denial of service attacks against network infrastructure
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供了一种检测模型的训练方法、***、设备及存储介质,属于网络安全技术领域,进一步涉及AI技术在网络安全技术领域中的应用。本申请一些实施例提供了采用联邦学习训练检测模型的方法。该方法中,由网关设备作为联邦学习的参与者,由服务器为网关设备汇聚模型参数以及下发共享的恶意样本。在网关设备执行模型训练时,网关设备与服务器会交互模型参数、共享样本等信息,从而训练得到检测模型。该方法有助于缓解恶意样本不足的问题,能通过更加丰富的恶意样本驱动检测模型的训练,提升模型训练的效果。
Description
技术领域
本申请涉及网络安全技术领域,进一步涉及人工智能(ArtificialIntelligence,AI)技术在网络安全技术领域中的应用,特别涉及一种检测模型的训练方法、***、设备及存储介质。
背景技术
随着人工智能(artificial intelligence,AI)技术的不断发展,如何应用AI技术来检测恶意报文流已成为网络安全领域的研究热点。应用AI技术来识别恶意报文流的基本原理是计算机利用机器学习算法对恶意样本和正常样本进行模型训练,得到检测模型,机器学习算法例如卷积神经网络(convolutional neural network,CNN)。在模型训练过程中,通过恶意样本,检测模型能够学习到恶意报文流具有的特征;通过正常样本,检测模型能够学习到正常报文流具有的特征。因此在预测阶段,计算机通过检测模型,能够自动化地区分一个报文流是恶意报文流还是正常报文流。其中,报文流(traffic flow)是指从一个源主机到目的方的一系列报文。其中目的方例如是另一个主机、包含多个主机的多播组、或者广播域。
然而,由于恶意样本难以获取、难以标定,经常出现恶意样本不足的情况。如果训练检测模型时使用的恶意样本不足,会影响训练检测模型的效果,导致计算机使用训练得到的检测模型检测报文流时,误报率较高、攻击覆盖率不够。
发明内容
本申请实施例提供了一种检测模型的训练方法、***、设备及存储介质,能够提升模型训练的效果,从而有助于提升检测模型的性能。所述技术方案如下:
第一方面,提供了一种检测模型的训练方法,以参与联邦学习的网关设备的角度描述,在该方法中,第一网关设备获取通过所述第一网关设备传输的至少一条报文流;所述第一网关设备根据所述至少一条报文流获取恶意样本集合,所述恶意样本集合中包括的恶意样本为所述至少一条报文流中恶意报文流的元数据;所述第一网关设备从第一服务器获取第一模型参数;所述第一网关设备根据所述恶意样本集合、共享样本和所述第一模型参数进行模型训练,从而得到模型训练之后的检测模型,所述共享样本为所述第一服务器提供给网关设备集合中的各个网关设备的恶意样本,所述网关设备集合中包括所述第一网关设备,所述检测模型用于所述第一网关设备对后续通过所述第一网关设备传输的报文流是否具有恶意性进行检测,所述模型训练之后的检测模型具有第二模型参数;所述第一网关设备向所述第一服务器发送所述第二模型参数。
在以上方法中,由于网关设备不仅利用自身传输的报文流标定恶意样本,还接收了服务器下发的共享的恶意样本以及模型参数,网关设备利用本地标定的恶意样本、服务器下发的恶意样本以及模型参数共同进行模型训练,从而缓解网关设备面临的恶意样本不足的问题,能通过更加丰富的恶意样本驱动检测模型的训练。因此,该方法能够提升模型训练的效果,从而有助于提升检测模型的性能,有助于降低利用检测模型检测报文流的误报率,有助于提升利用检测模型检测报文流的攻击覆盖率。
可选地,所述至少一条报文流包括第一报文流,所述第一网关设备根据所述至少一条报文流获取恶意样本集合,包括:若所述第一报文流命中阻断规则,所述第一网关设备将所述第一报文流的元数据确定为所述恶意样本,所述阻断规则用于阻断恶意报文流。
上述提供了一种标定网关设备上恶意样本的技术手段。由于网关设备借助阻断规则从自身传输的报文流获取恶意样本,降低了获取恶意样本的复杂度,有助于恶意样本集合中的恶意样本更加丰富。
可选地,所述至少一条报文流包括第二报文流,所述第一网关设备根据所述至少一条报文流获取恶意样本集合,包括:若所述第二报文流未命中阻断规则,所述第一网关设备将所述第二报文流的元数据输入模型训练之前的检测模型,所述阻断规则用于阻断恶意报文流,其中,当所述第一网关设备第一次执行所述模型训练时,所述模型训练之前的检测模型为初始检测模型;若所述模型训练之前的检测模型的输出结果指示所述第二报文流是可疑报文流,所述第一网关设备对所述第二报文流进行分析;若通过所述分析确定所述第二报文流是恶意报文流,所述第一网关设备将所述第二报文流的元数据确定为所述恶意样本。
以上提供了一种标定网关设备上恶意样本的技术手段。网关设备由于在报文流未命中阻断规则的情况下,结合模型以及本地分析这两种手段共同标定恶意样本,提高了恶意样本的精确度。
可选地,所述模型训练之前的检测模型的输出结果还指示所述第二报文流是恶意报文流的概率值,所述第一网关设备对所述第二报文流进行分析,包括:
若所述模型训练之前的检测模型的输出结果指示所述第二报文流是恶意报文流的概率值大于阈值,所述第一网关设备确定所述第二报文流是恶意报文流,所述概率值表示所述第二报文流是恶意报文流的可能性。
可选地,所述第一网关设备对所述第二报文流进行分析,包括:
若存在第一时间段内生成的域名生成算法DGA事件,所述第一网关设备确定所述第二报文流是恶意报文流,所述第一时间段为以所述第一网关设备获取到所述第二报文流的时刻为结束点的历史时间段,所述DGA事件中包括的事件源为第一主机,所述第一主机为所述第二报文流的源主机,所述DGA事件指示发生了所述第一主机访问DGA域名的行为。
可选地,所述第一网关设备对所述第二报文流进行分析,包括:若存在第二时间段内生成的内网暴力破解事件,所述第一网关设备确定所述第二报文流是恶意报文流,所述第二时间段为以所述第一网关设备获取到所述第二报文流的时刻为结束点的历史时间段,所述内网暴力破解事件指示发生了以第一主机所在的内网为目标的暴力破解攻击,所述第一主机为所述第二报文流的源主机;或者,若存在第二时间段内生成的敏感信息外泄事件,所述第一网关设备确定所述第二报文流是恶意报文流,所述敏感信息外泄事件指示发生了所述第一主机上的敏感信息被发送至外网的行为;或者,若存在第二时间段内生成的外网分布式拒绝服务DDoS事件,所述第一网关设备确定所述第二报文流是恶意报文流,所述外网DDoS事件指示发生了所述第一主机所在的内网对外网发起的DDoS攻击。
可选地,所述第一网关设备对所述第二报文流进行分析,包括:若第三时间段内所述模型训练之前的检测模型针对目标报文流的元数据的输出结果呈现周期性,所述第一网关设备确定所述第二报文流是恶意报文流,所述第三时间段为以所述第一网关设备获取到所述第二报文流的时刻为结束点的历史时间段,所述目标报文流包括以第一主机为源主机的至少一个报文流,所述第一主机为所述第二报文流的源主机。
以上为网关设备如何通过本地分析标定恶意样本提供了多种技术手段,有助于解决恶意样本难以获取的问题,帮助收集更多高质量的恶意样本。
可选地,所述至少一条报文流包括第三报文流,所述第一网关设备根据所述至少一条报文流获取恶意样本集合,包括:若所述第三报文流未命中阻断规则且通过分析确定所述第三报文流不是恶意报文流,所述第一网关设备将所述第三报文流的上下文信息发送至第二服务器,所述阻断规则用于阻断恶意报文流,所述上下文信息包括所述第三报文流的元数据或者所述第三报文流的数据包捕获PCAP报文中的至少一项;所述第一网关设备接收来自于所述第二服务器的根据所述上下文信息得到的分析结果;若所述分析结果指示所述第三报文流是恶意报文流,所述第一网关设备将所述第三报文流的元数据确定为所述恶意样本。
以上方法中,通过云端进行威胁分析来辅助网关设备标定恶意样本,降低了标定恶意样本的复杂度,有助于提高确定出的恶意样本的精确性。
可选地,所述至少一条报文流包括第三报文流,所述第一网关设备根据所述至少一条报文流获取恶意样本集合,包括:若所述第三报文流未命中阻断规则且通过分析确定所述第三报文流不是恶意报文流,所述第一网关设备根据所述第三报文流包括的目的互联网协议IP地址或所述第三报文流包括的源IP地址,查询第一威胁情报,所述第一威胁情报包括至少一个恶意IP地址;若所述目的IP地址或所述源IP地址命中所述第一威胁情报中的恶意IP地址,所述第一网关设备将所述第三报文流的元数据确定为所述恶意样本;或者,若所述第三报文流未命中阻断规则且通过分析确定所述第三报文流不是恶意报文流,所述第一网关设备根据所述第三报文流对应的目标域名,查询第二威胁情报,所述目标域名为所述第三报文流请求访问的域名,所述第二威胁情报包括至少一个恶意域名;若所述目标域名命中所述第二威胁情报中的恶意域名,所述第一网关设备将所述第三报文流的元数据确定为所述恶意样本;或者,若所述第三报文流未命中阻断规则且通过分析确定所述第三报文流不是恶意报文流,所述第一网关设备根据所述第三报文流对应的文件标识,查询第三威胁情报,所述文件标识用于标识所述第三报文流包括的文件,所述第三威胁情报包括至少一个恶意文件标识;若所述文件标识命中所述第三威胁情报中的恶意文件标识,所述第一网关设备将所述第三报文流的元数据确定为所述恶意样本。
以上方法中,通过借助威胁情报对报文流进行分析,有助于提升恶意样本标定的精确性。
可选地,所述第一网关设备从第一服务器获取第一模型参数之前,所述方法还包括:所述第一网关设备接收来自于所述第一服务器的所述共享样本和所述检测模型的超参数,所述超参数包括所述检测模型的学习率以及所述检测模型的初始参数,所述学习率用于控制所述第二模型参数与所述模型训练之前的检测模型的模型参数之间的差值,所述初始参数用于生成所述初始检测模型。
可选地,所述第一网关设备获取通过所述第一网关设备传输的至少一条报文流之后,所述方法还包括:所述第一网关设备根据所述至少一条报文流获取正常样本集合,所述正常样本集合中包括的正常样本为所述至少一条报文流中正常报文流的元数据;所述第一网关设备根据所述恶意样本集合、共享样本和所述第一模型参数进行模型训练,包括:所述第一网关设备根据所述恶意样本集合、所述共享样本、所述第一模型参数和所述正常样本集合进行模型训练。
可选地,所述第一网关设备根据所述恶意样本集合、所述共享样本、所述第一模型参数和所述正常样本集合进行模型训练之前,所述方法还包括:如果第一正常样本在第四时间段的出现次数超过第一阈值,所述第一网关设备从所述正常样本集合中去除所述第一正常样本,所述第四时间段为所述第一网关设备获取到所述第一正常样本的时刻所属的历史时间周期;如果第一恶意样本在所述第五时间段的出现次数超过第二阈值,所述第一网关设备从所述恶意样本集合中去除所述第一恶意样本,所述第二阈值小于所述第一阈值,所述第五时间段为所述第一网关设备获取到所述第一恶意样本的时刻所属的历史时间周期。
以上方法有助于解决网关设备本地恶意样本与正常样本数量不均衡的问题,有助于第一网关设备本地的恶意样本与本地的正常样本尽可能的均衡。因此,避免模型由于难以学习到数量更少的一类样本包含的知识导致性能不佳,提升训练得到的检测模型的性能。
第二方面,提供了一种检测模型的训练方法,在该方法中,第一服务器接收来自于网关设备集合中的第一网关设备的第一模型参数,以及来自于所述网关设备集合中的第二网关设备的第二模型参数,所述第一模型参数是第一检测模型的参数,所述第一检测模型用于对通过所述第一网关设备传输的报文流是否具有恶意性进行检测,所述第二模型参数是第二检测模型的参数,所述第二检测模型用于对通过所述第二网关设备传输的报文流是否具有恶意性进行检测;所述第一服务器根据所述第一模型参数和所述第二模型参数进行汇聚处理,得到第三模型参数;所述第一服务器向所述网关设备集合中的至少一个网关设备发送所述第三模型参数。
在以上方法中,服务器通过接收各个网关设备上传的模型参数,对各个网关设备上传的模型参数进行汇聚处理,将汇聚处理后的模型参数下发给各个网关设备,以便网关设备利用汇聚处理后的模型参数进行模型训练,从而提升了网关设备模型训练的效果,进而提升了训练得到的检测模型的性能。
可选地,所述第一服务器根据所述第一模型参数和所述第二模型参数进行汇聚处理,得到第三模型参数,包括:所述第一服务器获取所述第一模型参数、所述第二模型参数的平均值;所述第一服务器根据所述平均值以及学***均值与所述学习率的乘积,所述学习率用于控制模型训练之后的检测模型的模型参数与模型训练之前的检测模型的模型参数之间的差值;所述第一服务器根据所述变化量对历史模型参数进行更新,得到所述第三模型参数,所述第三模型参数是所述历史模型参数与所述变化量之间的差值,所述历史模型参数是所述第一服务器在接收到所述第一模型参数和所述第二模型参数之前向所述网关设备集合中至少一个网关设备发送的模型参数。
可选地,所述第一服务器根据所述第一模型参数和所述第二模型参数进行汇聚处理之前,所述方法还包括:所述第一服务器确定参与联邦学习的网关设备集合;所述第一服务器向所述网关设备集合中的至少一个网关设备发送超参数以及共享样本,所述共享样本为所述服务器提供给网关设备集合中的各个网关设备的恶意样本,所述超参数包括初始参数以及学习率,所述初始参数是所述第一检测模型以及所述第二检测模型的初始参数,所述学习率是所述第一检测模型以及所述第二检测模型的学习率。
可选地,所述第一服务器向所述网关设备集合中的的至少一个网关设备发送超参数以及共享样本之前,所述方法还包括:所述第一服务器在沙箱中运行恶意文件,得到至少一个数据包捕获PCAP报文;所述第一服务器根据所述至少一个PCAP报文,生成所述共享样本。
第三方面,提供了一种第一网关设备,该第一网关设备具有实现上述第一方面或第一方面任一种可选方式的功能。该第一网关设备包括至少一个模块,至少一个模块用于实现上述第一方面或第一方面任一种可选方式所提供的检测模型的训练方法。
在一些实施例中,第一网关设备中的模块通过软件实现,第一网关设备中的模块是程序模块。在另一些实施例中,第一网关设备中的模块通过硬件或固件实现。第三方面提供的第一网关设备的具体细节可参见上述第一方面或第一方面任一种可选方式,此处不再赘述。
第四方面,提供了一种第一服务器,该第一服务器具有实现上述第二方面或第二方面任一种可选方式的功能。该第一服务器包括至少一个模块,至少一个模块用于实现上述第二方面或第二方面任一种可选方式所提供的检测模型的训练方法。
在一些实施例中,第一服务器中的模块通过软件实现,第一服务器中的模块是程序模块。在另一些实施例中,第一服务器中的模块通过硬件或固件实现。第四方面提供的第一服务器的具体细节可参见上述第二方面或第二方面任一种可选方式,此处不再赘述。
第五方面,提供了一种第一网关设备,该第一网关设备包括网络接口、存储器和与所述存储器连接的处理器;
所述网络接口,用于获取通过所述第一网关设备传输的至少一条报文流;
所述存储器用于存储程序指令;
所述处理器用于执行所述程序指令,以使所述第一网关设备执行以下操作:
根据所述至少一条报文流获取恶意样本集合,所述恶意样本集合中包括的恶意样本为所述至少一条报文流中恶意报文流的元数据;从第一服务器获取第一模型参数;根据所述恶意样本集合、共享样本和所述第一模型参数进行模型训练,从而得到模型训练之后的检测模型,所述共享样本为所述第一服务器提供给网关设备集合中的各个网关设备的恶意样本,所述网关设备集合中包括所述第一网关设备,所述检测模型用于所述第一网关设备对后续通过所述第一网关设备传输的报文流是否具有恶意性进行检测,所述模型训练之后的检测模型具有第二模型参数;向所述第一服务器发送所述第二模型参数。
可选地,所述至少一条报文流包括第一报文流,所述处理器用于若所述第一报文流命中阻断规则,将所述第一报文流的元数据确定为所述恶意样本,所述阻断规则用于阻断恶意报文流。
可选地,所述至少一条报文流包括第二报文流,所述处理器用于若所述第二报文流未命中阻断规则,将所述第二报文流的元数据输入模型训练之前的检测模型,所述阻断规则用于阻断恶意报文流,其中,当所述第一网关设备第一次执行所述模型训练时,所述模型训练之前的检测模型为初始检测模型;若所述模型训练之前的检测模型的输出结果指示所述第二报文流是可疑报文流,对所述第二报文流进行分析;若通过所述分析确定所述第二报文流是恶意报文流,将所述第二报文流的元数据确定为所述恶意样本。
可选地,所述模型训练之前的检测模型的输出结果还指示所述第二报文流是恶意报文流的概率值,所述处理器,用于若所述模型训练之前的检测模型的输出结果指示所述第二报文流是恶意报文流的概率值大于阈值,确定所述第二报文流是恶意报文流,所述概率值表示所述第二报文流是恶意报文流的可能性。
可选地,所述处理器,用于若存在第一时间段内生成的域名生成算法DGA事件,确定所述第二报文流是恶意报文流,所述第一时间段为以所述第一网关设备获取到所述第二报文流的时刻为结束点的历史时间段,所述DGA事件中包括的事件源为第一主机,所述第一主机为所述第二报文流的源主机,所述DGA事件指示发生了所述第一主机访问DGA域名的行为。
可选地,所述处理器,用于若存在第二时间段内生成的内网暴力破解事件,确定所述第二报文流是恶意报文流,所述第二时间段为以所述第一网关设备获取到所述第二报文流的时刻为结束点的历史时间段,所述内网暴力破解事件指示发生了以第一主机所在的内网为目标的暴力破解攻击,所述第一主机为所述第二报文流的源主机;或者,若存在第二时间段内生成的敏感信息外泄事件,确定所述第二报文流是恶意报文流,所述敏感信息外泄事件指示发生了所述第一主机上的敏感信息被发送至外网的行为;或者,若存在第二时间段内生成的外网分布式拒绝服务DDoS事件,确定所述第二报文流是恶意报文流,所述外网DDoS事件指示发生了所述第一主机所在的内网对外网发起的DDoS攻击。
可选地,所述处理器,用于若第三时间段内所述模型训练之前的检测模型针对目标报文流的元数据的输出结果呈现周期性,确定所述第二报文流是恶意报文流,所述第三时间段为以所述第一网关设备获取到所述第二报文流的时刻为结束点的历史时间段,所述目标报文流包括以第一主机为源主机的至少一个报文流,所述第一主机为所述第二报文流的源主机。
可选地,所述至少一条报文流包括第三报文流,所述处理器,用于若所述第三报文流未命中阻断规则且通过分析确定所述第三报文流不是恶意报文流,将所述第三报文流的上下文信息发送至第二服务器,所述阻断规则用于阻断恶意报文流,所述上下文信息包括所述第三报文流的元数据或者所述第三报文流的数据包捕获PCAP报文中的至少一项;接收来自于所述第二服务器的根据所述上下文信息得到的分析结果;若所述分析结果指示所述第三报文流是恶意报文流,将所述第三报文流的元数据确定为所述恶意样本。
可选地,所述至少一条报文流包括第三报文流,所述处理器,用于若所述第三报文流未命中阻断规则且通过分析确定所述第三报文流不是恶意报文流,根据所述第三报文流包括的目的互联网协议IP地址或所述第三报文流包括的源IP地址,查询第一威胁情报,所述第一威胁情报包括至少一个恶意IP地址;若所述目的IP地址或所述源IP地址命中所述第一威胁情报中的恶意IP地址,将所述第三报文流的元数据确定为所述恶意样本;或者,若所述第三报文流未命中阻断规则且通过分析确定所述第三报文流不是恶意报文流,根据所述第三报文流对应的目标域名,查询第二威胁情报,所述目标域名为所述第三报文流请求访问的域名,所述第二威胁情报包括至少一个恶意域名;若所述目标域名命中所述第二威胁情报中的恶意域名,将所述第三报文流的元数据确定为所述恶意样本;或者,若所述第三报文流未命中阻断规则且通过分析确定所述第三报文流不是恶意报文流,根据所述第三报文流对应的文件标识,查询第三威胁情报,所述文件标识用于标识所述第三报文流包括的文件,所述第三威胁情报包括至少一个恶意文件标识;若所述文件标识命中所述第三威胁情报中的恶意文件标识,将所述第三报文流的元数据确定为所述恶意样本。
可选地,所述网络接口,用于接收来自于所述第一服务器的所述共享样本和所述检测模型的超参数,所述超参数包括所述检测模型的学习率以及所述检测模型的初始参数,所述学习率用于控制所述第二模型参数与所述模型训练之前的检测模型的模型参数之间的差值,所述初始参数用于生成所述初始检测模型。
可选地,所述处理器,还用于根据所述至少一条报文流获取正常样本集合,所述正常样本集合中包括的正常样本为所述至少一条报文流中正常报文流的元数据;根据所述恶意样本集合、所述共享样本、所述第一模型参数和所述正常样本集合进行模型训练。
可选地,所述处理器,还用于如果第一正常样本在第四时间段的出现次数超过第一阈值,从所述正常样本集合中去除所述第一正常样本,所述第四时间段为所述第一网关设备获取到所述第一正常样本的时刻所属的历史时间周期;如果第一恶意样本在所述第五时间段的出现次数超过第二阈值,从所述恶意样本集合中去除所述第一恶意样本,所述第二阈值小于所述第一阈值,所述第五时间段为所述第一网关设备获取到所述第一恶意样本的时刻所属的历史时间周期。
第六方面,提供了一种第一服务器,该第一服务器包括网络接口、存储器和与所述存储器连接的处理器,
所述网络接口,用于接收来自于网关设备集合中的第一网关设备的第一模型参数,以及来自于所述网关设备集合中的第二网关设备的第二模型参数,所述第一模型参数是第一检测模型的参数,所述第一检测模型用于对通过所述第一网关设备传输的报文流是否具有恶意性进行检测,所述第二模型参数是第二检测模型的参数,所述第二检测模型用于对通过所述第二网关设备传输的报文流是否具有恶意性进行检测;
所述存储器用于存储程序指令;
所述处理器用于执行所述程序指令,以使所述第一服务器执行以下操作:
根据所述第一模型参数和所述第二模型参数进行汇聚处理,得到第三模型参数;
向所述网关设备集合中的至少一个网关设备发送所述第三模型参数。
可选地,所述处理器,用于获取所述第一模型参数、所述第二模型参数的平均值;根据所述平均值以及学***均值与所述学习率的乘积,所述学习率用于控制模型训练之后的检测模型的模型参数与模型训练之前的检测模型的模型参数之间的差值;根据所述变化量对历史模型参数进行更新,得到所述第三模型参数,所述第三模型参数是所述历史模型参数与所述变化量之间的差值,所述历史模型参数是所述第一服务器在接收到所述第一模型参数和所述第二模型参数之前向所述网关设备集合中至少一个网关设备发送的模型参数。
可选地,所述处理器,还用于确定参与联邦学习的网关设备集合;向所述网关设备集合中的至少一个网关设备发送超参数以及共享样本,所述共享样本为所述服务器提供给网关设备集合中的各个网关设备的恶意样本,所述超参数包括初始参数以及学习率,所述初始参数是所述第一检测模型以及所述第二检测模型的初始参数,所述学习率是所述第一检测模型以及所述第二检测模型的学习率。
可选地,所述处理器,用于在沙箱中运行恶意文件,得到至少一个数据包捕获PCAP报文;根据所述至少一个PCAP报文,生成所述共享样本。
第七方面,提供了一种计算机可读存储介质,该存储介质中存储有至少一条指令,该指令由处理器读取以使第一网关设备执行上述第一方面或第一方面任一种可选方式所提供的检测模型的训练方法。
第八方面,提供了一种计算机可读存储介质,该存储介质中存储有至少一条指令,该指令由处理器读取以使第一服务器执行上述第二方面或第二方面任一种可选方式所提供的检测模型的训练方法。
第九方面,提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。第一网关设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该第一网关设备执行上述第一方面或第一方面任一种可选方式所提供的检测模型的训练方法。
第十方面,提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。第一服务器的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该第一服务器执行上述第二方面或第二方面任一种可选方式所提供的检测模型的训练方法。
第十一方面,提供了一种芯片,当该芯片在第一网关设备上运行时,使得第一网关设备执行上述第一方面或第一方面任一种可选方式所提供的检测模型的训练方法。
第十二方面,提供了一种芯片,当该芯片在第一服务器上运行时,使得第一服务器执行上述第二方面或第二方面任一种可选方式所提供的检测模型的训练方法。
第十三方面,提供了一种***,该***包括第一网关设备以及第一服务器,该第一网关设备用于执行上述第一方面或第一方面任一种可选方式所述的方法,该第一服务器用于执行上述第二方面或第二方面任一种可选方式所述的方法。
可选地,所述***还包括第二服务器,所述第二服务器用于接收来自于所述网关设备的第三报文流的上下文信息,根据所述上下文信息进行分析,得到分析结果,向所述网关设备发送所述分析结果,所述上下文信息包括所述第三报文流的元数据或者所述第三报文流的数据包捕获PCAP报文中的至少一项,所述分析结果用于指示所述第三报文流是否为恶意报文流。
附图说明
图1是本申请实施例提供的一种***架构100的示意图;
图2是本申请实施例提供的一种设备200的结构示意图;
图3是本申请实施例提供的一种CNN模型在模型训练阶段和模型应用阶段的示意图;
图4是本申请实施例提供的一种基于联邦学习训练检测模型的***架构的示意图;
图5是本申请实施例提供的一种检测模型的训练方法的流程图;
图6是本申请实施例提供的一种训练检测模型时准确率的示意图;
图7是本申请实施例提供的一种***架构的示意图;
图8是本申请实施例提供的一种网关设备本地分析的示意图;
图9是本申请实施例提供的一种云端分析的示意图;
图10是本申请实施例提供的一种检测模型的训练方法的流程图;
图11是本申请实施例提供的一种网关设备应用CNN模型检测报文流的示意图;
图12是本申请实施例提供的一种网关设备的结构示意图;
图13是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请实施例提供的方法能够应用在网络安全领域中基于AI检测报文流的场景。具体而言,本申请实施例的方法能够应用在防火墙使用检测模型检测报文流是否是恶意报文流的场景。下面先对检测恶意报文流的场景进行简单的介绍。
恶意报文流是指网络中传输的具有恶意性的报文流。恶意报文流通常由各种病毒、恶意爬虫、自动机、模拟器等生成。恶意报文流能够触发网络攻击、业务攻击、恶意爬虫等行为。例如,恶意报文流是用于触发命令和控制(command and control,C&C)攻击的超文本传输协议(hyper text transfer protocol,HTTP)报文流。为简明起见,下文将触发C&C攻击的HTTP报文流简称为C&C报文流。其中,C&C攻击是高级可持续威胁攻击(advancedpersistent threat,APT)中的一个重要阶段。因此,恶意报文流的检测是安全威胁检测中至关重要的一个环节。
从Gartner(一家信息技术研究和分析的公司)的技术曲线图可以看出,人工智能(artificial intelligence,AI)在网络安全领域的应用已经进入成熟阶段,但业界使用AI进行安全威胁检测仍然存在两个难点问题需要解决。一个难点是,不同于视频领域,恶意报文流的数据具有难获取、难标定的特点,导致AI所需的恶意样本不足。另一个难点是,重视数据隐私和安全问题已经成了世界性趋势,很多企业出于隐私和安全性方面的考虑禁止本企业网的报文流数据被其他企业所分享。这就导致行业应用执行业务所产生的报文流的数据难收集,进一步造成AI所需的正常样本不足。由于样本的不足,影响了基于AI训练得到的模型的性能,无法保证模型低误报。
当前的安全网关设备如:下一代防火墙(next generation firewall,NGFW)、探针等已经基本上部署到各个企业的南北向出口、数据中心、分支互访节点处。而行业正常业务产生的报文流的数据、恶意报文流的数据等都存放在网关设备上。这导致形成一座座数据孤岛,无法全局汇聚生成AI模型。因此,如何在满足数据隐私、安全、监管要求的条件下,联合各方数据生成AI模型,部署到客户环境中准确发现更多的威胁是当前需要思考的问题。
传统解决如何获得样本的问题的思路分为以下三种。
思路一是,通过服务购买或者开源下载的方式来获取样本。例如,通过购买virustota(一个免费的病毒、蠕虫、木马和各种恶意软件的分析服务,简称VT)的方式来获取恶意样本以及正常样本。但是,通过服务购买样本有以下三个问题。
问题1、一般恶意样本和正常样本不均衡。例如,恶意样本数量较多,行业应用样本等正常样本数量较少。
问题2、无法保证样本的时效性。
问题3、很多类型的恶意样本(如C&C报文流的恶意样本),当前没有服务购买方式,也就无法得到这些类型的恶意样本。
思路二是,通过与友好厂商之间交换来获取样本。然而思路二存在的问题是,购买样本的价格比较昂贵,且一般无法保证交换样本的质量。
思路三是,通过云服务获取现网恶意样本。然而思路三存在的问题是,能够获取的恶意样本数量非常有限。且,因为需要保证用户隐私,无法获取正常样本。
而本申请实施例中,通过借助联邦学习架构,由网关设备作为联邦学习的参与者,在云端部署联邦学习服务器,网关设备本地进行模型训练,云端的联邦学习服务器进行模型参数汇聚,从而解决数据孤岛问题。此外,对网关设备如何确定恶意样本以及如何解决联邦学习面临的恶意样本与正常样本数量不均衡问题方面进行了改进。
下面,按照***架构、***架构中各类设备的硬件结构、检测模型、模型训练侧的方法、模型应用侧的方法的顺序,从多个角度对本申请实施例提供的技术方案进行具体描述。
以下介绍本申请实施例提供的***架构。
参见附图1,本申请实施例提供了一种***架构100。***架构100是对基于联邦学习架构训练检测模型的***架构的举例说明。***架构100主要包括两类节点,一类节点是参与联邦学习的多个网关设备,另一类节点是公有云。例如,如附图1所示,***架构100包括参与联邦学习的网关设备110、参与联邦学习的网关设备111、参与联邦学习的网关设备112以及公有云120。网关设备110、网关设备111以及网关设备112分别与公有云120通过无线网络或有线网络相连。其中,本申请不对参与联邦学习的节点设备的数量和类型进行限制,网关设备110、网关设备111以及网关设备112是对参与联邦学习的多个网关设备的举例说明,例如参与联邦学习的设备还包括路由器、防火墙设备等等。
下面对多个参与联邦学习的网关设备以及公有云120分别进行介绍。
一、多个参与联邦学习的网关设备
网关设备用于对网络中传输的报文流进行威胁检测并充当联邦学习的参与者。可选地,网关设备还可以被替换为防火墙、入侵检测***(intrusion detection system,IDS)类设备、入侵防御***(intrusion prevention system,IPS)类设备、服务器、主机或个人计算机中的任一种设备。下面以网关设备110为例,对参与联邦学习的多个网关设备中的一个网关设备的举例说明。
网关设备110部署在企业网140与互联网之间。企业网140例如包括交换机1401、个人计算机1402、主机1403等设备。网关设备110与交换机1401相连,交换机1401与个人计算机1402、主机1403相连。交换机1401用于转发个人计算机1402、主机1403等设备与网关设备110之间传输的数据。
在网关设备110参与联邦学习的过程中,网关设备110会与公有云120交互各种信息。网关设备110与公有云120交互的信息包括模型参数、共享样本等。网关设备通过使用与公有云120交互的信息进行模型训练,得到检测模型1101。网关设备110通过检测模型1101,能够对通过网关设备110传输的报文流是否具有恶意性进行检测。例如,当网关设备110接收到企业网140与互联网之间传输的报文流时,网关设备110能通过检测模型1101对企业网140与互联网之间传输的报文流是否具有恶意性进行检测,从而为企业网140进行威胁检测,对企业网140进行安全防护。同理地,网关设备111通过与公有云120交互,训练得到检测模型1111;网关设备112通过与公有云120交互,训练得到检测模型1121。
在一些实施例中,参与联邦学习的不同网关设备分别部署在不同行业的企业网与互联网之间,以使不同网关设备能够将不同行业的数据作为样本参与模型训练。例如,网关设备110部署在金融行业或证券行业的企业网与互联网之间;或者,网关设备111部署在能源行业的企业网与互联网之间;网关设备112部署在政府网络与互联网之间;另外一些网关设备部署在IoT行业的企业网与互联网之间中。
二、公有云
公有云120包括攻击知识库生产***1201以及联邦学习服务器1202。攻击知识库生产***1201与联邦学习服务器1202之间通过无线网络或有线网络相连。
攻击知识库生产***1201用于在各种攻击场景下对恶意样本进行模拟、采集和管理。
攻击知识库生产***1201例如为服务器、主机或个人计算机中的任一种。可选地,攻击知识库生产***1201包括开源购买模块、沙箱培植模块、攻击模拟模块。开源购买模块用于用于支持网关设备购买开源的恶意样本。沙箱培植模块用于支持网关设备通过沙箱生成恶意样本。攻击模拟模块用于支持网关设备通过模拟网络攻击生成恶意样本。
联邦学习服务器1202用于管理联邦学习的各个参与者(即各个网关设备)、组织各个网关设备进行模型训练、将模型参数以及共享的恶意样本下发到联邦学习的各个参与者。
以上介绍了本申请实施例提供的***架构,以下对上述***架构中设备的硬件结构进行介绍。
请参见附图2,附图2所示的设备200是对上述***架构中参与联邦学习的网关设备以及公有云的硬件结构的举例说明。可选地,设备200配置为网关设备110、网关设备111或者网关设备112。或者,可选地,设备200配置为联邦学习服务器1202或者攻击知识库生产***120。设备200例如是主机、服务器或个人计算机等。
设备200可选地由一般性的总线体系结构来实现。设备200包括至少一个处理器201、通信总线202、存储器203以及至少一个网络接口204。
处理器201例如是通用中央处理器(central processing unit,CPU)、网络处理器(network processer,NP)、图形处理器(Graphics Processing Unit,GPU)、神经网络处理器(neural-network processing units,NPU)、数据处理单元(Data Processing Unit,DPU)、微处理器或者一个或多个用于实现本申请方案的集成电路。例如,处理器201包括专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。PLD例如是复杂可编程逻辑器件(complexprogrammable logic device,CPLD)、现场可编程逻辑门阵列(field-programmable gatearray,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合。
通信总线202用于在上述组件之间传送信息。通信总线202可以分为地址总线、数据总线、控制总线等。为便于表示,附图2中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器203例如是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,又如是随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,又如是电可擦可编程只读存储器(electrically erasable programmable read-only Memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器203例如是独立存在,并通过通信总线202与处理器201相连接。存储器203也可以和处理器201集成在一起。
可选地,存储器203用于保存设备200执行模型训练得到的检测模型。当设备200需要使用检测模型时,处理器访问存储器203,得到存储器203中保存的检测模型。
网络接口204使用任何收发器一类的装置,用于与其它设备或通信网络通信。网络接口204包括有线网络接口,还可以包括无线网络接口。其中,有线网络接口例如可以为以太网接口。以太网接口可以是光接口,电接口或其组合。无线网络接口可以为无线局域网(wireless local area networks,WLAN)接口,蜂窝网络网络接口或其组合等。
在具体实现中,作为一种实施例,处理器201可以包括一个或多个CPU,如附图2中所示的CPU0和CPU1。
在具体实现中,作为一种实施例,设备200可以包括多个处理器,如附图2中所示的处理器201和处理器205。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,设备200还可以包括输出设备和输入设备。输出设备和处理器201通信,可以以多种方式来显示信息。例如,输出设备可以是液晶显示器(liquid crystal display,LCD)、发光二级管(light emitting diode,LED)显示设备、阴极射线管(cathode ray tube,CRT)显示设备或投影仪(projector)等。输入设备和处理器201通信,可以以多种方式接收用户的输入。例如,输入设备可以是鼠标、键盘、触摸屏设备或传感设备等。
在一些实施例中,存储器203用于存储执行本申请方案的程序代码210,处理器201可以执行存储器203中存储的程序代码210。也即是,设备200可以通过处理器201以及存储器203中的程序代码210,来实现方法实施例提供的检测模型的训练方法。
本申请实施例的设备200可对应于方法实施例中的第一网关设备、第一服务器或者第二服务器,并且,该设备200中的处理器201、网络接口204等可以实现上个方法实施例中的第一网关设备、第一服务器或者第二服务器所具有的功能和/或所实施的各种步骤和方法。为了简洁,在此不再赘述。
以上介绍了***架构以及***架构中设备的硬件结构,下面对本实施例提供的检测模型进行介绍。以下介绍的检测模型例如由上述***架构以及上述***架构中的设备训练得到。
检测模型用于对报文流是否具有恶意性进行检测。在本申请的一些实施例中,检测模型应用在网关设备检测通过自身传输的报文流的场景。检测模型例如为通过机器学习算法训练得到的AI模型。在一些实施例中,检测模型为通过监督学习算法训练得到的AI模型。例如,检测模型为卷积神经网络(convolutional neural networks,CNN)模型或者随机森林模型。在另一些实施例中,检测模型为通过非监督学习算法训练得到的AI模型。例如,检测模型为自编码器(auto encoder,AE)或者孤立森林模型。
检测模型的输入参数包括报文流的元数据(metadata)。报文流的元数据包括报文流的源IP地址、目的IP地址、源端口号、目的端口号、HTTP统一资源***(UniformResource Locator,URL)、用户代理(user agent,UA)字符串、发生时间或者持续时间中的至少一项。例如,检测模型为CNN模型,CNN模型的输入参数包括报文流中的HTTP元数据。HTTP元数据例如为报文流的HTTP URL以及user agent字符串。
检测模型的输出结果用于指示报文流是否具有恶意性。在一些实施例中,检测模型的输出结果包括报文流的类型。报文流的类型包括恶意报文流或者正常报文流。例如,当将报文流的元数据输入检测模型后,如果检测模型输出1,表示报文流是恶意报文流。当将报文流的元数据输入检测模型后,如果检测模型输出0,表示报文流是正常报文流。在另一些实施例中,检测模型的输出结果包括报文流是恶意报文流的风险值或者概率值。
风险值用于表示报文流与恶意性的相关性。例如风险值越高,报文流的恶意性风险越高;或者风险值越低,报文流的恶意性风险越高。
概率值表示报文流是恶意报文流的可能性。概率值越大,表示报文流是恶意报文流的可能性越大。
此外,检测模型还具有超参数(hyper parameter)。检测模型的超参数包括检测模型的学习率以及检测模型的初始参数。
检测模型的学习率用于控制检测模型在相邻两次迭代之间模型参数的差值。学习率越小,损失函数的变化速度越慢,检测模型在相邻两次迭代之间模型参数的差值越大。例如,学习率用于控制第二模型参数与模型训练之前的检测模型的模型参数之间的差值。
检测模型的初始参数例如是检测模型在模型训练之前具有的模型参数。例如,检测模型是包括卷积核的CNN模型,初始参数为CNN模型中卷积核的初始权重。在模型训练的过程中,初始参数会随着训练的不断迭代而不断更新,从而逐渐逼近最优值。
以上介绍了本实施例提供的检测模型,下面从模型训练侧和模型应用侧对检测模型涉及的方法进行介绍。
以下介绍的检测模型的训练方法与应用检测模型检测报文流的方法是基于同一个构思产生的发明,或者理解为一个***中的两个部分,或者理解为一个整体流程的两个阶段:如模型训练阶段和模型应用阶段。具体地,本申请实施例提供的检测模型的训练方法对训练数据(如本申请中的恶意样本和正常样本)进行符号化和形式化的智能信息建模、抽取、预处理、训练等,最终得到训练好的检测模型;本申请实施例提供的应用检测模型检测报文流的方法运用训练好的检测模型,将输入数据(如本申请中报文流的元数据)输入到训练好的检测模型中,得到输出数据(如报文流的类型或报文流是恶意报文流的概率)。例如,参见附图3,附图3是对CNN模型在模型训练阶段和模型应用阶段涉及的主要流程的举例说明。该CNN模型是对检测模型的举例说明。该CNN模型用于检测C&C报文流。在CNN模型的模型训练阶段,会对恶意样本中HTTP协议的关键字段进行提取,使用提取后的数据进行模型训练,得到CNN模型。在CNN模型的模型应用阶段,会对现网数据中HTTP协议的关键字段进行提取,使用提取后的数据输入训练好的CNN模型,得到输出数据。
本申请的一些实施例中,模型训练侧的方法采用联邦学习(federated learning,FL)技术实现。为了便于理解,下面先对联邦学习技术的概念进行介绍。
联邦学习是近年来一种新兴的人工智能技术。联邦学习主要用于解决AI算法在工业落地时所面临的数据孤岛问题。所谓数据孤岛问题是指,AI算法在工业应用时,往往面临高质量的样本不足、数据源的样本无法共享和数据隐私保护等问题,导致AI无法高效、准确地共同使用各自的样本。有鉴于此,业内提出了联邦学习技术来解决数据孤岛问题。联邦学习是一种分布式训练的方法。联邦学习的各参与方会借助其他方数据(如模型参数)训练各自的模型。联邦学习的各参与方在训练过程中无需共享数据资源,因此在样本不出本地的情况下,实现各联邦学习参与方的联合建模与利益共享。
本申请实施例将联邦学习应用在网络安全技术领域,通过采用联邦学习训练检测模型,能够在样本不出网关设备本地的情况下,综合各个网关设备的数据一起模型训练,从而在确保网关设备数据隐私的基础上,提升模型训练的效果。
例如,参见附图4,附图4所示的***400是对基于联邦学习训练检测模型的***架构的举例说明。***400例如通过***100实现。***400包括服务器以及n个网关设备。n表示正整数。
***400中的服务器例如为***100中的联邦学习服务器1202。
***400中的n个网关设备分别为附图4所示的网关设备1、网关设备2、网关设备3…网关设备n。…表示附图4未示出而***还可能包括的其他网关设备。网关设备1、网关设备2、网关设备3…网关设备n例如为附图1所示的网关设备111、网关设备112、网关设备113以及网关设备114。
网关设备与服务器在模型训练过程中扮演的角色有所区别。
网关设备充当联邦学习的参与者。网关设备主要负责恶意样本的标定并基于本地的恶意样本进行模型训练。样本标定通常是指为样本添加标签的过程。标签指示样本的类型。在本实施例中,样本的类型分为恶意样本和正常样本。恶意样本的标定例如是将一条报文流的元数据确定为恶意样本。恶意样本的标定包含检测一条报文流是恶意报文流还是正常报文流。网关设备负责标定的样本例如来自于网关设备自身传输的报文流。例如,网关设备1从网关设备1传输的报文流采集样本1。网关设备1将样本1保存在网关设备1本地。在联邦学习过程中,网关设备1使用样本1参与模型训练。同理地,网关设备2从网关设备2传输的报文流采集样本2。网关设备2将样本2保存在网关设备2本地。在联邦学习过程中,网关设备2使用样本2参与模型训练。依次类推,n个网关设备分别根据自身传输的报文流获得本地样本;n个网关设备分别使用本地样本参与模型训练。
服务器充当联邦学习的调度者。服务器主要负责对各个网关设备上的模型参数进行汇聚、向各个网关设备下发各种数据以及选择哪些网关设备参与联邦学习。
服务器与各个网关设备会在模型训练时传输各种数据。模型训练的不同阶段传输的数据有所区别。具体而言,模型训练包括初始化阶段以及n次迭代阶段。按照时间从先到后的顺序而言,模型训练依次是初始化阶段→第1次迭代→第2次迭代→……第t次迭代……→第n次迭代。n次迭代阶段每次迭代的原理类似。t表示当前迭代的索引,t为大于或等于1且小于或等于n的正整数。
下面,对初始化阶段以及n次迭代阶段网关设备与服务器分别交互哪些数据进行具体介绍。
在初始化阶段,服务器会选择哪些网关设备参与联邦学习。服务器选中参与联邦学习的网关设备后,服务器会将检测模型的超参数(如学习率、初始权重)以及共享样本下发到选中的各个网关设备中,使得检测模型的超参数以及共享样本同步至参与联邦学习的各个网关设备。
在第1次迭代时,参与联邦学习的各个网关设备会分别基于服务器下发的超参数、共享样本、本地的恶意样本以及本地的正常样本进行模型训练,得到第1次迭代的模型参数。各个网关设备会分别将各自得到的第1次迭代的模型参数上传至服务器。服务器接收各个网关设备上传的模型参数后,会对各个网关设备第1次迭代的模型参数进行汇聚,将汇聚后的模型参数下发给各个网关设备,使得汇聚后的模型参数同步至各个网关设备。其中,共享样本例如由服务器在初始化阶段之前通过沙箱生成。
在第2次迭代时,参与联邦学习的各个网关设备会分别基于服务器下发的汇聚后的模型参数、共享样本、本地的恶意样本以及本地的正常样本进行模型训练,得到第2次迭代的模型参数。各个网关设备会分别将各自得到的第2次迭代的模型参数上传至服务器。服务器接收各个网关设备上传的模型参数后,会对各个网关设备第2次迭代的模型参数进行汇聚,将汇聚后的模型参数下发给各个网关设备,使得汇聚后的模型参数同步至各个网关设备。
通过执行n次迭代过程后,当服务器确定损失函数收敛或者检测模型的准确率达到准确率阈值时,服务器会停止模型训练过程。此时,模型训练过程结束,各个网关设备在本次迭代得到的模型参数为检测模型训练后的参数。
本实施例通过提供上述模型训练方法,由于每次迭代时,各个网关设备分别将模型参数上传给服务器,服务器对各个网关设备上的模型参数进行汇聚,将汇聚后的模型参数下发给各个网关设备,各个网关设备在下一次迭代时使用汇聚后的模型参数进行模型训练,使得各个网关设备模型训练时使用的数据更优,从而提升了模型训练的效果。下面,对达到提升模型训练这一技术效果的技术原理进行详细分析。
从数据的角度来看,如果采用本地学习的方式模型训练,模型训练只能单独使用一个网关设备上的数据。由于模型训练使用的数据不足,会严重影响模型的效果。而通过上述模型训练方法,由于各个网关设备上传的模型参数是由各个网关设备使用各自拥有的样本训练得到的,各个网关设备上传的模型参数能分别体现各个网关设备上样本包含的信息(如各个网关设备自身传输的报文流的特征)。因此,各个网关设备上传的模型参数经过汇聚后,汇聚后的模型参数能够综合体现各个网关设备上样本包含的信息,比单台网关设备本地学习的模型参数信息量更丰富。因此,各个网关设备通过使用汇聚后的模型参数进行模型训练,相当于各个网关设备借助其他网关设备上的数据来训练各自的检测模型。例如,网关设备1使用汇聚后的模型参数进行模型训练时,达到的效果类似于网关设备1借助网关设备2、网关设备3……网关设备n等其他参与联邦学习的网关设备的数据一起训练检测模型。由于模型训练使用的数据更多,显然能提升模型的效果。
值得说明的一点是,本实施例并不限定网关设备与服务器之间交互的数据是仅经过网关设备与服务器这两种设备,还是经过网关设备以及服务器之外的其他设备。在一些实施例中,网关设备与服务器之间还部署有一个或多个网络设备(如交换机、路由器等),网关设备与服务器之间交互的数据是通过一个或多个网络设备转发的。换句话说,网关设备与服务器之间交互的数据所经过的路径可能是服务器→网关设备,也可能是服务器→一个或多个网络设备→网关设备,本实施例对网关设备与服务器在交互数据时如何传输数据不做限定。
以上介绍了基于联邦学习训练检测模型的整体构思,下面对具体如何基于联邦学习训练检测模型的方法进行举例说明。
以下,通过方法500和方法600分别从网关设备的角度以及服务器的角度对基于联邦学习训练检测模型的方法进行介绍。方法500是对参与联邦学习的一个网关设备执行的方法的举例说明。方法600是对参与联邦学习的服务器执行的方法的举例说明。
方法500和方法600中的第一网关设备和第二网关设备均是指参与联邦学习的一个网关设备。例如,第一网关设备是附图1所示***架构100中网关设备110,第二网关设备是附图1所示***架构100中网关设备111。例如,第一网关设备是附图4所示***架构400中网关设备1、网关设备2、网关设备3…网关设备n中的一个网关设备,第二网关设备是附图4所示***架构400中网关设备1、网关设备2、网关设备3…网关设备n中除第一网关设备之外的另一个网关设备。
方法500和方法600中的第一服务器是指参与联邦学习的服务器。例如,第一服务器是附图1所示***架构100中联邦学习服务器1202。例如,第一服务器是附图4所示***架构400中的服务器。
可选地,方法500和方法600由通用中央处理器(central processing unit,CPU)处理。或者,方法500和方法600由CPU和一个或多个AI加速卡共同处理。例如,CPU和AI加速卡用于承担方法500和方法600不同步骤对应的处理工作。例如,AI加速卡承担方法500和方法600中模型训练对应的处理工作。CPU承担方法500和方法600中获取恶意样本对应的处理工作。其中,AI加速卡例如为图形处理器(graphics processing unit,GPU)、嵌入式神经网络处理器(neural-network processing units,NPU)、张量处理单元(tensor processingunit,TPU)或者其他为机器学习而定制的芯片。
方法500中的第二服务器例如是附图7所示***架构中企业私有云130。方法500中的第二服务器与第一网关设备例如位于同一企业网中。
方法500和方法600中的恶意样本以及正常样本例如是网关设备本地维护的数据。例如,方法500中的恶意样本以及正常样本为附图7所示的数据库1104存储的数据。
方法500和方法600中的共享样本例如是服务器生成的数据。例如,方法500和方法600中的共享样本为附图1或附图7所示的攻击知识库生产***1201生成的数据。
方法500和方法600中多处检测模型为检测C&C报文流的CNN模型为例进行说明。值得说明的一点是,本实施例并不限定检测模型的具体类型。在检测模型是其他类型的AI模型的情况下执行的方法与方法500和方法600同理。
方法500和方法600中多处以恶意报文流是C&C报文流、恶意样本是C&C报文流的元数据为例进行说明。值得说明的一点是,本实施例并不限定恶意报文流以及恶意样本的具体类型。换句话说,不限定网关设备利用触发哪种网络攻击的报文流的元数据进行模型训练,也不限定使用检测模型检测哪种类型的恶意报文流。
可选地,方法500和方法600中的第一网关设备、第二网关设备、第一服务器、第二服务器通过附图2所示的设备200实现。方法500和方法600中第一网关设备、第二网关设备、第一服务器或者第二服务器所实施的各种步骤通过设备200中的各硬件实现。例如,方法500和方法600各步骤通过设备200处理器201中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块例如位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质例如位于存储器210,处理器201读取存储器210中的信息,结合其硬件完成方法500和方法600的步骤。
参见附图5,附图5为方法500的流程图。方法500包括S510至S570。
S510、第一网关设备获取通过第一网关设备传输的至少一条报文流。
第一网关设备如何获取报文流包括多种方式。例如,第一网关设备部署在内网的出口处,第一网关设备接收内网中不同主机之间传输的报文流;或者,第一网关设备接收内网与外网之间传输的报文流。例如,当内网的主机向外网设备发起访问时,内网的主机生成并发送报文流;报文流通过网络传输至第一网关设备;第一网关设备接收报文流。又如,当外网设备向内网的主机传输数据时,外网设备生成并发送报文流;报文流通过网络传输至第一网关设备;第一网关设备接收报文流。
第一网关设备得到报文流后,会根据得到的报文流来标定攻击样本以及正常样本。下面通过步骤S520,对如何标定攻击样本以及正常样本进行举例说明。
S520、第一网关设备根据至少一条报文流获取恶意样本集合以及正常样本集合。
样本为用于训练检测模型的数据。本实施例中,样本为报文流的元数据。
例如,一个样本是一条报文流的元数据。报文流的元数据是用于描述报文流的数据。例如,样本的类型分为恶意样本和正常样本。
恶意样本为恶意报文流的元数据。例如,一个恶意样本是一条恶意报文流的元数据。恶意样本也称黑样本或攻击样本。恶意样本集合包括至少一个恶意样本。
正常样本为正常报文流的元数据。例如,一个正常样本是一条正常报文流的元数据。正常样本也称白样本。正常样本集合包括至少一个正常样本。
第一网关设备如何获取恶意样本集合以及正常样本集合包括多种方式。例如,第一网关设备在至少一条报文流中识别至少一条恶意报文流以及至少一条正常报文流;第一网关设备获取至少一条恶意报文流中每个恶意报文流的元数据,第一网关设备将每个恶意报文流的元数据作为一个恶意样本,从而得到恶意样本集合;第一网关设备获取至少一条正常报文流中每个正常报文流的元数据,第一网关设备将每个正常报文流的元数据作为一个正常样本,从而得到正常样本集合。
可选地,第一网关设备执行S520之后,还执行以下S530。或者,可选地,第一网关设备执行S520之后,不执行以下S530,执行S540。
S530、第一网关设备对正常样本集合以及恶意样本集合进行筛选。
第一网关设备得到正常样本集合以及恶意样本集合之后,对正常样本集合以及恶意样本集合分别筛选,以便利用筛选后的样本进行模型训练。通过执行筛选样本的步骤,有助于解决网关设备本地恶意样本与正常样本数量不均衡的问题,有助于第一网关设备本地的恶意样本与本地的正常样本尽可能的均衡。因此,避免模型由于难以学习到数量更少的一类样本包含的知识导致性能不佳,提升训练得到的检测模型的性能。
其中,恶意样本与正常样本之间的均衡是指恶意样本与正常样本之间数量级差距不大。例如,恶意样本的数量与正常样本的数量之间的比值不小于比值阈值,比值阈值例如为1:100。换一种表达方式,假设恶意样本的数量为A,正常样本的数量为B,当A/B的取值范围在0.1-10之间时,叫做恶意样本与正常样本之间基本均衡。
第一网关设备如何筛选正常样本集合以及恶意样本集合包括多种方式。在一些实施例中,样本的筛选是根据样本在历史时间周期内的出现次数与阈值之间的数量关系确定的。第一网关设备会将历史时间周期内出现次数超过阈值的样本去除掉,并保留历史时间周期内出现次数不超过阈值的样本,从而实现样本的筛选。其中,历史时间周期的单位包括而不限于天、周、小时等。例如,历史时间周期为一天或多天。
在一些实施例中,筛选正常样本集合使用的阈值与筛选恶意样本集合时使用的阈值之间具有一定的数量关系。筛选正常样本集合使用的阈值大于筛选恶意样本集合时使用的阈值。考虑到现网经常出现恶意样本少而正常样本多的情况,通过这一技术手段,由于筛选正常样本集合使用的阈值大,筛选恶意样本集合时使用的阈值小,能够减少正常样本的数量,增加恶意样本的数量,从而满足样本均衡的需求。在一些实施例中,筛选正常样本集合使用的阈值与筛选恶意样本集合时使用的阈值还根据网关设备的内存容量确定。例如,网关设备的内存容量越小,筛选正常样本集合使用的阈值与筛选恶意样本集合时使用的阈值越低,从而减少网关设备存储的样本数量,避免过多的样本占用网关设备有限的内存空间。
在一些实施例中,第一网关设备为恶意样本以及正常样本分别建立表。第一网关设备得到恶意样本以及正常样本之后,将恶意样本以及正常样本分别存储在对应的表中。第一网关设备通过查表来筛选正常样本集合以及恶意样本集合。其中,表采用键值的索引结构。表的键(key)是报文流的元数据。表的值(value)是样本在历史时间周期内出现次数。第一网关设备通过查表来筛选正常样本集合以及恶意样本集合。表例如存储在数据库中。
例如,网关设备在存储HTTP C&C恶意样本时,按照日期建立表。表的key是报文流的HTTP URL和user agent字符串。表的value是HTTP C&C恶意样本的当天出现个数。在一些实施例中,网关设备为HTTP C&C恶意样本最多建立30张表。30张表用于保存HTTP C&C恶意样本最近30天的数据。
例如,网关设备建立表black_http_cc_2020_05_01。表black_http_cc_2020_05_01代表针对HTTP C&C恶意样本5月1号的数据。表black_http_cc_2020_05_01的key为HTTPURL和user agent字符串。表black_http_cc_2020_05_01的value为key在2020年5月1号出现的次数。其中,网关设备建立多少个表根据网关设备的内存容量确定,30个表是对为恶意样本建立的表的数量的举例,7个表是对为正常样本建立的表的数量的举例,本实施例对网关设备建立的表的具体数量不做限定。
例如,网关设备在存储HTTP C&C正常样本时,按照日期建立表。表的key是报文流的HTTP URL和user agent字符串。表的value是HTTP C&C正常样本的当天出现个数。在一些实施例中,网关设备为HTTP C&C正常样本最多建立7张表。7张表用于保存HTTP C&C正常样本最近7天的数据。
例如,网关设备建立表white_http_cc_2020_05_01。表white_http_cc_2020_05_01代表针对HTTP C&C正常样本5月1号的数据。表white_http_cc_2020_05_01如下表1所示。
表1
其中,表1的第1个表项中“http://thediscriminationlaws.com/”代表HTTP URL,“Java/1.7.0_161”代表user agent字符串,100代表查询表1时2020年5月1号该条HTTP URL和user agent字符串一共100个。表1的第2个表项中“http://tjv1.ejie.me/statistics/timestamp”代表HTTP URL,“Mozilla/5.0(Windows NT 10.0;Win64;x64;rv:65.0)Gecko/20100101 Firefox/65.0”代表user agent字符串,200代表查询表1时2020年5月1号该条HTTP URL和user agent字符串一共200个。
在一些实施例中,第一网关设备获取第一正常样本在第四时间段的出现次数,第一网关设备判断第一正常样本在第四时间段的出现次数是否超过第一阈值。如果第一正常样本在第四时间段的出现次数超过第一阈值,第一网关设备从正常样本集合中去除第一正常样本。其中,第一正常样本为正常样本集合中的一个正常样本。第四时间段为第一网关设备获取到第一正常样本的时刻所属的历史时间周期。
例如,网关设备处理正常样本的时间是2020年5月1号。网关设备将正常样本的http_url和user agent组合为http_url_user agent_white_sample。网关设备在表white_http_cc_2020_05_01中,查询http_url_user agent_white_sample对应的数量white_count。如果数量white_count超过阈值t1,则网关设备丢弃正常样本。如果数量white_count不超过阈值t1,网关设备更新表white_http_cc_2020_05_01中http_url_useragent_white_sample对应的数量white_count为white_count+1。
其中,2020年5月1号是对历史时间周期为一天时第四时间段的举例说明。阈值t1是对第一阈值的举例说明。阈值t1例如按照经验设置,阈值t1例如为10000。数量white_count是对第一正常样本在第四时间段的出现次数的举例说明。http_url_user agent_white_sample是对第一正常样本的举例说明。
在一些实施例中,第一网关设备获取第一恶意样本在第五时间段的出现次数,第一网关设备判断第一恶意样本在第五时间段的出现次数是否超过第二阈值。如果第一恶意样本在第五时间段的出现次数超过第二阈值,第一网关设备从恶意样本集合中去除第一恶意样本。其中,第二阈值小于第一阈值,第五时间段为第一网关设备获取到第一恶意样本的时刻所属的历史时间周期。
例如,网关设备处理恶意样本的时间是2020年5月1号。网关设备将恶意样本的http_url和user agent组合为http_url_user agent_black_sample。网关设备在表black_http_cc_2020_05_01中,查询http_url_user agent_black_sample对应的数量black_count。如果数量black_count超过阈值t2,则网关设备丢弃恶意样本。如果数量black_count不超过阈值t2,网关设备更新表black_http_cc_2020_05_01中http_url_useragent_black_sample对应的数量black_count为black_count+1。
其中,2020年5月1号是对历史时间周期为一天时第五时间段的举例说明。阈值t2是对第二阈值的举例说明。阈值t2例如按照经验设置,阈值t2例如为1000。数量black_count是对第一恶意样本在第五时间段的出现次数的举例说明。http_url_user agent_black_sample是对第一恶意样本的举例说明。
下面通过步骤S540,对网关设备在初始化阶段执行的步骤举例说明。通过步骤S550至步骤S570对网关设备在n次迭代中一次迭代执行的步骤举例说明。换句话说,步骤S540关于网关设备如何在初始化阶段得到来自于云端的恶意样本以及超参数,步骤S550至步骤S570关于网关设备如何在一次迭代中优化模型参数。
S540、第一网关设备接收来自于第一服务器的共享样本和检测模型的超参数。
共享样本为第一服务器提供给网关设备集合中的各个网关设备的恶意样本。共享样本例如为C&C流的元数据。例如,参见附图1或附图7,共享样本由公有云120的云端攻击知识库生产***1201生成。共享样本由公有云120的联邦学习服务器1202下发给网关设备集合中的各个网关设备。
网关设备集合中包括第一网关设备以及其他参与联邦学习的网关设备。在一些实施例中,第一服务器提供给网关设备集合中各个网关设备的共享样本是相同的。例如,网关设备集合包括网关设备1、网关设备2……网关设备i……网关设备n,第一服务器提供给网关设备1的共享样本、提供给网关设备2的共享样本、提供给网关设备n的共享样本是相同的。因此,网关设备1、网关设备2……网关设备i……网关设备n在参与模型训练时,网关设备1、网关设备2……网关设备i……网关设备n使用的共享样本是相同的。由于共享样本在模型训练时由各个网关设备共用,实现各个网关设备共享同一类恶意样本参与模型训练的功能。
云端通过将共享的恶意样本下发给网关设备,网关设备通过使用云端下发的恶意样本参与模型训练,一方面,有助于解决参与联邦学习的各个网关设备之间恶意样本不均衡的问题。例如,不同企业上的恶意样本一般会严重不均衡,导致企业的网关设备被选择为联邦学习的参与者之后会严重影响最终模型的效果。而云端通过将恶意样本下发给各个企业的网关设备,使得各个企业的网关设备均得到了来自云端的恶意样本,因此各个企业的网关设备的恶意样本会更加均衡。那么,由于不同网关设备基于更加均衡的恶意样本进行模型训练,显然有助于提高训练得到的模型模型的效果。另一方面,有助于缓解样本集合中恶意样本不足的问题,能够为检测模型的训练提供更加丰富的恶意样本。进一步地,由于通过更加丰富的恶意样本驱动模型训练,有助于提升检测模型的精确性。
超参数包括检测模型的学习率以及检测模型的初始参数。在一些实施例中,第一服务器提供给网关设备集合中各个网关设备的超参数是相同的,使得各个网关设备基于相同的超参数来训练各自的检测模型。
在一些实施例中,检测模型的初始参数和初始检测模型的初始参数是相同的。检测模型的初始参数用于生成初始检测模型。
以上通过步骤S540对模型训练的初始化阶段执行的步骤进行了说明。在一些实施例中,云端在初始化阶段下发一次共享样本,各个网关设备在本地保存云端发来的共享样本。在每一次迭代时,云端无需再次下发共享样本,各个网关设备使用预先保存的共享样本参与模型训练。
S550、第一网关设备从第一服务器获取第一模型参数。
例如,在n次迭代中的第t次迭代时,云端将检测模型在当前迭代的模型参数发送给参与联邦学习的每个网关设备。参与联邦学习的每个网关设备接收检测模型在当前迭代的模型参数其中,是对第一模型参数的举例说明。表示第t次迭代时的模型参数。其中,G例如表示权重,为第t次迭代时模型的权重。
S560、第一网关设备根据恶意样本集合、共享样本、第一模型参数和正常样本集合进行模型训练,从而得到模型训练之后的检测模型。
例如,参与联邦学习的每个网关设备使用本地的恶意样本、本地的正常样本以及云端下发的C&C流的元数据一起进行模型训练。在n次迭代中的第t次迭代时,网关设备i会更新本地的模型参数在一种可能的实现中,网关设备i通过最小化损失函数计算更新后的模型参数网关设备i将本地的模型参数更新为模型参数其中,表示网关设备i在第t次迭代时更新前的模型参数。表示网关设备i在第t次迭代时更新后的模型参数。网关设备i表示参与联邦学习的各个网关设备中的一个网关设备。网关设备i是对第一网关设备的举例说明。
S570、第一网关设备向第一服务器发送第二模型参数。
模型训练之后的检测模型具有第二模型参数。例如,在附图1所示的场景中,参与联邦学习的网关设备110得到更新后的模型参数后,网关设备110将更新后的模型参数发送给云端的联邦学习服务器1202。其中,是对第二模型参数的举例说明。
在n次迭代中,以上描述的网关设备从服务器获取模型参数、根据服务器下发的模型参数、本地的恶意样本集合、正常样本集合和共享样本进行模型训练,将训练得到的模型参数上报给服务器的步骤会一直重复执行,直至损失函数收敛或者准确率达到准确率阈值。准确率阈值例如为99%。
例如,参见附图6,附图6是对训练过程中准确率如何变化的举例说明。附图6的横坐标代表迭代的epoch(时期)。附图6的纵坐标代表准确率。附图6的曲线表示准确率与epoch之间的关系。一般情况下,准确率会随着epoch的增加而逐步递增。在一些实施例中,在模型训练过程中,准确率阈值为99%,当连续三个epoch的准确率都在99%以上时训练结束。
其中,epoch是指用训练集中的全部样本进行一次模型训练的过程。在本申请的一些实施例中,一个epoch是用恶意样本集合中的所有恶意样本以及正常样本集合中的所有正常样本训练一次检测模型的过程。例如,在检测模型是卷积神经网络的情况下,一个epoch是恶意样本集合中的所有恶意样本以及正常样本集合中的所有正常样本都在卷积神经网络中进行了一次正向传播和一次反向传播的过程。
本实施例提供的方法中,网关设备通过与服务器进行了交互,接收服务器下发的模型参数以及共享样本,网关设备使用服务器下发的模型参数、共享样本以及本地标定的恶意样本一起进行模型训练,从而提升了模型训练的效果,进而提升了训练得到的检测模型的性能。
以上对网关设备如何参与联邦学习的整体流程进行了介绍,下面对网关设备具体如何标定样本举例说明。
以下描述的附图7所示的***架构是对上述附图1所示的***架构100的举例说明。附图7不仅包含附图1所示的网关设备、公有云这两类节点,还包含标定恶意样本涉及的可选模块。
可选地,网关设备包括两个层次的威胁检测模块。参考附图7,第一层次的威胁检测模块包括规则***以及检测模型。规则***包括用于检测报文流的各种规则。规则***具体包含阻断规则(如附图7所示的HTTP C&C阻断规则1102)以及非阻断规则。第二层次的威胁检测模块包括本地威胁判定模块(如附图7所示的HTTP C&C本地威胁判定模块1103)、云端威胁判定模块、云端人工判定模块以及本地人工判定模块。
本地威胁判定模块用于供网关设备在本地对报文流进行威胁检测。例如,可选地,本地威胁判定模块用于支持网关设备执行根据概率值是否大于阈值、是否存在域名生成算法(domain generation algorithm,DGA)事件、是否存在内网暴力破解事件、是否存在敏感信息外泄事件、是否存在外网分布式拒绝服务(distributed denial of service attack,DDoS)事件来判定报文流是否是恶意报文流的步骤。
可选地,云端威胁判定模块用于请求企业私有云130对报文流进行威胁检测,从而将本地不能判定威胁的事件上送至云端进行威胁判定。例如,云端威胁判定模块用于支持网关设备执行将报文流的上下文信息发送给企业私有云130、接收企业私有云130的分析结果的步骤。
可选地,云端人工判定模块用于将报文流的信息通过网络提供给云端的运维团队,以便云端的运维团队人工对报文流进行威胁判定。
可选地,本地人工判定模块用于将报文流的信息输出给本地的运维团队,以便本地的运维团队人工对报文流进行威胁判定。
可选地,如附图7所示,***架构还包括企业私有云130。
企业私有云130用于响应云端威胁判定模块的请求,辅助网关设备进行威胁分析。具体地,当网关设备本地难以判定威胁时,网关设备会将报文流的上下文信息上送给企业私有云130,企业私有云130会对报文流进行综合分析。企业私有云130通过分析判定报文流是否是恶意报文流后,企业私有云130会将分析结果返回给网关设备。
企业私有云130例如为服务器、主机或个人计算机中的任一种。企业私有云130包括关联分析确认模块、情报关联分析模块以及人工分析确认模块。关联分析确认模块的工作原理与本地威胁判定模块类似。情报关联分析模块用于借助威胁情报对报文流进行威胁判定。人工分析确认模块用于将报文流的信息提供给运维团队,由运维团队人工对报文流威胁判定。
可选地,企业私有云130与全球威胁情报中心1203以及APT高级威胁检测云服务1204之间通过无线网络或有线网络相连。全球威胁情报中心1203用于提供威胁情报。企业私有云130通过访问全球威胁情报中心1203,得到全球威胁情报中心1203提供的威胁情报。
可选地,APT高级威胁检测云服务1204用于检测APT高级威胁。企业私有云130能请求APT高级威胁检测云服务1204进一步检测报文流。
值得说明的一点是,附图7所示的***100是对企业私有云130与网关设备110分离设置的举例说明。在另一些实施例中,企业私有云130与网关设备110物理上集成在一起,企业私有云130与网关设备110设置在同一硬件设备中。在企业私有云130与网关设备110集成时,企业私有云130包含的各个功能模块以及网关设备110包含的各个功能模块设置在同一硬件设备中。该硬件设备实现网关设备110对应的功能以及企业私有云130对应的功能,例如实现本地威胁判定模块对应的功能以及情报关联分析模块对应的功能。
以上结合附图7介绍了一些标定恶意样本涉及的可选模块和架构,以下对基于附图7所示架构标定恶意样本的方法流程举例说明。
在一些实施例中,第一网关设备标定恶意样本的具体实现方式包括以下方式一至方式三。换句话说,方式一至方式三描述了第一网关设备如何利用附图7所示架构标定恶意样本,从而利用恶意样本参与联邦学习。
方式一、第一网关设备基于阻断规则获取恶意样本。
阻断规则用于阻断恶意报文流。在一些实施例中,阻断规则指示恶意报文流与丢弃动作之间的对应关系。当报文流命中阻断规则时,表明报文流为恶意报文流,第一网关设备会按照阻断规则指示的丢弃动作,丢弃恶意报文流。因此,恶意报文流会在第一网关设备处传输中断,从而实现恶意报文流的阻断。
在一些实施例中,报文流命中阻断规则为报文流的元数据与阻断规则中的元数据满足匹配条件。例如,阻断规则包括条目A和条目B这两个条目。条目A包括恶意报文流的元数据,例如互联网协议(internet protocol,IP)地址。条目B包括丢弃动作的标识(如“drop”、“deny”等)。第一网关设备会对报文流的元数据与条目A中元数据进行匹配,从而判断报文流的元数据与阻断规则中的元数据是否满足匹配条件。
其中,满足匹配条件包括多种情况。例如,满足匹配条件是指报文流的元数据与阻断规则中的元数据严格匹配,即报文流的元数据与阻断规则中的元数据相同。又如,满足匹配条件是指报文流的元数据与阻断规则中的元数据最长匹配。
本实施例对第一网关设备如何获得阻断规则不做限定。在一些实施例中,阻断规则预先保存在第一网关设备的存储器中。在另一些实施例中,阻断规则由服务器(如私有云服务器)下发给第一网关设备。
以针对第一报文流使用方式一为例,若第一报文流命中阻断规则,第一网关设备将第一报文流的元数据确定为恶意样本。其中,第一报文流为至少一条报文流中的一条报文流。例如,参见附图7,报文流进入网关设备后,如果报文流命中了HTTP C&C的阻断规则1102,则网关设备将报文流对应的元数据加入至恶意样本集合。其中,HTTP C&C的阻断规则1102是对阻断规则的举例说明。
上述方式一提供了一种标定网关设备上恶意样本的技术手段。由于网关设备借助阻断规则从自身传输的报文流获取恶意样本,降低了获取恶意样本的复杂度,有助于恶意样本集合中的恶意样本更加丰富。进一步地,由于为训练检测模型的工作提供了更加丰富的恶意样本,有助于通过更加丰富的恶意样本驱动模型训练,从而有助于提升检测模型的精确性。
方式二、第一网关设备基于模型训练之前的检测模型以及本地分析获取恶意样本。
在一些实施例中,第一网关设备每次进行模型训练时,通过本次模型训练之前的检测模型获取本次模型训练所需的恶意样本。
例如,联邦学习总共包括四次模型训练。第一网关设备在检测模型0的基础上第一次执行模型训练,使得检测模型0更新为检测模型1;第一网关设备在检测模型1的基础上第二次执行模型训练,使得检测模型1更新为检测模型2;第一网关设备在检测模型2的基础上第三次执行模型训练,使得检测模型2更新为检测模型3;第一网关设备在检测模型3的基础上第四次执行模型训练,使得检测模型3更新为检测模型4。
在这个场景中,例如,第一网关设备通过检测模型0标定恶意样本0,再根据恶意样本0第一次执行模型训练;第一网关设备通过检测模型1标定恶意样本1,再根据恶意样本1第二次执行模型训练;第一网关设备通过检测模型2标定恶意样本2,再根据恶意样本2第三次执行模型训练;第一网关设备通过检测模型3标定恶意样本3,再根据恶意样本3第四次执行模型训练。
其中,检测模型0是对初始检测模型的举例说明,恶意样本0例如通过检测模型0的输出结果确定。检测模型1是对第二次执行模型训练之前的检测模型的举例说明,恶意样本1例如通过检测模型1的输出结果确定。检测模型2是对第三次执行模型训练之前的检测模型的举例说明,恶意样本2例如通过检测模型2的输出结果确定。检测模型3是对第四次执行模型训练之前的检测模型的举例说明,恶意样本3例如通过检测模型3的输出结果确定。
其中,初始检测模型是指第一网关设备第一次执行模型训练时,模型训练之前的检测模型。一次模型训练的过程请参考上述S560等步骤的描述。初始检测模型与下述步骤得到的检测模型具有相同的网络架构,网络架构如模型具有哪些层以及不同层之间的连接关系。初始检测模型与下述步骤得到的检测模型的模型参数可能具有区别,例如卷积核的权重可能不同。
在一些实施例中,初始检测模型的输出结果指示概率值。概率值表示第二报文流是恶意报文流的可能性,概率值越大,表示第二报文流是恶意报文流的可能性越大。通过概率值与阈值之间的数量关系,能够指明第二报文流是否是恶意报文流或者可疑报文流。例如,如果概率值小于阈值A,指示第二报文流是正常报文流;如果概率值大于或等于阈值A且小于阈值B,指示第二报文流是可疑报文流;如果概率值大于阈值B,指示第二报文流是恶意报文流。其中,阈值B大于阈值A。例如,阈值B为0.85,阈值A为0.5。
本地分析是指由第一网关设备对报文流进行分析的技术手段。在一些实施例中,第一网关设备在通过模型训练之前的检测模型发现可疑报文流的情况下,对可疑报文流继续进行本地分析,从而判定可疑报文流的元数据是否是恶意样本。
以针对第二报文流使用方式二为例,例如,若第二报文流未命中阻断规则,第一网关设备将第二报文流的元数据输入模型训练之前的检测模型;若模型训练之前的检测模型的输出结果指示第二报文流是可疑报文流,第一网关设备对第二报文流进行分析;若通过分析确定第二报文流是恶意报文流,第一网关设备将第二报文流的元数据确定为恶意样本。
报文流未命中阻断规则例如为报文流的元数据与阻断规则中的元数据不满足匹配条件。阻断规则以及匹配条件的介绍请参考上述方式一。
例如,参见附图8,如果报文流没有命中HTTP C&C的阻断规则1103,网关设备将HTTP元数据输入HTTP C&C的CNN模型。CNN模型会根据输入的HTTP元数据预测报文流是恶意报文流的概率值;如果CNN模型预测的概率值大于阈值,CNN模型上报可疑HTTP C&C事件;网关设备响应于可疑HTTP C&C事件,执行附图8所示的分析方法。
上述方式二提供了一种标定网关设备上恶意样本的技术手段。网关设备由于在报文流未命中阻断规则的情况下,结合模型以及本地分析这两种手段共同标定恶意样本,提高了恶意样本的精确度。
第一网关设备如何进行本地分析包括多种具体实现方式。下面通过方式(2-A)至方式(2-D)对本地分析的方式举例说明。
方式(2-A)第一网关设备根据模型训练之前的检测模型以及阈值进行本地分析。
具体地,若模型训练之前的检测模型的输出结果指示第二报文流是恶意报文流的概率值大于阈值,第一网关设备确定第二报文流是恶意报文流。例如,参见附图8,报文流进入CNN模型后,如果CNN模型预测的概率值超过0.85,CNN模型会上报威胁事件,报文流的元数据会进入恶意样本集合。其中,0.85是对阈值的举例说明。
方式(2-B)第一网关设备基于是否存在DGA事件进行本地分析。
具体地,第一网关设备判断是否存在第一时间段内生成的DGA事件;若存在第一时间段内生成的DGA事件,第一网关设备确定第二报文流是恶意报文流。
其中,第一时间段为以第一网关设备获取到第二报文流的时刻为结束点的历史时间段。例如,第一时间段为时长为5分钟的时间窗,该5分钟的时间窗的结束点为获取到第二报文流的时刻。DGA事件指示发生了第一主机访问DGA域名的行为。DGA事件中包括的事件源为第一主机。第一主机为第二报文流的源主机。例如,第二报文流的源IP地址为第一主机。DGA域名是指使用DGA算法生成的随机域名。DGA域名常用于触发僵尸网络或C&C等网络攻击行为。
例如,参见附图8,报文流的元数据进入网关设备后,网关设备会判断5分钟时间窗内主机(报文流的源主机)是否出现DGA事件;如果5分钟时间窗内主机出现DGA事件,则网关设备会判定存在威胁事件,网关设备将报文流的元数据加入恶意样本集合。
第一网关设备如何判断是否存在DGA事件包括多种方式。例如,第一网关设备在传输报文流的过程中,建立并保存访问记录。第一网关设备在进行本地分析时,查询访问记录。如果访问记录中记录有第一时间段内生成的DGA事件,则第一网关设备确定存在DGA事件。其中,访问记录用于指示报文流、攻击事件与攻击事件的生成时间之间的对应关系。例如,访问记录包括报文流的元数据、攻击事件的标识以及攻击事件的生成时间,第一网关设备以第二报文流的元数据以及第二时间段查询访问记录。
方式(2-C)第一网关设备基于是否存在内网暴力破解事件、敏感信息外泄事件或者外网DDoS事件进行本地分析。
具体地,第一网关设备判断是否存在第二时间段内生成的内网暴力破解事件、敏感信息外泄事件或者外网DDoS事件。若存在第二时间段内生成的内网暴力破解事件,第一网关设备确定第二报文流是恶意报文流;或者,若存在第二时间段内生成的敏感信息外泄事件,第一网关设备确定第二报文流是恶意报文流;或者,若存在第二时间段内生成的外网DDoS事件,第一网关设备确定第二报文流是恶意报文流。
其中,第二时间段为以第一网关设备获取到第二报文流的时刻为结束点的历史时间段。例如,第二时间段为时长为1天的时间窗,该时间窗的结束点为获取到第二报文流的时刻。
内网暴力破解事件指示发生了以第一主机所在的内网为目标的暴力破解攻击。敏感信息外泄事件指示发生了第一主机上的敏感信息被发送至外网的行为。第一主机上的敏感信息例如为用户名、密码等。外网DDoS事件指示发生了第一主机所在的内网对外网发起的DDoS攻击。第一主机为第二报文流的源主机。
例如,参见附图8,报文流的元数据进入网关设备后,网关设备会判断1天时间内主机(报文流的源主机)是否出现内网暴力破解事件、敏感信息外泄事件或者外网DDoS事件;如果1天时间内主机出现内网暴力破解事件、敏感信息外泄事件或者外网DDoS事件,则网关设备会判定存在威胁事件,网关设备将报文流的元数据加入至恶意样本集合。
方式(2-D)第一网关设备基于模型训练之前的检测模型的输出结果是否呈现周期性进行本地分析。
具体地,第一网关设备获取第三时间段内模型训练之前的检测模型针对目标报文流的元数据的输出结果,若第三时间段内模型训练之前的检测模型针对目标报文流的元数据的输出结果呈现周期性,第一网关设备确定第二报文流是恶意报文流。
其中,第三时间段为以第一网关设备获取到第二报文流的时刻为结束点的历史时间段。例如,第三时间段为时长为1天的时间窗,该时间窗的结束点为获取到第二报文流的时刻。目标报文流包括以第一主机为源主机的至少一个报文流。第一主机为第二报文流的源主机。
例如,参见附图8,报文流的元数据进入网关设备后,网关设备会判断CNN模型在1天时间内为主机(报文流的源主机)上报的HTTP C&C事件是否呈现周期性;如果CNN模型在1天时间内为主机上报的HTTP C&C事件呈现周期性,则网关设备会判定存在威胁事件,并将报文流的元数据加入恶意样本集合。
上述方式(2-A)至方式(2-D)为网关设备如何通过本地分析标定恶意样本提供了多种技术手段,有助于解决恶意样本难以获取的问题,帮助收集更多高质量的恶意样本。
在一些实施例中,上述方式(2-A)至方式(2-D)所示的四种分析方式结合使用。例如,方式(2-A)至方式(2-D)所示四种分析方式中任一种分析方式指示第二报文流是恶意报文流时,第一网关设备将第二报文流的元数据确定为恶意样本。换句话说,方式(2-A)至方式(2-D)表达的四种判断条件以或的关系结合。上述方式(2-A)至方式(2-D)结合使用的方式可称为关联分析。
以上通过方式二介绍了第一网关设备如何进行本地分析。在一些实施例中,如果第一网关设备通过本地分析确定报文流不是恶意报文流,由运维人员对报文流采用人工分析的方式进一步分析。例如,第一网关设备提供全球广域网(world wide web,web)访问接口。如果分析出一条报文流不是恶意报文流,第一网关设备将报文流的元数据通过web访问接口提供给运维人员。运维人员对报文流进行人工分析。如果人工分析的结果为报文流是恶意报文流,第一网关设备将报文流的元数据加入恶意样本集合。如果人工分析的结果为报文流是正常报文流,第一网关设备将报文流的元数据加入正常样本集合。
在一些实施例中,第一网关设备还利用模型训练之前的检测模型来标定正常样本。例如,若报文流未命中阻断规则,第一网关设备将报文流的元数据输入模型训练之前的检测模型;若模型训练之前的检测模型的输出结果指示报文流不是可疑报文流,第一网关设备将报文流的元数据确定为正常样本。
例如,参见附图8,如果报文流没有命中HTTP C&C的阻断规则1102,网关设备将HTTP元数据输入HTTP C&C的CNN模型。CNN模型会根据输入的HTTP元数据预测报文流是恶意报文流的概率值;如果CNN模型预测的概率值小于阈值,CNN模型未上报可疑HTTP C&C事件,则这条报文流的元数据会加入至正常样本集合。
方式三、第一网关设备请求云端威胁分析从而得到恶意样本。
例如,参见附图7,如果报文流没有命中HTTP C&C的阻断规则1102,网关设备在难以确定报文流是否是恶意报文流的情况下,网关设备110将报文流的上下文信息上送给企业私有云130并请求企业私有云130进行威胁分析。响应于网关设备110的请求,企业私有云130根据报文流的上下文信息进行威胁分析。企业私有云130判定报文流为恶意报文流还是正常报文流,得到分析结果。企业私有云130将分析结果返回给网关设备110。网关设备110接收到来自于企业私有云130的分析结果之后,网关设备110会根据企业私有云130的分析结果判断报文流是恶意报文流还是正常报文流。如果网关设备110根据企业私有云130的分析结果发现报文流是恶意报文流,网关设备110会将恶意报文流的元数据加入至恶意样本集合。如果网关设备110根据企业私有云130的分析结果发现报文流是正常报文流,网关设备110会将正常报文流的元数据加入至正常样本集合。
具体地,若第三报文流未命中阻断规则且通过分析确定第三报文流不是恶意报文流,第一网关设备将第三报文流的上下文信息发送至第二服务器;第二服务器接收来自于第一网关设备的第三报文流的上下文信息;第二服务器根据上下文信息进行分析,得到分析结果;第二服务器向第一网关设备发送分析结果。第一网关设备接收来自于第二服务器的根据上下文信息得到的分析结果;若分析结果指示第三报文流是恶意报文流,第一网关设备将第三报文流的元数据确定为恶意样本。
第三报文流是第一网关设备获取的至少一条报文流中的一条报文流。上下文信息包括第三报文流的元数据或者第三报文流的数据包捕获(packet capture,PCAP)报文中的至少一项。
分析结果用于指示第三报文流是否为恶意报文流。例如,分析结果包括两种取值,一种取值指示第三报文流为恶意报文流,另一种取值指示第三报文流不为恶意报文流。
云端如何分析报文流是否是恶意报文流包括多种方式。在一些实施例中,云端借助威胁情报对报文流进行分析。
其中,威胁情报是关于互联网技术(internet technology,IT)或信息资产所面临的现有或潜在威胁的循证知识。威胁情报的内容包括恶意IP地址、正常IP地址、恶意域名、恶意文件标识中的至少一项。恶意IP地址和正常IP地址是两类IP地址。恶意IP地址的使用者执行了网络攻击等危害业务的恶意行为。恶意IP地址也称黑IP。正常IP地址是指正常用户使用的IP地址。正常IP地址也称白IP。恶意域名用于进行网络攻击行为。例如,恶意域名为恶意软件(如挖矿病毒、僵尸网络、勒索病毒等)实现被控制终端与控制服务器之间保持通信的域名。恶意文件标识用于标识恶意文件。例如,恶意文件标识为恶意文件的信息摘要算法(message-digest algorithm,MD5)码。
下面以云端为第二服务器为例,通过方式(3-A)至方式(3-C)对云端如何借助威胁情报进行分析举例说明。
方式(3-A)云端基于包含恶意IP地址的威胁情报分析。
例如,若第三报文流未命中阻断规则且通过分析确定第三报文流不是恶意报文流,第二服务器根据第三报文流包括的目的IP地址或第三报文流包括的源IP地址,查询第一威胁情报;若目的IP地址或源IP地址命中第一威胁情报中的恶意IP地址,第二服务器将第三报文流是恶意报文流作为分析结果。若目的IP地址或源IP地址命中第一威胁情报中的正常IP地址,第二服务器将第三报文流不是恶意报文流作为分析结果。
其中,第一威胁情报包括至少一个恶意IP地址以及至少一个正常IP地址。
方式(3-B)云端基于包含恶意域名的威胁情报分析。
具体地,若第三报文流未命中阻断规则且通过分析确定第三报文流不是恶意报文流,第二服务器根据第三报文流对应的目标域名,查询第二威胁情报;若目标域名命中第二威胁情报中的恶意域名,第二服务器将第三报文流是恶意报文流作为分析结果。若目标域名命中第二威胁情报中的正常域名,第二服务器将第三报文流不是恶意报文流作为分析结果。其中,第二威胁情报包括至少一个恶意域名以及至少一个正常域名。恶意域名也称黑域名,正常域名也称白域名。目标域名为第三报文流请求访问的域名。
方式(3-C)云端基于包含恶意文件标识的威胁情报分析。
具体地,若第三报文流未命中阻断规则且通过分析确定第三报文流不是恶意报文流,第二服务器根据第三报文流对应的文件标识,查询第三威胁情报;若文件标识命中第三威胁情报中的恶意文件标识,第二服务器将第三报文流是恶意报文流作为分析结果。其中,第三威胁情报包括至少一个恶意文件标识。
在一些实施例中,云端不仅借助威胁情报对报文流进行分析,还采用与网关设备本地分析类似的方式对报文流进一步分析。例如,参见附图9,云端分析的过程具体包括下述方式(3-1)至方式(3-7)。
方式(3-1)云端查询报文流对应的威胁情报,如果通过查询威胁情报发现报文流是恶意报文流,则云端将报文流是恶意报文流作为分析结果。方式(3-1)的具体实现方式请参考上述方式(3-A)至方式(3-C)。
方式(3-2)云端判断一天时间内主机(报文流的源主机)是否具有文件下载行为;如果一天时间内主机具有文件下载行为,云端从报文流中获取主机下载的文件;云端将文件送入云沙箱,通过云沙箱运行文件。如果云沙箱将文件判定为恶意文件,云端确定存在威胁事件,云端将报文流是恶意报文流作为分析结果。
方式(3-3)云端判断一天时间内报文流的源主机是否收到过钓鱼邮件;如果一天时间内报文流的源主机收到过钓鱼邮件,云端确定存在威胁事件,云端将报文流是恶意报文流作为分析结果。
方式(3-4)云端判断一周时间内报文流的源主机是否存在内网暴力破解事件、敏感信息外泄事件或者外网DDoS事件;如果一周时间内报文流的源主机存在内网暴力破解事件、敏感信息外泄事件或者外网DDoS事件,云端确定存在威胁事件,云端将报文流是恶意报文流作为分析结果。
方式(3-5)云端判断一周时间内CNN模型为报文流的源主机上报的HTTP C&C事件是否呈现周期性;如果一周时间内CNN模型为报文流的源主机上报的HTTP C&C事件呈现周期性,云端确定存在威胁事件,云端将报文流是恶意报文流作为分析结果。其中,方式(3-5)与上述方式(2-D)同理。
方式(3-6)云端判断包含报文流的多流AI模型是否上报威胁事件,如果多流AI模型上报威胁事件,则云端确定存在威胁事件,云端将报文流是恶意报文流作为分析结果。
方式(3-7)云端的运维团队对报文流进行人工分析。如果运维团队人工分析出报文流是恶意报文流,云端将报文流是恶意报文流作为分析结果。
在一些实施例中,上述方式(3-1)至方式(3-7)结合使用。例如,如果威胁等级高于阈值,当方式(3-1)至方式(3-7)中任一种方式指示报文流是恶意报文流时,第一网关设备将报文流的元数据确定为恶意样本。如果威胁等级低于阈值,当方式(3-1)至方式(3-7)中存在多种方式均指示报文流是恶意报文流时,第一网关设备将报文流的元数据确定为恶意样本。换句话说,方式(3-1)至方式(3-7)所示的7种条件以或的关系结合还是以且的关系结合根据威胁等级的高低确定,本实施例对此不做限定。
以上方式(3-1)至方式(3-7)为云端如何分析提供了多种实现方式。云端由于综合多种方式进行威胁判定,有助于提高确定出的恶意样本的精确性。
以上通过方式三介绍了云端威胁分析的过程。如果云端根据报文流判定出现威胁事件,报文流的元数据会进入恶意样本集合。如果方式(3-7)中的云端的运维团队人工分析出报文流是正常访问的报文流,报文流的元数据会进入正常样本集合。
在另一些实施例中,借助威胁情报进行分析的动作由网关设备本地执行。例如,网关设备与私有云服务器物理上集成在一起,网关设备具备查询威胁情报所需的性能以及存储容量,网关设备取代云端基于威胁情报进行恶意样本的标定。下面通过方式(3-a)至方式(3-c)对网关设备如何借助威胁情报进行分析举例说明。
方式(3-a)网关设备基于包含恶意IP地址的威胁情报分析。
例如,若第三报文流未命中阻断规则且通过分析确定第三报文流不是恶意报文流,第一网关设备根据第三报文流包括的目的IP地址或第三报文流包括的源IP地址,查询第一威胁情报;若第三报文流包括的目的IP地址或第三报文流包括的源IP地址命中第一威胁情报中的恶意IP地址,第一网关设备将第三报文流的元数据确定为恶意样本。
方式(3-b)网关设备基于包含恶意域名的威胁情报分析。
若第三报文流未命中阻断规则且通过分析确定第三报文流不是恶意报文流,第一网关设备根据第三报文流对应的目标域名,查询第二威胁情报;若第三报文流对应的目标域名命中第二威胁情报中的恶意域名,第一网关设备将第三报文流的元数据确定为恶意样本。目标域名为第三报文流请求访问的域名,第二威胁情报包括至少一个恶意域名。
方式(3-c)网关设备基于包含恶意文件标识的威胁情报分析。
若第三报文流未命中阻断规则且通过分析确定第三报文流不是恶意报文流,第一网关设备根据第三报文流对应的文件标识,查询第三威胁情报;若第三报文流对应的文件标识命中第三威胁情报中的恶意文件标识,第一网关设备将第三报文流的元数据确定为恶意样本。其中,文件标识用于标识第三报文流包括的文件,第三威胁情报包括至少一个恶意文件标识。
在一些实施例中,上述方式一至方式三结合使用。可选地,方式一至方式三中两种或两种以上方式以或的关系结合。或者,可选地,方式一至方式三中两种或两种以上方式以且的关系结合。本实施例对这三种方式如何结合不做限定。以方式一和方式二以且的关系结合为例,例如,第一网关设备基于阻断规则、模型训练之前的检测模型以及本地分析获取恶意样本。
以上通过方法500从网关设备一侧对技术方案举例说明。以下通过方法600从服务器一侧对技术方案举例说明。换句话说,方法600关于服务器如何对参与联邦学习的网关设备上的模型参数进行汇聚。其中,方法600主要描述两个网关设备参与联邦学习时服务器执行的流程,体现服务器如何对两个网关设备上报的模型参数进行汇聚。在更多数量的网关设备参与联邦学习时,服务器执行的方法与此同理。
参见附图10,附图10为本申请实施例提供的一种检测模型的训练方法600的流程图。
示例性地,方法600包括S610至S660。
S610、第一服务器生成共享样本。
在一些实施例中,共享样本是通过沙箱生成的。例如,第一服务器在沙箱中运行恶意文件,得到至少一个PCAP报文;第一服务器根据至少一个PCAP报文,生成共享样本。例如,参见附图1或附图7,针对C&C报文流,攻击知识库生产***1201从恶意报文流中挑选恶意PE样本。攻击知识库生产***1201使用沙箱培植***执行恶意PE样本,得到PCAP报文;攻击知识库生产***1201将PCAP报文组成C&C报文流;在另一些实施例中,共享样本从友好企业中收集。例如,第一服务器从友好企业中收集的HTTP C&C威胁事件产生的数据,得到共享样本。
S620、第一服务器确定参与联邦学习的网关设备集合。
第一服务器将一些网关设备确定为联邦学习的参与者,调度这些网关设备进行模型训练。
第一服务器确定哪些网关设备参与联邦学习包括多种实现方式。在一些实施例中,第一服务器根据每个网关设备的计算能力、资源状态、通信带宽或数据质量中的至少一项,确定参与联邦学习的网关设备。例如,第一服务器根据模型训练对计算能力的需求,确定计算能力满足需求的网关设备。又如,第一服务器根据每个网关设备的资源利用率,确定资源利用率低于利用率阈值的网关设备。又如,第一服务器根据每个网关设备的通信带宽,确定通信带宽大于带宽阈值的网关设备。又如,第一服务器根据每个网关设备的数据质量,确定数据质量高于质量阈值的网关设备。
S630、第一服务器向网关设备集合中的至少一个网关设备发送超参数以及共享样本。
例如,第一服务器定时(例如设置每个月一次)开启模型训练任务,将检测模型的超参数以及共享样本下发到选择的网关设备中。
其中,共享样本为服务器提供给网关设备集合中的各个网关设备的恶意样本,超参数包括初始参数以及学习率。
初始参数是第一检测模型以及第二检测模型的初始参数。学习率是第一检测模型以及第二检测模型的学习率。第一检测模型是指第一网关设备训练和应用的检测模型。第一检测模型用于对通过第一网关设备传输的报文流是否具有恶意性进行检测。第二检测模型是指第二网关设备训练和应用的检测模型。第二检测模型用于对通过第二网关设备传输的报文流是否具有恶意性进行检测。第一检测模型和第二检测模型具有相同的初始参数。例如,第一检测模型和第二检测模型具有相同的学习率。
S640、第一服务器接收来自于网关设备集合中的第一网关设备的第一模型参数,以及来自于网关设备集合中的第二网关设备的第二模型参数。
其中,网关设备集合包括第一网关设备和第二网关设备,可选地网关设备集合还包括除了第一网关设备、第二网关设备之外的其他网关设备。第一模型参数是第一检测模型的参数。第二模型参数是第二检测模型的参数。可选地,第一模型参数是第一检测模型的梯度值。第二模型参数是第二检测模型的梯度值。
S650、第一服务器根据第一模型参数和第二模型参数进行汇聚处理,得到第三模型参数。
在一些实施例中,汇聚处理的过程包括以下步骤一至步骤三。
步骤一、第一服务器获取第一模型参数、第二模型参数的平均值。
步骤二、第一服务器根据平均值以及学习率,获取模型参数的变化量。
例如,模型参数的变化量为模型参数的平均值与学习率的乘积。
步骤三、第一服务器根据变化量对历史模型参数进行更新,得到第三模型参数。
例如,第一服务器计算历史模型参数与模型参数的变化量之间的差值,将该差值作为第三模型参数。第三模型参数是历史模型参数与变化量之间的差值。历史模型参数是第一服务器在接收到第一模型参数和第二模型参数之前向网关设备集合中至少一个网关设备发送的模型参数。
S660、第一服务器向网关设备集合中的至少一个网关设备发送第三模型参数。
可选地,第一服务器向第一网关设备或者第二网关设备中的至少一项发送第三模型参数;或者,第一服务器向第一网关设备和第二网关设备之外其他的一个或多个网关设备发送第三模型参数。或者,第一服务器向网关设备集合中的全部网关设备发送第三模型参数。
以上步骤S640至步骤S660以两个网关设备参与联邦学习的情况为例,对服务器如何汇聚两个网关设备上报的模型参数举例说明。依次类推,上述步骤描述的方法流程能够应用在对更多数量的网关设备上报的模型参数进行汇聚的场景。下面对服务器如何汇聚n个网关设备上报的模型参数举例说明。其中,n为大于或等于2的正整数。
例如,在n次迭代中的第t次迭代时,当n个参与联邦学习的网关设备向服务器上报本地的模型参数后,服务器对n个网关设备上报的模型参数进行汇聚处理。具体地,服务器基于下述公式(2)和公式(3),计算最小化本地损失函数,得到更新后的模型参数然后,服务器将更新后的模型参数发送至n个网关设备,使得参与联邦学习的每个网关设备上的模型参数得到更新。
其中,wt+1表示对第t次迭代时汇聚处理得到的模型参数,或者说第t次迭代得到的更新后的模型参数。wt表示对第t次迭代时使用的历史模型参数。wt例如是第(t-1)次迭代时向网关设备发送的模型参数。为第t次迭代时模型参数的变化量。η表示学***均值。n表示参与联邦学***均梯度。 表示求梯度。L表示损失函数。表示第t次迭代时的模型参数。表示网关设备i在第t次迭代时更新前的模型参数。此外,公式(2)和公式(3)中公式(2)和公式(3)是对基于固定学习率的分布式梯度下降算法来更新模型参数的举例说明。公式(2)和公式(3)假设参与联邦学习的不同网关设备拥有的样本符合IID条件,参与联邦学习的不同网关设备拥有检测模型的初始参数,且参与联邦学习的每个网关设备了解优化器(如分布式梯度下降算法)的设定。
在n次迭代中,以上描述的接收各个网关设备发送的模型参数、对各个网关设备上的模型参数进行汇聚,将汇聚后的模型参数下发给各个网关设备的步骤会一直重复执行,直至损失函数收敛或者准确率达到准确率阈值。
本实施例提供的方法中,服务器通过接收各个网关设备上传的模型参数,对各个网关设备上传的模型参数进行汇聚处理,将汇聚处理后的模型参数下发给各个网关设备,以便网关设备利用汇聚处理后的模型参数进行模型训练,从而提升了网关设备模型训练的效果,进而提升了训练得到的检测模型的性能。
以上通过方法500和方法600介绍了模型训练侧的方法,以下对模型应用侧的方法进行介绍。
本实施例提供的检测模型用于网关设备对后续通过网关设备传输的报文流是否具有恶意性进行检测。例如,第一网关设备训练得到第一检测模型后,第一网关设备在保存第一检测模型。当第一网络设备后续接收到报文流时,第一网关设备提取报文流的元数据;第一网络设备将报文流的元数据输入第一检测模型,通过第一检测模型对报文流的元数据进行处理,输出报文流的类型或者报文流是恶意报文流的概率值。如果报文流的类型是恶意报文流或者报文流是恶意报文流的概率值大于阈值,第一网关设备判定报文流是恶意报文流。如果报文流的类型是正常报文流或者报文流是恶意报文流的概率值小于阈值,第一网关设备判定报文流是正常报文流。
下面,以检测模型为CNN模型为例,对具体如何应用检测模型检测报文流举例说明。
例如,参见附图11,网关设备应用CNN模型检测报文流的过程700包括以下步骤S710至步骤S760。其中,步骤S710至步骤S720关于网关设备如何对输入数据预处理。网关设备通过步骤S710至步骤S720,能够将报文流的元数据的数据形式从字符串转换为矩阵,方便检测模型的卷积层对矩阵形式的元数据进行处理。步骤S710至步骤S720关于CNN模型内部的各个层对元数据依次执行的各种处理动作。可选地,步骤S710至步骤S720通过检测模型内置的某个层执行。或者,步骤S710至步骤S720通过与检测模型分离设置的预处理模块执行。
步骤S710、网关设备使用分割符号,对报文流的HTTP元数据进行单词分割,从而得到HTTP元数据包含的多个单词。
例如,分隔符号包含:‘(’,‘)’,‘{’,‘}’,‘/’,‘\’,‘@’,‘=’等。例如,报文流的HTTP元数据为http://test.com/path/file?key=pasword&get=exploit.js,通过分割符号对HTTP元数据分割后,得到http test com path file key paS6word get exploit js。其中,http、test、com、path、file、key、paS6word、get、exploit、js均是对分割得到的单词的举例说明。
步骤S720、网关设备通过用来产生词向量的模型(word to vector,Word2vec)对各个单词分别向量化,从而得到矩阵。
矩阵包括多行。矩阵的每一行为一个向量,每个向量表示一个单词。
在一些实施例中,矩阵的行数预先设定为n。如果得到的单词数量超过n个,网关设备从得到的所有单词中选取前n个单词,网关设备对前n个单词分别向量化,从而得到n行的矩阵;如果得到的单词数量小于n个,网关设备对得到的全部单词分别向量化并进行补0,从而得到矩阵。例如,网关设备对http、test、com、path、file、key、paS6word、get、exploit、js分别向量化后,得到的矩阵包括n行d维。矩阵的第1行为表示http的d维向量;矩阵的第2行为表示test的d维向量;矩阵的第3行为表示com的d维向量,依次类推,矩阵的倒数第2行为表示exploit的d维向量,矩阵的最后1行为表示js的d维向量。
例如,参见附图11,网关设备执行步骤S720后得到矩阵Rn*d。矩阵Rn*d为n行d维的矩阵。d表示向量的维数。n表示矩阵的行数。
步骤S730、网关设备通过CNN模型的卷积层对矩阵进行卷积处理,得到报文流特征。
报文流特征为报文流的元数据指示的特征。报文流特征的形式例如为向量或者矩阵。
CNN模型的卷积层包括多个过滤器。每个过滤器的权重为一个矩阵。过滤器对应的矩阵的维数和步骤S720得到的矩阵的维数相同。例如,过滤器的权重为矩阵Rt*d。矩阵Rt*d是t行d维的矩阵。t=3。卷积层包括的过滤器的数量例如为50。
步骤S740、网关设备通过CNN模型的池化层对报文流特征进行最大池化处理,得到池化后的特征。
步骤S750、网关设备通过CNN模型的全连接层对报文流特征进行线性映射和非线性映射,得到映射后的特征。
例如,线性映射和非线性映射通过线性整流函数(rectified linear unit,ReLU)或者其他激活函数实现。
步骤S760、网关设备通过CNN模型的输出层对映射后的特征进行分类,输出报文流的类型,报文流的类型为恶意报文流或者正常报文流。
以上介绍了本申请实施例的方法实施例,以下从逻辑功能的角度介绍本申请实施例的网关设备和服务器。
以下介绍的网关设备800具有上述方法500中第一网关设备的任意功能。
附图12示出了上述实施例中所涉及的第一网关设备的一种可能的结构示意图。附图12所示的网关设备800例如实现方法500中第一网关设备的功能。
请参考附图12,网关设备800包括获取模块801、训练模块802和发送模块803。网关设备800中的各个模块全部或部分地通过软件、硬件、固件或者其任意组合来实现。网关设备800中的各个模块用于执行上述方法500中第一网络设备的相应功能。具体地,获取模块801用于支持网关设备800执行S510、S520、S550。训练模块802用于支持网关设备800执行S560。发送模块803用于支持网关设备800执行S570。
本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可选地有另外的划分方式。
在一些实施例中,网关设备800中各个模块集成在一个模块中。例如,网关设备800中各个模块集成在同一个芯片上。该芯片包括处理电路和与该处理电路内部连接通信的输入接口以及输出接口。训练模块802通过芯片中的处理电路实现。获取模块801通过芯片中的输入接口实现。发送模块803通过芯片中的输出接口实现。例如,该芯片通过一个或多个现场可编程门阵列(英文全称:field-programmable gate array,英文简称:FPGA)、可编程逻辑器件(英文全称:programmable logic device,英文简称:PLD)、控制器、状态机、门逻辑、分立硬件部件、任何其它适合的电路、或者能够执行本申请通篇所描述的各种功能的电路的任意组合实现。
在另一些实施例中,网关设备800各个模块单独物理存在。在另一些实施例中,网关设备800一部分模块单独物理存在,另一部分模块集成在一个模块中。
在网关设备800中通过硬件实现的情况下,网关设备800中训练模块802例如通过设备200中的处理器201实现。网关设备800中获取模块801、发送模块803例如通过设备200中的网络接口204实现。
在网关设备800中通过软件实现的情况下,网关设备800中各个模块例如为设备200中的处理器201读取存储器203中存储的程序代码210后生成的软件。例如,网关设备800为虚拟化设备。虚拟化设备包括而不限于虚拟机、容器、Pod中的至少一种。在一些实施例中,网关设备800以虚拟机的形式,部署在硬件设备(如物理服务器)上。例如,基于通用的物理服务器结合网络功能虚拟化(Network Functions Virtualization,NFV)技术来实现网关设备800。采用虚拟机的方式实现时,网关设备800例如为虚拟主机、虚拟路由器或虚拟交换机。本领域技术人员通过阅读本申请即可结合NFV技术在通用物理服务器上虚拟出网关设备800。在另一些实施例中,网关设备800以容器(例如docker容器)的形式,部署在硬件设备上。例如,网关设备800执行上述方法实施例的流程被封装在镜像文件中,硬件设备通过运行镜像文件来创建网关设备800。在另一些实施例中,网关设备800以Pod的形式,部署在硬件设备上。Pod包括多个容器,每个容器用于实现网关设备800中的一个或多个模块。
以下介绍的服务器900具有上述方法700中第一服务器的任意功能。
附图13示出了上述实施例中所涉及的第一服务器的一种可能的结构示意图。附图13所示的服务器900例如实现方法700中第一服务器的功能。
请参考附图13,服务器900包括接收模块901、处理模块902和发送模块903。服务器900中的各个模块全部或部分地通过软件、硬件、固件或者其任意组合来实现。服务器900中的各个模块用于执行上述方法700中第一服务器的相应功能。具体地,接收模块901用于支持服务器900执行S640。处理模块902用于支持服务器900执行S650。发送模块903用于支持服务器900执行S660。
可选地,接收模块901、处理模块902或发送模块903还用于支持服务器900执行本文所描述的技术中第一服务器执行的其它过程。例如,处理模块902还用于支持服务器900执行S610或S620。发送模块903还用于支持服务器900执行S660。服务器900具体执行过程请参考方法700中相应步骤的详细描述,这里不再一一赘述。
本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可选地有另外的划分方式。
在一些实施例中,服务器900中各个模块集成在一个处理模块中。例如,服务器900中各个模块集成在同一个芯片上。该芯片包括处理电路和与该处理电路内部连接通信的输入接口以及输出接口。处理模块902通过芯片中的处理电路实现。接收模块901通过芯片中的输入接口实现。发送模块903通过芯片中的输出接口实现。例如,该芯片通过一个或多个现场可编程门阵列(英文全称:field-programmable gate array,英文简称:FPGA)、可编程逻辑器件(英文全称:programmable logic device,英文简称:PLD)、控制器、状态机、门逻辑、分立硬件部件、任何其它适合的电路、或者能够执行本申请通篇所描述的各种功能的电路的任意组合实现。
在另一些实施例中,服务器900各个模块单独物理存在。在另一些实施例中,服务器900一部分模块单独物理存在,另一部分模块集成在一个模块中。例如,在一些实施例中,处理模块902和发送模块903是同一个模块。在另一些实施例中,处理模块902和发送模块903是不同的模块。在一些实施例中,不同模块的集成采用硬件的形式实现,即,不同模块对应于同一个硬件。又如,不同模块的集成采用软件模块的形式实现。
在服务器900中通过硬件实现的情况下,服务器900中处理模块902例如通过设备200中的处理器201实现。服务器900中接收模块901、发送模块903例如通过设备200中的网络接口204实现。
在服务器900中通过软件实现的情况下,服务器900中各个模块例如为设备200中的处理器201读取存储器203中存储的程序代码210后生成的软件。例如,服务器900为虚拟化设备。虚拟化设备包括而不限于虚拟机、容器、Pod中的至少一种。在一些实施例中,服务器900以虚拟机的形式,部署在硬件设备(如物理服务器)上。例如,基于通用的物理服务器结合NFV技术来实现服务器900。采用虚拟机的方式实现时,服务器900例如为虚拟主机、虚拟路由器或虚拟交换机。本领域技术人员通过阅读本申请即可结合NFV技术在通用物理服务器上虚拟出服务器900。在另一些实施例中,服务器900以容器(例如docker容器)的形式,部署在硬件设备上。例如,服务器900执行上述方法实施例的流程被封装在镜像文件中,硬件设备通过运行镜像文件来创建服务器900。在另一些实施例中,服务器900以Pod的形式,部署在硬件设备上。Pod包括多个容器,每个容器用于实现服务器900中的一个或多个模块。
在一些实施例中,提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。网关设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该网关设备执行方法500。
在一些实施例中,提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。服务器的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该服务器执行方法600。
本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和单元,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的***、装置和模块的具体工作过程,可以参见前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或模块的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
该作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以是两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件模块的形式实现。
该集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例中方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。例如,在不脱离各种示例的范围的情况下,第一网关设备可以被称为第二网关设备,并且类似地,第二网关设备可以被称为第一网关设备。第一网关设备和第二网关设备都可以是网关设备,并且在某些情况下,可以是单独且不同的网关设备。
本申请中术语“至少一个”的含义是指一个或多个,本申请中术语“多个”的含义是指两个或两个以上,本文中术语“***”和“网络”经常可互换使用。
还应理解,术语“如果”可被解释为意指“当...时”(“when”或“upon”)或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“如果确定...”或“如果检测到[所陈述的条件或事件]”可被解释为意指“在确定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
以上描述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机程序指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例中的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机程序指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digital video disc,DVD)、或者半导体介质(例如固态硬盘)等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (38)
1.一种检测模型的训练方法,其特征在于,所述方法包括:
第一网关设备获取通过所述第一网关设备传输的至少一条报文流;
所述第一网关设备根据所述至少一条报文流获取恶意样本集合,所述恶意样本集合中包括的恶意样本为所述至少一条报文流中恶意报文流的元数据;
所述第一网关设备从第一服务器获取第一模型参数;
所述第一网关设备根据所述恶意样本集合、共享样本和所述第一模型参数进行模型训练,从而得到模型训练之后的检测模型,所述共享样本为所述第一服务器提供给网关设备集合中的各个网关设备的恶意样本,所述网关设备集合中包括所述第一网关设备,所述检测模型用于所述第一网关设备对后续通过所述第一网关设备传输的报文流是否具有恶意性进行检测,所述模型训练之后的检测模型具有第二模型参数;
所述第一网关设备向所述第一服务器发送所述第二模型参数。
2.根据权利要求1所述的方法,其特征在于,所述至少一条报文流包括第一报文流,所述第一网关设备根据所述至少一条报文流获取恶意样本集合,包括:
若所述第一报文流命中阻断规则,所述第一网关设备将所述第一报文流的元数据确定为所述恶意样本,所述阻断规则用于阻断恶意报文流。
3.根据权利要求1所述的方法,其特征在于,所述至少一条报文流包括第二报文流,所述第一网关设备根据所述至少一条报文流获取恶意样本集合,包括:
若所述第二报文流未命中阻断规则,所述第一网关设备将所述第二报文流的元数据输入模型训练之前的检测模型,所述阻断规则用于阻断恶意报文流,其中,当所述第一网关设备第一次执行所述模型训练时,所述模型训练之前的检测模型为初始检测模型;
若所述模型训练之前的检测模型的输出结果指示所述第二报文流是可疑报文流,所述第一网关设备对所述第二报文流进行分析;
若通过所述分析确定所述第二报文流是恶意报文流,所述第一网关设备将所述第二报文流的元数据确定为所述恶意样本。
4.根据权利要求3所述的方法,其特征在于,所述模型训练之前的检测模型的输出结果还指示所述第二报文流是恶意报文流的概率值,所述第一网关设备对所述第二报文流进行分析,包括:
若所述模型训练之前的检测模型的输出结果指示所述第二报文流是恶意报文流的概率值大于阈值,所述第一网关设备确定所述第二报文流是恶意报文流,所述概率值表示所述第二报文流是恶意报文流的可能性。
5.根据权利要求3或4所述的方法,其特征在于,所述第一网关设备对所述第二报文流进行分析,包括:
若存在第一时间段内生成的域名生成算法DGA事件,所述第一网关设备确定所述第二报文流是恶意报文流,所述第一时间段为以所述第一网关设备获取到所述第二报文流的时刻为结束点的历史时间段,所述DGA事件中包括的事件源为第一主机,所述第一主机为所述第二报文流的源主机,所述DGA事件指示发生了所述第一主机访问DGA域名的行为。
6.根据权利要求3或4所述的方法,其特征在于,所述第一网关设备对所述第二报文流进行分析,包括:
若存在第二时间段内生成的内网暴力破解事件,所述第一网关设备确定所述第二报文流是恶意报文流,所述第二时间段为以所述第一网关设备获取到所述第二报文流的时刻为结束点的历史时间段,所述内网暴力破解事件指示发生了以第一主机所在的内网为目标的暴力破解攻击,所述第一主机为所述第二报文流的源主机;或者,
若存在第二时间段内生成的敏感信息外泄事件,所述第一网关设备确定所述第二报文流是恶意报文流,所述敏感信息外泄事件指示发生了所述第一主机上的敏感信息被发送至外网的行为;或者,
若存在第二时间段内生成的外网分布式拒绝服务DDoS事件,所述第一网关设备确定所述第二报文流是恶意报文流,所述外网DDoS事件指示发生了所述第一主机所在的内网对外网发起的DDoS攻击。
7.根据权利要求3或4所述的方法,其特征在于,所述第一网关设备对所述第二报文流进行分析,包括:
若第三时间段内所述模型训练之前的检测模型针对目标报文流的元数据的输出结果呈现周期性,所述第一网关设备确定所述第二报文流是恶意报文流,所述第三时间段为以所述第一网关设备获取到所述第二报文流的时刻为结束点的历史时间段,所述目标报文流包括以第一主机为源主机的至少一个报文流,所述第一主机为所述第二报文流的源主机。
8.根据权利要求1所述的方法,其特征在于,所述至少一条报文流包括第三报文流,所述第一网关设备根据所述至少一条报文流获取恶意样本集合,包括:
若所述第三报文流未命中阻断规则且通过分析确定所述第三报文流不是恶意报文流,所述第一网关设备将所述第三报文流的上下文信息发送至第二服务器,所述阻断规则用于阻断恶意报文流,所述上下文信息包括所述第三报文流的元数据或者所述第三报文流的数据包捕获PCAP报文中的至少一项;
所述第一网关设备接收来自于所述第二服务器的根据所述上下文信息得到的分析结果;
若所述分析结果指示所述第三报文流是恶意报文流,所述第一网关设备将所述第三报文流的元数据确定为所述恶意样本。
9.根据权利要求1所述的方法,其特征在于,所述至少一条报文流包括第三报文流,所述第一网关设备根据所述至少一条报文流获取恶意样本集合,包括:
若所述第三报文流未命中阻断规则且通过分析确定所述第三报文流不是恶意报文流,所述第一网关设备根据所述第三报文流包括的目的互联网协议IP地址或所述第三报文流包括的源IP地址,查询第一威胁情报,所述第一威胁情报包括至少一个恶意IP地址;若所述目的IP地址或所述源IP地址命中所述第一威胁情报中的恶意IP地址,所述第一网关设备将所述第三报文流的元数据确定为所述恶意样本;或者,
若所述第三报文流未命中阻断规则且通过分析确定所述第三报文流不是恶意报文流,所述第一网关设备根据所述第三报文流对应的目标域名,查询第二威胁情报,所述目标域名为所述第三报文流请求访问的域名,所述第二威胁情报包括至少一个恶意域名;若所述目标域名命中所述第二威胁情报中的恶意域名,所述第一网关设备将所述第三报文流的元数据确定为所述恶意样本;或者,
若所述第三报文流未命中阻断规则且通过分析确定所述第三报文流不是恶意报文流,所述第一网关设备根据所述第三报文流对应的文件标识,查询第三威胁情报,所述文件标识用于标识所述第三报文流包括的文件,所述第三威胁情报包括至少一个恶意文件标识;若所述文件标识命中所述第三威胁情报中的恶意文件标识,所述第一网关设备将所述第三报文流的元数据确定为所述恶意样本。
10.根据权利要求3至8中任一项所述的方法,其特征在于,所述第一网关设备从第一服务器获取第一模型参数之前,所述方法还包括:
所述第一网关设备接收来自于所述第一服务器的所述共享样本和所述检测模型的超参数,所述超参数包括所述检测模型的学习率以及所述检测模型的初始参数,所述学习率用于控制所述第二模型参数与所述模型训练之前的检测模型的模型参数之间的差值,所述初始参数用于生成所述初始检测模型。
11.根据权利要求1至10中任一项所述的方法,其特征在于,所述第一网关设备获取通过所述第一网关设备传输的至少一条报文流之后,所述方法还包括:
所述第一网关设备根据所述至少一条报文流获取正常样本集合,所述正常样本集合中包括的正常样本为所述至少一条报文流中正常报文流的元数据;
所述第一网关设备根据所述恶意样本集合、共享样本和所述第一模型参数进行模型训练,包括:
所述第一网关设备根据所述恶意样本集合、所述共享样本、所述第一模型参数和所述正常样本集合进行模型训练。
12.根据权利要求11所述的方法,其特征在于,所述第一网关设备根据所述恶意样本集合、所述共享样本、所述第一模型参数和所述正常样本集合进行模型训练之前,所述方法还包括:
如果第一正常样本在第四时间段的出现次数超过第一阈值,所述第一网关设备从所述正常样本集合中去除所述第一正常样本,所述第四时间段为所述第一网关设备获取到所述第一正常样本的时刻所属的历史时间周期;
如果第一恶意样本在所述第五时间段的出现次数超过第二阈值,所述第一网关设备从所述恶意样本集合中去除所述第一恶意样本,所述第二阈值小于所述第一阈值,所述第五时间段为所述第一网关设备获取到所述第一恶意样本的时刻所属的历史时间周期。
13.一种检测模型的训练方法,其特征在于,所述方法包括:
第一服务器接收来自于网关设备集合中的第一网关设备的第一模型参数,以及来自于所述网关设备集合中的第二网关设备的第二模型参数,所述第一模型参数是第一检测模型的参数,所述第一检测模型用于对通过所述第一网关设备传输的报文流是否具有恶意性进行检测,所述第二模型参数是第二检测模型的参数,所述第二检测模型用于对通过所述第二网关设备传输的报文流是否具有恶意性进行检测;
所述第一服务器根据所述第一模型参数和所述第二模型参数进行汇聚处理,得到第三模型参数;
所述第一服务器向所述网关设备集合中的至少一个网关设备发送所述第三模型参数。
14.根据权利要求13所述的方法,其特征在于,所述第一服务器根据所述第一模型参数和所述第二模型参数进行汇聚处理,得到第三模型参数,包括:
所述第一服务器获取所述第一模型参数、所述第二模型参数的平均值;
所述第一服务器根据所述平均值以及学***均值与所述学习率的乘积,所述学习率用于控制模型训练之后的检测模型的模型参数与模型训练之前的检测模型的模型参数之间的差值;
所述第一服务器根据所述变化量对历史模型参数进行更新,得到所述第三模型参数,所述第三模型参数是所述历史模型参数与所述变化量之间的差值,所述历史模型参数是所述第一服务器在接收到所述第一模型参数和所述第二模型参数之前向所述网关设备集合中至少一个网关设备发送的模型参数。
15.根据权利要求13所述的方法,其特征在于,所述第一服务器根据所述第一模型参数和所述第二模型参数进行汇聚处理之前,所述方法还包括:
所述第一服务器确定参与联邦学习的网关设备集合;
所述第一服务器向所述网关设备集合中的至少一个网关设备发送超参数以及共享样本,所述共享样本为所述服务器提供给网关设备集合中的各个网关设备的恶意样本,所述超参数包括初始参数以及学习率,所述初始参数是所述第一检测模型以及所述第二检测模型的初始参数,所述学习率是所述第一检测模型以及所述第二检测模型的学习率。
16.根据权利要求15所述的方法,其特征在于,所述第一服务器向所述网关设备集合中的的至少一个网关设备发送超参数以及共享样本之前,所述方法还包括:
所述第一服务器在沙箱中运行恶意文件,得到至少一个数据包捕获PCAP报文;
所述第一服务器根据所述至少一个PCAP报文,生成所述共享样本。
17.一种***,其特征在于,所述***包括网关设备以及第一服务器,所述网关设备用于执行如权利要求1至权利要求12中任一项所述的方法,所述第一服务器用于执行如权利要求13至权利要求16中任一项所述的方法。
18.根据权利要求17所述的***,其特征在于,所述***还包括第二服务器,所述第二服务器用于接收来自于所述网关设备的第三报文流的上下文信息,根据所述上下文信息进行分析,得到分析结果,向所述网关设备发送所述分析结果,所述上下文信息包括所述第三报文流的元数据或者所述第三报文流的数据包捕获PCAP报文中的至少一项,所述分析结果用于指示所述第三报文流是否为恶意报文流。
19.一种第一网关设备,其特征在于,所述网关设备包括:
获取模块,用于获取通过所述第一网关设备传输的至少一条报文流;
所述获取模块,还用于根据所述至少一条报文流获取恶意样本集合,所述恶意样本集合中包括的恶意样本为所述至少一条报文流中恶意报文流的元数据;
所述获取模块,还用于从第一服务器获取第一模型参数;
训练模块,用于根据所述恶意样本集合、共享样本和所述第一模型参数进行模型训练,从而得到模型训练之后的检测模型,所述共享样本为所述第一服务器提供给网关设备集合中的各个网关设备的恶意样本,所述网关设备集合中包括所述第一网关设备,所述检测模型用于所述第一网关设备对后续通过所述第一网关设备传输的报文流是否具有恶意性进行检测,所述模型训练之后的检测模型具有第二模型参数;
发送模块,用于向所述第一服务器发送所述第二模型参数。
20.根据权利要求19所述的网关设备,其特征在于,所述至少一条报文流包括第一报文流,所述获取模块,用于若所述第一报文流命中阻断规则,将所述第一报文流的元数据确定为所述恶意样本,所述阻断规则用于阻断恶意报文流。
21.根据权利要求19所述的网关设备,其特征在于,所述至少一条报文流包括第二报文流,所述获取模块,用于若所述第二报文流未命中阻断规则,将所述第二报文流的元数据输入模型训练之前的检测模型,所述阻断规则用于阻断恶意报文流,其中,当所述第一网关设备第一次执行所述模型训练时,所述模型训练之前的检测模型为初始检测模型;若所述模型训练之前的检测模型的输出结果指示所述第二报文流是可疑报文流,对所述第二报文流进行分析;若通过所述分析确定所述第二报文流是恶意报文流,将所述第二报文流的元数据确定为所述恶意样本。
22.根据权利要求21所述的网关设备,其特征在于,所述模型训练之前的检测模型的输出结果还指示所述第二报文流是恶意报文流的概率值,所述获取模块,用于若所述模型训练之前的检测模型的输出结果指示所述第二报文流是恶意报文流的概率值大于阈值,确定所述第二报文流是恶意报文流,所述概率值表示所述第二报文流是恶意报文流的可能性。
23.根据权利要求21或22所述的网关设备,其特征在于,所述获取模块,用于若存在第一时间段内生成的域名生成算法DGA事件,确定所述第二报文流是恶意报文流,所述第一时间段为以所述第一网关设备获取到所述第二报文流的时刻为结束点的历史时间段,所述DGA事件中包括的事件源为第一主机,所述第一主机为所述第二报文流的源主机,所述DGA事件指示发生了所述第一主机访问DGA域名的行为。
24.根据权利要求21或22所述的网关设备,其特征在于,所述获取模块,用于若存在第二时间段内生成的内网暴力破解事件,确定所述第二报文流是恶意报文流,所述第二时间段为以所述第一网关设备获取到所述第二报文流的时刻为结束点的历史时间段,所述内网暴力破解事件指示发生了以第一主机所在的内网为目标的暴力破解攻击,所述第一主机为所述第二报文流的源主机;或者,若存在第二时间段内生成的敏感信息外泄事件,确定所述第二报文流是恶意报文流,所述敏感信息外泄事件指示发生了所述第一主机上的敏感信息被发送至外网的行为;或者,若存在第二时间段内生成的外网分布式拒绝服务DDoS事件,确定所述第二报文流是恶意报文流,所述外网DDoS事件指示发生了所述第一主机所在的内网对外网发起的DDoS攻击。
25.根据权利要求21或22所述的网关设备,其特征在于,所述获取模块,用于若第三时间段内所述模型训练之前的检测模型针对目标报文流的元数据的输出结果呈现周期性,确定所述第二报文流是恶意报文流,所述第三时间段为以所述第一网关设备获取到所述第二报文流的时刻为结束点的历史时间段,所述目标报文流包括以第一主机为源主机的至少一个报文流,所述第一主机为所述第二报文流的源主机。
26.根据权利要求19所述的网关设备,其特征在于,所述至少一条报文流包括第三报文流,所述获取模块,用于若所述第三报文流未命中阻断规则且通过分析确定所述第三报文流不是恶意报文流,将所述第三报文流的上下文信息发送至第二服务器,所述阻断规则用于阻断恶意报文流,所述上下文信息包括所述第三报文流的元数据或者所述第三报文流的数据包捕获PCAP报文中的至少一项;接收来自于所述第二服务器的根据所述上下文信息得到的分析结果;若所述分析结果指示所述第三报文流是恶意报文流,将所述第三报文流的元数据确定为所述恶意样本。
27.根据权利要求19所述的网关设备,其特征在于,所述至少一条报文流包括第三报文流,所述获取模块,用于若所述第三报文流未命中阻断规则且通过分析确定所述第三报文流不是恶意报文流,根据所述第三报文流包括的目的互联网协议IP地址或所述第三报文流包括的源IP地址,查询第一威胁情报,所述第一威胁情报包括至少一个恶意IP地址;若所述目的IP地址或所述源IP地址命中所述第一威胁情报中的恶意IP地址,将所述第三报文流的元数据确定为所述恶意样本;或者,若所述第三报文流未命中阻断规则且通过分析确定所述第三报文流不是恶意报文流,根据所述第三报文流对应的目标域名,查询第二威胁情报,所述目标域名为所述第三报文流请求访问的域名,所述第二威胁情报包括至少一个恶意域名;若所述目标域名命中所述第二威胁情报中的恶意域名,将所述第三报文流的元数据确定为所述恶意样本;或者,若所述第三报文流未命中阻断规则且通过分析确定所述第三报文流不是恶意报文流,根据所述第三报文流对应的文件标识,查询第三威胁情报,所述文件标识用于标识所述第三报文流包括的文件,所述第三威胁情报包括至少一个恶意文件标识;若所述文件标识命中所述第三威胁情报中的恶意文件标识,将所述第三报文流的元数据确定为所述恶意样本。
28.根据权利要求21至26中任一项所述的网关设备,其特征在于,所述获取模块,用于接收来自于所述第一服务器的所述共享样本和所述检测模型的超参数,所述超参数包括所述检测模型的学习率以及所述检测模型的初始参数,所述学习率用于控制所述第二模型参数与所述模型训练之前的检测模型的模型参数之间的差值,所述初始参数用于生成所述初始检测模型。
29.根据权利要求19至28中任一项所述的网关设备,其特征在于,所述获取模块,还用于根据所述至少一条报文流获取正常样本集合,所述正常样本集合中包括的正常样本为所述至少一条报文流中正常报文流的元数据;
所述训练模块,用于根据所述恶意样本集合、所述共享样本、所述第一模型参数和所述正常样本集合进行模型训练。
30.根据权利要求29所述的网关设备,其特征在于,所述网关设备还包括:
处理模块,用于如果第一正常样本在第四时间段的出现次数超过第一阈值,从所述正常样本集合中去除所述第一正常样本,所述第四时间段为所述第一网关设备获取到所述第一正常样本的时刻所属的历史时间周期;如果第一恶意样本在所述第五时间段的出现次数超过第二阈值,从所述恶意样本集合中去除所述第一恶意样本,所述第二阈值小于所述第一阈值,所述第五时间段为所述第一网关设备获取到所述第一恶意样本的时刻所属的历史时间周期。
31.一种第一服务器,其特征在于,所述服务器包括:
接收模块,用于接收来自于网关设备集合中的第一网关设备的第一模型参数,以及来自于所述网关设备集合中的第二网关设备的第二模型参数,所述第一模型参数是第一检测模型的参数,所述第一检测模型用于对通过所述第一网关设备传输的报文流是否具有恶意性进行检测,所述第二模型参数是第二检测模型的参数,所述第二检测模型用于对通过所述第二网关设备传输的报文流是否具有恶意性进行检测;
处理模块,用于根据所述第一模型参数和所述第二模型参数进行汇聚处理,得到第三模型参数;
发送模块,用于向所述网关设备集合中的至少一个网关设备发送所述第三模型参数。
32.根据权利要求31所述的服务器,其特征在于,所述处理模块,用于获取所述第一模型参数、所述第二模型参数的平均值;根据所述平均值以及学***均值与所述学习率的乘积,所述学习率用于控制模型训练之后的检测模型的模型参数与模型训练之前的检测模型的模型参数之间的差值;根据所述变化量对历史模型参数进行更新,得到所述第三模型参数,所述第三模型参数是所述历史模型参数与所述变化量之间的差值,所述历史模型参数是所述第一服务器在接收到所述第一模型参数和所述第二模型参数之前向所述网关设备集合中至少一个网关设备发送的模型参数。
33.根据权利要求31所述的服务器,其特征在于,所述处理模块,还用于确定参与联邦学习的网关设备集合;
所述发送模块,还用于向所述网关设备集合中的至少一个网关设备发送超参数以及共享样本,所述共享样本为所述服务器提供给网关设备集合中的各个网关设备的恶意样本,所述超参数包括初始参数以及学习率,所述初始参数是所述第一检测模型以及所述第二检测模型的初始参数,所述学习率是所述第一检测模型以及所述第二检测模型的学习率。
34.根据权利要求33所述的服务器,其特征在于,所述处理模块,用于在沙箱中运行恶意文件,得到至少一个数据包捕获PCAP报文;根据所述至少一个PCAP报文,生成所述共享样本。
35.一种网关设备,其特征在于,所述网关设备包括处理器和网络接口,所述处理器用于执行指令,使得所述网关设备执行如权利要求1至权利要求12中任一项所述的方法,所述网络接口用于传输报文流以及模型参数。
36.一种服务器,其特征在于,所述服务器包括处理器和网络接口,所述处理器用于执行指令,使得所述服务器执行如权利要求13至权利要求16中任一项所述的方法,所述网络接口用于传输模型参数。
37.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器读取以使网关设备执行如权利要求1至权利要求12中任一项所述的方法。
38.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器读取以使服务器执行如权利要求13至权利要求16中任一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010948783.1A CN114257386B (zh) | 2020-09-10 | 2020-09-10 | 检测模型的训练方法、***、设备及存储介质 |
PCT/CN2021/089390 WO2022052476A1 (zh) | 2020-09-10 | 2021-04-23 | 检测模型的训练方法、***、设备及存储介质 |
EP21865537.1A EP4203349A4 (en) | 2020-09-10 | 2021-04-23 | TRAINING METHOD FOR A DETECTION MODEL, SYSTEM, DEVICE AND STORAGE MEDIUM |
US18/180,960 US20230231871A1 (en) | 2020-09-10 | 2023-03-09 | Training Method for Detection Model, System, Device, and Storage Medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010948783.1A CN114257386B (zh) | 2020-09-10 | 2020-09-10 | 检测模型的训练方法、***、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114257386A true CN114257386A (zh) | 2022-03-29 |
CN114257386B CN114257386B (zh) | 2023-03-21 |
Family
ID=80630147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010948783.1A Active CN114257386B (zh) | 2020-09-10 | 2020-09-10 | 检测模型的训练方法、***、设备及存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230231871A1 (zh) |
EP (1) | EP4203349A4 (zh) |
CN (1) | CN114257386B (zh) |
WO (1) | WO2022052476A1 (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115840965A (zh) * | 2022-12-27 | 2023-03-24 | 光谷技术有限公司 | 一种信息安全保障模型训练方法和*** |
CN115865487A (zh) * | 2022-11-30 | 2023-03-28 | 四川启睿克科技有限公司 | 一种具有隐私保护功能的异常行为分析方法和装置 |
CN116150753A (zh) * | 2022-12-21 | 2023-05-23 | 上海交通大学 | 一种基于联邦学习的移动端恶意软件检测*** |
CN116527411A (zh) * | 2023-07-05 | 2023-08-01 | 安羚科技(杭州)有限公司 | 数据安全智能防护模型构建方法、装置及协作平台 |
CN116599767A (zh) * | 2023-07-12 | 2023-08-15 | 深圳市光网世纪科技有限公司 | 基于机器学习的网络威胁监测*** |
WO2023197520A1 (zh) * | 2022-04-14 | 2023-10-19 | 苏州浪潮智能科技有限公司 | 一种数据处理方法、***、设备及可读存储介质 |
CN116992450A (zh) * | 2023-09-27 | 2023-11-03 | 北京安天网络安全技术有限公司 | 一种文件检测规则确定方法及装置、电子设备及存储介质 |
WO2023238246A1 (ja) * | 2022-06-07 | 2023-12-14 | 日本電信電話株式会社 | 統合モデル生成方法、統合モデル生成装置および統合モデル生成プログラム |
CN117499129A (zh) * | 2023-11-15 | 2024-02-02 | 南方电网数字电网集团信息通信科技有限公司 | 应用于入侵检测***的规则同步方法、装置和存储介质 |
WO2024119878A1 (zh) * | 2022-12-09 | 2024-06-13 | 北京知道创宇信息技术股份有限公司 | 一种威胁情报***及威胁情报模型训练方法 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115225575B (zh) * | 2022-06-08 | 2023-11-24 | 香港理工大学深圳研究院 | 一种基于元数据辅助和联邦学习的未知网络流量分类方法 |
US11775642B1 (en) | 2022-06-17 | 2023-10-03 | Uab 360 It | Malware detection using federated learning |
CN115567289A (zh) * | 2022-09-23 | 2023-01-03 | 清华大学 | 加密dns协议下基于联邦图模型的恶意域名检测方法及*** |
US11973785B1 (en) | 2023-06-19 | 2024-04-30 | King Faisal University | Two-tier cybersecurity method |
CN117118761B (zh) * | 2023-10-25 | 2024-04-09 | 中汽智联技术有限公司 | 一种贯穿智能汽车信息安全的纵深防御***和方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109165725A (zh) * | 2018-08-10 | 2019-01-08 | 深圳前海微众银行股份有限公司 | 基于迁移学习的神经网络联邦建模方法、设备及存储介质 |
CN109189825A (zh) * | 2018-08-10 | 2019-01-11 | 深圳前海微众银行股份有限公司 | 横向数据切分联邦学习建模方法、服务器及介质 |
US20190068620A1 (en) * | 2017-08-30 | 2019-02-28 | International Business Machines Corporation | Detecting malware attacks using extracted behavioral features |
CN110288094A (zh) * | 2019-06-10 | 2019-09-27 | 深圳前海微众银行股份有限公司 | 基于联邦学习的模型参数训练方法及装置 |
CN110443063A (zh) * | 2019-06-26 | 2019-11-12 | 电子科技大学 | 自适性保护隐私的联邦深度学习的方法 |
CN110572253A (zh) * | 2019-09-16 | 2019-12-13 | 济南大学 | 一种联邦学习训练数据隐私性增强方法及*** |
CN110620760A (zh) * | 2019-07-30 | 2019-12-27 | 东南大学 | 一种SVM和贝叶斯网络的FlexRay总线融合入侵检测方法和检测装置 |
CN111476376A (zh) * | 2020-06-24 | 2020-07-31 | 支付宝(杭州)信息技术有限公司 | 联盟学习方法、联盟学习装置及联盟学习*** |
CN111477290A (zh) * | 2020-03-05 | 2020-07-31 | 上海交通大学 | 保护用户隐私的联邦学习和图像分类方法、***及终端 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2567147A (en) * | 2017-09-28 | 2019-04-10 | Int Consolidated Airlines Group | Machine learning query handling system |
CN110572382B (zh) * | 2019-09-02 | 2021-05-18 | 西安电子科技大学 | 基于smote算法和集成学习的恶意流量检测方法 |
CN111176929B (zh) * | 2019-11-29 | 2023-04-18 | 广东工业大学 | 一种面向边缘联邦学习的高能效计算通信联合优化方法 |
CN111275207B (zh) * | 2020-02-10 | 2024-04-30 | 深圳前海微众银行股份有限公司 | 基于半监督的横向联邦学习优化方法、设备及存储介质 |
CN111428881B (zh) * | 2020-03-20 | 2021-12-07 | 深圳前海微众银行股份有限公司 | 识别模型的训练方法、装置、设备及可读存储介质 |
CN111444848A (zh) * | 2020-03-27 | 2020-07-24 | 广州英码信息科技有限公司 | 一种基于联邦学习的特定场景模型升级方法和*** |
-
2020
- 2020-09-10 CN CN202010948783.1A patent/CN114257386B/zh active Active
-
2021
- 2021-04-23 WO PCT/CN2021/089390 patent/WO2022052476A1/zh unknown
- 2021-04-23 EP EP21865537.1A patent/EP4203349A4/en active Pending
-
2023
- 2023-03-09 US US18/180,960 patent/US20230231871A1/en active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190068620A1 (en) * | 2017-08-30 | 2019-02-28 | International Business Machines Corporation | Detecting malware attacks using extracted behavioral features |
CN109165725A (zh) * | 2018-08-10 | 2019-01-08 | 深圳前海微众银行股份有限公司 | 基于迁移学习的神经网络联邦建模方法、设备及存储介质 |
CN109189825A (zh) * | 2018-08-10 | 2019-01-11 | 深圳前海微众银行股份有限公司 | 横向数据切分联邦学习建模方法、服务器及介质 |
CN110288094A (zh) * | 2019-06-10 | 2019-09-27 | 深圳前海微众银行股份有限公司 | 基于联邦学习的模型参数训练方法及装置 |
CN110443063A (zh) * | 2019-06-26 | 2019-11-12 | 电子科技大学 | 自适性保护隐私的联邦深度学习的方法 |
CN110620760A (zh) * | 2019-07-30 | 2019-12-27 | 东南大学 | 一种SVM和贝叶斯网络的FlexRay总线融合入侵检测方法和检测装置 |
CN110572253A (zh) * | 2019-09-16 | 2019-12-13 | 济南大学 | 一种联邦学习训练数据隐私性增强方法及*** |
CN111477290A (zh) * | 2020-03-05 | 2020-07-31 | 上海交通大学 | 保护用户隐私的联邦学习和图像分类方法、***及终端 |
CN111476376A (zh) * | 2020-06-24 | 2020-07-31 | 支付宝(杭州)信息技术有限公司 | 联盟学习方法、联盟学习装置及联盟学习*** |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023197520A1 (zh) * | 2022-04-14 | 2023-10-19 | 苏州浪潮智能科技有限公司 | 一种数据处理方法、***、设备及可读存储介质 |
WO2023238246A1 (ja) * | 2022-06-07 | 2023-12-14 | 日本電信電話株式会社 | 統合モデル生成方法、統合モデル生成装置および統合モデル生成プログラム |
CN115865487A (zh) * | 2022-11-30 | 2023-03-28 | 四川启睿克科技有限公司 | 一种具有隐私保护功能的异常行为分析方法和装置 |
CN115865487B (zh) * | 2022-11-30 | 2024-06-04 | 四川启睿克科技有限公司 | 一种具有隐私保护功能的异常行为分析方法和装置 |
WO2024119878A1 (zh) * | 2022-12-09 | 2024-06-13 | 北京知道创宇信息技术股份有限公司 | 一种威胁情报***及威胁情报模型训练方法 |
CN116150753A (zh) * | 2022-12-21 | 2023-05-23 | 上海交通大学 | 一种基于联邦学习的移动端恶意软件检测*** |
CN115840965B (zh) * | 2022-12-27 | 2023-08-08 | 光谷技术有限公司 | 一种信息安全保障模型训练方法和*** |
CN115840965A (zh) * | 2022-12-27 | 2023-03-24 | 光谷技术有限公司 | 一种信息安全保障模型训练方法和*** |
CN116527411A (zh) * | 2023-07-05 | 2023-08-01 | 安羚科技(杭州)有限公司 | 数据安全智能防护模型构建方法、装置及协作平台 |
CN116527411B (zh) * | 2023-07-05 | 2023-09-22 | 安羚科技(杭州)有限公司 | 数据安全智能防护模型构建方法、装置及协作平台 |
CN116599767B (zh) * | 2023-07-12 | 2023-11-03 | 深圳市光网世纪科技有限公司 | 基于机器学习的网络威胁监测*** |
CN116599767A (zh) * | 2023-07-12 | 2023-08-15 | 深圳市光网世纪科技有限公司 | 基于机器学习的网络威胁监测*** |
CN116992450B (zh) * | 2023-09-27 | 2024-01-23 | 北京安天网络安全技术有限公司 | 一种文件检测规则确定方法及装置、电子设备及存储介质 |
CN116992450A (zh) * | 2023-09-27 | 2023-11-03 | 北京安天网络安全技术有限公司 | 一种文件检测规则确定方法及装置、电子设备及存储介质 |
CN117499129A (zh) * | 2023-11-15 | 2024-02-02 | 南方电网数字电网集团信息通信科技有限公司 | 应用于入侵检测***的规则同步方法、装置和存储介质 |
CN117499129B (zh) * | 2023-11-15 | 2024-05-03 | 南方电网数字电网集团信息通信科技有限公司 | 应用于入侵检测***的规则同步方法、装置和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP4203349A4 (en) | 2024-02-21 |
EP4203349A1 (en) | 2023-06-28 |
US20230231871A1 (en) | 2023-07-20 |
CN114257386B (zh) | 2023-03-21 |
WO2022052476A1 (zh) | 2022-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114257386B (zh) | 检测模型的训练方法、***、设备及存储介质 | |
de Assis et al. | Near real-time security system applied to SDN environments in IoT networks using convolutional neural network | |
Xing et al. | Survey on botnet detection techniques: Classification, methods, and evaluation | |
Aljawarneh et al. | Anomaly-based intrusion detection system through feature selection analysis and building hybrid efficient model | |
US10986121B2 (en) | Multivariate network structure anomaly detector | |
US12041064B2 (en) | Method and system for classifying data objects based on their network footprint | |
CN110149343A (zh) | 一种基于流的异常通联行为检测方法和*** | |
Prasad et al. | BARTD: Bio-inspired anomaly based real time detection of under rated App-DDoS attack on web | |
US11457031B1 (en) | Apparatus having engine using artificial intelligence for detecting bot anomalies in a computer network | |
US20180063163A1 (en) | Learning indicators of compromise with hierarchical models | |
Husain et al. | Development of an efficient network intrusion detection model using extreme gradient boosting (XGBoost) on the UNSW-NB15 dataset | |
CN107667505A (zh) | 用于监控和管理数据中心的*** | |
CN106663169A (zh) | 使用无监督式机器学习和优先权算法的高速威胁情报管理的***及方法 | |
Janabi et al. | Convolutional neural network based algorithm for early warning proactive system security in software defined networks | |
Pashaei et al. | Early Intrusion Detection System using honeypot for industrial control networks | |
Huang | Design of an IoT DDoS attack prediction system based on data mining technology | |
Silva et al. | A statistical analysis of intrinsic bias of network security datasets for training machine learning mechanisms | |
CN114531273A (zh) | 一种防御工业网络***分布式拒绝服务攻击的方法 | |
Wang et al. | Botnet detection using social graph analysis | |
Bhor et al. | TRUST‐based features for detecting the intruders in the Internet of Things network using deep learning | |
Zeleke et al. | Efficient intrusion detection system for SDN orchestrated Internet of Things | |
Fenil et al. | Towards a secure software defined network with adaptive mitigation of dDoS attacks by machine learning approaches | |
Polepally et al. | Exponential Squirrel Search Algorithm-Based Deep Classifier for Intrusion Detection in Cloud Computing with Big Data Assisted Spark Framework | |
Azath et al. | Identification of iot device from network traffic using artificial intelligence based capsule networks | |
Sivanesan et al. | Detecting distributed denial of service (DDoS) in SD-IoT environment with enhanced firefly algorithm and convolution neural network |
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 |