应用程序审计的数据处理方法、装置和系统的制作方法

文档序号:9523967阅读:389来源:国知局
应用程序审计的数据处理方法、装置和系统的制作方法
【技术领域】
[0001] 本发明涉及数据处理领域,具体而言,涉及一种应用程序审计的数据处理方法、装 置和系统。
【背景技术】
[0002] 静态审计是在不运行应用程序的情况下对程序实现进行检查的方法,类型检查、 代码风格检查、Bug查找和安全审查等都可通过静态审计实现。静态审计由于采用特征或 模式匹配进行检查,存在误报和漏报。误报结果显示在静态审计结果报告中,对静态审计结 果报告造成干扰,不方便对静态审计结果报告的查看,导致静态审计系统的用户体验较差。 为了提升用户体验,在静态审计系统运营过程,通常会对确认是误报的审计结果报告的内 容进行白名单处理,使误报的内容不再出现在审计报告中。
[0003] 针对静态审计报告中存在误报的内容,现有的白名单方案是根据审计结果内容的 特征进行字符串匹配,符合特征的审计结果直接被过滤,即确定该审计结果为误报。例如若 审计结果内容包括类型、所在源文件和具体代码内容,白名单规则也包括类型,源文件和代 码文本内容,只有符合白名单规则的审计结果才会被过滤。然而,此时白名单方案具有较大 的局限性,当白名单规则设置较严格时,若被审计的具体代码内容中一个变量名或方法名 被更改,该白名单规则即不凑效。若被审计的具体代码经过混淆处理,源文件名和变量名会 因为混淆设置不同而改变,送种情况下,无法使用一个通用的白名单规则对误报的审计结 果进行过滤;当白名单规则设置较宽松时,可能导致某些非误报的审计结果被错误过滤,导 致现有的白名单方案对过滤误报不准确,从而带来安全隐患。
[0004] 针对现有技术中滤除审计结果中的误报结果不准确的问题,目前尚未提出有效的 解决方案。

【发明内容】

