首页 > 专利 > 上海斐讯数据通信技术有限公司 > 一种防止截获系统接口的系统及方法专利详情

一种防止截获系统接口的系统及方法   0    0

有效专利 查看PDF
专利申请流程有哪些步骤?
专利申请流程图
申请
申请号:指国家知识产权局受理一件专利申请时给予该专利申请的一个标示号码。唯一性原则。
申请日:提出专利申请之日。
2015-08-20
申请公布
申请公布指发明专利申请经初步审查合格后,自申请日(或优先权日)起18个月期满时的公布或根据申请人的请求提前进行的公布。
申请公布号:专利申请过程中,在尚未取得专利授权之前,国家专利局《专利公报》公开专利时的编号。
申请公布日:申请公开的日期,即在专利公报上予以公开的日期。
2015-12-30
授权
授权指对发明专利申请经实质审查没有发现驳回理由,授予发明专利权;或对实用新型或外观设计专利申请经初步审查没有发现驳回理由,授予实用新型专利权或外观设计专利权。
2018-04-27
预估到期
发明专利权的期限为二十年,实用新型专利权期限为十年,外观设计专利权期限为十五年,均自申请日起计算。专利届满后法律终止保护。
2035-08-20
基本信息
有效性 有效专利 专利类型 发明专利
申请号 CN201510515305.0 申请日 2015-08-20
公开/公告号 CN105117641B 公开/公告日 2018-04-27
授权日 2018-04-27 预估到期日 2035-08-20
申请年 2015年 公开/公告年 2018年
缴费截止日
分类号 G06F21/51G06F21/53 主分类号 G06F21/51
是否联合申请 独立申请 文献类型号 B
独权数量 1 从权数量 7
权利要求数量 8 非专利引证数量 1
引用专利数量 4 被引证专利数量 0
非专利引证 1、周毅敏 等《.Dalvik虚拟机进程模型分析》. 《计算机技术与发展》.2010,第83-86页.;
引用专利 CN102902919A、CN101071459A、CN104156662A、US2013227688A1 被引证专利
专利权维持 5 专利申请国编码 CN
专利事件 转让 事务标签 公开、实质审查、授权、权利转移
申请人信息
申请人 第一申请人
专利权人 上海斐讯数据通信技术有限公司 当前专利权人 蚌埠立超信息科技有限公司
发明人 陈朴 第一发明人 陈朴
地址 上海市松江区思贤路3666号 邮编 201616
申请人数量 1 发明人数量 1
申请人所在省 上海市 申请人所在市 上海市松江区
代理人信息
代理机构
专利代理机构是经省专利管理局审核,国家知识产权局批准设立,可以接受委托人的委托,在委托权限范围内以委托人的名义办理专利申请或其他专利事务的服务机构。
杭州千克知识产权代理有限公司 代理人
专利代理师是代理他人进行专利申请和办理其他专利事务,取得一定资格的人。
周希良
摘要
本发明公开了一种防止截获系统接口的系统及方法,防止截获系统接口的系统应用于Android中,包括:一获取单元,用以获取用户发送的执行指令;一判断单元,连接所述获取单元,用以判断所述用户是否为超级用户,以获取判断结果;一识别单元,分别连接所述获取单元和所述判断单元,提供一预设条件,所述识别单元用以根据所述判断结果将所述执行指令与所述预设条件进行匹配,以获取匹配结果;一处理单元,分别连接所述判断单元和所述识别单元,用以根据所述判断结果和/或所述匹配结果,执行所述执行指令;或根据所述匹配结果停止执行所述执行指令。
  • 摘要附图
    一种防止截获系统接口的系统及方法
  • 说明书附图:图1
    一种防止截获系统接口的系统及方法
  • 说明书附图:图2
    一种防止截获系统接口的系统及方法
法律状态
序号 法律状态公告日 法律状态 法律状态信息
1 2021-03-26 专利权的转移 登记生效日: 2021.03.12 专利权人由蚌埠立超信息科技有限公司变更为湖州帷幄知识产权运营有限公司 地址由233000 安徽省蚌埠市燕山路8319号(上理工科技园6号302室)变更为313000 浙江省湖州市吴兴区爱山街道新天地商务写字楼1019室
2 2018-04-27 授权
3 2015-12-30 实质审查的生效 IPC(主分类): G06F 21/51 专利申请号: 201510515305.0 申请日: 2015.08.20
4 2015-12-02 公开
权利要求
权利要求书是申请文件最核心的部分,是申请人向国家申请保护他的发明创造及划定保护范围的文件。
1.一种防止截获系统接口的系统,应用于Android中,其特征在于,包括:
一获取单元,用以获取用户发送的执行指令;
一判断单元,连接所述获取单元,用以判断所述用户是否为超级用户,以获取判断结果;
一识别单元,分别连接所述获取单元和所述判断单元,提供一预设条件,所述识别单元用以根据所述判断结果将所述执行指令与所述预设条件进行匹配,以获取匹配结果;
一处理单元,分别连接所述判断单元和所述识别单元,用以根据所述判断结果和/或所述匹配结果,执行所述执行指令;或
根据所述匹配结果停止执行所述执行指令;
所述执行指令包括执行主体和复数个参数;
所述识别单元将所述执行指令的所述执行主体与预设主体进行匹配;
当不匹配时,所述处理单元执行所述执行指令;
当匹配时,所述识别单元将所述复数个参数依次与预设参数进行匹配;
当所述复数个参数均与所述预设参数不匹配时,所述处理单元执行所述执行指令;
当所述参数与所述预设参数匹配时,所述处理单元停止执行所述执行指令。

2.如权利要求1所述的系统,其特征在于,还包括:
一存储单元,分别连接所述获取单元和所述识别单元,用以将所述复数个参数存入一预设的字符串数组中;
当所述执行主体与预设主体匹配时,所述识别单元将所述存储单元中的所述字符串数组中的所述复数个参数依次与所述预设参数进行匹配,以获取每个所述匹配结果;
当所述匹配结果为匹配时,所述处理单元停止执行所述执行指令;
当所述复数个参数的匹配结果均为不匹配时,所述处理单元执行所述执行指令。

3.如权利要求1所述的系统,其特征在于,所述预设主体为拷贝命令。

4.如权利要求1所述的系统,其特征在于,所述预设参数为app-process。

5.一种防止截获系统接口的方法,应用于Android中,其特征在于,包括下述步骤:
S
1.获取用户发送的执行指令;
S
2.判断所述用户是否为超级用户,若是,执行步骤S3;若否,执行步骤S4;
S
3.将所述执行指令与预设条件进行匹配,若匹配,执行步骤S5;若不匹配,执行步骤S4;
S
4.执行所述执行指令;
S
5.停止执行所述执行指令;
所述执行指令包括执行主体和复数个参数,所述步骤S3包括:
S
31.将所述执行指令的所述执行主体与预设主体进行匹配,若匹配,执行所述步骤S4;
若不匹配,执行步骤S32;
S
32.将所述复数个参数依次与预设参数进行匹配;
当所述复数个参数均与所述预设参数不匹配时,执行所述步骤S4;
当所述参数与所述预设参数匹配时,执行所述步骤S5。

6.如权利要求5所述的方法,其特征在于,提供一存储单元用以将所述复数个参数存入一预设的字符串数组中,在所述步骤S32中,将所述存储单元中的所述字符串数组中所述复数个参数依次与所述预设参数进行匹配,以获取每个所述匹配结果;
当所述匹配结果为匹配时,执行所述步骤S5;
当所述复数个参数的匹配结果均为不匹配时,执行所述步骤S4。

7.如权利要求5所述的方法,其特征在于,所述预设主体为拷贝命令。

8.如权利要求5所述的方法,其特征在于,所述预设参数为app-process。
说明书

技术领域

[0001] 本发明涉及信息安全技术领域,尤其涉及一种防止Xposed开源框架动态截获系统接口的系统及方法。

背景技术

[0002] 在Android系统快速发展的同时,用户的使用水平也不断的增强,由于Android有用户权限之分,所以很多用户通过软件截获获取系统的Root权限称为超级用户(Root用户)。然而在获取Root权限的同时也让一些恶意软件有机可乘。通过Root权限截获系统接口,以获取用户在日常行为中的一些隐私信息,对用户的隐私造成危害。例如通过Xposed开源替换原系统中的/system/bin/app_process文件,并且通过注册钩子函数来勾取系统接口进而实现系统接口的截获。

发明内容

[0003] 针对现有的Android系统存在的上述问题,现提供一种旨在实现防止恶意程序截获系统接口的防止截获系统接口的系统及方法。
[0004] 具体技术方案如下:
[0005] 一种防止截获系统接口的系统,应用于Android中,包括:
[0006] 一获取单元,用以获取用户发送的执行指令;
[0007] 一判断单元,连接所述获取单元,用以判断所述用户是否为超级用户,以获取判断结果;
[0008] 一识别单元,分别连接所述获取单元和所述判断单元,提供一预设条件,所述识别单元用以根据所述判断结果将所述执行指令与所述预设条件进行匹配,以获取匹配结果;
[0009] 一处理单元,分别连接所述判断单元和所述识别单元,用以根据所述判断结果和/或所述匹配结果,执行所述执行指令;或
[0010] 根据所述匹配结果停止执行所述执行指令。
[0011] 优选的,所述执行指令包括执行主体和复数个参数;
[0012] 所述识别单元将所述执行指令的所述执行主体与预设主体进行匹配;
[0013] 当不匹配时,所述处理单元执行所述执行指令;
[0014] 当匹配时,所述识别单元将所述复数个参数依次与预设参数进行匹配;
[0015] 当所述复数个参数均与所述预设参数不匹配时,所述处理单元执行所述执行指令;
[0016] 当所述参数与所述预设参数匹配时,所述处理单元停止执行所述执行指令。
[0017] 优选的,还包括:
[0018] 一存储单元,分别连接所述获取单元和所述识别单元,用以将所述复数个参数存入一预设的字符串数组中;
[0019] 当所述执行主体与预设主体匹配时,所述识别单元将所述存储单元中的所述字符串数组中的所述复数个参数依次与所述预设参数进行匹配,以获取每个所述匹配结果;
[0020] 当所述匹配结果为匹配时,所述处理单元停止执行所述执行指令;
[0021] 当所述复数个参数的匹配结果均为不匹配时,所述处理单元执行所述执行指令。
[0022] 优选的,所述预设主体为拷贝命令。
[0023] 优选的,所述预设参数为app-process。
[0024] 一种防止截获系统接口的方法,应用于Android中,包括下述步骤:
[0025] S1.获取用户发送的执行指令;
[0026] S2.判断所述用户是否为超级用户,若是,执行步骤S3;若否,执行步骤S4;
[0027] S3.将所述执行指令与所述条件进行匹配,若匹配,执行步骤S5;若不匹配,执行步骤S4;
[0028] S4.执行所述执行指令;
[0029] S5.停止执行所述执行指令。
[0030] 优选的,所述执行指令包括执行主体和复数个参数,所述步骤S3包括:
[0031] S31.将所述执行指令的所述执行主体与预设主体进行匹配,若匹配,执行所述步骤S4;若不匹配,执行步骤S32;
[0032] S32.将所述复数个参数依次与预设参数进行匹配;
[0033] 当所述复数个参数均与所述预设参数不匹配时,执行所述步骤S4;
[0034] 当所述参数与所述预设参数匹配时,执行所述步骤S5。
[0035] 优选的,提供一存储单元用以将所述复数个参数存入一预设的字符串数组中,在所述步骤S32中,将所述存储单元中的所述字符串数组中所述复数个参数依次与所述预设参数进行匹配,以获取每个所述匹配结果;
[0036] 当所述匹配结果为匹配时,执行所述步骤S5;
[0037] 当所述复数个参数的匹配结果均为不匹配时,执行所述步骤S4。
[0038] 优选的,所述预设主体为拷贝命令。
[0039] 优选的,所述预设参数为app-process。
[0040] 上述技术方案的有益效果:
[0041] 本技术方案中,防止截获系统接口的系统通过判断单元判断用户的权限,通过识别单元识别执行指令的风险,以防止恶意程序截获系统接口。防止截获系统接口的方法通过获取用户的权限及对执行指令进行识别,以修改替换文件指令的流程来拒绝恶意程序替换体Android系统中的文件,从而避免用户隐私泄露。

实施方案

