CN113765896A - 基于人工智能的物联网实现系统及方法 - Google Patents

基于人工智能的物联网实现系统及方法 Download PDF

Info

Publication number
CN113765896A
CN113765896A CN202110951807.3A CN202110951807A CN113765896A CN 113765896 A CN113765896 A CN 113765896A CN 202110951807 A CN202110951807 A CN 202110951807A CN 113765896 A CN113765896 A CN 113765896A
Authority
CN
China
Prior art keywords
internet
flow table
control terminal
things
matching
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110951807.3A
Other languages
English (en)
Other versions
CN113765896B (zh
Inventor
叶峰
张福春
刘平平
杨国宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Foshan Anyun Technology Co ltd
Guangdong Sanshui Institute Of Hefei University Of Technology
Original Assignee
Foshan Anyun Technology Co ltd
Guangdong Sanshui Institute Of Hefei University Of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Foshan Anyun Technology Co ltd, Guangdong Sanshui Institute Of Hefei University Of Technology filed Critical Foshan Anyun Technology Co ltd
Priority to CN202110951807.3A priority Critical patent/CN113765896B/zh
Publication of CN113765896A publication Critical patent/CN113765896A/zh
Application granted granted Critical
Publication of CN113765896B publication Critical patent/CN113765896B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/16Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种基于人工智能的物联网实现系统及方法,系统包括服务器、控制终端和物联网设备,其中,所述控制终端用于获取所述服务器的指令或信息,并将所述指令或信息传输至所述物联网设备,以及获取所述物联网设备发送的请求或信息,并将所述请求或信息传输至所述服务器,其中,所述控制终端设置有开放接口能够接入第三方应用,并周期性地向物联网设备发送指令以获取物联网设备的自身状态信息。通过该设置方式,控制终端作为链接物联网设备和外接网络的枢纽,其控制和管理数据的转发策略,并具有可编程特性。而且,控制终端具有访问物联网设备的最高权限,因此通过控制终端增加开放接口可以提高物联网的开放性。

Description

基于人工智能的物联网实现系统及方法
技术领域
本发明涉及互联网技术领域,具体涉及一种基于人工智能的物联网实现系统及方法。
背景技术
人工智能(Artificial Intelligence,AI)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能够以与人类智能相似的方式做出反应的智能机器,该领域的研究包括智能点餐机器人、语言识别、图像识别、自然语言处理和专家系统等。
物联网是新一代信息技术的重要组成部分,也是“信息化”时代的重要发展阶段,是物物相连的互联网。利用局部网络或互联网等通信技术把传感器、控制器、机器、人员和物等通过新的方式联在一起,形成人与物、物与物相联,实现信息化、远程管理控制和智能化的网络。
传统的物联网解决方案,通常是家里有一个控制中心(如网关,智能音箱等),控制中心与家里的各种电器相连接。用户使用手机远程地与家里的控制中心上的应用交互,从而控制家里的各种电器等。但是,目前的物联网解决方案都不够智能和开放。
例如,公开号为CN105847099B的中国专利文献公开了一种基于人工智能的物联网实现系统和方法,该基于人工智能的物联网的实现系统包括:云端中控系统、家庭智能中控系统和家庭智能终端。所述家庭智能中控系统通过本地模块为用户提供信息或服务;或者,所述家庭智能中控系统与所述云端中控系统相互配合,为用户提供信息或服务。所述家庭智能终端用于响应所述家庭智能中控系统发送的控制指令,和/或,向所述家庭智能中控系统发送自身状态信息。该系统能够提高物联网的智能性和开放性。但是该专利文献公开的技术方案是以家庭智能中控系统作为整个家庭物联网的控制中心,家庭智能终端主动向家庭智能中控系统发送自身状态信息,并且家庭智能中控系统设置有开放接口,使得第三方应用能够通过家庭智能中控系统中的开放端口调用客户端中的模块,可以提高物联网的开放性。另外,该专利文献提出通过语音、语义、情感分析、人脸识别等模块提高物联网的智能程度。但是,在提高物联网的开放性和智能程度的同时,也导致第三方恶意入侵或者恶意攻击的风险增加,也可能成为恶意攻击网络、服务器、中间设备的媒介。例如,可以利用物联网的开放接口,自动寻找接入开放接口的物联网设备,并将连接的物联网设备变成僵尸网络的一部分,并利用大量的物联网设备发起大规模的分布式拒绝服务攻击(DistributedDenial of Service,DDOS),从而使得被攻击的服务提供商或者服务器瘫痪。例如,通过安全漏洞造成家庭智能中控系统异常,比如切断与家庭智能终端的连接,还比如替代家庭智能中控系统管控家庭智能终端造成家庭智能终端异常耗电以及通信量增加。而且,由于物联网设备通常不具备交互界面,普通用户一方面很难发现自己的物联网设备被攻击,另一方面即使发现也不便于处理。因此,需要在提高物联网开放程度和智能程度的同时提高安全性。
此外,一方面由于对本领域技术人员的理解存在差异;另一方面由于发明人做出本发明时研究了大量文献和专利,但篇幅所限并未详细罗列所有的细节与内容,然而这绝非本发明不具备这些现有技术的特征,相反本发明已经具备现有技术的所有特征,而且申请人保留在背景技术中增加相关现有技术之权利。
发明内容
针对现有技术之不足,本发明提供一种基于人工智能的物联网实现系统,包括服务器、控制终端和物联网设备。所述控制终端用于获取所述服务器的指令或信息,并将所述指令或信息传输至所述物联网设备。所述控制终端用于获取所述物联网设备发送的请求或信息,并将所述请求或信息传输至所述服务器。所述控制终端设置有开放接口能够接入第三方应用,并周期性地向物联网设备发送指令以获取物联网设备的自身状态信息。控制终端作为链接物联网设备和外接网络的枢纽,其控制和管理数据的转发策略,并具有可编程特性。而且,控制终端具有访问物联网设备的最高权限,因此通过控制终端增加开放接口可以提高物联网的开放性。例如,可以在控制终端部署操作系统和编程接口,进而用户可以通过控制终端对物联网进行编程,建立动态的数据转发策略,或者可以通过编程为不同的应用或者开发者提供开放的入口,进而通过控制终端增加物联网的开放性。但是开放性的提高以增加了网络攻击的风险。本发明利用轻量级的计算数据包请求动作的熵值的方式判断网络是否存在异常,相对机器学习、神经网络、深度学习等算法通过训练学习共同知识模式检测网络攻击造成的网络异常,能够大度降低控制终端消耗的资源,而且能够避免攻击者反向训练将异常网络行为误判为正常行为;另一方面,本发明提取数据包请求的动作作为判断网络是否异常的特征,相对及机器学习、神经网络或者深度学习等算法具有更为高效的判断效率和更低的误报率。此外,同第一阈值、第二阈值和第三阈值的设定,能够更加实用网络的频繁变化和后期物联网设备的扩展。
根据一种优选实施方式,控制终端配置为按照如下步骤执行匹配操作:
为流表的流表项设定用于匹配耗时的第一时间;
在第一时间内查找与数据包的包头内容相同的流表项包头域;
若第一时间内未查找到与数据包的包头内容相同的流表项包头域,则判定匹配不成功。
根据一种优选实施方式,所述控制终端配置为:
在流表匹配的成功率小于第一阈值的情况下,按照时间先后顺序排序匹配不成功的数据包,并进行分组;
解析每个分组内数据包请求的动作的熵值;
获取熵值小于第二阈值的第一分组;
若第一分组连续出现且连续出现的数量大于第三阈值,则丢弃连续出现的数量大于第三阈值的多个第一分组。
根据一种优选实施方式,所述控制终端配置为:
若数据包请求的动作在多个分组内的熵值均大于第二阈值,则基于流表中流表项的匹配成功次数及匹配成功时间的先后顺序动态地为流表项分配权值,并按照流表项权值的顺序匹配多个分组内的数据包。
根据一种优选实施方式,所述控制终端配置为将流表项划分为第一流表项集合和第二流表项集合。所述第一流表项集合为过去第二时间内匹配成功的至少一个流表项构成的集合。所述第二流表项集合为流表中剔除第一流表项后剩余的多个流表项构成的集合。
根据一种优选实施方式,所述控制终端配置为:
为第一流表项集合分配最高的权值,并基于第一流表项集合匹配多个分组内的数据包。在第一流表项集合匹配多个分组内的数据包的时间超过第三时间的情况下,将第一流表项集合的权值降低至最低,并基于第二流表项集合匹配多个分组内的数据包。
根据一种优选实施方式,所述控制终端配置为:
基于第一流表项集合内流表项成功匹配的时间先后顺序分配流表项匹配的第一权值;
基于第二流表项集合内流表项成功匹配的次数分配流表项匹配的第二权值。
根据一种优选实施方式,所述控制终端配置为:
将与第一流表项集合和第二流表项集合匹配成功的数据包从多个分组内剔除,并按时间先后顺序排列后通过窗口分割得到多个第二分组;
为第二分组内的数据包分配虚拟流表和虚拟流表项;
执行第二分组内数据包请求的动作;
计算得到响应数据包的数量与总数据包的数量的比值;
获取得到响应数据包数量与总数据包数量的比值小于第四阈值的第三分组;
若第三分组连续出现且连续出现的数量大于第三阈值,则丢弃连续出现的数量大于第三阈值的多个第三分组。
本发明还提供一种基于人工智能的物联网实现方法,所述物联网实现方法包括:
控制终端转发和控制物联网设备以及服务器传输的数据包;
所述控制终端设置有开放接口能够接入第三方应用从而向所述物联网设备发送信息。
根据一种优选实施方式,所述物联网实现方法还包括:
在流表匹配的成功率小于第一阈值的情况下,按照时间先后顺序排序匹配不成功的数据包,并进行分组;
解析每个分组内数据包请求的动作的熵值;
获取熵值小于第二阈值的第一分组;
若第一分组连续出现且连续出现的数量大于第三阈值,则丢弃连续出现的数量大于第三阈值的多个第一分组。
附图说明
图1是本发明系统的一种优选实施方式的模块示意图;
图2是本发明方法的一种优选实施方式的步骤流程图。
附图标记列表
100:服务器;200:控制终端;300:物联网设备。
具体实施方式
下面结合附图进行详细说明。
分布式拒绝服务攻击(Distributed Denial of Service,DDOS)是指处于不同位置的多个攻击者同时向一个或数个目标发动攻击,或者一个攻击者控制了位于不同位置的多台机器并利用这些机器对受害者同时实施攻击。由于攻击的发出点是分布在不同地方的,这类攻击称为分布式拒绝服务攻击,其中的攻击者可以有多个。分布式拒绝服务攻击是一种基于DoS的特殊形式的拒绝服务攻击,是一种分布的、协同的大规模攻击方式。单一的DoS攻击一般采用一对一方式,利用网络协议和操作系统的一些缺陷,采用欺骗和伪装的策略进行网络攻击,使网站服务器充斥大量要求回复的信息,消耗网络带宽或系统资源,导致网络或系统不胜负荷,最终瘫痪而停止提供正常的网络服务。与由单台主机发起攻击的DoS攻击相比较,分布式拒绝服务攻击DDoS是借助数百、甚至数千台被入侵后安装了攻击进程的主机同时发起的集团行为。在进行分布式拒绝服务攻击前,入侵者必须先控制大量的无关主机,并在这些机器上安装进行拒绝服务攻击的软件。事实上,人工智能可以增加物联网及物联网设备300的安全性,比如通过机器学习、神经网络算法、深度学习、随机森林等算法正确辨识请求、发现异常以及预测漏洞等方式提高安全能力,例如可以通过计算网络中的熵值检测DDoS的攻击。然而,利用人工智能检测潜在的攻击行为需要长时间的训练过程,难以适用于控制终端200的快速重新配置。
优选地,在异常检测中,首先需要准备一个描述正常情况的模型,然后根据真实网络环境判断是否发生异常情况。目前,基于熵的异常检测可以使用Shannon熵、Titchener熵、Renyi熵、Tsallis熵等,然而基于熵检测异常的精度取决于熵的阈值,然而熵的阈值选择是通过调整参数大小的实验得到的,无法确保可靠性。
熵:在信息论中,信息熵可以用于衡量随机变量的多样性、不确定性和随机性的指标。随机变量的随机性越高,即随机变量的不确定度越高,熵值越大。相反,随机变量的确定度越大,熵值越小。
流表:指的是本发明中控制终端200转发数据的依据,也可被视为本发明物联网对物联网设备300的数据转发功能的一个种抽象。在传统网络设备中,交换机或路由器的数据转发需要依赖设备中保存的二层MAC地址转发表或者三层IP地址路由表。本发明的流表与二层MAC地址转发表或者三层IP地址路由表类似,不过本发明的流表整合了网络中各个层次的网络配置信息,从而在进行数据转发时可以使用更丰富的规则。具体地,流表是针对特定流的策略表项的集合,负责数据包的查找和转发。
流:流在本发明表示的是在一段时间内经过同一网络的一系列具有相同属性的顺序发送的报文集合。例如,相同源IP地址和目的IP地址的数据包为流。
优选地,流表包括至少一个流表项。流表项可以由三部分组成,分别是包头域、计数器和动作表。
包头域:用于对接收到的数据包的包头内容进行匹配。具体地,包头域可以包括12个元组对数据包的包头内进行匹配。12个元组涵盖了ISO网络模型中的链路层、网络层和传输层的网络配置信息。每个元组中的数值可以是一个确定的值或者是可以与任意值匹配的字符。
计数器:可以对控制终端200的每张流表、每个数据流、每个物联网设备300的端口、每个转发队列进行维护,用于统计数据流量的相关信息。例如,针对每张流表,统计当前活动的表项数、数据包查询次数、数据包匹配次数等;例如,针对每个数据流,统计接收到数据包数、字节数、数据流持续时间等;例如,针对每个物联网设备端口,除了需要统计接收到的数据包数量、发送数据包数量、接收字节数量、发送字节数量等指标外,还可以对各种错误发生的次数进行统计;例如,针对每个队列,统计发送的数据包数、字节数以及发送时的溢出错误次数等。
动作表:用于指示控制终端200在收到匹配的数据包后如何处理。每个动作表包括零到多个动作。例如,如果没有定义转发动作,那么与流表项包头域匹配的数据包将默认丢弃。而且,同一个流表项的多个动作可以具有不同的优先级。此外,如果流表项中出现了控制终端200不支持的参数值,那么控制终端200向物联网设备3发送相应的错误信息。
优选地,动作表的动作可以分为必备动作和可选动作。必备动作包括转发和丢弃。必备动作的转发可以是将数据包交接至物理端口或保留端口。丢弃可以是将没有明确动作指示的数据包执行丢弃操作。
优选地,可选动作包括转发、排队和修改。可选动作的转发是将数据包转发至虚拟端口。排队可以是将数据包转发到某个出端口对应的转发序列当中,便于提供QoS支持。QoS支持是网络的一种安全机制,可以用于解决网络延迟和阻塞。修改指的是控制终端200修改数据包包头的字段。具体地,字段包括目的IP地址、源MAC地址、目的MAC地址、修改源IPv4地址等。
窗口:在控制终端200针对接收到的数据包进行网络攻击检测或者进行处理时,需要将采集获取的大量数据包分割成固定长度的数据包序列,然后再对这些数据包序列进行进一步的检测或处理。在本发明中,控制终端200可以将与存储的流表不匹配的数据包采集,然后按照时间先后的顺序进行排列,并按照固定的长度或数据对这些数据包序列分割。在本发明中,窗口指的是固定的长度或数量,例如窗口为100,表示将数据包序列按照100个为一组的方式进行分割,序列1到100的数据包为一组,序列101到200的数据包为一组,并依此类推。
实施例1
本发明提供一种基于人工智能的物联网实现系统。本发明的一个目的是在家庭物联网中降低被攻击控制的概率,并在物联网设备300被控制成为攻击的媒介时,能够限制其发出攻击信息的行为,避免消耗家庭物联网的带宽资源和物联网设备300本身的资源。
参见图1,本发明的系统包括服务器100、控制终端200和物联网设备300。优选地,物联网设备300可以是传感器、个人计算终端、电视盒子、路由器以及能够接入网络的计算设备。优选地,能够接入网络的计算设备可以是能够蓝牙连接的台灯、体重秤、电饭煲、音箱、冰箱等。物联网设备300还可以是智能电视、智能马桶、智能门锁等。个人计算终端可以是平板电脑、笔记本、手机、智能穿戴设备等。智能穿戴设备可以是智能手表、智能手环、智能眼睛、智能鞋垫等可穿戴设备。优选地,物联网设备300与控制终端200连接。控制终端200与服务器100连接。需要说明的是,物联网设备300可以通过控制终端200接入互联网。物联网设备300还可以通过自身设置的接口接入互联网。
优选地,控制终端200可以包括处理器和存储介质。处理器可以是中央处理器(Central Processing Unit,CPU)、通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application-Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。处理器可以访问存储介质。存储介质可以是易失性介质、非易失性介质、可移除性介质、不可移除性介质、暂时性介质、非暂时性介质等。作为其他示例,存储介质可以是计算机存储介质,比如通过用于存储信息的任意方法或技术实现的介质,诸如计算机可读指令、数据结构、程序模块或其他数据;比如随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存、云存储介质或其他存储技术;比如固态存储器、云存储器、CD-ROM、数字多功能盘(DVD)或其他光盘存储;比如磁卡带、磁带、磁盘存储或其他磁存储装置;或可以用于存储期望的信息且可由处理器访问的任意其他介质。
优选地,控制终端200可以向物联网设备300发送控制指令。优选地,物联网设备300配置为响应于控制指令而周期性地主动向控制终端200发送自身状态信息。物联网设备300主动发送的自身状态信息包括开机、关机、自身工作参数等。自身工作参数包括工作电压、温度、上传/下传流量及速度等。通过物联网设备300周期性地主动发送的自身工作参数,控制终端200能够获取物联网设备300执行控制指令的反馈。例如,控制终端200向物联网设备300发送开机的控制指令,物联网设备300开机后将其开机后的工作参数周期性地发送至控制终端200,从而控制终端200能够获取物联网设备300是否执行控制指令。例如,控制终端200向物联网设备300发送关机的控制指令,物联网设备300关机时将其关机前的自身工作参数周期性地主动发送至控制终端200,从而控制终端200能够根据间隔发送的工作参数识别/判断物联网设备300是否执行控制指令。优选地,自身工作参数还包括该物联网设备300的物理地址、与外界互联网连接情况、与控制终端200连接情况和/或物联网设备300自身工作情况。与外界互联网连接情况包括发送的数据量、发送数据速度、接收发送数据的IP地址、发送数据的部分帧、接收的数据量、接收数据速度等。与控制终端200连接情况包括发送至控制终端200的数据量、发送数据速度、接收控制终端200的数据量、接收数据速度等。优选地,部分物联网设备300自身设置有传感器,能够传感自身的温度、功耗、湿度等信息,因此物联网设备300自身工作情况包括温度、功耗、温度以及将要执行的动作指令。
优选地,还可以是控制终端200配置为周期性地向物联网设备300发送指令以获取物联网设备300的自身状态信息。还可以是,控制终端200配置为周期性地访问物联网设备300以获取物联网设备300的自身状态信息。
优选地,控制终端200将信息传输至服务器100。服务器100将信息传输至控制终端200。优选地,控制终端200集中管理物联网设备300。控制终端200配置为监测物联网设备300与外界终端的网络流量。通过该设置方式,达到的有益效果是:
控制终端200作为链接物联网设备300和外接网络的枢纽,其控制和管理数据的转发策略,并具有可编程特性。而且,控制终端200具有访问物联网设备300的最高权限,因此通过控制终端200增加开放接口可以提高物联网的开放性。例如,可以在控制终端200部署操作系统和编程接口,进而用户可以通过控制终端200对物联网进行编程,建立动态的数据转发策略,或者可以通过编程为不同的应用或者开发者提供开放的入口,进而通过控制终端200增加物联网的开放性。
优选地,服务器100可以通过控制终端200向物联网设备300发送控制指令。优选地,服务器100可以通过互联网向接入互联网的物联网设备300发送控制指令。优选地,在物联网设备300接入互联网的情况下,物联网设备300配置为响应于控制指令周期性地主动向服务器100发送自身状态信息。在物联网设备300接入互联网的情况下,物联网设备300配置为响应于控制指令周期性地主动向服务器100和控制终端200发送自身状态信息。
优选地,在控制终端200或服务器100没有向物联网设备300发送控制指令的情况下,控制终端200配置为周期性地向物联网设备300发送通信请求以至少获取其发送的信息参数。发送的信息参数至少包括数据包。通过数据包获取IP地址。IP地址包括请求响应一方的IP地址,例如服务器。
优选地,需要说明的是,本实施例的控制终端200作为由物联网设备300构成的物联网的集中控制中枢,可以通过控制终端200提高物联网的开放性,而且可以利用控制终端200中枢特性进行集中管理物联网中的物联网设备300和对网络流量进行实时监控。但是,由于控制终端200的开放性也更容易遭受攻击。例如控制终端200管理物联网的中枢架构,依赖的是控制终端200与服务器100之间的安全信道,如果切断控制终端200与服务器100之间的安全信道,那么物联网会因为失去对控制终端200的集中管理而崩溃,进而导致物联网失效。例如,可以利用漏洞或者恶意软件直接攻击控制终端200,进而使得控制终端200瘫痪,而由于物联网设备300、控制终端200、服务器100构成的网络是由控制终端200作为数据和控制的中枢,因此当控制终端200瘫痪后物联网也随之失效。此外,尽管可以在控制终端200部署相应的防护软件或者其他保护方式来避免控制终端200被直接攻击,但是可以利用物联网设备300对控制终端200进行攻击。例如,分布式拒绝服务攻击DDoS可以利用控制终端200的开放特性进入物联网设备300,进而利用物联网设备300向控制终端200发送不能匹配到任何流表项的数据包,进而控制终端200将该数据包封装为一个类似Pack In消息。控制终端200可能丢弃该数据包,或者为该数据包指定一个具体的动作,从而匹配后续收到的类似的数据包。如果物联网设备300持续地产生该类数据包,该类数据包导致控制终端200难以处理后续的合法请求。而且这些数据包产生的虚假请求会导致控制终端200产生大量的无用流表项,并耗费数据层的大量资源,进而导致控制终端200不能为物联网设备300正常的请求保存相应的流表项。
优选地,针对通过物联网设备300对控制终端200的类似分布式拒绝服务攻击DDoS的网络攻击行为,可以通过检测网络流量变化实现网络攻击异常检测,进而发现该类攻击发出预警,降低网络攻击带来的影响。
优选地,可以基于熵或者卡方的统计分析技术来检测网络流量变化。基于熵的统计分析算法是将数据包头看作独立信息符号,这些符号具有唯一的出现概率。选定一个窗口大小,在该窗口内的数据流量会形成一定的模式,一旦该模式发生变化,就意味着触发了一次异常。优选地,还可以基于机器学习检测网络异常。基于机器学习的网络异常检测算法并不设定一个固定的过滤器,而是根据网络事件的发生不断地、周期性地训练和更新过滤条件。具体地,以上检测方法中关于网络的度量主要包括基于特征的度量和基于异常的度量。基于特征的度量值依赖于预先定义的攻击特征集,以匹配新的数据流。基于异常的度量值首先对于普通网络流量进行建模,然后比较新的数据就流和已有模型的区别。然而,以上异常检测存在以下局限:
1、针对机器学习、神经网络、深度学习等算法检测异常,其均是通过训练学习共同知识和模式,攻击者反过来可以训练检测系统,使其将异常的网络行为误判为正常行为;
2、基于异常的度量值检测方案的误报率比基于特征的度量值检测方案高,平衡误报率和漏报率非常困难;
3、提取正常网络行为和异常网络行为的特征非常困难,而在提取众多特征之后选择哪一种特征作为统计参数对于算法性能又是至关重要的。
优选地,现阶段的异常检测可以使用熵方法,例如Renyi熵。具体地,信息熵是用于衡量随机变量的多样性、不确定性和随机性的指标。随机变量的随机性越高,熵值越大。随机变量的随机性越低,即确定性越高,熵值越小。当发生DDoS攻击时,大量集中的流量将降低网络的随机性和熵值。例如,在一个窗口内,如果每个数据包与每个需要请求的服务器是一一对应的,则此时的熵值是最大的。如果所有的数据包都发往同一服务器,那么熵值将变小。然而,具体至本发明的网络架构,控制终端200作为数据包的转发和控制中心,物联网设备300的IP地址固定且有限,如果攻击者利用物联网设备300攻击控制终端200,通过检测数据包源IP地址的熵值难以实现网络异常检测。另一方面,可以采用基于目的IP地址的方法检测网络异常,攻击流量通常指向单一的站点或者网段,目的IP地址相对集中,因此熵值较小,然而如果攻击者的意图是使得控制终端200瘫痪,那么攻击者可以随机生成目的IP地址,因为数据包的转发总是由控制终端200转发,仅需使得控制终端200产生大量的无用流表项即可达到攻击的目的。此外,以上基于源IP地址和目的IP地址两种检测方法,可以通过合适的参数进行组合检测,但是考虑到攻击者能够进行伪装,检测结果的误报率和漏报率很大。针对以上网络检测的问题,本发明从利用流表项检测网络异常以及避免流表项过多造成控制终端200崩溃两个方面保证在提高物联网开放程度和智能程度的同时提高安全性。
优选地,控制终端200配置为执行数据包的转发和控制操作。例如,控制终端200至少可以执行关于数据包的四种动作,包括转发、丢弃、排队、修改等。
优选地,控制终端200配置为:检测流表匹配的成功率。
优选地,当物联网设备300发送的数据包到达控制终端200时,控制终端200配置为执行查找和匹配操作。控制终端200执行的查找操作可以是解析数据包的包头内容,然后查找控制终端200内部存储的流表的包头域。如果数据包的包头内容与流表的包头域内容相同则可以匹配。如果数据包的包头内容与流表的包头与内容不匹配则匹配不成功,需要为该数据包指定一个动作,从而生成新的流表项,并将该流表项存储于流表中。需要说明的是,控制终端200配置为按照如下步骤执行匹配操作:
为流表的流表项设定用于匹配耗时的第一时间;
在第一时间内查找与数据包的包头内容相同的流表项包头域;
若第一时间内未查找到与数据包的包头内容相同的流表项包头域,则判定匹配不成功。第一时间为控制终端200为数据包匹配操作所分配的时间,超过第一时间还未匹配到流表项的数据包,则判定为匹配失败。优选地,第一时间可以是10s、20s或者30s。第一时间可以根据连接的物联网设备300数量、处理器的处理速度、总线的处理速度等硬件设备的性能进行个性化设置。优选地,第一时间还可以通过人工智能进行学习训练确定。例如,控制终端200配置为采用机器学习模型、深度学习模型或者神经网络模型在线和/或离线学习控制终端200处理数据包匹配操作耗费的平均时间,进而得到第一时间。
优选地,流表的匹配成功率为可以定义为数据包匹配成功的数量与数据包查找的总数量的比值。由于控制终端200对所有的数据包同等对待,当控制终端200受到网络攻击时,控制终端200会接收到大量的无法匹配任何流表项的数据包的冲击,导致流表匹配的成功率显著降低,因此可以通过流表匹配的成功率可以预先发现潜在的网络攻击。
优选地,控制终端200配置为在流表匹配的成功率小于第一阈值的情况下,按照时间先后顺序排序匹配不成功的数据包。优选地,第一阈值可以人工设定,例如50%、40%、30%或者20%。事实上,由于控制终端200对物联网设备300发送的所有数据流都同等对待,因此即使没有发生网络攻击,仅是物联网设备300加大发送数据包的数量也会由于第一时间的限制而导致流表匹配的成功率显著下降。优选地,本发明应用于控制终端200与多个物联网设备300交互的架构中,特别是控制终端200负责所有数据的转发和控制,当控制终端200的流表匹配的成功率小于30%时,极有可能造成物联网数据交互的瘫痪,因此本发明的第一阈值可以设定为30%。优选地,控制终端200仅在流表匹配的成功率小于第一阈值的时候才会进行进一步处理。本发明通过第一阈值的设置方式,能够在一定程度上避免因合法请求的数量增加导致误报为网络攻击。当流表匹配的成功率小于第一阈值,一方面可以判定可能存在网络攻击,另一方面可以针对未成功匹配的流表进行再次匹配处理,从而提高流表匹配的成功率,增加物联网的整体性能。
优选地,控制终端200配置为:
基于窗口大小对的排序后的数据包进行分组;
解析每个分组内数据包的包头域获取数据包请求的动作;
计算数据包请求的动作在分组内的熵值;
获取熵值小于第二阈值的第一分组;
若第一分组连续出现且连续出现的数量大于第三阈值,则丢弃连续出现的数量大于第三阈值的多个第一分组。优选地,在本发明中窗口的大小可以是50个,即按照50个数据包为一组对排序后的数据包进行分割,例如序号1到50为一个分组,序号51到100为一个分组。优选地,分组有多个,可以是2个、3个、4个或更多个。优选地,控制终端200配置为基于每个分组进行处理。
优选地,熵值用于表示分组内数据包请求动作的随机性或不确定性。随机性越大,熵值越大。通常物联网设备300发出正常的合法数据包时,数据包的大小具有随机性,而攻击者通常无视受害者的响应,只是通过攻击脚本产生攻击流量,因此这些数据包的大小相对固定。而数据包请求的动作是由数据包内的符号所表征,在数据包大小相对固定的情况下,这些数据包请求的动作不确定度较小,即熵值较小,因此熵值越小,发生DDoS攻击的可能性越大。优选地,第二阈值用于量化确定发生网络攻击时数据包请求的动作的随机性。优选地,第二阈值可以是正常数据流熵值的85%。优选地,如果分组内的熵值小于第二阈值,那么该分组为第一分组。第一分组为判定可能发生网络异常的分组。
优选地,第三阈值用于避免误判。由于网络故障可能使得正常流量发生异常变化,如果控制终端200暂时不可用,那么熵值会下降并导致误判,为了防止这种误判,只有当连续出现的第一分组的数量超过第三阈值才会判定发生网络异常,遭受网络攻击。优选地,本发明的第三阈值可以根据网络环境手动设定,可以取值3、4、5、6、7或者更多。本发明的第三阈值还可以动态设定。
通过以上设置方式,达到的有益效果是:
本发明利用轻量级的计算数据包请求动作的熵值的方式判断网络是否存在异常,相对机器学习、神经网络、深度学习等算法通过训练学习共同知识模式检测网络攻击造成的网络异常,能够大度降低控制终端200消耗的资源,而且能够避免攻击者反向训练将异常网络行为误判为正常行为;另一方面,本发明提取数据包请求的动作作为判断网络是否异常的特征,相对及机器学习、神经网络或者深度学习等算法具有更为高效的判断效率和更低的误报率。此外,同第一阈值、第二阈值和第三阈值的设定,能够更加实用网络的频繁变化和后期物联网设备300的扩展。
下面介绍熵值的计算方法。
优选地,本发明以Renyi熵为例说明熵值的计算。假设本发明的控制终端200解析后的动作为n个,第i个动作表示为xi,xi的概率为pi。在本发明中,xi的概率为动作在窗口内出现的次数与窗口内动作总数量的比值。Renyi熵是广义熵,其包括参数α,α表示Renyi熵的阶数。α阶的Renyi熵的定义为:
Figure BDA0003218503470000151
其中,pi大于零,并且所有动作的概率和为1,即
Figure BDA0003218503470000152
α大于等于零。当α=0时,不同的动作的概率相等,此时熵值最大为log2n。当α趋近于1时,Renyi熵退化为香农熵,此时熵值
Figure BDA0003218503470000153
当α趋近于正无穷时,此时熵值最小,
Figure BDA0003218503470000154
其中
Figure BDA0003218503470000155
为pi中最大的一个。优选地,本发明中α值选择的范围为[1,15]。
优选地,控制终端200配置为:
若数据包请求的动作在多个分组内的熵值均大于第二阈值,则基于流表中流表项的匹配成功次数及匹配成功时间的先后顺序动态地为流表项分配权值,并按照流表项权值的顺序匹配多个分组内的数据包。优选地,控制终端200配置为将流表项划分为第一流表项集合和第二流表项集合。第一流表项集合为过去第二时间内匹配成功的至少一个流表项构成的集合。第二流表项集合为流表中剔除第一流表项后剩余的多个流表项构成的集合。优选地,第二时间可以是1分钟、2分钟、3分钟或更多分钟。第二时间可以根据实际情况设定,例如本发明针对家庭物联网有限数量的物联网设备300,第二时间可以设定为过去1分钟。优选地,控制终端200配置为:为第一流表项集合分配最高的权值,并基于第一流表项集合匹配多个分组内的数据包。优选地,在第一流表项集合匹配多个分组内的数据包的时间超过第三时间的情况下,控制终端200配置为:将第一流表项集合的权值降低至最低,并基于第二流表项集合匹配多个分组内的数据包。第三时间可以根据第一流表项集合内包含的流表项的数量进行设置,例如第一流表项集合内包括3个流表项,那么第三时间为3s。通过该设置方式,达到的有益效果是:
攻击者的目的是通过大量访问耗费控制终端200的资源,因此攻击者控制物联网设备300发送的数据包的大小通常是固定的,而合法请求访问的数据包其大小具有随机性,进而IP数据包的大小分布越集中其熵值越小,但是攻击者可以伪装数据包的大小,例如随机生成数据包的大小。而且,考虑到因为第一时间的限制而没有匹配成功的数据包,在应用中,多个分组中可能不存在熵值小于第二阈值的第一分组。具体地,未匹配成功的数据包除了网络攻击之外,可能是在规定时间内没有成功匹配到对应的流表项,因此正常的合法请求的数据包也可能存在熵值大于第二阈值的分组内,导致合法请求的数据包与网络攻击的数据包混杂。本发明通过动态地为流表项分配权值,并按照流表项权值的顺序匹配多个分组内的数据包,能够再次进行匹配并尽可能地排除实际上能够匹配,但因匹配时间的设定(第一时间)而未匹配的数据包。而且,考虑到正常合法请求的逻辑连贯性,其数据包请求的动作相近或类似,因此本发明优先匹配过去一段时间内成功匹配的第一流表项集合,能够提高匹配的效率和成功率。
优选地,控制终端200配置为:
基于第一流表项集合内流表项成功匹配的时间先后顺序分配流表项匹配的第一权值;
基于第二流表项集合内流表项成功匹配的次数分配流表项匹配的第二权值。优选地,第一权值为第一流表项集合内流表项匹配的顺序。优选地,第一流表项集合内新出现的成功匹配的流表项的第一权值最大,最早成功匹配的流表项的第一权值最小。优选地,第二权值为第二流表项集合内流表项匹配的顺序。优选地,第二流表项集合内流表项匹配成功次数越多的流表项的第二权值越大,匹配成功次数最少的流表项的第二权值最小。通过该设置方式,能够进一步提高流表项匹配的成功率。
优选地,控制终端200配置为:
将与第一流表项集合和第二流表项集合匹配成功的数据包从多个分组内剔除,并按时间先后顺序排列后通过窗口分割得到多个第二分组;
为第二分组内的数据包分配虚拟流表和虚拟流表项;
执行第二分组内数据包请求的动作;
获取响应数据包请求动作的数据流;
计算获取响应数据包的数量与总数据包的数量的比值;
获取得到响应数据包数量与总数据包数量的比值小于第四阈值的第三分组;
若第三分组连续出现且连续出现的数量大于第三阈值,则丢弃连续出现的数量大于第三阈值的多个第三分组。优选地,第四阈值可以是正常流量下得到响应数据包数量与总数据包数量的比值的85%。优选地,第四阈值还可以根据人工设置。优选地,控制终端200配置为执行第二分组内全部数据包请求的动作后删除虚拟流表内的虚拟流表项。通过该设置方式,得到的有益效果是:
针对攻击者可以伪装数据包的大小使得熵值较大,进而无法通过与第二阈值的比较判定是否存在网络异常的问题,本发明在剔除造成因第一时间限制而无法正常匹配的合法数据包之后,通过检测响应数据包数量与总数据包数量的比值是否小于第四阈值的方式识别网络是否存在异常。具体地,DDoS攻击的目的是通过连续生成无用的流表项使得控制终端200删除正常的流表项,进而控制终端200因无法处理后续合法请求而崩溃,本发明通过分配虚拟流表和虚拟流表项暂存第二分组内数据包请求的动作,并在执行之后删除,以便于存储下一个第二分组内数据包对应的流表项,从而避免对控制终端200正常存储的流表产生影响。而且,正常状态下数据包的合法请求是用于某种服务,即物联网设备300要么是为了获取服务,要么是为了提供服务,因此具有响应的特性,即控制终端200能够获取响应该合法请求的数据包。而网络攻击是随机生成请求,无法提供正常的服务,因此通过检测响应数据包数量与总数据包数量的比值是否小于第四阈值的方式能够识别网络是否存在异常。
实施例2
本实施例提供一种基于人工智能的物联网实现方法。本方法的一个目的是在家庭物联网中降低被攻击控制的概率,并在物联网设备300被控制成为攻击的媒介时,能够限制其发出攻击信息的行为,避免消耗家庭物联网的带宽资源和物联网设备300本身的资源。
参见图2,本实施例的方法步骤如下。
S100:控制终端200可以向物联网设备300发送控制指令。优选地,物联网设备300配置为响应于控制指令而周期性地主动向控制终端200发送自身状态信息。
优选地,物联网设备300主动发送的自身状态信息包括开机、关机、自身工作参数等。自身工作参数包括工作电压、温度、上传/下传流量及速度等。通过物联网设备300周期性地主动发送的自身工作参数,控制终端200能够获取物联网设备300执行控制指令的反馈。例如,控制终端200向物联网设备300发送开机的控制指令,物联网设备300开机后将其开机后的工作参数周期性地发送至控制终端200,从而控制终端200能够获取物联网设备300是否执行控制指令。例如,控制终端200向物联网设备300发送关机的控制指令,物联网设备300关机时将其关机前的自身工作参数周期性地主动发送至控制终端200,从而控制终端200能够根据间隔发送的工作参数识别/判断物联网设备300是否执行控制指令。优选地,自身工作参数还包括该物联网设备300的物理地址、与外界互联网连接情况、与控制终端200连接情况和/或物联网设备300自身工作情况。与外界互联网连接情况包括发送的数据量、发送数据速度、接收发送数据的IP地址、发送数据的部分帧、接收的数据量、接收数据速度等。与控制终端200连接情况包括发送至控制终端200的数据量、发送数据速度、接收控制终端200的数据量、接收数据速度等。优选地,部分物联网设备300自身设置有传感器,能够传感自身的温度、功耗、湿度等信息,因此物联网设备300自身工作情况包括温度、功耗、温度以及将要执行的动作指令。
优选地,还可以是控制终端200配置为周期性地向物联网设备300发送指令以获取物联网设备300的自身状态信息。还可以是,控制终端200配置为周期性地访问物联网设备300以获取物联网设备300的自身状态信息。
S200:控制终端200将信息传输至服务器100。服务器100将信息传输至控制终端200。优选地,控制终端200集中管理物联网设备300。控制终端200配置为监测物联网设备300与外界终端的网络流量。通过该设置方式,达到的有益效果是:
控制终端200作为链接物联网设备300和外接网络的枢纽,其控制和管理数据的转发策略,并具有可编程特性。而且,控制终端200具有访问物联网设备300的最高权限,因此通过控制终端200增加开放接口可以提高物联网的开放性。例如,可以在控制终端200部署操作系统和编程接口,进而用户可以通过控制终端200对物联网进行编程,建立动态的数据转发策略,或者可以通过编程为不同的应用或者开发者提供开放的入口,进而通过控制终端200增加物联网的开放性。
S201:优选地,服务器100可以通过控制终端200向物联网设备300发送控制指令。优选地,服务器100可以通过互联网向接入互联网的物联网设备300发送控制指令。优选地,在物联网设备300接入互联网的情况下,物联网设备300配置为响应于控制指令周期性地主动向服务器100发送自身状态信息。在物联网设备300接入互联网的情况下,物联网设备300配置为响应于控制指令周期性地主动向服务器100和控制终端200发送自身状态信息。
优选地,控制终端200和/或服务器100没有向物联网设备300发送控制指令的情况下,控制终端200配置为周期性地向物联网设备300发送通信请求以至少获取其发送的信息参数。发送的信息参数至少包括数据包。通过数据包获取IP地址。IP地址包括请求响应一方的IP地址,例如服务器。
优选地,需要说明的是,本实施例的控制终端200作为由物联网设备300构成的物联网的集中控制中枢,可以通过控制终端200提高物联网的开放性,而且可以利用控制终端200中枢特性进行集中管理物联网中的物联网设备300和对网络流量进行实时监控。但是,由于控制终端200的开放性也更容易遭受攻击。例如控制终端200管理物联网的中枢架构,依赖的是控制终端200与服务器100之间的安全信道,如果切断控制终端200与服务器100之间的安全信道,那么物联网会因为失去对控制终端200的集中管理而崩溃,进而导致物联网失效。例如,可以利用漏洞或者恶意软件直接攻击控制终端200,进而使得控制终端200瘫痪,而由于物联网设备300、控制终端200、服务器100构成的网络是由控制终端200作为数据和控制的中枢,因此当控制终端200瘫痪后物联网也随之失效。此外,尽管可以在控制终端200部署相应的防护软件或者其他保护方式来避免控制终端200被直接攻击,但是可以利用物联网设备300对控制终端200进行攻击。例如,分布式拒绝服务攻击DDoS可以利用控制终端200的开放特性进入物联网设备300,进而利用物联网设备300向控制终端200发送不能匹配到任何流表项的数据包,进而控制终端200将该数据包封装为一个类似Pack In消息。控制终端200可能丢弃该数据包,或者为该数据包指定一个具体的动作,从而匹配后续收到的类似的数据包。如果物联网设备300持续地产生该类数据包,该类数据包导致控制终端200难以处理后续的合法请求。而且这些数据包产生的虚假请求会导致控制终端200产生大量的无用流表项,并耗费数据层的大量资源,进而导致控制终端200不能为物联网设备300正常的请求保存相应的流表项。
S300:检测流表匹配的成功率,在流表匹配的成功率小于第一阈值的情况下,按照时间先后顺序排序匹配不成功的数据包。
S301:基于窗口大小对的排序后的数据包进行分组。
S302:解析每个分组内数据包的包头域获取数据包请求的动作。
S303:计算数据包请求的动作在分组内的熵值。
S304:获取熵值小于第二阈值的第一分组。
S305:若第一分组连续出现且连续出现的数量大于第三阈值,则丢弃连续出现的数量大于第三阈值的多个第一分组。
优选地,当物联网设备300发送的数据包到达控制终端200时,控制终端200配置为执行查找和匹配操作。控制终端200执行的查找操作可以是解析数据包的包头内容,然后查找控制终端200内部存储的流表的包头域。如果数据包的包头内容与流表的包头域内容相同则可以匹配。如果数据包的包头内容与流表的包头与内容不匹配则匹配不成功,需要为该数据包指定一个动作,从而生成新的流表项,并将该流表项存储于流表中。需要说明的是,控制终端200配置为按照如下步骤执行匹配操作:
为流表的流表项设定用于匹配耗时的第一时间;
在第一时间内查找与数据包的包头内容相同的流表项包头域;
若第一时间内未查找到与数据包的包头内容相同的流表项包头域,则判定匹配不成功。第一时间为控制终端200为数据包匹配操作所分配的时间,超过第一时间还未匹配到流表项的数据包,则判定为匹配失败。优选地,第一时间可以是10s、20s或者30s。第一时间可以根据连接的物联网设备300数量、处理器的处理速度、总线的处理速度等硬件设备的性能进行个性化设置。优选地,第一时间还可以通过人工智能进行学习训练确定。例如,控制终端200配置为采用机器学习模型、深度学习模型或者神经网络模型在线和/或离线学习控制终端200处理数据包匹配操作耗费的平均时间,进而得到第一时间。
优选地,流表的匹配成功率为可以定义为数据包匹配成功的数量与数据包查找的总数量的比值。由于控制终端200对所有的数据包同等对待,当控制终端200受到网络攻击时,控制终端200会接收到大量的无法匹配任何流表项的数据包的冲击,导致流表匹配的成功率显著降低,因此可以通过流表匹配的成功率可以预先发现潜在的网络攻击。
优选地,第一阈值可以人工设定,例如50%、40%、30%或者20%。事实上,由于控制终端200对物联网设备300发送的所有数据流都同等对待,因此即使没有发生网络攻击,仅是物联网设备300加大发送数据包的数量也会由于第一时间的限制而导致流表匹配的成功率显著下降。优选地,本发明应用于控制终端200与多个物联网设备300交互的架构中,特别是控制终端200负责所有数据的转发和控制,当控制终端200的流表匹配的成功率小于30%时,极有可能造成物联网数据交互的瘫痪,因此本发明的第一阈值可以设定为30%。优选地,控制终端200仅在流表匹配的成功率小于第一阈值的时候才会进行进一步处理。本发明通过第一阈值的设置方式,能够在一定程度上避免因合法请求的数量增加导致误报为网络攻击。当流表匹配的成功率小于第一阈值,一方面可以判定可能存在网络攻击,另一方面可以针对未成功匹配的流表进行再次匹配处理,从而提高流表匹配的成功率,增加物联网的整体性能。
优选地,在本发明中窗口的大小可以是50个,即按照50个数据包为一组对排序后的数据包进行分割,例如序号1到50为一个分组,序号51到100为一个分组。优选地,分组有多个,可以是2个、3个、4个或更多个。优选地,控制终端200配置为基于每个分组进行处理。
优选地,熵值用于表示分组内数据包请求动作的随机性或不确定性。随机性越大,熵值越大。通常物联网设备300发出正常的合法数据包时,数据包的大小具有随机性,而攻击者通常无视受害者的响应,只是通过攻击脚本产生攻击流量,因此这些数据包的大小相对固定。而数据包请求的动作是由数据包内的符号所表征,在数据包大小相对固定的情况下,这些数据包请求的动作不确定度较小,即熵值较小,因此熵值越小,发生DDoS攻击的可能性越大。优选地,第二阈值用于量化确定发生网络攻击时数据包请求的动作的随机性。优选地,第二阈值可以是正常数据流熵值的85%。优选地,如果分组内的熵值小于第二阈值,那么该分组为第一分组。第一分组为判定可能发生网络异常的分组。
优选地,第三阈值用于避免误判。由于网络故障可能使得正常流量发生异常变化,如果控制终端200暂时不可用,那么熵值会下降并导致误判,为了防止这种误判,只有当连续出现的第一分组的数量超过第三阈值才会判定发生网络异常,遭受网络攻击。优选地,本发明的第三阈值可以根据网络环境手动设定,可以取值3、4、5、6、7或者更多。本发明的第三阈值还可以动态设定。
通过以上设置方式,达到的有益效果是:
本发明利用轻量级的计算数据包请求动作的熵值的方式判断网络是否存在异常,相对机器学习、神经网络、深度学习等算法通过训练学习共同知识模式检测网络攻击造成的网络异常,能够大度降低控制终端200消耗的资源,而且能够避免攻击者反向训练将异常网络行为误判为正常行为;另一方面,本发明提取数据包请求的动作作为判断网络是否异常的特征,相对及机器学习、神经网络或者深度学习等算法具有更为高效的判断效率和更低的误报率。此外,同第一阈值、第二阈值和第三阈值的设定,能够更加实用网络的频繁变化和后期物联网设备300的扩展。
下面介绍熵值的计算方法。
优选地,本发明以Renyi熵为例说明熵值的计算。假设本发明的控制终端200解析后的动作为n个,第i个动作表示为xi,xi的概率为pi。在本发明中,xi的概率为动作在窗口内出现的次数与窗口内动作总数量的比值。Renyi熵是广义熵,其包括参数α,α表示Renyi熵的阶数。α阶的Renyi熵的定义为:
Figure BDA0003218503470000231
其中,pi大于零,并且所有动作的概率和为1,即
Figure BDA0003218503470000232
α大于等于零。当α=0时,不同的动作的概率相等,此时熵值最大为log2n。当α趋近于1时,Renyi熵退化为香农熵,此时熵值
Figure BDA0003218503470000233
当α趋近于正无穷时,此时熵值最小,
Figure BDA0003218503470000234
其中
Figure BDA0003218503470000235
为pi中最大的一个。优选地,本发明中α值选择的范围为[1,15]。
S400:若数据包请求的动作在多个分组内的熵值均大于第二阈值,则基于流表中流表项的匹配成功次数及匹配成功时间的先后顺序动态地为流表项分配权值,并按照流表项权值的顺序匹配多个分组内的数据包。
优选地,控制终端200配置为将流表项划分为第一流表项集合和第二流表项集合。第一流表项集合为过去第二时间内匹配成功的至少一个流表项构成的集合。第二流表项集合为流表中剔除第一流表项后剩余的多个流表项构成的集合。优选地,第二时间可以是1分钟、2分钟、3分钟或更多分钟。第二时间可以根据实际情况设定,例如本发明针对家庭物联网有限数量的物联网设备300,第二时间可以设定为过去1分钟。优选地,控制终端200配置为:为第一流表项集合分配最高的权值,并基于第一流表项集合匹配多个分组内的数据包。优选地,在第一流表项集合匹配多个分组内的数据包的时间超过第三时间的情况下,控制终端200配置为:将第一流表项集合的权值降低至最低,并基于第二流表项集合匹配多个分组内的数据包。第三时间可以根据第一流表项集合内包含的流表项的数量进行设置,例如第一流表项集合内包括3个流表项,那么第三时间为3s。通过该设置方式,达到的有益效果是:
攻击者的目的是通过大量访问耗费控制终端200的资源,因此攻击者控制物联网设备300发送的数据包的大小通常是固定的,而合法请求访问的数据包其大小具有随机性,进而IP数据包的大小分布越集中其熵值越小,但是攻击者可以伪装数据包的大小,例如随机生成数据包的大小。而且,考虑到因为第一时间的限制而没有匹配成功的数据包,在应用中,多个分组中可能不存在熵值小于第二阈值的第一分组。具体地,未匹配成功的数据包除了网络攻击之外,可能是在规定时间内没有成功匹配到对应的流表项,因此正常的合法请求的数据包也可能存在熵值大于第二阈值的分组内,导致合法请求的数据包与网络攻击的数据包混杂。本发明通过动态地为流表项分配权值,并按照流表项权值的顺序匹配多个分组内的数据包,能够再次进行匹配并尽可能地排除实际上能够匹配,但因匹配时间的设定(第一时间)而未匹配的数据包。而且,考虑到正常合法请求的逻辑连贯性,其数据包请求的动作相近或类似,因此本发明优先匹配过去一段时间内成功匹配的第一流表项集合,能够提高匹配的效率和成功率。
优选地,基于第一流表项集合内流表项成功匹配的时间先后顺序分配流表项匹配的第一权值;
基于第二流表项集合内流表项成功匹配的次数分配流表项匹配的第二权值。优选地,第一权值为第一流表项集合内流表项匹配的顺序。优选地,第一流表项集合内新出现的成功匹配的流表项的第一权值最大,最早成功匹配的流表项的第一权值最小。优选地,第二权值为第二流表项集合内流表项匹配的顺序。优选地,第二流表项集合内流表项匹配成功次数越多的流表项的第二权值越大,匹配成功次数最少的流表项的第二权值最小。通过该设置方式,能够进一步提高流表项匹配的成功率。
S500:将与第一流表项集合和第二流表项集合匹配成功的数据包从多个分组内剔除,并按时间先后顺序排列后通过窗口分割得到多个第二分组。
S501:为第二分组内的数据包分配虚拟流表和虚拟流表项.
S502:执行第二分组内数据包请求的动作。
S503:获取响应数据包请求动作的数据流。
S504:计算获取响应数据包的数量与总数据包的数量的比值。
S505:获取得到响应数据包数量与总数据包数量的比值小于第四阈值的第三分组。
S506:若第三分组连续出现且连续出现的数量大于第三阈值,则丢弃连续出现的数量大于第三阈值的多个第三分组。
优选地,第四阈值可以是正常流量下得到响应数据包数量与总数据包数量的比值的85%。优选地,第四阈值还可以根据人工设置。优选地,控制终端200配置为执行第二分组内全部数据包请求的动作后删除虚拟流表内的虚拟流表项。通过该设置方式,得到的有益效果是:
针对攻击者可以伪装数据包的大小使得熵值较大,进而无法通过与第二阈值的比较判定是否存在网络异常的问题,本发明在剔除造成因第一时间限制而无法正常匹配的合法数据包之后,通过检测响应数据包数量与总数据包数量的比值是否小于第四阈值的方式识别网络是否存在异常。具体地,DDoS攻击的目的是通过连续生成无用的流表项使得控制终端200删除正常的流表项,进而控制终端200因无法处理后续合法请求而崩溃,本发明通过分配虚拟流表和虚拟流表项暂存第二分组内数据包请求的动作,并在执行之后删除,以便于存储下一个第二分组内数据包对应的流表项,从而避免对控制终端200正常存储的流表产生影响。而且,正常状态下数据包的合法请求是用于某种服务,即物联网设备300要么是为了获取服务,要么是为了提供服务,因此具有响应的特性,即控制终端200能够获取响应该合法请求的数据包。而网络攻击是随机生成请求,无法提供正常的服务,因此通过检测响应数据包数量与总数据包数量的比值是否小于第四阈值的方式能够识别网络是否存在异常。
本发明说明书包含多项发明构思,申请人保留根据每项发明构思提出分案申请的权利。本发明说明书包含多项发明构思,诸如“优选地”、“根据一个优选实施方式”或“可选地”均表示相应段落公开了一个独立的构思,申请人保留根据每项发明构思提出分案申请的权利。
需要注意的是,上述具体实施例是示例性的,本领域技术人员可以在本发明公开内容的启发下想出各种解决方案,而这些解决方案也都属于本发明的公开范围并落入本发明的保护范围之内。本领域技术人员应该明白,本发明说明书及其附图均为说明性而并非构成对权利要求的限制。本发明的保护范围由权利要求及其等同物限定。

Claims (10)

1.基于人工智能的物联网实现系统,其特征在于,包括服务器(100)、控制终端(200)和物联网设备(300),其中,
所述控制终端(200)用于获取所述服务器(100)的指令或信息,并将所述指令或信息传输至所述物联网设备(300),以及获取所述物联网设备(300)发送的请求或信息,并将所述请求或信息传输至所述服务器(100),其中,
所述控制终端(200)设置有开放接口能够接入第三方应用,并周期性地向物联网设备(300)发送指令以获取物联网设备(300)的自身状态信息。
2.根据权利要求1所述的物联网实现系统,其特征在于,控制终端(200)配置为按照如下步骤执行匹配操作:
为流表的流表项设定用于匹配耗时的第一时间;
在第一时间内查找与数据包的包头内容相同的流表项包头域;
若第一时间内未查找到与数据包的包头内容相同的流表项包头域,则判定匹配不成功。
3.根据权利要求1或2任一所述的物联网实现系统,其特征在于,所述控制终端(200)配置为:
在流表匹配的成功率小于第一阈值的情况下,按照时间先后顺序排序匹配不成功的数据包,并进行分组;
解析每个分组内数据包请求的动作的熵值;
获取熵值小于第二阈值的第一分组;
若第一分组连续出现且连续出现的数量大于第三阈值,则丢弃连续出现的数量大于第三阈值的多个第一分组。
4.根据前述权利要求任一所述的物联网实现系统,其特征在于,所述控制终端(200)配置为:
若数据包请求的动作在多个分组内的熵值均大于第二阈值,则基于流表中流表项的匹配成功次数及匹配成功时间的先后顺序动态地为流表项分配权值,并按照流表项权值的顺序匹配多个分组内的数据包。
5.根据前述权利要求任一所述的物联网实现系统,其特征在于,所述控制终端(200)配置为将流表项划分为第一流表项集合和第二流表项集合,其中,
所述第一流表项集合为过去第二时间内匹配成功的至少一个流表项构成的集合;
所述第二流表项集合为流表中剔除第一流表项后剩余的多个流表项构成的集合。
6.根据前述权利要求任一所述的物联网实现系统,其特征在于,所述控制终端(200)配置为:
为第一流表项集合分配最高的权值,并基于第一流表项集合匹配多个分组内的数据包,其中,
在第一流表项集合匹配多个分组内的数据包的时间超过第三时间的情况下,将第一流表项集合的权值降低至最低,并基于第二流表项集合匹配多个分组内的数据包。
7.根据前述权利要求任一所述的物联网实现系统,其特征在于,所述控制终端(200)配置为:
基于第一流表项集合内流表项成功匹配的时间先后顺序分配流表项匹配的第一权值;
基于第二流表项集合内流表项成功匹配的次数分配流表项匹配的第二权值。
8.根据前述权利要求任一所述的物联网实现系统,其特征在于,所述控制终端(200)配置为:
将与第一流表项集合和第二流表项集合匹配成功的数据包从多个分组内剔除,并按时间先后顺序排列后通过窗口分割得到多个第二分组;
为第二分组内的数据包分配虚拟流表和虚拟流表项;
执行第二分组内数据包请求的动作;
计算得到响应数据包的数量与总数据包的数量的比值;
获取得到响应数据包数量与总数据包数量的比值小于第四阈值的第三分组;
若第三分组连续出现且连续出现的数量大于第三阈值,则丢弃连续出现的数量大于第三阈值的多个第三分组。
9.基于人工智能的物联网实现方法,其特征在于,所述物联网实现方法包括:
控制终端(200)转发和控制物联网设备(300)以及服务器(100)传输的数据包;
所述控制终端(200)设置有开放接口能够接入第三方应用从而向所述物联网设备(300)发送信息。
10.根据权利要求9所述的物联网实现方法,其特征在于,所述物联网实现方法还包括:
在流表匹配的成功率小于第一阈值的情况下,按照时间先后顺序排序匹配不成功的数据包,并进行分组;
解析每个分组内数据包请求的动作的熵值;
获取熵值小于第二阈值的第一分组;
若第一分组连续出现且连续出现的数量大于第三阈值,则丢弃连续出现的数量大于第三阈值的多个第一分组。
CN202110951807.3A 2021-08-18 2021-08-18 基于人工智能的物联网实现系统及方法 Active CN113765896B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110951807.3A CN113765896B (zh) 2021-08-18 2021-08-18 基于人工智能的物联网实现系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110951807.3A CN113765896B (zh) 2021-08-18 2021-08-18 基于人工智能的物联网实现系统及方法

Publications (2)

Publication Number Publication Date
CN113765896A true CN113765896A (zh) 2021-12-07
CN113765896B CN113765896B (zh) 2023-06-30

Family

ID=78790368

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110951807.3A Active CN113765896B (zh) 2021-08-18 2021-08-18 基于人工智能的物联网实现系统及方法

Country Status (1)

Country Link
CN (1) CN113765896B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114760334A (zh) * 2022-03-15 2022-07-15 江苏贺鸿电子有限公司 一种物联网环境下的电力数据传输控制系统及方法
CN115348184A (zh) * 2022-08-16 2022-11-15 江苏商贸职业学院 一种物联网数据安全事件预测方法及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105847099A (zh) * 2016-05-30 2016-08-10 北京百度网讯科技有限公司 基于人工智能的物联网实现系统和方法
CN106561016A (zh) * 2015-11-19 2017-04-12 国网智能电网研究院 一种基于熵的SDN控制器DDoS攻击检测装置和方法
CN108173812A (zh) * 2017-12-07 2018-06-15 东软集团股份有限公司 防止网络攻击的方法、装置、存储介质和设备
US20190068626A1 (en) * 2017-08-31 2019-02-28 Charter Communications Operating, Llc Distributed denial-of-service attack detection and mitigation based on autonomous system number
CN110198270A (zh) * 2019-05-10 2019-09-03 华中科技大学 一种sdn网络中基于路径与ip地址跳变的主动防御方法
CN111565390A (zh) * 2020-07-16 2020-08-21 深圳市云盾科技有限公司 一种基于设备画像的物联网设备风险控制方法及系统
CN112583808A (zh) * 2020-12-08 2021-03-30 国网湖南省电力有限公司 针对物联网设备的异常流量检测方法
CN113114753A (zh) * 2021-04-07 2021-07-13 北京金山云网络技术有限公司 设备的控制方法、装置及系统、存储介质、电子装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106561016A (zh) * 2015-11-19 2017-04-12 国网智能电网研究院 一种基于熵的SDN控制器DDoS攻击检测装置和方法
CN105847099A (zh) * 2016-05-30 2016-08-10 北京百度网讯科技有限公司 基于人工智能的物联网实现系统和方法
US20190068626A1 (en) * 2017-08-31 2019-02-28 Charter Communications Operating, Llc Distributed denial-of-service attack detection and mitigation based on autonomous system number
CN108173812A (zh) * 2017-12-07 2018-06-15 东软集团股份有限公司 防止网络攻击的方法、装置、存储介质和设备
CN110198270A (zh) * 2019-05-10 2019-09-03 华中科技大学 一种sdn网络中基于路径与ip地址跳变的主动防御方法
CN111565390A (zh) * 2020-07-16 2020-08-21 深圳市云盾科技有限公司 一种基于设备画像的物联网设备风险控制方法及系统
CN112583808A (zh) * 2020-12-08 2021-03-30 国网湖南省电力有限公司 针对物联网设备的异常流量检测方法
CN113114753A (zh) * 2021-04-07 2021-07-13 北京金山云网络技术有限公司 设备的控制方法、装置及系统、存储介质、电子装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114760334A (zh) * 2022-03-15 2022-07-15 江苏贺鸿电子有限公司 一种物联网环境下的电力数据传输控制系统及方法
CN114760334B (zh) * 2022-03-15 2023-09-12 江苏贺鸿电子有限公司 一种物联网环境下的电力数据传输控制系统及方法
CN115348184A (zh) * 2022-08-16 2022-11-15 江苏商贸职业学院 一种物联网数据安全事件预测方法及系统
CN115348184B (zh) * 2022-08-16 2024-01-26 江苏商贸职业学院 一种物联网数据安全事件预测方法及系统

Also Published As

Publication number Publication date
CN113765896B (zh) 2023-06-30

Similar Documents

Publication Publication Date Title
Swami et al. Software-defined networking-based DDoS defense mechanisms
US11201882B2 (en) Detection of malicious network activity
Balamurugan et al. Enhanced intrusion detection and prevention system on cloud environment using hybrid classification and OTS generation
Alamri et al. Bandwidth control mechanism and extreme gradient boosting algorithm for protecting software-defined networks against DDoS attacks
US9866426B2 (en) Methods and apparatus for analyzing system events
Karan et al. Detection of DDoS attacks in software defined networks
CN108429651B (zh) 流量数据检测方法、装置、电子设备及计算机可读介质
Pan et al. Context aware intrusion detection for building automation systems
US10476753B2 (en) Behavior-based host modeling
Chen et al. Detpro: A high-efficiency and low-latency system against ddos attacks in sdn based on decision tree
Chiba et al. New anomaly network intrusion detection system in cloud environment based on optimized back propagation neural network using improved genetic algorithm
CN113765896B (zh) 基于人工智能的物联网实现系统及方法
US10367842B2 (en) Peer-based abnormal host detection for enterprise security systems
Khedr et al. FMDADM: A multi-layer DDoS attack detection and mitigation framework using machine learning for stateful SDN-based IoT networks
US10476754B2 (en) Behavior-based community detection in enterprise information networks
Dinh et al. Dynamic economic-denial-of-sustainability (EDoS) detection in SDN-based cloud
Hajimaghsoodi et al. Rad: A statistical mechanism based on behavioral analysis for ddos attack countermeasure
Fenil et al. Towards a secure software defined network with adaptive mitigation of dDoS attacks by machine learning approaches
Peng et al. ADVICE: Towards adaptive scheduling for data collection and DDoS detection in SDN
Najafimehr et al. DDoS attacks and machine‐learning‐based detection methods: A survey and taxonomy
Tang et al. Ftop: An efficient flow table overflow preventing system for switches in sdn
Zhao et al. Research on DDoS Attack Detection Method Based on Deep Neural Network Model inSDN
Wabi et al. DDOS attack detection in SDN: Method of attacks, detection techniques, challenges and research gaps
KR102609592B1 (ko) IoT 시스템의 비정상행위 탐지 방법 및 그 장치
CN116527378B (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