CN110941831A - 基于分片技术的漏洞匹配方法 - Google Patents
基于分片技术的漏洞匹配方法 Download PDFInfo
- Publication number
- CN110941831A CN110941831A CN201911155123.1A CN201911155123A CN110941831A CN 110941831 A CN110941831 A CN 110941831A CN 201911155123 A CN201911155123 A CN 201911155123A CN 110941831 A CN110941831 A CN 110941831A
- Authority
- CN
- China
- Prior art keywords
- vulnerability
- information
- file
- key
- value
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 238000005516 engineering process Methods 0.000 title claims abstract description 10
- 238000013467 fragmentation Methods 0.000 title claims abstract description 9
- 238000006062 fragmentation reaction Methods 0.000 title claims abstract description 9
- 239000012634 fragment Substances 0.000 claims description 4
- 230000007547 defect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000007689 inspection Methods 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
- 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/22—Indexing; Data structures therefor; Storage structures
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于分片技术的漏洞匹配方法,建立一级索引文件,通过一级索引文件从漏洞数据库中抽取厂商名称和产品类型信息,以厂商名称创建独立的目录,将信息录入,形成信息分片;建立二级索引文件,在命中一级索引的情况下,通过二级索引文件从漏洞数据库中抽取不同版本的设备存在的漏洞信息;设定组合规则,将得到的漏洞信息进行厂商、类型和版本三者之间的关系匹配,构成完整漏洞信息,形成漏洞文件,通过漏洞文件可提取对应版本下面的所有漏洞信息。通过分级索引快速定位、提取和分片漏洞数据,再通过组合规则精确匹配漏洞数据,提高效率和节省内存资源。
Description
技术领域
本发明涉及一种数据管理技术,特别涉及一种基于分片技术的漏洞匹配方法。
背景技术
当前的工业安全漏洞扫描软件绝大部分是和检查填表软件结合为威胁评估***,硬件形成一个手提式的软硬件结合形态的产品。产品形态导致了硬件的计算资源非常的有限,但是对于漏洞扫描来说,通过数据探测技术,扫描出被探测设备的基础信息,并根据输出的信息与漏洞库进行匹配,在一系列的软件处理过程中将消耗大量的CPU和内存资源。同时,传统的关系型数据库不支持模糊匹配,这一缺陷将直接导致漏洞匹配的有效性低下。
发明内容
本发明是针对漏洞数据量过大,数据库不可快速模糊匹配的问题,提出了一种基于分片技术的漏洞匹配方法,有效的解决资源和匹配有效性的问题。
本发明的技术方案为:一种基于分片技术的漏洞匹配方法,具体包括如下步骤:
1)建立一级索引文件,通过一级索引文件从漏洞数据库中抽取厂商名称和产品类型信息,以厂商名称创建独立的目录,将信息录入,形成信息分片;
2)建立二级索引文件,在命中一级索引的情况下,通过二级索引文件从漏洞数据库中抽取不同版本的设备存在的漏洞信息;
3)设定组合规则,将步骤3)得到的漏洞信息进行厂商、类型和版本三者之间的关系匹配,构成完整漏洞信息,形成漏洞文件,漏洞文件对应在步骤1)目录下,通过漏洞文件提取对应版本下面的所有漏洞信息。
所述步骤1)具体实现如下:构建一级索引文件,索引为json文件的key/value字典格式,包括三层字典:
最外层:将设备厂商作为key,在value中将包含产品型号列表;
次外层:有两队元素,第一队为产品型号列表,列表中的元素以key/value字典形式存在,包含具体的产品名称及其存在漏洞的版本号信息;第二对为产品正则组合,包含产品名称信息组合;
最内层:key为具体的产品名称,value为该产品存在漏洞的版本号信息。
所述步骤2)中二级索引文件的索引以key/value的字典形式格式,key为版本信息,value为漏洞信息列表。
本发明的有益效果在于:本发明基于分片技术的漏洞匹配方法,通过分级索引快速定位、提取和分片漏洞数据,再通过组合规则精确匹配漏洞数据,提高效率和节省内存资源。
附图说明
图1为本发明方法中建立而连接索引的过程结构图。
具体实施方式
本技术方案为了避免匹配的低效,以及在多并发查询时数据库性能缺陷,只是将关系型数据库作为数据获取或存储的载体。通过设置提取漏洞关键信息如设备的厂商信息,产品类型,产品版本号等信息(可以根据关注的重点,自由灵活抽取所关注的数据信息),并将抽取的数据以文件的形式保存。该文件中的信息将作为后续漏洞信息匹配查询的索引,通过索引将可以快速定位出对设备影响的漏洞数据的指引信息。
在建立了索引文件以后,需要从数据库中抽取部分漏洞信息,如影响设备信息列表、CVE编号、CNVD编号、威胁等级等信息,并将抽取的信息存入特定的文件中,如json文件(作为本方法的指定数据保存文件格式),生成针对特定设备的二级索引漏洞信息文件。
通过以上两个步骤,将构建出一套二联级的分片数据目录,成功的将漏洞数据从传统的关系型的数据库,转换成精简的漏洞索引,这样既可以保证内存的占用比快速下降,又可以降低cpu的技术需求量,同时解决了传统数据库无法做模糊匹配的技术缺陷。
如图1所示本发明方法中建立而连接索引的过程结构图,在起始阶段加载一级索引文件,二级索引文件只有在命中一级索引的情况下,才会将对应的二级索引文件加载到内存中,形成切片式的逻辑查找模式,从而降低内存资源的压力。同时,二联级索引可以直接获取到漏洞编号信息,后续的数据库中查询漏洞的详细信息时,可以提高查询效率,降低数据库查询和CPU计算压力。
通过扫描引擎将探测到的基础数据信息,作为漏洞定位以及精确匹配的基础,将通过二联级索引***定位漏洞的的初步范围,在缩小了匹配范围以后,将进一步精确匹配。
具体步骤如下:
第一步,构建一级索引文件,索引为json文件的key/value字典格式,包括三层字典。
1、最外层,将vendor(设备厂商)作为key(关键字),在value中将包含module_list(产品型号列表),module_re(产品名称信息组合)。
2、次外层,有两队key:value元素,“module_list”:{},“module_re”:“”;module_list(产品型号列表),列表中的元素以key/value字典形式存在,包含具体的产品名称及其存在漏洞的版本号信息等,module_re(产品正则组合),包含产品名称信息组合。
3、最内层,为产品以及其受影响版本的信息,其中key为具体的产品名称,value为该产品存在漏洞的版本号信息等。
根据一级索引中的vendor信息,以厂商名称创建独立的目录,并且在创建的独立目录中,根据module_list中的每一个元素的key作为名称,分别创建对应的json文件。
第二步,通过一级索引将创建的独立目录和文件信息,这为构建二级索引提供了基础。相较于一级索引是对厂商信息和产品类型的分片缩小,二级索引将建立更加具体的漏洞关联信息。二级索引中,以key/value的字典形式,简要的记录不同版本的设备所存在的漏洞分布情况,其中key为版本信息,value为漏洞信息(cve,cnvd,cnnvd编号等)列表。
第三步,通过二级索引获取的漏洞编号,可以通过查询漏洞数据库准确的获取漏洞的更加详细的漏洞信息。然后对获取的漏洞信息,通过设定的各种组合规则进行精确匹配。
各种组合规则举例如下:
厂商与型号组合规则
实际获取的设备信息中,可能存在拆分不清楚的情况,所以需要以多种组合方式尝试匹配,目前有如下几种:
1.正常顺序,厂商+型号+版本
2.交换顺序,厂商与型号信息交换,再进行匹配,型号+厂商+版本
3.将型号作为厂商进行匹配,型号+型号+版本
4.将厂商按空格拆分,若拆分后的字段大于1,则将第一部分作为厂商,剩余部分与型号组合后,再进行匹配,厂商(1)+厂商(2-n)型号+版本
漏洞匹配规则:
厂商匹配:
厂商一般字段较短,部分可能存在相互包含的情况,所以此处使用精确匹配,只有厂商名称完全一致时,才认为正确匹配。
型号匹配:
将型号字段以”、’\’、’-’、‘;’、’_’、’|’分隔符将字段拆分为若干份,然后以’.*’将这些字段重新组合在一起,作为正则表达式,进行正则匹配,将匹配到的所有类型信息都认为是命中项。
版本匹配:
提取待匹配版本信息字段中数字部分,版本信息以’.’分隔拆分,第一个字段将移除字段开始的字母,只保留数字部分,其余字段必须为纯数字或者为字母’x’,’X’。最终以tuple形式返回。
提取漏洞库中版本比较方工,判断版本信息前缀,提取比较方式
‘<’:小于
‘<=’:小于等于
‘>’:大于
‘>=’:大于等于
‘[.*]’:以中括号包围,为区间范围
‘{.*}’:多个版本组合
提取漏洞库中版本信息中数字部分,与待匹配版本提取方式相同
根据比较方式,进行比较
若等匹配信息中不存在版本信息,则提取漏洞库中版本未知时对应的漏洞信息,由于未知版本数量过多,只提取到的未知数量小于10时,才进行提取,否则忽略。
第四步,漏洞提取:
版本匹配完成后,将匹配到的厂商、型号信息组合后,即为漏洞文件所在位置,将文件打开后,提取对应版本下面的所有漏洞信息,即完成漏洞匹配过程。
Claims (3)
1.一种基于分片技术的漏洞匹配方法,其特征在于,具体包括如下步骤:
1)建立一级索引文件,通过一级索引文件从漏洞数据库中抽取厂商名称和产品类型信息,以厂商名称创建独立的目录,将信息录入,形成信息分片;
2)建立二级索引文件,在命中一级索引的情况下,通过二级索引文件从漏洞数据库中抽取不同版本的设备存在的漏洞信息;
3)设定组合规则,将步骤3)得到的漏洞信息进行厂商、类型和版本三者之间的关系匹配,构成完整漏洞信息,形成漏洞文件,漏洞文件对应在步骤1)目录下,通过漏洞文件提取对应版本下面的所有漏洞信息。
2.根据权利要求1所述基于分片技术的漏洞匹配方法,其特征在于,所述步骤1)具体实现如下:
构建一级索引文件,索引为json文件的key/value字典格式,包括三层字典:
最外层:将设备厂商作为key,在value中将包含产品型号列表;
次外层:有两队元素,第一队为产品型号列表,列表中的元素以key/value字典形式存在,包含具体的产品名称及其存在漏洞的版本号信息;第二对为产品正则组合,包含产品名称信息组合;
最内层:key为具体的产品名称,value为该产品存在漏洞的版本号信息。
3.根据权利要求2所述基于分片技术的漏洞匹配方法,其特征在于,所述步骤2)中二级索引文件的索引以key/value的字典形式格式,key为版本信息,value为漏洞信息列表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911155123.1A CN110941831B (zh) | 2019-11-22 | 2019-11-22 | 基于分片技术的漏洞匹配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911155123.1A CN110941831B (zh) | 2019-11-22 | 2019-11-22 | 基于分片技术的漏洞匹配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110941831A true CN110941831A (zh) | 2020-03-31 |
CN110941831B CN110941831B (zh) | 2024-03-26 |
Family
ID=69907992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911155123.1A Active CN110941831B (zh) | 2019-11-22 | 2019-11-22 | 基于分片技术的漏洞匹配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110941831B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112868008A (zh) * | 2020-04-28 | 2021-05-28 | 深圳开源互联网安全技术有限公司 | Java开源组件的漏洞检测方法、装置及存储介质 |
CN117648635A (zh) * | 2024-01-30 | 2024-03-05 | 深圳昂楷科技有限公司 | 敏感信息分类分级方法及***、电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7797332B1 (en) * | 2006-01-17 | 2010-09-14 | Fortinet, Inc. | Computer-implemented method and device for providing security on a computer network |
CN105095769A (zh) * | 2015-08-28 | 2015-11-25 | 中国航天科工集团第二研究院七〇六所 | 一种信息服务软件漏洞检测方法 |
US20160188882A1 (en) * | 2014-12-24 | 2016-06-30 | Hesham MAHROUS | Software nomenclature system for security vulnerability management |
CN106446691A (zh) * | 2016-11-24 | 2017-02-22 | 工业和信息化部电信研究院 | 检测软件中集成或定制的开源项目漏洞的方法和装置 |
CN107194262A (zh) * | 2017-05-19 | 2017-09-22 | 北京匡恩网络科技有限责任公司 | 用于扫描漏洞和生成漏洞信息库的方法及装置 |
CN107844705A (zh) * | 2017-11-14 | 2018-03-27 | 苏州棱镜七彩信息科技有限公司 | 基于二进制代码特征的第三方组件漏洞检测方法 |
CN109948911A (zh) * | 2019-02-27 | 2019-06-28 | 北京邮电大学 | 一种计算网络产品信息安全风险的评估方法 |
-
2019
- 2019-11-22 CN CN201911155123.1A patent/CN110941831B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7797332B1 (en) * | 2006-01-17 | 2010-09-14 | Fortinet, Inc. | Computer-implemented method and device for providing security on a computer network |
US20160188882A1 (en) * | 2014-12-24 | 2016-06-30 | Hesham MAHROUS | Software nomenclature system for security vulnerability management |
CN105095769A (zh) * | 2015-08-28 | 2015-11-25 | 中国航天科工集团第二研究院七〇六所 | 一种信息服务软件漏洞检测方法 |
CN106446691A (zh) * | 2016-11-24 | 2017-02-22 | 工业和信息化部电信研究院 | 检测软件中集成或定制的开源项目漏洞的方法和装置 |
CN107194262A (zh) * | 2017-05-19 | 2017-09-22 | 北京匡恩网络科技有限责任公司 | 用于扫描漏洞和生成漏洞信息库的方法及装置 |
CN107844705A (zh) * | 2017-11-14 | 2018-03-27 | 苏州棱镜七彩信息科技有限公司 | 基于二进制代码特征的第三方组件漏洞检测方法 |
CN109948911A (zh) * | 2019-02-27 | 2019-06-28 | 北京邮电大学 | 一种计算网络产品信息安全风险的评估方法 |
Non-Patent Citations (2)
Title |
---|
温涛;张玉清;刘奇旭;杨刚;: "UVDA:自动化融合异构安全漏洞库框架的设计与实现" * |
胡华平;宋祖曼;王璞;: "基于模糊匹配的补丁文件定位算法研究" * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112868008A (zh) * | 2020-04-28 | 2021-05-28 | 深圳开源互联网安全技术有限公司 | Java开源组件的漏洞检测方法、装置及存储介质 |
CN117648635A (zh) * | 2024-01-30 | 2024-03-05 | 深圳昂楷科技有限公司 | 敏感信息分类分级方法及***、电子设备 |
CN117648635B (zh) * | 2024-01-30 | 2024-05-03 | 深圳昂楷科技有限公司 | 敏感信息分类分级方法及***、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110941831B (zh) | 2024-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Fu et al. | Toward efficient multi-keyword fuzzy search over encrypted outsourced data with accuracy improvement | |
CN109510737B (zh) | 协议接口测试方法、装置、计算机设备和存储介质 | |
EP3292481B1 (en) | Method, system and computer program product for performing numeric searches | |
CN108710662B (zh) | 语言转换方法和装置、存储介质、数据查询***和方法 | |
CN102867049B (zh) | 一种基于单词查找树实现的汉语拼音快速分词方法 | |
CN113239365B (zh) | 一种基于知识图谱的漏洞修复方法 | |
CN113946546B (zh) | 异常检测方法、计算机存储介质及程序产品 | |
CN110941831A (zh) | 基于分片技术的漏洞匹配方法 | |
CN112199420A (zh) | 一种房产隐私字段信息模糊搜索方法 | |
CN110222015B (zh) | 一种文件数据的读取、查询方法、装置及可读存储介质 | |
CN110618999A (zh) | 数据的查询方法及装置、计算机存储介质、电子设备 | |
CN111813744A (zh) | 文件的搜索方法、装置、设备及存储介质 | |
CN105302827B (zh) | 一种事件的搜索方法和设备 | |
US11539730B2 (en) | Method, device, and computer program product for abnormality detection | |
CN107590233B (zh) | 一种文件管理方法及装置 | |
US8051060B1 (en) | Automatic detection of separators for compression | |
CN106407332B (zh) | 基于人工智能的搜索方法和装置 | |
CN117033534A (zh) | 地理信息处理方法、装置、计算机设备和存储介质 | |
CN110795617A (zh) | 一种搜索词的纠错方法及相关装置 | |
CN112765118B (zh) | 一种日志查询方法、装置、设备及存储介质 | |
CN113065419B (zh) | 一种基于流量高频内容的模式匹配算法及*** | |
EP2763052A1 (en) | Search method and information management device | |
CN107239517B (zh) | 基于Hbase数据库的多条件搜索方法及装置 | |
CN113076330A (zh) | 查询处理方法、装置、数据库***、电子设备及存储介质 | |
CN111914241B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |