技术领域
[0001] 本
发明涉及拦截技术,尤其涉及一种稳定的安全拦截方法和装置。
背景技术
[0002] 现有的android平台上的安全拦截技术都是基于java层的,效率高,但由于android平台是允许应用
软件使用底层技术的,由此基于java层的安全技术就无法监测到,也不能实现拦截功能,因此
现有技术此部分的兼容性较差。
[0003] 如何更稳定的对系统实现安全监测和拦截,解决兼容性差的现状,成为亟待解决的问题。
发明内容
[0004] 本发明目的是解决现有技术中android系统的安全拦截不够稳定和兼容性差的问题。
[0005] 本发明解决技术问题采用如下技术方案:一种稳定的安全拦截方法包括:
应用软件调用系统的标准
接口发送服务
请求;通过binder发送包含服务请求的数据包;binder解析模
块接收所述包含服务请求的数据包,解析所述数据包,并从所述数据包中获取所述服务请求并记录;所述系统接收所述包含服务请求的数据包;所述系统将所述服务请求的请求信息以数据包形式返回给binder解析模块;以及拦截模块判断包含所述请求信息的数据包是否需要拦截,若判定需要拦截,则所述拦截模块对包含所述请求信息的数据包进行处理。
[0006] 可选的,所述系统将所述服务请求的请求信息以数据包形式返回给binder解析模块的步骤还包括:所述系统同时将所述服务请求的请求信息以数据包形式返回给所述应用软件。
[0007] 可选的,所述应用软件在收到包含所述请求信息的数据包后,根据所述请求信息进行所请求的服务。
[0008] 可选的,所述拦截模块对包含所述请求信息的数据包进行处理包括:对数据包进行
修改或丢弃。
[0009] 可选的,若判定不需要拦截,则所述应用软件根据所述请求信息进行所请求的服务。
[0010] 本发明解决技术问题还提供如下技术方案:一种稳定的安全拦截装置,包括应用软件、andreid系统、binder解析模块和拦截模块,其中:所述应用软件,与所述android系统、所述binder解析模块和所述拦截模块耦接,用于调用所述android系统的标准接口发送服务请求,具体通过binder发送包含服务请求的数据包;所述andreid系统,与所述应用软件和所述binder解析模块耦接,用于接收包含服务请求的数据包,并将包含请求信息的数据包发送给所述binder解析模块;所述binder解析模块,与所述应用软件、所述android系统和所述拦截模块耦接,用于接收所述包含服务请求的数据包,解析所述包含服务请求的数据包,且从所述包含服务请求的数据包中获取所述服务请求并记录;所述拦截模块,与所述应用软件和所述binder解析模块耦接,用于判断包含所述请求信息的数据包是否需要拦截,若判定需要拦截,则所述拦截模块对包含所述请求信息的数据包进行处理。
[0011] 可选的,所述android系统还将所述服务请求的请求信息以数据包形式返回给所述应用软件。
[0012] 可选的,所述应用软件在收到包含所述请求信息的数据包后,根据所述请求信息进行所请求的服务。
[0013] 可选的,所述拦截模块对包含所述请求信息的数据包进行处理包括:对数据包进行修改或丢弃。
[0014] 可选的,所述拦截模块判定不需要拦截时,则所述应用软件根据所述请求信息进行所请求的服务。
[0015] 本发明具有如下有益效果:
[0016] binder是在android
操作系统底层的通讯机制,且基于Linux kernel,因此在binder层做安全监测和拦截彻底解决了应用软件兼容性的问题,确保了稳定的检测和拦截。
附图说明
[0017] 图1为本发明的所述一种稳定的安全拦截方法
流程图;
[0018] 图2为基于图1所述一种稳定的安全拦截方法的另一
实施例流程图;
[0019] 图3为本发明的所述一种稳定的安全拦截装置的实施例示意图。
具体实施方式
[0020] 下面结合实施例及附图对本发明的技术方案作进一步阐述。
[0021] 如在
说明书及
权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,
硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性耦接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电性耦接于所述第二装置,或通过其他装置或耦接手段间接地电性耦接至所述第二装置。说明书后续描述为实施本
申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求所界定者为准。
[0022] 实施例1
[0023] 本实施例提供了一种稳定的安全拦截方法。在android开发平台上,底层有个
进程间通讯机制binder,所有的android服务和进程都是基于这个机制的。本发明就是针对这个机制做安全监测和拦截。binder是在android操作系统底层的通讯机制,且基于Linux kernel,因此在binder层做安全监测和拦截就可以彻底解决应用软件兼容性的问题,以确保稳定的检测和拦截。
[0024] 参见图1所示为本申请稳定的安全拦截方法的具体实施例,本实施例中所述方法包括以下步骤:
[0025] 步骤101:应用软件调用系统的标准接口发送服务请求;
[0026] 步骤102:通过binder发送包含服务请求的数据包;
[0027] 步骤103:binder解析模块接收所述包含服务请求的数据包,解析所述数据包,并从所述数据包中获取所述服务请求并记录;
[0028] 步骤104:所述系统接收所述包含服务请求的数据包;
[0029] 步骤105:所述系统将所述服务请求的请求信息以数据包形式返回给binder解析模块;
[0030] 步骤106:拦截模块判断包含所述请求信息的数据包是否需要拦截,若判定需要拦截,则转入步骤107,若不需要拦截,则转入步骤109;
[0031] 步骤107:所述拦截模块对包含所述请求信息的数据包进行处理;
[0032] 步骤109:所述应用软件根据所述请求信息进行所请求的服务。
[0033] 其中,所述系统将所述服务请求的请求信息以数据包形式返回给binder解析模块的步骤还包括步骤108:所述系统同时将所述服务请求的请求信息以数据包形式返回给所述应用软件。
[0034] 其中,所述应用软件在收到包含所述请求信息的数据包后,根据所述请求信息进行所请求的服务。
[0035] 其中,所述拦截模块对包含所述请求信息的数据包进行处理包括:对数据包进行修改或丢弃,并发送一个处理状态给所述应用软件。
[0036] 实施例2
[0037] 为了使本发明描述更明确和详细,同时便于技术人员理解,本实施例以发短信为例,对一种稳定的安全拦截方法作了说明。参见图2所示为本申请稳定的安全拦截方法的具体实施例,本实施例中所述方法包括以下步骤:
[0038] 以发短信为例:
[0039] 步骤201:应用软件调用系统的标准接口发送发短信请求;
[0040] 步骤202:通过binder发送包含发短信请求的数据包;
[0041] 步骤203:binder解析模块接收所述包含发短信请求的数据包,解析所述数据包,并从所述数据包中获取发短信请求并记录;
[0042] 步骤204:所述系统接收所述包含发短信请求的数据包;
[0043] 步骤205:所述系统将所述发短信请求的具体信息以数据包形式返回给binder解析模块;
[0044] 步骤206:拦截模块判断包含所述具体信息的数据包是否需要拦截,若判定需要拦截,则转入步骤207,若不需要拦截,则转入步骤209,例如用户禁止软件发送短信,则需要进行拦截;
[0045] 步骤207:所述拦截模块对包含所述具体信息的数据包进行处理;
[0046] 步骤209:所述应用软件根据所述具体信息进行发短信。
[0047] 其中,所述系统将所述发短信请求的具体信息以数据包形式返回给binder解析模块的步骤还包括步骤208:所述系统同时将所述发短信请求的具体信息以数据包形式返回给所述应用软件。
[0048] 其中,所述应用软件在收到包含所述具体信息的数据包后,根据所述具体信息进行发短信。
[0049] 其中,所述拦截模块对包含所述具体信息的数据包进行处理包括:对数据包进行修改或丢弃。
[0050] 实施例3
[0051] 本实施例提供了一种稳定的安全拦截装置。参见图3所示为本申请稳定的安全拦截装置的具体实施例,本实施例中所述安全拦截装置,包括应用软件301、android系统302、binder解析模块303和拦截模块304,其中:
[0052] 所述应用软件301,与所述android系统302、所述binder解析模块303和所述拦截模块304耦接,用于调用所述android系统302的标准接口发送服务请求,具体通过binder发送包含服务请求的数据包;
[0053] 所述android系统302,与所述应用软件301和所述binder解析模块303耦接,用于接收包含服务请求的数据包,并将包含请求信息的数据包发送给所述binder解析模块303;
[0054] 所述binder解析模块303,与所述应用软件301、所述android系统302和所述拦截模块304耦接,用于接收所述包含服务请求的数据包,解析所述包含服务请求的数据包,且从所述包含服务请求的数据包中获取所述服务请求并记录;
[0055] 所述拦截模块304,与所述应用软件301和所述binder解析模块303耦接,用于判断包含所述请求信息的数据包是否需要拦截,若判定需要拦截,则所述拦截模块304对包含所述请求信息的数据包进行处理。
[0056] 其中,所述android系统302还将所述服务请求的请求信息以数据包形式返回给所述应用软件301。
[0057] 其中,所述应用软件301在收到包含所述请求信息的数据包后,根据所述请求信息进行所请求的服务。
[0058] 其中,所述拦截模块304对包含所述请求信息的数据包进行处理包括:对数据包进行修改或丢弃。
[0059] 其中,所述拦截模块304判定不需要拦截时,则所述应用软件301根据所述请求信息进行所请求的服务。
[0060] 以上实施例的先后顺序仅为便于描述,不代表实施例的优劣。
[0061] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。