一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种物联网设备的安全检测系统及方法与流程

2021-11-03 11:22:00 来源:中国专利 TAG:


1.本发明涉及计算机网络安全技术领域,特别涉及一种物联网(iot)设备的安全检测系统及方法。


背景技术:

2.随着智能家居的快速发展,iot在计算机网络中扮演着非常重要的角色。随着而来的是,iot设备的安全问题日益凸显,海量数据的接入、处理及甄别都对iot设备安全构成巨大挑战。
3.目前,对iot设备进行安全检测,采用的是离线数据分析方式。离散数据分析方式包括:首先,对iot设备的数据进行采集,将采集后的数据写入到设置的数据仓库中;其次,所述数据仓库采用所设置的关联分析规则对所述数据进行分析,得到检测结果。采用这种方式对iot设备进行安全检测,耗时漫长,iot中的iot设备关系的变动都会对iot设备的检测结果造成很大的困扰。当根据检测结果对iot设备的安全进行处理时,存在事后处理发现问题及检测结果不可信等缺陷,使得iot设备的检测非常低效及不准确,不能满足iot设备的实时安全检测需求。


技术实现要素:

4.有鉴于此,本发明实施例提供一种iot设备的安全检测方法,该方法能够实时地对iot设备的安全进行准确检测。
5.本发明实施例还提供一种iot设备的安全检测系统,该系统能够实时地对iot设备的安全进行准确检测。
6.本发明实施例是这样实现的:
7.一种物联网iot设备的安全检测系统,包括:实时数据采集单元、分布式消息队列单元、分布式文件存储单元、实时数据处理单元及事件处理单元,其中,
8.所述实时数据采集单元,用于实时采集iot设备数据,发送给所述分布式消息队列单元;
9.所述分布式消息队列单元,用于将所述实时采集的iot设备数据进行分布式存储;
10.所述分布式文件存储单元,用于分布式存储用户设备关系数据;
11.所述实时数据处理单元,用于将所述分布式消息队列单元中存储的iot设备数据,基于所述分布式文件存储单元存储的用户设备关系数据及所设置的检测规则,进行安全检测分析,得到检测结果;
12.所述事件处理单元,用于根据设置的处置规则,基于检测结果生成对应的事件,执行所述事件。
13.进一步地,所述实时数据采集单元,还用于从实时采集的iot设备数据中抽取用户设备关系数据,发送给分布式文件存储单元;
14.所述分布式文件存储单元,还用于从实时数据采集单元接收用户设备关系数据
后,更新存储的用户设备关系数据。
15.进一步地,所述iot设备数据包括:用户设备关系数据、设备网关数据及用户网关数据;
16.所述实时数据采集单元还包括:用户设备关系数据采集子单元、设备网关数据采集子单元及用户网关数据采集子单元,其中,
17.所述用户设备关系数据采集子单元,采用开源的抽取转换加载平台datax实现,用于从实时采集iot设备数据中抽取用户设备关系数据,缓存后,发送给采用分布式系统架构hadoop存储单元的分布式文件存储单元;
18.设备网关数据采集子单元,用于以认证的令牌token方式访问iot设备,对iot设备的设备网关数据进行操作记录,将操作记录实时打印到iot设备的本地日志中,采用本地文件的日志数据采集器filebeat方式实时抽取本地日志,作为设备网关数据发送给分布式消息队列单元;
19.用户网关数据采集子单元,用于采用分布式发布订阅系统框架的客户端到服务器方式,将采集的用户网关数据推送给分布式消息队列单元。
20.进一步地,所述分布式文件存储单元,还用于采用基于分布式系统架构hadoop存储单元分布式存储用户设备关系数据;
21.所述实时数据处理单元,还用于采用分布式流数据引擎flink方式从所述分布式消息队列单元中拉取iot设备数据,及接收所述分布式文件存储单元采用基于hadoop的数据仓库工具hive提供的用户设备关系数据缓存在内存中,将iot设备数据根据内存中的用户设备关系数据进行用户设备关系的过滤后,再采用在不同安全场景下设置的不同检测规则对过滤后的结果进行检测,得到检测结果;
22.所述事件处理单元,还用于根据设置的处置规则,基于检测结果生成对应的事件,在所设置的安全网关上加载所述事件,执行。
23.一种iot设备的安全检测方法,包括:
24.实时采集iot设备数据,进行分布式存储;
25.对分布式存储的iot设备数据基于分布式存储的用户设备关系数据及设置的检测规则,进行检测,得到检测结果;
26.根据设置的处置规则,基于检测结果生成对应的事件,执行所述事件。
27.进一步地,所述iot设备数据包括:设备网关数据、用户网关数据及用户设备关系数据;
28.所述实时采集iot设备数据,进行分布式存储包括:
29.以认证的token方式访问iot设备,对iot设备的设备网关数据进行操作记录,将操作记录实时打印到iot设备的本地日志中,采用filebeat方式实时抽取本地日志,作为设备网关数据进行存储;
30.采用分布式发布订阅系统框架的客户端到服务器方式,将采集的用户网关数据推送到分布式存储单元进行分布式存储;
31.对采集的设备网关数据进行datax处理后,得到用户设备关系数据,进行分布式存储。
32.进一步地,所述分布式存储的用户设备关系数据实时更新。
33.进一步地,所述分布式存储的用户设备关系数据进行检测,包括:
34.所述iot设备数据以列表形式表示;
35.所述用户设备关系数据在内存中以临时列表的形式缓存;
36.将上述两个列表的每条记录进行对比,过滤得到所述iot设备数据中不一致的记录。
37.进一步地,所述设置的检测规则,在不同的安全场景下设置的不同。
38.进一步地,所述基于检测结果生成对应的事件,执行所述事件包括:
39.所述事件为在iot设备的安全网关执行的事件,在iot设备的安全网关中加载所述事件并执行。
40.如上所见,本发明实施例对iot设备的数据实时采集,将采集的数据进行分布式处理缓存;将缓存后的分布式数据基于采用分布式存储且实时更新的用户设备关系数据,及设置的检测规则进行检测分析后,得到iot设备的数据检测结果,根据检测结果生成对应的事件后执行。这样,本发明实施例采用集中采集及分布式检测处理技术,对实时采集的iot设备数据进行了安全性检测,从而可以实时地对iot设备的安全进行检测,提高了检测准确性。
附图说明
41.图1为本发明实施例提供的iot设备的安全检测系统结构示意图;
42.图2为本发明实施例提供的实时数据采集单元的结构示意图;
43.图3为本发明实施例提供的事件处理单元的结构示意图;
44.图4为本发明实施例提供的iot设备的安全检测系统具体例子结构示意图;
45.图5为本发明实施例的iot设备的安全检测方法流程图;
46.图6为本发明实施例的实时采集iot设备数据并分布存储的方法流程图;
47.图7为本发明实施例提供的iot设备的安全检测方法具体例子流程图。
48.附图标说明
49.10-实时数据采集单元
50.101-用户设备关系数据采集子单元
51.102-设备网关数据采集子单元
52.103-用户网关数据采集子单元
53.20-分布式消息队列单元
54.30-分布式文件存储单元
55.40-实时数据处理单元
56.50-事件处理单元
具体实施方式
57.为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
58.背景技术中无法对iot设备的安全进行准确检测的主要原因是,由于iot中的iot设备数据量巨大,对所有数据进行实时检测处理难度大,所以在处理时采用的是离线数据
分析方式。虽然这种方式降低了iot设备的安全检测难度,但是却存在无法对iot设备的实时检测,且检测准确度不高及不及时等缺陷。
59.因此,为了克服上述缺陷,本发明实施例对iot设备的数据实时采集,将采集的数据进行分布式处理缓存;将缓存后的分布式数据基于采用分布式存储且实时更新的用户设备关系数据,及设置的检测规则进行检测分析后,得到iot设备的数据检测结果,根据检测结果生成对应的事件后执行。
60.这样,本发明实施例采用集中采集及分布式检测处理技术,对实时采集的iot设备数据进行了安全性检测,从而可以实时地对iot设备的安全进行检测,提高了检测准确性。
61.图1为本发明实施例提供的iot设备的安全检测系统结构示意图,包括:实时数据采集单元10、分布式消息队列单元20、分布式文件存储单元30、实时数据处理单元40及事件处理单元50,其中,
62.所述实时数据采集单元10,用于实时采集iot设备数据;
63.所述分布式消息队列单元20,用于将所述实时采集的iot设备数据进行分布式存储;
64.所述分布式文件存储单元30,用于分布式存储用户设备关系数据;
65.所述实时数据处理单元40,用于将所述分布式消息队列单元20中存储的iot设备数据,基于所述分布式文件存储单元存储的用户设备关系数据及所设置的检测规则,进行安全检测分析,得到检测结果;
66.所述事件处理单元50,用于根据设置的处置规则,基于检测结果生成对应的事件,执行所述事件。
67.在图1中,所述实时数据采集单元10,还用于从实时采集iot设备数据中抽取用户设备关系数据,发送给分布式文件存储单元30;
68.所述分布式文件存储单元,还用于从实时数据采集单元10接收用户设备关系数据后,更新存储的用户设备关系数据。
69.图1中所述的实时数据采集单元10的结构如图2所示,包括:用户设备关系数据采集子单元101、设备网关数据采集子单元102及用户网关数据采集子单元103,其中,
70.用户设备关系数据采集子单元101,用于从实时采集iot设备数据中抽取用户设备关系数据,缓存后,发送给分布式文件存储单元30;
71.设备网关数据采集子单元102,用于采集设备网关数据,发送给分布式消息队列单元20;在采集时,保证设备网关数据采集子单元的负载均衡;
72.用户网关数据采集子单元103,用于采集用户网关数据,发送给分布式消息队列单元20;在采集时,保证设备网关数据采集子单元的负载均衡。
73.具体地说,用户设备关系数据采集子单元101采用抽取转换加载(etl)平台实现,比如具体采用开源的etl平台(datax)实现,所述分布式文件存储单元30是采用分布式系统架构(hadoop)存储单元实现,比如采用开源的分布式数据库(hbase)实现。在用户设备关系数据采集子单元101中,缓存抽取的用户设备关系数据是采用关系型数据库存储,在存储时可以列表形式存储,比如将用户设备关系数据采用用户设备关系数据列表缓存,该用户设备关系数据列表定义为user_device_relation_tb,表中的每条记录包含的主要信息包括用户标识、设备标识、绑定关系(共享还是拥有)、设备状态(是否处于异常状态)、及操作类
型(添加、删除或获取)等等。
74.用户设备关系数据采集子单元101,还用于首次采用全量发送方式发送缓存的用户设备关系数据给所述分布式文件存储单元30,后续采用增量发送方式发送缓存的用户设备关系数据给所述分布式文件存储单元30。
75.用户设备关系数据采集子单元101,还用于将缓存的抽取的用户设备关系数据定时或接收到发送指令时,发送给所述分布式文件存储单元30,保证用户设备关系数据的实时性。在分布式文件存储单元30接收到用户设备关系数据时,与本地存储的用户设备关系数据进行比较,进行去重及更新处理,保证实时性。
76.在分布式文件存储单元30中,用户设备关系数据以列表形式存储,存储形式包括:用户标识 设备标识 操作类型(添加删除变更)作为行记录(rowkey)。
77.可以看出,在本发明实施例中,iot设备数据至少包括三个部分:一个是与设备相关的数据,称为设备网关数据,另一个是用户相关的数据,称为用户网关数据,再一个是从iot设备数据中,特别是设备网关数据中抽取的用户设备关系数据。
78.具体地,设备网关数据包括:设备的添加删除记录、查询设备操作记录及相关的用户设备关系数据等。具体可以包括使用iot设备的用户标识、设备标识、上报时间、操作类型及请求成功状态,其中操作类型包括iot设备的操作相关信息,比如iot设备为智能家居设备时,所述操作类型为温度、设备操作信息、视频流信息及图片私密信息等。
79.所述设备网关数据采集子单元102可以为本地文件的日志数据采集器(filebeat),还用于采用认证的令牌(token)方式对设备网关数据进行操作记录,将操作记录实时打印到本地日志中,实时抽取本地日志,作为设备网关数据发送给分布式消息队列单元20。在这里,抽取的本地日志可以采用采用设置的数据格式,采用与分布式消息队列单元20约定的字段上报到分布式消息队列20中所设置的队列中,比如,数据格式采用json数据格式。
80.用户网关数据是iot设备实时处理的用户数据,所述用户网关数据采集子单元103作为分布式发布订阅消息系统中的客户端,用于推送给作为分布式发布订阅消息系统中的服务器的分布式消息队列单元20,也就是用户网关数据采集子单元103和分布式消息队列单元20之前采用分布式发布订阅消息系统框架的客户端到服务器方式进行交互,传输用户网关数据,保证用户网关数据的及时性、完整性及可靠性。在这里,分布式发布订阅消息系统框架采用的是kafka,kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理用户在操作iot设备时的所有数据。
81.在本发明实施例中,实时数据处理单元采40用分布式流数据引擎(flink)方式从所述分布式消息队列单元20中拉取iot设备数据,及接收所述分布式文件存储单元30采用基于hadoop的数据仓库工具(hive)提供的用户设备关系数据,将iot设备数据根据用户设备关系数据进行用户设备关系的实时分析后,再采用设置的检测规则甄别iot设备数据的获取安全性、分析设备及用户请求的安全性,得到检测结果。
82.在这里,实时数据处理单元采40中采用了flink,进行全量或增量的用户设备关系数据的更新,这个状态存放在实时数据处理单元采40中的内存当中,并且实时更新,保证了实时性,准确性。这种实时及一致性的海量的用户设备关系的处理,能够在多种数据一致性场景中得到利用。
83.实时数据处理单40在将iot设备数据根据用户设备关系数据进行用户设备关系的实时分析之前,还将从所述分布式文件存储单元30接收的用户设备关系数据与本地内存中的用户设备关系数据进行比较,进行去重和更新处理,保证内存中的用户设备关系数据的实时性。
84.在这里,将iot设备数据根据用户设备关系数据进行用户设备关系的实时分析包括:将iot设备数据关联用户设备关系数据,对关联的iot设备数据进行统计及校验。
85.所述检测规则包括:黑白名单的筛选、访问频率的判断、用户异常条件的判断、设备异常条件的判断、网际协议(ip)地址异常判断中的一种或多种等。
86.在本发明实施例中,还可以设置不同安全场景,在不同的安全场景下所设置的检测规则不同,进行有针对性地检测。所述安全场景包括暴力破解场景、暴力请求攻击场景及恶意获取设备信息等安全场景。
87.在本发明实施例中,如图3所示,如图所示:
88.所述事件处理单元50,还用于根据设置的处置规则,对检测结果进行处理,生成对应在设置的安全网关上执行的事件后,在所述安全网关上执行。比如:生成的事件为在iot设备的安全网关上设置防火墙,进行某一类iot设备数据的拦截,以屏蔽恶意攻击行为;或者生成的事件为根据所设置的黑白名单对iot设备数据在安全网关上进行对应的拦截等等。
89.还比如:生成的事件为将在iot设备的安全网关上获取的安全信息通过网络方式对安全人员进行展示;生成的事件为配置安全处理策略,该策略将通过所设置的安全网关以加密的方式,对iot设备进行安全的校验,校验不通过的iot设备将会加入所设置的黑名单。有特殊需求的iot设备将会加入所设置的白名单,保证iot设备安全检查的灵活度。
90.图4为本发明实施例提供的iot设备的安全检测系统具体例子结构示意图,如图所示,其中,实时数据采集单元10包括:
91.缓存有用户设备关系数据的关系型数据库,该关系型数据库采用datax对用户设备关系数据进行处理,并将用户设备关系数据发送给hbase中存储;
92.将采集的用户网关数据采用filebeat方式发送给分布式消息队列单元20;
93.将采集的用户网关数据采用kafka的客户端模式推送给分布式消息队列单元20。
94.实时数据处理单元40包括:
95.采用flink方式分别从分布式消息队列单元20拉取iot设备数据,及从hbase接收hbase采用hive方式提供用户设备关系数据并存储在内存中,将iot设备数据基于内存中的用户设备关系数据进行过滤后,得到过滤结果;进一步,将得到的过滤结果采用设置的检测规则进行检测,得到最终的检测结果,发送给事件处理单元50进行处理。
96.事件处理单元50包括:
97.将检测结果,根据设置的处置规则,生成对应的在设置的安全网关执行的事件,根据所生成的事件,在相应的安全网关中执行。
98.图5为本发明实施例提供的iot设备的安全检测方法流程图,其具体步骤为:
99.步骤501、实时采集iot设备数据;
100.步骤502、将实时采集的iot设备数据进行分布式存储;
101.步骤503、对分布式存储的iot设备数据基于分布式存储的用户设备关系数据,及
设置的检测规则,进行检测,得到检测结果;
102.步骤504,根据设置的处置规则,基于检测结果生成对应的事件,执行所述事件。
103.在图5中,所述iot设备数据包括:设备网关数据、用户网关数据及用户设备关系数据,图5中的实时采集iot设备数据并分布存储的具体方法如图6所示,包括:
104.步骤601、以token方式访问iot设备,对iot设备的设备网关数据进行操作记录,将操作记录实时打印到iot设备的本地日志中,采用filebeat方式实时抽取本地日志,作为设备网关数据进行存储;
105.步骤602、采用分布式发布订阅系统框架的客户端到服务器方式,将采集的用户网关数据推送到分布式存储单元进行分布式存储;
106.步骤603、对采集的设备网关数据进行datax处理后,得到用户设备关系数据,进行分布式存储。
107.在该方法中,所述分布式存储的用户设备关系数据实时更新。
108.在该方法中,所述对分布式存储的iot设备数据基于分布式存储的用户设备关系数据进行检测包括:
109.所述iot设备数据以列表形式表示;
110.所述用户设备关系数据在内存中以临时列表的形式缓存;
111.将上述两个列表的每条记录进行对比,过滤得到所述iot设备数据中不一致的记录。
112.在该方法中,所述设置的检测规则,在不同的安全场景下设置的不同。
113.在该方法中,所述基于检测结果生成对应的事件,执行所述事件包括:
114.所述事件为在iot设备的安全网关执行的事件,在iot设备的安全网关中加载该事件并执行。
115.举一个具体例子对本发明实施例进行详细说明。
116.图7为本发明实施例提供的iot设备的安全检测方法具体例子流程图,其具体步骤为:
117.步骤701、实时数据处理单元将拉取的iot设备数据缓存在设备实时操作记录信息注册临时列表(device_operation_tb)中,与内存缓存的用户设备关系数据的user_device_relation_tb进行左连接(left join)操作,通过关联两表中每条记录的用户标识、设备标识及时间上的对应关系,获取操作的业务状态码;
118.其中,left join表示返回左表中的所有记录以及和右表中的联接字段相等的记录;
119.在这里,通过iot设备数据与内存临时列表之间的join关系,定位iot设备与用户的访问安全风险,可以解决无权限或者越权的iot设备安全问题;
120.步骤702、对进行left join后的结果进行过滤后,得到过滤结果;
121.过滤结果诸如:如果iot设备数据中的某条记录关联不到用户设备关系数据中的用户标识,说明该条记录的用户不具备iot设备的操作权限;或者如果iot设备数据中的某条记录中的操作权限关联不到对应用户设备关系数据中的操作权限,说明该条记录的iot设备的操作权限越权;
122.该步骤通过比较两个列表中的各条记录,就可以发现iot设备的安全问题;
123.步骤703、将得到的过滤结果中的每条记录进行设定信息维度的聚合后,根据设置的检测规则进行检测,得到检测结果;
124.在该步骤中,比如以ip地址、iot设备标识或用户标识的维度进行聚合;
125.在该步骤中,比如,当检测固定ip地址在设定的时间内访问的次数达到设定次数,检测结果就确认该用户标识对应的用户属于恶意暴力破解的安全问题;当检测一个用户标识在设定的联系时间内进行了设备的添加删除操作达到设定的次数,或连续调用网关接口存在请求错误问题,就可以判断为用户行为的安全问题,存在恶意操作的安全风险,定位为用户安全异常及恶意模拟攻击;检测到用户多次获取iot设备数据失败,在设定时间内失败率超过设置的阈值,定位为恶意获取iot设备数据的网络安全问题;进行所设置的黑白名单检测,包括恶意的ip地址,恶意的用户标识及被劫持的设备标识等信息的检测。
126.在该步骤中,通过维护ip地址维度的黑名单,可以对步骤702中的过滤结果进行实时检测,确定步骤702的过滤效果;
127.步骤704、根据处置规则,将检测结果生成对应的在安全网关执行的事件;
128.在本步骤中,该事件可以异常调用存在风险的用户、设备及操作,基于事件对iot设备进行实时的安全风控告警。
129.从图7中可以看出,对iot设备数据的检测,具体可以包括请求方标识、用户标识、设备标识为维度的检测方式,对访问频率及错误码状态进行统计,可以有效地检测到以异常的ip地址,用户标识及设备标识为维度的记录,实时进行预警处理及进行风控处理。进一步,所设置的检测规则可以灵活的扩展,提升安全开发效率。
130.从图7可以看出,将检测结果与与事件在安全网关的执行过程是一个闭环过程,通过所设置的安全网关可以与iot设备进行安全加密通信,通过检查iot设备将设置在白名单中,不通过检查的设备京设置在黑名单中,提升了对iot设备的安全处置效率。
131.可以看出,本发明实施例通过用户网关数据及设备网关数据、所设置的安全网关作为iot设备数据的唯一入口、唯一出口,保证了iot中数据覆盖的完整性。在实时采集到分布式存储过程中,采用的采集工具filebeat、分布式存储平台kafka及用datax处理用户设备关系数据与flink维护的iot设备数据融合到一起的数据方案,实现了数据的实时性及准确性的方案。
132.从本发明实施例可以看出,本发明实施例实现了对iot设备实时的安全检查,结合所设置的检测规则对iot设备及iot设备数据进行全方位的保护。针对诸如暴力破解、暴力请求攻击、恶意获取iot设备数据、非法侵占iot等场景有非常强的应对策略,有效地发现、防范、处理iot设备的安全问题。
133.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献