一种物联网终端网络画像及异常网络访问行为检测方法与流程

文档序号:17356004发布日期:2019-04-09 21:40阅读:248来源:国知局
一种物联网终端网络画像及异常网络访问行为检测方法与流程

本发明属于网络安全、物联网终端安全防护等领域,具体涉及一种物联网终端网络画像及异常网络访问行为检测方法。



背景技术:

物联网通过组合信息传感设备、智能通讯系统以及大数据分析技术,把全球范围内的物理实体、信息系统和人有机连接起来,提供丰富的智能化服务。伴随着物联网的产生和发展,各种物联网智能终端设备也越来越多地出现在人们的日常生活当中,如智能手表/手环、智能电表、智能门锁、扫地机器人等。

然而在物联网终端设备大规模普及的同时,也给物联网的网络安全保护带来了巨大的挑战。现有物联网终端侧重于功能实现,在设计上普遍忽略安全问题,因而黑客可轻易利用物联网终端的安全漏洞,使其成为传统网络攻击的新工具。如2016年10月,黑客借助主要由智能摄像头组成的mirai僵尸网络发动ddos攻击,使得美国东海岸地区遭受大面积网络瘫痪。

由于物联网终端大多功能、资源有限,难以在终端设备上部署传统的杀毒软件等工具进行安全防护。因此,对物联网终端产生的网络流量进行建模分析,进而检测出异常的网络访问行为,增强物联网的网络安全防护,具有重要意义。

中国专利申请cn108270620a公开了一种基于画像技术的网络异常检测方法,该方法包括:获取网络中的设备的相关数据信息;根据相关数据信息构造设备向量;计算设备向量与设备对应的设备画像间的设备偏差;计算设备向量与设备所属的设备类型对应的设备类型画像间的类型偏差;在设备偏差和/或类型偏差超过设定阈值时,发出告警,以实现网络异常检测。该方法在实施过程中存在网络异常检测特征考虑不足、异常检测方法单一等问题,异常检测效果欠佳。



技术实现要素:

本发明解决的技术问题是如何检测物联网终端的异常网络访问行为,提高网络安全。

为解决上述技术问题,本发明提供了一种物联网终端网络画像及异常网络访问行为检测方法,包括如下步骤:

(1)统计一定时间范围内物联网终端产生的网络流量特征信息;

(2)基于统计的流量特征信息,构建物联网终端的网络画像;

(3)将建立的网络画像与终端自身的历史画像进行比对以检测异常,若有明显差异,判断终端网络访问异常;

(4)将建立的网络画像与同类终端的网络画像进行比对以检测异常,若有明显差异,判断终端网络访问异常;否则,判断终端的网络访问行为正常。

具体的,所述步骤(1)具体包括如下步骤:

(1-1)设定时间范围区间,记为t;

(1-2)从网络报文中提取终端的ip地址和mac地址,分别记为aip和amac。以<aip,amac>组合为物联网终端标记,执行步骤(1-3)至(1-11)进行该终端的网络流量特征分析统计;

(1-3)统计t时间范围内终端产生的网络流量数量,记为n;

(1-4)统计t时间范围内终端产生的所有tcp和upd流量数量;

(1-5)在t时间范围内,针对终端产生的n条网络流量,分别统计其上行和下行流量的报文长度的总和值,分别记为bu(i)和bd(i),i表示第i条网络流量;

(1-6)分别计算t时间范围内所有上行流量和下行流量的报文长度的总和值,分别记为su和sd,su计算为sd计算为

(1-7)在t时间范围内,针对终端产生的n条网络流量,统计其持续时长,记为c(i),i表示第i条网络流量,将第i条网络流量中最后一个报文的出现时间减去第一个报文的出现时间,即为持续时长c(i);

(1-8)计算t时间范围内网络流量持续的总时长值,记为c,c计算为

(1-9)在t时间范围内,提取与终端交互的所有目标ip地址,记第j个目标地址为ipdst(j);

(1-10)统计t时间范围内出现的目标ip地址的数量,记为d;

(1-11)在t时间范围内,针对终端产生的每一条网络流量i,分析其是否异常,并统计异常流量的数量,记为m。

优选的,在步骤(1-1)中,可根据具体业务特点设定时间范围t的值。如物联网终端产生的流量较少,t可设置为一个星期;若物联网终端产生的流量较多,t值可设置为一天等。在实际应用中,可多次调整t的值以检验异常网络访问行为的检测效果,从而确定最优的t值。

