一种物联网防入侵的方法和存储介质与流程

文档序号:15049708发布日期:2018-07-27 23:58阅读:106来源:国知局

本发明涉及网络安全领域,特别是涉及一种物联网防入侵的方法和存储介质。



背景技术:

僵尸物联网是有一些恶意代码影响的物联网设备组成的网络,攻击者出于恶意目的,传播僵尸程序控制大量僵尸肉机,并通过一对多的命令方式与其他物联网设备进行通信。僵尸主机作为攻击者发布命令控制大量僵尸肉机执行诸如发送垃圾邮件、ddos攻击、窃取密码等非法行为。僵尸肉机(bot)是被僵尸主机(botmaster)控制的物联网上一些存在安全漏洞的物联网设备,它被恶意代码感染之后,便主动与僵尸主机建立连接,接收和执行命令。在年新增物联网设备将近200亿台的今天,僵尸物联网引发的社会效应已经远远超越传统僵尸网络的规模,一个地区甚至一个国家很可能会在短时间遭受tbps量级的超大规模网络攻击。

传统的僵尸网络防御方法通常依赖有限个节点对网络终端的可疑行为进行检测、捕获和分析。当有限个数的僵尸网络防御节点出现单机故障或者被僵尸物联网毁伤之后,就会导致全网丧失僵尸物联网防御能力。另外,现有的防御方法在僵尸物联网识别准确性方面亦存在诸多问题。僵尸物联网主流防御方法包括协议特征检测、蜜网捕获和网络流量聚类分析三大类。协议特征检测方法是通过分析通信与控制协议,提取僵尸物联网关键特征,实现僵尸物联网检测。例如,rishi技术就是利用irc昵称相似性的特征进行僵尸物联网检测的。蜜网的基本组成元素是蜜罐,通过设置蜜网系统可以捕获疑似的僵尸程序,再将此程序在可控环境中运行,分析判定此程序是否具有僵尸特征。另外,由于僵尸物联网主机们的活动是由它们内部代码相同的僵尸程序决定的,所以僵尸物联网主机们会在同一时间窗里进行内容相似的通信,即僵尸物联网的通信具有时空相似性,这是与正常用户的网络通信具有较大差异的。网络流量聚类分析方法就是基于上述思路,基于对网络终端相似的通信流量和恶意行为进行聚类分析进行僵尸物联网检测。

现有的协议特征检测方法基础是僵尸物联网协议特征库,因此,这种僵尸物联网防御方法只能针对已知僵尸物联网进行协议特征检测,对于大量的、还未知其特征规律的僵尸物联网是无效的。蜜网捕获技术通过捕获僵尸程序来发现僵尸物联网,虽然准确率较高,但是蜜网捕获是一种被动的僵尸物联网防御方法,并且其检测防御效果受蜜罐部署情况限制,通常只能面向有限范围网络进行僵尸物联网检查。网络流量聚类检测方法对不同结构类型、采用不同协议的僵尸物联网均能适用,但是由于聚类算法性能限制,这种技术往往存在一定的误报现象。



技术实现要素:

本发明提供一种物联网防入侵的方法和存储介质,用以解决现有技术的如下问题:现有技术的僵尸物联网防御方法限制性较强,误报现象较多,且检测方式都较为被动,系统性能较差。

为解决上述技术问题,一方面,本发明提供一种物联网防御方法,包括:区块链物联网上的第一预定节点获取第二预定节点在所述区块链物联网注册时的原始哈希值;所述第一预定节点将所述原始哈希值与所述第二预定节点当前的哈希值进行比较;在所述原始哈希值与所述当前的哈希值不同时,确定所述第二预定节点已被非法入侵。

可选的,确定所述第二预定节点已被非法入侵之后,还包括:统计所述区块链物联网上所有节点对所述第二预定节点的比较结果;检测所述比较结果中确定所述第二预定节点已被非法入侵的百分比是否超过预设百分比;在所述第二预定节点已被非法入侵的百分比超过所述预设百分比的情况下,确定所述第二预定节点为恶意节点。

可选的,区块链物联网上的第一预定节点获取第二预定节点在所述区块链物联网注册时的原始哈希值之前,还包括:将物联网上的各个节点均以区块链方式连接,建立所述区块链物联网;在所述区块链物联网上设置m个全节点和n个轻量级节点,其中,所述全节点保存了创建所述区块链物联网所需的所有区块链数据,所述轻量级节点保存了预定个数节点的数据,m和n均为大于或等于1的整数,m与n之和为所述区块链物联网上所有节点个数之和。

