CN110990249B - 代码扫描结果处理方法、装置、计算机设备及存储介质 - Google Patents
代码扫描结果处理方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN110990249B CN110990249B CN201910964147.5A CN201910964147A CN110990249B CN 110990249 B CN110990249 B CN 110990249B CN 201910964147 A CN201910964147 A CN 201910964147A CN 110990249 B CN110990249 B CN 110990249B
- Authority
- CN
- China
- Prior art keywords
- data
- vulnerability
- code
- scanning
- result
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 32
- 238000012545 processing Methods 0.000 claims abstract description 58
- 238000012795 verification Methods 0.000 claims abstract description 42
- 238000000034 method Methods 0.000 claims abstract description 24
- 230000032683 aging Effects 0.000 claims abstract description 12
- 238000013139 quantization Methods 0.000 claims description 37
- 238000004364 calculation method Methods 0.000 claims description 15
- 238000012550 audit Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 14
- 238000011002 quantification Methods 0.000 claims description 7
- 238000004445 quantitative analysis Methods 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 claims description 5
- 230000010354 integration Effects 0.000 claims description 4
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims description 2
- 230000018109 developmental process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000011161 development Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000007547 defect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000007619 statistical method Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012038 vulnerability analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种代码扫描结果处理方法、装置、计算机设备及存储介质,所述方法包括:采用定时任务的方式拉取报告管理中心的系统扫描数据,系统扫描数据包括版本数据和漏洞数据;对版本数据进行时效校验,获取校验结果;若校验结果为校验通过,则获取与版本数据对应的漏洞数据;对漏洞数据进行量化分析,计算得到漏洞数据的风险系数;若风险系数小于或者等于预设的系数阈值,则使用PORTAL生成系统扫描数据的必要参数;采用代码审计的方式对必要参数进行代码扫描,得到代码扫描处理结果。该代码扫描结果处理方法能够保证对漏洞修复的全面完整性,且提升了代码扫描处理结果处理的效率和安全性。
Description
技术领域
本发明涉及软件测试领域,尤其涉及一种代码扫描结果处理方法、装置、计算机设备及存储介质。
背景技术
随着计算机技术的快速发展,对应的软件开发流程的成熟度也日趋提高。业内软件开发成熟度要求比较高的企业,通常在应用程序开发过程中,会涉及应用一些开发安全的解决方案对代码扫描结果进行检测管理以提高应用程序的安全性。静态源代码扫描是业内用于完成安全开发流程的必要应用安全解决方案之一,指的是在程序员完成源代码编写后,不经过编译器编译,使用扫描工具对源代码进行扫描,以便发现语义缺陷、安全漏洞等。目前商用常用的解决方案有HP公司的Fortfiy、IBM公司的Sonar等解决方案,这些工具大同小异,侧重点会各有不同。
然而,这些代码扫描工具会由于以每月数百甚至上千的系统源代码资产数量的增加影响代码扫描结果处理。主要有以下原因:第一,扫描工具的管理员手动化操作式的扫描接入效率已不能够适应这种大型企业的应用场景。第二,扫描工具的代码扫描结果的统计分析、及监控方面存在局限性,定制化的统计、分析需求已无法满足,从而降低了代码扫描结果处理的效率。
发明内容
本发明实施例提供一种代码扫描结果处理方法、装置、计算机设备及存储介质,以解决代码扫描结果处理效率不高的问题。
一种代码扫描结果处理方法,包括:
采用定时任务的方式拉取报告管理中心的系统扫描数据,所述系统扫描数据包括版本数据和漏洞数据;
对所述版本数据进行时效校验,获取校验结果;
若所述校验结果为校验通过,则获取与所述版本数据对应的漏洞数据;
对所述漏洞数据进行量化分析,计算得到所述漏洞数据的风险系数;
若所述风险系数小于或者等于所述预设的系数阈值,则使用PORTAL生成所述系统扫描数据的必要参数;
采用代码审计的方式对所述必要参数进行代码扫描,得到代码扫描处理结果。
一种代码扫描结果处理装置,包括:
扫描数据获取模块,用于采用定时任务的方式拉取报告管理中心的系统扫描数据,所述系统扫描数据包括版本数据和漏洞数据;
版本检验模块,用于对所述版本数据进行时效校验,获取校验结果;
漏洞数据获取模块,用于若所述校验结果为校验通过,则获取与所述版本数据对应的漏洞数据;
风险系数计算模块,用于对所述漏洞数据进行量化分析,计算得到所述漏洞数据的风险系数;
扫描参数生成模块,用于若所述风险系数小于或者等于所述预设的系数阈值,则使用PORTAL生成所述系统扫描数据的必要参数;
处理结果获取模块,用于采用代码审计的方式对所述必要参数进行代码扫描,得到代码扫描处理结果。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述代码扫描结果处理方法。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述代码扫描结果处理方法。
上述代码扫描结果处理方法、装置、计算机设备及存储介质中,首先,采用定时任务的方式拉取报告管理中心的系统扫描数据,系统扫描数据包括版本数据和漏洞数据,从而保证了系统扫描数据的完整全面性,同时提高了系统扫描数据的拉取效率;然后,对版本数据进行时效校验,获取校验结果,从而能够过滤掉过时的版本数据对应的代码扫描信息,以便后续提升对代码扫描信息的处理效率;若校验结果为校验通过,则获取与版本数据对应的漏洞数据,以便后续对该漏洞数据进行进一步地处理;接着,对漏洞数据进行量化分析,计算得到漏洞数据的风险系数,更加明确了不同的漏洞数据的风险,以便后续基于风险系数的大小对漏洞数据进行处理;若风险系数小于或者等于预设的系数阈值,则使用PORTAL生成系统扫描数据的必要参数,以便帮助安全人员更好的实施SDLC安全开发流程,进一步帮助企业提升安全性;最后,采用代码审计的方式对必要参数进行代码扫描,得到代码扫描处理结果,从而保证了对漏洞修复的全面完整性,提升了代码扫描处理结果处理的效率和安全性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的代码扫描结果处理方法的应用环境示意图;
图2是本发明实施例提供的代码扫描结果处理方法一示例图;
图3是本发明实施例提供的代码扫描结果处理方法的另一示例图;
图4是本发明实施例提供的代码扫描结果处理方法的另一示例图;
图5是本发明实施例提供的代码扫描结果处理方法的另一示例图;
图6是本发明实施例提供的代码扫描结果处理装置的一原理框图;
图7是本发明实施例提供的代码扫描结果处理装置的另一原理框图;
图8是本发明实施例提供的计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请提供的代码扫描结果处理方法,可应用在如图1的应用环境中,其中,客户端通过网络与服务端进行通信,服务端采用定时任务的方式拉取报告管理中心的系统扫描数据,系统扫描数据包括版本数据和漏洞数据,然后对版本数据进行时效校验,获取校验结果;若校验结果为校验通过,则获取与版本数据对应的漏洞数据;对漏洞数据进行量化分析,计算得到漏洞数据的风险系数;若风险系数小于或者等于预设的系数阈值,则使用PORTAL生成系统扫描数据的必要参数;采用代码审计的方式对必要参数进行代码扫描,得到代码扫描处理结果。其中,客户端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,以该方法应用于图1中的服务端为例进行说明,包括如下步骤:
S10:采用定时任务的方式拉取报告管理中心的系统扫描数据,系统扫描数据包括版本数据和漏洞数据。
其中,报告管理中心是指由服务端提供的代码扫描报告的存储和展现。系统扫描数据是指报告管理中心存储的用于反映代码扫描结果的信息,如版本信息、漏洞信息、联系人信息等。其中的版本数据是指包含有应用程序的项目代码的版本名称、版本ID和版本时间组成的用于标识应用程序版本的数据,漏洞数据是指反映代码扫描结果中存在的漏洞(bug)信息的数据。具体地,对报告管理中心的扫描版本数据、漏洞数据以定时任务方式按照预设的规则进行拉取,即在给定时间间隔或者给定执行次数自动执行任务,例如批量拉取系统扫描版本高危以上漏洞数据,也即该预设的规则即为漏洞数据满足高危以上的条件。通过客户端安装的扫描引擎对指定的项目代码的区域完成扫描后,其中的扫描引擎是用于将代码扫描引入到自动化测试的应用程序中,对系统扫描数据中的版本数据和漏洞数据进行拉取。进一步地,可以将版本数据和漏洞数据拉取至API集成环境后使用数据库进行存储,其中的API集成环境是指服务端安装的用于管理系统扫描数据的应用程序,且该API集成环境中维护联系人表,以便对版本信息、漏洞信息、联系人信息进行关联,且提高了代码扫描结果统计分析效率。
需要说明的是,本实施例中通过采用定时任务的方式对系统扫描数据进行拉取,从而保证了系统扫描数据的完整全面性,同时提高了系统扫描数据的拉取效率。
S20:对版本数据进行时效校验,获取校验结果。
其中,校验结果是指对版本数据的时效,即是否过时进行的校验,也即时效校验是指判断版本数据中包含的有效时间是否距离当前时间最近,包括校验通过和校验不通过两种校验结果,其中校验通过的校验结果即版本未超时。可以理解地,在应用程序发布版本之前,为了防止由于版本过时失效导致开发人员开发的应用程序出现报错异常等,均需要对每个应用程序的版本数据进行时效校验,示例性地,版本数据A为version-2019.2.1,版本数据B为version-2018.4.1,此时,版本数据B过时,校验结果为未通过,从而能够过滤过时的版本数据对应的代码扫描信息,以便后续提升对代码扫描信息的处理效率。
S30:若校验结果为校验通过,则获取与版本数据对应的漏洞数据。
具体地,可以通过遍历的方式查询与版本数据对应的漏洞数据,由于每一版本数据对应不同的漏洞数据,在版本数据未过时的情形下,提取与版本数据对应的漏洞数据。可以理解地,不同的版本数据下的代码扫描结果中的漏洞数据不同,因此,提取版本数据未过时下的漏洞数据,以便后续对该漏洞数据进行进一步地处理。
S40:对漏洞数据进行量化分析,计算得到漏洞数据的风险系数。
其中,量化分析是指对漏洞数据中的漏洞因素用具体的数据来表示以达到分析比较的目的。可以理解地,漏洞数据包括漏洞数量、漏洞类型、漏洞等级、未修复漏洞数、修复率。漏洞类型是指漏洞按类型不同的分类,如权限控制缺失漏洞、代码执行漏洞或者程序执行逻辑漏洞等。其中的修复率是指已修复漏洞数量除以该版本最初发现漏洞数的百分比。风险系数是指表征漏洞数据的风险等级的指标,风险系数越大,表明该漏洞数据风险等级越高。具体地,确定各个漏洞数据的漏洞类型,计算各个漏洞类型下的漏洞数据的占比可以得到漏洞类型分布从而帮助开发人员分析该系统的脆弱点。进一步地可通过不同维度(漏洞数量、漏洞等级、未修复漏洞数、修复率)的TOP排行、系统版本的高危、严重漏洞趋势数据进行系统的脆弱性分析。将每一占比进行加权计算得到的结果即为漏洞数据的风险系数。可以理解地,通过对漏洞数据进行量化分析,具体地,通过预先设定的量化维度采用加权计算的方法计算漏洞数据的风险系数,使得漏洞数据得到量化,更加明确了不同的漏洞数据的风险,以便后续基于风险系数的大小对漏洞数据进行处理。
S50:若风险系数小于或者等于预设的系数阈值,则使用PORTAL生成系统扫描数据的必要参数。
其中,预设的系数阈值是指预先设定的用于判断系统扫描数据风险界别的临界风险系数的数值,示例性地,该风险系数阈值为10%、15%或者20%等。当漏洞数据的风险系数大于风险系数阈值时,则说明该系统扫描数据存在较大的风险,因此进行风险提示。其中,PORTAL为面向开发人员、安全人员的API集成环境web平台,开发人员可使用PORTAL生成构建扫描任务必要参数,申请扫描权限、新建扫描项目、自动化扫描报告上传token、获取扫描项目projectID等服务。必要参数是指代码扫描程序启动的必要参数,如代码扫描的关键位置、权限参数等。具体地,对系统扫描数据进行配置,PORTAL提供的参数生成工具与代码扫描引擎进行集成,生成构建扫描任务的必要参数。提供服务Portal以便开发人员等角色的用户可快速方便地申请代码扫描权限、报告导出权限、上传权限、组管理等权限。该获取扫描参数的实现过程不需要人工干预,提升了系统源代码接入扫描的速率及扫描覆盖率,以便帮助安全人员更好的实施SDLC安全开发流程,进一步帮助企业提升安全性。
S60:采用代码审计的方式对必要参数进行代码扫描,得到代码扫描处理结果。
其中,代码扫描处理结果是指对系统扫数据处理后的结果,本实施例中的代码扫描处理结果是指对软件代码中的漏洞数据进行扫描修复处理后的结果。代码审计是指一种基于源代码的静态漏洞挖掘方法,用于对代码扫描结果进行管理。具体地,通过必要参数持续跟踪业务系统代码扫描漏洞分布并监控漏洞实时状况,根据漏洞分布定向审计,调用预先集成在代码审计环境的扫描工具对漏洞数据分布进行扫描,提高对漏洞数据修复的覆盖率,从而保证了对漏洞修复的全面完整性,有利于提升代码扫描处理结果处理的效率和安全性。
本实施例中,首先,采用定时任务的方式拉取报告管理中心的系统扫描数据,系统扫描数据包括版本数据和漏洞数据,从而保证了系统扫描数据的完整全面性,同时提高了系统扫描数据的拉取效率;然后,对版本数据进行时效校验,获取校验结果,从而能够过滤掉过时的版本数据对应的代码扫描信息,以便后续提升对代码扫描信息的处理效率;若校验结果为校验通过,则获取与版本数据对应的漏洞数据,以便后续对该漏洞数据进行进一步地处理;接着,对漏洞数据进行量化分析,计算得到漏洞数据的风险系数,更加明确了不同的漏洞数据的风险,以便后续基于风险系数的大小对漏洞数据进行处理;若风险系数小于或者等于预设的系数阈值,则使用PORTAL生成系统扫描数据的必要参数,以便帮助安全人员更好的实施SDLC安全开发流程,进一步帮助企业提升安全性;最后,采用代码审计的方式对必要参数进行代码扫描,得到代码扫描处理结果,从而保证了对漏洞修复的全面完整性,提升了代码扫描处理结果处理的效率和安全性。
在一实施例中,如图3所示,在采用定时任务的方式拉取报告管理中心的系统扫描数据之前,该代码扫描结果处理方法还包括:
S70:获取代码扫描服务端的登录token。
其中,登录token是指登录令牌,可以通过登录token用于判断用户的登录状态。本实施例中的登录token用于获取代码扫描服务端登录状态。具体地,可以通过调用接口的方式获取代码扫描服务端的登录token。
S80:通过登录token判断代码扫描服务端的数据包下载权限。
具体地,通过登录token登录代码扫描服务端后,比较登录token值与数据库中的token值是否一致,若一致,则可以确定代码扫描服务端的数据包下载权限。
S90:若代码扫描服务端具有下载权限,则采用代理的方式下载数据包,并对数据包进行构造,得到系统扫描数据。
具体地,若代码扫描服务端具有下载权限,则采用代理的方式下载数据包,即通过反射包下的invocationHandler接口和代理类实现重写下载方法,下载得到数据包,然后通过套接字来构造数据包,得到系统扫描数据,实现了自动化获取系统扫描数据,减少了人工干预,从而提高了系统数据获取的效率。
本实施例中,首先获取代码扫描服务端的登录token;然后,通过登录token判断代码扫描服务端的数据包下载权限;若代码扫描服务端具有下载权限,则采用代理的方式下载数据包,并对数据包进行构造,得到系统扫描数据,实现了自动化获取系统扫描数据,减少了人工干预,从而提高了系统数据获取的效率。
在一实施例中,如图4所示,步骤S40中,对漏洞数据进行量化分析,计算得到漏洞数据的风险系数,具体包括如下步骤:
S41:获取N个预设的漏洞量化维度以及每一漏洞量化维度的权值。
其中,漏洞量化维度是指反映漏洞大小在某一方面的指标,如代码覆盖率、PMD信息、代码缺陷统计或者缺陷占比等。漏洞量化维度的权值是指衡量漏洞量化维度的重要性的百分比。具体地,可以根据测试经验预先设置漏洞量化维度以及每一漏洞量化维度的权值,服务端可以从系统后台获取到该N个预设的漏洞量化维度以及每一漏洞量化维度的权值。
S42:针对每一漏洞量化维度,确定与量化维度匹配的漏洞数据的数量。
具体地,将漏洞数据进行分别按照预设的漏洞量化维度分为N类,并通过以维度作为关键字为查询条件,查询与每一量化维度匹配的漏洞数据的数量。
S43:采用如下计算公式计算漏洞数据的风险系数:
其中,Pi表示为第i个漏洞量化维度对应的漏洞数据的风险系数,Xi表示为第i个漏洞量化维度的数量值,λi表示为第i个漏洞量化维度的权值。
具体地,通过公式也即计N个漏洞量化维度的数量值与对应的权值的乘积的和,作为漏洞数据的风险系数。该风险系数计算方法不仅充分考虑了漏洞量化维度的数量与漏洞量化维度的权值对风险系数的影响,而且计算过程简单,提高了风险系数的量化速度和准确性。
本实施例中,首先,获取N个预设的漏洞量化维度以及每一漏洞量化维度的权值;然后,针对每一漏洞量化维度,确定与量化维度匹配的漏洞数据的数量;最后,通过公式计算漏洞数据的风险系数,计算过程简单且提高了风险系数的量化速度和准确性。
在一实施例中,如图5所示,步骤S60中,采用代码审计的方式对必要参数进行代码扫描,得到代码扫描处理结果,具体包括如下步骤:
S61:对必要参数进行实例化,确定漏洞数据分布。
其中,漏洞数据分布是指反映软件代码中漏洞数据一种量化指标。实例化是一种用于基于参数确定指标信息的过程。具体地,通过对PORTAL生成系统扫描数据的必要参数进行实例化,能够确定漏洞数据的分布情况,作为漏洞数据分布。
S62:调用修复工具对漏洞数据分布进行修复,得到代码扫描处理结果,其中,修复工具预先集成在代码审计环境中。
具体地,调用预先集成在代码审计环境的修复工具,由于该代码审计环境包括扫描工具,因此,能够对漏洞数据分布进行扫描,保证扫描的覆盖率,提高了代码扫描结果处理的效率。
本实施例中,实例化必要参数确定漏洞数据分布,然后对漏洞数据分布采用修复工具进行修复得到代码扫描处理结果,保证扫描的覆盖率,提高了代码扫描结果处理的效率。
在一实施例中,在步骤S60之后,即在使用PORTAL生成系统扫描数据的必要参数之后,代码扫描结果处理方法还包括:
S70:将必要参数与系统扫描数据进行集成封装,得到代码扫描结果API集成模块。
具体地,将必要参数与所述系统扫描数据进行集成封装,也即对原有SSC Restful风格的API进行简单易用的封装,提供目前未提供的功能封装,包括获取版本信息、获取扫描模板、获取项目信息、获取项目属性、上传扫描报告等功能,得到的代码扫描结果API集成模块,可以满足对企业定制化扫描的需求,实现自定义的场景化集成需求。
本实施例中,将必要参数与系统扫描数据进行集成封装,得到代码扫描结果API集成模块,可以满足对企业定制化扫描的需求,实现自定义的场景化集成需求。
在一实施例中,在步骤S40之后,即在计算得到漏洞数据的风险系数之后,代码扫描结果处理方法还包括:
S80:若风险系数大于预设的系数阈值,则对系统扫描数据进行风险提示。
具体地,当漏洞数据的风险系数大于风险系数阈值时,则说明该系统扫描数据存在较大的风险,因此进行风险提示,具体地,可以通过邮件提醒功能,进行自动提醒,从而实现预警的作用,进行自动提醒。以便快速跟进漏洞bug的处理,加速代码的迭代速度,提升了代码扫描结果处理的安全性。
本实施例中,当漏洞数据的风险系数大于风险系数阈值时,则对系统扫描数据进行风险提示,以便快速跟进漏洞bug的处理,加速代码的迭代速度,提升了代码扫描结果处理的安全性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种代码扫描结果处理装置,该代码扫描结果处理装置与上述实施例中代码扫描结果处理方法一一对应。如图6所示,该代码扫描结果处理装置包括扫描数据获取模块10、版本检验模块20、漏洞数据获取模块30、风险系数计算模块40、扫描参数生成模块50、和处理结果获取模块60。各功能模块详细说明如下:
扫描数据获取模块10,用于采用定时任务的方式拉取报告管理中心的系统扫描数据,系统扫描数据包括版本数据和漏洞数据;
版本检验模块20,用于对版本数据进行时效校验,获取校验结果;
漏洞数据获取模块30,用于若校验结果为校验通过,则获取与版本数据对应的漏洞数据;
风险系数计算模块40,用于对漏洞数据进行量化分析,计算得到漏洞数据的风险系数;
扫描参数生成模块50,用于若风险系数小于或者等于预设的系数阈值,则使用PORTAL生成系统扫描数据的必要参数;
处理结果获取模块60,用于采用代码审计的方式对必要参数进行代码扫描,得到代码扫描处理结果。
优选地,如图7所示,该代码扫描结果处理装置还包括登录token获取模块70、权限判断模块80和扫描数据构造模块90。
登录token获取模块70,用于获取代码扫描服务端的登录token;
权限判断模块80,用于通过登录token判断代码扫描服务端的数据包下载权限;
扫描数据构造模块90,用于若代码扫描服务端具有下载权限,则采用代理的方式下载数据包,并对数据包进行构造,得到系统扫描数据。
优选地,风险系数计算模块包括量化维度获取单元、漏洞数据匹配单元和风险系数计算单元。
量化维度获取单元,用于获取N个预设的漏洞量化维度以及每一漏洞量化维度的权值;
漏洞数据匹配单元,用于针对每一漏洞量化维度,确定与量化维度匹配的漏洞数据的数量;
风险系数计算单元,用于采用如下计算公式计算漏洞数据的风险系数:
其中,Pi表示为第i个漏洞量化维度对应的漏洞数据的风险系数,Xi表示为第i个漏洞量化维度的数量值,λi表示为第i个漏洞量化维度的权值。
优选地,处理结果获取模块包括漏洞数据分布获取单元和处理结果获取单元。
漏洞数据分布获取单元,用于对必要参数进行实例化,确定漏洞数据分布;
处理结果获取单元,用于调用修复工具对漏洞数据分布进行修复,得到代码扫描处理结果,其中,修复工具预先集成在代码审计环境中。
优选地,该代码扫描结果处理装置还包括风险提示单元,用于若所述风险系数大于预设的系数阈值,则对所述系统扫描数据进行风险提示。
关于代码扫描结果处理装置的具体限定可以参见上文中对于代码扫描结果处理方法的限定,在此不再赘述。上述代码扫描结果处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储代码扫描结果处理方法所使用到的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种代码扫描结果处理方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中的代码扫描结果处理方法。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中的代码扫描结果处理方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (7)
1.一种代码扫描结果处理方法,其特征在于,所述代码扫描结果处理方法包括:
采用定时任务的方式拉取报告管理中心的系统扫描数据,所述系统扫描数据包括版本数据和漏洞数据;
对所述版本数据进行时效校验,获取校验结果;
若所述校验结果为校验通过,则获取与所述版本数据对应的漏洞数据;
对所述漏洞数据进行量化分析,计算得到所述漏洞数据的风险系数;
所述对所述漏洞数据进行量化分析,计算得到所述漏洞数据的风险系数,包括:
获取N个预设的漏洞量化维度以及每一所述漏洞量化维度的权值;
针对每一所述漏洞量化维度,确定与所述量化维度匹配的漏洞数据的数量;
采用如下计算公式计算所述漏洞数据的风险系数:
其中,Pi表示为第i个所述漏洞量化维度对应的漏洞数据的风险系数,Xi表示为第i个所述漏洞量化维度的数量值,λi表示为第i个所述漏洞量化维度的权值;
若所述风险系数小于或者等于预设的系数阈值,则使用PORTAL生成所述系统扫描数据的必要参数;
在所述使用PORTAL生成所述系统扫描数据的必要参数之后,所述代码扫描结果处理方法还包括:
将所述必要参数与所述系统扫描数据进行集成封装,得到代码扫描结果API集成模块;
采用代码审计的方式对所述必要参数进行代码扫描,得到代码扫描处理结果;
所述采用代码审计的方式对所述必要参数进行代码扫描,得到代码扫描处理结果,包括:
对所述必要参数进行实例化,确定所述漏洞数据分布;
调用修复工具对所述漏洞数据分布进行修复,得到所述代码扫描处理结果,其中,所述修复工具预先集成在代码审计环境中。
2.如权利要求1所述的代码扫描结果处理方法,其特征在于,在所述采用定时任务的方式拉取报告管理中心的系统扫描数据之前,该代码扫描结果处理方法还包括:
获取代码扫描服务端的登录token;
通过所述登录token判断所述代码扫描服务端的数据包下载权限;
若所述代码扫描服务端具有下载权限,则采用代理的方式下载数据包,并对所述数据包进行构造,得到所述系统扫描数据。
3.如权利要求1所述的代码扫描结果处理方法,其特征在于,在所述计算得到所述漏洞数据的风险系数之后,所述代码扫描结果处理方法还包括:
若所述风险系数大于预设的系数阈值,则对所述系统扫描数据进行风险提示。
4.一种代码扫描结果处理装置,其特征在于,所述代码扫描结果处理装置包括:
扫描数据获取模块,用于采用定时任务的方式拉取报告管理中心的系统扫描数据,所述系统扫描数据包括版本数据和漏洞数据;
版本检验模块,用于对所述版本数据进行时效校验,获取校验结果;
漏洞数据获取模块,用于若所述校验结果为校验通过,则获取与所述版本数据对应的漏洞数据;
风险系数计算模块,用于对所述漏洞数据进行量化分析,计算得到所述漏洞数据的风险系数,所述对所述漏洞数据进行量化分析,计算得到所述漏洞数据的风险系数,包括:
获取N个预设的漏洞量化维度以及每一所述漏洞量化维度的权值;
针对每一所述漏洞量化维度,确定与所述量化维度匹配的漏洞数据的数量;
采用如下计算公式计算所述漏洞数据的风险系数:
其中,Pi表示为第i个所述漏洞量化维度对应的漏洞数据的风险系数,Xi表示为第i个所述漏洞量化维度的数量值,λi表示为第i个所述漏洞量化维度的权值;
扫描参数生成模块,用于若所述风险系数小于或者等于预设的系数阈值,则使用PORTAL生成所述系统扫描数据的必要参数,在所述使用PORTAL生成所述系统扫描数据的必要参数之后,将所述必要参数与所述系统扫描数据进行集成封装,得到代码扫描结果API集成模块;
处理结果获取模块,用于采用代码审计的方式对所述必要参数进行代码扫描,得到代码扫描处理结果,所述采用代码审计的方式对所述必要参数进行代码扫描,得到代码扫描处理结果,包括:
对所述必要参数进行实例化,确定所述漏洞数据分布;
调用修复工具对所述漏洞数据分布进行修复,得到所述代码扫描处理结果,其中,所述修复工具预先集成在代码审计环境中。
5.如权利要求4所述的代码扫描结果处理装置,其特征在于,所述代码扫描结果处理装置还包括:
登录token获取模块,用于获取代码扫描服务端的登录token;
权限判断模块,用于通过所述登录token判断所述代码扫描服务端的数据包下载权限;
扫描数据构造模块,用于若所述代码扫描服务端具有下载权限,则采用代理的方式下载数据包,并对所述数据包进行构造,得到所述系统扫描数据。
6.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至3任一项所述代码扫描结果处理方法。
7.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述代码扫描结果处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910964147.5A CN110990249B (zh) | 2019-10-11 | 2019-10-11 | 代码扫描结果处理方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910964147.5A CN110990249B (zh) | 2019-10-11 | 2019-10-11 | 代码扫描结果处理方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110990249A CN110990249A (zh) | 2020-04-10 |
CN110990249B true CN110990249B (zh) | 2023-11-14 |
Family
ID=70081873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910964147.5A Active CN110990249B (zh) | 2019-10-11 | 2019-10-11 | 代码扫描结果处理方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110990249B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113688398B (zh) * | 2021-08-24 | 2024-04-26 | 杭州迪普科技股份有限公司 | 漏洞扫描结果的评估方法、装置及系统 |
CN115032343A (zh) * | 2022-06-08 | 2022-09-09 | 交通运输部水运科学研究所 | 一种船舶黑碳排放空间特征计算方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104077531A (zh) * | 2014-06-05 | 2014-10-01 | 中标软件有限公司 | 基于开放漏洞评估语言的系统漏洞评估方法、装置和系统 |
CN106650460A (zh) * | 2016-11-15 | 2017-05-10 | 上海华为技术有限公司 | 一种版本校验方法、装置及终端设备 |
CN107977575A (zh) * | 2017-12-20 | 2018-05-01 | 北京关键科技股份有限公司 | 一种基于私有云平台的代码组成分析系统和方法 |
CN110083514A (zh) * | 2019-03-19 | 2019-08-02 | 深圳壹账通智能科技有限公司 | 软件测试缺陷评估方法、装置、计算机设备及存储介质 |
CN110096868A (zh) * | 2019-04-28 | 2019-08-06 | 深圳前海微众银行股份有限公司 | 操作代码的审计方法、装置、设备及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140366140A1 (en) * | 2013-06-10 | 2014-12-11 | Hewlett-Packard Development Company, L.P. | Estimating a quantity of exploitable security vulnerabilities in a release of an application |
-
2019
- 2019-10-11 CN CN201910964147.5A patent/CN110990249B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104077531A (zh) * | 2014-06-05 | 2014-10-01 | 中标软件有限公司 | 基于开放漏洞评估语言的系统漏洞评估方法、装置和系统 |
CN106650460A (zh) * | 2016-11-15 | 2017-05-10 | 上海华为技术有限公司 | 一种版本校验方法、装置及终端设备 |
CN107977575A (zh) * | 2017-12-20 | 2018-05-01 | 北京关键科技股份有限公司 | 一种基于私有云平台的代码组成分析系统和方法 |
CN110083514A (zh) * | 2019-03-19 | 2019-08-02 | 深圳壹账通智能科技有限公司 | 软件测试缺陷评估方法、装置、计算机设备及存储介质 |
CN110096868A (zh) * | 2019-04-28 | 2019-08-06 | 深圳前海微众银行股份有限公司 | 操作代码的审计方法、装置、设备及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
信度向量正交投影分解的网络安全风险评估方法;刘刚;李千目;张宏;;电子与信息学报(第08期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110990249A (zh) | 2020-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11481498B2 (en) | Continuous vulnerability management for modern applications | |
US11593492B2 (en) | Assessment and analysis of software security flaws | |
US11327828B2 (en) | Process automation action repository and assembler | |
US8499353B2 (en) | Assessment and analysis of software security flaws | |
US10419499B2 (en) | Method and system for application security evaluation | |
US8613080B2 (en) | Assessment and analysis of software security flaws in virtual machines | |
US11748487B2 (en) | Detecting a potential security leak by a microservice | |
US10678672B1 (en) | Security validation of software delivered as a service | |
US20160275292A1 (en) | System and method for implementing application policies among development environments | |
US20180285247A1 (en) | Systems, methods, and apparatus for automated code testing | |
US8938648B2 (en) | Multi-entity test case execution workflow | |
CN110990249B (zh) | 代码扫描结果处理方法、装置、计算机设备及存储介质 | |
CN112799940A (zh) | 回归测试方法、装置、计算机系统和计算机可读存储介质 | |
US9811447B2 (en) | Generating a fingerprint representing a response of an application to a simulation of a fault of an external service | |
CN116680699A (zh) | 一种漏洞优先级排序系统、方法、计算机设备及存储介质 | |
CN116467188A (zh) | 一种多环境场景下的通用本地复现系统和方法 | |
CN114386047A (zh) | 应用漏洞检测方法、装置、电子设备及存储介质 | |
CN114003918A (zh) | 一种云安全运营方法、装置、电子设备以及存储介质 | |
EP2804138A1 (en) | Software product consistency assessment | |
Wu et al. | Framework for assessing cloud trustworthiness | |
CN113343222B (zh) | Java项目工程安全校验方法、装置、计算机设备及存储介质 | |
CN117891749B (zh) | Api应用安全监测方法、装置、设备及存储介质 | |
US20230083977A1 (en) | Method and apparatus for identifying a logic defect in an application | |
US20210303689A1 (en) | Transport security in business applications | |
US20220197945A1 (en) | Computer-implemented method for analyzing a transaction log |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |