The invention discloses a mobile client application analysis method and system analysis method, including: selected key API operating system calls the application running in the operating system; access to mobile client source code, the key API instrumentation; run the application in the operating system, application program behavior record according to the procedure; behavior, generate analysis results. The analysis method of the present invention by recording the application runs, the implementation of key program behavior API call operating system application, and will analyze whether the application security reference program behavior recorded as, can greatly reduce the amount of task analysis of large sample data, improve the efficiency of application analysis.
【技术实现步骤摘要】
一种移动客户端的应用程序分析方法及分析系统
本专利技术涉及应用程序安全
,特别是涉及一种移动客户端的应用程序分析方法及分析系统。
技术介绍
目前,智能手机、平板电脑等移动终端都具备视频观看、语音通话、搜索等多种多样的功能,而这些功能的实现则主要依赖于在移动终端上所安装的应用程序;在当前的手机操作平台中,往往会出现恶意代码样本数量频发的问题,常规的使用人工逆向分析来判断样本是否存在威胁的方法已经不能胜任数量庞大的应用程序样本群。针对数量庞大、特征繁多的样本群,样本分析工程师缺少一种高效的辅助分析手段,以尽可能全面地触发且监控样本潜在的行为,并了解自身安装的应用是否存在不安全行为。
技术实现思路
本专利技术所要解决的技术问题是:提供一种移动客户端的应用程序分析方法及分析系统,以在不影响程序分析准确性的情况下,提高应用程序分析的效率。本专利技术解决上述技术问题所采用的技术方案是:本专利技术提供了一种移动客户端的应用程序分析方法,包括:选定运行应用程序所调用的操作系统中的关键API;获取移动客户端的操作系统的源码,对关键API进行插桩;在操作系统中运行应用程序,记录应用程序的程序行为;根据程序行为,生成分析结果。进一步的,选定运行应用程序所调用的操作系统中的关键API的过程包括:确定应用程序在操作系统中所要实现的程序功能;获取实现程序功能所要调用的所有API函数,建立API函数的调用顺序;根据调用顺序,选定关键API。进一步的,根据调用顺序,选定关键API的过程包括:根据调用顺序,确定所有API函数的调用层级以及每一调用层级中的API函数的数量;将每一调用层级中 ...
【技术保护点】
一种移动客户端的应用程序分析方法,其特征在于,包括:选定运行所述应用程序所调用的操作系统中的关键API;获取所述移动客户端的操作系统的源码,对所述关键API进行插桩;在所述操作系统中运行所述应用程序,记录所述应用程序的程序行为;根据所述程序行为,生成分析结果。
【技术特征摘要】
1.一种移动客户端的应用程序分析方法,其特征在于,包括:选定运行所述应用程序所调用的操作系统中的关键API;获取所述移动客户端的操作系统的源码,对所述关键API进行插桩;在所述操作系统中运行所述应用程序,记录所述应用程序的程序行为;根据所述程序行为,生成分析结果。2.根据权利要求1所述的分析方法,其特征在于,选定运行所述应用程序所调用的操作系统中的关键API的过程包括:确定所述应用程序在所述操作系统中所要实现的程序功能;获取实现所述程序功能所要调用的所有API函数,建立所述API函数的调用顺序;根据所述调用顺序,选定所述关键API。3.根据权利要求2所述的分析方法,其特征在于,根据所述调用顺序,选定所述关键API的过程包括:根据所述调用顺序,确定所有API函数的调用层级以及每一所述调用层级中的所述API函数的数量;将每一所述调用层级中,与前一调用层级中的至少两个所述API函数相关联的API函数,作为所述关键API。4.根据权利要求2所述的分析方法,其特征在于,根据所述调用顺序,选定所述关键API的过程包括:根据所述调用顺序,确定所述操作系统中的framework层的所有API的调用层级;以所述调用层级的最下级的API函数作为所述关键API。5.根据权利要求2所述的分析方法,其特征在于,获取所述移动客户端的操作系统的源码,对所述关键API进行插桩的过程包括:在所述关键API的入口处或返回处增加打印log的代码,用于执行所述应用程序时输出log信息;其中,所述log信息至少包括:log标识、所述关键API的名称或标识、进程ID、所述关键API的传入参数和返回参数。6.根据权利要求5所述的分析方法,其特征在于,获取所述移动客户端的操作系统的源码,对所述关键API进行插桩的过程还包括:重新编译所述源码,得到所述操作系统的镜像。7.根据权利要求6所述的分析方法,其特征在于,在所述操作系统中运行所述应用程序,记录所述应用程序的程序行为的过程包括:在模拟器中运行所述操作系统,在所述操作系统中安装所述应用程序;利用代码调度调试工具控制所述应用程序执行其程序功能;记录执行所述程序功能的过程中所输出的log信息,并获取所述应用程序的程序包名。8.根据权利要求7所述的分析方法,其特征在于,根据所述程序行为,生成分析结果的过程包括:筛选输出的所有log信息,确定对应所述关键API的所述log信息;根据所述关键API的所述log信息,按照预设规则匹配关键威胁特征,生成匹配结果报告。9.根据权利要求8所述的分析方法,其特征在于,筛选输出的所有log信息,确定对应所述关键API的所述log信息的过程包括:查找所有所述log信息的所述log标识,筛选具有所述log标识...
【专利技术属性】
技术研发人员:颜华甲,秦伟杰,
申请(专利权)人:北京金山安全管理系统技术有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。