可选的,在所述第一预定节点为轻量级节点、且与所述第一预定节点连接的所有节点均为轻量级节点的情况下,区块链物联网上的第一预定节点获取第二预定节点在所述区块链物联网注册时的原始哈希值,包括:所述第一预定节点在本地没有所述第二预定节点的原始哈希值的情况下,根据所述第二预定节点在所述区块链物联网上的唯一标识向与所述第一预定节点连接的所有轻量级节点获取所述原始哈希值;在与所述第一预定节点连接的所有轻量级节点均不存在所述原始哈希值的情况下,通过所述所有轻量级节点向全节点获取所述原始哈希值。

可选的,在所述第一预定节点为轻量级节点、且与所述第一预定节点连接的所有节点中存在全节点的情况下,区块链物联网上的第一预定节点获取第二预定节点在所述区块链物联网注册时的原始哈希值,包括:所述第一预定节点在本地没有所述第二预定节点的原始哈希值的情况下,根据所述第二预定节点在所述区块链物联网上的唯一标识向与所述第一预定节点连接的全节点获取所述原始哈希值。

另一方面,本发明还提供一种存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:区块链物联网上的第一预定节点获取第二预定节点在所述区块链物联网注册时的原始哈希值;所述第一预定节点将所述原始哈希值与所述第二预定节点当前的哈希值进行比较;在所述原始哈希值与所述当前的哈希值不同时,确定所述第二预定节点已被非法入侵。

可选的,所述计算机程序在被所述处理器执行确定所述第二预定节点已被非法入侵的步骤之后,还被所述处理器执行以下步骤:统计所述区块链物联网上所有节点对所述第二预定节点的比较结果;检测所述比较结果中确定所述第二预定节点已被非法入侵的百分比是否超过预设百分比;在所述第二预定节点已被非法入侵的百分比超过所述预设百分比的情况下,确定所述第二预定节点为恶意节点。

可选的,所述计算机程序在被所述处理器执行区块链物联网上的第一预定节点获取第二预定节点在所述区块链物联网注册时的原始哈希值的步骤之前,还被所述处理器执行以下步骤:将物联网上的各个节点均以区块链方式连接,建立所述区块链物联网;在所述区块链物联网上设置m个全节点和n个轻量级节点,其中,所述全节点保存了创建所述区块链物联网所需的所有区块链数据,所述轻量级节点保存了预定个数节点的数据,m和n均为大于或等于1的整数,m与n之和为所述区块链物联网上所有节点个数之和。

可选的,所述计算机程序在被所述处理器执行区块链物联网上的第一预定节点获取第二预定节点在所述区块链物联网注册时的原始哈希值的步骤时,具体实现如下步骤:在所述第一预定节点为轻量级节点、且与所述第一预定节点连接的所有节点均为轻量级节点的情况下,所述第一预定节点在本地没有所述第二预定节点的原始哈希值的情况下,根据所述第二预定节点在所述区块链物联网上的唯一标识向与所述第一预定节点连接的所有轻量级节点获取所述原始哈希值;在与所述第一预定节点连接的所有轻量级节点均不存在所述原始哈希值的情况下,通过所述所有轻量级节点向全节点获取所述原始哈希值。

可选的,所述计算机程序在被所述处理器执行区块链物联网上的第一预定节点获取第二预定节点在所述区块链物联网注册时的原始哈希值的步骤时,具体实现如下步骤:在所述第一预定节点为轻量级节点、且与所述第一预定节点连接的所有节点中存在全节点的情况下,所述第一预定节点在本地没有所述第二预定节点的原始哈希值的情况下,根据所述第二预定节点在所述区块链物联网上的唯一标识向与所述第一预定节点连接的全节点获取所述原始哈希值。

本发明将物联网中的各个节点上区块链,通过哈希值来确定某一个节点是否被入侵,判断过程准确,系统性能较好,解决了现有技术的如下问题:现有技术的僵尸物联网防御方法限制性较强,误报现象较多,且检测方式都较为被动,系统性能较差。

附图说明

图1是本发明第一实施例中物联网防入侵的方法的流程图;

图2是本发明第三实施例中区块链物联网拓扑结构示意图;

图3是本发明第三实施例中区块链物联网架构图。

具体实施方式

为了解决现有技术的如下问题:现有技术的僵尸物联网防御方法限制性较强,误报现象较多,且检测方式都较为被动,系统性能较差;本发明提供了一种物联网防入侵的方法和存储介质,以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。

本发明第一实施例提供了一种物联网防入侵的方法,该方法的流程如图1所示,包括步骤s101至s103:

s101,区块链物联网上的第一预定节点获取第二预定节点在区块链物联网注册时的原始哈希值;

s102,第一预定节点将原始哈希值与第二预定节点当前的哈希值进行比较;

s103,在原始哈希值与当前的哈希值不同时,确定第二预定节点已被非法入侵。

本发明实施例将物联网中的各个节点上区块链,通过哈希值来确定某一个节点是否被入侵,判断过程准确,系统性能较好,解决了现有技术的如下问题:现有技术的僵尸物联网防御方法限制性较强,误报现象较多,且检测方式都较为被动,系统性能较差。

实施过程中,仅通过一个节点只能够确定第二预定节点可能被非法入侵,为了进一步增加被非法入侵的准确性,可以在确定第二预定节点已被非法入侵之后,还统计区块链物联网上所有节点对第二预定节点的比较结果;检测比较结果中确定第二预定节点已被非法入侵的百分比是否超过预设百分比;在第二预定节点已被非法入侵的百分比超过预设百分比的情况下,确定第二预定节点为恶意节点;在第二预定节点已被非法入侵的百分比未超过预设百分比的情况下,确定第二预定节点为存疑节点,进一步进行观测。通过该过程,可以进一步增加系统的准确率。

在构建区块链物联网时,可以是所有的节点都保存创建区块链物联网所需的所有区块链数据,然而,该方法对每个节点的要求都会较高。基于上述考虑,为了节约系统资源,在区块链物联网上的第一预定节点获取第二预定节点在区块链物联网注册时的原始哈希值之前,还需要将物联网上的各个节点均以区块链方式连接,建立区块链物联网;在区块链物联网上设置m个全节点和n个轻量级节点,其中,全节点保存了创建区块链物联网所需的所有区块链数据,轻量级节点保存了预定个数节点的数据,m和n均为大于或等于1的整数,m与n之和为区块链物联网上所有节点个数之和。

具体实现时,第一预定节点在本地没有第二预定节点的原始哈希值的情况下,在第一预定节点为轻量级节点、且与第一预定节点连接的所有节点均为轻量级节点的情况下,区块链物联网上的第一预定节点获取第二预定节点在区块链物联网注册时的原始哈希值,可以包括:第一预定节点在本地没有第二预定节点的原始哈希值的情况下,根据第二预定节点在区块链物联网上的唯一标识向与第一预定节点连接的所有轻量级节点获取原始哈希值,在与第一预定节点连接的所有轻量级节点均不存在原始哈希值的情况下,通过所有轻量级节点向全节点获取原始哈希值;或者,根据第二预定节点在区块链物联网上的唯一标识向与第一预定节点连接的全节点获取原始哈希值。通过上述过程,即使轻量级节点也可以获取到原始哈希值,轻松实现比较。

本发明第二实施例提供了一种存储介质,存储有计算机程序,计算机程序被处理器执行时实现如下步骤s1-s3:

s1,区块链物联网上的第一预定节点获取第二预定节点在区块链物联网注册时的原始哈希值;

s2,第一预定节点将原始哈希值与第二预定节点当前的哈希值进行比较;

s3,在原始哈希值与当前的哈希值不同时,确定第二预定节点已被非法入侵。

本发明实施例将物联网中的各个节点上区块链,通过哈希值来确定某一个节点是否被入侵,判断过程准确,系统性能较好,解决了现有技术的如下问题:现有技术的僵尸物联网防御方法限制性较强,误报现象较多,且检测方式都较为被动,系统性能较差。

实施过程中,仅通过一个节点只能够确定第二预定节点可能被非法入侵,为了进一步增加被非法入侵的准确性,计算机程序在被处理器执行确定第二预定节点已被非法入侵的步骤之后,还被处理器执行以下步骤:统计区块链物联网上所有节点对第二预定节点的比较结果;检测比较结果中确定第二预定节点已被非法入侵的百分比是否超过预设百分比;在第二预定节点已被非法入侵的百分比超过预设百分比的情况下,确定第二预定节点为恶意节点。通过该过程,可以进一步增加系统的准确率。

在构建区块链物联网时,可以是所有的节点都保存创建区块链物联网所需的所有区块链数据,然而,该方法对每个节点的要求都会较高。基于上述考虑,为了节约系统资源,计算机程序在被处理器执行区块链物联网上的第一预定节点获取第二预定节点在区块链物联网注册时的原始哈希值的步骤之前,还被处理器执行以下步骤:将物联网上的各个节点均以区块链方式连接,建立区块链物联网;在区块链物联网上设置m个全节点和n个轻量级节点,其中,全节点保存了创建区块链物联网所需的所有区块链数据,轻量级节点保存了预定个数节点的数据,m和n均为大于或等于1的整数,m与n之和为区块链物联网上所有节点个数之和。

具体实现时,计算机程序在被处理器执行区块链物联网上的第一预定节点获取第二预定节点在区块链物联网注册时的原始哈希值的步骤时,具体实现如下步骤:在第一预定节点为轻量级节点、且与第一预定节点连接的所有节点均为轻量级节点的情况下,第一预定节点在本地没有第二预定节点的原始哈希值的情况下,根据第二预定节点在区块链物联网上的唯一标识向与第一预定节点连接的所有轻量级节点获取原始哈希值;在与第一预定节点连接的所有轻量级节点均不存在原始哈希值的情况下,通过所有轻量级节点向全节点获取原始哈希值。

