CN109241748A - 一种基于软件版本号识别软件漏洞的方法 - Google Patents

一种基于软件版本号识别软件漏洞的方法 Download PDF

Info

Publication number
CN109241748A
CN109241748A CN201811433420.3A CN201811433420A CN109241748A CN 109241748 A CN109241748 A CN 109241748A CN 201811433420 A CN201811433420 A CN 201811433420A CN 109241748 A CN109241748 A CN 109241748A
Authority
CN
China
Prior art keywords
software
loophole
version number
version
method based
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
Application number
CN201811433420.3A
Other languages
English (en)
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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201811433420.3A priority Critical patent/CN109241748A/zh
Publication of CN109241748A publication Critical patent/CN109241748A/zh
Pending legal-status Critical Current

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
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例公开了一种基于软件版本号识别软件漏洞的方法,包括S1,将软件版本号的查询命令置于脚本或数据库中,调用所述查询命令获取软件的版本号;S2,根据获取到的版本号匹配比对方式,通过比对版本号的大小判断当前软件是否存在漏洞。本发明通过集成各软件版本号的查询命令,将查询到的软件版本号自动进行比对,判断当前软件版本是否存在漏洞,整个过程不需要人为参与,提高漏洞软件的识别效率,且显著提高软件漏洞识别的准确性。

Description

一种基于软件版本号识别软件漏洞的方法
技术领域
本发明涉及计算机数据处理技术领域,具体地说是一种基于软件版本号识别软件漏洞的方法。
背景技术
软件版本号是指为软件设置的版本号码,是软件的一个重要属性,通过软件版本号可以直观的表现当前软件的迭代版本,该版本的具体功能。一个成熟的软件公司以及软件产品都有着规范的软件版本号。
版本号的不断规范在软件过程中的作用随着发展也变得愈发重要起来,例如:某软件在什么版本存在什么漏洞,都可以直接通过版本号进行判断,这也对漏洞的修复带来了有利的帮助。
传统的查询软件版本是否存在漏洞的方法是:通过版本号的查询命令获取版本号,然后人工比较当前版本是否存在漏洞。这种方式只查询一种软件较容易操作,但是查询多种软件的时候就存在人为参与效率低,且判断结果准确率低的现象。
发明内容
本发明实施例中提供了一种基于软件版本号识别软件漏洞的方法,以解决现有技术中人为判断存在漏洞的软件版本效率低、准确率低的问题。
为了解决上述技术问题,本发明实施例公开了如下技术方案:
本发明提供了一种基于软件版本号识别软件漏洞的方法,包括以下步骤:
S1,将软件版本号的查询命令置于脚本或数据库中,调用所述查询命令获取软件的版本号;
S2,根据获取到的版本号匹配比对方式,通过比对版本号的大小判断当前软件是否存在漏洞。
进一步地,所述方法还包括:
S3,将判断为存在漏洞的软件版本号及比对结果发送给漏洞测试软件,进行漏洞检测。
进一步地,所述发送给漏洞测试软件,进行软件的漏洞检测的具体过程为:
获取配置的漏洞测试软件的名称;
将判断为存在漏洞的软件版本号及比对结果输出为所述名称对应的参数及格式;
调用漏洞测试软件,对判断为存在漏洞的软件进行检测。
进一步地,所述步骤S1还包括:
通过识别主机IP(Internet Protocol Address,网际协议地址),对本地或/和远程主机进行软件版本号的查询。
进一步地,根据漏洞版本的指定方式,所述比对方式包括直接与漏洞版本比对,以及将漏洞版本用自定义参数表示,与自定义参数比对。
进一步地,所述直接与漏洞版本比对的具体过程为:
判断当前版本号与漏洞版本号的长度是否一致;
若不一致,则当前版本不存在漏洞;
若一致,将版本号进行拆分,从左至右一一比对,若存在不同,则当前版本不存在漏洞,否则当前版本存在漏洞。
进一步地,所述自定义参数包括自定义版本号和标识符,所述自定义版本号和标识符共同决定存在漏洞的范围。
进一步地,所述与自定义参数比对的具体过程为:
判断当前版本号与自定义版本号的长度是否一致,若不一致,将短的版本号的结尾用0补位;
将版本号进行拆分,从左至右一一比对,若存在不同,则判断两个版本号的大小,同时判断当前版本号是否落在漏洞范围内。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
1、通过集成各软件版本号的查询命令,将查询到的软件版本号自动进行比对,判断当前软件版本是否存在漏洞,整个过程不需要人为参与,提高漏洞软件的识别效率,且显著提高软件漏洞识别的准确性。
2、在软件版本号的查询过程中,通过识别主机的IP地址,可以进行本地主机和远程主机的软件查询,提高本发明是适用范围,且避免逐个主机查询,简化查询过程,提高工作效率。
3、在比对过程中,根据当前软件存在漏洞版本的特点,匹配不同的对比方式,提供比对效率和准确性。
4、在判断出存在漏洞的软件后,通过第三方的漏洞测试软件,对判断为存在漏洞的软件进行进一步地漏洞测试,保证最终结果的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明所述方法实施例1的流程示意图;
图2是本发明所述方法实施例2的流程示意图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
如图1所示,本发明的一种基于软件版本号识别软件漏洞的方法包括:
S1,将软件版本号的查询命令置于脚本或数据库中,调用所述查询命令获取软件的版本号;
S2,根据获取到的版本号匹配比对方式,通过比对版本号的大小判断当前软件是否存在漏洞。
步骤S1中,版本号查询主要实现本地或远程多软件版本的查询。本步骤中预置了常见软件的查询命令及方法,以命令的方式存放在脚本或者数据库中,在执行查询的时候进行调用,如Tomcat软件,通过命令sh version.sh获取当前版本号;通过IP对本地或远程主机进行检查,由于部分软件只能本地检查版本,通过对IP的判断,如果是本地IP则执行全部检查功能,如果是远程IP则执行只能远程检查功能。可以同时配置多个IP以实现多主机的查询。若存在新软件,可以手工增加新软件的查询功能,以适应对于新增软件的查询。
步骤S2中,漏洞版本通过两种方式指定,包括定值指定与不定值指定。
定值指定是将软件存在漏洞的版本预置到数据库或者配置文件中,在执行比对的时候,从数据库或配置文件中获取漏洞版本,采取直接与漏洞版本比对的方式,具体为:
判断当前版本号与漏洞版本号的长度是否一致;若不一致,则当前版本不存在漏洞;若一致,将版本号进行拆分,从左至右一一比对,若存在不同,则当前版本不存在漏洞,否则当前版本存在漏洞。若当前软件的漏洞版本存在多个,将当前版本号与预设的多个漏洞版本进行逐个对比。
不定值指定是将漏洞版本用自定义参数表示,与自定义参数比对。自定义参数包括自定义版本号和标识符,自定义版本号和标识符共同决定存在漏洞的范围。如自定义版本号设置为2.4.6、2.4.9,标识符设置为M、L和B,M表示大于自定义版本号存在漏洞,L表示小于自定义版本号存在漏洞,B表示自定义版本号之间存在漏洞。2.4.6M表示当前版本大于2.4.6则存在漏洞,2.4.9L表示当前版本小于2.4.9则存在漏洞,2.4.6 2.4.9B表示当前版本在2.4.6和2.4.9之间则存在漏洞。
与自定义参数比对的具体过程为:
判断当前版本号与自定义版本号的长度是否一致,若不一致,将短的版本号的结尾用0补位;将版本号进行拆分,从左至右一一比对,若存在不同,则判断两个版本号的大小,同时判断当前版本号是否落在漏洞范围内。
将版本号拆分,从左至右一一比对包括两两比对、三三比对和多段比对等情况。
两两比对多存在标识符为M或L的情况,通过对版本号进行拆分,从左开始一一比较,第一位相同则继续向右进行比对,存在不同时,判断出两个版本号的大小,判断当前版本号是否落在漏洞范围内,判断出当前版本是否为存在漏洞的版本。
三三比对主要是判断已知版本号是否在两个指定版本号的中间,以判断该版本是否存在漏洞。先用查询到的版本号与两个自定义版本号中的一个进行比对,如自定义版本号A和B,其中A<B,首先将当前版本号与B进行比对,如果版本号大于B,则认为不存在漏洞;如果版本号小于B,则与A进行比对,若版本号小于A,则认为不存在漏洞,大于A则认为存在漏洞。
多段比对与三三比对类似,例如自定义版本号A、B、C和D,且A<B<C<D,如果版本号在A和B,或者C和D之间时,存在漏洞。先将版本号和C与D进行比较,如果大于D,无漏洞;C与D之间有漏洞;小于C,则继续判断版本号是否在A与B之间。
对比方式的匹配根据当前软件存在漏洞版本号的个数和漏洞版本号的范围(或者说连续性)来确定,如果当前软件存在漏洞的版本号仅有1个或版本号相互不连续的几个,则采用定值指定的方式进行比对;如果当前软件存在漏洞的版本号有多个,且这多个版本号为连续或部分连续,则采用不定值指定的方式进行对比。
如图2所示,在实施例1的基础上,本实施例还包括步骤:
S3,将判断为存在漏洞的软件版本号及比对结果发送给漏洞测试软件,进行漏洞检测。
漏洞检测实现了将版本号比对结果传送给第三方软件查询漏洞的功能,对判断为存在漏洞的软件进行进一步地漏洞测试,保证最终结果的准确性。具体为:首先获取配置的漏洞测试软件的名称;将判断为存在漏洞的软件版本号及比对结果输出为所述名称对应的参数及格式;调用漏洞测试软件,对判断为存在漏洞的软件进行检测。例如以json或xml格式进行传输,参数包括当前软件的版本号,存在漏洞的版本号,比对结果。
以上所述只是本发明的优选实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也被视为本发明的保护范围。

Claims (8)

1.一种基于软件版本号识别软件漏洞的方法,其特征是,包括以下步骤:
S1,将软件版本号的查询命令置于脚本或数据库中,调用所述查询命令获取软件的版本号;
S2,根据获取到的版本号匹配比对方式,通过比对版本号的大小判断当前软件是否存在漏洞。
2.根据权利要求1所述的一种基于软件版本号识别软件漏洞的方法,其特征是,所述方法还包括:
S3,将判断为存在漏洞的软件版本号及比对结果发送给漏洞测试软件,进行漏洞检测。
3.根据权利要求2所述的一种基于软件版本号识别软件漏洞的方法,其特征是,所述发送给漏洞测试软件,进行软件的漏洞检测的具体过程为:
获取配置的漏洞测试软件的名称;
将判断为存在漏洞的软件版本号及比对结果输出为所述名称对应的参数及格式;
调用漏洞测试软件,对判断为存在漏洞的软件进行检测。
4.根据权利要求1或2所述的一种基于软件版本号识别软件漏洞的方法,其特征是,所述步骤S1还包括:
通过识别主机IP,对本地或/和远程主机进行软件版本号的查询。
5.根据权利要求1或2所述的一种基于软件版本号识别软件漏洞的方法,其特征是,根据漏洞版本的指定方式,所述比对方式包括直接与漏洞版本比对,以及将漏洞版本用自定义参数表示,与自定义参数比对。
6.根据权利要求5所述的一种基于软件版本号识别软件漏洞的方法,其特征是,所述直接与漏洞版本比对的具体过程为:
判断当前版本号与漏洞版本号的长度是否一致;
若不一致,则当前版本不存在漏洞;
若一致,将版本号进行拆分,从左至右一一比对,若存在不同,则当前版本不存在漏洞,否则当前版本存在漏洞。
7.根据权利要求5所述的一种基于软件版本号识别软件漏洞的方法,其特征是,所述自定义参数包括自定义版本号和标识符,所述自定义版本号和标识符共同决定存在漏洞的范围。
8.根据权利要求7所述的一种基于软件版本号识别软件漏洞的方法,其特征是,所述与自定义参数比对的具体过程为:
判断当前版本号与自定义版本号的长度是否一致,若不一致,将短的版本号的结尾用0补位;
将版本号进行拆分,从左至右一一比对,若存在不同,则判断两个版本号的大小,同时判断当前版本号是否落在漏洞范围内。
CN201811433420.3A 2018-11-28 2018-11-28 一种基于软件版本号识别软件漏洞的方法 Pending CN109241748A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811433420.3A CN109241748A (zh) 2018-11-28 2018-11-28 一种基于软件版本号识别软件漏洞的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811433420.3A CN109241748A (zh) 2018-11-28 2018-11-28 一种基于软件版本号识别软件漏洞的方法

Publications (1)

Publication Number Publication Date
CN109241748A true CN109241748A (zh) 2019-01-18

Family

ID=65074226

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811433420.3A Pending CN109241748A (zh) 2018-11-28 2018-11-28 一种基于软件版本号识别软件漏洞的方法

Country Status (1)

Country Link
CN (1) CN109241748A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110109699A (zh) * 2019-05-06 2019-08-09 重庆天蓬网络有限公司 一种漏洞组件查找方法、***、介质和电子设备
CN110569648A (zh) * 2019-09-16 2019-12-13 杭州安恒信息技术股份有限公司 版本漏洞库组织的方法和装置
CN111797402A (zh) * 2020-06-17 2020-10-20 北京世纪互联宽带数据中心有限公司 一种软件漏洞检测的方法、装置及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473505A (zh) * 2012-06-06 2013-12-25 腾讯科技(深圳)有限公司 一种软件漏洞的扫描提示方法和装置
CN106650460A (zh) * 2016-11-15 2017-05-10 上海华为技术有限公司 一种版本校验方法、装置及终端设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473505A (zh) * 2012-06-06 2013-12-25 腾讯科技(深圳)有限公司 一种软件漏洞的扫描提示方法和装置
CN106650460A (zh) * 2016-11-15 2017-05-10 上海华为技术有限公司 一种版本校验方法、装置及终端设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110109699A (zh) * 2019-05-06 2019-08-09 重庆天蓬网络有限公司 一种漏洞组件查找方法、***、介质和电子设备
CN110569648A (zh) * 2019-09-16 2019-12-13 杭州安恒信息技术股份有限公司 版本漏洞库组织的方法和装置
CN110569648B (zh) * 2019-09-16 2021-07-27 杭州安恒信息技术股份有限公司 版本漏洞库组织的方法和装置
CN111797402A (zh) * 2020-06-17 2020-10-20 北京世纪互联宽带数据中心有限公司 一种软件漏洞检测的方法、装置及存储介质

Similar Documents

Publication Publication Date Title
CN108255653B (zh) 一种产品的测试方法及其终端
CN109241748A (zh) 一种基于软件版本号识别软件漏洞的方法
US9953639B2 (en) Voice recognition system and construction method thereof
CN103281683B (zh) 一种发送语音消息的方法及装置
CN105336342B (zh) 语音识别结果评价方法及***
WO2020108063A1 (zh) 特征词的确定方法、装置和服务器
US10796096B2 (en) Semantic expression generation method and apparatus
US20110013527A1 (en) System and method for deep packet inspection
JP2018014765A5 (zh)
CN109213844A (zh) 一种文本处理方法、装置以及相关设备
CN104333483A (zh) 互联网应用流量识别方法、***及识别装置
CN109460220A (zh) 报文预定义代码生成方法、装置、电子设备和存储介质
WO2023070803A1 (zh) 语音识别方法、装置、设备及存储介质
CN105302885A (zh) 一种全文数据的提取方法和装置
CN104333461A (zh) 互联网应用流量识别方法、***及识别装置
CN103905482B (zh) 推送信息的方法、推送服务器和***
CN109460775A (zh) 一种基于信息熵的数据填充方法及装置
CN112235230A (zh) 一种恶意流量识别方法及***
CN110443269A (zh) 一种文档比对方法及装置
CN109408379A (zh) 一种基于提升jmeter接口自动化测试数据匹配方法
CN109584881A (zh) 基于语音处理的号码识别方法、装置及终端设备
CN111343660A (zh) 一种应用程序的测试方法及设备
CN105335466A (zh) 一种音频数据的检索方法与装置
CN103810997A (zh) 一种确定语音识别结果置信度的方法和装置
CN109087647A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190118