一种应用程序的检测方法及装置制造方法及图纸

技术编号:34904919 阅读:8 留言:0更新日期:2022-09-15 06:50
本申请提供了一种应用程序的检测方法及装置;涉及云技术,方法包括:对应用程序的源代码进行输入验证检测,得到所述应用程序的用户输入和比较内容;对所述比较内容进行上下文内容识别处理,得到所述比较内容的类型;对所述用户输入进行上下文条件识别处理,得到所述用户输入的代码分派行为;基于所述比较内容的类型和所述用户输入的代码分派行为,确定所述应用程序中的隐藏功能。通过本申请,能够准确检测应用程序中的隐藏功能以保证应用程序使用过程中的安全性。过程中的安全性。过程中的安全性。

【技术实现步骤摘要】
一种应用程序的检测方法及装置


[0001]本申请涉及计算机软件测试技术及云技术,尤其涉及一种应用程序的检测方法及装置。

技术介绍

[0002]污点分析是一种跟踪并分析污点信息在程序中流动的技术。在漏洞分析中,使用污点分析技术将所感兴趣的数据(通常来自程序的外部输入)标记为污点数据,然后通过跟踪和污点数据相关的信息的流向,可以知道它们是否会影响某些关键的程序操作,进而挖掘程序漏洞。
[0003]相关污点分析技术通常是通过跟踪安全相关的数据流、关注与网络通信相关的数据流,发现应用程序的数据流的相关漏洞,而相关静态分析工具中仅仅专注于应用程序的相关漏洞,对于包含隐藏行为的应用程序却无能为力。因此,对于用户来说,这些应用程序存在较大的安全隐患。
[0004]因此,相关技术中缺乏提升应用程序的安全性的有效方案。

技术实现思路

[0005]本申请实施例提供一种应用程序的检测方法、装置、电子设备及计算机可读存储介质,能够准确检测应用程序中的隐藏功能以保证应用程序使用过程中的安全性。
[0006]本申请实施例的技术方案是这样实现的:
[0007]本申请实施例提供一种应用程序的检测方法,包括:
[0008]对应用程序的源代码进行输入验证检测,得到所述应用程序的用户输入和比较内容;对所述比较内容进行上下文内容识别处理,得到所述比较内容的类型;对所述用户输入进行上下文条件识别处理,得到所述用户输入的代码分派行为;基于所述比较内容的类型和所述用户输入的代码分派行为,确定所述应用程序中的隐藏功能。
[0009]本申请实施例提供一种应用程序的检测装置,包括:
[0010]输入验证检测模块,用于对应用程序的源代码进行输入验证检测,得到所述应用程序的用户输入和比较内容;上下文内容识别模块,用于对所述比较内容进行上下文内容识别处理,得到所述比较内容的类型;上下文内容恢复模块,用于对所述用户输入进行上下文条件识别处理,得到所述用户输入的代码分派行为;行为发现及验证模块,用于基于所述比较内容的类型和所述用户输入的代码分派行为,确定所述应用程序中的隐藏功能。
[0011]在上述方案中,所述比较内容的类型包括硬编码字符串、机密字符串;所述行为发现及验证模块,还用于当所述比较内容包含指定字符串的子集、所述用户输入等于所述比较内容包括的值、且每个所述比较内容包括的值对应所述应用程序的不同执行结果时,确定所述比较内容的类型为机密字符串;当所述用户输入等于所述比较内容包括的值、所述比较内容包括的值的来源为一个、且所述应用程序的执行结果均相同时,确定所述比较内容的类型为硬编码字符串。
[0012]在上述方案中,所述用户输入的代码分派行为包括:所述用户输入的逻辑条件的数目、所述逻辑条件产生的分支数目;所述上下文内容恢复模块,还用于确定所述用户输入的上下文中的逻辑条件以及所述逻辑条件的数目;针对每条所述逻辑条件对所述用户输入进行验证,以确定所述逻辑条件产生的分支数目。
[0013]在上述方案中,所述行为发现及验证模块,还用于根据所述用户输入的逻辑条件的数目和所述逻辑条件的分支数目的数量关系,确定与所述代码分派行为对应的分派方式;基于所述分派方式和所述比较内容的类型,对所述用户输入进行验证,确定所述应用程序中的隐藏功能。
[0014]在上述方案中,所述分派方式包括:一对二分派、多对二分派和多对多分派度;所述行为发现及验证模块,还用于当所述分派方式为一对二分派、且所述比较内容的类型为硬编码字符串时,确定所述应用程序中的隐藏功能为秘密访问密钥;当所述分派方式为多对二分派、所述比较内容包括的值的来源为多个、且所述比较内容包括的值的类型中至少之一为硬编码字符串时,确定所述应用程序中的隐藏功能为主密码;当所述分派方式为多对多分派、所述比较内容包括的值的来源为多个、且所述比较内容包括的值的类型中至少之一为指定字符串时,确定所述应用程序中的隐藏功能为秘密命令。
[0015]在上述方案中,所述输入验证检测模块,还用于对所述应用程序中的比较内容进行接口识别处理,得到所述比较内容使用的函数所包括的接口信息;根据所述接口信息,确定所述比较内容包括的值的来源;其中,所述比较内容包括的值的来源包括以下至少之一:文件操作、数据库操作、共享模块、网络请求、广播。
[0016]在上述方案中,所述输入验证检测模块,还用于基于应用程序的源代码,创建应用程序的控制流图;遍历所述控制流图,以确定所述应用程序的源代码中使用的函数;根据所述函数与所述用户输入的对应关系,确定所述应用程序的源代码中的用户输入;根据所述函数与所述比较内容的对应关系,确定所述应用程序的源代码中的比较内容。
[0017]在上述方案中,所述行为发现及验证模块,还用于对所述应用程序的源代码进行向后切片处理,得到所述用户输入的上下文中的逻辑条件;针对每一条逻辑条件对所述用户输入进行验证处理,以得到验证结果;当所述验证结果表征通过所述用户输入与任一所述逻辑条件不匹配时,确定所述应用程序存在隐藏功能。
[0018]在上述方案中,所述行为发现及验证模块,还用于获取所述应用程序中待追踪的目标信息,确定所述目标信息对应的切片规则;根据所述切片规则,对所述应用程序的源代码进行向后切片处理,得到所述目标信息对应的用户输入的上下文中的逻辑条件。
[0019]本申请实施例提供一种电子设备,包括:
[0020]存储器,用于存储可执行指令;
[0021]处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的应用程序的检测方法。
[0022]本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于被处理器执行时,实现本申请实施例提供的应用程序的检测方法。
[0023]本申请实施例具有以下有益效果:
[0024]通过对比较内容进行上下文内容识别处理,确定比较内容的类型;通过对用户输入进行上下文条件识别处理,确定用户输入的代码分派行为;通过引用用户输入的上下文,
提高了对用户输入验证的准确性。结合确定的比较内容的类型和用户输入的代码分派行为,挖掘出应用程序中的隐藏功能,从而在使用应用程序的过程中保证了安全性。
附图说明
[0025]图1是本申请实施例提供的应用程序的检测系统100的一个架构示意图;
[0026]图2是本申请实施例提供的终端400

