一种请求消息的处理方法、装置及计算机可读存储介质与流程

文档序号:20839243发布日期:2020-05-22 17:17阅读:143来源:国知局
一种请求消息的处理方法、装置及计算机可读存储介质与流程

本申请涉及信息安全技术领域,尤其涉及一种请求消息的处理方法、装置及计算机可读存储介质。



背景技术:

目前,具有usb网卡功能和wifi功能的数据终端产品使用越来越广泛,但是其产品安全性也存在一定的风险并且有不断增加的情况出现,数据终端产品通常会受到来自外部数据的消息攻击以及来自控制管道的消息攻击,消息攻击类型主要包括以下几种类型:

(1)主机上部分软件发送不符合标准协议的控制请求消息到数据终端产品侧,数据终端产品侧接收到该控制请求消息后将导致操作系统识别错乱,进一步的,数据终端产品侧上报的网卡类型有可能是该操作系统不支持的,最终导致用户无法继续进行数据业务;(2)主机向数据终端产品侧发送不具有对应端口的控制请求消息,当数据终端产品侧接收到该控制请求消息时,由于不具有对应接口导致无法避免存在漏洞,数据终端产品将可能出现反复重启或者死机现象,从而影响用户的正常使用;(3)外部利用第三方软件或者其它方式恶意将数据终端产品由网卡模式切换至诊断接口和android调试桥端口的模式,试图读取数据终端产品侧信息、修改或者删除数据终端产品侧部分文件,导致数据终端产品最终出现死机或者无法启动等问题。

上述攻击方式可能会影响数据终端产品的使用,使数据终端产品出现反复重启、反复刷端口、死机、端口驱动无法加载等故障情况,进而导致用户无法正常使用数据终端产品。为了解决上述问题,现有技术采用一种新型加密系统,该新型加密系统基于tcp/ip协议,对tcp/ip数据包进行加密等处理,为了不改变上位的应用的程序而强化对数据的泄露、篡改、伪装、进入和攻击的防止功能,在发送侧和接收侧进行加密解密逻辑的约定,并将其应用在与传输层tcp或udp(userdatagramprotocol,用户数据报协议)相对应的协议的有效载荷中,通过采用该加密系统,可以消除现有的ipsec(协议安全性)或ssl(securesocketslayer安全套接层)具有的各种各样的制约,不受上位应用的制约,可以实现ip层的互换性的加密处理通信。

但是,上述方法只能针对tcp或udp等网络层对应的数据包进行加密处理,无法防御来自于物理层或者其它非tcp或者udp网络层的数据包或者以其它方式发送的攻击数据包,例如来自于模拟usb的控制管道或者数据管道的数据包或者http格式的数据包的攻击,从而因为存在安全漏洞而无法达到安全保护,影响数据终端产品的稳定性、安全性或者其它功能。



技术实现要素:

为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种请求消息的处理方法、装置及计算机可读存储介质。

第一方面,本申请提供了一种请求消息的处理方法,应用于终端,所述方法包括以下步骤:

检测终端是否与外界建立数据业务连接通道;

当所述终端与外界建立数据业务连接通道时,判断是否通过所述数据业务连接通道接收到下发消息;

当接收到所述下发消息时,判断所述下发消息是否满足所述终端的预设执行条件;

若是,执行与所述下发消息对应的操作。

结合第一方面,在第一方面第一种可能的实施方式中,所述判断所述下发消息是否满足所述终端的预设执行条件,包括:

若否,生成与所述下发消息对应的反馈消息;

通过所述数据业务连接通道发送所述反馈消息。

结合第一方面,在第一方面第二种可能的实施方式中,所述生成与所述下发消息对应的反馈消息,包括:

根据不同类型的所述下发消息,生成不同的反馈消息。

结合第一方面,在第一方面第三种可能的实施方式中,所述判断所述下发消息是否满足所述终端的预设执行条件,包括:

判断所述下发消息的类型是否为所述终端的预设类型;

当所述下发消息的类型为所述终端的预设类型时,判断所述下发消息的索引值、数据包长度是否分别为所述终端的预设索引值和预设数据包长度;

若是,判断所述下发消息的密码校验结果是否正确;

当所述下发消息的密码校验结果正确时,确定所述下发消息满足所述终端的预设执行条件。

