CN112016098B - 扫描结果的处理方法、装置、计算机设备和存储介质 - Google Patents
扫描结果的处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112016098B CN112016098B CN202010905183.7A CN202010905183A CN112016098B CN 112016098 B CN112016098 B CN 112016098B CN 202010905183 A CN202010905183 A CN 202010905183A CN 112016098 B CN112016098 B CN 112016098B
- Authority
- CN
- China
- Prior art keywords
- sample point
- vulnerability
- adjacent
- attribute
- calculating
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及代码质量工具技术领域,提供一种扫描结果的处理方法、装置、计算机设备和存储介质,获取一个安全扫描工具的扫描结果,通过将每次获取的所述扫描结果中的每个漏洞属性作为一个维度,并将对应的漏洞数据作为在所述维度上的坐标,构建出每个所述扫描结果对应的多维度坐标;并计算每个所述样本点在低维空间的输出值;根据所述输出值,确定出目标漏洞属性;其中,所述目标漏洞属性为所述输出值与所述多维度坐标中相同维度所对应的属性;根据所述目标漏洞属性,以及对应的项目名称、开发人员属性,建立对应的映射关联关系。本申请将多维度数据降维到低纬度空间,便于降低数据维度,减少冗余性。
Description
技术领域
本申请涉及代码质量工具技术领域,特别涉及一种扫描结果的处理方法、装置、计算机设备和存储介质。
背景技术
信息安全是一个随时都在发展和变化的动态事物,近期越来越多的应用系统面临攻击威胁。应用系统的安全性能,一方面立足于系统安全方案的分析与设计,而另一方面同样也取决于系统实现过程中是否存在安全性缺陷。为降低应用系统的安全风险,减少软件代码编写中可能出现的安全漏洞,提高应用系统自身安全防护能力,软件的应用方越来越依赖于采用静态源代码安全扫描工具在软件开发的过程中帮助软件开发团队快速查找、定位、修复和管理软件代码安全问题,应用静态源代码安全扫描工具的主要价值在于能够快速、准确地查找、定位和修复软代码中存在的安全风险,增加工具投资所带来的最大效益,节约代码安全分析的成本,最终开发安全、可靠的软件。
虽然,目前的安全扫描工具对系统的信息安全提供了巨大帮助,但是,现有的安全扫描工具,得到的扫描结果的展示效果不理想,数据量大且复杂。
发明内容
本申请的主要目的为提供一种扫描结果的处理方法、装置、计算机设备和存储介质,旨在将扫描结果中的数据进行降维处理,克服目前数据量大且复杂的缺陷。
为实现上述目的,本申请提供了一种扫描结果的处理方法,包括以下步骤:
每间隔预设时间,获取一个安全扫描工具的扫描结果,并对每个所述扫描结果进行分析,得到每次获取的所述扫描结果中的漏洞属性以及对应的漏洞数据;
将每个所述扫描结果中的每个漏洞属性作为一个维度,并将对应的漏洞数据作为在所述维度上的坐标,构建出每个所述扫描结果对应的多维度坐标,并将每个所述多维度坐标作为一个样本点;
获取每个所述样本点相邻的多个近邻点的多维度坐标;
根据每个所述样本点相邻的多个近邻点的多维度坐标,计算每个所述样本点的局部重建权值矩阵;
根据每个所述样本点相邻的多个近邻点的多维度坐标,以及每个所述样本点的局部重建权值矩阵,计算每个所述样本点在低维空间的输出值;
根据所述输出值,确定出目标漏洞属性;其中,所述目标漏洞属性为所述输出值与所述多维度坐标中相同维度所对应的属性;
根据所述目标漏洞属性,以及对应的项目名称、开发人员属性,建立对应的映射关联关系。
进一步地,所述获取每个所述样本点相邻的多个近邻点的多维度坐标的步骤,包括:
针对每个所述样本点,计算所述样本点与其相邻的相邻样本点之间的欧式距离;
若所述欧式距离少于设定值,则将对应的相邻样本点作为所述近邻点,并获取所述近邻点的多维度坐标;
其中,所述近邻点为k个,针对每个样本点xi,其k个近邻点的多维度坐标为(xi1,xi2,...,xik)。
进一步地,所述根据每个所述样本点相邻的多个近邻点的多维度坐标,计算每个所述样本点的局部重建权值矩阵的步骤,包括:
根据每个所述样本点相邻的多个近邻点的多维度坐标,计算局部协方差矩阵;
基于所述局部协方差矩阵,计算每个所述样本点的局部重建权值矩阵。
进一步地,所述计算局部协方差矩阵的计算公式为:
Zi=(xi-xj)(xi-xj)T;其中,Zi为局部协方差矩阵,T为转置;Xj为Xi的k个近邻点中的一个点;
所述计算每个所述样本点的局部重建权值矩阵的计算公式为:
其中,Wi为每个所述样本点的局部重建权值矩阵,1k为k维全1向量。
进一步地,所述输出值表示为yi=(y1,y2,...,ym);
所述根据每个所述样本点相邻的多个近邻点的多维度坐标,以及每个所述样本点的局部重建权值矩阵,计算每个所述样本点在低维空间的输出值的计算过程为:
根据所述局部重建权值矩阵,计算矩阵M;
其中,M=(I-W)(I-W)T;W为由Wi组成的权重系数矩阵;
m为多维度坐标的维度,/>
计算矩阵M的最小的前d+1个特征值,并计算前d+1个特征值对应的特征向量{y1,y2,...,yd+1};其中,d为低维空间的维度;
由第二个特征向量到第d+1个特征向量所组成的矩阵即为所述样本点在低维空间的输出值的矩阵D={y2,y3,...,yd+1}。
进一步地,所述安全扫描工具用于扫描源代码的漏洞;
所述每间隔预设时间,获取一个安全扫描工具的扫描结果,并对每个所述扫描结果进行分析,得到每个所述扫描结果中的漏洞属性以及对应的漏洞数据的步骤之后,还包括:
将所述扫描结果中的漏洞属性以及对应的漏洞数据按照设定顺序进行拼接,得到拼接数据;
对所述拼接数据进行哈希计算,得到对应的哈希值;
在预设的数据库中查找是否具有与所述哈希值相同的目标哈希值;
若具有,则获取所述目标哈希值对应的漏洞修复方案,并基于所述漏洞修复方案修复所述源代码。
进一步地,所述方法还包括:
将所述扫描结果、每个所述样本点的局部重建权值矩阵、映射关联关系存储至区块链中。
本申请还提供了一种扫描结果的处理装置,包括:
分析单元,用于每间隔预设时间,获取一个安全扫描工具的扫描结果,并对每个所述扫描结果进行分析,得到每次获取的所述扫描结果中的漏洞属性以及对应的漏洞数据;
构建单元,用于将每个所述扫描结果中的每个漏洞属性作为一个维度,并将对应的漏洞数据作为在所述维度上的坐标,构建出每个所述扫描结果对应的多维度坐标,并将每个所述多维度坐标作为一个样本点;
第一获取单元,用于获取每个所述样本点相邻的多个近邻点的多维度坐标;
第一计算单元,用于根据每个所述样本点相邻的多个近邻点的多维度坐标,计算每个所述样本点的局部重建权值矩阵;
第二计算单元,用于根据每个所述样本点相邻的多个近邻点的多维度坐标,以及每个所述样本点的局部重建权值矩阵,计算每个所述样本点在低维空间的输出值;
确定单元,用于根据所述输出值,确定出目标漏洞属性;其中,所述目标漏洞属性为所述输出值与所述多维度坐标中相同维度所对应的属性;
建立单元,用于根据所述目标漏洞属性,以及对应的项目名称、开发人员属性,建立对应的映射关联关系。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请提供的扫描结果的处理方法、装置、计算机设备和存储介质,获取一个安全扫描工具的扫描结果,通过将每次获取的所述扫描结果中的每个漏洞属性作为一个维度,并将对应的漏洞数据作为在所述维度上的坐标,构建出每个所述扫描结果对应的多维度坐标;并计算每个所述样本点在低维空间的输出值;根据所述输出值,确定出目标漏洞属性;其中,所述目标漏洞属性为所述输出值与所述多维度坐标中相同维度所对应的属性;根据所述目标漏洞属性,以及对应的项目名称、开发人员属性,建立对应的映射关联关系。本申请将多维度数据降维到低纬度空间,便于降低数据维度,减少冗余性。
附图说明
图1是本申请一实施例中扫描结果的处理方法步骤示意图;
图2是本申请一实施例中扫描结果的处理装置结构框图;
图3为本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请一实施例中提供了一种扫描结果的处理方法,包括以下步骤:
步骤S1,每间隔预设时间,获取一个安全扫描工具的扫描结果,并对每个所述扫描结果进行分析,得到每次获取的所述扫描结果中的漏洞属性以及对应的漏洞数据;
步骤S2,将每个所述扫描结果中的每个漏洞属性作为一个维度,并将对应的漏洞数据作为在所述维度上的坐标,构建出每个所述扫描结果对应的多维度坐标,并将每个所述多维度坐标作为一个样本点;
步骤S3,获取每个所述样本点相邻的多个近邻点的多维度坐标;
步骤S4,根据每个所述样本点相邻的多个近邻点的多维度坐标,计算每个所述样本点的局部重建权值矩阵;
步骤S5,根据每个所述样本点相邻的多个近邻点的多维度坐标,以及每个所述样本点的局部重建权值矩阵,计算每个所述样本点在低维空间的输出值;
步骤S6,根据所述输出值,确定出目标漏洞属性;其中,所述目标漏洞属性为所述输出值与所述多维度坐标中相同维度所对应的属性;
步骤S7,根据所述目标漏洞属性,以及对应的项目名称、开发人员属性,建立对应的映射关联关系。
在本实施例中,上述方法用于对目前的安全扫描工具所得到的扫描结果进一步进行处理。上述安全扫描工具通常用于对应用系统中的源代码进行静态扫描,以扫描出源代码中的漏洞缺陷。
如上述步骤S1所述的,每间隔预设时间,获取一个扫描结果,经过多次扫描则可以获取到多个扫描结果,并对该扫描结果进行维度分析,以分析出该扫描结果中包括的漏洞个数,漏洞级别,漏洞历史修改时间,漏洞严重性等漏洞属性,其中每一种漏洞属性对应有漏洞数据,例如漏洞个数对应的漏洞数据为a个。在本实施例中,每间隔预设时间进行漏洞信息采集的目的在于,确保获取漏洞信息的及时性,以根据时间上最靠近的漏洞信息实现精准展示的目的。获取漏洞信息后,对其进行维度的整合,进行维度的整合即是:将不同漏洞信息进行有序排序,排序的目的在于便于后续进行维度坐标的处理。
如上述步骤S2所述的,预先构建有一个高维度的坐标轴,将每个所述扫描结果中的漏洞属性作为维度,将每个维度作为一个坐标轴,并将对应的漏洞数据作为在所述维度的坐标,则可以构建出每个所述扫描结果对应的多维度坐标。本步骤中即是将每个扫描结果作为一个样本,每个样本对应的漏洞属性以及漏洞数据构建出对应的高维度坐标。例如,若一漏洞信息中包括漏洞个数,漏洞级别,漏洞历史修改时间及其对应的漏洞数据,则可以构建出一个三维的坐标点XYZ。
如上述步骤S3-S5所述的,为对上述每个高维坐标点进行降维处理,其是为了找出同一个样本点在高维空间与低维空间的对应关系,本实施例中采用了流形学习算法中的LLE算法进行降维处理。
具体地,每个样本点周围都具有多个相邻的样本点,将相邻的多个样本点作为该样本点的近邻点。在将高维坐标点输出到低维空间时,需要保持每个样本点与其周围近邻点之间的相对位置,因此,需要获取每个所述样本点相邻的多个近邻点的多维度坐标,再根据每个所述样本点相邻的多个近邻点的多维度坐标,计算每个所述样本点的局部重建权值矩阵,该局部重建权值矩阵指的便是每个样本点与多个近邻点的相对位置关系。最后为了保障每个样本点与多个近邻点在低维空间之间的相对位置关系不变,则根据每个所述样本点相邻的多个近邻点的多维度坐标,以及每个所述样本点的局部重建权值矩阵,计算每个所述样本点在低维空间的输出值,该输出值指的是该样本点在低维空间的位置,例如,上述样本点的三维坐标点为XYZ,其输出值则可能为X1Y1,或者Y1Z1等。根据上述输出值,则可以找出高维空间与低维空间的对应关系。
如上述步骤S6所述的,根据所述输出值,从每个样本点的漏洞属性中,确定出表达每个所述样本点的重要维度的目标漏洞属性;当一个高维坐标点降维到低维空间时,其减少的维度便是不重要的维度,即不需要该维度也可以表达出该样本点的属性;而未减少的维度便是重要的维度,其为用于表达出该样本点的关键属性。因此,根据上述输出值,确定出其相对于多维度坐标所保留的维度,便可以从中确定出目标漏洞属性。
如上述步骤S7所述的,根据所述目标漏洞属性,则可以确定该目标漏洞属性为比较重要的多个维度,然后根据其对应的项目名称、开发人员属性,便可以建立对应的关联关系。例如,项目A、开发人员甲对应的目标漏洞属性为漏洞个数,漏洞级别。若检测到新的漏洞信息或相关人员时,根据建立的关联关系判断该新接入的开发需要展示的漏洞属性等信息,以实现精准展示。也可以对比漏洞数据分析有多少变化,做报表,图形展示,使展示界面更直观友好。
由于传统的代码扫描,静态分析都是基于语法解析或者编译器,这些方式分析代码的缺陷是以代码所匹配的规则模式去评估代码,只要模式匹配或者相似就报出来。需要人工去分辨出其中的真假,主要存在误报和漏报的问题。漏洞扫描的过程,数据量大且很复杂,运行程序也要花费相当长的时间,结果展示不友好;因此,在本实施例中,对漏洞信息进行降维处理,便于降低数据维度,减少容冗余性,从而便于不同用户进行定制化选择,根据侧重点进行维度选择。
在一实施例中,所述获取每个所述样本点相邻的多个近邻点的多维度坐标的步骤S3,包括:
针对每个所述样本点,计算所述样本点与其相邻的相邻样本点之间的欧式距离;
若所述欧式距离少于设定值,则将对应的相邻样本点作为所述近邻点,并获取所述近邻点的多维度坐标;
其中,所述近邻点为k个,针对每个样本点xi,其k个近邻点的多维度坐标为(xi1,xi2,...,xik)。
在其他实施例中,也可以采用其它距离的计算方式,例如余弦距离等。
在一实施例中,所述根据每个所述样本点相邻的多个近邻点的多维度坐标,计算每个所述样本点的局部重建权值矩阵的步骤S4,包括:
根据每个所述样本点相邻的多个近邻点的多维度坐标,计算局部协方差矩阵;
基于所述局部协方差矩阵,计算每个所述样本点的局部重建权值矩阵。
在本实施例中,所述计算局部协方差矩阵的计算公式为:
Zi=(xi-xj)(xi-xj)T;其中,Zi为局部协方差矩阵,T为转置;Xj为Xi的k个近邻点中的一个点;
所述计算每个所述样本点的局部重建权值矩阵的计算公式为:
其中,Wi为每个所述样本点的局部重建权值矩阵,1k为k维全1向量;
在一实施例中,所述输出值表示为yi=(y1,y2,...,ym);
所述根据每个所述样本点相邻的多个近邻点的多维度坐标,以及每个所述样本点的局部重建权值矩阵,计算每个所述样本点在低维空间的输出值的计算过程为:
根据所述局部重建权值矩阵,计算矩阵M;
其中,M=(I-W)(I-W)T;W为由Wi组成的权重系数矩阵;
m为多维度坐标的维度,/>
计算矩阵M的最小的前d+1个特征值,并计算前d+1个特征值对应的特征向量{y1,y2,...,yd+1};其中,d为低维空间的维度;
由第二个特征向量到第d+1个特征向量所组成的矩阵即为所述样本点在低维空间的输出值的矩阵D={y2,y3,...,yd+1}。
在一实施例中,所述安全扫描工具用于扫描源代码的漏洞;
所述每间隔预设时间,获取一个安全扫描工具的扫描结果,并对每次获取的所述扫描结果进行分析,得到每个所述扫描结果中的漏洞属性以及对应的漏洞数据的步骤S1之后,还包括:
步骤S11,将所述扫描结果中的漏洞属性以及对应的漏洞数据按照设定顺序进行拼接,得到拼接数据;
步骤S12,对所述拼接数据进行哈希计算,得到对应的哈希值;
步骤S13,在预设的数据库中查找是否具有与所述哈希值相同的目标哈希值;
步骤S14,若具有,则获取所述目标哈希值对应的漏洞修复方案,并基于所述漏洞修复方案修复所述源代码。
在本实施例中,在每一次修复源代码之后,都会将其对应的扫描结果中漏洞属性以及对应的漏洞数据按照设定顺序进行拼接,进而在进行哈希计算得到哈希值,最后将对应的哈希值与修复上述源代码的漏洞修复方案建立映射关系存储至预设的数据库中。
在之后安全扫描工具每一次扫描源代码得到扫描结果之后,为了避免每一次都要重新设定漏洞修复方案,浪费人力;当扫描出的漏洞缺陷与之前扫描出的漏洞缺陷一致时,则可以采用相同的漏洞修复方案;因此,可以在安全扫描工具每一次扫描源代码得到扫描结果之后,判断扫描出的漏洞缺陷是否与之前的一致。为了避免对漏洞属性中的每一项进行对比时计算量较大的缺陷,在本实施例中,将所述扫描结果中的漏洞属性以及对应的漏洞数据按照设定顺序进行拼接,得到拼接数据;对所述拼接数据进行哈希计算,得到对应的哈希值;进而,在预设的数据库中查找是否具有与所述哈希值相同的目标哈希值。可以理解的是,上述漏洞属性以及对应的漏洞数据只要一项数据与之前的漏洞不同,则对应计算得到的哈希值也会不同。因此,当在预设的数据库中查找是否具有与所述哈希值相同的目标哈希值时,则表明当前扫描出的漏洞与之前的一次完全一致,则可以采用之前对应采用过的漏洞修复方案进行源代码的修复,提升上述漏洞修复方案的复用性,并降低人员参与修复的压力。
在一实施例中,所述方法还包括:
将所述扫描结果、每个所述样本点的局部重建权值矩阵、映射关联关系存储至区块链中。其中,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
参照图2,本申请一实施例中还提供了一种扫描结果的处理装置,包括:
分析单元10,用于每间隔预设时间,获取一个安全扫描工具的扫描结果,并对每次获取的所述扫描结果进行分析,得到每个所述扫描结果中的漏洞属性以及对应的漏洞数据;
构建单元20,用于将每个所述扫描结果中的每个漏洞属性作为一个维度,并将对应的漏洞数据作为在所述维度上的坐标,构建出每个所述扫描结果对应的多维度坐标,并将每个所述多维度坐标作为一个样本点;
第一获取单元30,用于获取每个所述样本点相邻的多个近邻点的多维度坐标;
第一计算单元40,用于根据每个所述样本点相邻的多个近邻点的多维度坐标,计算每个所述样本点的局部重建权值矩阵;
第二计算单元50,用于根据每个所述样本点相邻的多个近邻点的多维度坐标,以及每个所述样本点的局部重建权值矩阵,计算每个所述样本点在低维空间的输出值;
确定单元60,用于根据所述输出值,确定出目标漏洞属性;其中,所述目标漏洞属性为所述输出值与所述多维度坐标中相同维度所对应的属性;
建立单元70,用于根据所述目标漏洞属性,以及对应的项目名称、开发人员属性,建立对应的映射关联关系。
在一实施例中,所述第一获取单元30,具体用于:
针对每个所述样本点,计算所述样本点与其相邻的相邻样本点之间的欧式距离;
若所述欧式距离少于设定值,则将对应的相邻样本点作为所述近邻点,并获取所述近邻点的多维度坐标;
其中,所述近邻点为k个,针对每个样本点xi,其k个近邻点的多维度坐标为(xi1,xi2,...,xik)。
在一实施例中,所述第二计算单元50根据每个所述样本点相邻的多个近邻点的多维度坐标,计算每个所述样本点的局部重建权值矩阵,包括:
根据每个所述样本点相邻的多个近邻点的多维度坐标,计算局部协方差矩阵;
基于所述局部协方差矩阵,计算每个所述样本点的局部重建权值矩阵。
在本实施例中,所述计算局部协方差矩阵的计算公式为:
Zi=(xi-xj)(xi-xj)T;其中,Zi为局部协方差矩阵,T为转置;Xj为Xi的k个近邻点中的一个点;
所述计算每个所述样本点的局部重建权值矩阵的计算公式为:
其中,Wi为每个所述样本点的局部重建权值矩阵,1k为k维全1向量;
在一实施例中,所述输出值表示为yi=(y1,y2,...,ym);
所述第二计算单元50计算每个所述样本点在低维空间的输出值的计算过程为:
根据所述局部重建权值矩阵,计算矩阵M;
其中,M=(I-W)(I-W)T;W为由Wi组成的权重系数矩阵;
m为多维度坐标的维度,/>
计算矩阵M的最小的前d+1个特征值,并计算前d+1个特征值对应的特征向量{y1,y2,...,yd+1};其中,d为低维空间的维度;
由第二个特征向量到第d+1个特征向量所组成的矩阵即为所述样本点在低维空间的输出值的矩阵D={y2,y3,...,yd+1}。
在一实施例中,所述安全扫描工具用于扫描源代码的漏洞;
所述扫描结果的处理装置,还包括:
拼接单元,用于将所述扫描结果中的漏洞属性以及对应的漏洞数据按照设定顺序进行拼接,得到拼接数据;
哈希计算单元,用于对所述拼接数据进行哈希计算,得到对应的哈希值;
查找单元,用于在预设的数据库中查找是否具有与所述哈希值相同的目标哈希值;
第二获取单元,用于若具有,则获取所述目标哈希值对应的漏洞修复方案,并基于所述漏洞修复方案修复所述源代码。
在一实施例中,所述扫描结果的处理装置,还包括:
存储单元,用于将所述扫描结果、每个所述样本点的局部重建权值矩阵、映射关联关系存储至区块链中。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储扫描结果等。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种扫描结果的处理方法。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种扫描结果的处理方法。可以理解的是,本实施例中的计算机可读存储介质可以是易失性可读存储介质,也可以为非易失性可读存储介质。
综上所述,为本申请实施例中提供的扫描结果的处理方法、装置、计算机设备和存储介质,包括:获取一个安全扫描工具的扫描结果,通过将每次获取的所述扫描结果中的每个漏洞属性作为一个维度,并将对应的漏洞数据作为在所述维度上的坐标,构建出每个所述扫描结果对应的多维度坐标;并计算每个所述样本点在低维空间的输出值;根据所述输出值,确定出目标漏洞属性;其中,所述目标漏洞属性为所述输出值与所述多维度坐标中相同维度所对应的属性;根据所述目标漏洞属性,以及对应的项目名称、开发人员属性,建立对应的映射关联关系。本申请将多维度数据降维到低纬度空间,便于降低数据维度,减少冗余性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM通过多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种扫描结果的处理方法,其特征在于,包括以下步骤:
每间隔预设时间,获取一个安全扫描工具的扫描结果,并对每次获取的所述扫描结果进行分析,得到每个所述扫描结果中的漏洞属性以及对应的漏洞数据;
将每个所述扫描结果中的每个漏洞属性作为一个维度,并将对应的漏洞数据作为在所述维度上的坐标,构建出每个所述扫描结果对应的多维度坐标,并将每个所述多维度坐标作为一个样本点;
获取每个所述样本点相邻的多个近邻点的多维度坐标;
根据每个所述样本点相邻的多个近邻点的多维度坐标,计算每个所述样本点的局部重建权值矩阵;所述局部重建权值矩阵指每个样本点与多个近邻点的相对位置关系;
根据每个所述样本点相邻的多个近邻点的多维度坐标,以及每个所述样本点的局部重建权值矩阵,计算每个所述样本点在低维空间的输出值;
根据所述输出值,确定出目标漏洞属性;其中,所述目标漏洞属性为所述输出值与所述多维度坐标中相同维度所对应的属性;
根据所述目标漏洞属性,以及对应的项目名称、开发人员属性,建立对应的映射关联关系。
2.根据权利要求1所述的扫描结果的处理方法,其特征在于,所述获取每个所述样本点相邻的多个近邻点的多维度坐标的步骤,包括:
针对每个所述样本点,计算所述样本点与其相邻的相邻样本点之间的欧式距离;
若所述欧式距离少于设定值,则将对应的相邻样本点作为所述近邻点,并获取所述近邻点的多维度坐标;
其中,所述近邻点为k个,针对每个样本点xi,其k个近邻点的多维度坐标为(xi1,xi2,...,xik)。
3.根据权利要求2所述的扫描结果的处理方法,其特征在于,所述根据每个所述样本点相邻的多个近邻点的多维度坐标,计算每个所述样本点的局部重建权值矩阵的步骤,包括:
根据每个所述样本点相邻的多个近邻点的多维度坐标,计算局部协方差矩阵;
基于所述局部协方差矩阵,计算每个所述样本点的局部重建权值矩阵。
4.根据权利要求3所述的扫描结果的处理方法,其特征在于,所述计算局部协方差矩阵的计算公式为:
Zi=(xi-xj)(xi-xj)T;其中,Zi为局部协方差矩阵,T为转置;Xj为Xi的k个近邻点中的一个点;
所述计算每个所述样本点的局部重建权值矩阵的计算公式为:
其中,Wi为每个所述样本点的局部重建权值矩阵,1k为k维全1向量。
5.根据权利要求4所述的扫描结果的处理方法,其特征在于,所述输出值表示为yi=(y1,y2,...,ym);
所述根据每个所述样本点相邻的多个近邻点的多维度坐标,以及每个所述样本点的局部重建权值矩阵,计算每个所述样本点在低维空间的输出值的计算过程为:
根据所述局部重建权值矩阵,计算矩阵M;
其中,M=(I-W)(I-W)T;W为由Wi组成的权重系数矩阵;
m为多维度坐标的维度,/>
计算矩阵M的最小的前d+1个特征值,并计算前d+1个特征值对应的特征向量{y1,y2,...,yd+1};其中,d为低维空间的维度;
由第二个特征向量到第d+1个特征向量所组成的矩阵即为所述样本点在低维空间的输出值的矩阵D={y2,y3,...,yd+1}。
6.根据权利要求1所述的扫描结果的处理方法,其特征在于,所述安全扫描工具用于扫描源代码的漏洞;
所述每间隔预设时间,获取一个安全扫描工具的扫描结果,并对每次获取的所述扫描结果进行分析,得到每个所述扫描结果中的漏洞属性以及对应的漏洞数据的步骤之后,还包括:
将所述扫描结果中的漏洞属性以及对应的漏洞数据按照设定顺序进行拼接,得到拼接数据;
对所述拼接数据进行哈希计算,得到对应的哈希值;
在预设的数据库中查找是否具有与所述哈希值相同的目标哈希值;
若具有,则获取所述目标哈希值对应的漏洞修复方案,并基于所述漏洞修复方案修复所述源代码。
7.根据权利要求1所述的扫描结果的处理方法,其特征在于,所述方法还包括:
将所述扫描结果、每个所述样本点的局部重建权值矩阵、映射关联关系存储至区块链中。
8.一种扫描结果的处理装置,其特征在于,包括:
分析单元,用于每间隔预设时间,获取一个安全扫描工具的扫描结果,并对每次获取的所述扫描结果进行分析,得到每个所述扫描结果中的漏洞属性以及对应的漏洞数据;
构建单元,用于将每个所述扫描结果中的每个漏洞属性作为一个维度,并将对应的漏洞数据作为在所述维度上的坐标,构建出每个所述扫描结果对应的多维度坐标,并将每个所述多维度坐标作为一个样本点;
第一获取单元,用于获取每个所述样本点相邻的多个近邻点的多维度坐标;
第一计算单元,用于根据每个所述样本点相邻的多个近邻点的多维度坐标,计算每个所述样本点的局部重建权值矩阵;所述局部重建权值矩阵指每个样本点与多个近邻点的相对位置关系;
第二计算单元,用于根据每个所述样本点相邻的多个近邻点的多维度坐标,以及每个所述样本点的局部重建权值矩阵,计算每个所述样本点在低维空间的输出值;
确定单元,用于根据所述输出值,确定出目标漏洞属性;其中,所述目标漏洞属性为所述输出值与所述多维度坐标中相同维度所对应的属性;
建立单元,用于根据所述目标漏洞属性,以及对应的项目名称、开发人员属性,建立对应的映射关联关系。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010905183.7A CN112016098B (zh) | 2020-09-01 | 2020-09-01 | 扫描结果的处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010905183.7A CN112016098B (zh) | 2020-09-01 | 2020-09-01 | 扫描结果的处理方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112016098A CN112016098A (zh) | 2020-12-01 |
CN112016098B true CN112016098B (zh) | 2023-09-08 |
Family
ID=73516203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010905183.7A Active CN112016098B (zh) | 2020-09-01 | 2020-09-01 | 扫描结果的处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112016098B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112528293B (zh) * | 2020-12-18 | 2024-04-30 | 中国平安财产保险股份有限公司 | 安全漏洞预警方法、装置、设备及计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102098180A (zh) * | 2011-02-17 | 2011-06-15 | 华北电力大学 | 一种网络安全态势感知方法 |
CN110717806A (zh) * | 2019-09-06 | 2020-01-21 | 中国平安财产保险股份有限公司 | 产品信息推送方法、装置、设备及存储介质 |
CN111488585A (zh) * | 2020-04-17 | 2020-08-04 | 北京墨云科技有限公司 | 一种基于深度学习的攻击向量生成方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160012235A1 (en) * | 2014-02-10 | 2016-01-14 | Vivo Security Inc. | Analysis and display of cybersecurity risks for enterprise data |
US10191956B2 (en) * | 2014-08-19 | 2019-01-29 | New England Complex Systems Institute, Inc. | Event detection and characterization in big data streams |
-
2020
- 2020-09-01 CN CN202010905183.7A patent/CN112016098B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102098180A (zh) * | 2011-02-17 | 2011-06-15 | 华北电力大学 | 一种网络安全态势感知方法 |
CN110717806A (zh) * | 2019-09-06 | 2020-01-21 | 中国平安财产保险股份有限公司 | 产品信息推送方法、装置、设备及存储介质 |
CN111488585A (zh) * | 2020-04-17 | 2020-08-04 | 北京墨云科技有限公司 | 一种基于深度学习的攻击向量生成方法 |
Non-Patent Citations (1)
Title |
---|
DDoS攻击的检测及网络安全可视化研究;吕良福;《天津大学博士论文》;第1-92页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112016098A (zh) | 2020-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109670049B (zh) | 图谱路径查询方法、装置、计算机设备和存储介质 | |
CN108764048B (zh) | 人脸关键点检测方法及装置 | |
Zhao et al. | Robust hashing for image authentication using Zernike moments and local features | |
US20180182039A1 (en) | Method, system, apparatus, and storage medium for realizing antifraud in insurance claim based on consistency of multiple images | |
CN106447592B (zh) | 每个特征描述符的在线个性化服务 | |
WO2021212658A1 (zh) | Ocr图像样本生成、印刷体验证方法、装置、设备及介质 | |
CN109685528A (zh) | 基于深度学习检测仿冒产品的系统和方法 | |
CN109285105A (zh) | 水印检测方法、装置、计算机设备和存储介质 | |
CN103577323B (zh) | 基于动态关键指令序列胎记的软件抄袭检测方法 | |
Park et al. | Recognition of partially occluded objects using probabilistic ARG (attributed relational graph)-based matching | |
US20200005078A1 (en) | Content aware forensic detection of image manipulations | |
CN112052364B (zh) | 敏感信息检测方法、装置、设备与计算机可读存储介质 | |
CN112016098B (zh) | 扫描结果的处理方法、装置、计算机设备和存储介质 | |
CN105825084B (zh) | 用于对具有图像的对象进行匹配检测的方法 | |
CN117115823A (zh) | 一种篡改识别方法、装置、计算机设备和存储介质 | |
CN114254069A (zh) | 域名相似度的检测方法、装置和存储介质 | |
CN111431876A (zh) | 访问数据库的方法、装置、计算机设备和存储介质 | |
CN116896455A (zh) | 网络攻击检测方法、装置、电子设备及存储介质 | |
CN115758271A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN115661212A (zh) | 基于计算机视觉的建筑结构改扩建安全排查方法与装置 | |
CN116108464A (zh) | 图像处理方法、装置、电子设备及可读存储介质 | |
CN110717157B (zh) | 用户验证方法、装置、计算机设备和存储介质 | |
Zaidi | Mathematical Methods for IoT‐Based Annotating Object Datasets with Bounding Boxes | |
CN111523867B (zh) | 人员信息管理方法、计算机设备和存储介质 | |
Zheng et al. | A fast and accurate iterative method for the camera pose estimation problem |
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 |