1的结构示意图;
[0027]图3A是本申请实施例提供的应用程序的检测方法的流程示意图;
[0028]图3B是本申请实施例提供的应用程序的检测方法的流程示意图;
[0029]图3C是本申请实施例提供的应用程序的检测方法的流程示意图;
[0030]图4是本申请实施例提供的应用程序的检测方法的系统结构示意图;
[0031]图5是本申请实施例提供的应用程序的检测方法的整体流程示意图;
[0032]图6是本申请实施例提供的应用程序的检测方法中的隐藏行为验证的策略的流程示意图本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用程序的检测方法,其特征在于,所述方法包括:对应用程序的源代码进行输入验证检测,得到所述应用程序的用户输入和比较内容;对所述比较内容进行上下文内容识别处理,得到所述比较内容的类型;对所述用户输入进行上下文条件识别处理,得到所述用户输入的代码分派行为;基于所述比较内容的类型和所述用户输入的代码分派行为,确定所述应用程序中的隐藏功能。2.根据权利要求1所述的方法,其特征在于,所述比较内容的类型包括硬编码字符串、机密字符串;所述对所述比较内容进行上下文内容识别处理,得到所述比较内容的类型,包括:当所述比较内容包含指定字符串的子集、所述用户输入等于所述比较内容包括的值、且每个所述比较内容包括的值对应所述应用程序的不同执行结果时,确定所述比较内容的类型为机密字符串;当所述用户输入等于所述比较内容包括的值、所述比较内容包括的值的来源为一个、且所述应用程序的执行结果均相同时,确定所述比较内容的类型为硬编码字符串。3.根据权利要求1所述的方法,其特征在于,所述用户输入的代码分派行为包括:所述用户输入的逻辑条件的数目、所述逻辑条件产生的分支数目;所述对所述用户输入进行上下文条件识别处理,得到所述用户输入的代码分派行为,包括:确定所述用户输入的上下文中的逻辑条件以及所述逻辑条件的数目;针对每条所述逻辑条件对所述用户输入进行验证,以确定所述逻辑条件产生的分支数目。4.根据权利要求1所述的方法,其特征在于,所述基于所述比较内容的类型和所述用户输入的代码分派行为,确定所述应用程序中的隐藏功能,包括:根据所述用户输入的逻辑条件的数目和所述逻辑条件的分支数目的数量关系,确定与所述代码分派行为对应的分派方式;基于所述分派方式和所述比较内容的类型,确定所述应用程序中的隐藏功能。5.根据权利要求4所述的方法,其特征在于,所述分派方式包括:一对二分派、多对二分派和多对多分派;所述基于所述分派方式和所述比较内容的类型,确定所述应用程序中的隐藏功能,包括:当所述分派方式为一对二分派、且所述比较内容的类型为硬编码字符串时,确定所述应用程序中的隐藏功能为秘密访问密钥;当所述分派方式为多对二分派、所述比较内容包括的值的来源为多个、且所述比较内容包括的值的类型中至少之一为硬编码字符串时,确定所述应用程序中的隐藏功...

【专利技术属性】
技术研发人员:郭晶甘祥郑兴彭婧刘羽范宇河唐文韬申军利
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1