计算机程序在被处理器执行区块链物联网上的第一预定节点获取第二预定节点在区块链物联网注册时的原始哈希值的步骤时,具体实现如下步骤:在第一预定节点为轻量级节点、且与第一预定节点连接的所有节点中存在全节点的情况下,第一预定节点在本地没有第二预定节点的原始哈希值的情况下,根据第二预定节点在区块链物联网上的唯一标识向与第一预定节点连接的全节点获取原始哈希值。

通过上述过程,即使轻量级节点也可以获取到原始哈希值,轻松实现比较。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行上述实施例记载的方法步骤。可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

本第三实施例的目的是将区块链技术应用于物联网安全机制中,提出一种既能够降低物联网管理成本,又能保护物联网用户数据隐私和节点间安全通信,有效识别合法物联网节点的僵尸物联网防御方法(即物联网防入侵的方法)。

本实施例提供的基于区块链的僵尸物联网防御方法,在物联网架构基础上,通过分布式账本、共识算法、签名、哈希算法和智能合约等机制,使每个物联网终端节点均承担数据块验证功能,避免非法甚至是恶意的僵尸网络控制节点和肉机节点接入物联网。基于区块链的物联网采用无中心组网方式,其拓扑结构如图2所示,区块链物联网轻量级终端(即节点)可以和区块链物联网轻量级终端连接,也可以和区块链物联网全节点存储终端连接。

区块链物联网在传统物联网层次架构的基础上,增加了对区块链协议的支持能力,层次架构如图3所示。

在网络设施层,虽然每个物联网终端节点均承担数据块验证功能,但是为了提高效率,并不需要所有的物联网终端节点都存储所有的区块链数据。可以将物联网终端节点分为全节点和轻量级节点两大类。全节点存储了从创建区块链依赖的所有区块链数据,轻量级节点只需要存储部分数据信息。全节点的优点是进行数据块校验是不需要依靠别的节点,仅依靠自身就可以完成校验更新等操作,但是全节点对计算和存储硬件的要求较高。而轻量级节点在进行数据块验证时,需要向邻居节点请求所需的数据来完成验证更新。因此,采用全节点和轻量级节点相结合的模式,能够在保证验证能力的前提下提高资源利用效率。

在数据层面上,区块链的基础是一个只可追加、不可更改的分布式数据库系统,是一个分布式账本、物联网终端节点使用共识算法来维持网络中账本数据库的一致性。同时采用密码学的签名和哈希算法来确保这个数据库不可篡改,不能作伪,并且可追溯。分布式账本由带有链接指针的区块构成,每个区块包含区块头和区块体两个部分。区块头包括用来实现区块链接的前一区块的哈希值和一个随机数。前一区块的哈希值是前一区块头部的哈希值,而随机数则决定了哪个物联网终端节点用来记录区块。由于物联网络设备种类繁多、部署范围广泛,从全局来看,物联网无法采用中心式网络模式。在没有中心节点的情况下,为了保证各物联网终端节点数据记录的一致性和正确性,就需要共识机制来消除由僵尸程序引发的恶意行为,保证互相没有信任基础的物联网终端之间传输数据的合法性和一致性。由于僵尸网络攻击属于拜占庭缺陷,本发明中采用实用拜占庭容错系统(practicalbyzantinefaulttolerance,pbft)在物联网全网中实现分布式一致性共识,有效识别僵尸网络中的恶意节点。

在应用层,通过开发和部署智能合约,制定与合约相关的所有条款的逻辑流程,实现物联网终端的注册、认证、授权、监控和审计。物联网终端无需认为干预,能够自主地执行全部或部分与合约相关的操作,并产生相应的可疑被验证的证据,来说明执行合约操作的有效性,既能够保证基础数据的有效传输,又能最小化僵尸网络引入的恶意行为发生。

本发明在物联网架构基础上,通过引入区块链技术,使每个物联网终端节点均承担数据块验证功能,增强无中心物联网络中互不信任的终端节点之间数据一致性,有效识别僵尸网络主控节点和肉机节点,从而提高物联网对僵尸网络的防御能力。

与现有技术相比,本发明提出的技术方案中充分考虑物联网无中心节点的特点,利用区块链技术在分布式一致性验证方面的优势,保证物联网终端节点间数据通信的安全性和一致性,可有效、准确识别值得信任的物联网终端节点,避免非法甚至是恶意的僵尸网络控制节点和肉机节点接入物联网,可有效抑制僵尸物联网蔓延,成为一种低成本、高效率、高精度的僵尸物联网防御方法。

尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1