CN113949568B - 中间件识别方法、装置、计算设备及存储介质 - Google Patents
中间件识别方法、装置、计算设备及存储介质 Download PDFInfo
- Publication number
- CN113949568B CN113949568B CN202111209038.6A CN202111209038A CN113949568B CN 113949568 B CN113949568 B CN 113949568B CN 202111209038 A CN202111209038 A CN 202111209038A CN 113949568 B CN113949568 B CN 113949568B
- Authority
- CN
- China
- Prior art keywords
- middleware
- version
- network
- determining
- target
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 230000003993 interaction Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 10
- 238000012795 verification Methods 0.000 claims description 4
- 238000001514 detection method Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 5
- ZPUCINDJVBIVPJ-LJISPDSOSA-N ***e Chemical compound O([C@H]1C[C@@H]2CC[C@@H](N2C)[C@H]1C(=O)OC)C(=O)C1=CC=CC=C1 ZPUCINDJVBIVPJ-LJISPDSOSA-N 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种中间件识别方法、装置、计算设备及存储介质,其中方法包括:获取规则知识库;该规则知识库中包括特征信息及对应的中间件名称和中间件版本;当检测到当前网络设备交互的网络流量时,利用该规则知识库对该网络流量进行特征识别;当识别到该网络流量中具有与该规则知识库中的特征信息相同的目标特征时,根据该目标特征确定对应的中间件名称和中间件版本。本方案,能够对网络设备上运行的中间件进行识别,而不被安全防护设备阻断。
Description
技术领域
本发明实施例涉及网络安全技术领域,特别涉及一种中间件识别方法、装置、计算设备及存储介质。
背景技术
中间件是独立的软件,将不同操作***提供的应用接口标准化,协议统一化,并屏蔽具体操作的细节。网络设备上通过运行这些中间件,利用中间件来提供通信支持、应用支持和公共服务等功能。
安装在网络设备上的中间件一般都是开源的,这些开源的中间件会存在一些漏洞,这些漏洞可以通过中间件自身版本的迭代进行修复。但是,在网络设备的局域网环境中,可能对中间件版本的更新存在滞后性,攻击者可能会利用存在漏洞的中间件向网络设备发起攻击,给网络设备的安全带来极大风险。因此,需要识别出网络设备上安装的中间件名称及中间件版本,以提示用户及时对中间件版本进行更新。
目前识别中间件的方式是对网络设备进行全面扫描,但是对网络设备进行全面扫描需要经过授权,否则扫描过程会被网络设备中的安全防护设备阻断,因此,需要提供一种不被安全防护设备阻断的中间件识别方法。
发明内容
基于现有技术中识别中间件会被安全防护设备阻断的问题,本发明实施例提供了一种中间件识别方法、装置、计算设备及存储介质,能够对网络设备上运行的中间件进行识别,而不被安全防护设备阻断。
第一方面,本发明实施例提供了一种中间件识别方法,包括:
获取规则知识库;所述规则知识库中包括特征信息及对应的中间件名称和中间件版本;
当检测到当前网络设备交互的网络流量时,利用所述规则知识库对所述网络流量进行特征识别;
当识别到所述网络流量中具有与所述规则知识库中的特征信息相同的目标特征时,根据所述目标特征确定对应的中间件名称和中间件版本。
优选地,所述获取规则知识库,包括:
确定所需识别的至少一种中间件;
确定每一种中间件所具有的至少一个版本;
针对每一种中间件的每一个版本,确定网络设备在基于该版本的中间件交互网络流量时,该网络流量中所具有的特征信息;
根据每一种中间件的每一个版本对应的特征信息,生成规则知识库。
优选地,所述确定网络设备在基于该版本的中间件交互网络流量时,该网络流量中所具有的特征信息,包括:
在虚拟机中安装该版本的中间件;
利用第三方工具与该中间件进行网络交互,并抓取交互的网络流量;
根据抓取的该网络流量,确定用于表征该版本的中间件的特征信息。
优选地,在虚拟机中安装该版本的中间件之后,还包括:
获取该版本的中间件的Logo文件和/或URL信息,将该Logo文件和/或URL信息确定为该版本的中间件的特征信息。
优选地,在若干种类型操作***的虚拟机中执行所述安装该版本的中间件。
优选地,识别到的所述目标特征为多个;
所述根据所述目标特征确定对应的中间件名称和中间件版本,包括:
根据所述规则知识库,确定每一个所述目标特征所对应的中间件名称和中间件版本;
按照不同中间件版本对多个所述目标特征进行分类;
利用预先对特征信息设定的匹配分值,计算每一个分类下包括的所述目标特征的总匹配分值;
基于每一个分类对应的总匹配分值,确定该多个所述目标特征对应的中间件名称和中间件版本。
优选地,在根据所述目标特征确定对应的中间件名称和中间件版本之前,还包括:确定所述目标特征对应的目标网络设备;所述目标网络设备为当前网络设备或与当前网络设备交互的对端网络设备;
在根据所述目标特征确定对应的中间件名称和中间件版本之后,还包括:将确定的中间件名称和中间件版本确定为该目标网络设备中安装的中间件。
第二方面,本发明实施例还提供了一种中间件识别装置,包括:
获取单元,用于获取规则知识库;所述规则知识库中包括特征信息及对应的中间件名称和中间件版本;
特征识别单元,用于当检测到当前网络设备交互的网络流量时,利用所述规则知识库对所述网络流量进行特征识别;
结果确定单元,用于当识别到所述网络流量中具有与所述规则知识库中的特征信息相同的目标特征时,根据所述目标特征确定对应的中间件名称和中间件版本。
第三方面,本发明实施例还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现本说明书任一实施例所述的方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行本说明书任一实施例所述的方法。
本发明实施例提供了一种中间件识别方法、装置、计算设备及存储介质,由于网络设备中的流量检测设备会对网络设备交互的网络流量进行检测,以检测网络流量的源端端口信息、目的端端口信息等,因此,可以基于流量检测设备在检测到网络设备交互的网络流量时,利用获取的规则知识库对网络流量进行特征识别,以根据网络流量识别出网络设备中安装的中间件名称及中间件版本。可见,本方案能够识别出网络设备中安装的中间件名称及中间件版本,而该识别过程是在对网络流量进行检测的基础上识别的,因此不会被安全网络设备阻断。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种中间件识别方法流程图;
图2是本发明一实施例提供的一种规则知识库获取方法流程图;
图3是本发明一实施例提供的一种计算设备的硬件架构图;
图4是本发明一实施例提供的一种中间件识别装置结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
相关技术中,对网络设备上安装的中间件进行识别,是通过对网络设备进行全面扫描实现的。若未经授权对网络设备进行全面扫描,会被网络设备中安装的安全防护设备阻断。且正常情况下,网络设备拥有方一般不会对全面扫描过程进行授权。考虑到正常情况下,网络设备中的流量检测设备会对网络设备中交互的网络流量进行检测,以检测该网络流量的源端口信息、目的端端口信息等,且网络设备在交互网络流量时,通常是利用中间件实现的,因此,网络流量中可能存在中间件的特征信息,可以考虑在对网络流量进行检测的基础上,利用检测到的该网络流量确定该网络流量是网络设备利用哪些中间件实现的,从而完成对中间件的识别。
下面描述以上构思的具体实现方式。
请参考图1,本发明实施例提供了一种中间件识别方法,该方法包括:
步骤100,获取规则知识库;该规则知识库中包括特征信息及对应的中间件名称和中间件版本。
步骤102,当检测到当前网络设备交互的网络流量时,利用所述规则知识库对所述网络流量进行特征识别。
步骤104,当识别到网络流量中具有与规则知识库中的特征信息相同的目标特征时,根据该目标特征确定对应的中间件名称和中间件版本。
本发明实施例中,由于网络设备中的流量检测设备会对网络设备交互的网络流量进行检测,以检测网络流量的源端端口信息、目的端端口信息等,因此,可以基于流量检测设备在检测到网络设备交互的网络流量时,利用获取的规则知识库对网络流量进行特征识别,以根据网络流量识别出网络设备中安装的中间件名称及中间件版本。可见,本方案能够识别出网络设备中安装的中间件名称及中间件版本,而该识别过程是在对网络流量进行检测的基础上识别的,因此不会被安全网络设备阻断。
下面描述图1所示的各个步骤的执行方式。
首先针对步骤100,获取规则知识库;该规则知识库中包括特征信息及对应的中间件名称和中间件版本。
为了能够利用网络流量识别中间件,需要预先构建用于进行识别的规则知识库,在本发明一个实施例中,请参考图2,至少可以通过如下一种方式获取规则知识库:
步骤200,确定所需识别的至少一种中间件。
网络设备中通常安装有多种中间件,比如,Hadoop、Linux虚拟服务器、静态网站服务器、动态应用服务器等。为了能够对网络设备安装的中间件进行识别,需要确定所需识别的中间件。
步骤202,确定每一种中间件所具有的至少一个版本。
由于不同中间件会定期或不定期的进行版本迭代,因此,为了能够识别出中间件版本,需要确定每一种中间件所具有的各个版本。
举例来说,针对中间件A可以包括版本A1、版本A2、……;针对中间件B可以包括版本B1、版本B2等。可见每一种中间件均具有至少一个版本。
步骤204,针对每一种中间件的每一个版本,确定网络设备在基于该版本的中间件交互网络流量时,该网络流量中所具有的特征信息。
在本发明实施例中,由于对中间件的识别是利用网络流量进行的,因此,为了能够利用网络流量识别中间件,需要针对网络设备在基于该版本的中间件交互网络流量时,该网络流量中所具有的特征信息。具体地,可以通过如下方式确定:
S1:在虚拟机中安装该版本的中间件;
S2:利用第三方工具与该中间件进行网络交互,并抓取交互的网络流量;
S3:根据抓取的该网络流量,确定用于表征该版本的中间件的特征信息。
在本发明一个实施例中,步骤S1中,可以是在若干种类型操作***的虚拟机中执行所述安装该版本的中间件。比如,Windows不同版本的操作***、Linux操作***、WindowsXP操作***等。在每一种类型的操作***的虚拟机中分别安装该版本的中间件进行特征信息的确定,可以针对同一版本的中间件在不同类型操作***下的特征信息进行区分,在利用特征信息进行中间件识别时,可以利用网络设备的操作***类型,使用不同特征信息进行识别,从而可以提高中间件识别的准确性。
中间件通常使用自身特有的网络协议,或者,使用常见的网络协议但在网络协议中特定位置处添加自身的关键字特征,因此,在S3中确定用于表征该版本的中间件的特征信息时,可以对基于该中间件进行网络交互的网络流量进行解析,确定该网络流量使用的网络协议是否为自身特有的网络协议,或者是否在常见网络协议的特定位置处添加了关键字特征,根据解析结果可以确定出该版本的中间件的特征信息。
举例来说,针对基于Minio开源存储服务的中间件交互得到的网络流量进行解析,得到如下网络协议:
Response Headers:
Connection:close
Content-Length:637
Content-Type:application/json
Date:Fri,17Sep 2021 06:48:26GMT
Server:MinIO Console
Set-Cookie:token=ACXCWkf00KuIB/6JuPBs0X+LELf(qntA/2rr5ZUcBojih2oZLpnKFvi8qsPhQYOuwkQgsTax7HTUzDq0G3uaWcm6VXLw/RYMK3EoXatxBFehsVPhfsEc
根据解析得到的上述网络协议至少可以确定出该中间件的特征信息包括:在Server位置处的关键字特征为MinIO Console。
继续举例,针对基于虚拟化平台PVE的中间件交互得到的网络流量进行解析,得到如下网络协议:
Response Headers:
Connection:Keep-Alive
Content-Length:17305
Content-Type:image/png
Date:Wed,29Sep 2021 01:48:31 GMT
Last-Modified:Thu,16 May 2019 14:44:49 GMT
Server:pve-api-daemon/3.0
根据解析得到的上述网络协议至少可以确定出该中间件的特征信息包括:在Server位置处的关键字特征为pve-api-daemon/3.0,版本号为3.0。
需要说明的是,对于同一种中间件,不同版本的中间件可能存在相同的特征信息,为了能够识别出中间件版本,在确定特征信息时,可以将版本号确定为特征信息。
进一步地,考虑到中间件为了满足易用性,在部署时会配套自身的Web服务,并在Web服务中使用表征自身特征的Logo文件、URL等,因此,在本发明一个实施例中,在步骤S1之后,还可以包括:获取该版本的中间件的Logo文件和/或URL信息,将该Logo文件和/或URL信息确定为该版本的中间件的特征信息。
将网络协议中提取的关键字特征以及Web服务中的Logo文件、URL信息作为中间件的特征信息,丰富了特征信息的内容,使得后续在利用特征信息识别中间件时,提高了识别准确性。
其中,在步骤S2中,第三方工具可以是浏览器、客户端等。比如在虚拟机中使用浏览器登录中间件的Web界面,并在Web界面上进行操作,以与Web服务器交互网络流量。
在本发明一个实施例中,在针对某一个版本的中间件确定出对应的特征信息之后,为了能够保证该特征信息用于表征该版本的中间件的准确性,还可以对确定出的特征信息进行验证。
具体地,该验证过程可以包括:将对该版本的中间件确定出的特征信息生成对应的识别语句;利用第三方工具与该版本的中间件进行网络交互,利用该识别语句对交互的网络流量进行特征识别,若识别出该版本的中间件,则针对该版本的中间件得到的特征信息验证通过;若未识别出该版本的中间件,则验证未通过,需要进一步提取特征信息。
步骤206,根据每一种中间件的每一个版本对应的特征信息,生成规则知识库。
在得到每一种中间件的每一个版本的特征信息之后,为了能够利用这些特征信息进行中间件识别,可以利用这些特征信息生成能够下发给流量检测设备的规则知识库。
本发明一个实施例中,该规则知识库可以是snort规则知识库。针对中间件名称、中间件版本信息和对应中间件的特征信息生成对应的识别规则,以存储到该snort规则知识库中,使得流量检测设备能够直接按照该snort规则知识库中每一条识别规则对网络流量进行特征识别,提高了对中间件的识别速度。
举例来说,该snort规则知识库中的识别规则可以是:当从网络流量中解析得到的网络协议中识别到Server字段的内容为pve-api-daemon/3.0时,则初步确定该网络流量是基于版本号为3.0的pve-api-daemon中间件实现交互的。
进一步地,该snort规则知识库中还可以包括对应的操作***类型。
需要说明的是,在生成规则知识库时,对于Logo文件、URL可以通过特征值的方式存储到规则知识库中,如此在进行特征识别时,在识别到Logo文件、URL时,可以通过计算特征值的方式确定是否与规则知识库中存储的该Logo文件、URL,降低错误识别的概率。
在本发明一个实施例中,当确定中间件具有新版本时,针对该新版本的中间件按照步骤100确定该新版本的中间件的特征信息,并对生成的规则知识库进行更新,保证规则知识库中特征信息的及时性,进而保证中间件识别结果的准确性。
然后针对步骤102,当检测到当前网络设备交互的网络流量时,利用所述规则知识库对所述网络流量进行特征识别。
将规则知识库下发给各网络设备中的流量检测设备,由流量检测设备在检测到当前网络设备交互的网络流量时,在原始检测的基础上,进一步利用该规则知识库对网络流量进行特征识别。
在进行特征识别时,可以对网络流量进行解析,并按照规则知识库中包括的识别规则逐条进行识别。
在本发明一个实施例中,在进行特征识别之前,还可以确定当前网络设备和与当前网络设备交互网络流量的目的端网络设备的操作***类型,然后利用规则知识库中与该操作***类型对应的识别规则进行特征识别,从而无需对规则知识库中包括的所有识别规则均进行识别,大大节省了识别时间。
最后针对步骤104,当识别到所述网络流量中具有与所述规则知识库中的特征信息相同的目标特征时,根据所述目标特征确定对应的中间件名称和中间件版本。
继续使用上述举例进行说明,假设识别得到如下目标特征:从网络流量中解析得到的网络协议中识别到Server字段的内容为pve-api-daemon/3.0。那么可以确定该目标特征的中间件名称为pve-api-daemon,中间件版本为3.0。
在本发明一个实施例中,当针对一条网络流量识别到该网络流量具有与规则知识库中的特征信息相同的目标特征时,则利用该目标特征确定对应的中间件名称、中间件版本。也可以是设定一个识别时间段,比如,1天,利用该识别时间段内得到的目标特征,来确定对应的中间件名称和中间件版本。
在本发明一个实施例中,若识别到的所述目标特征为多个时,将规则知识库中与该多个目标特征对应的中间件名称、中间件版本确定为网络设备中安装的中间件名称和版本。为了提高识别结果的准确性,还可以通过如下方式确定对应的中间件名称和中间件版本:
P1:根据所述规则知识库,确定每一个所述目标特征所对应的中间件名称和中间件版本。
P2:按照不同中间件版本对多个所述目标特征进行分类。
P3:利用预先对特征信息设定的匹配分值,计算每一个分类下包括的所述目标特征的总匹配分值。
P4:基于每一个分类对应的总匹配分值,确定该多个所述目标特征对应的中间件名称和中间件版本。
举例来说,识别到的多个目标特征分别为:特征信息A11、特征信息A12、特征信息A13、特征信息B11、特征信息B12和特征信息C11,其中,在规则知识库中,特征信息A11、特征信息A12和特征信息A13对应中间件A且版本为A1,特征信息B11和特征信息B12对应中间件B且版本为B1,特征信息C11对应中间件C且版本为C1,那么可以将该多个目标特征分为三类。以第一个分类中版本为A1的中间件A为例,特征信息A11、特征信息A12、特征信息A13的匹配分值分别为:X1、X2、X3,将该三个匹配分值相加,得到X1+X2+X3的总匹配分值,当该总匹配分值不小于设定分值阈值时,则确定网络设备中安装有该版本为A1的中间件A,若总匹配分值小于设定分值阈值,则不能网络设备中安装有该版本为A1的中间件A。
通过计算每一个分类下包括的目标特征的总匹配分值,利用总匹配分值综合确定是否安装有该版本的中间件,可以提高识别准确性。
需要说明的是,针对特征信息设定的匹配分值可以根据经验值进行设定,比如,从网络协议中确定出的特征信息对应的匹配分值高于利用Logo文件/URL的匹配分值。
在本发明一个实施例中,当前网络设备交互的网络流量不仅仅是由当前网络设备产生的,也可以是由与当前网络设备交互的对端网络设备产生的,因此,为了识别中间件是安装在哪个网络设备上的,在步骤P4之前,还可以包括:确定所述目标特征对应的目标网络设备;所述目标网络设备为当前网络设备或与当前网络设备交互的对端网络设备;在步骤P4之后,还包括:将确定的中间件名称和中间件版本确定为该目标网络设备中安装的中间件。
继续以上述举例进行说明,若上述特征信息A11、特征信息A12和特征信息A13均是对应当前网络设备的,那么可以确定该版本A1的中间件A是安装在当前网络设备上的。
可见,本发明实施例不仅可以识别出当前网络设备中安装的中间件,还可以识别出与当前网络设备交互的对端网络设备上安装的中间件,扩大了中间件的识别范围,使得用户能够根据该识别结果确定对端网络设备的风险级别,从而进行不同措施的信息防护,进一步提高了信息安全性。
进一步地,当识别出网络设备所安装中间件的中间件名称及中间件版本之后,可以基于识别结果确定中间件版本是否为该中间件的最新版本,若否,则对用户进行提示,以提示用户及时对中间件的版本进行更新。可见,对网络设备中所安装中间件的中间件名称及中间件版本进行识别,能够识别出网络设备中可被利用的且容易暴漏的脆弱点。
如图3、图4所示,本发明实施例提供了一种中间件识别装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供的一种中间件识别装置所在计算设备的一种硬件架构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的计算设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在计算设备的CPU将非易失性存储器中对应的计算机程序读取到内存中运行形成的。本实施例提供的一种中间件识别装置,包括:
获取单元401,用于获取规则知识库;所述规则知识库中包括特征信息及对应的中间件名称和中间件版本;
特征识别单元402,用于当检测到当前网络设备交互的网络流量时,利用所述规则知识库对所述网络流量进行特征识别;
结果确定单元403,用于当识别到所述网络流量中具有与所述规则知识库中的特征信息相同的目标特征时,根据所述目标特征确定对应的中间件名称和中间件版本。
在本发明一个实施例中,所述获取单元401,具体包括:确定所需识别的至少一种中间件;确定每一种中间件所具有的至少一个版本;针对每一种中间件的每一个版本,确定网络设备在基于该版本的中间件交互网络流量时,该网络流量中所具有的特征信息;根据每一种中间件的每一个版本对应的特征信息,生成规则知识库。
在本发明一个实施例中,所述获取单元401在执行所述确定网络设备在基于该版本的中间件交互网络流量时该网络流量中所具有的特征信息时,具体包括:在虚拟机中安装该版本的中间件;利用第三方工具与该中间件进行网络交互,并抓取交互的网络流量;根据抓取的该网络流量,确定用于表征该版本的中间件的特征信息。
在本发明一个实施例中,所述获取单元401还用于获取该版本的中间件的Logo文件和/或URL信息,将该Logo文件和/或URL信息确定为该版本的中间件的特征信息。
在本发明一个实施例中,在若干种类型操作***的虚拟机中执行所述安装该版本的中间件。
在本发明一个实施例中,识别到的所述目标特征为多个;
所述结果确定单元403,具体包括:根据所述规则知识库,确定每一个所述目标特征所对应的中间件名称和中间件版本;按照不同中间件版本对多个所述目标特征进行分类;利用预先对特征信息设定的匹配分值,计算每一个分类下包括的所述目标特征的总匹配分值;基于每一个分类对应的总匹配分值,确定该多个所述目标特征对应的中间件名称和中间件版本。
在本发明一个实施例中,所述结果确定单元403还用于确定所述目标特征对应的目标网络设备;所述目标网络设备为当前网络设备或与当前网络设备交互的对端网络设备;将确定的中间件名称和中间件版本确定为该目标网络设备中安装的中间件。
可以理解的是,本发明实施例示意的结构并不构成对一种中间件识别装置的具体限定。在本发明的另一些实施例中,一种中间件识别装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
上述装置内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现本发明任一实施例中的一种中间件识别方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序在被处理器执行时,使所述处理器执行本发明任一实施例中的一种中间件识别方法。
具体地,可以提供配有存储介质的***或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该***或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作***等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到***计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展模块中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展模块上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
本发明各实施例至少具有如下有益效果:
1、在本发明一个实施例中,由于网络设备中的流量检测设备会对网络设备交互的网络流量进行检测,以检测网络流量的源端端口信息、目的端端口信息等,因此,可以基于流量检测设备在检测到网络设备交互的网络流量时,利用获取的规则知识库对网络流量进行特征识别,以根据网络流量识别出网络设备中安装的中间件名称及中间件版本。可见,本方案能够识别出网络设备中安装的中间件名称及中间件版本,而该识别过程是在对网络流量进行检测的基础上识别的,因此不会被安全网络设备阻断。
2、在本发明一个实施例中,通过对不同版本的中间件分别确定对应的特征信息,在利用这些特征信息生成的规则知识库进行特征识别时,不仅可以识别出网络设备中安装的中间件,还可以准确的识别出该中间件的版本。
3、在本发明一个实施例中,在每一种类型的操作***的虚拟机中分别安装该版本的中间件进行特征信息的确定,可以针对同一版本的中间件在不同类型操作***下的特征信息进行区分,在利用特征信息进行中间件识别时,可以利用网络设备的操作***类型,使用不同特征信息进行识别,从而可以提高中间件识别的准确性。
4、在本发明一个实施例中,将网络协议中提取的关键字特征以及Web服务中的Logo文件、URL信息作为中间件的特征信息,丰富了特征信息的内容,使得后续在利用特征信息识别中间件时,提高了识别准确性。
5、在本发明一个实施例中,在生成规则知识库时,对于Logo文件、URL可以通过特征值的方式存储到规则知识库中,如此在进行特征识别时,在识别到Logo文件、URL时,可以通过计算特征值的方式确定是否与规则知识库中存储的该Logo文件、URL,降低错误识别的概率。
6、在本发明一个实施例中,当确定中间件具有新版本时,针对该新版本的中间件确定该新版本的中间件的特征信息,并对生成的规则知识库进行更新,保证规则知识库中特征信息的及时性,进而保证中间件识别结果的准确性。
7、在本发明一个实施例中,在进行特征识别之前,还可以确定当前网络设备和与当前网络设备交互网络流量的目的端网络设备的操作***类型,然后利用规则知识库中与该操作***类型对应的识别规则进行特征识别,从而无需对规则知识库中包括的所有识别规则均进行识别,大大节省了识别时间。
8、在本发明一个实施例中,在识别到的目标特征为多个时,可以按照不同中间件版本对多个目标特征进行分类,通过计算每一个分类下包括的目标特征的总匹配分值,利用总匹配分值综合确定是否安装有该版本的中间件,可以提高识别准确性。
9、在本发明一个实施例中,由于网络流量是当前网络设备与对端网络设备之间进行网络交互产生的,因此,通过确定目标特征对应的目标网络设备,进而确定出目标网络设备上安装的中间件,可见不仅可以识别出当前网络设备中安装的中间件,还可以识别出与当前网络设备交互的对端网络设备上安装的中间件,扩大了中间件的识别范围,使得用户能够根据该识别结果确定对端网络设备的风险级别,从而进行不同措施的信息防护,进一步提高了信息安全性。
10、在本发明一个实施例中,当识别出网络设备所安装中间件的中间件名称及中间件版本之后,可以基于识别结果确定中间件版本是否为该中间件的最新版本,若否,则对用户进行提示,以提示用户及时对中间件的版本进行更新。可见,对网络设备中所安装中间件的中间件名称及中间件版本进行识别,能够识别出网络设备中可被利用的且容易暴漏的脆弱点。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种中间件识别方法,其特征在于,用于对局域网中网络设备上安装的中间件名称和中间件版本进行识别,包括:
获取规则知识库;所述规则知识库中包括特征信息及对应的中间件名称和中间件版本;所述特征信息包括:从中间件使用的常见网络协议的特定位置处提取的关键字特征、Web服务中表征自身特征的Logo文件和/或URL信息;
当检测到当前网络设备交互的网络流量时,利用所述规则知识库对所述网络流量进行特征识别;
当识别到所述网络流量中具有与所述规则知识库中的特征信息相同的目标特征时,根据所述目标特征确定对应的中间件名称和中间件版本;
所述获取规则知识库,包括:确定所需识别的至少一种中间件;确定每一种中间件所具有的至少一个版本;针对每一种中间件的每一个版本,确定网络设备在基于该版本的中间件交互网络流量时,该网络流量中所具有的特征信息;根据每一种中间件的每一个版本对应的特征信息,生成规则知识库;
所述确定网络设备在基于该版本的中间件交互网络流量时,该网络流量中所具有的特征信息,包括:在虚拟机中安装该版本的中间件;利用第三方工具与该中间件进行网络交互,并抓取交互的网络流量;根据抓取的该网络流量,确定用于表征该版本的中间件的特征信息;将对该版本的中间件确定出的特征信息生成对应的识别语句;利用第三方工具与该版本的中间件进行网络交互,利用该识别语句对交互的网络流量进行特征识别,若识别出该版本的中间件,则针对该版本的中间件得到的特征信息验证通过;若未识别出该版本的中间件,则验证未通过,需要进一步提取特征信息;所述第三方工具为浏览器,利用浏览器登录该中间件的Web界面,并在Web界面上进行操作,以与Web服务器交互网络流量。
2.根据权利要求1所述的方法,其特征在于,在若干种类型操作***的虚拟机中执行所述安装该版本的中间件。
3.根据权利要求1所述的方法,其特征在于,识别到的所述目标特征为多个;
所述根据所述目标特征确定对应的中间件名称和中间件版本,包括:
根据所述规则知识库,确定每一个所述目标特征所对应的中间件名称和中间件版本;
按照不同中间件版本对多个所述目标特征进行分类;
利用预先对特征信息设定的匹配分值,计算每一个分类下包括的所述目标特征的总匹配分值;
基于每一个分类对应的总匹配分值,确定该多个所述目标特征对应的中间件名称和中间件版本。
4.根据权利要求1-3中任一所述的方法,其特征在于,
在根据所述目标特征确定对应的中间件名称和中间件版本之前,还包括:确定所述目标特征对应的目标网络设备;所述目标网络设备为当前网络设备或与当前网络设备交互的对端网络设备;
在根据所述目标特征确定对应的中间件名称和中间件版本之后,还包括:将确定的中间件名称和中间件版本确定为该目标网络设备中安装的中间件。
5.一种中间件识别装置,其特征在于,用于对局域网中网络设备上安装的中间件名称和中间件版本进行识别,包括:
获取单元,用于获取规则知识库;所述规则知识库中包括特征信息及对应的中间件名称和中间件版本;所述特征信息包括:从中间件使用的常见网络协议的特定位置处提取的关键字特征、Web服务中表征自身特征的Logo文件和/或URL信息;
特征识别单元,用于当检测到当前网络设备交互的网络流量时,利用所述规则知识库对所述网络流量进行特征识别;
结果确定单元,用于当识别到所述网络流量中具有与所述规则知识库中的特征信息相同的目标特征时,根据所述目标特征确定对应的中间件名称和中间件版本;
所述获取单元,具体包括:确定所需识别的至少一种中间件;确定每一种中间件所具有的至少一个版本;针对每一种中间件的每一个版本,确定网络设备在基于该版本的中间件交互网络流量时,该网络流量中所具有的特征信息;根据每一种中间件的每一个版本对应的特征信息,生成规则知识库;
所述获取单元在执行所述确定网络设备在基于该版本的中间件交互网络流量时该网络流量中所具有的特征信息时,具体包括:在虚拟机中安装该版本的中间件;利用第三方工具与该中间件进行网络交互,并抓取交互的网络流量;根据抓取的该网络流量,确定用于表征该版本的中间件的特征信息;将对该版本的中间件确定出的特征信息生成对应的识别语句;利用第三方工具与该版本的中间件进行网络交互,利用该识别语句对交互的网络流量进行特征识别,若识别出该版本的中间件,则针对该版本的中间件得到的特征信息验证通过;若未识别出该版本的中间件,则验证未通过,需要进一步提取特征信息;所述第三方工具为浏览器,利用浏览器登录该中间件的Web界面,并在Web界面上进行操作,以与Web服务器交互网络流量。
6.根据权利要求5所述的装置,其特征在于,在若干种类型操作***的虚拟机中执行所述安装该版本的中间件。
7.根据权利要求5所述的装置,其特征在于,识别到的所述目标特征为多个;
所述结果确定单元,具体包括:根据所述规则知识库,确定每一个所述目标特征所对应的中间件名称和中间件版本;按照不同中间件版本对多个所述目标特征进行分类;利用预先对特征信息设定的匹配分值,计算每一个分类下包括的所述目标特征的总匹配分值;基于每一个分类对应的总匹配分值,确定该多个所述目标特征对应的中间件名称和中间件版本。
8.根据权利要求5-7中任一所述的装置,其特征在于,所述结果确定单元还用于确定所述目标特征对应的目标网络设备;所述目标网络设备为当前网络设备或与当前网络设备交互的对端网络设备;将确定的中间件名称和中间件版本确定为该目标网络设备中安装的中间件。
9.一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-4中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111209038.6A CN113949568B (zh) | 2021-10-18 | 2021-10-18 | 中间件识别方法、装置、计算设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111209038.6A CN113949568B (zh) | 2021-10-18 | 2021-10-18 | 中间件识别方法、装置、计算设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113949568A CN113949568A (zh) | 2022-01-18 |
CN113949568B true CN113949568B (zh) | 2023-11-10 |
Family
ID=79330962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111209038.6A Active CN113949568B (zh) | 2021-10-18 | 2021-10-18 | 中间件识别方法、装置、计算设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113949568B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102045363A (zh) * | 2010-12-31 | 2011-05-04 | 成都市华为赛门铁克科技有限公司 | 网络流量特征识别规则的建立方法、识别控制方法及装置 |
CN109327461A (zh) * | 2018-11-12 | 2019-02-12 | 广东省信息安全测评中心 | 分布式资产识别及变更感知方法与*** |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10216553B2 (en) * | 2011-06-30 | 2019-02-26 | International Business Machines Corporation | Message oriented middleware with integrated rules engine |
CN102752204A (zh) * | 2012-07-03 | 2012-10-24 | 中兴通讯股份有限公司 | 泛在网的业务平台及业务实现方法 |
-
2021
- 2021-10-18 CN CN202111209038.6A patent/CN113949568B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102045363A (zh) * | 2010-12-31 | 2011-05-04 | 成都市华为赛门铁克科技有限公司 | 网络流量特征识别规则的建立方法、识别控制方法及装置 |
CN109327461A (zh) * | 2018-11-12 | 2019-02-12 | 广东省信息安全测评中心 | 分布式资产识别及变更感知方法与*** |
Non-Patent Citations (1)
Title |
---|
《一种企业移动信息服务平台中间件的研究设计》;张静;《信息科技》(第2014年第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113949568A (zh) | 2022-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110602029B (zh) | 一种用于识别网络攻击的方法和*** | |
CN113240258B (zh) | 一种工业资产探测方法、设备及装置 | |
US11288376B2 (en) | Identifying hard-coded secret vulnerability inside application source code | |
US11170113B2 (en) | Management of security vulnerabilities | |
US20150067832A1 (en) | Client Side Phishing Avoidance | |
US10482240B2 (en) | Anti-malware device, anti-malware system, anti-malware method, and recording medium in which anti-malware program is stored | |
CN110866258B (zh) | 快速定位漏洞方法、电子装置及存储介质 | |
US11290481B2 (en) | Security threat detection by converting scripts using validation graphs | |
CN108256322B (zh) | 安全测试方法、装置、计算机设备和存储介质 | |
CN113032792A (zh) | ***业务漏洞检测方法、***、设备及存储介质 | |
CN112272186A (zh) | 一种网络流量检测框架、方法及电子设备和存储介质 | |
US11550920B2 (en) | Determination apparatus, determination method, and determination program | |
US20180097833A1 (en) | Method of network monitoring and device | |
US11836258B2 (en) | Detecting exploitable paths in application software that uses third-party libraries | |
CN111314326B (zh) | Http漏洞扫描主机的确认方法、装置、设备及介质 | |
CN112613893A (zh) | 一种用户恶意注册识别方法、***、设备及介质 | |
CN113949568B (zh) | 中间件识别方法、装置、计算设备及存储介质 | |
KR101816868B1 (ko) | 탐지 규칙 검증 장치 및 방법 | |
CN113037746B (zh) | 客户端指纹提取、身份识别和网络安全检测的方法及装置 | |
CN109214212B (zh) | 信息防泄露方法及装置 | |
CN111695113A (zh) | 终端软件安装合规性检测方法、装置和计算机设备 | |
KR101725450B1 (ko) | 웹 페이지에 안전성을 제공하기 위한 평판관리 시스템 및 방법 | |
CN113098847B (zh) | 供应链管理方法、***、存储介质和电子设备 | |
US11625318B2 (en) | System and method for identifying software behavior | |
US20230359463A1 (en) | Active testing techniques for identifying vulnerabilities in computing interfaces using dependency resolution |
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 |