一种代码审计方法、装置、终端及存储介质与流程

文档序号:28321272发布日期:2022-01-04 22:57阅读:153来源:国知局
一种代码审计方法、装置、终端及存储介质与流程

1.本发明涉及源代码审计领域,尤其是涉及一种代码审计方法、装置、终端及存储介质。


背景技术:

2.源代码审计服务的目的在于充分挖掘当前代码中存在的安全缺陷以及规范性缺陷,从而让开发人员了解其开发的应用系统可能会面临的威胁,并指导开发人员正确修复程序缺陷。
3.相关技术中,使用自动化工具代替人工漏洞挖掘,可以显著提高审计工作的效率,例如在服务器中使用rips、vcg、fortify sca等自动化代码审计工具对源代码进行自动审计。
4.针对上述中的相关技术,发明人认为:由于代码审计项目的工作量有大有小,所需要的扫描时间有长有短,而相关技术中的代码审计方法是服务器按提交时间等顺序逐个扫描,存在审计效率低下的缺陷。


技术实现要素:

5.为了提高代码审计效率,本技术提供了一种代码审计方法、装置、终端及存储介质。
6.第一方面,本技术提供一种代码审计方法,采用如下的技术方案:一种代码审计方法,提供多个服务器进行处理代码审计的任务,所述方法包括:获取当前待处理任务信息;获取各个服务器的工作情况信息;基于所述工作情况信息按照预设规则选定待处理服务器;将所述当前待处理任务信息发送到所述待处理服务器。
7.通过采用上述技术方案,设置多台服务器同时进行代码审计,若出现新的代码审计任务,则通过各个服务器的工作情况信息确定分配至哪台服务器执行代码审计,从而提高代码审计效率。
8.可选的,所述工作情况信息包括待处理任务数量、cpu占有率或内存占有率。
9.通过采用上述技术方案,各个服务器的工作情况信息可以包括待处理任务数量、cpu占有率或内存占有率等信息,通过对这些信息的获取和判断,能够客观地评估各个服务器的实际工作情况,从而根据实际工作情况进行分配审计任务。
10.可选的,所述基于所述工作情况信息按照预设规则选定待处理服务器,包括:按照各个服务器的待处理任务数量,选定待处理任务数量较少的服务器作为所述待处理服务器;或按照各个服务器的cpu占有率,选定cpu占有率较小的服务器作为所述待处理服务器;或按照各个服务器的内存占有率,选定内存占有率较小的服务器作为所述待处理服务器。
11.通过采用上述技术方案,待处理任务数量较少、cpu占有率较小或内存占有率较小
对应的是当前工作量较小的服务器,将新增的任务分配到当前工作量较小的服务器,有利于提高整体的代码审计效率。
12.可选的,所述基于所述工作情况信息按照预设规则选定待处理服务器,包括:按照各个服务器的待处理任务数量、cpu占有率和内存占有率的加权和,选定所述加权和较高的服务器作为所述待处理服务器。
13.通过采用上述技术方案,单一的待处理任务数量、cpu占有率和内存占有率等信息并不能客观体现各个服务器的当前工作量,将这些信息各自按照一定的权重进行求和,能够更加客观地体现各个服务器的当前工作量,从而进一步提高代码审计效率。
14.可选的,所述工作情况信息包括平均处理速度,所述基于所述工作情况信息按照预设规则选定待处理服务器,包括:按照各个服务器的平均处理速度,选定所述平均处理速度较快的服务器作为所述待处理服务器。
15.通过采用上述技术方案,由于不同的服务器配置和性能不同,配置越高或性能越好的服务器的平均处理速度越快,能够快速处理代码审计任务,优先分配给平均处理速度较快的服务器,能够进一步提高代码审计效率。
16.可选的,在首次分配时,所述平均处理速度的快慢由所述服务器的配置确定。
17.通过采用上述技术方案,由于服务器在处理完一个及以上审计任务后才能得出平均处理速度,因此,在首次分配时,可以由服务器的配置来确定平均处理速度的快慢,配置越高对应的平均处理速度越快。
18.可选的,所述工作情况信息包括待处理任务数量,在所述基于所述工作情况信息按照预设规则选定待处理服务器之前还包括:判断各个服务器的所述待处理任务数量是否均不小于预设的许可限制阈值,若均不小于,则将所述当前待处理任务信息发送到队列等待,并暂停继续获取所述当前待处理任务信息。
19.通过采用上述技术方案,在进行代码审计时,设置有一个最大资源占有量,通过判断各个服务器的待处理任务数量是否均不小于预设的许可限制阈值,若均不小于,则将当前待处理任务信息发送到队列等待,并暂停继续获取当前待处理任务信息,从而保证正在进行的代码审计任务的处理效率不被影响。
20.第二方面,本技术还提供一种代码审计装置,采用如下的技术方案:一种代码审计装置,包括:存储器,用于存储代码审计程序;处理器,在运行所述代码审计程序时执行上述代码审计方法的步骤。
21.通过采用上述技术方案,将上述代码审计方法以计算机可读代码的形式呈现并存储于存储器内,在处理器运行存储器内的计算机可读代码时,执行上述代码审计方法的步骤,能够提高代码审计效率。
22.第三方面,本技术还提供一种代码审计终端,采用如下的技术方案:一种代码审计终端,包括:输入装置,用于输入当前待处理任务信息;多个服务器,用于接收并根据所述当前待处理任务信息提供代码审计服务;上述代码审计装置,输入端连接所述输入装置,输出端连接多个所述服务器。
23.通过采用上述技术方案,终端借助输入装置输入当前待处理任务信息,结合上述
采集的信号通过其内部的程序,通过各个服务器的工作情况信息确定分配至哪台服务器执行代码审计,能够提高代码审计效率。
24.第四方面,本技术还提供一种计算机可读存储介质,采用如下的技术方案:一种计算机可读存储介质,存储有能够被处理器加载并执行上述代码审计方法的计算机程序。
25.综上所述,本技术通过设置多台服务器同时进行代码审计,若出现新的代码审计任务,则通过各个服务器的工作情况信息确定分配至哪台服务器执行代码审计,从而提高代码审计效率。
附图说明
26.图1是本技术代码审计终端的原理框图。
27.图2是本技术代码审计方法的流程示意图。
28.附图标记说明:1、输入装置;2、代码审计装置;3、服务器。
具体实施方式
29.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图1

2及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。
30.下面结合说明书附图对本技术代码审计终端的实施例作进一步详细描述。
31.本技术实施例提供一种代码审计终端,如图1所示,终端包括输入装置1、代码审计装置2和多个服务器3,代码审计装置2的输入端连接输入装置1,代码审计装置2的输出端连接多个服务器3;代码审计装置2上集成有存储器和处理器,存储器用于存储代码审计程序,处理器用于在运行代码审计程序时执行上述代码审计方法的步骤;输入装置用于输入当前待处理任务信息,多个服务器3用于接收并根据当前待处理任务信息提供代码审计服务。
32.下面结合代码审计方法的实施进行详细说明:本技术实施例公开一种代码审计方法,提供多个服务器进行处理代码审计的任务,若出现新的代码审计任务,则通过各个服务器的工作情况信息确定分配至哪台服务器执行代码审计,从而提高代码审计效率。参照图2,代码审计方法包括以下步骤:s01:获取当前待处理任务信息。
33.具体来说,当前待处理任务信息可以由代码审计人员通过输入装置输入,也可以由外部系统发布,可以根据实际情况进行选择。
34.s02:获取各个服务器的工作情况信息。
35.具体来说,工作情况信息可以包括平均处理速度、待处理任务数量、cpu占有率或内存占有率中的一种或多种,通过对这些信息的获取和判断,能够客观地评估各个服务器的实际工作情况,从而根据实际工作情况进行分配审计任务。
36.s03:基于工作情况信息按照预设规则选定待处理服务器。
37.具体如何选定待处理服务器的方法有多种方式,根据工作情况信息所包含的内容不同,对应的预设规则也不同。
38.在本技术一实施例中,工作情况信息只包括平均处理速度、待处理任务数量、cpu占有率或内存占有率中的一种,当工作情况信息只包括平均处理速度时,比较各个服务器对应的平均处理速度,选定平均处理速度较快的服务器作为待处理服务器;当工作情况信息只包括待处理任务数量时,比较各个服务器对应的待处理任务数量,选定待处理任务数量较少的服务器作为待处理服务器;当工作情况信息只包括cpu占有率时,比较各个服务器对应的cpu占有率,选定cpu占有率较小的服务器作为待处理服务器;当工作情况信息只包括内存占有率时,比较各个服务器对应的内存占有率,选定内存占有率较小的服务器作为待处理服务器。待处理任务数量较少、cpu占有率较小或内存占有率较小对应的是当前工作量较小的服务器,将新增的任务分配到当前工作量较小的服务器,有利于提高整体的代码审计效率。
39.其中,由于服务器在处理完一个及以上审计任务后才能得出平均处理速度,因此,在首次分配时,可以由服务器的配置来确定平均处理速度的快慢,配置越高对应的平均处理速度越快,配置越高或性能越好的服务器的平均处理速度越快,能够快速处理代码审计任务,优先分配给平均处理速度较快的服务器,能够进一步提高代码审计效率。
40.在本技术另一实施例中,工作情况信息包括待处理任务数量、cpu占有率和内存占有率,可以按照各个服务器的待处理任务数量、cpu占有率和内存占有率的加权和,选定加权和较高的服务器作为待处理服务器,因为单一的待处理任务数量、cpu占有率和内存占有率等信息并不能客观体现各个服务器的当前工作量,将这些信息各自按照一定的权重进行求和,能够更加客观地体现各个服务器的当前工作量,从而进一步提高代码审计效率。
41.假设待处理任务数量的权重为0.4,cpu占有率的权重为0.3,内存占有率的权重为0.3,其中,待处理任务数量越多对应的分值越低,例如,待处理任务数量为0时对应的分值为100,待处理任务数量为1时对应的分值为90,以此类推;cpu占有率越高对应的分值越低,例如,cpu占有率为0%时对应的分值为100,cpu占有率为10%时对应的分值为90,以此类推;内存占有率越高对应的分值越低,例如,内存占有率为0%时对应的分值为100,内存占有率为10%时对应的分值为90,以此类推;如此,计算待处理任务数量、cpu占有率和内存占有率的加权和,选定所述加权和较高的服务器作为所述待处理服务器;举例来说,第一服务器的待处理任务数量为1(对应分值为90)、cpu占有率为20%(对应分值为80)、内存占有率为20%(对应分值为80),第二服务器的待处理任务数量为2(对应分值为80)、cpu占有率为10%(对应分值为90)、内存占有率为10%(对应分值为90),则第一服务器的加权和为0.4*90+0.3*80+0.3*80=84,第二服务器的加权和为0.4*80+0.3*90+0.3*90=86,因此,选定加权和较高的第二服务器作为待处理服务器。
42.s04:将当前待处理任务信息发送到待处理服务器。
43.相关技术中,所有的任务都是按时间顺序依次放入服务器中进行处理,当前面的审计任务需要较多时间处理,而后面还有需要较少时间处理的审计任务时,容易导致这些需要较少时间处理的审计任务被延期,导致审计效率低下。而本技术中,上述步骤选定的是最适合处理当前待处理任务信息的服务器,将当前待处理任务信息发送到该待处理服务器中进行代码审计任务,能够让待处理任务尽快完成,从而提高审计效率。
44.在本技术另外的实施例中,在步骤s03之前还包括:判断各个服务器的待处理任务数量是否均不小于预设的许可限制阈值,若均不小于,则将当前待处理任务信息发送到队
列等待,并暂停继续获取当前待处理任务信息,从而保证正在进行的代码审计任务的处理效率不被影响。
45.举例来说,假设预设的许可限制阈值为3个,当所有的服务器中的待处理任务数量均为3个时,表明各个服务器的待处理任务数量(3个)均不小于预设的许可限制阈值(3个),此时,将当前待处理任务信息发送到队列等待,并暂停继续获取当前待处理任务信息,当有其中一个或多个服务器的待处理任务数量小于预设的许可限制阈值时,将上述的当前待处理任务信息从队列中提取出来,并发送到待处理任务数量小于预设的许可限制阈值对应的服务器中处理,并恢复继续获取当前待处理任务信息。
46.基于上述同一发明构思,本技术实施例提供一种计算机可读存储介质,包括能够被处理器加载执行时实现代码审计方法流程中所述的各个步骤。
47.所述计算机可读存储介质例如包括:u盘、移动硬盘、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
48.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
49.在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
50.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
51.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
52.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
53.以上均为本技术的较佳实施例,并非依此限制本技术的保护范围,本说明书(包括
摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或者具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1