结合第一方面,在第一方面第四种可能的实施方式中,所述执行与所述下发消息对应的操作,包括:

利用所述终端的内核根据所述下发消息的类型、索引值、数据包长度和密码校验结果进行响应;

生成与所述下发消息对应的响应结果;

通过所述数据业务连接通道发送所述响应结果。

结合第一方面,在第一方面第五种可能的实施方式中,所述判断所述下发消息的密码校验结果是否正确,包括:

判断所述下发消息中用于切换所述终端的调试端口的指令是否合法;

若是,确定所述下发消息的密码校验结果正确。

结合第一方面,在第一方面第六种可能的实施方式中,所述方法还包括:

根据所述终端的接口类型的不同,调整所述终端的预设执行条件。

第二方面,本申请提供了一种请求消息的处理装置,应用于终端,所述装置包括:

检测单元,用于检测终端是否与外界建立数据业务连接通道;

第一判断单元,用于当所述终端与外界建立数据业务连接通道时,判断是否通过所述数据业务连接通道接收到下发消息;

第二判断单元,用于当接收到所述下发消息时,判断所述下发消息是否满足所述终端的预设执行条件;

执行单元,用于所述下发消息满足所述终端的预设执行条件时,执行与所述下发消息对应的操作。

结合第二方面,在第二方面第一种可能的实施方式中,所述第二判断单元还包括:

反馈消息生成子单元,用于当所述下发消息不满足所述终端的预设执行条件时,生成与所述下发消息对应的反馈消息;

反馈消息发送子单元,用于通过所述数据业务连接通道发送所述反馈消息。

第三方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有请求消息的处理程序,所述请求消息的处理程序被处理器执行时实现如第一方面所述的请求消息的处理方法的步骤。

本申请实施例提供的上述技术方案与现有技术相比具有如下优点:

本申请实施例提供的该方法,与现有技术中只能针对网络层对应的数据包进行加密处理,无法防御来自于物理层或者其它非tcp或者udp网络层的数据包或者以其它方式发送的攻击数据包,而导致存在安全漏洞无法达到安全保护相比,本申请在终端与外界建立数据业务连接通道的情况下,判断终端是否通过该数据业务连接通道接收到下发消息,当接收到下发消息时,只有当该下发消息满足终端的预设执行条件时才执行与该下发消息对应的操作,避免恶意篡改终端信息导致终端出现反复重启或者死机等异常现象而影响到用户的正常使用,从而提高了终端的安全性和稳定性。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种请求消息的处理方法的流程图;

图2为本申请实施例提供的另一种请求消息的处理方法的流程图;

图3为本申请实施例提供的另一种请求消息的处理方法的流程图;

图4为本申请实施例提供的另一种请求消息的处理方法的流程图;

图5为本申请实施例提供的一种请求消息的处理装置的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

图1为本申请实施例提供的一种请求消息的处理方法,应用于终端,方法包括以下步骤:

s101、检测终端是否与外界建立数据业务连接通道。

s102、当终端与外界建立数据业务连接通道时,判断是否通过数据业务连接通道接收到下发消息。

s103、当接收到下发消息时,判断下发消息是否满足终端的预设执行条件,若是,转步骤s104;否则转步骤s105。

s104、执行与下发消息对应的操作。

s105、生成与下发消息对应的反馈消息,转步骤s106。

s106、通过数据业务连接通道发送反馈消息。

在本申请实施例中,当终端与主机建立数据业务连接通道时,通过数据业务连接通道接收到的下发消息包括控制消息、数据消息和http消息,还可以根据终端的需求的变化、接口类型的不同,调整终端的预设执行条件,示例性的,可通过后台升级或者下载升级系统来调整终端的预设执行条件。

如图2所示,在本申请的另一实施例中,上述步骤s103、当接收到下发消息时,判断下发消息是否满足终端的预设执行条件,包括以下步骤:

s1031、判断下发消息的类型是否为终端的预设类型。

s1032、当下发消息的类型为终端的预设类型时,判断下发消息的索引值、数据包长度是否分别为终端的预设索引值和预设数据包长度。

s1033、若下发消息的索引值、数据包长度分别为终端的预设索引值和预设数据包长度,则判断下发消息的密码校验结果是否正确。

s1034、当下发消息的密码校验结果正确时,确定下发消息满足终端的预设执行条件。

需要说明的是,网络层有些恶意的软件会在后台自动下载和自动安装,而这些软件可以模拟不同操作系统的协议下发控制消息或者数据消息,这些下发消息和标准消息的数据包构成非常类似,例如数据包的包头、索引值、长度等,但仍然会存在下发消息的类型、索引信息(索引值)和数据包长度中至少有一个或者多个是终端不支持的。若出现不符合操作系统的标准协议或者符合操作系统的标准协议但是终端的内核存在一定的漏洞情况,不符合操作系统的标准协议的下发消息发送到内核中,内核将会出现反复刷新端口或者反复切换端口等操作导致用户无法正常使用;符合操作系统的标准协议,但是内核中没有对应的接口处理该下发消息,无任何消息反馈到主机,主机则会认为该终端不符合协议,将无法加载usb的驱动等,终端无法与外界(主机)建立数据业务连接通道,用户也将无法正常使用终端。

如图3所示,在本申请的另一实施例中,上述步骤s104、执行与下发消息对应的操作,包括以下步骤:

s1041、利用终端的内核根据下发消息的类型、索引值、数据包长度和密码校验结果进行响应。

s1042、生成与下发消息对应的响应结果。

s1043、通过数据业务连接通道发送响应结果。

在本申请的另一实施例中,上述步骤s105、生成与下发消息对应的反馈消息,还包括:根据不同类型的下发消息,生成不同的反馈消息。

在本申请实施例中,根据下发消息的类型、索引值、数据包长度和密码校验的判断结果确定该下发消息不属于终端所支持的消息时,根据该下发消息的类型的不同,生成不同的反馈消息,通过数据业务连接通道将反馈消息发送至主机。

示例性的,如果该下发消息将会导致终端的内核处理子系统异常,例如空指针未做处理或者收到的数据包长度超过预设数据包长度而进一步导致终端不断重启或者反复刷新端口,导致用户无法使用,则本申请实施例已经在该下发消息发送到终端的内核处理子系统之前对不属于终端所支持的下发消息进行相应处理了,保证终端不支持的下发消息不会发送到终端的内核处理子系统,也不会导致该内核处理子系统异常。例如,通过主机或者网络发送的数据尤其是模拟主机下发的控制消息是终端必须要响应的下发消息,但是这些下发消息可能会导致终端内核或者上层主机异常,影响用户的正常使用,本申请实施例通过对终端不支持的下发消息进行拦截处理,可以替代终端的内核或者应用层直接响应下发消息到该下发消息的发送端,避免终端或者下发消息的发送端异常。

如图4所示,在本申请的另一实施例中,上述步骤s1033中判断下发消息的密码校验结果是否正确,包括以下步骤:

s10331、判断下发消息中用于切换终端的调试端口(adb调试端口)的指令是否合法。

s10332、若用于切换终端的调试端口(adb调试端口)的指令合法,确定该下发消息的密码校验结果正确。

需要说明的是,目前终端的adb调试端口默认打开,通过adb调试端口可以修改终端的板侧信息,因此,本申请通过判断下发消息中用于切换adb调试端口的指令是否合法,来对下发消息进行密码校验,同时打开关闭adb调试端口的处理消息,默认将adb调试端口关闭,只有当下发消息的密码校验结果正确时才打开adb调试端口,否则无法使用,从而可以提高终端的安全性,避免了恶意篡改终端的板侧信息影响用户的正常使用。

在本申请的另一实施例中,当用户通过usb接口、wifi或者蓝牙等方式首次使用终端时,需要用户选择安装相应软件到主机或者终端上,安装的上述软件用于设置网络参数或者其它值,当终端与主机建立数据业务连接通道,用户通过该数据业务连接通道进行数据业务时,这时从网络层会自动推送软件或者用户误操作下载安装不符合不同操作系统协议的软件,安装的软件将会自动下发一些消息到终端的内核。