优选的,在步骤(1-2)中,针对不同的物联网终端,可同时执行步骤(1-3)至(1-11),从而加快网络流量的分析处理速度。

优选的,在步骤(1-3)中,以五元组<源ip地址,目标ip地址,源端口,目标端口,上层协议>表示一条网络流量。其中,源ip地址即为物联网终端所配置的ip地址aip,上层协议为传输层协议,如tcp、udp等。

优选的,在步骤(1-5)中,上行表示网络报文由物联网终端发往目标地址,下行表示网络报文由目标地址发往物联网终端。将网络流量i中所有上行报文的长度进行相加,即为bu(i);将网络流量i中所有下行报文的长度进行相加,即为bd(i)。报文的长度仅指数据的长度,不包括报文头部的长度。

优选的,在步骤(1-9)中,重复的目标地址只记录一次。

优选的,在步骤(1-11)中,可使用snort、bro等工具确定网络流量i是否异常,也可采用其它新的方法,如单类支持向量机等异常检测算法等确定网络流量i是否异常。

具体的,所述步骤(2)具体包括如下步骤:

(2-1)设定终端网络画像的一级指标;本发明专利以基本属性、网络流量统计属性以及网络流量异常属性为三个一级指标。

(2-2)设定终端网络画像的二级指标;针对一级指标基本属性,包含的二级指标包括物联网终端的ip地址和mac地址;针对网络流量统计属性,包含的二级指标包括网络流量数量n、上行流量报文长度的总和值su、下行流量报文长度的总和值sd、网络流持续的总时间长度值c以及目标ip地址的数量d;针对网络流量异常属性,包含的二级指标为异常流量的数量m。

(2-3)设定终端网络画像的三级指标。对于二级指标网络流量数量n,包含的三级指标为tcp流量数量和upd流量数量;对于二级指标上行流量报文长度的总和值su,包含的三级指标为网络流量i的上行报文长度的总和值bu(i),i=1,2,…,n;对于二级指标下行流量报文长度的总和值sd,包含的三级指标为网络流量i下行的报文长度的总和值bd(i),i=1,2,…,n;对于二级指标网络流持续的总时间长度值c,包含的三级指标为网络流量的持续时长c(i),i=1,2,…,n;对于二级指标目标ip地址的数量d,包含的三级指标为目标地址ipdst(j),j=1,2,…,d。

具体的,所述步骤(3)具体包括如下步骤:

(3-1)设定历史窗口大小值w,选择终端最近w个画像作为比较数据集。记终端当前画像为pt,下标t表示当前时刻,选择的最近w个历史画像分别记为pt-t,pt-2t,…,pt-wt,即每一个画像的秩序时间均为t,、wt表示w和t的乘积;

(3-2)若当前画像pt中ip或mac地址同pt-t中的ip或mac地址至少一个不一致,则产生告警,表明可能存在更换硬件设备风险并进行步骤(3-3);若完全一致则进行步骤(4);

(3-3)计算pt-t,pt-2t,…,pt-wt中的各二级指标,包括:网络流量数量、上行流量报文长度的总和值、下行流量报文长度的总和值、网络流持续的总时间长度值、目标ip地址的数量、异常流量的数量的均值;将pt-t,pt-2t,…,pt-wt中各指标的值相加,然后除以数字w,即为各指标的均值;

(3-4)若pt中的二级指标:网络流量数量、上行流量报文长度的总和值、下行流量报文长度的总和值、网络流持续的总时间长度值、目标ip地址的数量、异常流量的数量,同历史画像的均值相比,至少一个超过设定的阈值,则可能存在异常网络访问,继续执行步骤(3-5)进行判断,否则执行步骤(4)内容;

(3-5)对pt,pt-t,pt-2t,…,pt-wt中的三级指标进行预处理,然后使用孤立森林等机器学习方法进行异常检测。若检测结果为异常,则产生告警。否则,执行步骤(4)内容;使用机器学习方法对终端画像的三级指标进行异常检测。即步骤(3-3)和(3-4)为初步判断,而步骤(3-5)为进一步的分析检测。

优选的,在步骤(3-4)中,可使用欧式距离比较pt同历史画像间的差别。记步骤(3-3)中算出的网络流量数量的均值为上行流量报文长度的总和值的均值为下行流量报文长度的总和值的均值为网络流持续的总时间长度值的均值为目标ip地址的数量的均值为异常流量的数量的均值为则欧式距离d(w)计算为:

设定的阈值为τ,若d(w)>τ,则可能存在异常,执行步骤(3-5)。否则,执行步骤(4)内容。

优选的,在步骤(3-4)中,还可以采用其它距离计算方法,如马氏距离、夹角余弦、切比雪夫距离等。

在步骤(3-4)中,在距离计算时,可预先对各参数进行归一化处理。

优选的,在步骤(3-5)中,当使用孤立森林异常检测算法时,数据预处理只需将目标地址ipdst(j)表示为十进制数字即可。

在步骤(3-5)中,当使用孤立森林异常检测算法时,将历史画像pt-t,pt-2t,…,pt-wt中的三级指标作为训练样本,对孤立森林算法进行训练,建立异常检测模型。

在步骤(3-5)中,使用pt中的三级指标作为输入,对建立的异常检测模型进行测试。若检测为反列(计算结果为-1),则判定终端网络访问行为异常。

在步骤(3-5)中,可根据实际的物联网终端和网络情况选择不同的机器学习方法,数据预处理过程也可发生相应变化。

具体的,所述步骤(4)具体包括如下步骤:

(4-1)选择h个同类终端,记选择的同类终端的当前画像为pt(z),z=1,2,…h;

(4-2)计算pt(1),pt(2),…,pt(h)中的各二级指标,包括:网络流量数量、上行流量报文长度的总和值、下行流量报文长度的总和值、网络流持续的总时间长度值、目标ip地址的数量、异常流量的数量各二级指标的均值,将pt(1),pt(2),…,pt(h)中各指标的值相加,然后除以数字h,即为各指标的均值;

(4-3)若pt中的二级指标:网络流量数量、上行流量报文长度的总和值、下行流量报文长度的总和值、网络流持续的总时间长度值、目标ip地址的数量、异常流量的数量各二级指标的均值,同同类终端的指标均值相比,超过设定的阈值,则可能存在异常网络访问,继续执行步骤(4-4),否则结束执行,判定终端网络访问行为正常;

(4-4)对pt,pt(1),pt(2),…,pt(h)中的三级指标进行预处理,然后使用孤立森林等机器学习方法进行异常检测。若检测结果为异常,则产生告警。否则,判定终端网络访问行为正常。

优选的,在步骤(4-1)中,可根据具体物联网应用场景选择同类终端,如农场中部署的多个温度传感器、街道上安装的多个摄像头等。其总体原则可概括为选择在同一应用部署中的同一业务类型终端。

优选的,在步骤(4-3)中,可使用欧式距离比较pt同同类终端画像间的差别。记步骤(4-2)中算出的网络流量数量的均值为上行流量报文长度的总和值的均值为下行流量报文长度的总和值的均值为网络流持续的总时间长度值的均值为目标ip地址的数量的均值为异常流量的数量的均值为则欧式距离d(h)计算为:

设定的阈值为ω,若d(h)>ω,则可能存在异常,执行步骤(4-4)。否则,判定终端网络访问行为正常。

优选的,在步骤(4-3)中,还可以采用其它距离计算方法,如马氏距离、夹角余弦、切比雪夫距离等。

在步骤(4-3)中,在距离计算时,可预先对各参数进行归一化处理。

优选的,在步骤(4-4)中,当使用孤立森林异常检测算法时,数据预处理只需将三级指标中的目标地址ipdst表示为十进制数字即可。

在步骤(4-4)中,当使用孤立森林异常检测算法时,将同类终端画像pt(1),pt(2),…,pt(h)中的三级指标作为训练样本,对孤立森林算法进行训练,建立异常检测模型。

在步骤(4-4)中,使用pt中的三级指标作为输入,对建立的异常检测模型进行测试。若检测为反列(计算结果为-1),则判定终端网络访问行为异常。

在步骤(4-4)中,可根据实际的物联网终端和网络情况选择不同的机器学习方法,数据预处理过程也可发生相应变化。

本发明的有益效果

(1)以物联网终端产生的整体流量为考察对象,异常网络访问行为的检测更加准确;

(2)在进行异常网络访问行为检测时,先进行二级指标值的初步判定,若有异常,再对三级指标进行进一步的机器学习方法判定,检测更加高效;

(3)通过同终端自身的历史画像数据和同类终端的画像数据进行比对,能有效检测出不同类型的恶意攻击行为。如:恶意代码嵌入(网络行为与同类终端不一致)、黑客入侵(网络行为与自身历史数据以及同类终端均不一致)、伪冒终端(如窃取合法终端的sim卡,然后使用黑客自身设备接入物联网中。此时,终端的网络行为与自身历史数据以及同类终端均不一致)等。

附图说明

图1为本发明终端网络访问行为的画像内容。

图2为实施例中终端网络画像示例图。

图3为实施例中终端历史画像示例图。

图4为实施例中同类终端的画像示例图。

具体实施方式

下面结合实施例对本发明作进一步说明,但本发明的保护范围不限于此:

我们假设某芯片工厂建设有工业物联网,通过在生产车间中部署温度-湿度传感器,对芯片生产环境进行监控。温度-湿度传感器通过无线网络,如wifi,定时(每30分钟)将监测数据发送至后台服务器。为了方便描述,下面假设某一温度-湿度传感器a在部署过程中,被竞争对手嵌入恶意模块,窃取芯片生产车间内的环境参数,并发送至恶意服务器供竞争对手分析使用。本发明专利提供的方法部署在无线网络网关处,对温度-湿度传感器的网络行为进行异常检测分析。同时,在无线网络网关处部署传统的防火墙和入侵检测系统,对流量内容进行攻击检测,产生单条流量的异常告警。

(1),根据图1所示的画像内容,时间范围t设为2小时,统计t时间范围内温度-湿度传感器a产生的网络流量特征信息;

(2)基于步骤(1)获得的网络流量特征信息的,构建温度-湿度传感器a的网络访问行为画像pt,如图2所示。

(3),将画像pt同其历史画像进行比较,历史窗口大小值w设定为3,设定的阈值τ为50。历史画像如图3所示。首先比较ip地址和mac地址,没有变化。其次,计算历史画像选定二级指标的平均值,计算结果如下:

网络流量数量的均值

上行流量报文长度的总和值的均值为字节;

下行流量报文长度的总和值的均值为字节;

网络流持续的总时间长度值的均值为秒;

目标ip地址的数量的均值为

异常流量的数量的均值为

欧式距离d(w)=32.5,小于设定的阈值50,执行步骤(4)。

(4),将画像pt同其同类终端的网络访问行为画像进行比较,同类终端数量h设定为3,设定的阈值ω为100。同类终端的网络访问行为画像如图4所示。计算同类终端画像选定二级指标的平均值,计算结果如下:

网络流量数量的均值为

上行流量报文长度的总和值的均值为字节;

下行流量报文长度的总和值的均值为字节;

网络流持续的总时间长度值的均值为秒;

目标ip地址的数量的均值为

异常流量的数量的均值为

欧式距离d(h)=522.2,大于设定的阈值100,可能存在异常,则使用机器学习方法进行异常检测。

本实施例中采用孤立森林的方法,以同类终端的三级指标为训练样本,对孤立森林算法进行训练,得出孤立森林异常检测模型。然后以pt中的三级指标为测试样本,使用训练得出的孤立森林异常检测模型进行判定。判定结果为-1,则产生告警,成功检测出异常的温度-湿度传感器a。当基于sklearn实现孤立森林异常检测时,核心代码如下:

fromsklearn.ensembleimportisolationforest

ifexp=isolationforest(max_samples=100*2,random_state=rng)

y_train=ifexp.predict(x_train)

y_outliers=ifexp.predict(x_outliers)

其中,x_train保存训练样本,x_outliers报文测试样本。y_outliers结果为-1,表明测试样本异常。

由此可见,区别于背景技术中的专利申请cn108270620a,本申请通过步骤(2-1)中考虑终端基本属性(ip地址、mac地址),能识别终端伪冒攻击;通过考虑步骤(2-1)中的网络流量异常属性,使得本方法可以和已有网络安全工具如snort或bro等进行组合使用,使得检测效果更加精准;使得检测速度得到提高,检测结果更加精确、误检率低。

需要声明的是,本发明内容及具体实施方式意在证明本发明所提供技术方案的实际应用,不应解释为对本发明保护范围的限定。本领域技术人员在本发明的精神和原理启发下,可作各种修改、等同替换、或改进。但这些变更或修改均在申请待批的保护范围内。

本文中所描述的具体实施例仅仅是对本发明精神做举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

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