CN113452676B - 一种检测器分配方法和物联网检测*** - Google Patents
一种检测器分配方法和物联网检测*** Download PDFInfo
- Publication number
- CN113452676B CN113452676B CN202110583804.9A CN202110583804A CN113452676B CN 113452676 B CN113452676 B CN 113452676B CN 202110583804 A CN202110583804 A CN 202110583804A CN 113452676 B CN113452676 B CN 113452676B
- Authority
- CN
- China
- Prior art keywords
- detector
- detection
- gateway
- edge
- module
- 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.)
- Active
Links
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
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y10/00—Economic sectors
- G16Y10/80—Homes; Buildings
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y40/00—IoT characterised by the purpose of the information processing
- G16Y40/10—Detection; Monitoring
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y40/00—IoT characterised by the purpose of the information processing
- G16Y40/50—Safety; Security of things, users, data or systems
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Civil Engineering (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- Structural Engineering (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种检测器分配方法和物联网检测***,所述方法包括:接收边缘设备的检测请求;当所述边缘设备为网关设备时,根据所述网关设备对应的网关状态,确定所述网关设备对应的检测文件,其中,所述检测文件包括与所述网关设备对应的中转地址或设备检测器;将所述检测文件发送至所述边缘设备,并控制所述边缘设备基于所述检测文件进行网络流量检测。本发明中云端可根据当前边缘设备的类型以及状态,发送不同的检测文件,在保证边缘设备的检测精度的基础上,提高检测效率。
Description
技术领域
本发明涉及物联网领域,尤其涉及一种检测器分配方法和物联网检测***。
背景技术
针对物联网的安全检测***或监控***的部署位置,目前的部署思路是,检测设备最好能放置在尽可能接近攻击源头的位置,这样可以快速地将攻击检测出来,并在攻击造成大规模破坏之前做出及时有效的缓解措施。
在物联网僵尸网络中,被感染的物联网设备即攻击源头,这些设备持续的从攻击者处接收命令和控制(Command and Control,C&C)并使用各种手段破坏其他设备或服务,例如分布式阻断服务(Distributed Denial of Service,DDoS)攻击、扫描攻击、发送垃圾邮件、泄漏隐私数据等等。因此,边缘计算对于缓解利用物联网进行的网络攻击是一种有前景的部署方式,例如现有的一些方案使用家庭路由器作为边缘设备来部署入侵检测方案,监控智能家居物联网内的终端设备向外发出的流量。然而,一方面家庭路由器的资源可扩展性较差,以单个路由器作为边缘设备在实际使用中难以实现大规模的流量检测,检测效率低下,无法做到有效检测,另一方面,即使终端设备潜在的恶意行为可以被检测出,但普通消费者往往缺乏足够的安全意识和专业知识,无法对被感染设备做出进一步的有效措施,例如权限管理、漏洞修补、固件/软件更新、恶意IP封禁等等。因此,当前的检测设备部署方案无法在家用物联网领域取得有效的效果。
发明内容
本发明的主要目的在于提供一种检测器分配方法和物联网检测***,旨在解决现有技术中家庭物联网中检测设备的部署无法取得有效的检测效果的问题。
为实现上述目的,本发明提供一种检测器分配方法,所述检测器分配方法包括如下步骤:
接收边缘设备的检测请求;
当所述边缘设备为网关设备时,根据所述网关设备对应的网关状态,确定所述网关设备对应的检测文件,其中,所述检测文件包括与所述网关设备对应的中转地址或设备检测器;
将所述检测文件发送至所述边缘设备,并控制所述边缘设备基于所述检测文件进行网络流量检测。
可选地,所述的检测器分配方法,其中,所述当所述边缘设备为网关设备时,根据所述网关设备对应的网关状态,确定所述网关设备对应的检测文件,具体包括:
当所述边缘设备为网关设备时,根据预设的负载状态表,确定所述网关设备的网关状态;
当所述网关状态为空闲状态,则将与所述网关设备对应的设备检测器发送至所述网关设备;
当所述网关状态为过载状态,则根据所述网关设备的地址,确定所述网关设备对应的中转设备,并将所述设备检测器发送至所述中转设备,以及将所述中转设备的设备地址作为中转地址发送至所述网关设备。
可选地,所述的检测器分配方法,其中,所述设备检测器包括原始检测器和压缩检测器;
对所述原始检测器进行整型量化,生成压缩检测器。
此外,为实现上述目的,本发明还提供一种云端,其中,所述云端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的检测器分布程序,所述检测器分布程序被所述处理器执行时实现如上所述的检测器分配方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有检测器分布程序,所述检测器分布程序被处理器执行时实现如上所述的检测器分配方法的步骤。
此外,为实现上述目的,本发明还提供一种物联网检测***,其中,物联网检测***包括若干个终端设备、边缘设备和如上所述的云端;
所述终端设备用于向所述边缘设备发送连接请求和网络流量;
所述边缘设备包括请求模块和检测模块;
其中,所述请求模块用于当接收到所述终端设备发送的连接请求时,与所述终端设备建立通讯连接,并向所述云端发送检测请求;
所述检测模块用于当检测到所述物联网云端发送的检测文件时,基于所述检测文件对所述终端设备进行网络流量检测;
所述云端包括接收模块、查找模块和发送模块;
其中,所述接收模块用于接收边缘设备的检测请求;
所述查找模块用于当所述边缘设备为网关设备时,根据所述网关设备对应的网关状态,确定所述网关设备对应的检测文件,其中,所述检测文件包括与所述网关设备对应的中转地址或设备检测器;以及,
所述发送模块用于将所述检测文件发送至所述边缘设备,并控制所述边缘设备基于所述检测文件进行网络流量检测。
可选地,所述的物联网检测***,其中,所述查找模块包括:
状态模块,用于当所述边缘设备为网关设备时,根据预设的负载状态表,确定所述网关设备的网关状态;
第一确定模块,用于当所述网关状态为空闲状态,则将与所述网关设备对应的设备检测器作为所述网关设备对应的检测文件;
第二确定模块,用于当所述网关状态为过载状态,则根据所述网关设备的地址,确定所述网关设备对应的中转设备,并将所述设备检测器发送至所述中转设备,以及将所述中转设备的设备地址作为所述网关设备对应的检测文件。
可选地,所述的物联网检测***,其中,所述网关设备包括:
连接模块,用于当所述检测文件为中转地址时,根据所述设备地址,与所述中转设备建立通讯连接;
处理模块,用于当所述终端设备发送网络流量时,对所述网络流量进行预处理,生成包序列;
传输模块,用于将所述包序列发送至所述中转设备;以及,
当接收到所述包序列时,所述中转设备用于基于所述设备检测器,对所述包序列进行异常检测。
可选地,所述的物联网检测***,其中,所述发送模块还用于当所述边缘设备为边缘服务器时,将与所述边缘服务器对应的设备检测器作为检测文件发送至所述边缘服务器;
所述边缘服务器包括:
采集模块,用于当接收到所述终端设备发送的网络流量时,根据预设的监控时间,采集所述网络流量中的调整流量;
调整模块,用于基于所述调整流量,对所述设备检测器进行参数调整,得到微调检测器;流量检测模块,用于基于所述微调检测器,对所述终端设备进行流量检测。
可选地,所述的物联网检测***,其中,所述设备检测器包括自编码器、全连阶层,以及异常点检测器;
所述调整模块用于根据所述调整流量,对所述全连阶层和所述异常点检测器进行参数调整。本发明提供一种基于云边端***的检测器分配方法和物联网检测***。云端先接收边缘设备的检测请求,如果该边缘设备是以物联网网关为代表的网关设备,则说明该边缘设备的算力有限,因此需要根据当前边缘设备的网关状态,也就是负荷状态,选择其对应的检测文件。在检测文件中,包含有与该网关设备对应的中转地址或者设备检测器。因此当网关设备的状态为空闲的时候,网关设备可根据所获得的设备检测器进行检测;当网关设备的状态为过载时,也就是网关设备无法再进行更多的计算时,通过中转地址,通过中转地址对应的中转设备,实现网络流量检测的分担,从而提高检测效率,实现对异常物联网设备攻击的有效监控。
附图说明
图1是本发明检测器分配方法提供的较佳实施例中物联网检测***的模式图;
图2是本发明检测器分配方法提供的较佳实施例的流程图;
图3是本发明检测器分配方法提供的较佳实施例中当边缘设备为网关设备时的网络流量检测的示意图;
图4是本发明检测器分配方法提供的较佳实施例中当边缘设备为网关服务器络流量检测的示意图;
图5发明云端的较佳实施例的运行环境示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明较佳实施例所述的检测器分配方法,该检测器分配方法可通过云端执行,该云端可以是服务器、管理平台等。本实施例中,该云端与物联网检测***搭配工作,因此以物联网检测***工作流程为例进行检测器分配方法的描述。如图1所述,所述物联网检测***包括若干个终端设备、边缘设备和云端。
终端设备用于向所述边缘设备发送连接请求和网络流量;
边缘设备包括请求模块和检测模块;
所述云端包括接收模块、查找模块和发送模块;
其中,所述请求模块用于当接收到所述终端设备发送的连接请求时,与所述终端设备建立通讯连接,并向云端发送检测请求;
所述检测模块用于当检测到所述物联网云端发送的检测文件时,基于所述检测文件对所述终端设备进行网络流量检测;
所述接收模块用于接收边缘设备的检测请求;
所述查找模块用于当所述边缘设备为网关设备时,根据所述网关设备对应的网关状态,确定所述网关设备对应的检测文件;以及,
所述发送模块用于将所述检测文件发送至所述边缘设备,并控制所述边缘设备基于所述检测文件进行网络流量检测。
具体地,物联网检测***中包括云端、边缘设备和若干个终端设备。针对每一个终端设备,该终端设备在未加入物联网之前,先向边缘设备发送连接请求。边缘设备包括请求模块和检测模块。连接请求主要用于向边缘设备提出加入物联网的请求。当接收到所述终端设备发送的连接请求时,请求模块与所述终端设备建立通讯连接。其中,还可预先设定一个加入规则,只有符合该加入规则的终端设备才可加入物联网。在终端设备加入物联网后,边缘设备在每次终端设备向外界发送网络流量时,捕捉网络流量,并进行网络流量检测。
在本实施例中,由于每一个终端设备的发送网络流量的时间不一致,可能存在时间交叉重叠的现象,为了有效地对每一个加入物联网的终端能够及时地被检测,因此,请求模块在与所述终端设备建立通讯连接,还向所述云端发送检测请求,以获得用于检测的检测文件。
根据不同的使用场景,物联网中存在两种较为典型的作为云边端***的边缘设备的类型:一类是以物联网网关为代表的网关设备,例如家用无线路由器,该类边缘设备的计算资源一般比较弱,常见于智能家居、智能办公等使用场景;另一类是边缘服务器,例如由阿里云Link IoT Edge或亚马逊AWS IoTGreengrass支持的边缘主机,该类边缘设备的资源更充足,常用于智慧城市、工业物联网、企业物联网或较大规模的家用物联网。为了能够同时适配这两种不同类型的边缘设备的资源差异,本实施例会根据所使用的边缘设备类型,采用两种不同的运行模式。
针对物联网网络这一应用场景下,使用网关设备来提供异常检测服务的主要挑战在于资源短缺,尤其是对于基于机器学习算法的检测***。当物联网网络中的终端设备的数量持续增加时,网关设备会相应的从云端请求更多的检测器,而网关设备的算力有限,因此在存在更多的检测器时,会引起处理效率降低,资源的进一步短缺,导致处理延迟、影响网关正常功能等负面效果本实施例中云端包括接收模块、查找模块和发送模块,这些模块之间彼此通讯连接。基于云端,可对网关设备对应的设备检测器进行分配,如图2,其过程包括:
S100,接收边缘设备的检测请求;
S200,当所述边缘设备为网关设备时,根据所述网关设备对应的网关状态,确定所述网关设备对应的检测文件,其中,所述检测文件包括与所述网关设备对应的中转地址或设备检测器;
S300,将所述检测文件发送至所述边缘设备,并控制所述边缘设备基于所述检测文件进行网络流量检测。
具体地,接收模块用于接收边缘设备的检测请求。当所述边缘设备为网关设备时,查找模块根据所述网关设备对应的网关状态,确定所述网关设备对应的检测文件。
在本实施例的第一种实现方式中,在网关设备发送的检测请求中可包含网关设备对自身评估得到的网关状态,查找模块根据网关状态直接确定该网关设备对应的检测文件。
在本实施例的第二种实现方式中,如图3,采用多网关协同模式,通过协同利用多个网关的资源,我们可以减少单个网关的资源消耗压力。
查找模块确定网关设备对应的网关状态通过负载状态表实现。网关设备先对自身的资源进行资源评估,并根据评估的资源,设定一个在保持检测效率的基础上,所能够负载的设备检测器的最大数量,将最大数值记为预期数量,记为其中E1为该网关设备的编号。网关设备每次得到一个检测文件时,计算当前的设备检测器的数量,将其作为当前数量,记为然后比较当前数量和预期数量的大小,并根据两者的大小,对网关设备的负载状态进行更新。若则说明当前网关设备的网关状态为空闲状态,即还可再在该网关设备中增加设备检测器的数量,将负载状态的数值更新为1,可表示为若否,则说明当前网关设备的网关状态为过载状态,即已经过负荷工作,再增加设备检测器的数量会导致检测效率降低,将负载状态的数值更新为0,可表示为每对负载状态进行更新,网关设备都将负载状态发送至云端。云端再根据每一个网关设备的设备地址和其对应的负载状态汇总为负载状态表。当查找模块中的状态单元接收到检测请求时,根据预设的负载状态表,确定所述网关设备的网关状态。负载状态表中该网关设备对应的数值为0时,确定该网关设备的网关状态为过载状态;对应的数值为1时,确定该网关设备的网关状态为空闲状态。确定了网关状态后,查找模块再根据网关状态确定其对应的检测文件。
在本实施例中,若网关状态为空闲状态,则查找模块中的第一确定单元直接将该网关设备对应的设备检测器作为检测文件发送至该网关设备;若为过载状态,则查找模块中的第二确定单元根据该网关设备的地址,查找其对应的中转设备,同时将设备检测器发送至所述中转设备,以及将所述中转设备的设备地址作为检测文件中的中转地址发送至所述网关设备。在本实施例的第一种实现方式中,中转设备可以是预先设定的专用于对边缘终端所捕获的网络流量进行流量检测的设备。在本实施例的第二种实现方式中,中转设备是与云端连接的多个边缘设备的一员,云端先通过负载状态表中的负载状态值和各个边缘设备的地址,查找边缘设备中距离发出检测请求的网关设备较近且网关状态为空闲状态的网关设备,并将这一网关设备作为发出检测请求的网关设备对应的中转设备。
若检测文件是设备检测器,则网关设备基于设备检测器可对终端设备进行网络流量检测。若检测文件是中转地址,则网关设备根据所述设备地址,与所述中转设备建立通讯连接,并基于中转设备的设备检测器,对终端设备对外发出的网络流量进行网络流量检测,以达到多个网关设备协同工作的效果,提高边缘设备所能够进行网络流量检测的检测效率。
进一步地,本实施例中的设备检测器包括两种类型,一种是训练后直接使用的常规模式的检测器,称其为原始检测器,另一种是对原始检测器进行压缩后得到的压缩检测器。压缩检测器能够在提供网络流量的基础上减少检测器的大小,减小资源占用。本实施例中,对原始检测进行压缩的方式采用整型量化,即对所述原始检测器进行整型量化,生成压缩检测器。
同时,设备检测器可以是能够完整实现对网络流量进行检测的检测器,还可以是只包括实质性进行网络流量检测的检测器。如果不同终端设备对应的网络流量检测的工作流程等较为接近,而对网络流量进行预处理的部分可通过边缘设备统一执行,则设备检测器可主要进行预处理后,进行实质性网络流量检测的工作。所采用的设备检测器可包括基于稀疏表示的物联网边缘僵尸网络攻击检测等现有方式实现的设备检测器。在本实施例中,网关设备包括连接模块、处理模块和传输模块,其中,连接模块用于当所述检测文件为中转地址时,根据所述设备地址,与所述中转设备建立通讯连接。对网络流量进行检测的步骤由异常检测模块执行,异常检测模块包括捕捉器、预处理器以及若干个设备检测器组成,处理模块即包括异常检测模块中的捕捉器和预处理器两个部分。处理模块用于当所述终端设备发送网络流量时,对所述网络流量进行预处理,生成包序列。捕捉器以及预处理在一个边缘设备中可只设置一个,所有流经边缘设备的网络流量都会被捕捉器所捕捉,并将其输入预处理器。
预处理器的作用是将网络流量转换为机器学习模型可以输入的数据形式。目前方便计算的数据形式主要为向量形式,因此,以向量化为例进行说明。僵尸网络流量往往会展现出独特的序列特征,例如,连续的小数据包可能代表一条C&C连接正在等待接收攻击命令。因此,本实施例中,预处理器会将一组连续的数据包转化为一个序列数据样本,这样可以较好的揭示数据包之间的序列关系。
网络流量是由若干个数据包组成的,预处理器在收到网络流量时,先对网络流量中的每一个数据包进行向量化,得到若干个第一向量。根据数据包中的数据流入时间,对数据包中的数据进行排序,得到排序结果,然后根据排序结果中每一个数据的序号,将每一个数据包的字节进行排序整合,得到第一向量。其中,本实施例中用于排序整合的字节为比特,每个比特的数值在0到255之间。因此在特征提取方面,预处理器借鉴了深度学习在计算机视觉上的应用,使用数据包的原始字节作为特征,并使用深度学习来自动化的提取潜在特征,大幅减少了对基于专业知识的特征工程的依赖。
由于在进行及其学习的过程中容易出现过拟合的问题,因此需要对第一向量进行部分修改,减少过拟合的出现。然后针对每一个所述第一向量,根据预设的修改规则,对该第一向量进行修改,生成第二向量。本实施例中的修改规则包括预设的多个对第一向量进行修改的规则,本实施例中,修改规则中包括修改第一向量中本地网络配置字段的修改规则。基于该修改规则,数据链路层会被移除,网际互连协议(Internet Protocol,IP)地址会被零屏蔽,即原有的IP地址会被相同长度的0代替。此外,考虑到机器学习模型要求输入的长度是固定的,本实施例中,所述修改规则还包括对所述第一向量进行填补。每一个数据包都会被补零到最大传输单元(MaximumTransmission Unit,MTU)的长度,即1500字节,得到第二向量,保证数据包中数据的信息量被完整保留。
为了得到更好的收敛效果,预处理器再对该第二向量进行归一化,生成第三向量。本实施例中,将第二向量中的每一个字节除以字节的最大值255,转换成一个介于0到1之间的值。至此,一个数据包被转化成了一个1500维的第三向量,即:
其中,bn(n∈[1,d])为该数据包对应的每一个字节,T为转置,bn∈[0,1],d即前文的第三向量的维数,为1500。
然后预处理器根据所述第三向量,生成所述网络流量对应的若干个包序列。在本实施例的第一种实现方式中,直接将来源于同一个终端设备的网络流量所对应的第三向量作为对应的包序列,进行后续的分析。
由于不同的网络连接对应的服务功能不同,因此在数据上可能存在一定的相似性。例如某一终端设备为智能电视,智能电视包括拍摄、录音、视频流获取等功能,而不同的功能所对应的连接端口会存在差异,从而导致不同的连接负责不同的活动。因此,预处理将来自于同一个连接的数据包进行数据包聚合。同一个连接即指与相同IP地址或域名使用相同的端口号建立的连接,例如该智能电视的摄像头和域名“***.com”使用端口8080发送的所有数据包可视为来自于同一个连接,则智能电视发送的网络流量中来源于与端口8080建立连接的数据包归为一类。并且将聚合后的数据包采用一个滑动窗口进行缓存,而每一个滑动窗口可视为一个矩阵。
针对每一个终端设备,根据网络连接的不同,设置若干个不同的先进先出的空白矩阵。由于在实际处理中,预处理器是根据时间顺序依次处理的,因此在获取数据包时,针对每一个所述数据包,根据该数据包对应的网络连接,确定与该数据包对应的样本矩阵。当样本矩阵中不存在数据时,样本矩阵即预设的空白矩阵。依次将所述第三向量填入所述样本矩阵,生成网络流量对应的包序列,即样本矩阵会存储来自于同一条连接ci的连续数据包并组成序列数据样本。如果被填满,则输出一个包序列X,如下所示:
在本实施例的第一种实施方式中,在每一次填入后,判断样本矩阵是否被填满,若是,则将填满后的样本矩阵作为网络流量对应的包序列;若否,则所述样本矩阵继续等待后续的第三向量,直至被填满。
此过程可视为样本矩阵在依次输入的第三向量组成的序列上以矩阵长度为单位进行间隔采样。在本实施例的第二种实施方式中,先将空白的样本矩阵填满,当每得到一个第三向量时,将所述样本矩阵中最先填入的第三向量排除,并写入新得到的样本矩阵,得到新的包序列。此过程可视为样本矩阵在依次输入的第三向量组成的序列上以单个向量为单位进行采样。其中,经过试验,第二种实施方式会导致需要检测的序列样本过多从而降低效率,而且第一张实施方式和第二种实施方式得到的检测效果差异不大,因此本实施例以第一种实施方式为例进行后续描述。
值得注意的是,本实施例中的样本矩阵的大小中的行数为前文的维数d,列数可随机设置。考虑到功能的不同,终端设备可以被分类为流数据类设备和控制类设备,前者如智能电视、摄像头,后者如智能点灯,WiFi插座。一般而言,流数据类设备的数据流长度较长,控制类设备的数据流长度较短。而针对序列模型,序列长度越长,包含的信息量越大,但学***衡信息量和训练难度,减少精确度的偏差。本实施例中,预处理器在设置空白矩阵之前,会获取若干个终端设备的设备类型和各个所述终端设备的网络数据,其中,设备类型就包括流数据类和控制类。对来源同一设备类型的五元组流进行采样,并计算流样本的数量。然后根据五元组流和流样本数量,计算该设备类型对应的矩阵长度。本实施例中采用的计算方式为根据预设的窗口长度公式,确定矩阵长度。窗口长度公式为:
其中,fi代表采样的五元组流,k代表流样本数量。计算得到矩阵长度后,将矩阵长度作为样本矩阵的列数,将向量维数作为样本矩阵的行数,及确定了样本矩阵的大小。
若当前网关设备的网关状态为空闲状态,则云端将设备检测器发送至网关设备后,网关设备直接采用设备检测器对预处理得到的包序列进行检测。若当前网关设备的网关状态为过载状态,则网关设备中的传输模块将所述包序列发送至所述中转设备。
为提高对包序列的检测效率,本实施例中的设备检测器包括自编码器和一个异常点检测器,其中,自编码器可采用收缩自编码器、正则自编码器等,本实施例中所选用的自编码器为一个长短记忆自编码器。而异常点检测器包含一个异常点检测算法,可以达到对自编码器编码后的数据进行异常点检测。
将包序列输入本实施例中的已训练的自编码器,本实施例采用的自编码器为长短期记忆自编码器。长短期记忆自编码是一种无监督模型,能够将输入的包序列转换为另一个序列。一个自编码器在训练时,需要编码器、解码器和全连接层联合训练。先收集大量的通过对正常数据进行上述的预处理过程的到的数据作为训练数据,本实施例中的正常数据是指一般状态下传输数据,相对而言,异常数据为用于攻击的传输数据,例如僵尸数据。编码器其首先将输入的训练数据压缩成一个低纬度的潜在隐式表达,对于一个输入的训练数据 每一个遵循以下变换:
ct=ft·ct-1+it·lt;
ht=ot·tanh(ct)。
其中,在长短期记忆自编码模型中,序列要依次处理,因此将t代表时间序列的时刻,t-1表示上一个时刻网络的输出值;c表示某一时刻的单元状态;[]表示将两个向量连接成一个更长的向量;σ表示激活函数sigmoid;tanh表示激活函数tanh;长短期记忆自编码模型由三个门组成,每个门是一个由权重矩阵Wq和偏置项bq(q∈[l,o,i])组成的全连接层。三个门分别为遗忘门(forgetgate)、输入门(inputgate)和输出门(output gate)。遗忘门决定了上一时刻的单元状态ct-1有多少保留到当前时刻,可以保存很久之前的信息,Wf表示遗忘门的权重矩阵,bf是遗忘门的偏置项;输入门决定了当前时刻网络的输入有多少保存到单元状态ct,可以避免当前无关紧要的内容输入记忆,Wi表示输入门的权重矩阵,bi是输入门的偏置项;输出门决定了单元状态ct有多少输出到LSTM当前时刻的输出值ht,Wo表示输出门的权重矩阵,bo是输出门的偏置项。lt用于描述当前输入的单元状态,使用遗忘门值ft乘以上一时刻单元状态ct-1,再使用输入门值it乘以lt,二者相加得到当前时刻的单元状态ct,再使用输出门值ot乘以ct的tanh激活值即可得到当前时刻的输出值ht。ht即时间戳为t的隐式表达。之后,解码器使用和编码器相同的神经元数量将隐式表进行解码,得到一个高维度表达。最后,全连接层将该表达映射为一个与输入的训练序列长度和维度相同的结果序列,记作
然后根据预设的损失函数,计算结果序列和训练序列之间得到差异,得到两者之间的训练误差。本实施例中计算两者之间训练误差的方式为均方根误差(Root MeanSquare Error,RMSE),公式如下:
RMSE可以被解释为自训练序列进行重构产生的误差,然后基于误差值反向传输回自编码器中,调整模型的参数,以实现最小化训练序列和结果序列之间的差异。
对编码器和解码器训练完成后,由于在自编码器训练的过程中,采用的训练数据为正常数据,因此在推断阶段,由异常数据得到的误差值会偏离由正常数据得到的误差值,因此可检测出异常。
将前文获取的包序列输入已训练的自编码器中,自编码器对其像对待训练数据一样进行编码和解码,从而对该包序列进行重构,生成该包序列对应的重构序列。
在本实施例的第一种实现方式中,预先设定一个重构误差阈值,当得到包序列对应的重构序列后,根据对自编码器进行训练时采用的损失函数,计算该包序列与重构序列之间的误差,得到重构误差,然后判断重构误差是否在重构误差阈值范围内,从而确定该包序列是否为异常序列。
在本实施例的第二种实现方式中,在对自编码器进行训练过程中,将所述训练误差输入所述异常点检测模型,并通过所述异常点检测模型计算与所述训练误差对应的误差阈值。通过多种模型对比以及实现,本实施例所选用的异常点检测算法中的新奇点检测算法,而非离群点检测算法,本实施例将新奇点计策算法中的单类支持向量机作为优选的异常点检测器。单类支持向量机是一种典型的高效的新奇点检测算法。因此当重构误差输入异常点检测器中,异常点检测器可判断所述重构误差是否小于或等于所述误差阈值。若是,则确定所述包序列对应的流量类型为正常流量;若否,则确定所述包序列对应的流量类型为异常流量。
在得到了每一个包序列对应的序列类型后,由于包序列对应网络流量中的数据包,因此对包序列的序列类型的判断可视作对网络流量中正常数据包的分布情况的判断,从而可进一步确定网络流量的流量类型。
例如多个包序列对应的网络连接为网络连接A,且对应的序列类型都为异常序列,则将与网络连接A进行传输的数据包确定为异常流量数据,从而该终端设备的网络流量类型为流量异常,该终端设备可能是异常设备,即被攻击设备或攻击设备。
之后,边缘网关根据检测结果生成与该终端设备对应的检测报告并发送至管理平台。检测报告可定时发送,或当检测结果为异常设备时,再将检测报告发送至管理平台。即若是转设备完成了某一终端设备的检测结果,则由中转设备发送与该终端设备对应的检测报告。
基于上述的设备检测器,本实施例中的原始检测器即训练完成的自编码器和异常点检测器,而压缩检测器是对自编码器进行整型量化的检测器。主要方式是使用训练后量化技术将长短期记忆自编码器中32比特的浮点型权重转化成8比特的整型权重,从而将长短期记忆自编码器的大小缩小了75%,并且可以实现推理过程两倍的加速。经过测试,压缩检测器的准确度相较于原始检测器下降是非常微小。
对于大型物联网网络,边缘设备也可以是某种部署在靠近位置的边缘服务器,例如个人电脑、本地服务器或边缘云。相较于网关设备,边缘服务器一般具备更充足的计算资源来支持更复杂的进程。在大型物联网网络中,由于终端设备众多,不同终端设备的行为模式会与本地环境和用户偏好有更好的相关度。例如,一部分用户偏向使用app控制一台Wi-Fi摄像头,而一些用户则倾向使用语音助手与之交互。这种情况下,即使是相同类型的终端设备也可能呈现差异较大的流量特征,同一训练的设备检测器可能无法包含不同使用情况下的所有特征,因此误警率会有所上升。
在本实施例中,如图4所示,采用自适应模式进行边缘服务器的网络流量的检测。自适应模式主要是通过对设备检测器的微调,使之变为更加适应本地环境和用户偏好的特定检测器。由于边缘服务器的计算能力更充足,在边缘设备上对设备检测器进行再训练是可行的。设备检测器使用来自当前环境下的终端设备发出的网络流量进行再训练,可以更好的对当前使用偏好进行活动侧写,使检测器更加适应当前环境。边缘服务器包括采集模块、调整模块和流量检测模块。
首先,当边缘设备为边缘服务器时,云端的发送模块还将与所述边缘服务器对应的设备检测器作为检测文件发送至所述边缘服务器。边缘服务器接收到终端设备发送的网络流量时,先采集一定时间区间内的网络流量作为调整流量。大部分的终端设备在接入物联网后,流量行为会发生一定的偏好变化,但经过一段时间趋于稳定,可将其作为正常的网络流量。不同的终端设备的设备类型趋于稳定的时间不同,例如交互性较强的语音助手的行为会更为复杂,因此预先为不同类型的终端设备设置不同的监控时间,在捕捉网络流量时,根据这一监控时间,采集网络流量作为用于调整设备检测器的调整流量。然后基于流量数据调整流量,对所述设备检测器进行参数调整,得到微调检测器。边缘服务器包括调整模块,调整模块用于对设备检测器进行微调。
在本实施例的第一种是实现方式中,是对设备检测器中的所有组分,包括自编码器和异常点检测器。这一种方式虽然微调效果更好,但是计算资源更多,耗时更长。在第二种实现方式中,微调的对象只有全连阶层以及异常点检测器。一方面因为全连阶层和异常点检测器的主要任务是提取潜在特征,这一过程对于同类型的设备来说是基本一致的;另一方面是训练这两层需要的计算资源更多,耗时更长,而只训练全连接层和异常点检测器可以大幅减少再训练时间,从而减少在再训练过程中设备被感染的可能性。经过试验,只需要使用少量的采样自本地环境和用户偏好的调整流量对设备检测器进行再训练,就可以使调整后得到的微调检测器的误警率大幅减少。在得到微调检测器后,再基于所述微调检测器,对终端设备进行流量检测。
进一步地,如图5所述,基于上述检测器分配方法,本发明还相应提供了一种云端,所述云端包括处理器10、存储器20及显示器30。图5仅示出了云端的部分组件,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
所述存储器20在一些实施例中可以是所述云端的内部存储单元,例如云端的硬盘或内存。所述存储器20在另一些实施例中也可以是所述云端的外部存储设备,例如所述云端上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器20还可以既包括所述云端的内部存储单元也包括外部存储设备。所述存储器20用于存储安装于所述云端的应用软件及各类数据,例如所述安装云端的程序代码等。所述存储器20还可以用于暂时地存储已经输出或者将要输出的数据。在一实施例中,存储器20上存储有检测器分布程序40,该检测器分布程序40可被处理器10所执行,从而实现本申请中检测器分配方法。
所述处理器10在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行所述存储器20中存储的程序代码或处理数据,例如执行所述检测器分配方法等。
所述显示器30在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。所述显示器30用于显示在所述云端的信息以及用于显示可视化的用户界面。所述云端的部件10-30通过***总线相互通信。
在一实施例中,当处理器10执行所述存储器20中检测器分布程序40时实现以下步骤:
接收边缘设备的检测请求;
当所述边缘设备为网关设备时,根据所述网关设备对应的网关状态,确定所述网关设备对应的检测文件,其中,所述检测文件包括与所述网关设备对应的中转地址或设备检测器;
将所述检测文件发送至所述边缘设备,并控制所述边缘设备基于所述检测文件进行网络流量检测。
本发明还提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有检测器分布程序,所述检测器分布程序被处理器执行时实现如上所述的检测器分配方法的步骤。
当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来完成,所述的程序可存储于一计算机可读取的计算机可读存储介质中,所述程序在执行时可包括如上述各方法实施例的流程。其中所述的计算机可读存储介质可为存储器、磁碟、光盘等。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (9)
1.一种检测器分配方法,其特征在于,所述检测器分配方法包括:
接收边缘设备的检测请求;
当所述边缘设备为网关设备时,根据所述网关设备对应的网关状态,确定所述网关设备对应的检测文件,其中,所述检测文件包括与所述网关设备对应的中转地址或设备检测器;
所述当所述边缘设备为网关设备时,根据所述网关设备对应的网关状态,确定所述网关设备对应的检测文件,具体包括:
当所述边缘设备为网关设备时,根据预设的负载状态表,确定所述网关设备的网关状态;
当所述网关状态为空闲状态,则将与所述网关设备对应的设备检测器发送至所述网关设备;
当所述网关状态为过载状态,则根据所述网关设备的地址,确定所述网关设备对应的中转设备,并将所述设备检测器发送至所述中转设备,以及将所述中转设备的设备地址作为中转地址发送至所述网关设备;
将所述检测文件发送至所述边缘设备,并控制所述边缘设备基于所述检测文件进行网络流量检测。
2.根据权利要求1所述的检测器分配方法,其特征在于,所述设备检测器包括原始检测器和压缩检测器;
对所述原始检测器进行整型量化,生成压缩检测器。
3.一种云端,其特征在于,所述云端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的检测器分布程序,所述检测器分布程序被所述处理器执行时实现如权利要求1-2中任意一项所述的检测器分配方法的步骤。
4.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有检测器分布程序,所述检测器分布程序被处理器执行时实现如权利要求1-2中任意一项所述的检测器分配方法的步骤。
5.一种物联网检测***,其特征在于,所述物联网检测***包括若干个终端设备、边缘设备和如权利要求3所述的云端;
所述终端设备用于向所述边缘设备发送连接请求和网络流量;
所述边缘设备包括请求模块和检测模块;
其中,所述请求模块用于当接收到所述终端设备发送的连接请求时,与所述终端设备建立通讯连接,并向所述云端发送检测请求;
所述检测模块用于当检测到所述物联网云端发送的检测文件时,基于所述检测文件对所述终端设备进行网络流量检测;
所述云端包括接收模块、查找模块和发送模块;
其中,所述接收模块用于接收边缘设备的检测请求;
所述查找模块用于当所述边缘设备为网关设备时,根据所述网关设备对应的网关状态,确定所述网关设备对应的检测文件,其中,所述检测文件包括与所述网关设备对应的中转地址或设备检测器;以及,
所述发送模块用于将所述检测文件发送至所述边缘设备,并控制所述边缘设备基于所述检测文件进行网络流量检测。
6.根据权利要求5所述的物联网检测***,其特征在于,所述查找模块包括:
状态单元,用于当所述边缘设备为网关设备时,根据预设的负载状态表,确定所述网关设备的网关状态;
第一确定单元,用于当所述网关状态为空闲状态,则将与所述网关设备对应的设备检测器作为所述网关设备对应的检测文件;
第二确定单元,用于当所述网关状态为过载状态,则根据所述网关设备的地址,确定所述网关设备对应的中转设备,并将所述设备检测器发送至所述中转设备,以及将所述中转设备的设备地址作为所述网关设备对应的检测文件。
7.根据权利要求6所述的物联网检测***,其特征在于,所述网关设备包括:
连接模块,用于当所述检测文件为中转地址时,根据所述设备地址,与所述中转设备建立通讯连接;
处理模块,用于当所述终端设备发送网络流量时,对所述网络流量进行预处理,生成包序列;
传输模块,用于将所述包序列发送至所述中转设备;以及,
当接收到所述包序列时,所述中转设备用于基于所述设备检测器,对所述包序列进行异常检测。
8.根据权利要求6所述的物联网检测***,其特征在于,所述发送模块还用于当所述边缘设备为边缘服务器时,将与所述边缘服务器对应的设备检测器作为检测文件发送至所述边缘服务器;
所述边缘服务器包括:
采集模块,用于当接收到所述终端设备发送的网络流量时,根据预设的监控时间,采集所述网络流量中的调整流量;
调整模块,用于基于所述调整流量,对所述设备检测器进行参数调整,得到微调检测器;
流量检测模块,用于基于所述微调检测器,对所述终端设备进行流量检测。
9.根据权利要求8所述的物联网检测***,其特征在于,所述设备检测器包括自编码器、全连阶层,以及异常点检测器;
所述调整模块用于根据所述调整流量,对所述全连阶层和所述异常点检测器进行参数调整。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110583804.9A CN113452676B (zh) | 2021-05-27 | 2021-05-27 | 一种检测器分配方法和物联网检测*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110583804.9A CN113452676B (zh) | 2021-05-27 | 2021-05-27 | 一种检测器分配方法和物联网检测*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113452676A CN113452676A (zh) | 2021-09-28 |
CN113452676B true CN113452676B (zh) | 2022-05-10 |
Family
ID=77810492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110583804.9A Active CN113452676B (zh) | 2021-05-27 | 2021-05-27 | 一种检测器分配方法和物联网检测*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113452676B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114520736B (zh) * | 2022-01-24 | 2023-08-22 | 广东工业大学 | 一种物联网安全检测方法、装置、设备及存储介质 |
CN114448830B (zh) * | 2022-03-07 | 2024-04-05 | 中国农业银行股份有限公司 | 一种设备检测***及方法 |
CN114826963B (zh) * | 2022-03-31 | 2023-07-14 | 鹏城实验室 | 一种基于设备行为的物联网设备检测方法及*** |
CN117675622A (zh) * | 2024-01-15 | 2024-03-08 | 广东云百智联科技有限公司 | 一种物联网设备流量可视化展示*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103166926A (zh) * | 2011-12-14 | 2013-06-19 | 中国科学院沈阳计算技术研究所有限公司 | 一种SIP DDoS攻击分布式防御***及其负载均衡方法 |
WO2017113273A1 (zh) * | 2015-12-31 | 2017-07-06 | 华为技术有限公司 | 一种软件定义数据中心及其中的服务集群的调度和流量监控方法 |
CN111817917A (zh) * | 2020-07-03 | 2020-10-23 | 中移(杭州)信息技术有限公司 | 一种深度包检测的方法、装置、服务器及存储介质 |
CN111866040A (zh) * | 2019-04-28 | 2020-10-30 | 深圳长城开发科技股份有限公司 | 用于LoRa服务器的网关负载均衡方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110611590A (zh) * | 2019-09-16 | 2019-12-24 | 南京国电南自电网自动化有限公司 | 一种物联网网关通信备份的方法和*** |
US11153350B2 (en) * | 2019-09-16 | 2021-10-19 | Fortinet, Inc. | Determining on-net/off-net status of a client device |
-
2021
- 2021-05-27 CN CN202110583804.9A patent/CN113452676B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103166926A (zh) * | 2011-12-14 | 2013-06-19 | 中国科学院沈阳计算技术研究所有限公司 | 一种SIP DDoS攻击分布式防御***及其负载均衡方法 |
WO2017113273A1 (zh) * | 2015-12-31 | 2017-07-06 | 华为技术有限公司 | 一种软件定义数据中心及其中的服务集群的调度和流量监控方法 |
CN111866040A (zh) * | 2019-04-28 | 2020-10-30 | 深圳长城开发科技股份有限公司 | 用于LoRa服务器的网关负载均衡方法和装置 |
CN111817917A (zh) * | 2020-07-03 | 2020-10-23 | 中移(杭州)信息技术有限公司 | 一种深度包检测的方法、装置、服务器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113452676A (zh) | 2021-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113364752B (zh) | 一种流量异常检测方法、检测设备及计算机可读存储介质 | |
CN113452676B (zh) | 一种检测器分配方法和物联网检测*** | |
CN111935170B (zh) | 一种网络异常流量检测方法、装置及设备 | |
US8402543B1 (en) | Machine learning based botnet detection with dynamic adaptation | |
WO2018054342A1 (zh) | 一种网络数据流分类的方法及*** | |
US20170374090A1 (en) | Using a machine learning classifier to assign a data retention priority for network forensics and retrospective detection | |
CN111464485A (zh) | 一种加密代理流量检测方法和装置 | |
US11516311B2 (en) | Distributed machine-learning resource sharing and request routing | |
CN110417729B (zh) | 一种加密流量的服务与应用分类方法及*** | |
CN112804253B (zh) | 一种网络流量分类检测方法、***及存储介质 | |
US20220303198A1 (en) | Method and apparatus for detecting anomaly of traffic of internet of things device based on automata | |
Ma | Analysis of anomaly detection method for Internet of things based on deep learning | |
US11368482B2 (en) | Threat detection system for mobile communication system, and global device and local device thereof | |
Kanzaki et al. | Video streaming schemes for industrial IoT | |
CN115499230A (zh) | 网络攻击检测方法和装置、设备及存储介质 | |
US20190124094A1 (en) | Active prioritization of investigation targets in network security | |
CN114866310A (zh) | 一种恶意加密流量检测方法、终端设备及存储介质 | |
Dvir et al. | Clustering the unknown-the youtube case | |
CN112468509A (zh) | 一种基于深度学习技术的流量数据自动检测方法及装置 | |
Zhai et al. | Detection of TCP covert channel based on Markov model | |
CN105099799A (zh) | 僵尸网络检测方法和控制器 | |
Okui et al. | Identification of an iot device model in the home domain using ipfix records | |
Dener et al. | RFSE-GRU: Data balanced classification model for mobile encrypted traffic in big data environment | |
CN111291078A (zh) | 一种域名匹配检测方法及装置 | |
CN115022100B (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 |