基于改进决策树算法的智能家居安防设备安全性判断方法与流程

文档序号:14635253发布日期:2018-06-08 19:38阅读:429来源:国知局
基于改进决策树算法的智能家居安防设备安全性判断方法与流程

本发明属于智能家居安防设备网络信息安全技术领域,涉及基于改进决策树算法的智能家居安防设备安全性判断方法。



背景技术:

近年来,随着物联网的快速发展,智能家居、智能安防等也深受消费者的喜爱。为满足各消费群体的需求,智能家居产品也各种各样,其中不乏有一些为缩小成本而降低产品质量的厂商。经调查市场上出现了很多未加密的智能安防产品,导致智能安防设备安全性不够,不能为消费者提供强有力的保障。



技术实现要素:

有鉴于此,本发明的目的在于提供一种基于改进决策树算法的智能家居安防设备安全性判断方法,对智能安防设备安全性进行识别,为用户选择产品提供了很好的帮助。

为达到上述目的,本发明提供如下技术方案:

基于改进决策树算法的智能家居安防设备安全性判断方法,该方法包含如下步骤:

S1:构建wifi环境,通过控制智能家居安防设备,获取手机控制智能家居安防设备的Pcap数据包;

S2:分析抓取的Pcap数据包中传输层的TCP协议中携带的数据,对Pcap数据包进行过滤;

S3:根据获取和分析的结果生成决策树的训练集和测试集;

S4:利用训练集训练决策树模型,并利用测试集对决策树模型进行检验,确定改进的决策树模型;

S5:将训练好的改进的决策树模型对Pcap数据包中的控制命令数据是否加密进行判断,若为加密则判断智能家居安防设备安全性高,若为非加密则判断智能家居安防设备安全性低。

进一步,步骤S1具体包含如下步骤:

S11:通过个人电脑开启wifi热点;

S12:将手机和智能安防设备均连接至所述wifi热点;

S13:通过手机登录APP对智能安防设备进行布防或撤防控制,并打开wireshark软件进行pcap数据包的抓取。

进一步,步骤S13中满足抓取过程中根据需要选择控制智能家居安防设备,同时保证抓取的时间大于20分钟。

进一步,步骤S2具体包含如下步骤:

S21:过滤掉Pcap数据包中非TCP协议数据帧;

S22:判断TCP协议数据帧中数据data位长度是否大于0,过滤掉data位长度小于等于0的数据帧;

S23:获取Pcap数据包中的时间戳,计算相近两帧的时间差,过滤掉时间差不固定的数据帧;

S24:分析Pcap数据包剩余的数据帧,并记录IP及对应的data位数据长度。

进一步,步骤S4具体包含如下步骤:

S41:假定训练集和测试集的样本总数为N个,每个样本均包含M个特征属性;

S42:从N个样本中随机抽取N1个作为训练集,剩余N-N1个样本作为测试集;

S43:根据训练集的N1个样本,生成决策树T;

S44:将剩余测试集的N-N1样本对决策树T的精确度进行判断,若能够准确判断则输出决策树T为决策树模型,若不能准确判断,则将误差数据与等量的训练集的样本进行替换,形成新的测试集与训练集,重复步骤S43直至决策树T能够准确判断。

进一步,步骤S5具体包含如下步骤:

S51:连续两次获取Pcap数据包中的控制命令数据;

S52:通过对两次抓取的控制命令数据进行字符串逐一匹配,对两次抓取的控制命令数据进行对比;

S53:若两次的控制命令数据对比数据位变化的字节数小于10字节,且通过个人电脑伪造TCP数据能够对智能家居安防设备进行控制,则判断为非加密,且安全性低;

若两次的控制命令数据对比数据位变化的字节数大于等于10字节,且通过个人电脑伪造TCP数据不能对智能家居安防设备进行控制,则判断为加密,且安全性高。

本发明的有益效果在于:本发明的方法一方面能够帮助消费者准确判断市场上智能家居安防设备的安全性,另一方面也能为特定政府部门监管智能家居市场提供技术支持。

附图说明

为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:

图1为本发明流程图;

图2为经IP过滤的Pcap数据包示意图;

