CN114595463A - 风险检测方法以及装置 - Google Patents
风险检测方法以及装置 Download PDFInfo
- Publication number
- CN114595463A CN114595463A CN202210240738.XA CN202210240738A CN114595463A CN 114595463 A CN114595463 A CN 114595463A CN 202210240738 A CN202210240738 A CN 202210240738A CN 114595463 A CN114595463 A CN 114595463A
- Authority
- CN
- China
- Prior art keywords
- risk
- target
- software product
- dimension
- feature
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 155
- 238000012502 risk assessment Methods 0.000 claims abstract description 43
- 238000000034 method Methods 0.000 claims abstract description 33
- 238000006243 chemical reaction Methods 0.000 claims description 17
- 230000008859 change Effects 0.000 claims description 12
- 238000003860 storage Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 4
- 238000007405 data analysis Methods 0.000 abstract description 6
- 230000000875 corresponding effect Effects 0.000 description 51
- 230000003068 static effect Effects 0.000 description 17
- 238000004590 computer program Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 7
- 230000005856 abnormality Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000035699 permeability Effects 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000203 mixture Substances 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
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
Images
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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本说明书实施例提供风险检测方法以及装置,其中风险检测方法包括:获取目标软件产品在多个目标特征维度下产生的特征数据,多个目标特征维度为对目标软件产品的历史风险数据分析得到;针对任一目标特征维度,采用该目标特征维度对应的风险分析策略,对该目标特征维度下产生的特征数据进行风险分析,获得该目标特征维度的风险估计;根据多个目标特征维度的风险估计,确定目标软件产品的风险检测结果。上述方法根据目标软件产品的历史风险数据分析得到与目标软件是否存在风险相关程度比较高的目标特征维度,通过多个目标特征维度下产生的特征数据确定目标软件产品的风险检测结果,能够提高风险检测的准确性。
Description
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种风险检测方法。
背景技术
软件产品的生命周期包括设计、生产、交付、部署、使用及运营、停止等阶段。面向此生命周期所涉及的分工协作、联合攻关、平台环境等就是软件供应链的主要内容,软件供应链的主要攻击类型也与这些环节密切相关。近年来,针对软件供应链的安全攻击事件一直呈快速增长态势,造成的危害也越来越严重,且软件产品的开发离不开软件供应链,因此需要对软件产品进行风险检测。
目前通常通过代码扫描的方式对软件产品的风险进行检测,可能会扫描失效导致无法得到检测结果,因此亟需一种更加准确高效的方式对软件产品的风险进行检测。
发明内容
有鉴于此,本说明书实施例提供了一种风险检测方法。本说明书一个或者多个实施例同时涉及一种风险检测装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种风险检测方法,包括:
获取目标软件产品在多个目标特征维度下产生的特征数据,多个目标特征维度为对目标软件产品的历史风险数据分析得到;
针对任一目标特征维度,采用该目标特征维度对应的风险分析策略,对该目标特征维度下产生的特征数据进行风险分析,获得该目标特征维度的风险估计;
根据多个目标特征维度的风险估计,确定目标软件产品的风险检测结果。
本说明书一个或多个实施例中,根据多个目标特征维度的风险估计,确定目标软件产品的风险检测结果,包括:
根据多个目标特征维度的风险估计,确定目标软件产品的风险度量值;
基于目标软件产品的风险度量值,确定目标软件产品的风险检测结果。
本说明书一个或多个实施例中,根据多个目标特征维度的风险估计,确定目标软件产品的风险度量值,包括:
确定每个目标特征维度的风险权重;
基于每个目标特征维度的风险估计和该目标特征维度的风险权重,确定目标软件产品的风险度量值。
本说明书一个或多个实施例中,确定每个目标特征维度的风险权重,包括:
获取多个样本软件产品的历史风险数据,历史风险数据包括该样本软件产品的风险检测结果和该样本软件产品在多个目标特征维度下产生的特征数据;
针对任一样本软件产品,基于每个目标特征维度的预设权重和该目标特征维度下产生的特征数据,确定该样本软件产品的风险度量值;
基于多个样本软件产品的风险度量值和风险检测结果,对预设权重进行调整,直到预设数量个样本软件产品的风险度量值与该样本软件产品的风险检测结果匹配,得到每个目标特征维度的风险权重。
本说明书一个或多个实施例中,基于目标软件产品的风险度量值,确定目标软件产品的风险检测结果,包括:
获取风险阈值,并将目标软件产品的风险度量值与风险阈值进行比对;
若风险度量值大于风险阈值,确定目标软件产品的风险检测结果是存在风险。
本说明书一个或多个实施例中,获取风险阈值,包括:
获取多个样本软件产品的历史风险数据,历史风险数据包括该样本软件产品的风险检测结果和该样本软件产品在多个目标特征维度下产生的特征数据;
针对任一样本软件产品,基于每个目标特征维度的风险权重和该目标特征维度下产生的特征数据,确定该样本软件产品的风险度量值;
基于每个样本软件产品的风险度量值和预设风险阈值,确定每个样本软件产品的风险预测结果;
基于每个样本软件产品的风险预测结果和风险检测结果,对预设风险阈值进行调整,直至预设数量个软件产品的风险预测结果和风险检测结果一致,得到风险阈值。
本说明书一个或多个实施例中,在获取目标软件产品在多个目标特征维度下产生的特征数据之前,还包括:
获取目标软件产品的历史风险数据,历史风险数据包括目标软件产品在多个特征维度下产生的历史特征数据,目标软件产品包括同种类别的多个软件产品;
对多个特征维度的历史特征数据进行分析,获得各特征维度分别在多个软件产品中的变化规律;
统计第一特征维度在多个软件产品中的变化规律相同时的数目,若数目大于预设数量,则将第一特征维度确定为目标特征维度,第一特征维度为多个特征维度中的任一特征维度。
本说明书一个或多个实施例中,风险分析策略包括特征值转换策略和风险估计策略;采用该目标特征维度对应的风险分析策略,对该目标特征维度下产生的特征数据进行风险分析,获得该目标特征维度的风险估计,包括:
采用该目标特征维度对应的特征值转换策略,基于该目标特征维度下产生的特征数据确定该目标特征维度对应的特征值;
采用该目标特征维度对应的风险估计策略,基于该目标特征维度对应的特征值,确定该目标特征维度的风险估计。
根据本说明书实施例的第二方面,提供了一种风险检测装置,包括:
获取模块,被配置为获取目标软件产品在多个目标特征维度下产生的特征数据,多个目标特征维度为对目标软件产品的历史风险数据分析得到;
风险分析模块,被配置为针对任一目标特征维度,采用该目标特征维度对应的风险分析策略,对该目标特征维度下产生的特征数据进行风险分析,获得该目标特征维度的风险估计;
确定模块,被配置为根据多个目标特征维度的风险估计,确定目标软件产品的风险检测结果。
根据本说明书实施例的第三方面,提供了一种计算设备,包括:
存储器和处理器;
存储器用于存储计算机可执行指令,处理器用于执行计算机可执行指令,该计算机可执行指令被处理器执行时实现上述风险检测方法的步骤。
根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现上述风险检测方法的步骤。
根据本说明书实施例的第五方面,提供了一种计算机程序,其中,当计算机程序在计算机中执行时,令计算机执行上述风险检测方法的步骤。
本说明书一个实施例实现了获取目标软件产品在多个目标特征维度下产生的特征数据,多个目标特征维度为对目标软件产品的历史风险数据分析得到;针对任一目标特征维度,采用该目标特征维度对应的风险分析策略,对该目标特征维度下产生的特征数据进行风险分析,获得该目标特征维度的风险估计;根据多个目标特征维度的风险估计,确定目标软件产品的风险检测结果。上述方法根据目标软件产品的历史风险数据分析得到与目标软件产品是否存在风险相关程度比较高的目标特征维度,通过多个目标特征维度下产生的特征数据确定目标软件产品的风险检测结果,能够提高风险检测的准确性。
附图说明
图1是本说明书一个实施例提供的一种风险检测方法的流程图;
图2是本说明书一个实施例提供的一种风险检测方法的处理过程流程图;
图3是本说明书一个实施例提供的一种风险检测装置的结构示意图;
图4是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
软件供应链产品:软件产品在设计、开发、交付过程中使用的各类开源、闭源软件库。
代码静态扫描:在不实际执行程序的情况下,对代码语义和行为进行分析,由此找出程序中由于错误的编码导致异常的程序语义或未定义的行为。
代码动态扫描:在代码运行时执行,通过模仿恶意攻击者,模拟自动攻击应用来发现可能被攻击者用于损害应用的预期之外的后果或结果。
接下来,对本说明书一个或多个实施例提供的风险检测方法的应用场景进行说明。
有报告曾指出,在当前的开发模式下,应用程序中大部分代码是被“组装”而不是“开发”出来的。据其统计,超过95%的组织在项目关键IT系统中都主动或被动地使用了重要的开源软件(OSS)资产;研究表明,应用软件80%~90%的代码来自开源组件。因此,开源组件的安全性直接关系到信息系统基础设施的安全,但目前开源软件的安全性不容乐观,它已成为软件供应链安全问题增长的重要因素。
XX实验室发布了《XX软件供应链安全分析报告》。报告通过对2188个企业软件项目的检测结果进行分析,得出了开源使用的安全状况:所有软件项目均使用了开源软件,平均每个项目使用开源软件数量达135个,使用最多的开源软件出现在581个项目中,渗透率达到了26.6%;平均每个软件项目存在52.5个开源软件漏洞,存在开源软件漏洞、高危开源软件漏洞和超危开源软件漏洞的项目分别为1695个、1599个、1319个,占比分别为77.5%、71.3%、60.3%;影响面最大的开源软件漏洞(Spring Frame Work漏洞)出现在973个项目中,渗透率高达44.5%,一旦该漏洞被攻击者利用,将影响近半数的企业软件,波及的企业数量更加不计其数。
此外,根据XX实验室另一项针对联网设备固件的安全检测表明,摄像头、路由器等智能联网设备的开源软件安全问题也很突出:许多多年之前的老旧漏洞未进行及时修复,86.4%的设备的最新固件存在至少一个老旧开源软件漏洞,漏洞最多的固件存在74个老旧开源软件漏洞。甚至2014年曝出的“心脏滴血”漏洞,仍然存在于5.3%的最新设备中。因此,针对软件产品的风险检测刻不容缓。
在传统的软件产品的风险检测领域内,通常会采用代码静态扫描或代码动态扫描技术对源代码进行扫描分析,通过特征匹配、语义分析等手段,挖掘潜在的安全风险。
代码静态扫描技术,由于软件产品通常以打包后的制品形式提供,制品内的代码与源代码相比,有些经过了编译、混淆、加密等操作时,代码静态扫描技术往往不能正确识别代码语义,不能准确命中代码特征,导致出现检测遗漏。代码动态扫描技术依赖于软件运行时的检测能力,但软件产品作为软件系统组成的一部分,绝大部分情况无法独立运行,运行时检测能力此时即失效,无法正常检出。
为此,本说明书一个或多个实施例提供了一种风险检测方法,能够解决上述问题,具体实现可参见下述各个实施例的相关描述。
在本说明书中,提供了一种风险检测方法,本说明书同时涉及一种风险检测装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
参见图1,图1示出了本说明书一个实施例提供的一种风险检测方法的流程图,具体包括以下步骤。
步骤102:获取目标软件产品在多个目标特征维度下产生的特征数据,多个目标特征维度为对目标软件产品的历史风险数据分析得到。
在本说明书实施例中,目标软件产品也可以称为软件供应链产品,是需要进行风险检测的软件产品,可以是一类软件产品,也可以是一个软件产品,本说明书实施例对此不作限定。
在一些实施例中,目标特征维度是与目标软件产品是否存在风险的相关程度比较高的特征维度,即目标特征维度的特征数据可以用来确定目标软件产品是否存在风险。即可以理解为,目标特征维度是与一类软件产品对应的,或者,目标特征维度是与一个软件产品对应的,这样确定的目标特征维度更加具有针对性,更加符合目标软件产品的特征数据与目标软件产品的风险之间的关系,进而能够提高风险检测的准确率。
在本说明书一个或多个实施例中,多个目标特征维度可以包括基础特征维度和代码特征维度,基础特征维度是与目标软件产品的基础信息相关的特征所在的维度,代码特征维度是与目标软件产品的代码相关或者需要通过代码确定的特征所在的维度。
在一些实施例中,基础特征维度至少可以包括下载使用量维度、发布时间维度和产品名称维度,代码特征维度至少可以包括代码量维度、代码混淆特征维度和代码静态扫描特征维度。因此,获取的目标软件产品在多个目标特征维度下产生的特征数据可以包括:目标软件产品在下载使用量维度的下载使用量,在发布时间维度的发布时间特征,在产品名称维度的产品名称特征,在代码量维度的代码量,在代码混淆特征维度的代码混淆特征和在代码静态扫描特征维度的代码静态扫描特征。
其中,下载使用量表示该目标软件产品被用户下载使用的次数;发布时间特征指该目标软件产品的发布时间;产品名称特征指产品名称是否与公司内部使用的产品名称相同或相似,或有其他明显异常,如名称中包含大量无意义字母等;代码量表示该目标软件产品中所有文件大小的总和;代码混淆特征指该目标软件产品的代码是否经过混淆及混淆的程度;代码静态扫描特征指该目标软件产品的代码静态扫描结果是否存在漏洞。
在一些实施例中,可以先获取目标软件产品的产品名称、版本、下载链接和技术栈(产品实现上依赖的软件基础组件)等基础信息,然后根据产品名称、版本、下载链接和技术栈从发布该目标软件产品的平台上获取该目标软件产品的下载使用量和发布时间特征,并下载该目标软件产品,对该目标软件产品的安装包进行解压缩,得到该目标软件产品的源代码,计算该目标软件产品的源代码内所有代码文件大小的总和得到该目标软件产品的代码量,通过代码扫描工具对源代码进行检测,确定该目标软件产品的源代码是否混淆以及该目标软件产品的源代码的混淆程度,并且通过代码静态扫描技术对源代码进行扫描,得到代码静态扫描特征,以及根据产品名称和研发该目标软件产品的企业的企业名称确定该目标软件产品的产品名称特征。
在本说明书一个或多个实施例中,在获取目标软件产品在多个目标特征维度下产生的特征数据之前,还包括:
获取目标软件产品的历史风险数据,历史风险数据包括目标软件产品在多个特征维度下产生的历史特征数据,目标软件产品包括同种类别的多个软件产品;对多个特征维度的历史特征数据进行分析,获得各特征维度分别在多个软件产品中的变化规律;统计第一特征维度在多个软件产品中的变化规律相同时的数目,若数目大于预设数量,则将第一特征维度确定为目标特征维度,第一特征维度为多个特征维度中的任一特征维度。
作为一种示例,历史风险数据是与目标软件产品的风险相关的数据,至少包括在历史时间内,目标软件产品在多个特征维度下产生的历史特征数据,可以包括在有风险的情况下产生的历史特征数据,也可以包括在无风险的情况下产生的历史特征数据。并且,该多个特征维度至少包括下载使用量维度、发布时间维度、产品名称维度、代码量维度、代码混淆特征维度和代码静态扫描特征维度。
在一些实施例中,在对目标软件产品进行风险检测之前,需要先确定与目标软件产品的风险相关程度较高的目标特征维度。因此,可以先获取与目标软件产品同种类别的多个软件产品的历史特征数据,然后对于第一特征维度,确定该第一特征维度在每个软件产品中的变化规律,并统计第一特征维度在多个软件产品中的变化规律相同的数目,若该数目大于预设数量,可以认为该第一特征维度的特征数据与目标软件产品是否存在风险的相关程度很高,则可以确定该第一特征维度是目标特征维度。
需要说明的是,预设数量可以由设备默认设置,也可以由用户根据实际需求进行设置,且在使用过程中可以适应性调整,本说明书实施例对此不作限定。
作为一种示例,第一特征维度在软件产品中的变化规律可以是该第一特征维度与该软件产品的相关关系。如软件产品的下载使用量越低风险越高,则可以理解为下载使用量与风险呈负相关;软件产品的代码量越低风险越高,则可以理解为代码量与风险呈负相关,软件产品的发布时间越短风险越高,则可以理解为代码量与风险呈负相关;软件产品的代码混淆特征越多风险越高,则可以理解为代码混淆特征与风险呈正相关;软件产品的静态扫描特征越多风险越高,则可以理解为代码静态扫描特征与风险呈正相关;软件产品的产品名称与企业名称相似度越高风险越高,则可以理解为产品名称与风险呈正相关。
作为一种示例,以代码量维度为例,获取多个软件产品在代码量维度的代码量以及每个软件产品的风险程度,若代码量维度在N个软件产品中与软件产品的风险程度呈负相关,且N大于预设数量,则可以确定代码量维度是目标特征维度。对于多个特征维度均进行上述操作后,可以从多个特征维度中确定目标特征维度。
本说明书实施例中,通过已有的目标软件产品在多个特征维度的历史特征数据,能够确定出与目标产品的风险程度的相关度较高的目标特征维度,且该目标特征维度对目标软件产品具有针对性,更加符合目标软件产品的风险与特征维度的关系,因此基于该目标特征维度的特征数据对目标软件产品进行风险检测,能够得到更加准确的风险检测结果。
步骤104:针对任一目标特征维度,采用该目标特征维度对应的风险分析策略,对该目标特征维度下产生的特征数据进行风险分析,获得该目标特征维度的风险估计。
在本说明书一个或多个实施例中,风险分析策略用来对目标特征维度的特征数据进行风险分析,以确定目标特征维度的风险程度(风险估计)。并且,对于不同的目标特征维度,使用不同的风险分析策略,则能够采用符合目标特征维度的数据情况的策略进行风险分析,得到的风险估计更加准确。
在本说明书一个或多个实施例中,风险分析策略包括特征值转换策略和风险估计策略;采用该目标特征维度对应的风险分析策略,对该目标特征维度下产生的特征数据进行风险分析,获得该目标特征维度的风险估计,包括:
采用该目标特征维度对应的特征值转换策略,基于该目标特征维度下产生的特征数据确定该目标特征维度对应的特征值;采用该目标特征维度对应的风险估计策略,基于该目标特征维度对应的特征值,确定该目标特征维度的风险估计。
其中,特征值转换策略用于将特征数据转换为特征值,即数值,便于后续计算。风险估计策略用于根据特征值确定风险估计,可能是预先确定的函数,也可能是预先设置的阈值等,本说明书实施例对此不作限定。并且,特征转换策略和风险估计策略可以由用户根据目标软件产品的风险情况设置,也可以根据经验设置,还可以在使用过程中根据实际情况进行调整,本说明书实施例对此不作限定。
在一些实施例中,可以先根据特征值转换策略将对应的目标特征维度的特征数据转换为特征值,再基于对应的风险估计策略,将特征值转换为风险估计,则能够得到该目标特征维度的风险估计。
作为一种示例,针对代码量维度,由于其特征数据代码量本身即是数值,因此,代码量维度对应的特征值转换策略是将特征数据确定为特征值;针对代码混淆特征维度,可以根据代码混淆特征的混淆程度转换得到特征值,如无混淆对应的特征值是0,弱混淆对应的特征值是1,中等强度混淆对应的特征值是2,强混淆对应的特征值是3;针对代码静态扫描特征维度,可以根据是否存在漏洞的可能性转换得到特征值,如存在漏洞的可能性是0%,对应的特征值是0,存在漏洞的可能性是1%-80%,对应的特征值是1,存在漏洞的可能性是81%-90%,对应的特征值是2,存在漏洞的可能性是91%-100%,对应的特征值是3;针对产品名称特征,可以根据存在异常的可能性转换得到特征值,如存在异常的可能性是0%,对应的特征值是0,存在异常的可能性是1%-80%,对应的特征值是1,存在异常的可能性是81%-90%,对应的特征值是2,存在异常的可能性是91%-100%,对应的特征值是3。
通过上述方式可以将每个目标特征维度的特征数据转换为特征值,然后再根据风险估计策略基于特征值确定风险估计。
例如,针对代码量,可以通过分析已有的存在风险的软件产品与不存在风险的软件产品之间的差异,确定存在风险的软件产品的代码量远少于不存在风险的软件产品,因此可设置一个代码量阈值。在代码量小于代码量阈值时,代码量越小风险程度越高,则风险估计越高;在代码量大于代码量阈值时,则可确定风险估计为0。
作为一种示例,假设目标特征维度包括维度1、维度2和维度3,且该三个目标特征维度的特征数据分别是a1、a2和a3,若风险估计策略是函数,假设与该三个目标特征维度对应的风险估计策略分别是f1、f2和f3,则维度1的风险估计b1=f1(a1),维度2的风险估计b2=f2(a2),维度3的风险估计b3=f3(a3)。
本说明书一个或多个实施例中,对于每个目标特征维度,采用该目标特征维度对应的特征值转换策略和风险估计策略,有针对性地确定每个目标特征维度的风险估计,提高了确定的风险估计的准确性。
步骤106:根据多个目标特征维度的风险估计,确定目标软件产品的风险检测结果。
其中,风险检测结果可以是是否存在风险,也可以是风险程度,本说明书实施例对此不作限定。
在本说明书一个或多个实施例中,根据多个目标特征维度的风险估计,确定目标软件产品的风险检测结果,包括:
根据多个目标特征维度的风险估计,确定目标软件产品的风险度量值;基于目标软件产品的风险度量值,确定目标软件产品的风险检测结果。
其中,风险度量值可以用来度量目标软件产品的风险。
也就是说,在确定多个目标特征维度的风险估计后,将多个目标特征维度的风险估计融合,可以得到目标软件产品的风险度量值,再根据目标软件产品的风险度量值,能够得到目标软件产品的风险检测结果,进而实现对目标软件产品的风险检测。
在一些实施例中,可以将多个目标特征维度的风险估计相加得到的和确定为目标软件产品的风险度量值。或者,可以根据经验或者大数据确定多个目标特征维度之间的关系,以及该多个目标特征维度与目标软件产品的风险程度之间的关系,得到风险度量函数,将该多个目标特征维度代入风险度量函数中,得到该目标软件产品的风险度量值。
上述方法根据多个目标特征维度的风险估计确定目标软件产品的风险检测结果,能够将风险检测与多个特征维度结合,使得得到的风险检测结果更加准确。
在另一些实施例中,根据多个目标特征维度的风险估计,确定目标软件产品的风险度量值,包括:
确定每个目标特征维度的风险权重;基于每个目标特征维度的风险估计和该目标特征维度的风险权重,确定目标软件产品的风险度量值。
作为一种示例,由于不同的目标特征维度对目标软件产品的风险的影响程度不同,因此,对于不同的目标特征维度,需要确定不同的风险权重,因此,可以先确定每个目标特征维度的风险权重,将每个目标特征维度的风险权重与该目标特征维度的风险估计相乘,则每个目标特征维度可以确定一个乘积,将多个乘积相加之和确定为目标软件产品的风险度量值。
例如,假设目标特征维度包括维度1、维度2和维度3,且维度1的风险估计是b1,维度2的风险估计是b2,维度3的风险估计是b3,维度1的风险权重是c1,维度2的风险权重是c2,维度3的风险权重是c3,则可以确定目标软件产品的风险度量值s=c1*b1+c2*b2+c3*b3。
上述方法为不同特征维度的风险估计赋予不同的风险权重,根据不同特征维度的风险估计和对应的风险权重,确定目标软件产品的风险度量值,由于不同的风险权重区分了不同特征维度对目标软件产品的风险程度的影响,因此确定的风险度量值会更加准确。
在一些实施例中,确定每个目标特征维度的风险权重,包括:
获取多个样本软件产品的历史风险数据,历史风险数据包括该样本软件产品的风险检测结果和该样本软件产品在多个目标特征维度下产生的特征数据;针对任一样本软件产品,基于每个目标特征维度的预设权重和该目标特征维度下产生的特征数据,确定该样本软件产品的风险度量值;基于多个样本软件产品的风险度量值和风险检测结果,对预设权重进行调整,直到预设数量个样本软件产品的风险度量值与该样本软件产品的风险检测结果匹配,得到每个目标特征维度的风险权重。
其中,样本软件产品可以是已有的软件产品中与该目标软件产品的类别相同的软件产品,且该样本软件产品的风险检测结果是已知的,该样本软件产品在多个特征维度下产生的特征数据也是已知的。
作为一种示例,可以先获取该样本软件产品的风险检测结果,获取该样本软件产品在多个目标特征维度下产生的特征数据,以及获取预设权重,基于该多个目标特征维度的特征数据和对应的预设权重,通过与上述步骤106相同的方式,确定该样本软件产品的风险度量值,基于风险度量值确定该样本软件产品的风险预测结果,将每个样本软件产品的风险预测结果与该样本软件产品的风险检测结果进行比对,若大于预设数量个样本软件产品的风险预测结果与风险检测结果不匹配,则对预设权重进行调整,并再次确定每个样本软件产品的风险度量值,直到大于或等于预设数量个样本软件产品的风险估计与该样本软件产品的风险检测结果匹配,则可以确定此时的预设权重是比较合适的,将此时每个目标特征维度的预设权重确定为该目标特征维度的风险权重。
本说明书一个或多个实施例中,根据样本软件产品的特征数据和风险检测结果对预设权重进行调整,得到目标特征维度的风险权重,能够确定使得大多数样本软件产品的风险检测结果与风险预测结果匹配的风险权重,则该风险权重与目标软件产品的风险分布在多个特征维度的情况是相同的,因此确定的风险权重更加适合也更加准确。
在本说明书一个或多个实施例中,基于目标软件产品的风险度量值,确定目标软件产品的风险检测结果,包括:
获取风险阈值,并将目标软件产品的风险度量值与风险阈值进行比对;若风险度量值大于风险阈值,确定目标软件产品的风险检测结果是存在风险。
其中,风险阈值可以由用户根据实际需求进行设置,也可以由设备默认设置,还可以根据大数据分析得到,本说明书实施例对此不作限定。
作为一种示例,可以先获取风险阈值,然后将风险阈值与风险度量值进行比较,若风险度量值大于风险阈值,可以认为该目标软件产品存在风险的可能性比较高,因此,可以确定目标软件产品的风险检测结果是存在风险,若风险度量值小于或等于风险阈值,可以认为该目标软件产品存在风险的可能性比较低,因此,可以认为确定目标软件产品的风险检测结果是不存在风险。
上述方式通过将风险度量值与预先设置的风险阈值进行比较,确定目标软件产品的风险检测结果,通过简单的方式实现对目标软件产品的风险检测,提高了风险检测的效率。
在本说明书另一种可能的实现方式中,通过一个风险阈值确定目标软件产品的风险检测结果可能会划分地过于宽泛,因此,还可以对风险等级进行划分,不同的风险等级对应不同的风险度量值范围,可以根据目标软件产品的风险度量值所处的风险度量值范围,确定该目标软件产品的风险等级,将该风险等级确定为该目标软件产品的风险检测结果。
作为一种示例,假设风险等级包括高风险、中风险、低风险和无风险,并且,将风险度量值划分为0-60,61-80,81-90,91-100这四个范围,并且,风险度量值0-60对应的风险等级是无风险,风险度量值61-80对应的风险等级是低风险,风险度量值81-90对应的风险等级是中风险,风险度量值91-100对应的风险等级是高风险。若目标软件产品的风险度量值是88,则可以确定该目标软件产品的风险等级是中风险。
上述方式按照风险等级对目标软件产品的风险进行检测,将风险等级划分得更详细,则确定的目标软件产品的风险检测结果会更准确。
在本说明书一个或多个实施例中,获取风险阈值,包括:
获取多个样本软件产品的历史风险数据,历史风险数据包括该样本软件产品的风险检测结果和该样本软件产品在多个目标特征维度下产生的特征数据;针对任一样本软件产品,基于每个目标特征维度的风险权重和该目标特征维度下产生的特征数据,确定该样本软件产品的风险度量值;基于每个样本软件产品的风险度量值和预设风险阈值,确定每个样本软件产品的风险预测结果;基于每个样本软件产品的风险预测结果和风险检测结果,对预设风险阈值进行调整,直至预设数量个软件产品的风险预测结果和风险检测结果一致,得到风险阈值。
其中,样本软件产品可以是已有的软件产品中与该目标软件产品的类别相同的软件产品,且该样本软件产品的风险检测结果是已知的,该样本软件产品在多个特征维度下产生的特征数据也是已知的。
作为一种示例,可以获取多个样本软件产品的风险检测结果,以及每个样本软件产品在多个目标特征维度下产生的特征数据,获取前述调整好的风险权重,基于该多个目标特征维度的特征数据和对应的风险权重,通过与上述步骤106相同的方式,确定该样本软件产品的风险度量值,将风险度量值与预设风险阈值进行比对,确定该样本软件产品的风险预测结果,将每个样本软件产品的风险预测结果与该样本软件产品的风险检测结果进行比对,若大于预设数量个样本软件产品的风险预测结果与风险检测结果不匹配,则对预设风险阈值进行调整,并再次确定每个样本软件产品的风险度量值,直到大于预设数量个样本软件产品的风险预测结果与该样本软件产品的风险检测结果匹配,则可以确定此时的预设风险阈值是比较合适的,将此时的预设风险阈值确定为风险阈值。
需要说明的是,上述过程实际是通过调整风险阈值,让已知存在风险的软件产品的风险度量值均高于风险阈值,让已知不存在风险的软件产品的风险度量值低于风险阈值,保证准确率,且让尽可能少的已知不存在风险的软件产品的风险度量值高于风险阈值,减少误报率,最终得到精准的风险阈值。
上述方法根据样本软件产品的特征数据和风险检测结果对预设风险阈值进行调整,得到风险阈值,能够确定使得大多数样本软件产品的风险检测结果与风险预测结果匹配的风险阈值,则基于该风险阈值确定目标软件产品的风险检测结果,能够得到更加准确的检测结果。
需要说明的是,在本说明书另一些实施例中,还可以根据样本软件产品的历史风险数据,对预设权重和预设风险阈值一起进行调整,以得到风险权重和风险阈值。
本说明书一个实施例实现了获取目标软件产品在多个目标特征维度下产生的特征数据,多个目标特征维度为对目标软件产品的历史风险数据分析得到;针对任一目标特征维度,采用该目标特征维度对应的风险分析策略,对该目标特征维度下产生的特征数据进行风险分析,获得该目标特征维度的风险估计;根据多个目标特征维度的风险估计,确定目标软件产品的风险检测结果。上述方法根据目标软件产品的历史风险数据分析得到与目标软件产品是否存在风险相关程度比较高的目标特征维度,通过多个目标特征维度下产生的特征数据确定目标软件产品的风险检测结果,能够提高风险检测的准确性。另外,采用本方案后,无需识别混淆、加密后的代码语义,只需判断出当前代码是否已经过混淆或加密,作为特征数据的一部分,也无需运行软件,结合其他特征维度的特征数据计算即可得到风险度量值,不会因代码混淆加密或者软件供应链产品无法独立运行而出现扫描失败、检测漏过的现象。
下述结合附图2,以本说明书提供的风险检测方法在监测软件供应链入侵事件的应用为例,对所述风险检测方法进行进一步说明。其中,图2示出了本说明书一个实施例提供的一种风险检测方法的处理过程流程图,具体包括以下步骤:
步骤202:获取目标软件产品的历史风险数据,该历史风险数据包括目标软件产品在多个特征维度下产生的历史特征数据,该目标软件产品包括同种类别的多个软件产品。
例如,获取公司内部使用的多个软件供应链产品的列表,获取多个软件供应链产品在下载使用量维度、发布时间维度、产品名称维度、代码量维度、代码混淆特征维度和代码静态扫描特征维度下产生的历史特征数据,以及每个软件供应链产品是否存在风险的风险检测结果。
步骤204:对多个特征维度的历史特征数据进行分析,获得各特征维度分别在多个软件产品中的变化规律。
步骤206:统计第一特征维度在多个软件产品中的变化规律相同时的数目,若数目大于预设数量,则将第一特征维度确定为目标特征维度,第一特征维度为多个特征维度中的任一特征维度。
例如,基于上述多个软件供应链产品在多个特征维度下产生的历史特征数据,分析得到软件供应链产品的下载使用量越低、代码量越低、发布时间越短、代码混淆特征越多、静态扫描特征越多、供应链产品名称与企业关键字相似度越高,则风险越高。
步骤208:获取目标软件产品在多个目标特征维度下产生的特征数据。
例如,针对需要进行风险检测的目标软件产品,获取该目标软件产品在下载使用量维度、发布时间维度、产品名称维度、代码量维度、代码混淆特征维度和代码静态扫描特征维度下产生的特征数据。
步骤210:针对任一目标特征维度,采用该目标特征维度对应的特征值转换策略,基于该目标特征维度下产生的特征数据确定该目标特征维度对应的特征值。
例如,可以根据经验确定特征值转换策略。针对代码混淆特征维度,可以根据代码混淆特征的混淆程度转换得到特征值,如无混淆对应的特征值是0,弱混淆对应的特征值是1,中等强度混淆对应的特征值是2,强混淆对应的特征值是3。
步骤212:采用该目标特征维度对应的风险估计策略,基于该目标特征维度对应的特征值,确定该目标特征维度的风险估计。
继续上述举例,可以根据经验确定风险估计策略。针对代码混淆特征维度,假设风险估计策略是假设风险估计策略是将特征值确定为风险估计。
步骤214:确定每个目标特征维度的风险权重。
例如,设置预设权重和预设风险阈值,通过分析公司内部使用的多个软件供应链产品在多个特征维度下的特征数据,根据预设权重确定每个软件供应链产品在多个特征维度下的风险估计,再基于该风险估计确定每个软件供应链产品的风险度量值,基于风险度量值和预设风险阈值,确定每个软件供应链产品的风险预测结果,根据风险预测结果和风险检测结果对预设权重和预设风险阈值进行动态调整,让已知存在风险的软件产品的风险度量值均高于风险阈值,让已知不存在风险的软件产品的风险度量值低于风险阈值,保证准确率,且让尽可能少的已知不存在风险的软件产品的风险度量值高于风险阈值,减少误报率,最终得到精准的风险权重和风险阈值。
步骤216:基于每个目标特征维度的风险估计和该目标特征维度的风险权重,确定目标软件产品的风险度量值。
例如,假设目标特征维度包括维度1和维度2,且维度1的风险估计是b1,维度2的风险估计是b2,维度1的风险权重是c1,维度2的风险权重是c2,则可以确定目标软件产品的风险度量值s=c1*b1+c2*b2。
步骤218:获取风险阈值,并将目标软件产品的风险度量值与风险阈值进行比对。
步骤220:若风险度量值大于风险阈值,确定目标软件产品的风险检测结果是存在风险。
例如,假设风险阈值是90,风险度量值是95,则可以确定目标软件产品存在风险。
示例性地,可以持续监测公司内部软件仓库的下载日志,解析下载的目标软件产品,将该目标软件产品的风险度量值与风险阈值进行比较,若大于风险阈值,即表示有员工下载使用了存在风险的产品,可能被外部入侵,开始进行后续的应急排查工作。
本说明书一个实施例实现了获取目标软件产品在多个目标特征维度下产生的特征数据,多个目标特征维度为对目标软件产品的历史风险数据分析得到;针对任一目标特征维度,采用该目标特征维度对应的风险分析策略,对该目标特征维度下产生的特征数据进行风险分析,获得该目标特征维度的风险估计;根据多个目标特征维度的风险估计,确定目标软件产品的风险检测结果。上述方法根据目标软件产品的历史风险数据分析得到与目标软件产品是否存在风险相关程度比较高的目标特征维度,通过多个目标特征维度下产生的特征数据确定目标软件产品的风险检测结果,能够提高风险检测的准确性。另外,采用本方案后,无需识别混淆、加密后的代码语义,只需判断出当前代码是否已经过混淆或加密,作为特征数据的一部分,也无需运行软件,结合其他特征维度的特征数据计算即可得到风险度量值,不会因代码混淆加密或者软件供应链产品无法独立运行而出现扫描失败、检测漏过的现象。
与上述方法实施例相对应,本说明书还提供了风险检测装置实施例,图3示出了本说明书一个实施例提供的一种风险检测装置的结构示意图。如图3所示,该装置包括:
获取模块302,被配置为获取目标软件产品在多个目标特征维度下产生的特征数据,多个目标特征维度为对目标软件产品的历史风险数据分析得到;
风险分析模块304,被配置为针对任一目标特征维度,采用该目标特征维度对应的风险分析策略,对该目标特征维度下产生的特征数据进行风险分析,获得该目标特征维度的风险估计;
确定模块306,被配置为根据多个目标特征维度的风险估计,确定目标软件产品的风险检测结果。
在本说明书一个或多个实施例中,确定模块306,进一步被配置为:
根据多个目标特征维度的风险估计,确定目标软件产品的风险度量值;
基于目标软件产品的风险度量值,确定目标软件产品的风险检测结果。
在本说明书一个或多个实施例中,确定模块306,进一步被配置为:
确定每个目标特征维度的风险权重;
基于每个目标特征维度的风险估计和该目标特征维度的风险权重,确定目标软件产品的风险度量值。
在本说明书一个或多个实施例中,确定模块306,进一步被配置为:
获取多个样本软件产品的历史风险数据,历史风险数据包括该样本软件产品的风险检测结果和该样本软件产品在多个目标特征维度下产生的特征数据;
针对任一样本软件产品,基于每个目标特征维度的预设权重和该目标特征维度下产生的特征数据,确定该样本软件产品的风险度量值;
基于多个样本软件产品的风险度量值和风险检测结果,对预设权重进行调整,直到预设数量个样本软件产品的风险度量值与该样本软件产品的风险检测结果匹配,得到每个目标特征维度的风险权重。
在本说明书一个或多个实施例中,确定模块306,进一步被配置为:
获取风险阈值,并将目标软件产品的风险度量值与风险阈值进行比对;
若风险度量值大于风险阈值,确定目标软件产品的风险检测结果是存在风险。
在本说明书一个或多个实施例中,获确定模块306,进一步被配置为:
获取多个样本软件产品的历史风险数据,历史风险数据包括该样本软件产品的风险检测结果和该样本软件产品在多个目标特征维度下产生的特征数据;
针对任一样本软件产品,基于每个目标特征维度的风险权重和该目标特征维度下产生的特征数据,确定该样本软件产品的风险度量值;
基于每个样本软件产品的风险度量值和预设风险阈值,确定每个样本软件产品的风险预测结果;
基于每个样本软件产品的风险预测结果和风险检测结果,对预设风险阈值进行调整,直至预设数量个软件产品的风险预测结果和风险检测结果一致,得到风险阈值。
在本说明书一个或多个实施例中,获取模块302,进一步被配置为:
获取目标软件产品的历史风险数据,历史风险数据包括目标软件产品在多个特征维度下产生的历史特征数据,目标软件产品包括同种类别的多个软件产品;
对多个特征维度的历史特征数据进行分析,获得各特征维度分别在多个软件产品中的变化规律;
统计第一特征维度在多个软件产品中的变化规律相同时的数目,若数目大于预设数量,则将第一特征维度确定为目标特征维度,第一特征维度为多个特征维度中的任一特征维度。
在本说明书一个或多个实施例中,风险分析模块304,进一步被配置为:
采用该目标特征维度对应的特征值转换策略,基于该目标特征维度下产生的特征数据确定该目标特征维度对应的特征值;
采用该目标特征维度对应的风险估计策略,基于该目标特征维度对应的特征值,确定该目标特征维度的风险估计。
本说明书实施例提供的风险检测装置,获取目标软件产品在多个目标特征维度下产生的特征数据,多个目标特征维度为对目标软件产品的历史风险数据分析得到;针对任一目标特征维度,采用该目标特征维度对应的风险分析策略,对该目标特征维度下产生的特征数据进行风险分析,获得该目标特征维度的风险估计;根据多个目标特征维度的风险估计,确定目标软件产品的风险检测结果。上述方法根据目标软件产品的历史风险数据分析得到与目标软件产品是否存在风险相关程度比较高的目标特征维度,通过多个目标特征维度下产生的特征数据确定目标软件产品的风险检测结果,能够提高风险检测的准确性。另外,采用本方案后,无需识别混淆、加密后的代码语义,只需判断出当前代码是否已经过混淆或加密,作为特征数据的一部分,也无需运行软件,结合其他特征维度的特征数据计算即可得到风险度量值,不会因代码混淆加密或者软件供应链产品无法独立运行而出现扫描失败、检测漏过的现象。
上述为本实施例的一种风险检测装置的示意性方案。需要说明的是,该风险检测装置的技术方案与上述的风险检测方法的技术方案属于同一构思,风险检测装置的技术方案未详细描述的细节内容,均可以参见上述风险检测方法的技术方案的描述。
图4示出了本说明书一个实施例提供的一种计算设备400的结构框图。该计算设备400的部件包括但不限于存储器410和处理器420。处理器420与存储器410通过总线430相连接,数据库450用于保存数据。
计算设备400还包括接入设备440,接入设备440使得计算设备400能够经由一个或多个网络460通信。这些网络的示例包括公用交换电话网(PSTN,Public SwitchedTelephone Network)、局域网(LAN,Local Area Network)、广域网(WAN,Wide AreaNetwork)、个域网(PAN,Personal Area Network)或诸如因特网的通信网络的组合。接入设备440可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC,NetworkInterface Controller))中的一个或多个,诸如IEEE802.11无线局域网(WLAN,WirelessLocal Area Network)无线接口、全球微波互联接入(Wi-MAX,WorldwideInteroperability for Microwave Access)接口、以太网接口、通用串行总线(USB,Universal Serial Bus)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC,Near FieldCommunication)接口,等等。
在本说明书的一个实施例中,计算设备400的上述部件以及图4中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图4所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备400可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备400还可以是移动式或静止式的服务器。
其中,处理器420用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述风险检测方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的风险检测方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述风险检测方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述风险检测方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的风险检测方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述风险检测方法的技术方案的描述。
本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述风险检测方法的步骤。
上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的风险检测方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述风险检测方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
Claims (11)
1.一种风险检测方法,包括:
获取目标软件产品在多个目标特征维度下产生的特征数据,所述多个目标特征维度为对所述目标软件产品的历史风险数据分析得到;
针对任一目标特征维度,采用该目标特征维度对应的风险分析策略,对该目标特征维度下产生的特征数据进行风险分析,获得该目标特征维度的风险估计;
根据所述多个目标特征维度的风险估计,确定所述目标软件产品的风险检测结果。
2.如权利要求1所述的方法,所述根据所述多个目标特征维度的风险估计,确定所述目标软件产品的风险检测结果,包括:
根据所述多个目标特征维度的风险估计,确定所述目标软件产品的风险度量值;
基于所述目标软件产品的风险度量值,确定所述目标软件产品的风险检测结果。
3.如权利要求2所述的方法,所述根据所述多个目标特征维度的风险估计,确定所述目标软件产品的风险度量值,包括:
确定每个目标特征维度的风险权重;
基于每个目标特征维度的风险估计和该目标特征维度的风险权重,确定所述目标软件产品的风险度量值。
4.如权利要求3所述的方法,所述确定每个目标特征维度的风险权重,包括:
获取多个样本软件产品的历史风险数据,所述历史风险数据包括该样本软件产品的风险检测结果和该样本软件产品在多个目标特征维度下产生的特征数据;
针对任一样本软件产品,基于每个目标特征维度的预设权重和该目标特征维度下产生的特征数据,确定该样本软件产品的风险度量值;
基于多个样本软件产品的风险度量值和风险检测结果,对所述预设权重进行调整,直到预设数量个样本软件产品的风险度量值与该样本软件产品的风险检测结果匹配,得到每个目标特征维度的风险权重。
5.如权利要求2-4任一项所述的方法,所述基于所述目标软件产品的风险度量值,确定所述目标软件产品的风险检测结果,包括:
获取风险阈值,并将所述目标软件产品的风险度量值与所述风险阈值进行比对;
若所述风险度量值大于所述风险阈值,确定所述目标软件产品的风险检测结果是存在风险。
6.如权利要求5所述的方法,所述获取风险阈值,包括:
获取多个样本软件产品的历史风险数据,所述历史风险数据包括该样本软件产品的风险检测结果和该样本软件产品在多个目标特征维度下产生的特征数据;
针对任一样本软件产品,基于每个目标特征维度的风险权重和该目标特征维度下产生的特征数据,确定该样本软件产品的风险度量值;
基于每个样本软件产品的风险度量值和预设风险阈值,确定每个样本软件产品的风险预测结果;
基于每个样本软件产品的风险预测结果和风险检测结果,对所述预设风险阈值进行调整,直至预设数量个软件产品的风险预测结果和风险检测结果一致,得到所述风险阈值。
7.如权利要求1所述的方法,在所述获取目标软件产品在多个目标特征维度下产生的特征数据之前,还包括:
获取所述目标软件产品的历史风险数据,所述历史风险数据包括所述目标软件产品在多个特征维度下产生的历史特征数据,所述目标软件产品包括同种类别的多个软件产品;
对所述多个特征维度的历史特征数据进行分析,获得各特征维度分别在所述多个软件产品中的变化规律;
统计第一特征维度在所述多个软件产品中的变化规律相同时的数目,若所述数目大于预设数量,则将所述第一特征维度确定为目标特征维度,所述第一特征维度为所述多个特征维度中的任一特征维度。
8.如权利要求1所述的方法,所述风险分析策略包括特征值转换策略和风险估计策略;所述采用该目标特征维度对应的风险分析策略,对该目标特征维度下产生的特征数据进行风险分析,获得该目标特征维度的风险估计,包括:
采用该目标特征维度对应的特征值转换策略,基于该目标特征维度下产生的特征数据确定该目标特征维度对应的特征值;
采用该目标特征维度对应的风险估计策略,基于该目标特征维度对应的特征值,确定该目标特征维度的风险估计。
9.一种风险检测装置,包括:
获取模块,被配置为获取目标软件产品在多个目标特征维度下产生的特征数据,所述多个目标特征维度为对所述目标软件产品的历史风险数据分析得到;
风险分析模块,被配置为针对任一目标特征维度,采用该目标特征维度对应的风险分析策略,对该目标特征维度下产生的特征数据进行风险分析,获得该目标特征维度的风险估计;
确定模块,被配置为根据所述多个目标特征维度的风险估计,确定所述目标软件产品的风险检测结果。
10.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至8任意一项所述风险检测方法的步骤。
11.一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至8任意一项所述风险检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210240738.XA CN114595463A (zh) | 2022-03-10 | 2022-03-10 | 风险检测方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210240738.XA CN114595463A (zh) | 2022-03-10 | 2022-03-10 | 风险检测方法以及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114595463A true CN114595463A (zh) | 2022-06-07 |
Family
ID=81817029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210240738.XA Pending CN114595463A (zh) | 2022-03-10 | 2022-03-10 | 风险检测方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114595463A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060255913A1 (en) * | 2005-05-12 | 2006-11-16 | Kazutora Yoshino | Security up |
US20130055337A1 (en) * | 2011-08-24 | 2013-02-28 | International Business Machines Corporation | Risk-based model for security policy management |
US20160378618A1 (en) * | 2015-06-29 | 2016-12-29 | International Business Machines Corporation | Risk formula for erroneous software components detection |
US10467419B1 (en) * | 2018-10-31 | 2019-11-05 | Capital One Services, Llc | Methods and systems for determining software risk scores |
CN111178704A (zh) * | 2019-12-17 | 2020-05-19 | 东方微银科技(北京)有限公司 | 一种风险目标识别方法及设备 |
CN111310183A (zh) * | 2020-03-04 | 2020-06-19 | 深信服科技股份有限公司 | 一种软件风险识别方法、装置、设备、存储介质及系统 |
CN111950829A (zh) * | 2019-05-17 | 2020-11-17 | 泰康保险集团股份有限公司 | 风险对象定位方法、装置、计算机存储介质和电子设备 |
CN113392431A (zh) * | 2021-06-23 | 2021-09-14 | 李若石 | 一种多维度身份认证方法 |
CN113947336A (zh) * | 2021-12-20 | 2022-01-18 | 远光软件股份有限公司 | 评估投标企业风险的方法、装置、存储介质及计算机设备 |
-
2022
- 2022-03-10 CN CN202210240738.XA patent/CN114595463A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060255913A1 (en) * | 2005-05-12 | 2006-11-16 | Kazutora Yoshino | Security up |
US20130055337A1 (en) * | 2011-08-24 | 2013-02-28 | International Business Machines Corporation | Risk-based model for security policy management |
US20160378618A1 (en) * | 2015-06-29 | 2016-12-29 | International Business Machines Corporation | Risk formula for erroneous software components detection |
US10467419B1 (en) * | 2018-10-31 | 2019-11-05 | Capital One Services, Llc | Methods and systems for determining software risk scores |
CN111950829A (zh) * | 2019-05-17 | 2020-11-17 | 泰康保险集团股份有限公司 | 风险对象定位方法、装置、计算机存储介质和电子设备 |
CN111178704A (zh) * | 2019-12-17 | 2020-05-19 | 东方微银科技(北京)有限公司 | 一种风险目标识别方法及设备 |
CN111310183A (zh) * | 2020-03-04 | 2020-06-19 | 深信服科技股份有限公司 | 一种软件风险识别方法、装置、设备、存储介质及系统 |
CN113392431A (zh) * | 2021-06-23 | 2021-09-14 | 李若石 | 一种多维度身份认证方法 |
CN113947336A (zh) * | 2021-12-20 | 2022-01-18 | 远光软件股份有限公司 | 评估投标企业风险的方法、装置、存储介质及计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Arshad et al. | SAMADroid: a novel 3-level hybrid malware detection model for android operating system | |
US9973517B2 (en) | Computing device to detect malware | |
US10581879B1 (en) | Enhanced malware detection for generated objects | |
US9686023B2 (en) | Methods and systems of dynamically generating and using device-specific and device-state-specific classifier models for the efficient classification of mobile device behaviors | |
US20160029221A1 (en) | Methods and Systems for Detecting Malware and Attacks that Target Behavioral Security Mechanisms of a Mobile Device | |
EP3345116A1 (en) | Process launch, monitoring and execution control | |
WO2019091789A1 (en) | Vulnerability assessment of containerised installation | |
US20230252145A1 (en) | Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program | |
Milosevic et al. | Time, accuracy and power consumption tradeoff in mobile malware detection systems | |
Awais et al. | Anti-ant framework for android malware detection and prevention using supervised learning | |
Soviany et al. | Android malware detection and crypto-mining recognition methodology with machine learning | |
US20240054210A1 (en) | Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program | |
KR20130085483A (ko) | 모바일 악성 행위 어플리케이션 탐지 시스템 및 방법 | |
US20230048076A1 (en) | Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program | |
US20230254340A1 (en) | Apparatus for processing cyber threat information, method for processing cyber threat information, and medium for storing a program processing cyber threat information | |
CN114595463A (zh) | 风险检测方法以及装置 | |
Cooper et al. | Android malware detection using Kullback-Leibler divergence | |
Alam et al. | Context-aware multi-agent based framework for securing Android | |
US20230252143A1 (en) | Apparatus for processing cyber threat information, method for processing cyber threat information, and medium for storing a program processing cyber threat information | |
US20240054215A1 (en) | Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program | |
US20240211595A1 (en) | Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program | |
US20230306113A1 (en) | Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program | |
US20230252146A1 (en) | Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program | |
KR102396238B1 (ko) | 사이버 위협 정보 처리 장치, 사이버 위협 정보 처리 방법 및 사이버 위협 정보 처리하는 프로그램을 저장하는 저장매체 | |
Hightower et al. | Classifying Android Applications Via System Stats |
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 |