CN114756868A - 一种基于指纹的网络资产与漏洞关联方法及装置 - Google Patents
一种基于指纹的网络资产与漏洞关联方法及装置 Download PDFInfo
- Publication number
- CN114756868A CN114756868A CN202210266901.XA CN202210266901A CN114756868A CN 114756868 A CN114756868 A CN 114756868A CN 202210266901 A CN202210266901 A CN 202210266901A CN 114756868 A CN114756868 A CN 114756868A
- Authority
- CN
- China
- Prior art keywords
- cpe
- cve
- database
- network asset
- fingerprint
- 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
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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/32—User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Evolutionary Biology (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于指纹的网络资产与漏洞关联方法及装置,所述方法包括:对网络资产进行探测,获取所述网络资产的返回报文;生成网络资产CPE指纹;将提取的CPE信息与CVE编号建立关联;将获取的CPE与CVE的对应关系存储于CPE‑CVE关联数据库;将所述CPE‑CVE关联数据库中的数据存储于CPE‑CVE缓存数据库;基于时间值查询所述缓存数据库,若所述网络资产CPE指纹与CPE‑CVE缓存数据库中的指纹匹配,将所述网络资产CPE指纹标识的网络资产添加相应CVE编号,并存入网络资产数据库。根据本发明的方案,提高了关联的实时性与准确性;可以实现资产漏洞快速关联查询,提高了查询速度。
Description
技术领域
本发明涉及数据安全领域,尤其涉及一种基于指纹的网络资产与漏洞关联方法及装置。
背景技术
特定的漏洞会影响一个或多个产品及其版本,常见漏洞暴露后,便可以针对漏洞细节编写验证Poc,利用此Poc便可以远程验证被测试系统是否存在相应漏洞,但此步操作存在诸多局限性,例如需要和对方服务器产生报文交互,容易被溯源,大规模验证系统资源开销较大等问题。
当前网络资产丰富,网络资产探测平台越来越多,比较出名的有Shodan,ZoomEye和Fofa等,探测平台对网络资产进行探测后,需要对相应的资产进行漏洞关联,然后再将资产存储到数据库中。这些平台对探测到的资产入库前会对探测到的数据进行相关处理,其中一步便是将资产与漏洞关联,为资产打上相应的漏洞标签,此操作可以提高平台数据的价值,也可以为后续分析打下基础。平台通常做法是在探测资产的同时设置好Poc来验证资产漏洞,而后将扫描到的漏洞信息和探测到的资产一同回传到服务器,例如对常见的操作系统、Web应用、数据库、工控设备的资产探测与漏洞扫描,典型的应用有Nmap等软件,但此步操作对资源和时间要求较高。
杀毒领域也存在类似的应用,当前360杀毒、瑞星杀毒、金山杀毒等安全软件对主机进行安全扫描时都会扫描主机是否存在漏洞,一种通行的做法是扫描主机操作系统及安装软件,利用已知漏洞信息进行验证,查看当前系统及安装软件版本是否存在漏洞,但此操作也较为消耗系统资源和时间,且容易导致系统不稳定。
发明内容
为解决上述技术问题,本发明提出了一种基于指纹的网络资产与漏洞关联方法及装置,用以解决现有技术中网络资产与漏洞关联效率低的技术问题,当前业界多使用POC对资产可能存在的漏洞进行验证,资源开销大,速度也较低。
根据本发明的第一方面,提供一种基于指纹的网络资产与漏洞关联方法,所述方法包括以下步骤:
步骤S1:对网络资产进行探测,获取所述网络资产的返回报文;解析所述返回报文的关键信息,所述关键信息包括受影响产品的类别、名称、版本;基于所述关键信息生成网络资产CPE指纹,所述网络资产CPE指纹用于标识单个网络资产;
步骤S2:定期从NVD数据库获取更新的CVE数据,对所述更新的CVE数据中的CPE字段进行解析;获取CPE字典,提取所述CPE字典中受影响产品的类别、名称、版本信息,将其作为提取的CPE信息;将所述提取的CPE信息与CVE数据建立关联;将获取的CPE信息与CVE数据的对应关系存储于CPE-CVE关联数据库;将所述CPE-CVE关联数据库中的数据存储于CPE-CVE缓存数据库;
步骤S3:将所述网络资产CPE指纹与所述CPE-CVE缓存数据库的指纹进行匹配;若匹配成功,则说明当前网络资产存在漏洞;若匹配不成功,则说明当前资产暂无数据库中所存漏洞;
步骤S4:将所述网络资产CPE指纹标识的网络资产添加相应CVE编号,若探测到的网络资产暂无漏洞,则将CVE编号置空,并存入网络资产数据库。
优选地,所述步骤S1,其中:
所述关键信息包括Banner信息,Banner信息为受影响产品的类别、名称、版本;
所述网络资产CPE指纹是指将从网络上爬取的CVE数据包中提取的CPE信息中的受影响产品的类别、名称、版本信息编制成的相应指纹。
优选地,采用自定义方式生成网络资产CPE指纹,基于所述网络资产的类别、名称、版本的属性,对属性进行编码,并将编码作为资产指纹。
优选地,将所述CPE-CVE关联数据库中的数据存储于缓存数据库,包括:
步骤S201:确定所述CPE-CVE关联数据库需要存储于缓存数据库的缓存数据;
步骤S202:按年份将缓存服务器进行分区,提取CVE数据中的时间值,将所述时间值输入分类算法模块,由分类算法模块根据时间值得到缓存分区号;
步骤S203:将所述缓存数据按年份写入缓存服务器中与所述缓存数据对应的缓存分区,所述缓存服务器部署了所述缓存数据库。
优选地,所述步骤S4,包括:
步骤S401:获取由解析服务器生成的CPE指纹,获取所述网络资产的时间值;基于时间值确定该CVE-CPE关联数据库中对应的缓存分区,得到缓存分区号;
步骤S402:在所述缓存分区号对应的缓存分区中遍历数据,查询与所述网络资产对应的CVE编号;若存在,进入步骤S403,若不在,设置空值,进入步骤S404;
步骤S403:为所述网络资产添加对应的CVE编号的标签,将网络资产加入资产数据库,方法结束;
步骤S404:为所述网络资产添加空标签,将网络资产加入资产数据库,方法结束。
根据本发明第二方面,提供一种基于指纹的网络资产与漏洞关联装置,所述装置包括:
探测模块:配置为对网络资产进行探测,获取所述网络资产的返回报文;解析所述返回报文的关键信息,所述关键信息包括受影响产品的类别、名称、版本;基于所述关键信息生成网络资产CPE指纹,所述网络资产CPE指纹用于标识单个网络资产;
CPE-CVE关联模块:配置为定期从NVD数据库获取更新的CVE数据,对所述更新的CVE数据中的CPE字段进行解析;获取CPE字典,提取所述CPE字典中受影响产品的类别、名称、版本信息,将其作为提取的CPE信息;将所述提取的CPE信息与CVE数据建立关联;将获取的CPE信息与CVE数据的对应关系存储于CPE-CVE关联数据库;将所述CPE-CVE关联数据库中的数据存储于CPE-CVE缓存数据库;
匹配模块:配置为将所述网络资产CPE指纹与所述CPE-CVE缓存数据库的指纹进行匹配;若匹配成功,则说明当前网络资产存在漏洞;若匹配不成功,则说明当前资产暂无数据库中所存漏洞;
存储模块:将所述网络资产CPE指纹标识的网络资产添加相应CVE编号,若探测到的网络资产暂无漏洞,则将CVE编号置空,并存入网络资产数据库。
根据本发明第三方面,提供一种基于指纹的网络资产与漏洞关联系统,包括:
处理器,用于执行多条指令;
存储器,用于存储多条指令;
其中,所述多条指令,用于由所述存储器存储,并由所述处理器加载并执行如前所述的方法。
根据本发明第四方面,提供一种计算机可读存储介质,所述存储介质中存储有多条指令;所述多条指令,用于由处理器加载并执行如前所述的方法。
根据本发明的上述方案,该方法自动化、批量化从解析服务器中提取探测到的资产CPE指纹;当CVE、CPE官网信息更新及内部数据更新时,能够及时更新CPE-CVE关联数据库;能够将数据库部署在缓存服务器上,提高查询效率,提升入库存储速度。本发明采用CPE指纹生成技术,CPE-CVE关联技术,缓存数据库查询技术,不使用Poc进行大规模远程验证,较好地避免了触发远程主机保护机制的问题,且较大提升了资产和漏洞关联速度。具有以下技术效果:(1)利用所述方法可以自动提取资产中相关CPE信息,CPE结构可根据开展任务进行自定义;(2)利用所述方法可以对CPE、CVE进行自动关联,并自动更新CPE-CVE关联数据库,保证了工作任务均能采用最新版本的数据库执行关联任务,提高了关联的实时性与准确性。(3)利用基于分类的分布式缓存数据库技术,可以实现资产漏洞快速关联查询,提高了查询速度。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明提供如下附图进行说明。在附图中:
图1为本发明一个实施方式的基于指纹的网络资产与漏洞关联方法流程图;
图2为本发明一个实施方式的生成CPE-CVE关联数据的示意图;
图3为本发明一个实施方式的将CPE-CVE关联数据库中的数据存储于缓存数据库的示意图;
图4为本发明一个实施方式的基于指纹的网络资产与漏洞关联装置结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先结合图1说明为本发明一个实施方式的基于指纹的网络资产与漏洞关联方法流程图。如图1所示,所述方法包括以下步骤:
步骤S1:对网络资产进行探测,获取所述网络资产的返回报文;解析所述返回报文的关键信息,所述关键信息包括受影响产品的类别、名称、版本;基于所述关键信息生成网络资产CPE指纹,所述网络资产CPE指纹用于标识单个网络资产;
步骤S2:定期从NVD数据库获取更新的CVE数据,对所述更新的CVE数据中的CPE字段进行解析;获取CPE字典,提取所述CPE字典中受影响产品的类别、名称、版本信息,将其作为提取的CPE信息;将所述提取的CPE信息与CVE数据建立关联;将获取的CPE信息与CVE数据的对应关系存储于CPE-CVE关联数据库;将所述CPE-CVE关联数据库中的数据存储于CPE-CVE缓存数据库;
步骤S3:将所述网络资产CPE指纹与所述CPE-CVE缓存数据库的指纹进行匹配;若匹配成功,则说明当前网络资产存在漏洞;若匹配不成功,则说明当前资产暂无数据库中所存漏洞;
步骤S4:将所述网络资产CPE指纹标识的网络资产添加相应CVE编号,若探测到的网络资产暂无漏洞,则将CVE编号置空,并存入网络资产数据库。
所述步骤S1,其中:
所述基于所述关键信息生成网络资产指纹,包括:
所述关键信息包括Banner信息。Banner信息为受影响产品的类别、名称、版本等。
所述数据库中的指纹是指从网上爬取的CVE数据包中提取CPE信息中的受影响产品的类别、名称、版本等信息编制成相应指纹。
目前最新的CPE(Common Platform Enumeration,通用平台枚举)版本是2.3版本,CPE2.3命名规范定义了用于为IT产品类别分配名称的标准化方法。以Microsoft InternetExplorer 8.0.6001Beta为例进行说明:
wfn:[part=“a”,vendor=“microsoft”,product=“internet_explorer”,version=“8\.0\.6001”,update=“beta”]
这种命名方法被称为WFN(well-formed CPE names,格式正确的CPE名称),这是一种抽象的逻辑结构。CPE命名规范定义了将WFN绑定到机器可读编码以及将这些编码解绑定回WFN的过程。CPE 2.3中包含一种称为统一资源标识符(URI)的绑定,用于与CPE 2.2向后兼容。上面的WFN的URI绑定表示为:
cpe:/a:microsoft:internet_explorer:8.0.6001:beta
CPE 2.3中定义的第二个绑定称为格式化字符串绑定。它的语法与URI绑定略有不同,并且还支持其他产品属性。使用格式化的字符串绑定,以上的WFN可以用以下形式表示:
cpe:2.3:a:microsoft:internet_explorer:8.0.6001:beta:*:*:*:*:*:*
WFN包含属性如下表1所示:
表1
序号 | 属性 | 描述 |
1 | part | 资产类型 |
2 | vendor | 制造或创建产品的人员或组织 |
3 | product | 最常见且可识别的产品标题或名称 |
4 | version | 产品的特定发行版本 |
5 | update | 产品的特定更新,Service Pack或定点发行 |
6 | edition | 该属性在CPE 2.3版本中已被弃用 |
7 | language | 产品的用户界面中支持的语言 |
8 | sw_edition | 产品针对特定市场或最终用户类别量身定制的内容 |
9 | target_sw | 产品运行的软件计算环境 |
10 | target_hw | 产品所基于的指令集体系结构 |
11 | other | 其他常规描述性或标识性信息 |
本实施例中,自定义了CPE格式,用于网络资产指纹的生成,所述自定义的CPE格式,是指在探测到的网络资产中提取资产类别、名称、版本等关键信息,对CPE官方格式进行约简,仅保留类别、名称、版本等属性,对保留的属性进行编码,并将编码作为资产指纹。采取这种方式既可以提高匹配速度,又可以降低属性冗余度。本地指纹库中的指纹可以使用开源指纹,也可以根据任务添加自定义指纹形成专属指纹库。
如图2所示,所述步骤S2,其中:
NVD是美国政府使用安全内容自动化协议(SCAP)表示的基于标准的漏洞管理数据的存储库。这些数据支持漏洞管理、安全度量和法规遵从性的自动化。NVD包括安全检查清单参考、安全相关软件缺陷、错误配置、产品名称和影响度量的数据库。其CVE数据每月更新一次,数据中包含当月暴露的格式化漏洞编号,此次漏洞影响的软硬件版本信息,及此漏洞的CVSS评分,具有较高的参考价值。美国国家漏洞库会定期发布CPE字典。提取CPE字典中资产类别、名称、版本等关键信息,并基于此生成网络资产CPE指纹;CVE漏洞在发布时会公开此次漏洞受影响的资产信息,其中便有CPE信息,将漏洞涉及的CPE与CVE编号建立关联。本实施例中,爬取CPE字典及CVE数据库,对于获取到的CPE信息,进行数据清洗,利用正则匹配的方式确定CPE及与该CPE对应的CVE,一个CPE可以对应多个CVE,一个CVE也可能有多个CPE。本实施例中,利用爬虫定期爬取相关数据,并提取CPE、CVE信息,形成CPE对应CVE的关联数据库。进一步地,可以通过自添加相关关联数据的方式按照内部规则编制CVE号,以及根据自定义的CPE格式生成CPE信息,并将CVE、CPE关联信息添加到数据库中,如针对部分0day漏洞,网上还没有相应的CVE编号和CPE信息,则可以按照内部规则编制CVE号,以及根据自定义的CPE格式生成CPE信息,并将相关0day漏洞的CVE、CPE关联信息添加到数据库中。
CVE、CPE关联数据库中数据存储格式如下表2所示:
表2
CPE信息 | CVE信息 |
例如,CVE-2021-0203的其中一条CPE存储格式如下表3所示:
表3
cpe:2.3:o:juniper:junos:15.1:* | CVE-2021-0203 |
本实施例中,CPE是用于信息技术系统,软件和程序包的结构化命名方案。基于统一资源标识符(URI)的通用语法,CPE包括形式名称格式,用于根据系统检查名称的方法以及用于将文本和测试绑定到名称的描述格式。官方发布的CVE数据库中,包含了CVE信息和此次漏洞影响的软件版本等CPE信息以及CVSS信息,可以利用正则匹配将涉及的软件版本信息提取出来,按CPE格式进行存储,再将其与CVE号进行关联。
进一步地,将所述CPE-CVE关联数据库中的数据进行备份,备份数据存储于缓存数据库,定期更新所述CPE-CVE关联数据库,并同步至缓存数据库。
本实施例中,缓存数据库是指将数据存在内存中的缓存系统,由于CPE-CVE关联数据库不大,可以采用内存存储的方式来减少对数据库的读取次数,加快查询速度,从而提高整个系统的性能。缓存数据库的操作涉及到读和写。写的操作是存储或者更新CPE-CVE数据,即将所述CPE-CVE关联数据库中的数据存储于缓存数据库。由于NVD原始数据可以按年份进行爬取,便可按年进行分类,而分布式操作的形成,即可通过使用多个缓存服务器形成,也可以通过在一台缓存服务器中开辟多个缓存分区形成,本发明选取后一种方案进行分布式操作从而达到查询时缩短查询时间的目的。
如图3所示,将所述CPE-CVE关联数据库中的数据存储于缓存数据库,包括:
步骤S201:所述CPE-CVE关联数据库成需要存储于缓存数据库的缓存数据;
步骤S202:按年份将缓存服务器进行分区,提取CVE数据中的时间值,将所述时间值输入分类算法模块,由分类算法根据时间值得到缓存分区号;
步骤S203:将所述缓存数据按年份写入缓存服务器中与所述缓存数据对应的缓存分区,所述缓存服务器部署了所述缓存数据库。
即完成一次分布式缓存的写操作。
所述步骤S4,其中:
本实施例中,将生成的CPE-CVE关联数据库存储在缓存服务器上,新探测资产提取CPE指纹后,被送入缓存服务器进行漏洞匹配,如有关联到相关的CVE信息,则为新资产打上相应CVE编号的标签,一起存入资产数据库。
查询操作读的操作是查询新探测到的网络资产是否有关联的漏洞。
基于所述CPE信息,查询与其对应的CVE信息;为所述网络资产添加所述对应的CVE信息,将网络资产存入资产数据库,包括:
步骤S401:获取由解析服务器生成的CPE指纹,获取所述网络资产的时间值;基于时间值确定该CVE-CPE关联数据库中对应的缓存分区,得到缓存分区号;
步骤S402:在所述缓存分区号对应的缓存分区中遍历数据,查询与所述网络资产对应的CVE编号;若存在,进入步骤S403,若不在,设置空值,进入步骤S404;
步骤S403:为所述网络资产添加对应的CVE编号的标签,将网络资产加入资产数据库,方法结束;
步骤S404:为所述网络资产添加空标签,将网络资产加入资产数据库,方法结束。
图4为本发明一个实施方式的基于指纹的网络资产与漏洞关联装置的结构示意图,如图4所示,所述装置包括:
探测模块:配置为对网络资产进行探测,获取所述网络资产的返回报文;解析所述返回报文的关键信息,所述关键信息包括受影响产品的类别、名称、版本;基于所述关键信息生成网络资产CPE指纹,所述网络资产CPE指纹用于标识单个网络资产;
CPE-CVE关联模块:配置为定期从NVD数据库获取更新的CVE数据,对所述更新的CVE数据中的CPE字段进行解析;获取CPE字典,提取所述CPE字典中受影响产品的类别、名称、版本信息,将其作为提取的CPE信息;将所述提取的CPE信息与CVE数据建立关联;将获取的CPE信息与CVE数据的对应关系存储于CPE-CVE关联数据库;将所述CPE-CVE关联数据库中的数据存储于CPE-CVE缓存数据库;
匹配模块:配置为将所述网络资产CPE指纹与所述CPE-CVE缓存数据库的指纹进行匹配;若匹配成功,则说明当前网络资产存在漏洞;若匹配不成功,则说明当前资产暂无数据库中所存漏洞;
存储模块:将所述网络资产CPE指纹标识的网络资产添加相应CVE编号,若探测到的网络资产暂无漏洞,则将CVE编号置空,并存入网络资产数据库。
本发明实施例进一步给出一种基于指纹的网络资产与漏洞关联系统,包括:
处理器,用于执行多条指令;
存储器,用于存储多条指令;
其中,所述多条指令,用于由所述存储器存储,并由所述处理器加载并执行如前所述的方法。
本发明实施例进一步给出一种计算机可读存储介质,所述存储介质中存储有多条指令;所述多条指令,用于由处理器加载并执行如前所述的方法。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,实体机服务器,或者网络云服务器等,需安装Windows或者Windows Server操作系统)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (8)
1.一种基于指纹的网络资产与漏洞关联方法,其特征在于,所述方法包括以下步骤:
步骤S1:对网络资产进行探测,获取所述网络资产的返回报文;解析所述返回报文的关键信息,所述关键信息包括受影响产品的类别、名称、版本;基于所述关键信息生成网络资产CPE指纹,所述网络资产CPE指纹用于标识单个网络资产;
步骤S2:定期从NVD数据库获取更新的CVE数据,对所述更新的CVE数据中的CPE字段进行解析;获取CPE字典,提取所述CPE字典中受影响产品的类别、名称、版本信息,将其作为提取的CPE信息;将所述提取的CPE信息与CVE数据建立关联;将获取的CPE信息与CVE数据的对应关系存储于CPE-CVE关联数据库;将所述CPE-CVE关联数据库中的数据存储于CPE-CVE缓存数据库;
步骤S3:将所述网络资产CPE指纹与所述CPE-CVE缓存数据库的指纹进行匹配;若匹配成功,则说明当前网络资产存在漏洞;若匹配不成功,则说明当前资产暂无数据库中所存漏洞;
步骤S4:将所述网络资产CPE指纹标识的网络资产添加相应CVE编号,若探测到的网络资产暂无漏洞,则将CVE编号置空,并存入网络资产数据库。
2.如权利要求1所述的方法,其特征在于,所述步骤S1,其中:
所述关键信息包括Banner信息,Banner信息为受影响产品的类别、名称、版本;
所述网络资产CPE指纹是指将从网络上爬取的CVE数据包中提取的CPE信息中的受影响产品的类别、名称、版本信息编制成的相应指纹。
3.如权利要求2所述的方法,其特征在于,采用自定义方式生成网络资产CPE指纹,基于所述网络资产的类别、名称、版本的属性,对属性进行编码,并将编码作为资产指纹。
4.如权利要求3所述的方法,其特征在于,将所述CPE-CVE关联数据库中的数据存储于缓存数据库,包括:
步骤S201:确定所述CPE-CVE关联数据库需要存储于缓存数据库的缓存数据;
步骤S202:按年份将缓存服务器进行分区,提取CVE数据中的时间值,将所述时间值输入分类算法模块,由分类算法模块根据时间值得到缓存分区号;
步骤S203:将所述缓存数据按年份写入缓存服务器中与所述缓存数据对应的缓存分区,所述缓存服务器部署了所述缓存数据库。
5.如权利要求4所述的方法,其特征在于,所述步骤S4,包括:
步骤S401:获取由解析服务器生成的CPE指纹,获取所述网络资产的时间值;基于时间值确定该CVE-CPE关联数据库中对应的缓存分区,得到缓存分区号;
步骤S402:在所述缓存分区号对应的缓存分区中遍历数据,查询与所述网络资产对应的CVE编号;若存在,进入步骤S403,若不在,设置空值,进入步骤S404;
步骤S403:为所述网络资产添加对应的CVE编号的标签,将网络资产加入资产数据库,方法结束;
步骤S404:为所述网络资产添加空标签,将网络资产加入资产数据库,方法结束。
6.一种基于指纹的网络资产与漏洞关联装置,其特征在于,所述装置包括:
探测模块:配置为对网络资产进行探测,获取所述网络资产的返回报文;解析所述返回报文的关键信息,所述关键信息包括受影响产品的类别、名称、版本;基于所述关键信息生成网络资产CPE指纹,所述网络资产CPE指纹用于标识单个网络资产;
CPE-CVE关联模块:配置为定期从NVD数据库获取更新的CVE数据,对所述更新的CVE数据中的CPE字段进行解析;获取CPE字典,提取所述CPE字典中受影响产品的类别、名称、版本信息,将其作为提取的CPE信息;将所述提取的CPE信息与CVE编号建立关联;将获取的CPE与CVE的对应关系存储于CPE-CVE关联数据库;将所述CPE-CVE关联数据库中的数据存储于CPE-CVE缓存数据库;
匹配模块:配置为将所述网络资产CPE指纹与所述CPE-CVE缓存数据库的指纹进行匹配;若匹配成功,则说明当前网络资产存在漏洞;若匹配不成功,则说明当前资产暂无数据库中所存漏洞;
存储模块:将所述网络资产CPE指纹标识的网络资产添加相应CVE编号,若探测到的网络资产暂无漏洞,则将CVE编号置空,并存入网络资产数据库。
7.一种基于指纹的网络资产与漏洞关联系统,其特征在于,包括:
处理器,用于执行多条指令;
存储器,用于存储多条指令;
其中,所述多条指令,用于由所述存储器存储,并由所述处理器加载并执行如权利要求1-5之任一项所述方法。
8.一种计算机可读存储介质,其特征在于,所述存储介质中存储有多条指令;所述多条指令,用于由处理器加载并执行如权利要求1-5之任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210266901.XA CN114756868A (zh) | 2022-03-18 | 2022-03-18 | 一种基于指纹的网络资产与漏洞关联方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210266901.XA CN114756868A (zh) | 2022-03-18 | 2022-03-18 | 一种基于指纹的网络资产与漏洞关联方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114756868A true CN114756868A (zh) | 2022-07-15 |
Family
ID=82327681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210266901.XA Pending CN114756868A (zh) | 2022-03-18 | 2022-03-18 | 一种基于指纹的网络资产与漏洞关联方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114756868A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115529160A (zh) * | 2022-08-22 | 2022-12-27 | 东北大学秦皇岛分校 | 一种高效安全的大规模isp网络漏洞评估方法 |
CN117932124A (zh) * | 2024-03-05 | 2024-04-26 | 广州通则康威科技股份有限公司 | 一种cpe设备的信息交互方法、装置、设备及存储介质 |
CN117932124B (zh) * | 2024-03-05 | 2024-06-11 | 广州通则康威科技股份有限公司 | 一种cpe设备的信息交互方法、装置、设备及存储介质 |
-
2022
- 2022-03-18 CN CN202210266901.XA patent/CN114756868A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115529160A (zh) * | 2022-08-22 | 2022-12-27 | 东北大学秦皇岛分校 | 一种高效安全的大规模isp网络漏洞评估方法 |
CN117932124A (zh) * | 2024-03-05 | 2024-04-26 | 广州通则康威科技股份有限公司 | 一种cpe设备的信息交互方法、装置、设备及存储介质 |
CN117932124B (zh) * | 2024-03-05 | 2024-06-11 | 广州通则康威科技股份有限公司 | 一种cpe设备的信息交互方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8782609B2 (en) | Test failure bucketing | |
US10621211B2 (en) | Language tag management on international data storage | |
CN110764942A (zh) | 多种类数据校验方法、装置、计算机系统及可读存储介质 | |
CN111078481B (zh) | 获取配置检查清单的方法、装置、电子设备及存储介质 | |
CN112306549A (zh) | 接口文档配置方法、装置、设备及存储介质 | |
CN110866258A (zh) | 快速定位漏洞方法、电子装置及存储介质 | |
US8578327B2 (en) | Targeted to targetless application converter | |
CN112685771A (zh) | 日志脱敏方法、装置、设备及存储介质 | |
CN110245059B (zh) | 一种数据处理方法、设备及存储介质 | |
CN114756868A (zh) | 一种基于指纹的网络资产与漏洞关联方法及装置 | |
CN113094625B (zh) | 页面元素定位方法、装置、电子设备及存储介质 | |
CN111367890A (zh) | 一种数据迁移的方法、装置、计算机设备及可读存储介质 | |
CN111367531A (zh) | 代码处理方法及装置 | |
CN114661423A (zh) | 集群配置检测方法、装置、计算机设备及存储介质 | |
CN114416481A (zh) | 日志分析方法、装置、设备及存储介质 | |
CN111352631B (zh) | 一种接口兼容性检测方法及装置 | |
CN111966630B (zh) | 文件类型的检测方法、装置、设备和介质 | |
CN116775488A (zh) | 异常数据确定方法、装置、设备、介质及产品 | |
CN113536316B (zh) | 组件依赖信息的检测方法及装置 | |
CN114706586A (zh) | 代码编译、代码运行方法、装置、计算机设备及存储介质 | |
CN102591859A (zh) | 一种重用行业标准格式文件的方法及相关装置 | |
CN111767222A (zh) | 数据模型的验证方法、装置、电子设备、存储介质 | |
CN117171816B (zh) | 基于工业标识的数据验证方法及相关设备 | |
WO2022201309A1 (ja) | 情報補完装置、情報補完方法、及びコンピュータ読み取り可能な記録媒体 | |
CN114169309A (zh) | 修改行为数据表的方法、装置、计算机设备及存储介质 |
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 |