CN117241276A - 一种面向移动应用的检测工具及检测方法、系统及设备 - Google Patents
一种面向移动应用的检测工具及检测方法、系统及设备 Download PDFInfo
- Publication number
- CN117241276A CN117241276A CN202311522859.4A CN202311522859A CN117241276A CN 117241276 A CN117241276 A CN 117241276A CN 202311522859 A CN202311522859 A CN 202311522859A CN 117241276 A CN117241276 A CN 117241276A
- Authority
- CN
- China
- Prior art keywords
- information
- detection
- privacy
- call stack
- authority
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 95
- 238000000034 method Methods 0.000 claims abstract description 43
- 230000006870 function Effects 0.000 claims description 65
- 230000006399 behavior Effects 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 16
- 238000005192 partition Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 14
- 238000011161 development Methods 0.000 claims description 13
- 238000003860 storage Methods 0.000 claims description 13
- 238000012360 testing method Methods 0.000 claims description 12
- 238000004422 calculation algorithm Methods 0.000 claims description 9
- 238000004140 cleaning Methods 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 abstract description 9
- 238000004458 analytical method Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000007639 printing Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Telephone Function (AREA)
Abstract
本发明提供一种面向移动应用的检测工具及检测方法、系统及设备,涉及应用程序检测领域,该方法包括:执行自动化程序模拟人工操作的同时,获取移动应用调用的权限信息;若所述权限信息与所述检测工具监测的隐私权限一致,利用所述检测工具记录本次调用的完整调用栈信息,并将所述完整调用栈信息保存至数据库中;根据用户的基本权限划分不同的功能模块,并将所述数据库内完整调用栈信息分类至不同的功能模块中;若所述完整调用栈信息划分至基本隐私权限功能模块,确定所述移动应用调用所述权限信息时存在违规调用隐私信息的行为和上传隐私信息的行为。本发明能够快速高效对APP进行监测。
Description
技术领域
本发明涉及应用程序检测领域,特别是涉及一种面向移动应用的检测工具及检测方法、系统及设备。
背景技术
近年来,移动互联网应用程序(App)得到广泛应用,在促进经济社会发展、服务民生等方面发挥了不可替代的作用。同时,App强制授权、过度索权、超范围收集个人信息的现象大量存在,违法违规使用个人信息的问题十分突出,广大网民对此反应强烈。
发明内容
本发明的目的是提供一种面向移动应用的检测方法、系统及设备,以快速检测出App是否存在违法违规收集个人信息,避免违法违规使用个人信息。
为实现上述目的,本发明提供了如下方案。
一种面向移动应用的检测工具,包括:Magisk接口以及基于Lsposed的开发工具;所述Magisk接口为第三方systemless接口;所述第三方systemless接口用于在boot image中创建新分区,以存放Magisk文件和模块,通过修改init进程,使得系统在启动时加载所述新分区;所述基于Lsposed的开发工具依赖所述Magisk接口,所述基于Lsposed的开发工具用于在所述新分区内,不修改移动应用和系统组件的情况下,改变移动应用和系统组件的行为和功能。
一种面向移动应用的检测工具的检测方法,对测试手机进行Root后安装上述检测工具,包括:执行自动化程序模拟人工操作的同时,获取移动应用调用的权限信息;所述人工操作包括对启动操作、切换操作、点击操作、滑动操作以及拖动操作;若所述权限信息与所述检测工具监测的隐私权限一致,利用所述检测工具记录本次调用的完整调用栈信息,并将所述完整调用栈信息保存至数据库中;根据用户的基本权限划分不同的功能模块,并将所述数据库内完整调用栈信息分类至不同的功能模块中;若所述完整调用栈信息划分至基本隐私权限功能模块,确定所述移动应用调用所述权限信息时存在违规调用隐私信息的行为和上传隐私信息的行为。
可选的,将所述完整调用栈信息保存至数据库中,之前还包括:按照数据库格式对所述完整调用栈信息进行数据清洗。
可选的,确定所述移动应用调用所述权限信息时存在违规调用隐私信息的行为和上传隐私信息的行为,之后还包括:逐一查看抓包工具中新产生的数据包;所述数据包包括未加密传输的数据包以及采用加密算法传输的数据包;对于所述未加密传输的数据包,能够直接检测所述未加密传输的数据包内是否包含隐私信息;对于所述采用加密算法传输的数据包,利用反编译工具对所述数据包进行自动化反编译,生成搜索结果;所述搜索结果包括搜索的类名和方法名;根据所述搜索结果与所述完整调用栈信息检测所述数据包中是否包含隐私信息。
可选的,根据所述搜索结果与所述完整调用栈信息检测所述数据包中是否包含隐私信息,具体包括:对比所述搜索结果与所述完整调用栈信息,确定调用函数的具体位置;基于所述调用函数的具体位置,利用反编译工具的“查找用例”功能进行函数之间的调用跳转,确定所述调用函数的返回值结果;若所述返回值结果与所述数据包相等,确定所述调用函数为加密数据函数;对所述加密数据函数进行解密,生成加密前的明文数据;检测所述加密前的明文数据中是否包含隐私信息。
可选的,检测所述加密前的明文数据中是否包含隐私信息,之后还包括:将包含隐私信息的数据包的参数信息以文本形式保存;所述参数信息包括调用函数的调用栈、加密前数据以及加密后数据。
一种面向移动应用的检测工具的检测系统,对测试手机进行Root后安装上述检测工具,包括:权限信息获取模块,用于执行自动化程序模拟人工操作的同时,获取移动应用调用的权限信息;所述人工操作包括对启动操作、切换操作、点击操作、滑动操作以及拖动操作;记录模块,用于若所述权限信息与所述检测工具监测的隐私权限一致,利用所述检测工具记录本次调用的完整调用栈信息,并将所述完整调用栈信息保存至数据库中;划分模块,用于根据用户的基本权限划分不同的功能模块,并将所述数据库内完整调用栈信息分类至不同的功能模块中;违规调用及上传行为确定模块,用于若所述完整调用栈信息划分至基本隐私权限功能模块,确定所述移动应用调用所述权限信息时存在违规调用隐私信息的行为和上传隐私信息的行为。
一种电子设备,包括存储器及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行上述面向移动应用的检测工具的检测方法。
一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现上述面向移动应用的检测工具的检测方法。
根据本发明提供的具体实施例,本发明公开了以下技术效果:本发明开发了面向移动应用的检测工具,通过设置Magisk接口,创建新分区,在所述新分区内,不修改移动应用和系统组件的情况下,改变移动应用和系统组件的行为和功能,对测试手机进行Root后安装该检测工具,从而在测试工具上就能够显示测试手机上的全部移动应用,对测试手机中的移动应用进行监测,若移动应用调取的权限信息与检测工具监测的隐私权限一致,记录本次调用的完整调用栈信息,保存在数据库中,并划分至不同的功能模块,根据所划分的功能模块快速检测出APP上是否存在违法违规收集个人信息的问题。整个检测过程自动化处理,从而能够快速高效对APP进行监测。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明所提供的面向移动应用的检测工具的检测方法流程图。
图2为本发明所提供的自动化批量分析应用的检测方法流程图。
图3为本发明所提供的基于逆向分析的检测方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种面向移动应用的检测工具及检测方法、系统及设备,能够快速检测出APP上是否存在违法违规收集个人信息的问题,从而快速高效对APP进行监测。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一:本发明提供了一种面向移动应用的检测工具,包括:Magisk接口以及基于Lsposed的开发工具;所述Magisk接口为第三方systemless接口;所述第三方systemless接口用于在boot image中创建新分区,以存放Magisk文件和模块,通过修改init进程,使得系统在启动时加载所述新分区;所述基于Lsposed的开发工具依赖所述Magisk接口,所述基于Lsposed的开发工具用于在所述新分区内,不修改移动应用和系统组件的情况下,改变移动应用和系统组件的行为和功能。
在实际应用中,开发人员首先需要将指定的测试手机进行Root并安装Magisk以及Lsposed工具,Magisk是一个通用的第三方systemless接口。systemless的意思是不修改系统分区,而是在boot image中创建一个新的分区,用于存放Magisk的文件和模块,然后通过修改init进程,使得系统在启动时加载Magisk的分区,从而实现对系统的修改。Lsposed是一款依赖Magisk的安卓系统框架,它可以让你在不修改任何应用和系统组件的情况下,改变它们的行为和功能,实现各种定制和优化。
将基于Lsposed的开发工具部署到已经Root的手机上,部署完之后在Lsposed工具中看到的开发工具,此时启动的开发工具,然后在开发工具的下拉框中看到手机上全部的应用,最后只需要勾选上需要hook的应用即可。
实施例二:如图1所示,一种面向移动应用的检测工具的检测方法,对测试手机进行Root后安装上述检测工具,包括以下步骤。
步骤101:执行自动化程序模拟人工操作的同时,获取移动应用调用的权限信息;所述人工操作包括对启动操作、切换操作、点击操作、滑动操作以及拖动操作。
步骤102:若所述权限信息与所述检测工具监测的隐私权限一致,利用所述检测工具记录本次调用的完整调用栈信息,并将所述完整调用栈信息保存至数据库中。
步骤103:根据用户的基本权限划分不同的功能模块,并将所述数据库内完整调用栈信息分类至不同的功能模块中。
步骤104:若所述完整调用栈信息划分至基本隐私权限功能模块,确定所述移动应用调用所述权限信息时存在违规调用隐私信息的行为和上传隐私信息的行为。
在实际应用中,将所述完整调用栈信息保存至数据库中,之前还包括:按照数据库格式对所述完整调用栈信息进行数据清洗。
在实际应用中,确定所述移动应用调用所述权限信息时存在违规调用隐私信息的行为和上传隐私信息的行为,之后还包括:逐一查看抓包工具中新产生的数据包;所述数据包包括未加密传输的数据包以及采用加密算法传输的数据包;对于所述未加密传输的数据包,能够直接检测所述未加密传输的数据包内是否包含隐私信息;对于所述采用加密算法传输的数据包,利用反编译工具对所述数据包进行自动化反编译,生成搜索结果;所述搜索结果包括搜索的类名和方法名;根据所述搜索结果与所述完整调用栈信息检测所述数据包中是否包含隐私信息。
在实际应用中,根据所述搜索结果与所述完整调用栈信息检测所述数据包中是否包含隐私信息,具体包括:对比所述搜索结果与所述完整调用栈信息,确定调用函数的具体位置;基于所述调用函数的具体位置,利用反编译工具的“查找用例”功能进行函数之间的调用跳转,确定所述调用函数的返回值结果;若所述返回值结果与所述数据包相等,确定所述调用函数为加密数据函数;对所述加密数据函数进行解密,生成加密前的明文数据;检测所述加密前的明文数据中是否包含隐私信息。
在实际应用中,检测所述加密前的明文数据中是否包含隐私信息,之后还包括:将包含隐私信息的数据包的参数信息以文本形式保存;所述参数信息包括调用函数的调用栈、加密前数据以及加密后数据。
在实际应用中,本发明包括自动化批量分析应用的检测方法以及基于逆向分析的检测方法。
如图2所示,自动化批量分析应用的检测方法为:基于自动化批量分析应用的检测流程分为三个步骤:一是执行自动化程序,二是数据日志清洗入库,三是监测系统数据展示。这三者在代码上是不相干的,都仅仅只完成自己的一件工作。
执行自动化程序的目的是为了模拟人工对移动应用的点击操作。数据清洗是当操作移动应用的时候,如果移动应用调用的权限信息和基于Lsposed的开发工具Hook工具的权限信息一致的时候,定制Hook工具就会记录该次调用的完整调用栈信息,并通过定制Hook工具中的打印函数和清洗函数将记录的完整调用栈信息保存到数据库中。监测系统实时的读取保存到数据库中的完整调用栈信息,当数据库中有新增数据的时候会实时将新增数据显示到监测系统页面上。
当启动自动化程序模拟人工操作的时候,首先利用Python自动化工具uiautomator2模块的connect函数连接手机并打开移动应用,之后利用webitor审查元素功能定位具体功能按钮坐标进行功能切换操作,利用uiautomator2所带的click、swipe、drag等函数对页面进行点击、滑动、拖动等操作对移动应用的各功能进行操作,最后利用模拟按键操作uiautomator2的press函数自动切换到后台,此时自动化程序已完成了对移动应用的启动、各功能模块、后台的点击操作任务。
数据日志清洗入库就是当自动化程序点击操作中如果移动应用本身调用的权限信息与Hook工具监测的隐私权限一致的时候,Hook工具本身的功能模块就会处理调用的调用栈信息,并按数据库格式来清洗数据使之符合入库的格式进行入库保存。在监测系统实时读取数据库中新的数据之后,在监测系统上能看到根据用户的基本隐私权限划分的各功能模块,根据读取得到的数据库中的完整调用栈信息,会自动把不同的调用栈信息归类到不同的功能模块上,此时当点击系统上基本隐私权限模块功能时就可以看到该模块下的所有的调用栈信息。最重要的一点是在实时监测过程中所产生的新的调用栈信息和数据包都会进行高亮显示,以便快速确认该移动应用具体的某一个功能是否在不应该调用某个权限的时候存在违规调用隐私信息的行为和用户隐私信息的上传行为。该方案能24小时监测移动应用是否存在违规调用隐私权限的行为。
如图3所示,基于逆向分析的检测方法为:在移动应用兴起的时代,移动应用本身的安全防护和数据传输的加密协议也在不断增强,基于自动化批量分析应用的检测方法虽然能监测到应用所有调用用户隐私权限的行为,但当移动应用传输的数据包全部为加密时,此时将不能完全确定该移动应用是否真的存在违规上传用户隐私信息(如:通讯录、位置)的行为。在基于上述方法的基础之上有必要解开移动应用上传的所有加密数据包。在继承了方法一的基础之上,需要把调用隐私信息的完整调用栈信息和上传的数据包联系起来。
拿到移动应用样本之后,将样本安装到手机并利用检测工具勾选上移动应用。打开抓包工具Charles并设置抓包代理,打开Android Studio开发工具,在Android Studio的Logcat中能实时的看到移动应用的完整调用栈信息,在Logcat中监测到有调用隐私信息之后,逐一查看抓包工具中新产生的数据包,此时抓的数据包分为两种形态,一种是未加密传输的数据包,一种是采用加密算法后传输的数据包。对于未加密传输的数据包即在数据包中能清晰的看到例如明文的经纬度,明文的用户手机号、用户姓名等数据。在遇到有通过加密算法加密后传输的数据包时,此时无法真正的判断加密内容中是否包含隐私信息,此时需要对加密数据包进行解密操作进行验证。
把移动应用的安装包拖入到现有工具Jadx反编译工具中进行自动化反编译。
因为获取到的调用栈信息中包含完整的类名和方法名,所以在使用Jadx工具的搜索功能时,就可以直接根据“类名”和“方法名”两个选项搜索,根据搜索到的包含搜索类名和方法名的结果,然后把搜索结果与调用栈信息相比较,就能够确定调用函数的具体位置,再次利用Jadx工具的“查找用例”功能进行函数之间的调用跳转来确定加密算法位置函数。编写XposedHook脚本Hook该位置函数,打印该函数传入的参数以及该函数的返回值结果。把返回值结果与数据包中的数据相比较,如若结果相等,那么就能确定该函数就是加密数据函数,此时该函数传入的参数即为加密前的明文数据,最后查看传入的参数中是否包含隐私信息。之后对所有加密传输的数据包都重复这一过程。对于数据包中有包含用户隐私权限信息的都必须把函数的调用栈、数据包、加密前数据以及加密后数据以Word文档的形式进行保存,按此步骤测试移动应用的全部功能(启动、各基本功能、后台)。该检测方法能准确的判断该移动应用各功能模块是否存在违法违规上传和调用的情况。
本发明一是聚集了不同安卓手机系统中调用敏感信息的函数,能包含市面上全部的安卓手机,收集了主流第三方SDK的调用案例,在调用过程中能准确区分不同的SDK,能快速定位调用隐私信息的具体方法位置;二是能把调用信息实时的与监测系统进行交互。因为每个移动应用或者第三方SDK的代码都是千差万别的以及他们的不断更新和衍生,同样该工具也会实时的来维护以及当代码执行过程中遇到错误时也会及时做出预警来反馈给开发者进行维护和不断创新。
目前通过上述的两种检测方案已检测应用达上万款,已协助很多知名互联网企业(如:百度、字节跳动、阿里、腾讯等)进行移动应用的优化和对于收集用户隐私信息的改善。在配合两种测试方法的不断优化和改进之后,在监测违法违规问题上取得了很好的效果。
实施例三:为了执行上述实施例二对应的方法,以实现相应的功能和技术效果,下面提供一种面向移动应用的检测工具的检测系统。
一种面向移动应用的检测工具的检测系统,对测试手机进行Root后安装上述检测工具,包括:权限信息获取模块,用于执行自动化程序模拟人工操作的同时,获取移动应用调用的权限信息;所述人工操作包括对启动操作、切换操作、点击操作、滑动操作以及拖动操作。
记录模块,用于若所述权限信息与所述检测工具监测的隐私权限一致,利用所述检测工具记录本次调用的完整调用栈信息,并将所述完整调用栈信息保存至数据库中。
划分模块,用于根据用户的基本权限划分不同的功能模块,并将所述数据库内完整调用栈信息分类至不同的功能模块中。
违规调用及上传行为确定模块,用于若所述完整调用栈信息划分至基本隐私权限功能模块,确定所述移动应用调用所述权限信息时存在违规调用隐私信息的行为和上传隐私信息的行为。
实施例四:本发明实施例提供一种电子设备包括存储器及处理器,该存储器用于存储计算机程序,该处理器运行计算机程序以使电子设备执行实施例二提供的面向移动应用的检测工具的检测方法。
在实际应用中,上述电子设备可以是服务器。
在实际应用中,电子设备包括:至少一个处理器(processor)、存储器(memory)、总线及通信接口(Communications Interface)。
其中:处理器、通信接口、以及存储器通过通信总线完成相互间的通信。
通信接口,用于与其它设备进行通信。
处理器,用于执行程序,具体可以执行上述实施例所述的方法。
具体地,程序可以包括程序代码,该程序代码包括计算机操作指令。
处理器可能是中央处理器CPU,或者是特定集成电路ASIC(Application SpecificIntegrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器,用于存放程序。存储器可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
基于以上实施例的描述,本申请实施例提供一种存储介质,其上存储有计算机程序指令,计算机程序指令可被处理器执行以实现任意实施例所述的方法。
本申请实施例提供的面向移动应用的检测工具的检测系统以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供语音、数据通信为主要目标。这类终端包括:智能手机、多媒体手机以及功能性手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网性能。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器,掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)其他具有数据交互功能的电子设备。
至此,已经对本主题的特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作可以按照不同的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序,以实现期望的结果。在某些实施方式中,多任务处理和并行处理可以是有利的。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。本领域内的技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带、磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定事务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行事务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (9)
1.一种面向移动应用的检测工具,其特征在于,包括:Magisk接口以及基于Lsposed的开发工具;
所述Magisk接口为第三方systemless接口;所述第三方systemless接口用于在bootimage中创建新分区,以存放Magisk文件和模块,通过修改init进程,使得系统在启动时加载所述新分区;
所述基于Lsposed的开发工具依赖所述Magisk接口,所述基于Lsposed的开发工具用于在所述新分区内,不修改移动应用和系统组件的情况下,改变移动应用和系统组件的行为和功能。
2.一种面向移动应用的检测工具的检测方法,其特征在于,对测试手机进行Root后安装如权利要求1所述的检测工具,包括:
执行自动化程序模拟人工操作的同时,获取移动应用调用的权限信息;所述人工操作包括对启动操作、切换操作、点击操作、滑动操作以及拖动操作;
若所述权限信息与所述检测工具监测的隐私权限一致,利用所述检测工具记录本次调用的完整调用栈信息,并将所述完整调用栈信息保存至数据库中;
根据用户的基本权限划分不同的功能模块,并将所述数据库内完整调用栈信息分类至不同的功能模块中;
若所述完整调用栈信息划分至基本隐私权限功能模块,确定所述移动应用调用所述权限信息时存在违规调用隐私信息的行为和上传隐私信息的行为。
3.根据权利要求2所述的面向移动应用的检测工具的检测方法,其特征在于,将所述完整调用栈信息保存至数据库中,之前还包括:
按照数据库格式对所述完整调用栈信息进行数据清洗。
4.根据权利要求2所述的面向移动应用的检测工具的检测方法,其特征在于,确定所述移动应用调用所述权限信息时存在违规调用隐私信息的行为和上传隐私信息的行为,之后还包括:
逐一查看抓包工具中新产生的数据包;所述数据包包括未加密传输的数据包以及采用加密算法传输的数据包;
对于所述未加密传输的数据包,能够直接检测所述未加密传输的数据包内是否包含隐私信息;
对于所述采用加密算法传输的数据包,利用反编译工具对所述数据包进行自动化反编译,生成搜索结果;所述搜索结果包括搜索的类名和方法名;
根据所述搜索结果与所述完整调用栈信息检测所述数据包中是否包含隐私信息。
5.根据权利要求4所述的面向移动应用的检测工具的检测方法,其特征在于,根据所述搜索结果与所述完整调用栈信息检测所述数据包中是否包含隐私信息,具体包括:
对比所述搜索结果与所述完整调用栈信息,确定调用函数的具体位置;
基于所述调用函数的具体位置,利用反编译工具的“查找用例”功能进行函数之间的调用跳转,确定所述调用函数的返回值结果;
若所述返回值结果与所述数据包相等,确定所述调用函数为加密数据函数;
对所述加密数据函数进行解密,生成加密前的明文数据;
检测所述加密前的明文数据中是否包含隐私信息。
6.根据权利要求5所述的面向移动应用的检测工具的检测方法,其特征在于,检测所述加密前的明文数据中是否包含隐私信息,之后还包括:
将包含隐私信息的数据包的参数信息以文本形式保存;所述参数信息包括调用函数的调用栈、加密前数据以及加密后数据。
7.一种面向移动应用的检测工具的检测系统,其特征在于,对测试手机进行Root后安装如权利要求1所述的检测工具,包括:
权限信息获取模块,用于执行自动化程序模拟人工操作的同时,获取移动应用调用的权限信息;所述人工操作包括对启动操作、切换操作、点击操作、滑动操作以及拖动操作;
记录模块,用于若所述权限信息与所述检测工具监测的隐私权限一致,利用所述检测工具记录本次调用的完整调用栈信息,并将所述完整调用栈信息保存至数据库中;
划分模块,用于根据用户的基本权限划分不同的功能模块,并将所述数据库内完整调用栈信息分类至不同的功能模块中;
违规调用及上传行为确定模块,用于若所述完整调用栈信息划分至基本隐私权限功能模块,确定所述移动应用调用所述权限信息时存在违规调用隐私信息的行为和上传隐私信息的行为。
8.一种电子设备,其特征在于,包括存储器及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行如权利要求2-6中任一项所述的面向移动应用的检测工具的检测方法。
9.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求2-6中任一项所述的面向移动应用的检测工具的检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311522859.4A CN117241276B (zh) | 2023-11-16 | 2023-11-16 | 一种面向移动应用的检测工具及检测方法、系统及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311522859.4A CN117241276B (zh) | 2023-11-16 | 2023-11-16 | 一种面向移动应用的检测工具及检测方法、系统及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117241276A true CN117241276A (zh) | 2023-12-15 |
CN117241276B CN117241276B (zh) | 2024-02-06 |
Family
ID=89097010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311522859.4A Active CN117241276B (zh) | 2023-11-16 | 2023-11-16 | 一种面向移动应用的检测工具及检测方法、系统及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117241276B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118012541A (zh) * | 2024-04-10 | 2024-05-10 | 国家计算机网络与信息安全管理中心 | 一种sdk隐私函数调用管控方法、设备、介质及产品 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111835756A (zh) * | 2020-07-10 | 2020-10-27 | 深圳市网安计算机安全检测技术有限公司 | App隐私合规检测方法、装置、计算机设备及存储介质 |
US10922214B1 (en) * | 2019-08-23 | 2021-02-16 | Jpmorgan Chase Bank, N.A. | System and method for implementing a test optimization module |
CN115146270A (zh) * | 2022-07-04 | 2022-10-04 | 深圳市网安计算机安全检测技术有限公司 | 基于代码开发的隐私监测方法、装置、设备及介质 |
US11641579B1 (en) * | 2020-03-04 | 2023-05-02 | Cable Television Laboratories, Inc. | User agents, systems and methods for machine-learning aided autonomous mobile network access |
CN116244741A (zh) * | 2023-01-10 | 2023-06-09 | 厦门铠甲网络股份有限公司 | 一种动态监控移动应用个人隐私数据调用的方法和装置 |
CN116956240A (zh) * | 2023-07-28 | 2023-10-27 | 深圳软牛科技有限公司 | 一种绕过Google safetynet认证方法及相关组件 |
CN117056904A (zh) * | 2023-08-14 | 2023-11-14 | 杭州行至云起科技有限公司 | 应用程序隐私合规判断方法、装置、计算机设备及介质 |
-
2023
- 2023-11-16 CN CN202311522859.4A patent/CN117241276B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10922214B1 (en) * | 2019-08-23 | 2021-02-16 | Jpmorgan Chase Bank, N.A. | System and method for implementing a test optimization module |
US11641579B1 (en) * | 2020-03-04 | 2023-05-02 | Cable Television Laboratories, Inc. | User agents, systems and methods for machine-learning aided autonomous mobile network access |
CN111835756A (zh) * | 2020-07-10 | 2020-10-27 | 深圳市网安计算机安全检测技术有限公司 | App隐私合规检测方法、装置、计算机设备及存储介质 |
CN115146270A (zh) * | 2022-07-04 | 2022-10-04 | 深圳市网安计算机安全检测技术有限公司 | 基于代码开发的隐私监测方法、装置、设备及介质 |
CN116244741A (zh) * | 2023-01-10 | 2023-06-09 | 厦门铠甲网络股份有限公司 | 一种动态监控移动应用个人隐私数据调用的方法和装置 |
CN116956240A (zh) * | 2023-07-28 | 2023-10-27 | 深圳软牛科技有限公司 | 一种绕过Google safetynet认证方法及相关组件 |
CN117056904A (zh) * | 2023-08-14 | 2023-11-14 | 杭州行至云起科技有限公司 | 应用程序隐私合规判断方法、装置、计算机设备及介质 |
Non-Patent Citations (6)
Title |
---|
"真我10/10S/10Pro解锁BL+刷面具ROOT权限+LSPosed框架+隐藏ROOT详细刷机教程", ROM乐园 * |
RUNNING_J: "APP渗透--magisk+LSPosed+算法助手环境安装", 博客园 * |
朱晓妍;章辉;马建峰;: "基于Hook技术的Android平台隐私保护系统", 网络与信息安全学报, no. 04 * |
焦罡;王飞;: "移动应用(APP)安全检测与应用――护航终端安全,守护用户隐私", 中国科技信息, no. 17 * |
燕季薇;李明素;卢琼;严俊;高红雨;: "基于Android平台的隐私泄漏静态检测工具的分析与比较", 计算机科学, no. 10 * |
赵静;: "基于Android平台的隐私泄漏静态检测工具分析", 电子测试, no. 21 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118012541A (zh) * | 2024-04-10 | 2024-05-10 | 国家计算机网络与信息安全管理中心 | 一种sdk隐私函数调用管控方法、设备、介质及产品 |
Also Published As
Publication number | Publication date |
---|---|
CN117241276B (zh) | 2024-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190236000A1 (en) | Distributed system test device | |
CN110007952B (zh) | 数据处理方法、装置、设备和机器可读介质 | |
US20130117855A1 (en) | Apparatus for automatically inspecting security of applications and method thereof | |
CN117241276B (zh) | 一种面向移动应用的检测工具及检测方法、系统及设备 | |
CN109831351B (zh) | 链路跟踪方法、装置、终端及存储介质 | |
CN112035354B (zh) | 风险代码的定位方法、装置、设备及存储介质 | |
CN105740138A (zh) | 应用的测试方法、测试装置及测试系统 | |
CN104899016A (zh) | 调用堆栈关系获取方法及装置 | |
CN103268448A (zh) | 动态检测移动应用的安全性的方法和系统 | |
CN110879781A (zh) | 程序调试方法、装置、电子设备及计算机可读存储介质 | |
CN109542754B (zh) | 移动设备的接入方法、应用程序的调试方法、装置和系统 | |
US20170220452A1 (en) | Performing a mirror test for localization testing | |
CN112241362A (zh) | 一种测试方法、装置、服务器及存储介质 | |
CN107908552A (zh) | 一种基于链接的测试方法、装置及设备 | |
CN112241373A (zh) | 自动化测试方法、测试装置、处理器和测试系统 | |
CN108133123B (zh) | 一种应用程序的识别方法及系统 | |
US10169216B2 (en) | Simulating sensors | |
CN111241547A (zh) | 一种越权漏洞的检测方法、装置及系统 | |
CN109542775A (zh) | 一种测试脚本的生成和执行方法及装置 | |
CN115061902A (zh) | 页面加载时间测试方法、装置、设备、存储介质 | |
CN110297854B (zh) | 一种app域名核验方法与系统 | |
CN108563578A (zh) | Sdk兼容性检测方法、装置、设备及可读存储介质 | |
CN114510305A (zh) | 模型训练方法、装置、存储介质及电子设备 | |
CN111381836B (zh) | 应用程序部署环境的切换方法及装置 | |
CN111625721A (zh) | 内容推荐方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |