首页 / 专利库 / 商业 / 在线信誉 / 一种物联网设备异常行为的云端识别方法

一种物联网设备异常行为的端识别方法

阅读:51发布:2020-05-13

专利汇可以提供一种物联网设备异常行为的端识别方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种 物联网 设备异常行为的 云 端识别方法,包括物联网设备采集数据,通过mqtt协议与云端进行数据传输;云端采用RabbitMQ接收mqtt消息,并存放至该物联网设备对应的资产集队列中;云端分析模 块 以mqtt协议方式订阅资产集队列,接收物联网设备采集的数据,并调用分析子模块进行威胁分析,云端入库模块定时判断内存中是否存在威胁数据,如果存在,则需要将其入库到MONGO 数据库 中。本发明终端仅 数据采集 并将采集的数据发送至队列组件RabbitMQ,云端从RabbitMQ中读取数据进行分析,避免直接进行终端云端交互,降低耦合性。异常分析程序均采用模块化设计,方便调用、移植性好、扩展性好。,下面是一种物联网设备异常行为的端识别方法专利的具体信息内容。

1.一种物联网设备异常行为的端识别方法,其特征在于,包括:
步骤S100:物联网设备采集数据,通过mqtt协议与云端进行数据传输;
步骤S200:云端采用RabbitMQ接收mqtt消息,并存放至该物联网设备对应的资产集队列中;
步骤S300:云端分析模以mqtt协议方式订阅资产集队列,接收物联网设备采集的数据,并调用分析子模块进行威胁分析,云端入库模块定时判断内存中是否存在威胁数据,如果存在,则需要将其入库到MONGO数据库中。
2.根据权利要求1所述的一种物联网设备异常行为的云端识别方法,其特征在于,所述步骤S100具体包括:
步骤S110:物联网设备采用Android Service的形式,作为后台服务进行周期性的数据采集,所述数据包括设备指纹信息、主动外连信息、应用签名信息、应用权限信息、系统资源监控和文件监控;
步骤S120:物联网设备在数据采集完成后,创建一个连接至云端rabbitmq的生产者客户端,使用mqtt协议将采集的数据发送到云端。
3.根据权利要求1所述的一种物联网设备异常行为的云端识别方法,其特征在于,所述步骤S200具体包括:
步骤S210:云端采用RabbitMQ来作为mqtt服务器修改RabbitMQ的配置文件mqtt.exchange=amq.topic,同时启动rabbitmq_mqtt插件
步骤S220:启动管理插件进行权限控制及身份验证,使物联网设备账号仅有写权限,云端账号仅有读权限,并将读取的消息存放至该物联网设备对应的资产集队列中。
4.根据权利要求1所述的一种物联网设备异常行为的云端识别方法,其特征在于,所述步骤S300具体包括:
步骤S310:云端分析主程序作为RabbitMQ的消费者客户端,以mqtt协议方式订阅资产集队列,接收终端采集到数据;
步骤S320:云端分析主程序拉取MySQL中相关分析模块开关的配置,根据开关,调用相应的分析子模块进行威胁分析;
步骤S330:异常分析子程序接收到来自主程序的调用后,开始对终端数据进行对应的异常分析模块进行检测,异常分析子程序包括异常外连分析、非法注入分析以及僵尸网络分析,分析的结果组装为JSON格式,缓存在内存中;
步骤S340:云端入库程序定时判断内存中是否存在威胁数据,如果存在,则需要将其入库到MONGO数据库中。
5.根据权利要求4所述的一种物联网设备异常行为的云端识别方法,其特征在于,所述异常外连分析用于分析检测物联网设备是否存在异常的网络通信,策略如下:
(1)使用IP信誉库查询外连IP的可信度得分,低于阈值则增加威胁分值100*T1;
(2)使用离线IP信息库或在线IP信息查询接口查询该IP的地理位置,国外IP则增加威胁值100*T2;
(3)IP信誉库查询出来的IP为个人IP,判断连接端口是否为非标端口,若是则增加威胁值100*T3;
其中T1、T2和T3为权重,将威胁值与预设规则进行比较,判断是否存在异常外连威胁。
6.根据权利要求4所述的一种物联网设备异常行为的云端识别方法,其特征在于,所述非法注入分析用于分析物联网设备是否存在敏感文件篡改、高危端口监听以及非法进程,策略如下:
(1)根据上报日志判断是否有进程监听高危端口,若有,则增加威胁分值100*T4;
(2)云端处理得日志累积量不足预设值时,采用默认签名库对上报的应用签名进行校验,且记录各应用及其签名出现的次数;当累积量达到预设值时,根据各应用的签名出现次数,获取各应用高频次的签名作为准确的签名,以此进行更为准确的签名校验,若签名校验不符,则增加威胁分值100*T5;
(3)判断监听非标端口的进程名是否为随机进程名,若是,则增加威胁分100*T6;
(4)判断监控的敏感文件目录是否有篡改行为,若有,则增加威胁得分100*T7;
其中,T4、T5、T6和T7为权重,将威胁值与预设规则进行比较,判断是否存在非法注入威胁。
7.根据权利要求4所述的一种物联网设备异常行为的云端识别方法,其特征在于,所述僵尸网络分析用于对物联网设备的异常外联IP及端口,IP信誉度进行分析,具体为:
(1)判断是否存在异常的对外网IP的主动连接,若存在,增加威胁值100*T8;
(2)判断是否监听高危端口,若是,增加威胁值100*T9;
(3)判断地理位置是否为异常地址,若是则增加威胁值100*T10;
(4)利用IP信誉库判断是否为个人IP,若是,则增加威胁值100*T11;
(5)判断资源使用情况,若存在资源使用异常增高,则增加威胁分值100*T12;
其中,T8-T12为权重,将威胁值与预设规则进行比较,判断是否存在非法僵尸网络威胁。

说明书全文

一种物联网设备异常行为的端识别方法

技术领域

[0001] 本发明涉及网络信息安全技术领域,具体的说,是一种物联网设备异常行为的云端识别方法。

背景技术

[0002] 传统的设备安全检测产品,一般是本地离线手动运行程序检测各项配置和服务运行情况,如一些安全基线检测工具,且多为针对传统计算机或移动终端。但在科技高速发展的今天,物联网设备的数量相较过去已经呈几何增长。物联网设备在带给我们智能生活的同时,也带来了新的信息安全隐患。由于大多数物联网设备都缺乏内置的安全防范功能,这就使它们更容易受到恶意软件和黑客的攻击;而且物联网设备内置芯片或系统大多较为轻量级,无法做到对大多物联网设备直接进行重量的分析程序移植;加上黑客攻击类型更新周期太短,这些都直接导致了基于物联网设备开发安全分析程序难度较大,更新扩展较难等问题。

发明内容

[0003] 本发明的目的在于提供一种物联网设备异常行为的云端识别方法,用于解决现有技术中物联网设备开发安全分析程序难度较大的问题。
[0004] 本发明通过下述技术方案解决上述问题:
[0005] 一种物联网设备异常行为的云端识别方法,包括:
[0006] 步骤S100:物联网设备采集数据,通过mqtt协议与云端进行数据传输;
[0007] 步骤S200:云端采用RabbitMQ接收mqtt消息,并存放至该物联网设备对应的资产集队列中;
[0008] 步骤S300:云端分析模以mqtt协议方式订阅资产集队列,接收物联网设备采集的数据,并调用分析子模块进行威胁分析,云端入库模块定时判断内存中是否存在威胁数据,如果存在,则需要将其入库到MONGO数据库中。
[0009] 本方案中提出了终端数据微采集+云端程序分析系统框架,将物联网设备接入云端系统,实时进行安全防护,对异常设备进行告警。终端数据采集程序为轻量级程序,对于物联网设备来说也是完全能够实现,基于框架的开发也大大减少了同类产品开发人员的前期准备工作,提升了开发效率。
[0010] 进一步地,所述步骤S100具体包括:
[0011] 步骤S110:物联网设备采用Android Service的形式,作为后台服务进行周期性的数据采集,所述数据包括设备指纹信息、主动外连信息、应用签名信息、应用权限信息、系统资源监控和文件监控;
[0012] 步骤S120:物联网设备在数据采集完成后,创建一个连接至云端rabbitmq的生产者客户端,使用mqtt协议将采集的数据发送到云端。
[0013] 进一步地,所述步骤S200具体包括:
[0014] 步骤S210:云端采用RabbitMQ来作为mqtt服务器修改RabbitMQ的配置文件mqtt.exchange=amq.topic,同时启动rabbitmq_mqtt插件
[0015] 步骤S220:启动管理插件进行权限控制及身份验证,使物联网设备账号仅有写权限,云端账号仅有读权限,并将读取的消息存放至该物联网设备对应的资产集队列中。
[0016] 进一步地,所述步骤S300具体包括:
[0017] 步骤S310:云端分析主程序作为RabbitMQ的消费者客户端,以mqtt协议方式订阅资产集队列,接收终端采集到数据;
[0018] 步骤S320:云端分析主程序拉取MySQL中相关分析模块开关的配置,根据开关,调用相应的分析子模块进行威胁分析;
[0019] 步骤S330:异常分析子程序接收到来自主程序的调用后,开始对终端数据进行对应的异常分析模块进行检测,异常分析子程序包括异常外连分析、非法注入分析以及僵尸网络分析,分析的结果组装为JSON格式,缓存在内存中;
[0020] 步骤S340:云端入库程序定时判断内存中是否存在威胁数据,如果存在,则需要将其入库到MONGO数据库中。
[0021] 进一步地,所述异常外连分析用于分析检测物联网设备是否存在异常的网络通信,策略如下:
[0022] (1)使用IP信誉库查询外连IP的可信度得分,低于阈值则增加威胁分值100*T1;
[0023] (2)使用离线IP信息库或在线IP信息查询接口查询该IP的地理位置,国外IP则增加威胁值100*T2;
[0024] (3)IP信誉库查询出来的IP为个人IP,判断连接端口是否为非标端口,若是则增加威胁值100*T3;
[0025] 其中T1、T2和T3为权重,将威胁值与预设规则进行比较,判断是否存在异常外连威胁。
[0026] 进一步地,所述非法注入分析用于分析物联网设备是否存在敏感文件篡改、高危端口监听以及非法进程,策略如下:
[0027] (1)根据上报日志判断是否有进程监听高危端口,若有,则增加威胁分值100*T4;
[0028] (2)云端处理得日志累积量不足预设值时,采用默认签名库对上报的应用签名进行校验,且记录各应用及其签名出现的次数;当累积量达到预设值时,根据各应用的签名出现次数,获取各应用高频次的签名作为准确的签名,以此进行更为准确的签名校验,若签名校验不符,则增加威胁分值100*T5;
[0029] (3)判断监听非标端口的进程名是否为随机进程名,若是,则增加威胁分100*T6;
[0030] (4)判断监控的敏感文件目录是否有篡改行为,若有,则增加威胁得分100*T7;
[0031] 其中,T4、T5、T6和T7为权重,将威胁值与预设规则进行比较,判断是否存在非法注入威胁。
[0032] 进一步地,所述僵尸网络分析用于对物联网设备的异常外联IP及端口,IP信誉度进行分析,具体为:
[0033] (1)判断是否存在异常的对外网IP的主动连接,若存在,增加威胁值100*T8;
[0034] (2)判断是否监听高危端口,若是,增加威胁值100*T9;
[0035] (3)判断地理位置是否为异常地址,若是则增加威胁值100*T10;
[0036] (4)利用IP信誉库判断是否为个人IP,若是,则增加威胁值100*T11;
[0037] (5)判断资源使用情况,若存在资源使用异常增高,则增加威胁分值100*T12;
[0038] 其中,T8-T12为权重,将威胁值与预设规则进行比较,判断是否存在非法僵尸网络威胁。
[0039] 本发明与现有技术相比,具有以下优点及有益效果:
[0040] (1)本发明仅在终端进行数据采集而不进行分析的方案,在通信过程中,采用MQTT通信协议,将采集的数据发送至支持MQTT协议的队列组件RabbitMQ,云端从RabbitMQ中读取数据进行分析,避免直接进行终端云端交互,降低耦合性。云端异常分析程序均采用模块化的设计模式,具有方便调用、移植性好、扩展性好的特点。针对具体的每个分析模块内部,采用权重+可插入式规则的框架,可以后期添加其他更多的规则,减少实际物联网设备运行时的误报及漏报。
[0041] (2)本发明提出了终端数据微采集+云端程序分析系统框架,将物联网设备接入云端系统,实时进行安全防护,对异常设备进行告警。终端数据采集程序为轻量级程序,对于物联网设备来说也是完全能够实现,基于框架的开发也大大减少了同类产品开发人员的前期准备工作,提升了开发效率。附图说明
[0042] 图1为本发明的系统架构图。

具体实施方式

[0043] 下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。
[0044] 实施例1:
[0045] 结合附图1所示,一种物联网设备异常行为的云端识别方法,采用终端数据收集与云端威胁分析解耦、分析程序模块化的方法,解决多种物联网设备的持续安全防护问题。主要包含物联网终端运行服务进行状态信息采集、物联网终端采用mqtt协议进行状态信息传输、云端利用RabbitMQ添加组件支持mqtt协议进行数据接收、云端采用子模块程序进行威胁分析、云端分析子模块(异常外连、僵尸网络、非法注入,其他可扩展)的分析规则、云端分析结果定时入库。
[0046] 具体包括:
[0047] 一、终端进行数据采集
[0048] 终端agent采用Android Service的形式,作为安卓终端的后台服务进行周期性的数据采集。
[0049] (1)采集设备指纹信息
[0050] 包括但不限于采集设备的mac地址、机型、传感器信息、设备序列号、系统版本。
[0051] (2)采集主动外连信息
[0052] 采用netstat/ss命令查看对外连接信息,收集该主机对外所有的tcp/udp连接信息,也可采用定时读取proc文件系统文件的方式;
[0053] (3)采集应用签名信息
[0054] 通过调用包管理的方法获取某个应用的签名列表:
[0055] pm.getPackageInfo(pkgName,PackageManager.GET_SIGNATURES)
[0056] (4)采集应用权限信息
[0057] 通过调用包管理的方法获取某个应用的权限列表:
[0058] pm.getPackageInfo(pkgName,PackageManager.GET_PERMISSIONS)
[0059] (5)系统资源监控
[0060] 使用top等终端命令可以获取到进程的cpu、磁盘、内存的资源使用情况。
[0061] (6)文件监控
[0062] 监控系统敏感目录/system/lib及/system/lib64两个目录,监控文件的修改时间及md5,若有变动则收集。
[0063] 二、数据传输
[0064] 终端采集程序在采集完成后,创建一个连接到远端rabbitmq的生产者客户端,使用mqtt协议将采集到的数据发送到云端。
[0065] 三、云端数据接收
[0066] (1)采用RabbitMQ来作为mqtt服务器,需配置其交换机绑定amq.topic上,具体为修改器rabbitmq的配置文件mqtt.exchange=amq.topic,同时需要使用命令rabbitmq-plugins enable rabbitmq_mqtt启动rabbitmq_mqtt插件。
[0067] (2)采用命令rabbitmq-plugins enable rabbitmq_management启动管理插件,利用该插件正确进行权限控制及身份验证,保证终端账号仅有写权限,云端账号仅有读权限,保证数据安全性。
[0068] 四、云端威胁分析
[0069] 云端程序定时拉取mysql中的异常分析模块开关。从RabbitMQ获取到设备状态信息的消息时,即可识别资产及资产集,根据对应的异常分析开关,调度不同的异常分析子模块进行资产异常分析。本系统内嵌的异常分析程序均模块化。具体的每个分析模块内部,采用权重+可插入式规则的模式,可以后期添加其他更多的规则和模块,目前内嵌以下模块:
[0070] 异常外联:该模块用于分析检测物联网设备是否存在异常的网络通信情况。
[0071] 判断规则如下
[0072] (1)使用公司已有IP信誉库查询查看外连IP的可信度得分,低于阈值则增加威胁分值100*权重T1;
[0073] (2)使用离线IP信息库或在线IP信息查询接口查询该IP的地理位置,若为国外IP则计分为100*权重T2。
[0074] (3)如果IP信誉库查询出来的IP为个人IP,判断连接端口是否为非标端口,若是则增加其威胁值100*权重T3;
[0075] (4)如果上述所有策略发现威胁值过高则记录威胁日志到内存中。其他场景下具体的权重T、规则、阈值S也可根据实际业务进行调整,本实例中,规则要求命中规则1-3两条及以上,即需要进行告警,因此需满足以下条件:
[0076] (T1+T2+T3=1)AND(T1*100S)AND(T3*100+T2*100>S)AND(T1*100+T3*100>S)
[0077] 非法注入:该模块用于分析物联网设备是否存在敏感文件篡改、高危端口监听、非法进程等情况,具体规则如下
[0078] (1)标准端口:80,443等安卓应用常用端口;高危端口:6379,22,23,3306等;其他端口:非标准端口或高危端口。根据上报日志判断是否有进程监听高危端口,若有,则增加威胁分值100*权重T4;
[0079] (2)云端处理得日志累积量不足(如:1000条)时,采用默认签名库对上报的应用签名进行校验,且记录下各应用及其签名出现的次数。当累积量达到足够多(如:1000条)时,则不再使用默认签名库,而是根据各应用的签名出现次数,获取各应用高频签名作为准确的签名,以此进行更为准确的签名校验。签名校验不符,则增加威胁分值100*权重T5;
[0080] (3)判断监听非标端口的进程名是否为随机进程名,若是,则增加威胁分100*权重T6;
[0081] (4)判断监控的敏感文件目录是否有篡改行为,若有,则增加威胁得分100*权重T7;
[0082] (5)如果上述所有策略发现威胁值过高则进行记录威胁日志到内存中。其他场景下具体的权重T、规则、阈值S也可根据实际业务进行调整,需满足条件为。在本实例中,根据适用业务情况来看,为了降低漏报及误报情况,上述规则中,规则1权重最高,命中即告警,规则2权重较低,作辅助判断作用,同时命中规则2-4两条以上,需告警。因此权重需满足以下条件:
[0083] (T4+T5+T6+T7=1)AND(T4*100>S)AND(T5*100S)+AND(T5*100+T7*100>S)AND(T6*100+T7*100>S)
[0084] 僵尸网络:通过归纳僵尸网络攻击的行为特征,对物联网设备的异常外联IP及端口,IP信誉度等维度进行分析。
[0085] (1)判断是否存在异常的对外网IP的主动连接;分值100*权重T8;
[0086] (2)判断是否监听高危端口,分值100*权重T9;
[0087] (3)判断地理位置是否为异常地址如国外IP,若是则增加得分100*权重T10;
[0088] (4)利用IP信誉库判断是否为个人IP,分值权重100*T11
[0089] (5)判断资源使用情况,若存在资源使用异常增高,则增加威胁分值100*T12;
[0090] (5)如果上述所有策略发现威胁值过高则进行记录威胁日志到内存中。其他场景下具体的权重T、规则、阈值S也可根据实际业务进行调整,本实例中,规则1-2为僵尸网络的重要行为特征,权重高,规则4-5作辅助判断。因此权重需满足以下条件:
[0091] (T8+T9+T10+T11+T12=1)AND(T8*100+T9*100>S)AND(T8*100+T10*100>S)AND(T8*100+T11*100>S)AND(T8*100+T12*100>S)AND(T9*100+T10*100>S)AND(T9*100+T11*100>S)AND(T9*100+T12*100>S)AND(T11*100+T12*100
[0092] 分析结果入库
[0093] 利用python第三方库pymongo,作为数据库的客户端与MongoDB建立连接,定期检测内存中是否存在分析结果未入库,若有,则存入MongoDB中。
[0094] 尽管这里参照本发明的解释性实施例对本发明进行了描述,上述实施例仅为本发明较佳的实施方式,本发明的实施方式并不受上述实施例的限制,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