一种移动应用的安全风险评估方法及系统的制作方法
【专利摘要】本发明公开了一种移动应用的安全风险评估方法及系统,该方法包括:建立移动应用对应的评估标准项、安全风险项、工具扫描项的映射关系;提交待评估的移动应用,对其进行风险评估,并将存在风险的评估结果写入预设的数据表;生成应用安全风险评估报告。实施本发明的有益效果是,统一了移动应用安全评估标准项、安全风险项、工具扫描项,避免了移动应用安全风险评估对评估者和评估工具的依赖;实现了对移动应用安全风险评估的全自动化的流程处理,极大提升了评估的效率,缩短了评估周期,降低了评估成本;实现了对移动应用安全风险评估报告生成的自动化管理,统一了报告的格式,缩短了报告生成时间,降低了报告生成复杂度。
【专利说明】
一种移动应用的安全风险评估方法及系统
技术领域
[0001]本发明涉及移动应用技术领域,尤其涉及一种移动应用的安全风险评估方法及系统。【背景技术】
[0002]随着互联网的飞速发展,智能终端快速普及,各类移动应用极速增长,移动应用已深入人们是生活和工作。但是移动应用开发者的安全意识及移动应用的安全防护手段并没有完全跟上应用发展的步伐。截止2014年三季度末,国内累计新增移动应用恶意样本 151.3万份,以日均超过7300份速度增长,累计感染人群超过2.13亿,环比上涨417.3%, 日均超过140万人被感染恶意样本。大量的应用、游戏被破解、二次打包形成盗版应用,在盗版应用中植入恶意代码、病毒程序、恶意扣费程序、广告插件、信息窃取程序等,给移动互联网行业、开发者和终端客户造成重大的危害和经济损失。如何加强移动应用安全防护,如何快速发现移动个应用安全威胁以及如何全面评估一款移动应用的安全风险成为安全领域面临的一个重要挑战之一。
[0003]而造成以上问题的主要原因在于:
[0004]1、Android系统自身存在一定的漏洞风险;
[0005]2、缺少一种快速评估移动应用安全风险的办法和相应的系统。
[0006]现有移动应用安全风险评估方法和系统不足之处在于:
[0007]1、严重依赖评估者和安全专家的个人经验及主观判断。
[0008]目前对移动应用安全的风险评估多采用人工分析判断的方法,安全专家根据个人安全知识和经验积累结合流行的恶意样本特征,对移动应用程序进行解包、分析,一般采用沙箱测试和人工分析应用的代码、资源文件、配置文件,根据评估过程信息点记录评估结果,最后手工绘制移动应用的安全风险评估报告。此方法首先对安全专家的个人能力要求很高,需对移动应用安全有较深的技术积累和一定的处理经验;另外由于采用人工分析的办法需要投入的工作量较大,评估周期也比较长;再者,采用人工评估的办法由于每个专家擅长的领域和个人在行业的经验有差别,所评估的风险点会出现差异,一些关键点可能被遗漏。
[0009]2、依赖相关工具的直接扫描结果,缺少判断分析。
[0010]在人工评估移动应用安全风险的过程中,往往需要借助相关的扫描工具对移动应用程序进行静态扫描和动态分析,然后根据扫描结果进行人工判断分析,将对工具扫描结果的分析判断作为评估结果,生成评估报告。由于扫描工具会输出多项中间结果,一般的工具不会直接给从扫描项是否存在风险,需要人工逐个分析确认,这将消耗大量的时间,且需要安全专家对工具的使用和相关属性十分了解。给日常的移动应用安全评估带来困难。
[0011]3、缺少有效的评估流程和评估执行机制。
[0012]由于采用人工评估的方法缺少规范的评估流程和统一的执行机制,使得评估结果和评估报告的格式多样化,不利于集中分析和统一管理,另外在评估过程中对评估项和对应的扫描结果没有统一的规范约束,使得同一问题现象对应的风险信息不一致的情况。
[0013]4、评估周期长,投入工作量大,评估成本较高。
[0014]在采用人工评估方法对移动应用安全风险进行评估时,对人员自身的安全知识要求较高,对工具的熟练掌握程度也有较高要求,所有评估结果都需要人工直接干预,因此需要投入的工作量很大,评估周期往往很长,整体评估成本较高。这不利于对移动应用进行批量评估,相对当前市场日益增长的应用和恶意样本显得力不从心。
【发明内容】
[0015]有鉴于此,本发明的目的在于提供一种移动应用的安全风险评估方法及系统,旨在解决现有技术中依赖评估者和安全专家的个人经验及主观判断、依赖相关工具的直接扫描结果、缺少有效的评估流程和评估执行机制以及评估周期长,投入工作量大,评估成本较高的技术问题。
[0016]本发明的技术方案实现如下:
[0017]提供一种移动应用的安全风险评估方法,包括:
[0018]建立移动应用对应的评估标准项、安全风险项、工具扫描项的映射关系;
[0019]提交待评估的移动应用,根据所述移动应用的评估级别和预设的评估算法加载对应的评估标准项,依据所述评估标准项与工具扫描项的映射关系调用对应的扫描接口以进行扫描,依据所述评估标准项与安全风险项的映射关系判断所述扫描的结果是否存在风险并生成评估结果,并将存在风险的评估结果写入预设的数据表;
[0020]调用数据表所存储的评估结果,生成应用安全风险评估报告。
[0021]在本发明所述的方法中,在建立移动应用对应的评估标准项、安全风险项、工具扫描项的映射关系的步骤中,包括:
[0022]向安全知识库录入所述移动应用的所述评估标准项;
[0023]向所述安全知识库录入所述移动应用的所述安全风险项;
[0024]将所述移动应用的外部扫描工具的扫描接口组成扫描指标,向所述安全知识库录入所述工具扫描项;
[0025]设置评估标准项、安全风险项、工具扫描项的映射关系。
[0026]在本发明所述的方法中,在向安全知识库录入所述移动应用的所述评估标准项的步骤中,还包括,返回录入结果;
[0027]在向安全知识库录入所述移动应用的所述安全风险项的步骤中,还包括,返回录入结果;
[0028]在将所述移动应用的外部扫描工具的扫描接口组成扫描指标,向安全知识库录入所述工具扫描项的步骤中,还包括,返回录入结果;
[0029]在设置评估标准项、安全风险项、工具扫描项的映射关系的步骤中,好包括,返回设置结果。
[0030]在本发明所述的方法中,在提交待评估的移动应用的步骤中,包括:
[0031]向自动评估引擎提交所述移动应用的安装包,请求对所述移动应用进行安全风险评估;
[0032]所述自动评估引擎接收所述请求,调用其内置的工具验证所述安装包是否合法;
[0033]若所述安装包合法,则提取所述安装包的程序样本。
[0034]在本发明所述的方法中,在根据所述移动应用的评估级别加载对应的评估标准项的步骤中,包括:
[0035]所述自动评估引擎根据所述移动应用的评估级别加载对应的评估标准项。
[0036]在本发明所述的方法中,在依据所述评估标准项与工具扫描项的映射关系调用对应的扫描接口以进行扫描的步骤中,包括:
[0037]所述自动评估引擎根据所述安全知识库的映射关系,加载所述移动应用对应的工具扫描项,分配对应的外部扫描工具的扫描接口;
[0038]所述自动评估引擎调用所述扫描接口;
[0039]所述自动评估引擎接收所述外部扫描工具进行扫描的扫描结果。
[0040]在本发明所述的方法中,在依据所述评估标准项与安全风险项的映射关系判断所述扫描的结果是否存在风险并生成评估结果,并将存在风险的评估结果写入预设的数据表的步骤中,包括:
[0041]所述自动评估引擎对所述扫描结果进行包括去除无效结果,格式化结果信息的预分析处理;
[0042]所述自动评估引擎启动评估结果分析线程对所述扫描结果进行分析,依据所述评估标准项与安全风险项的映射关系判断所述扫描的结果是否存在风险;
[0043]所述自动评估引擎将存在风险所述评估结果写入数据表,并返回所述移动应用的评估结果。
[0044]在本发明所述的方法中,在调用数据表所存储的评估结果,生成应用安全风险评估报告的步骤中,包括:
[0045]所述自动评估引擎向自动报告引擎请求生成移动应用的安全风险评估报告;
[0046]所述自动报告引擎根据所述请求从所述数据表中加载所述移动应用的评估结果, 向所述自动评估引擎返回响应消息;
[0047]所述自动报告引擎调用word报告模板,根据所加载的评估结果生成移动应用的 word版本安全风险评估报告;
[0048]所述自动报告引擎调用xml报告模板,根据所加载的评估结果生成移动应用的 xml版本安全风险评估报告;
[0049]所述自动报告引擎向所述自动评估引擎返回word报告和xml报告的生成状态;
[0050]所述自动报告引擎分发已生成的报告。
[0051]另一方面,提供一种移动应用的安全风险评估系统,包括:
[0052]安全知识库,用于建立移动应用对应的评估标准项、安全风险项、工具扫描项的映射关系;
[0053]自动评估引擎,用于提交待评估的移动应用,根据所述移动应用的评估级别和预设的评估算法加载对应的评估标准项,依据所述评估标准项与工具扫描项的映射关系调用对应的扫描接口以进行扫描,依据所述评估标准项与安全风险项的映射关系判断所述扫描的结果是否存在风险并生成评估结果,并将存在风险的评估结果写入预设的数据表;
[0054]自动报告引擎,用于调用数据表所存储的评估结果,生成应用安全风险评估报告。
[0055]在本发明所述的系统中,所述自动评估引擎包括评估接口及报告接口,所述评估接口用于连接至所述安全知识库,所述报告接口用于连接至所述自动报告引擎。
[0056]因此,本发明的有益效果是,统一了移动应用安全评估标准项、安全风险项、工具扫描项,避免了移动应用安全风险评估对评估者和评估工具的依赖;实现了对移动应用安全风险评估的全自动化的流程处理,极大提升了评估的效率,缩短了评估周期,降低了评估成本;实现了对移动应用安全风险评估报告生成的自动化管理,统一了报告的格式,缩短了报告生成时间,降低了报告生成复杂度。【附图说明】
[0057]下面将结合附图及实施例对本发明作进一步说明,附图中:
[0058]图1为本发明提供的一种移动应用的安全风险评估方法流程图;
[0059]图2为本发明提供的建立映射关系的流程图;
[0060]图3为本发明提供的评估安全风险的流程图;
[0061]图4为本发明提供的生成报告的流程图;
[0062]图5为本发明提供的一种移动应用的安全风险评估系统的方框示意图。【具体实施方式】
[0063] 为了对本发明的技术特征、目的和效果有更加清楚的理解,以下将对照附图详细说明本发明的【具体实施方式】。应当理解,以下说明仅为本发明实施例的具体阐述,不应以此限制本发明的保护范围。
[0064]本发明提供一种移动应用的安全风险评估方法及系统,其目的在于,为了提高移动互联网应用安全,全面评估移动应用安全风险,保证用户使用应用安全,避免恶意应用侵害市场,提升应用评估效率,通过设计安全评估标准项、安全风险项、自动评估引擎2、自动报告引起3,实现对移动应用的安全风险快速有效的评估。
[0065]参见图1,图1为本发明提供的一种移动应用的安全风险评估方法流程图,该安全风险评估方法包括以下步骤:
[0066] S1、建立移动应用对应的评估标准项、安全风险项、工具扫描项的映射关系;参见图2,图2为本发明提供的建立映射关系的流程图,即该步骤S1包括以下子步骤:
[0067]S11、向安全知识库1录入所述移动应用的所述评估标准项;返回录入结果。例如, 由用户(一般为评估专家或安全专家)录入移动应用的评估标准项。
[0068] S12、向所述安全知识库1录入所述移动应用的所述安全风险项;返回录入结果。 例如,安全专家录入移动应用安全风险项。
[0069] S13、将所述移动应用的外部扫描工具的扫描接口组成扫描指标,向所述安全知识库1录入所述工具扫描项;返回录入结果。例如,安全专家将各类移动应用安全扫描工具的扫描项整理成扫描指标,录入工具扫描指标项。其中,步骤S11、S12、S13可同时也可不同时进行。
[0070] S14、设置评估标准项、安全风险项、工具扫描项的映射关系。返回设置结果。例如, 安全专家根据评估标准项、安全风险项、工具扫描项的关系,在系统设置对应的关联映射关系。
[0071] S2、提交待评估的移动应用,根据所述移动应用的评估级别和预设的评估算法加载对应的评估标准项,依据所述评估标准项与工具扫描项的映射关系调用对应的扫描接口以进行扫描,依据所述评估标准项与安全风险项的映射关系判断所述扫描的结果是否存在风险并生成评估结果,并将存在风险的评估结果写入预设的数据表;参见图3,图3为本发明提供的评估安全风险的流程图,即该步骤S2包括以下子步骤:
[0072]S201、向自动评估引擎2提交所述移动应用的安装包,请求对所述移动应用进行安全风险评估;例如,安全专家向系统提交移动应用APK包,请求对移动应用进行安全风险评估。
[0073]S202、所述自动评估引擎2接收所述请求,调用其内置的工具验证所述安装包是否合法;例如,自动评估引擎2接收请求,调用内置工具解析验证APK包是否合法。
[0074]S203、若所述安装包合法,则提取所述安装包的程序样本。例如,自动评估引擎2 提取验证合法的APK程序样本。
[0075]S204、所述自动评估引擎2根据所述移动应用的评估级别加载对应的评估标准项。例如,自动评估引擎2根据安全专家提交的评估级别,自动加载该移动应用对应的评估标准项。
[0076]S205、所述自动评估引擎2根据所述安全知识库1的映射关系,加载所述移动应用对应的工具扫描项,分配对应的外部扫描工具的扫描接口;例如,自动评估引擎2分析需要评估的标准项,根据安全知识库1的映射关系,自动加载每个评估项对应的工具扫描项,并分配调用工具扫描接口的执行顺序。
[0077]S206、所述自动评估引擎2调用所述扫描接口;例如,自动评估引擎2调用外部的扫描工具的扫描接口。
[0078]S207、所述自动评估引擎2接收所述外部扫描工具进行扫描的扫描结果。例如,自动评估引擎2接收外部扫描工具执行扫描接口的扫描结果。
[0079]S208、所述自动评估引擎2对所述扫描结果进行包括去除无效结果,格式化结果信息的预分析处理;例如,自动评估引擎2对扫描结果做预分析处理,包括去除无效结果, 格式化结果信息,判断是否重新调用扫描接口,并向安全专家返回评估标准项的自动处理状态。
[0080]S209、所述自动评估引擎2启动评估结果分析线程对所述扫描结果进行分析,依据所述评估标准项与安全风险项的映射关系判断所述扫描的结果是否存在风险;例如,自动评估引擎2启动评估结果分析线程,并行对每个评估项的扫描结果进行分析,根据预设的分析规则判断评估标准项是否存在风险。
[0081]S210、所述自动评估引擎2将存在风险所述评估结果写入数据表,并返回所述移动应用的评估结果。例如,自动评估引擎2将每一个评估标准项的评估结果写入数据表,向安全专家返回每个评估标准项的最终评估结果。
[0082]S3、调用数据表所存储的评估结果,生成应用安全风险评估报告。参见图4,图4为本发明提供的生成报告的流程图,即该步骤S3包括以下子步骤:
[0083]S31、所述自动评估引擎2向自动报告引起3请求生成移动应用的安全风险评估报告;例如,自动评估引擎2调用评估报告生成接口,向自动报告引起3请求生成移动应用的安全风险评估报告。
[0084]S32、所述自动报告引起3根据所述请求从所述数据表中加载所述移动应用的评估结果,向所述自动评估引擎2返回响应消息;例如,自动报告引起3根据请求条件从数据库加载应用的评估结果数据,向自动评估引擎2返回响应消息。
[0085]S33、所述自动报告引起3调用word报告模板,根据所加载的评估结果生成移动应用的word版本安全风险评估报告。
[0086]S34、所述自动报告引起3调用xml报告模板,根据所加载的评估结果生成移动应用的xml版本安全风险评估报告;其中,步骤S33和S34可同时也可不同时进行。
[0087]S35、所述自动报告引起3向所述自动评估引擎2返回word报告和xml报告的生成状态。
[0088]S36、所述自动报告引起3分发已生成的报告。例如,自动报告引起3调用报告分发接口,自动分发已生成的报告。
[0089]综上,本方法要解决的问题有三个:
[0090]1、通过建设安全知识库1,解决统一评估标准项、应用风险项、工具扫描项以及各知识项间关联映射问题;
[0091]2、通过自动评估引擎2,实现移动应用安全风险自动评估,解决批量评估、并行评估效率低下问题;
[0092]3、通过自动报告引起3,实现移动应用安全风险评估报告自动生成、自动分发,解决报告格式不一致、与第三方系统交互不及时问题。
[0093]参见图5,图5为本发明提供的一种移动应用的安全风险评估系统100的方框示意图,该安全风险评估系统100包括:
[0094]安全知识库1,用于建立移动应用对应的评估标准项、安全风险项、工具扫描项的映射关系;
[0095]自动评估引擎2,用于提交待评估的移动应用,根据所述移动应用的评估级别和预设的评估算法加载对应的评估标准项,依据所述评估标准项与工具扫描项的映射关系调用对应的扫描接口以进行扫描,依据所述评估标准项与安全风险项的映射关系判断所述扫描的结果是否存在风险并生成评估结果,并将存在风险的评估结果写入预设的数据表;所述自动评估引擎2包括评估接口及报告接口,所述评估接口用于连接至所述安全知识库1,所述报告接口用于连接至所述自动报告引起3。
[0096]自动报告引起3,用于调用数据表所存储的评估结果,生成应用安全风险评估报告。
[0097]该系统100通过安全知识库1实现对移动应用的评估标准项、安全风险项、工具扫描项的统一管理和各项之间的关系映射设置,为自动评估引擎2提供基础数据关系和分析依据;自动评估引擎2根据移动应用的评估级别和系统内置算法,自动加载需要评估的标准项,根据评估标准项和工具扫描项的映射关系,系统自动调用相关工具的扫描接口,并对扫描结果进行分析判断,根据评估标准项和安全风险项的映射关系自动判断评估结果是否存在风险,若存在,系统自动加载安全风险项,并把评估结果写入对应的数据表,调用自动报告引起3,生成应用安全风险评估报告。
[0098]该系统具有以下有益效果:
[0099]1、通过安全知识库1模式,统一了移动应用安全评估标准项、安全风险项、工具扫描项,避免了移动应用安全风险评估对评估者和评估工具的依赖;即实现对移动应用安全评估标准项、安全风险项、工具扫描项及三者映射关系的统一管理和统一配置。
[0100]2、通过自动评估引擎2,实现了对移动应用安全风险评估的全自动化的流程处理, 极大提升了评估的效率,缩短了评估周期,降低了评估成本;即实现对移动应用安全风险评估自动化的方法。
[0101]3、通过自动报告引起3,实现了对移动应用安全风险评估报告生成的自动化管理, 统一了报告的格式,缩短了报告生成时间,降低了报告生成复杂度;即实现对移动应用安全风险评估报告自动生成、自动分发的方法,实现对移动应用安全风险评估整体流程自动化的方法。
[0102]4、通过报告自动分发接口,实现了与第三方系统的无缝对接,提升了与外部系统的交互性。
[0103]本发明虽然以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保护范围应当以本发明权利要求所界定的范围为准。
【主权项】
1.一种移动应用的安全风险评估方法,其特征在于,包括:建立移动应用对应的评估标准项、安全风险项、工具扫描项的映射关系;提交待评估的移动应用,根据所述移动应用的评估级别和预设的评估算法加载对应的 评估标准项,依据所述评估标准项与工具扫描项的映射关系调用对应的扫描接口以进行扫 描,依据所述评估标准项与安全风险项的映射关系判断所述扫描的结果是否存在风险并生 成评估结果,并将存在风险的评估结果写入预设的数据表;调用数据表所存储的评估结果,生成应用安全风险评估报告。2.根据权利要求1所述的方法,其特征在于,在建立移动应用对应的评估标准项、安全 风险项、工具扫描项的映射关系的步骤中,包括:向安全知识库录入所述移动应用的所述评估标准项;向所述安全知识库录入所述移动应用的所述安全风险项;将所述移动应用的外部扫描工具的扫描接口组成扫描指标,向所述安全知识库录入所 述工具扫描项;设置评估标准项、安全风险项、工具扫描项的映射关系。3.根据权利要求2所述的方法,其特征在于,在向安全知识库录入所述移动应用的所 述评估标准项的步骤中,还包括,返回录入结果;在向安全知识库录入所述移动应用的所述安全风险项的步骤中,还包括,返回录入结 果;在将所述移动应用的外部扫描工具的扫描接口组成扫描指标,向安全知识库录入所述 工具扫描项的步骤中,还包括,返回录入结果;在设置评估标准项、安全风险项、工具扫描项的映射关系的步骤中,好包括,返回设置结果。4.根据权利要求2所述的方法,其特征在于,在提交待评估的移动应用的步骤中,包 括:向自动评估引擎提交所述移动应用的安装包,请求对所述移动应用进行安全风险评 估;所述自动评估引擎接收所述请求,调用其内置的工具验证所述安装包是否合法;若所述安装包合法,则提取所述安装包的程序样本。5.根据权利要求4所述的方法,其特征在于,在根据所述移动应用的评估级别加载对 应的评估标准项的步骤中,包括:所述自动评估引擎根据所述移动应用的评估级别加载对应的评估标准项。6.根据权利要求5所述的方法,其特征在于,在依据所述评估标准项与工具扫描项的 映射关系调用对应的扫描接口以进行扫描的步骤中,包括:所述自动评估引擎根据所述安全知识库的映射关系,加载所述移动应用对应的工具扫 描项,分配对应的外部扫描工具的扫描接口;所述自动评估引擎调用所述扫描接口;所述自动评估引擎接收所述外部扫描工具进行扫描的扫描结果。7.根据权利要求6所述的方法,其特征在于,在依据所述评估标准项与安全风险项的 映射关系判断所述扫描的结果是否存在风险并生成评估结果,并将存在风险的评估结果写入预设的数据表的步骤中,包括:所述自动评估引擎对所述扫描结果进行包括去除无效结果,格式化结果信息的预分析 处理;所述自动评估引擎启动评估结果分析线程对所述扫描结果进行分析,依据所述评估标 准项与安全风险项的映射关系判断所述扫描的结果是否存在风险;所述自动评估引擎将存在风险所述评估结果写入数据表,并返回所述移动应用的评估结果。8.根据权利要求7所述的方法,其特征在于,在调用数据表所存储的评估结果,生成应 用安全风险评估报告的步骤中,包括:所述自动评估引擎向自动报告引擎请求生成移动应用的安全风险评估报告;所述自动报告引擎根据所述请求从所述数据表中加载所述移动应用的评估结果,向所 述自动评估引擎返回响应消息;所述自动报告引擎调用word报告模板,根据所加载的评估结果生成移动应用的word 版本安全风险评估报告;所述自动报告引擎调用xml报告模板,根据所加载的评估结果生成移动应用的xml版 本安全风险评估报告;所述自动报告引擎向所述自动评估引擎返回word报告和xml报告的生成状态;所述自动报告引擎分发已生成的报告。9.一种移动应用的安全风险评估系统,其特征在于,包括:安全知识库,用于建立移动应用对应的评估标准项、安全风险项、工具扫描项的映射关 系;自动评估引擎,用于提交待评估的移动应用,根据所述移动应用的评估级别和预设的 评估算法加载对应的评估标准项,依据所述评估标准项与工具扫描项的映射关系调用对应 的扫描接口以进行扫描,依据所述评估标准项与安全风险项的映射关系判断所述扫描的结 果是否存在风险并生成评估结果,并将存在风险的评估结果写入预设的数据表;自动报告引擎,用于调用数据表所存储的评估结果,生成应用安全风险评估报告。10.根据权利要求9所述的系统,其特征在于,所述自动评估引擎包括评估接口及报告 接口,所述评估接口用于连接至所述安全知识库,所述报告接口用于连接至所述自动报告 引擎。
【文档编号】G06F21/57GK105989291SQ201510063247
【公开日】2016年10月5日
【申请日】2015年2月6日
【发明人】汪亚军
【申请人】卓望数码技术(深圳)有限公司