[0005] 本发明实施例提供了一种应用程序审计的数据处理方法、装置和系统,W至少解 决现有技术中滤除审计结果中的误报结果不准确的问题。
[0006] 根据本发明实施例的一个方面,提供了一种应用程序审计的数据处理方法,该方 法包括:获取对应用程序进行静态审计的原始审计结果;获取预设注释信息,其中,所述预 设注释信息为表征所述原始审计结果为误报的信息;通过所述预设注释信息对所述原始审 计结果对应的应用程序的源代码进行注释;滤除带有所述预设注释信息的源代码对应的审 计结果,得到非误报审计结果;W及输出所述非误报审计结果。
[0007] 根据本发明实施例的另一方面,还提供了一种应用程序审计的数据处理装置,该 装置包括:第一获取单元,用于获取对应用程序进行静态审计的原始审计结果;第二获取 单元,用于获取预设注释信息,其中,所述预设注释信息为表征所述原始审计结果为误报的 信息;注释单元,用于通过所述预设注释信息对所述原始审计结果对应的应用程序的源代 码进行注释;滤除单元,用于滤除带有所述预设注释信息的源代码对应的审计结果,得到非 误报审计结果;w及输出单元,用于输出所述非误报审计结果。
[0008] 根据本发明实施例的又一方面,还提供了一种应用程序审计的数据处理系统,该 系统包括;注释添加模块,用于存储预设注释信息,并通过所述预设注释信息对原始审计结 果对应的应用程序的代码进行注释;静态审计系统,用于对注释后的应用程序进行静态审 计,得到审计结果;W及误报结果过滤模块,用于滤除审计结果中带有所述预设注释信息的 源代码对应的审计结果。
[0009] 在本发明实施例中,采用获取对应用程序进行静态审计的原始审计结果;获取预 设注释信息,其中,预设注释信息为表征原始审计结果为误报的信息;通过预设注释信息对 原始审计结果对应的应用程序的源代码进行注释;滤除带有预设注释信息的源代码对应的 审计结果,得到非误报审计结果;W及输出非误报审计结果,由于预设注释信息仅仅是作为 应用程序的源代码的注释,并不是应用程序本身的一部分,因此,即使应用程序的源代码经 过混淆处理、某个变量名更改或者方法名更改,并不会修改预设注释信息,该预设注释信息 依然能够表征该注释范围内的源代码对应的审计结果为误报的结果,即滤除带有预设注释 信息的源代码对应的审计结果不依赖于应用程序本身,从而解决了现有技术中滤除审计结 果中的误报结果不准确的技术问题,进而实现了提高滤除审计结果中的误报结果的技术效 果。
【附图说明】
[0010] 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0011] 图1所示为一种计算机的结构框图;
[0012] 图2是根据本发明实施例的应用程序审计的数据处理方法的流程图;
[0013] 图3是根据本发明实施例的应用程序审计的数据处理方法的模块流程图;
[0014] 图4是根据本发明实施例的应用程序审计的数据处理方法中得到非误报审计结 果的流程图;
[0015] 图5是根据本发明实施例的应用程序审计的数据处理方法中判断二次审计结果 中的误报的流程图;
[0016] 图6是根据本发明实施例的应用程序审计的数据处理装置的示意图;
[0017] 图7是根据本发明实施例的应用程序审计的数据处理装置中滤除单元的示意图;
[0018] 图8是根据本发明实施例的应用程序审计的数据处理装置中判断模块的示意图;
[0019] 图9是根据本发明实施例的应用程序审计的数据处理系统的示意图;W及
[0020] 图10是用于实施本发明实施例中应用程序审计的数据处理方法的终端设备的示 意图。
【具体实施方式】
[0021] 为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的 附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是 本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术 人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范 围。
[0022] 需要说明的是,本发明的说明书和权利要求书及上述附图中的术语"第一"、"第 二"等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解送样使用 的数据在适当情况下可W互换,W便送里描述的本发明的实施例能够W除了在送里图示或 描述的郝些W外的顺序实施。此外,术语"包括"和"具有"W及他们的任何变形,意图在于 覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限 于清楚地列出的郝些步骤或单元,而是可包括没有清楚地列出的或对于送些过程、方法、产 品或设备固有的其它步骤或单元。
[0023] 技术术语解释
[0024]Java;是一种可W撰写跨平台应用软件的面向对象程序设计语言,于1995年推 出,在编程语言家族中流行度排名第二,仅次于C语言,尤其在Amlroid平台推出后,Java语 言被广泛用于编写An化oid应用程序,越来越多开发者使用化va进行程序开发。
[00巧]Annotation;是化va编程语言中的一种语法元数据形式,用于自定义语法注释接 口,对化va源代码进行注释。
[0026]SDK;指SoftwareDevelopmentKit,软件开发工具包,是开发者用于为特定的软件 包、软件框架或通用功能模块等建立的应用软件的开发工具或开发接口的集合。
[0027] 黑名单:是一个已知的恶意数据的集合,符合黑名单规则或位于黑名单集合中的 数据被认为是非法的,将被应用程序拒绝通过;
[0028] 白名单:指一个数据集合或满足某种特征的数据集合,位于白名单集合中的数据 被认为是合法的。例如,已经过开发确认不存在安全风险的化va代码片段作为白名单。
[0029] 静态审计;静态审计是在不运行应用程序的情况下对应用程序进行检查的方法, 类型检查、代码风格检查、Bug查找和安全审查等都可通过静态审计实现。静态审计由于采 用特征或模式匹配实现检查,存在误报和漏报,误报结果对静态审计结果报告查看者产生 干扰信息,影响审计系统的体验。在系统运营过程,通常会对确认是误报的审计结果内容进 行白名单处理,使其不再出现在审计报告中。
[0030] 由于黑名单方法选择性地拒绝或逃避潜在的危险输入值,拒绝已知的恶意数据, 对于未知的恶意数据无法排除,因此黑名单规则一般是不完善的;白名单方法定义已知的 合法值的特征模式,通常使用正则表达式说明白名单的规则,符合白名单规则的输入数据 将通过检查,不符合则拒绝不合法的数据。因此在系统运营过程中,白名单规则相对于黑名 单规则更有利于应用程序的安全。
[00引]实施例1
[0032] 根据本发明实施例,提供了一种应用程序审计的数据处理方法。该应用程序审计 的数据处理方法可由计算机或者类似的运算装置执行。图1所示为一种计算机的结构框 图。如图1所示,计算机100包括一个或多个(图中仅示出一个)处理器102、存储器104 W及传输模块106。本领域普通技术人员可W理解,图1所示的结构仅为示意,其并不对上 述电子装置的结构造成限定。例如,计算机100还可包括比图1中所示更多或者更少的组 件,或者具有与图1所示不同的配置。
[0033] 存储器104可用于存储软件程序W及模块,如本发明实施例中的应用程序审计的 数据处理方法和装置对应的程序指令/模块,处理器102通过运行存储在存储器104内的 软件程序w及模块,从而执行各种功能应用w及数据处理,即实现上述的网页处理方法和 装置。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性 存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括 相对于处理器102远程设置的存储器,送些远程存储器可W通过网络连接至计算机100。上 述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0034] 传输模块106用于经由一个网络接收或者发送数据。上述的网络具体实例可 包括有线网络及无线网络。在一个实例中,传输模块106包括一个网络适配器(Network InterhceController,简称NIC),其可通过网线与其他网络设备与路由器相连从而可与 互联网进行通讯。在一个实例中,传输模块106为W太网模块,其用于通过W太网线方式与 互联网进行通讯。
[0035] 图2是根据本发明实施例的应用程序审计的数据处理方法的流程图。如图所示, 该方法包括:
[0036] 步骤S202,获取对应用程序进行静态审计的原始审计结果。
[0037] 对应用程序进行静态审计能够对应用程序进行类型检查、代码风格检查、bug查找 和安全审查等,W保证应用程序在使用过程中没有错误或者安全漏洞。在对应用程序进行 静态审计之后,输出原始审计结果,但是由于静态审计采用特征或者模式匹配的方法对应 用程序的源代码进行检测,在审计过程中可能存在误报,即将没有缺陷或者漏洞的应用程 序的源代码识别为有缺陷或者漏洞的源代码,输出的原始审计结果中包含误报的内容。
[0038] 步骤S204,获取预设注释信息,其中,预设注释信息为表征原始审计结果为误报的 信息。
[0039] 预设注释信息中包括了注释的接口和格式等,例如,包括注释名称、注释作用的语 法结构类型(类或方法等)W及注释需要包含的成员变量。如下示例说明了一个Java类 级别的自定义注释JgClass化ecked,即对利用化va语言编写的应用程序进行类级别的注 释。其注释形式为@JgClassQiecke
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1