图3为抓取的Pcap文件基本格式示意图;

图4为提取智能家居安防设备控制命令的改进决策树模型图。

具体实施方式

下面将结合附图,对本发明的优选实施例进行详细的描述。

本发明根据wifi环境下获取的智能家居安防设备控制命令来判断其设备的安全性。智能家居安防设备的控制命令根据智能家居安防设备的品牌有着直接关系,需要获取其控制命令来判断该品牌是否值得购买。

下面结合附图与具体实施例对本发明作进一步说明:

一种基于改进决策树算法对智能家居安防设备安全性识别方法。如图1是整个识别方法的流程图。

1、抓取wifi环境下智能家居安防设备的Pcap数据包。

2、过滤Pcap数据包,确定该环境下有哪些智能家居安防设备。

3、建立决策树模型,对该Pcap数据包进行分析、识别

将个人电脑打开wifi热点模拟路由器,将手机、电脑和智能安防设备等都连接到该wifi热点上,用手机登录刻锐、小米等智能安防设备的APP,对设备进行布防或撤防控制,打开wireshark软件进行数据包的抓取,抓取过程中根据需要选择控制智能家居安防设备,同时保证抓取的时间大于20分钟以上,并将抓取数据包按照决策树模型的训练集和测试集进行分类。

根据连接在路由器上的IP,再根据智能家居安防设备定时与服务器进行交互的特点,然后确定哪个IP是智能家居安防设备的IP。如图2所示。很明确的显示了该设备的心跳数据,即重复发送并且data位长度大于0。

根据Pcap数据包的结构,如图3所示。需要根据Pcap结构找到每个数据包中携带的时间戳,找到每个相对应的智能家居安防设备的心跳时间。

根据所抓取的数据建立决策树模型,分析该Pcap数据包中是否包含有相对应的控制命令,如图4所示。决策树模型为一个二叉树模型,Pcap文件的总时长是获取Pcap文件的第一帧和最后一帧时间戳的差值;传输层协议和帧数据大小(Frame_Data_size)是获取Pcap文件中每一帧的传输协议及数据帧大小;经过以上决策过滤,再提取每一帧的时间戳,根据IP地址进行分类,计算时间戳差值,找到时间戳差值固定的源IP和目的IP;将源IP和目的IP对换,在数据包中寻找含有信息的数据帧,再根据含有数据信息是否过多重复来判断是否为控制命令。

初始状态时,对wireshark获取的Pcap数据包进行软件过滤、分类;用训练集对决策树算法模型进行训练,再用测试集对训练后的决策树进行验证。训练集是通过测试多款市场主流产品获得(萤石、刻锐、小米等),对决策树模型进行训练,并将相关系列产品的数据包作为测试集测试决策树精度,然后进行比较,根据误差调整决策树算法,选取精确度最高的作为最终决策树。该改进算法的具体步骤描述如下:

1)假定有样本数N个,每个样本都包含M个特征属性;

2)从N个样本中随机抽取N1个作为训练集,剩余N-N1个样本作为测试集;

3)根据N个样本训练集,生成决策树T;

4)根据N-N1个样本测试集,对决策树T判断其精确度,若能够准确的判断,则输出决策树模型,若不能,则需将这些误差数据与等量的训练集样本进行替换,形成新的测试集与训练集,转步骤3)直至决策树T能够准确判断。

根据对Pcap文件结构的分析、智能安防设备的数据分析及智能家居特定环境下Pcap数据包的抓取,能够建立决策树算法模型从抓取的Pcap数据包中找出该Pcap数据包中是否有智能安防设备,如果有,再根据智能安防设备的特性找出其控制命令,从而判断其安全性的高与低,智能安防设备的控制命令有布防和撤防两种。设备安全性的高低判定是根据数据是否加密,判断数据是否加密也就是对数据复杂度的判断,本发明采用的方法是连续获取两次控制命令,通过对比函数对两次数据进行对比,若两次对比数据位变化的字节数小于10字节,并且通过电脑伪造TCP数据能够实现控制,则判断为非加密,安全性较低,反之,判断为加密,安全性较高。

最后说明的是,以上优选实施例仅用以说明发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。

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