应用程序的风险问题确定方法、装置及存储介质制造方法及图纸

技术编号:28216840 阅读:18 留言:0更新日期:2021-04-28 09:30
本申请公开了一种应用程序的风险问题确定方法、装置及存储介质,所述方法包括:获取目标应用程序对应的二进制文件;对所述二进制文件进行反编译,得到汇编指令集;将汇编指令集转换成伪代码文件;通过预设风险模型扫描所述伪代码文件,确定所述伪代码文件对应的目标规则的标识信息;所述预设风险模型基于样本应用程序及其对应的风险问题确定的多条规则构建得到,每条规则包括至少一个风险特征;基于所述目标规则的标识信息,确定所述目标应用程序的风险问题。采用本申请的技术方案,可以实现全面、准确地检测所有应用程序存在的风险问题。题。题。

【技术实现步骤摘要】
应用程序的风险问题确定方法、装置及存储介质


[0001]本申请涉及互联网安全
,尤其涉及一种应用程序的风险问题确定方法、装置及存储介质。

技术介绍

[0002]对于游戏项目而言,代码质量直接决定了游戏的稳定性、可靠性,以及游戏是否可以长线运营。而对游戏客户端、服务器进行代码扫描检测可以评估其代码质量和运营风险。但是对于绝大部分代理项目,源代码是高度机密信息,因此对这类项目直接进行源代码层级的扫描方案不可行。
[0003]现有技术中,通过修改配置文件或者向服务器发送异常数据,校验服务器bin文件等可执行文件的协议数据处理或者配置文件读取相关代码是否存在风险;这种方案只能校验处理协议数据、读取配置文件数据的相关函数,对游戏逻辑、数据库读写等模块的代码无法做到风险检测。
[0004]因此,有必要提供一种应用程序的风险问题确定方法、装置及存储介质,实现全面、准确地检测所有应用程序存在的风险问题。

技术实现思路

[0005]本申请提供了一种应用程序的风险问题确定方法、装置及存储介质,可以全面、准确地检测所有应用程序存在的风险问题。
[0006]一方面,本申请提供了一种应用程序的风险问题确定方法,所述方法包括:
[0007]获取目标应用程序对应的二进制文件;
[0008]对所述二进制文件进行反编译,得到汇编指令集;
[0009]将所述汇编指令集转换成伪代码文件;
[0010]通过预设风险模型扫描所述伪代码文件,确定所述伪代码文件对应的目标规则的标识信息;所述预设风险模型基于样本应用程序及其对应的风险问题确定的多条规则构建得到,每条规则包括至少一个风险特征;
[0011]基于所述目标规则的标识信息,确定所述目标应用程序的风险问题。
[0012]另一方面提供了一种应用程序的风险问题确定装置,所述装置包括:
[0013]二进制文件获取模块,用于获取目标应用程序对应的二进制文件;
[0014]汇编指令集确定模块,用于对所述二进制文件进行反编译,得到汇编指令集;
[0015]伪代码文件确定模块,用于将所述汇编指令集转换成伪代码文件;
[0016]目标规则的标识信息确定模块,用于通过预设风险模型扫描所述伪代码文件,确定所述伪代码文件对应的目标规则的标识信息;所述预设风险模型基于样本应用程序及其对应的风险问题确定的多条规则构建得到,每条规则包括至少一个风险特征;
[0017]风险问题确定模块,用于基于所述目标规则的标识信息,确定所述目标应用程序的风险问题。
[0018]另一方面提供了一种应用程序的风险问题确定设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上所述的应用程序的风险问题确定方法。
[0019]另一方面提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上所述的应用程序的风险问题确定方法。
[0020]本申请提供的应用程序的风险问题确定方法、装置及存储介质,具有如下技术效果:
[0021](1)扫描文件类型覆盖面广:扫描装置可以在无源码的情况下直接对各类C++编译产出的客户端、服务器文件进行反编译扫描,在避免代码泄露情况下进行风险预警。
[0022](2)部署、使用便捷:可以直接在windows/linux环境下进行扫描,也可以部署或集成在工具平台进行使用。
[0023](3)检测风险类型较为全面:可以检测出包括空指针、业务逻辑缺陷等多类影响游戏业务逻辑或者可能直接导致宕机的风险问题类型。
[0024](4)定位精准:预警出的风险问题可以定位到源码文件路径以及行号,便于项目组程序排查问题。
附图说明
[0025]为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
[0026]图1是本申请实施例提供的一种应用程序的风险问题确定系统的示意图;
[0027]图2是本申请实施例提供的一种应用程序的风险问题确定方法的流程示意图;
[0028]图3是本申请实施例提供的一种确定所述伪代码文件对应的目标规则的标识信息的方法的流程示意图;
[0029]图4是本申请实施例提供的一种确定第一风险特征的方法的流程示意图;
[0030]图5是本申请实施例提供的另一种确定第一风险特征的方法的流程示意图;
[0031]图6是本申请实施例提供的一种目标特征集的确定方法的流程示意图;
[0032]图7是本申请实施例提供的另一种目标特征集的确定方法的流程示意图;
[0033]图8是本申请实施例提供的应用程序的风险问题的一种展示示意图;
[0034]图9是本申请实施例提供的一种风险问题对应的源代码文件路径及行号的展示示意图;
[0035]图10是本申请实施例提供的一种应用程序的风险问题确定装置的结构示意图;
[0036]图11是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
[0037]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完
整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0038]需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0039]请参阅图1,图1是本申请实施例提供的一种应用程序的风险问题确定系统的示意图,如图1所示,该系统可以至少包括服务器01和客户端02。
[0040]具体的,本说明书实施例中,所述服务器01可以包括一个独立运行的服务器,或者分布式服务器,或者由多个服务器组成的服务器集群。服务器01可以包括有网络通信单元、处理器和存储器等等。具体的,所述服务器01可以用于基于应用程序的二进制文件,确定应用程序的风险问题。
[0041]具体的,本说明书实施本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用程序的风险问题确定方法,其特征在于,所述方法包括:获取目标应用程序对应的二进制文件;对所述二进制文件进行反编译,得到汇编指令集;将所述汇编指令集转换成伪代码文件;通过预设风险模型扫描所述伪代码文件,确定所述伪代码文件对应的目标规则的标识信息;所述预设风险模型基于样本应用程序及其对应的风险问题确定的多条规则构建得到,每条规则包括至少一个风险特征;基于所述目标规则的标识信息,确定所述目标应用程序的风险问题。2.根据权利要求1所述的方法,其特征在于,所述预设风险模型包括预设风险特征库,所述通过预设风险模型扫描所述伪代码文件,确定所述伪代码文件对应的目标规则的标识信息包括:基于所述预设风险特征库,确定所述伪代码文件的第一风险特征;确定所述第一风险特征对应的至少一条规则的标识信息;基于每条规则的标识信息,确定每条规则中的第二风险特征集;当所述伪代码文件中存在与任一第二风险特征集匹配的目标特征集时,确定匹配的第二风险特征集对应的目标规则的标识信息。3.根据权利要求2所述的方法,其特征在于,所述基于所述预设风险特征库,确定所述伪代码文件的第一风险特征的步骤之前,所述方法还包括:将所述伪代码文件按照语法结构分解成多个特征,得到分解特征集。4.根据权利要求3所述的方法,其特征在于,所述基于所述预设风险特征库,确定所述伪代码文件的第一风险特征包括:基于所述预设风险特征库与所述分解特征集,确定所述分解特征集与所述预设风险特征库的交集特征集;将所述交集特征集中任一特征确定为所述伪代码文件的第一风险特征;相应的,所述当所述伪代码文件中存在与任一第二风险特征集匹配的目标特征集时,确定匹配的第二风险特征集对应的目标规则的标识信息的步骤之前,所述方法还包括:基于所述第一风险特征,从所述交集特征集中查找与任一第二风险特征集匹配的目标特征,得到目标特征集。5.根据权利要求3所述的方法,其特征在于,所述将所述伪代码文件按照语法结构分解成多个特征,得到分解特征集的步骤之后,所述方法还包括:基于所述分解特征集,构建特征双链表;相应的,所述基于所述预设风险特征库,确定所述伪代码文件的第一风险特征包括:基于所述预设风险特征库,将所述分解特征集中任一风险特征确定为所述伪代码文件的第一风险特征;相应的,所述当所述伪代码文件中存在与任一第二风险特征集匹配的目标特征集时,确定匹配的第二风险特征集对应的目标规则的标识信息的步骤之前,所述方法还包括:基于所述第一风险特征,从所述特征双链表中查找与任一第二风险特征集匹配的目标特征,得到目标特征集。6.根据权利要求1所述的方法,其特征在于,所述基于所述目标规则的标识信息,确定
所述目标应用程序的风险问题包括:从预设标识风险问题库查找与所述目标规则的标识信息相对应的风险问题,所述预设标识风险问题库包括规则的标识信息与风险问题的映射关系;将与所述目标规则的标识信息相对应的风险问题作为所述目标应用程序的风险问题。7.根据权利要求2所述的方法,其特征在于,所述方法还包括:基于所述第一风险特征与所述目标特征集,确定所述目标应用程序的风险问题对应的函数和伪代码行号;基于所述目标应用程序的风险问题对应的伪代码行号,确定所述目标应用程序的风险问题对应的汇编指令行地址;向所述目标应用程序对应的处理器发送所述目标应用程序的风险问题对应的汇编指令行地址,以使所述处理器确定所述目标应用程序的风险问题对应的源代码文件路径和源代码行号。8.一种应用程序的风险问题确定装置,其特征在于,所述装置包括:二进制文件获取模块,用于获取目标应用程...

【专利技术属性】
技术研发人员:王烨坤袁明凯罗章龙黄斌严明
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1