示例性的,当用户通过usb接口使用终端时,部分软件将会通过usb接口(例如网卡等)发送下发消息(控制消息或者数据消息)到终端的内核,通过对下发消息进行处理,对于满足终端的预设执行条件的下发消息,将该下发消息直接发送到终端的内核,利用终端的内核根据下发消息的类型、索引值、数据包长度和密码校验结果进行响应,生成与下发消息对应的响应结果,通过数据业务连接通道将响应结果发送至主机,终端正常运行,用户可以正常使用终端;对于不满足终端的预设执行条件的下发消息,生成与下发消息对应的反馈消息,通过终端与主机之间的数据业务连接通道将反馈消息发送至主机,具体的,将按照下发消息的类型、索引值、数据包长度和密码校验的协议规定将相应的协议规定值反馈到主机。通过对不同的下发消息进行不同处理,避免终端受到非法下发消息的攻击,终端将不会出现反复重启或者死机等异常现象,从而提高终端的安全性和稳定性,进一步提升用户体验感。

示例性的,主机上恶意软件或者其它方式发送请求消息到终端,可以下发usb控制消息、http消息或者其他类型的请求消息,以80和c0开头的setup数据包为例,终端接收到该请求消息后,需要对该请求消息的类型进行判断,如果不是终端所支持的预设类型,将直接发送反馈消息到主机;如果该消息是终端所支持的预设类型,则对该请求消息的索引信息(索引值)作进一步判断(需要说明的是,一般不符合标准协议或者终端不支持的请求消息基本上也是按照usb协议标准或者其它协议定义的格式下发的),如果该请求消息的索引信息是终端所支持的,则对该请求消息的数据包长度作进一步判断,如果该请求消息的索引信息不是终端所支持的,则直接发送反馈消息到主机;如果数据包长度不是终端所支持的,则直接发送反馈消息到主机;如果是切换到有调试端口的模式时,需要进一步校验密码是否正确,如果密码校验通过,调试端口才能正常切换。

示例性的,只要该请求消息的类型、索引值、数据包长度或密码校验等当中有任何一项不是该终端所支持的,直接返回对应的内核规定值,例如,若终端的内核中不存在与该下发消息对应的接口,则直接返回无该接口的内核规定值到主机;若终端的内核中存在与该下发消息对应的接口,但是该下发消息的数据包长度等不满足操作系统的标准协议的要求,则直接返回数据包长度不符的内核规定值;若终端的内核存在对该接口操作判断不全面,导致空指针的现象出现时,则直接返回空。只有当请求消息的类型、索引值、数据包长度或密码校验等全部是终端所支持的,才将该请求消息发送给终端的内核,终端内核根据该请求消息进行响应,同时将响应结果发送给主机。

本申请实施例对通过主机或者其它方式下发的请求消息的类型、索引值、数据包长度和密码校验等进行判断,若下发的是不符合操作系统的协议标准的请求消息到终端,则终端可以利用请求消息的索引值和数据包长度进行拦截处理;若下发的是无该接口的请求消息到终端,则终端可以根据自身所支持的请求消息的类型进行判断,对不支持的类型的请求消息进行异常处理操作;若下发的是切换指令到终端,切换指令用于将终端由网卡模式切换至含有诊断端口和android调试桥的模式,则终端可以增加密码校验步骤,且每台终端都有一个独立的密码,根据密码校验结果是否正确来确定是否执行切换命令,如果校验结果不正确,将不能切换到含有诊断端口和android调试桥的模式,从而可以有效确保终端不被外部消息恶意攻击或者篡改板侧信息,避免出现板侧信息丢失导致用户无法使用或者死机重启等异常情况,提升了终端的安全性和稳定性。

图5为本申请实施例提供的一种请求消息的处理装置,应用于终端,该装置包括:

检测单元11,用于检测终端是否与外界建立数据业务连接通道;

第一判断单元12,用于当终端与外界建立数据业务连接通道时,判断是否通过数据业务连接通道接收到下发消息;

第二判断单元13,用于当接收到下发消息时,判断下发消息是否满足终端的预设执行条件;

执行单元14,用于下发消息满足终端的预设执行条件时,执行与下发消息对应的操作。

在本申请的另一实施例中,第二判断单元13还包括:

反馈消息生成子单元,用于当下发消息不满足终端的预设执行条件时,生成与下发消息对应的反馈消息;

反馈消息发送子单元,用于通过数据业务连接通道发送反馈消息。

本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有请求消息的处理程序,请求消息的处理程序被处理器执行时实现如图1所示的请求消息的处理方法的步骤。

需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

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