[0044] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0045] 需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
[0046] 下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
[0047] 本发明基于如下发现:
[0048] 现有的Android系统中所有进程从根本上都是由init进程开启的,在Android系统init进程开启后会执行init.rc脚本,此脚本中有如下一段脚本代码:
[0049] Service zygote/system/bin/app_proces-Xzygote/system/bin--zygote--start-system-server,
[0050] 通过此脚本代码可以知init.rc脚本中会创建一个zygote进程。zygote进程是Android系统中最核心的进程,它会为每一个用户进程创建一个Dalvik虚拟机,通过Dalvik虚拟机来处理用户进程。zygote进程要执行的主程序是系统中的/system/bin/app_process,由此可知/system/bin/app_process是zygote进程的主体。采用zygote处理用户进程的流程都是在app_process中完成。如果app_process文件在系统中被替换成一个注册了一些系统接口对应的钩子函数的同名文件且执行,即可通过被替换的app_process中注册的钩子函数来截获系统接口,则会威胁到用户的个人隐私。所谓钩子函数就是钩住系统接口,简单来说就是系统在调用系统接口时被钩子函数截获,强行在调用系统接口的前后执行一些钩子函数自己的操作。在Android系统中Xposed框架由于其自身的特性容易被一些恶意程序所利用,通过Xposed框架会替换掉系统中的app_process文件,当Android系统开启,zygote进程执行已被替换了的app_process时,通过执行此app_process来加载XposedBridge.jar包,注册对应系统接口的钩子函数来实现对系统接口的截获,以获取用户的隐私信息,造成用户信息泄露。
[0051] 基于上述问题,本发明旨在提供一种防止app_process被替换的防止截获系统接口的系统及方法。
[0052] 如图1所示,一种防止截获系统接口的系统,应用于Android中,包括:
[0053] 一获取单元1,用以获取用户发送的执行指令;
[0054] 一判断单元2,连接获取单元1,用以判断用户是否为超级用户,以获取判断结果;
[0055] 一识别单元4,分别连接获取单元1和判断单元2,提供一预设条件,识别单元4用以根据判断结果将执行指令与预设条件进行匹配,以获取匹配结果;
[0056] 一处理单元5,分别连接判断单元2和识别单元4,用以根据判断结果和/或匹配结果,执行执行指令;或
[0057] 根据匹配结果停止执行执行指令。
[0058] 在本实施例中,通过判断单元2判断用户的权限,通过识别单元4识别执行指令的风险,以防止恶意程序截获系统接口。
[0059] 在优选的实施例中,执行指令包括执行主体和复数个参数;
[0060] 识别单元4将执行指令的执行主体与预设主体进行匹配;
[0061] 当不匹配时,处理单元5执行执行指令;
[0062] 当匹配时,识别单元4将复数个参数依次与预设参数进行匹配;
[0063] 当复数个参数均与预设参数不匹配时,处理单元5执行执行指令;
[0064] 当参数与预设参数匹配时,处理单元5停止执行执行指令。
[0065] 进一步地,预设主体可采用拷贝命令:cp,预设参数为app-process。
[0066] 在本实施例中,拷贝命令主要指将相同文件名的文件拷贝到需要替换的原文件名所在的地址中,以实现将原文件替换掉的目的,也可是通过移动等操作将相同文件名的文件替换。
[0067] 在Android系统中可通过拷贝指令来替换一个文件。拷贝文件的指令的格式一般都是由“命令主体参数1参数2..”来呈现。拷贝文件命令的格式为“命令主体,参数1,参数2..”其中“命令”为指令的主体,“参数1”和“参数2”为执行指令时传入的参数。当程序执行指令时会按照命令的流程来执行,其中会使用到传入的参数。比如Xposed框架中会将框架中的app_process文件替换掉Android系统中/system/bin/目录下的原app_process文件。
这种替换是通过执行替换文件的命令来实现的。通过拷贝可以作为替换命令的一种方法完成替换文件,命令的格式如下:
[0068] cp app_process/system/bin/,
[0069] 在上述的命令中“cp”为拷贝文件命令的主体,实质是一段程序。“app_process”作为传入命令主体的参数1是Xposed框架中的用来替换系统/system/bin/app_process的文件。“system/bin/”作为传入命令主体的参数2是确定app_process拷贝的目标目录。当上述指令被执行后Xposed框架中的app_process将会把系统中/system/bin/目录下原app_process替换掉,在app_process文件被替换后,Android系统开启时由init进程创建zygote进程,被替换的app_process开始运行,此时这个app_process已不是原系统的app_process了,它会加载一些jar包,且完成对所有注册钩子函数的系统接口的截获。
[0070] 在本实施例中,采用识别单元4将执行指令与拷贝命令:cp进行匹配,以识别执行指令是否为拷贝指令,当不是拷贝指令时可执行相应的执行指令;当是拷贝指令时,需将执行指令中的参数与app-process进行匹配,以识别拷贝指令是否要替换掉系统/system/bin/app_process的文件,为了截获系统接口,若匹配,则停止执行拷贝指令;若不匹配,则继续执行拷贝指令。从而达到防止恶意程序截获系统接口的目的。
[0071] 在优选的实施例中,还包括:
[0072] 一存储单元3,分别连接获取单元1和识别单元4,用以将复数个参数存入一预设的字符串数组中;
[0073] 当执行主体与预设主体匹配时,识别单元4将存储单元3中的字符串数组中的复数个参数依次与预设参数进行匹配,以获取每个匹配结果;
[0074] 当匹配结果为匹配时,处理单元5停止执行执行指令;
[0075] 当复数个参数的匹配结果均为不匹配时,处理单元5执行执行指令。
[0076] 参数可以为两个或者更多,所有的参数全部存入存储单元3中的一个字符串数组中。以便于将执行指令中的参数与预设字符串进行匹配。
[0077] 在本实施例中,采用存储单元3存储拷贝指令中所有参数的字符串数组,识别单元4可采用for循环的方式将每个参数索引出来分别与“app_process”字符串匹配。若存储单元3中的参数中没有和“app_process”字串匹配的。说明不是要替换app_process文件,可以继续按拷贝指令流程向下执行;如果在字符串数组中有某一个元素中的字符串和“app_process”字符串想匹配,说明可能是对系统中的app_process文件做替,有潜在的app_process文件被替换的风险,则停止替换文件指令的执行,以防止用户在获取Root权限的情况下,通过Xposed开源框架来截获用户隐私信息的程序,从根本上解决恶意程序截获系统的接口的问题。
[0078] 如图2所示,一种防止截获系统接口的方法,应用于Android中,包括下述步骤:
[0079] S1.获取用户发送的执行指令;
[0080] S2.判断用户是否为超级用户,若是,执行步骤S3;若否,执行步骤S4;
[0081] S3.将执行指令与条件进行匹配,若匹配,执行步骤S5;若不匹配,执行步骤S4;
[0082] S4.执行执行指令;
[0083] S5.停止执行执行指令。
[0084] 在本实施例中,防止截获系统接口的方法通过获取用户的权限及对执行指令进行识别,以修改替换文件指令的流程来拒绝恶意程序替换体Android系统中的文件,以避免用户隐私泄露。
[0085] 在优选的实施例中,执行指令包括执行主体和复数个参数,步骤S3包括:
[0086] S31.将执行指令的执行主体与预设主体进行匹配,若匹配,执行步骤S4;若不匹配,执行步骤S32;
[0087] S32.将复数个参数依次与预设参数进行匹配;
[0088] 当复数个参数均与预设参数不匹配时,执行步骤S4;
[0089] 当参数与预设参数匹配时,执行步骤S5。
[0090] 进一步地,预设主体可采用拷贝命令:cp,预设参数为app-process。
[0091] 在本实施例中,拷贝命令主要指将相同文件名的文件拷贝到需要替换的原文件名所在的地址中,以实现将原文件替换掉的目的,也可是通过拷贝,移动等操作将相同文件名的文件替换。
[0092] 在步骤S3中将执行指令与拷贝命令cp进行匹配,以识别执行指令是否为拷贝指令,当不是拷贝指令时可执行相应的执行指令;当是拷贝指令时,需将执行指令中的参数与app-process进行匹配,以识别拷贝指令是否要替换掉系统/system/bin/app_process的文件,为了截获系统接口,若匹配,则停止执行拷贝指令;若不匹配,则继续执行拷贝指令。从而达到防止恶意程序截获系统接口的目的。
[0093] 在优选的实施例中,提供一存储单元用以将复数个参数存入一预设的字符串数组中,在步骤S32中,将存储单元中的字符串数组中复数个参数依次与预设参数进行匹配,以获取每个匹配结果;
[0094] 当匹配结果为匹配时,执行步骤S5;
[0095] 当复数个参数的匹配结果均为不匹配时,执行步骤S4。参数可以为两个或者更多,所有的参数全部存入存储单元中的一个字符串数组中。
[0096] 在本实施例中,当接收到用户发送的执行指令时,判断当前用户是否为Root用户,如果不是Root用户,则执行替换指令替换文件的流程;如果是Root用户,则识别执行指令是否为拷贝指令,若不是,则执行相应的执行指令;若是则存储替换指令中所有参数的字符串数组,可采用for循环的方式将每个参数索引出来分别与“app_process”字符串匹配。若存入的参数中没有和“app_process”字串匹配的。说明不是要替换app_process文件,可以继续按替换指令流程向下执行;如果在字符串数组中有某一个元素中的字符串和“app_process”字符串想匹配,说明很有可能是对系统中的app_process文件做替,有潜在的app_process文件被替换的风险,则停止替换文件指令的执行。
[0097] 本发明通过修改替换指令的执行流程来实现阻止app_process的替换,进而防止系统接口的动态截获。
[0098] 以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。

附图说明

[0042] 图1为本发明所述的防止截获系统接口的系统的一种实施例的模块图;
[0043] 图2为本发明所述的防止截获系统接口的方法的一种实施例的方法流程图。
版权所有:盲专网 ©2023 zlpt.xyz  蜀ICP备2023003576号