CN117556432A - 一种基于传播影响分析的同源漏洞安全响应方法和*** - Google Patents
一种基于传播影响分析的同源漏洞安全响应方法和*** Download PDFInfo
- Publication number
- CN117556432A CN117556432A CN202410047059.XA CN202410047059A CN117556432A CN 117556432 A CN117556432 A CN 117556432A CN 202410047059 A CN202410047059 A CN 202410047059A CN 117556432 A CN117556432 A CN 117556432A
- Authority
- CN
- China
- Prior art keywords
- vulnerability
- information
- component
- propagation
- components
- 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
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000004458 analytical method Methods 0.000 title claims abstract description 51
- 230000004044 response Effects 0.000 title claims abstract description 40
- 230000008569 process Effects 0.000 claims description 16
- 230000008439 repair process Effects 0.000 claims description 14
- 230000001419 dependent effect Effects 0.000 claims description 7
- 238000003058 natural language processing Methods 0.000 claims description 7
- 230000000007 visual effect Effects 0.000 claims description 6
- 238000010845 search algorithm Methods 0.000 claims description 5
- 238000006467 substitution reaction Methods 0.000 claims description 3
- 230000001902 propagating effect Effects 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer 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
- 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
- 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
-
- 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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及软件代码分析领域,公开了一种基于传播影响分析的同源漏洞安全响应方法和***,包括:根据组件信息和漏洞信息的对齐结果,确定组件和漏洞的对应关系,根据组件之间的依赖关系确定漏洞传播影响图,基于漏洞的传播路径和影响范围对漏洞进行响应。本发明通过同源漏洞的传播影响分析,能够更准确地确定漏洞的传播路径和影响范围,进一步提高了漏洞安全响应的效率和精度,能够有效地防止同源漏洞攻击的发生,并提供多种方法及时响应和修复已发现的漏洞。
Description
技术领域
本发明涉及软件代码分析领域,尤其涉及一种基于传播影响分析的同源漏洞安全响应方法和***。
背景技术
随着软件开发中使用开源组件的数量不断增加,软件组件中的安全漏洞也愈发普遍。这些安全漏洞可能会被黑客利用,对软件的安全性造成严重的威胁。目前,通常采用漏洞安全响应技术来发现和修复这些漏洞。
通用的漏洞安全响应技术主要包括以下方面,漏洞扫描和分析:通过对软件组件进行漏洞扫描和分析,及时发现存在的安全漏洞并进行分类和评估,以便采取针对性的安全响应措施;安全访问控制:采用安全的访问控制策略,限制软件组件之间的交互,防止恶意攻击者利用漏洞进行攻击;漏洞共享管理:对于软件组件之间共享的代码和资源,采取严格的权限控制和审计机制,确保漏洞得到及时修复;日志监控和分析:对软件组件的相关操作日志进行实时监控和分析,及时发现和响应异常情况,包括安全漏洞攻击;应急响应:针对安全漏洞攻击,及时启动应急响应计划,对受影响的软件组件进行隔离和修复,防止攻击进一步扩散;漏洞修复:采取适当的措施来修复漏洞,例如安装安全补丁、修改代码或配置文件、更新软件等;漏洞验证:验证漏洞是否已被成功修复,并确保***的安全性;漏洞报告:记录漏洞和修复的情况,并向相关方面进行报告。
现在检查开源组件漏洞的通用方法只是针对的组件本身存在漏洞的安全响应,关联的依赖中如果存在漏洞是可能不会被发现的,如此会漏掉一些可能会对***产生巨大危害的漏洞,当前现象主要是没有考虑组件之间的依赖关系造成。尤其是软件依赖关系之间的内部复杂关系,在很大程度上削弱了其分析的影响,并限制了安全响应的效果。
发明内容
本发明的目的在于克服上述一种或多种现有的技术问题,提供一种基于传播影响分析的同源漏洞安全响应方法和***。
为实现上述目的,本发明提供的一种基于传播影响分析的同源漏洞安全响应方法,包括:
根据组件信息和漏洞信息的对齐结果,确定组件和漏洞的对应关系;
根据组件之间的依赖关系确定漏洞传播影响图;
基于漏洞的传播路径和影响范围对漏洞进行响应。
根据本发明的一个方面,组件信息包括源代码、字节码、二进制文件或依赖包的配置文件;漏洞信息包括NVD、CNVD和CNNVD中的漏洞信息。
根据本发明的一个方面,对齐结果的获取过程包括:
使用CPE格式信息对组件信息和漏洞信息进行一次对齐;
使用自然语言处理对初步对齐的结果进行二次对齐,获得组件信息和漏洞信息的对齐结果。
根据本发明的一个方面,基于二次对齐后组件信息和漏洞信息的对齐结构构建可视化界面,响应于可视化界面关联组件信息和漏洞信息的操作,将组件信息和漏洞信息配置为具有关联性。
根据本发明的一个方面,通过成分分析的方法确定组件之间的依赖关系。
根据本发明的一个方面,依赖传播影响图按照如下的方式构建:
使用节点表示组件,使用边表示组件之间的依赖关系,构建依赖关系图;
根据依赖关系图和漏洞对应的组件,确定漏洞的传播路径和影响范围。
根据本发明的一个方面,对漏洞进行响应包括:
基于漏洞传播影响图识别出带有漏洞的组件,通过深度优先搜索算法确定依赖关系图中当前组件和包含漏洞组件的关联关系,基于公开含漏洞组件的漏洞信息和安全补丁信息确定含漏洞组件对***的影响。
根据本发明的一个方面,对漏洞进行响应还包括:
基于漏洞传播影响图识别出带有漏洞的组件,基于图算法确定对应组件无漏洞的替代版本或漏洞可控版本,并对带有漏洞的组件进行替换;
或者基于组件漏洞信息确定漏洞组件的修复方法,对漏洞进行修复。
为实现上述目的,本发明提供一种基于传播影响分析的同源漏洞安全响应***,包括:
组件漏洞对齐单元,用于将组件信息和漏洞数据进行对齐,确定组件和漏洞的对应关系;
漏洞传播影像图获取单元,用于根据组件之间的依赖关系确定漏洞传播影响图;
响应单元,基于漏洞的传播路径和影响范围对漏洞进行响应。
基于此,本发明的有益效果在于:
本发明提出的方法,对于软件组件中存在的安全漏洞进行跟踪和分析,以了解漏洞的传播规律和影响因素,从而采取有效的安全响应措施。采用同源漏洞安全响应的安全分析方法,旨在发现软件组件中存在的更深层次的安全漏洞并进行修复。基于传播影响分析的同源漏洞安全响应技术可以有效提高软件的安全性和稳定性,减少安全漏洞对软件开发过程和使用过程的影响,解决组件依赖传递引入的漏洞影响。
通过同源漏洞的传播影响分析,能够更准确地确定漏洞的传播路径和影响范围,进一步提高了漏洞安全响应的效率和精度,能够有效地防止同源漏洞攻击的发生,并提供多种方法及时响应和修复已发现的漏洞。
附图说明
图1是本发明一种基于传播影响分析的同源漏洞安全响应方法的流程图;
图2是本发明一种基于传播影响分析的同源漏洞安全响应***的流程图。
具体实施方式
现在将参照示例性实施例来论述本发明的内容,应当理解,论述的实施例仅是为了使得本领域普通技术人员能够更好地理解且因此实现本发明的内容,而不是暗示对本发明的范围的任何限制。
如本文中所使用的,术语“包括”及其变体要被解读为意味着“包括但不限于”的开放式术语。术语“基于”要被解读为“至少部分地基于”,术语“一个实施例”和“一种实施例”要被解读为“至少一个实施例”。
根据本发明的一个实施例,图1为本发明中的一种基于传播影响分析的同源漏洞安全响应方法的流程图,如图1所示,为实现上述目的,本发明提供的一种基于传播影响分析的同源漏洞安全响应方法,包括:
根据组件信息和漏洞信息的对齐结果,确定组件和漏洞的对应关系;
根据组件之间的依赖关系确定漏洞传播影响图;
基于漏洞的传播路径和影响范围对漏洞进行响应。
根据本发明的一个实施例,组件信息为字节码信息,该字节码为信息为由源代码经过编译获得,在运行时,字节码经过运行时进行解释获得机器可识别的机器码或二进制码,从而使得组件可以指定计算机的一个处理器或者多个处理器,并使得相应的计算资源被调用。
根据本发明的另一个实施例,组件信息为源代码,如py文件或者js文件,该源代在运行时进行解释获得机器可识别的机器码或二进制码,从而使得组件可以指定计算机的一个处理器或者多个处理器,并使得相应的计算资源被调用。
根据本发明的另一个实施例,组件信息为二进制文件,如py文件或者js文件,该源代在运行时进行解释获得机器可识别的机器码或二进制码,从而使得组件可以指定计算机的一个处理器或者多个处理器,并使得相应的计算资源被调用。
本发明首先根据公开的信息、自然语言处理和人工审核的方式确定了组件信息和漏洞信息的对齐结果,得到组件和漏洞的对应关系;
之后根据组件之间的依赖关系确定漏洞传播影响图,该漏洞传播影响图反应了漏洞之间的关联,可以根据漏洞确定组件之间漏洞的传播路径以及漏洞的影响范围;
之后本发明基于漏洞的传播影响图进行漏洞的评估和修复,此过程相较于常规的漏洞分析可以避免误报以及识别出深层次依赖链路上的漏洞信息,降低了***漏洞的危害。
根据本发明的一个实施例,组件信息包括源代码、字节码、二进制文件或依赖包的配置文件;漏洞信息包括NVD、CNVD和CNNVD中的漏洞信息。
本发明一些实施例中使用的NVD(National Vulnerability Database)为美国国家标准与技术研究院(NIST)维护的综合性漏洞数据库;CNVD(China NationalVulnerability Database)为国家信息安全漏洞共享平台,即国家计算机网络应急技术处理协调中心联合建立的信息安全漏洞信息共享知识库;CNNVD(China NationalVulnerability Database of Information Security)为中国国家信息安全漏洞库,是中国信息安全测评中心负责建设运维的国家信息安全漏洞库。
通过使用上述的安全漏洞库,可以及时识别已公开的信息,或者识别出通过传播影响图可以确认的未公开报告的组件漏洞。
根据本发明的一个实施例,对齐结果的获取过程包括:
使用CPE格式信息对组件信息和漏洞信息进行一次对齐;
使用自然语言处理对初步对齐的结果进行二次对齐,获得组件信息和漏洞信息的对齐结果。
本发明通过使用三次对齐的方式进行组件信息和漏洞信息的对齐,其中一次对齐用于基于IT产品的同一命名规范进行首次关联,此过程中会产一些信息因为缺少辅助信息而无法被关联,对其信息的补齐是通过自然语言处理的方式进行的,其中自然语言处理所依赖的数据源来自于网络搜索引擎,例如提供含有漏洞名称或者组件名称关键字的方式,从网络搜索结果的页面内获取相关的信息,并将其和组件信息以及漏洞信息进行匹配以确定之间的关联。
通过上述的方式可以解决多数的组件信息和漏洞信息的对齐问题。
根据本发明的一个实施例,基于二次对齐后组件信息和漏洞信息的对齐结构构建可视化界面,响应于可视化界面关联组件信息和漏洞信息的操作,将组件信息和漏洞信息配置为具有关联性。
由于部分网络来源的信息或者安全信息公开网站所公开的漏洞信息存在不准确的情况,或者部分漏洞信息存在更新延迟的情形,并且部分搜索引擎获得的信息是内容农场或者AIGC所产生的内容,这造成了实际的组件信息和漏洞信息并不匹配的问题,此时可以通过人工辅助的形式进行组件信息和漏洞信息的进一步对齐。
例如,可以通过构建一个客户端运行的用户界面或者以浏览器的形式提供的网页界面,或者通过以App形式运行于移动终端的用户界面,并至少于界面提供组件信息和***推荐的漏洞信息,用户可以通过确认的方式进行关联,通过否决的方式进行组件信息和漏洞信息关联的否认。
或者,在构建的用户界面内,用户可以通过提供的组件信息直接进行漏洞信息的否认,直接确认组件信息是安全的;
或者,在构建的用户界面内,对应于提供的组件信息,用户从已经收集的漏洞选项内选择一个或者多个漏洞将其和组件信息相匹配;
或者,在构建的用户界面内,对应于提供的组件信息,用户从已经收集的漏洞选项内选择一个或者多个漏洞,以及从提供的组件信息内选择一个或者多个组件信息,将其和已经选择的漏洞信息相匹配;
上述的用户界面内,对应于提供的组件信息或者漏洞信息,和其对应的漏洞信息胡或者组件信息部分是基于推荐所产生的,此处的推荐可以基于漏洞信息和组件信息之间的相似度,或者基于来源进行,例如基于CNVD或者CCNVD的漏洞信息视为可靠,并将其作为推荐信息进行提供。
通过此方式在***息的基础上实现了关联程度准确性的进一步提升。
根据本发明的一个实施例,通过成分分析的方法确定组件之间的依赖关系。
成分分析法,即SCA(Software Composition Analysis),通俗的理解就是通过分析软件包含的一些信息和特征来实现对该软件的识别、管理、追踪的技术。应用SCA技术对应用程序进行安全检测是常见的一个软件分析方法。
SCA理论上来说是一种通用的分析方法,可以对任何开发语言对象进行分析,Java、C/C++、Golang、Python、JavaScript等等,它对关注的对象是从文件层面的文件内容,以及文件与文件之间的关联关系以及彼此组合成目标的过程细节。从SCA 分析的目标程序形式上分,既可以是源代码也可以是编译出来的各种类型的二进制文件,分析的数据对象对程序架构,编译方式都是不敏感的。
SCA分析过程包括对目标源代码或二进制文件进行解压,并从文件中提取特征,再对特征进行识别和分析,获得各个部分的关系,从而获得应用程序的画像—组件名称+版本号,进而关联出存在的已知漏洞清单。
本发明通过成分分析法获取组件之间的依赖关系,并进一步提供漏洞之间的关联。
根据本发明的一个实施例,依赖传播影响图按照如下的方式构建:
使用节点表示组件,使用边表示组件之间的依赖关系,构建依赖关系图;
根据依赖关系图和漏洞对应的组件,确定漏洞的传播路径和影响范围。
本发明通过使用图网络实现了漏洞和组件之间的关联,并基于此可以直观的确认漏洞的传播路径和影响范围。
根据本发明的一个实施例,对漏洞进行响应包括:
基于漏洞传播影响图识别出带有漏洞的组件,通过深度优先搜索算法确定依赖关系图中当前组件和包含漏洞组件的关联关系,基于公开含漏洞组件的漏洞信息和安全补丁信息确定含漏洞组件对***的影响。
在***内存在漏洞时,使用深度优先搜索算法可以确定一个组件和漏洞以何种的方式关联。
具体的,深度优先遍历图从图中某节点对应的组件出发:访问组件;依次从组件的未被访问的邻接点出发,对图进行深度优先遍历;直至图中和组件有路径相通的组件都被访问;若此时图中尚有组件未被访问,则从一个未被访问的节点出发,重新进行深度优先遍历,直到图中所有组件均被访问过为止。
根据本发明的一个实施例,对漏洞进行响应包括:
基于漏洞传播影响图识别出带有漏洞的组件,基于图算法确定对应组件无漏洞的替代版本或漏洞可控版本,并对带有漏洞的组件进行替换;
或者基于组件漏洞信息确定漏洞组件的修复方法,对漏洞进行修复。
通过此方式可以在确定同源安全漏洞时,确定对应的安全响应措施。
根据本发明的一个实施例,依赖传播影响图的构建方法,包括:
基于组件信息和漏洞信息的对齐结果,确定组件和漏洞的对应关系;
使用成分分析法确定组件之间的依赖关系;
确定存在漏洞的组件;
基于漏洞的传播路径和依赖关系构建依赖传播影响图。
在本发明一个实施例内,通过如下的方式进行同源安全漏洞的分析和响应:
第一步:数据采集,实现通过爬虫程序自动化采集源代码、二进制文件、字节码、第三方包依赖等组件信息,以及国内外漏洞数据。
采集数据源包括:源代码项目,采集国内外开源网站以及社区的源代码项目,包括GITHUB,GITEE,GOOGLE CODE,APACHE等开源网站和社区,由于源代码项目数量过于庞大,且有很多开源项目是一些示例项目或者学生课题毕设等项目,这些项目基本不会被其他项目依赖,为了时间效率和节约空间,可以根据热度和知名程度优先采集,例如GITHUB中的star和fork指数。字节码项目,全量采集maven中央仓库中的字节码项目。二进制项目,采集windows ,Linux***常用动态链接库,静态依赖库和常用二进制软件包项目。第三方包依赖,采集多种编程语言的配置文件信息,包括JS,Python,PHP等十几种编程语言的二十多种的配置文件信息。漏洞信息,采集国内外官方漏洞库和私有知名漏洞库数据,包括NVD,CNVD,CNNVD,和其他私有漏洞库中的漏洞数据。
第二步:漏洞对齐,是将采集的漏洞信息和源代码、字节码、二进制项目、第三方包依赖之间的关联关系进行分析对齐的过程:处理漏洞原生数据,利用CPE格式信息做一些版本规范化处理进行初步对齐,CPE全称是Common Platform Enumeration,意思是通用平台枚举项。它是对IT产品的统一命名规范,包括***、平台和软件包等。利用基于搜索引擎搜索到的搜索信息,通过自然语言处理的方式进行进一步的对齐操作。利用上两个步骤后的对齐信息,构建漏洞推荐对齐***,通过人工审核的方式进行最后的关联关系对齐。
第三步:依赖解析,软件开发和部署过程中,组件之间的依赖关系非常复杂,本发明采用成分分析的技术对于软件组件的依赖关系进行分析和处理的过程。依赖解析过程包括以下几个步骤:确定组件。在分析依赖关系之前,需要先确定采集的所有组件,这些组件内容可能是源代码文件、库文件、配置文件等等,不同类型的组件通过不同的预处理方式进行处理。确定依赖关系。通过分析组件之间的引用关系,确定组件之间的依赖关系。依赖关系可能包括编译依赖、运行时依赖、配置依赖等等。解决依赖冲突,在某些情况下,不同组件之间可能存在依赖冲突,例如同一个组件的不同版本之间的冲突。需要进行依赖冲突解决,选择合适的版本,并进行相应的配置。管理依赖。在软件开发和部署过程中,对依赖关系进行管理,管理依赖的版本、更新依赖等等。
第四步;构建依赖传播影响图,根据第三步确定完所有组件的依赖关系后,利用图算法构建依赖传播影响图。确定采集的所有组件,这些组件包括源代码项目、二进制项目、字节码项目、第三方包依赖项目信息等等,将所有组件进行分类分组处理。建立组件依赖关系图。将组件和它们之间的依赖关系用节点和边表示,构建组件依赖关系图。节点表示组件,边表示依赖关系。其中可以根据被引用以及引用依赖的多少来用不同大小的点表示节点,标记漏洞组件。在组件依赖关系图中,结合漏洞对齐信息标记包含漏洞的组件,对于漏洞组件可以根据严重程度进行颜色标记进行区分,以便进一步分析漏洞的传播路径和影响范围。分析漏洞传播路径。根据依赖关系图,分析漏洞从漏洞组件传播到其他组件的路径。可以通过图算法模拟漏洞传播,也可以手工分析。分析漏洞影响范围。根据漏洞传播路径,分析漏洞的影响范围,包括受影响的组件子依赖、父依赖、直接依赖、间接依赖等等。
第五步:同源漏洞安全响应,根据传播路径和影响范围,对于组件进行安全响应包括同源漏洞分析,查看漏洞的影响范围,确定相应的安全措施,例如修补漏洞、升级组件、限制访问等。漏洞识别:利用传播影响依赖图识别出带有漏洞的组件,包括直接带有漏洞和通过传播依赖引入的漏洞,在传播影响图中通过深度优先搜索算法实现依赖关系提取,以彻底的查找依赖树中当前组件和包含漏洞组件的关联关系,并且监控公开漏洞信息和安全补丁信息,并进一步评估其对***的影响。漏洞评估:评估漏洞的风险和潜在影响,根据漏洞的可利用难度,影响范围,严重等级等决定漏洞的优先级和紧急程度。漏洞修复:采取适当的措施来修复漏洞,利用传播影响图定位组件信息,利用图算法查找相近的没有漏洞版本或者根据组件漏洞信息修复建议进行相应的修复方法定位,例如升级组件版本、安装安全补丁、修改代码或配置文件,限制组件使用等。漏洞验证:根据漏洞描述信息,POC信息等验证漏洞是否已被成功修复,并确保组件的安全性。漏洞报告:记录漏洞和修复的情况,并向相关方面进行记录和报告及通知记录。
为了检验本实施例的效果,通过实验,从5种流行编程语言对应的包依赖仓库中随机筛选出较为常用的组件版本各1000个,并且组件版本本身不包含漏洞,对这些组件通过传播影响图进行进一步分析,定位直接依赖和间接依赖信息以及依赖传播路径上的漏洞信息,结果如表1所示。
表1利用传播影响分析结果表
组件类型(每种组件选取1000个进行实验) | 平均依赖路径长度 | 平均引入漏洞的路径长度 | 受漏洞影响组件数 | 引入漏洞数量 | 单个漏洞的平均修复方法建议 |
JAVA(MAVEN) | 5.6 | 3.3 | 217 | 1347 | 2.7 |
JS(NPM) | 3.9 | 2.1 | 173 | 763 | 2.5 |
Python(PIP) | 4.2 | 2.7 | 198 | 862 | 2.4 |
PHP(composer) | 3.6 | 2.2 | 146 | 347 | 2.6 |
C++(CMAKE) | 5.1 | 3.0 | 202 | 933 | 2.5 |
表1统计了上述所有组件通过传播影响分析得到的结果统计,包括平均依赖路径长度(如A->B->C表示长度为2),平均引入漏洞的路径长度,受漏洞影响组件数,引入漏洞数量,单个漏洞的平均修复方法建议。
运行结果说明,利用传播影响分析的同源漏洞安全响应可以有效的识别出深层次依赖链路上的漏洞信息,减少漏洞漏报的情况,并且保证在易受攻击的路径上也存在中心性,即大多数易受攻击的路径都会通过有限的依赖关系,这从而可以用来切断易受攻击的路径。可以给程序开发人员提供有效的多种的修复建议,提供多种的应急方案,及时有效的降低漏洞对***带来的危害。
不仅如此,为实现上述发明目的,本发明还提供了一种基于传播影响分析的同源漏洞安全响应***,图2为本发明中的一种基于传播影响分析的同源漏洞安全响应***的流程图,如图2所示,本发明中的一种基于传播影响分析的同源漏洞安全响应***包括:
组件漏洞对齐单元,用于将组件信息和漏洞数据进行对齐,确定组件和漏洞的对应关系;
漏洞传播影像图获取单元,用于根据组件之间的依赖关系确定漏洞传播影响图;
响应单元,基于漏洞的传播路径和影响范围对漏洞进行响应。
基于此,本发明的有益效果在于,能够对采用不同程序框架的待测代码自适应地调整代码分析***检测配置,节省了人工定制特定框架分析配置的步骤,能够精简***分析层相关模型的构建,降低安全漏洞检测的误漏报率,解决了采用不同程序框架待测代码的自适应检测问题。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和设备的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明实施例方案的目的。
另外,在本发明实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例节能信号发送/接收的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
应理解,本发明的发明内容及实施例中各步骤的序号的大小并不绝对意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
Claims (9)
1.一种基于传播影响分析的同源漏洞安全响应方法,其特征在于,包括:
根据组件信息和漏洞信息的对齐结果,确定组件和漏洞的对应关系;
根据组件之间的依赖关系确定漏洞传播影响图;
基于漏洞的传播路径和影响范围对漏洞进行响应。
2.如权利要求1所述的一种基于传播影响分析的同源漏洞安全响应方法,其特征在于,组件信息包括源代码、字节码、二进制文件或依赖包的配置文件;漏洞信息包括NVD、CNVD和CNNVD中的漏洞信息。
3.如权利要求2所述的一种基于传播影响分析的同源漏洞安全响应方法,其特征在于,对齐结果的获取过程包括:
使用CPE格式信息对组件信息和漏洞信息进行一次对齐;
使用自然语言处理对初步对齐的结果进行二次对齐,获得组件信息和漏洞信息的对齐结果。
4.如权利要求3所述的一种基于传播影响分析的同源漏洞安全响应方法,其特征在于,基于二次对齐后组件信息和漏洞信息的对齐结构构建可视化界面,响应于可视化界面关联组件信息和漏洞信息的操作,将组件信息和漏洞信息配置为具有关联性。
5.如权利要求4所述的一种基于传播影响分析的同源漏洞安全响应方法,其特征在于,通过成分分析的方法确定组件之间的依赖关系。
6.如权利要求5所述的一种基于传播影响分析的同源漏洞安全响应方法,其特征在于,依赖传播影响图按照如下的方式构建:
使用节点表示组件,使用边表示组件之间的依赖关系,构建依赖关系图;
根据依赖关系图和漏洞对应的组件,确定漏洞的传播路径和影响范围。
7.如权利要求6所述的一种基于传播影响分析的同源漏洞安全响应方法,其特征在于,对漏洞进行响应包括:
基于漏洞传播影响图识别出带有漏洞的组件,通过深度优先搜索算法确定依赖关系图中当前组件和包含漏洞组件的关联关系,基于公开含漏洞组件的漏洞信息和安全补丁信息确定含漏洞组件对***的影响。
8.如权利要求7所述的一种基于传播影响分析的同源漏洞安全响应方法,其特征在于,对漏洞进行响应还包括:
基于漏洞传播影响图识别出带有漏洞的组件,基于图算法确定对应组件无漏洞的替代版本或漏洞可控版本,并对带有漏洞的组件进行替换;
或者基于组件漏洞信息确定漏洞组件的修复方法,对漏洞进行修复。
9.一种基于传播影响分析的同源漏洞安全响应***,其特征在于,包括:
组件漏洞对齐单元,用于将组件信息和漏洞数据进行对齐,确定组件和漏洞的对应关系;
漏洞传播影像图获取单元,用于根据组件之间的依赖关系确定漏洞传播影响图;
响应单元,基于漏洞的传播路径和影响范围对漏洞进行响应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410047059.XA CN117556432A (zh) | 2024-01-12 | 2024-01-12 | 一种基于传播影响分析的同源漏洞安全响应方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410047059.XA CN117556432A (zh) | 2024-01-12 | 2024-01-12 | 一种基于传播影响分析的同源漏洞安全响应方法和*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117556432A true CN117556432A (zh) | 2024-02-13 |
Family
ID=89819002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410047059.XA Pending CN117556432A (zh) | 2024-01-12 | 2024-01-12 | 一种基于传播影响分析的同源漏洞安全响应方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117556432A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105046155A (zh) * | 2015-06-24 | 2015-11-11 | 北京***工程研究所 | 软件***漏洞风险评估方法及装置 |
US10691810B1 (en) * | 2019-09-16 | 2020-06-23 | Fmr Llc | Detecting vulnerabilities associated with a software application build |
CN113434870A (zh) * | 2021-07-14 | 2021-09-24 | 中国电子科技网络信息安全有限公司 | 基于软件依赖分析的漏洞检测方法、装置、设备及介质 |
US20220318396A1 (en) * | 2021-04-05 | 2022-10-06 | International Business Machines Corporation | Traversing software components and dependencies for vulnerability analysis |
CN116415251A (zh) * | 2023-01-06 | 2023-07-11 | 中国科学院软件研究所 | 一种基于深度学习的漏洞影响范围推理方法和*** |
CN116738436A (zh) * | 2023-06-11 | 2023-09-12 | 苏州棱镜七彩信息科技有限公司 | 一种漏洞可达性分析方法、***、计算机设备和处理器 |
-
2024
- 2024-01-12 CN CN202410047059.XA patent/CN117556432A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105046155A (zh) * | 2015-06-24 | 2015-11-11 | 北京***工程研究所 | 软件***漏洞风险评估方法及装置 |
US10691810B1 (en) * | 2019-09-16 | 2020-06-23 | Fmr Llc | Detecting vulnerabilities associated with a software application build |
US20220318396A1 (en) * | 2021-04-05 | 2022-10-06 | International Business Machines Corporation | Traversing software components and dependencies for vulnerability analysis |
CN113434870A (zh) * | 2021-07-14 | 2021-09-24 | 中国电子科技网络信息安全有限公司 | 基于软件依赖分析的漏洞检测方法、装置、设备及介质 |
CN116415251A (zh) * | 2023-01-06 | 2023-07-11 | 中国科学院软件研究所 | 一种基于深度学习的漏洞影响范围推理方法和*** |
CN116738436A (zh) * | 2023-06-11 | 2023-09-12 | 苏州棱镜七彩信息科技有限公司 | 一种漏洞可达性分析方法、***、计算机设备和处理器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10891378B2 (en) | Automated malware signature generation | |
CN106411578B (zh) | 一种适应于电力行业的网站监控***及方法 | |
Cova et al. | Detection and analysis of drive-by-download attacks and malicious JavaScript code | |
Nayak et al. | Some vulnerabilities are different than others: Studying vulnerabilities and attack surfaces in the wild | |
US9043924B2 (en) | Method and system of runtime analysis | |
Shar et al. | Defeating SQL injection | |
Scholte et al. | Have things changed now? An empirical study on input validation vulnerabilities in web applications | |
US9419996B2 (en) | Detection and prevention for malicious threats | |
CN110650117B (zh) | 跨站攻击防护方法、装置、设备及存储介质 | |
CN103279710B (zh) | Internet信息***恶意代码的检测方法和*** | |
JP5656266B2 (ja) | ブラックリスト抽出装置、抽出方法および抽出プログラム | |
El-Rewini et al. | Dissecting residual APIs in custom android ROMs | |
Bier et al. | Mitigating remote code execution vulnerabilities: a study on tomcat and android security updates | |
US20240054210A1 (en) | Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program | |
Gashi et al. | A study of the relationship between antivirus regressions and label changes | |
Bhatt et al. | Categorization of vulnerabilities in a software | |
US20230252144A1 (en) | Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program | |
CN117556432A (zh) | 一种基于传播影响分析的同源漏洞安全响应方法和*** | |
Mendes et al. | Benchmarking the security of web serving systems based on known vulnerabilities | |
CN113779589B (zh) | 一种安卓智能手机应用误配置检测方法 | |
CN115348052A (zh) | 一种多维度黑名单防护方法、装置、设备及可读存储介质 | |
CN111339532A (zh) | 一种恶意网站拦截方法 | |
CN111027052A (zh) | 基于应用程序版本虚拟机文档判别方法、装置及存储设备 | |
Anand et al. | Malware Exposed: An In-Depth Analysis of its Behavior and Threats | |
Nakamura | Towards unified vulnerability assessment with open data |
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 |