CN110941831B - 基于分片技术的漏洞匹配方法 - Google Patents

基于分片技术的漏洞匹配方法 Download PDF

Info

Publication number
CN110941831B
CN110941831B CN201911155123.1A CN201911155123A CN110941831B CN 110941831 B CN110941831 B CN 110941831B CN 201911155123 A CN201911155123 A CN 201911155123A CN 110941831 B CN110941831 B CN 110941831B
Authority
CN
China
Prior art keywords
vulnerability
information
file
version
key
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
Application number
CN201911155123.1A
Other languages
English (en)
Other versions
CN110941831A (zh
Inventor
朱连凯
王英
任军锋
陆炜
陈政熙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Institute of Process Automation Instrumentation
Original Assignee
Shanghai Institute of Process Automation Instrumentation
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Institute of Process Automation Instrumentation filed Critical Shanghai Institute of Process Automation Instrumentation
Priority to CN201911155123.1A priority Critical patent/CN110941831B/zh
Publication of CN110941831A publication Critical patent/CN110941831A/zh
Application granted granted Critical
Publication of CN110941831B publication Critical patent/CN110941831B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query 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 (1)

1.一种基于分片技术的漏洞匹配方法,其特征在于,具体包括如下步骤:
1)建立一级索引文件,通过一级索引文件从漏洞数据库中抽取厂商名称和产品类型信息,以厂商名称创建独立的目录,将信息录入,形成信息分片;
构建一级索引文件,索引为json文件的key/value字典格式,包括三层字典:
最外层:将设备厂商作为key,在value中将包含产品型号列表;
次外层:有两队元素,第一队为产品型号列表,列表中的元素以key/value字典形式存在,包含具体的产品名称及其存在漏洞的版本号信息;第二对为产品正则组合,包含产品名称信息组合;
最内层:key为具体的产品名称,value为该产品存在漏洞的版本号信息;
2)建立二级索引文件,在命中一级索引的情况下,通过二级索引文件从漏洞数据库中抽取不同版本的设备存在的漏洞信息;
二级索引文件的索引以key/value的字典形式格式,key为版本信息,value为漏洞信息列表;
3)设定组合规则,将步骤3)得到的漏洞信息进行厂商、类型和版本三者之间的关系匹配,构成完整漏洞信息,形成漏洞文件,漏洞文件对应在步骤1)目录下,通过漏洞文件提取对应版本下面的所有漏洞信息。
CN201911155123.1A 2019-11-22 2019-11-22 基于分片技术的漏洞匹配方法 Active CN110941831B (zh)

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 CN110941831A (zh) 2020-03-31
CN110941831B true 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)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021217421A1 (zh) * 2020-04-28 2021-11-04 深圳开源互联网安全技术有限公司 Java开源组件的漏洞检测方法、装置及存储介质
CN117648635B (zh) * 2024-01-30 2024-05-03 深圳昂楷科技有限公司 敏感信息分类分级方法及***、电子设备

Citations (6)

* Cited by examiner, † Cited by third party
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 中国航天科工集团第二研究院七〇六所 一种信息服务软件漏洞检测方法
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 北京邮电大学 一种计算网络产品信息安全风险的评估方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10089473B2 (en) * 2014-12-24 2018-10-02 Sap Se Software nomenclature system for security vulnerability management

Patent Citations (6)

* Cited by examiner, † Cited by third party
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 中国航天科工集团第二研究院七〇六所 一种信息服务软件漏洞检测方法
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)

* Cited by examiner, † Cited by third party
Title
温涛 ; 张玉清 ; 刘奇旭 ; 杨刚 ; .UVDA:自动化融合异构安全漏洞库框架的设计与实现.通信学报.2015,(10),全文. *
胡华平 ; 宋祖曼 ; 王璞 ; .基于模糊匹配的补丁文件定位算法研究.计算机工程与科学.2007,(04),全文. *

Also Published As

Publication number Publication date
CN110941831A (zh) 2020-03-31

Similar Documents

Publication Publication Date Title
Fu et al. Toward efficient multi-keyword fuzzy search over encrypted outsourced data with accuracy improvement
Harris et al. 4store: The design and implementation of a clustered RDF store
US9158838B2 (en) Determining query return referents for concept types in conceptual graphs
US9129007B2 (en) Indexing and querying hash sequence matrices
JP5330269B2 (ja) 非対称署名生成を使用するドキュメント照合エンジン
US7516130B2 (en) Matching engine with signature generation
CN101404032B (zh) 一种基于内容的视频检索方法及***
US20090094262A1 (en) Automatic Generation Of Ontologies Using Word Affinities
EP3292481B1 (en) Method, system and computer program product for performing numeric searches
US8266150B1 (en) Scalable document signature search engine
US11379670B1 (en) Automatically populating responses using artificial intelligence
CN110941831B (zh) 基于分片技术的漏洞匹配方法
CN109918341B (zh) 日志处理方法及装置
US20220147526A1 (en) Keyword and business tag extraction
CN110209659A (zh) 一种简历过滤方法、***和计算机可读存储介质
Tao Entity matching with active monotone classification
CN110222015B (zh) 一种文件数据的读取、查询方法、装置及可读存储介质
US10565188B2 (en) System and method for performing a pattern matching search
US20090063479A1 (en) Search templates
Belazzougui et al. Compressed string dictionary look-up with edit distance one
CN113434511B (zh) 一种基于希尔伯特曲线的聚类索引方法
Moia et al. A comparative analysis about similarity search strategies for digital forensics investigations
CN106250440B (zh) 文档管理方法和装置
CN114880523A (zh) 字符串处理方法、装置、电子设备及存储介质
CN110046180B (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