CN113946566B - Web系统指纹库的构建方法、装置和电子设备 - Google Patents
Web系统指纹库的构建方法、装置和电子设备 Download PDFInfo
- Publication number
- CN113946566B CN113946566B CN202111557988.8A CN202111557988A CN113946566B CN 113946566 B CN113946566 B CN 113946566B CN 202111557988 A CN202111557988 A CN 202111557988A CN 113946566 B CN113946566 B CN 113946566B
- Authority
- CN
- China
- Prior art keywords
- fingerprint
- information
- target
- web system
- preset
- 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
Images
Classifications
-
- 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/21—Design, administration or maintenance of 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2358—Change logging, detection, and notification
-
- 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/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
-
- 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/248—Presentation of query results
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Collating Specific Patterns (AREA)
Abstract
本发明提供了一种Web系统指纹库的构建方法、装置和电子设备,涉及计算机的技术领域,包括:接收Web系统探测指令,并基于Web系统探测指令发送Web请求至目标Web系统;接收目标Web系统返回的响应信息;其中,响应信息为目标Web系统基于Web请求生成的响应信息;基于响应信息确定目标Web系统的目标指纹信息;基于目标指纹信息和预设指纹库构建Web系统指纹库。利用本发明提供的方法,可以自动、高效地构建Web系统指纹库,避免了Web系统指纹分析对人工的依赖,有效降低了网络空间资产探测引擎运营单位的人力投入,同时提高了Web系统指纹库的构建效率。
Description
技术领域
本发明涉及计算机的技术领域,尤其是涉及一种Web系统指纹库的构建方法、装置和电子设备。
背景技术
在Web系统探测过程中,想要精准的识别Web系统,则需要Web系统指纹库进行支撑,并且Web系统指纹库直接决定了网络空间资产探测引擎对Web系统的识别结果。
网络空间中的Web资产种类、数量繁多,且每天都会有很多新的Web系统被开发出来并实际应用,现有的Web系统指纹库构建方法多数都是人工对目标Web系统信息进行分析,进而确定目标Web系统的指纹信息,这种指纹库构建方式虽然准确度较高,但指纹构建效率较低,网络空间资产探测引擎运营单位需要投入大量的人力才能满足日常运营需求。
以下为与本申请相关的已公开专利申请的公开号:CN109660401A;CN108628722A;CN108429747A;CN111884989A。
发明内容
本发明的目的在于提供一种Web系统指纹库的构建方法、装置和电子设备,以降低了网络空间资产探测引擎运营单位的人力投入,同时提高了Web系统指纹库的构建效率。
第一方面,本发明提供一种Web系统指纹库的构建方法,包括:接收Web系统探测指令,并基于所述Web系统探测指令发送Web请求至目标Web系统;接收所述目标Web系统返回的响应信息;其中,所述响应信息为所述目标Web系统基于所述Web请求生成的响应信息;基于所述响应信息确定所述目标Web系统的目标指纹信息;基于所述目标指纹信息和预设指纹库构建Web系统指纹库。
在可选的实施方式中,基于所述Web系统探测指令发送Web请求至目标Web系统,包括:获取所述Web系统探测指令携带的目标IP地址段;对所述目标IP地址段中的每个IP地址进行端口扫描,得到目标端口集合;向所述目标端口集合中的每个目标端口对应的目标Web系统发送Web请求。
在可选的实施方式中,所述响应信息包括:所述目标Web系统的横幅信息和所述目标Web系统的静态信息;基于所述响应信息确定所述目标Web系统的目标指纹信息,包括:基于所述横幅信息确定所述目标Web系统的属性信息;基于所述属性信息和所述静态信息确定所述目标Web系统的目标指纹信息。
在可选的实施方式中,基于所述目标指纹信息和预设指纹库构建Web系统指纹库,包括:若所述预设指纹库为空,则将所述目标指纹信息存入所述预设指纹库,得到更新后的预设指纹库;若所述预设指纹库中存在预设指纹信息,则计算所述目标指纹信息和每个所述预设指纹信息的相似度;基于所述相似度的计算结果更新所述预设指纹库,得到更新后的预设指纹库;将所述更新后的预设指纹库作为所述Web系统指纹库。
在可选的实施方式中,基于所述相似度的计算结果更新所述预设指纹库,包括:若所述预设指纹库中存在目标预设指纹信息,则将所述目标指纹信息中的静态信息与所述目标预设指纹信息中的静态信息进行合并,得到合并后的静态信息;其中,所述目标预设指纹信息表示与所述目标指纹信息的相似度超过第一预设阈值的指纹信息;利用所述合并后的静态信息替换所述目标预设指纹信息中的静态信息,得到更新后的目标预设指纹信息,进而得到更新后的预设指纹库;若所述预设指纹库中不存在所述目标预设指纹信息,则将所述目标指纹信息存入所述预设指纹库,得到更新后的预设指纹库。
在可选的实施方式中,所述方法还包括:统计所述Web系统指纹库中每个指纹信息的更新次数;基于所述更新次数筛选出待优化指纹信息;其中,所述待优化指纹信息表示更新次数超过第二预设阈值的指纹信息;获取指纹信息更新过程中每个所述待优化指纹信息的静态信息中特征信息的匹配次数;将匹配次数低于第三预设阈值的特征信息进行删除,得到更新后的待优化指纹信息,进而得到更新后的Web系统指纹库。
在可选的实施方式中,所述方法还包括:对所述Web系统指纹库中的每个指纹信息进行自然语言处理,得到每个所述指纹信息的多组指纹特征;将所有所述指纹信息的多组指纹特征进行特征比对,以得到每个所述指纹信息的目标指纹特征;其中,所述目标指纹特征表示与其余指纹信息的指纹特征相似度最小的指纹特征;利用每个所述指纹信息的目标指纹特征替换每个所述指纹信息,以得到更新后的Web系统指纹库。
在可选的实施方式中,所述方法还包括:统计所述Web系统指纹库中每个指纹信息的更新次数;基于所述更新次数对所述Web系统指纹库中的所有指纹信息进行降序排序。
第二方面,本发明提供一种Web系统指纹库的构建装置,包括:收发模块,用于接收Web系统探测指令,并基于所述Web系统探测指令发送Web请求至目标Web系统;接收模块,用于接收所述目标Web系统返回的响应信息;其中,所述响应信息为所述目标Web系统基于所述Web请求生成的响应信息;确定模块,用于基于所述响应信息确定所述目标Web系统的目标指纹信息;构建模块,用于基于所述目标指纹信息和预设指纹库构建Web系统指纹库。
第三方面,本发明提供一种电子设备,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述前述实施方式中任一项所述的方法的步骤。
本发明提供的Web系统指纹库的构建方法,包括:接收Web系统探测指令,并基于Web系统探测指令发送Web请求至目标Web系统;接收目标Web系统返回的响应信息;其中,响应信息为目标Web系统基于Web请求生成的响应信息;基于响应信息确定目标Web系统的目标指纹信息;基于目标指纹信息和预设指纹库构建Web系统指纹库。利用本发明提供的方法,可以自动、高效地构建Web系统指纹库,避免了Web系统指纹分析对人工的依赖,有效降低了网络空间资产探测引擎运营单位的人力投入,同时提高了Web系统指纹库的构建效率。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种Web系统指纹库的构建方法的流程图;
图2为本发明实施例提供的一种基于Web系统探测指令发送Web请求至目标Web系统的流程图;
图3为本发明实施例提供的一种Web系统指纹库的构建装置的功能模块图;
图4为本发明实施例提供的一种电子设备的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
实施例一
图1为本发明实施例提供的一种Web系统指纹库的构建方法的流程图,如图1所示,该方法具体包括如下步骤:
步骤S102,接收Web系统探测指令,并基于Web系统探测指令发送Web请求至目标Web系统。
具体的,本发明实施例提供的Web系统指纹库的构建方法的运行环境中可以包括至少一个Web系统和至少一个计算设备,Web系统可以是各种应用的服务系统,例如娱乐应用,支付应用、社交应用等,计算设备可以是移动电子设备,也可以是非移动电子设备。计算设备用于接收Web系统探测指令,并根据上述探测指令向目标Web系统发送Web请求。
本发明实施例提供的方法还可应用于网络空间资产探测引擎,探测引擎接收用户发送的Web系统探测指令,或者周期性的自主产生Web系统探测指令,上述探测引擎在对网络中的Web资产(Web系统)进行探测过程中,将不断更新自身的Web系统指纹库,以使网络空间资产探测引擎适应当前互联网发展趋势。
计算设备或者探测引擎接收到Web系统探测指令之后,将根据指令内容发送Web请求至目标Web系统,Web请求即为HTTP或HTTPS协议发送的Web访问请求。
步骤S104,接收目标Web系统返回的响应信息。
若目标Web系统接收到上述Web请求,则将做出响应并反馈响应信息。也即,响应信息为目标Web系统基于Web请求生成的响应信息。在本发明实施例中,响应信息包括Web系统的横幅信息(Banner信息)和静态信息,其中,横幅信息用于表示Web系统的属性,静态信息用于表示Web系统的静态资源、静态特征,静态信息包括:静态文件结构、静态文件名称、静态文件引用路径、静态文件大小、静态文件的文件内容、接口路径、请求数据结构、返回数据结构等信息。
步骤S106,基于响应信息确定目标Web系统的目标指纹信息。
鉴于根据响应信息中的内容可确定目标Web系统的相关属性特征,因此,本发明实施例利用Web系统的响应信息来确定目标Web系统的指纹信息(目标指纹信息),目标指纹信息确定时,可以选择将全部的响应信息作为目标指纹信息,也可以选择筛选出部分响应信息作为目标指纹信息,本发明实施例不对其进行具体限定。
步骤S108,基于目标指纹信息和预设指纹库构建Web系统指纹库。
要构建Web系统指纹库,首先需要构建预设指纹库(初始状态下无指纹信息,指纹库为空),然后每次对Web系统探测结束后按照预设规则对指纹库进行维护更新,进而得到Web系统指纹库。所以在确定出目标Web系统的目标指纹信息之后,结合预设指纹库和预设规则,即可构建Web系统指纹库。
本发明提供的Web系统指纹库的构建方法,包括:接收Web系统探测指令,并基于Web系统探测指令发送Web请求至目标Web系统;接收目标Web系统返回的响应信息;其中,响应信息为目标Web系统基于Web请求生成的响应信息;基于响应信息确定目标Web系统的目标指纹信息;基于目标指纹信息和预设指纹库构建Web系统指纹库。利用本发明提供的方法,可以自动、高效地构建Web系统指纹库,避免了Web系统指纹分析对人工的依赖,有效降低了网络空间资产探测引擎运营单位的人力投入,同时提高了Web系统指纹库的构建效率。
在一个可选的实施方式中,如图2所示,上述步骤S102,基于Web系统探测指令发送Web请求至目标Web系统,具体包括如下步骤:
步骤S1021,获取Web系统探测指令携带的目标IP地址段。
步骤S1022,对目标IP地址段中的每个IP地址进行端口扫描,得到目标端口集合。
步骤S1023,向目标端口集合中的每个目标端口对应的目标Web系统发送Web请求。
具体的,要向目标Web系统发送Web请求,首先需要获取Web系统探测指令中所携带的目标IP地址段,上述目标IP地址段可以是用户通过计算设备或探测引擎的交互界面输入的。确定目标IP地址段之后,可以通过端口扫描工具对上述目标IP地址段中的每个IP地址进行端口扫描,得到目标端口集合,然后,向每一个发现的端口(目标端口)对应的目标Web系统发送Web请求,以确保能够发现非常规端口的Web系统。也就是说,可以通过自动扫描IP地址的端口,快速地向端口对应的Web系统发送Web请求。
在一个可选的实施方式中,响应信息包括:目标Web系统的横幅信息和目标Web系统的静态信息;上述步骤S106,基于响应信息确定目标Web系统的目标指纹信息,具体包括如下步骤:
步骤S1061,基于横幅信息确定目标Web系统的属性信息。
步骤S1062,基于属性信息和静态信息确定目标Web系统的目标指纹信息。
具体的,在获取到横幅信息之后,可以选择利用人工智能的自然语言处理NLP(Neuro-Linguistic Programming)引擎对横幅信息进行处理,以确定出上述目标Web系统的属性信息,其中,属性信息包括:Web系统名称、技术支持单位名称和版权信息等。然后再将已经确定的属性信息和目标Web系统的静态信息共同作为目标Web系统的目标指纹信息。也即,Web系统的指纹信息包括:属性信息和静态信息。另外,还可以为Web系统的指纹信息进行命名,例如,指纹名称可选择使用版权信息名称、技术支持名称或应用系统名称。
在一个可选的实施方式中,上述步骤S108,基于目标指纹信息和预设指纹库构建Web系统指纹库,具体包括如下内容:
若预设指纹库为空,则执行下述步骤S1081和步骤S1084;若预设指纹库中存在预设指纹信息,则执行下述步骤S1082至步骤S1084。
步骤S1081,将目标指纹信息存入预设指纹库,得到更新后的预设指纹库。
步骤S1082,计算目标指纹信息和每个预设指纹信息的相似度。
步骤S1083,基于相似度的计算结果更新预设指纹库,得到更新后的预设指纹库。
步骤S1084,将更新后的预设指纹库作为Web系统指纹库。
本发明实施例中,在确定出目标Web系统的目标指纹信息之后,在将目标指纹信息添加到Web系统指纹库前,首先要判断预设指纹库是否为空,也即,预设指纹库中是否存在预设的指纹信息,若不存在,则直接将目标指纹信息存入预设指纹库;若存在,则还需进一步计算目标指纹信息与预设指纹库中每个预设指纹信息的相似度。
如果相似度超过指定的阈值,则可理解为目标指纹信息与预设指纹库中某个已有的预设指纹信息相匹配;如果相似度未超过指定的阈值,则说明该目标指纹信息是一种未探测过的web系统指纹信息。在对预设指纹库进行更新时,需要根据实际的相似度计算结果采用不同的更新规则,下文中将对如何更新预设指纹库进行详细的介绍。在得到更新后的预设指纹库之后,将更新后的预设指纹库作为Web系统指纹库。
可选地,本发明实施例采用余弦相似度来对目标指纹信息和每个预设指纹信息的相似度进行计算,余弦相似度算法的原理是通过计算数据向量的夹角余弦来表征两者的相似程度。例如,若存在指纹信息A和B,其中,A=(a1,a2,a3,…,am),B=(b1,b2,b3,…,bm),其中,m表示数据维数,且m∈N*;令M表示维度索引取值范围,M={i∈N|1≤i≤m,m∈N*}。则A和B的余弦相似度计算公式表示为:
在一个可选的实施方式中,上述步骤S1083,基于相似度的计算结果更新预设指纹库,具体包括如下内容:
若预设指纹库中存在目标预设指纹信息,则执行下述步骤S10831至步骤S10832;若预设指纹库中不存在目标预设指纹信息,则执行下述步骤S10833。
步骤S10831,将目标指纹信息中的静态信息与目标预设指纹信息中的静态信息进行合并,得到合并后的静态信息。
步骤S10832,利用合并后的静态信息替换目标预设指纹信息中的静态信息,得到更新后的目标预设指纹信息,进而得到更新后的预设指纹库。
步骤S10833,将目标指纹信息存入预设指纹库,得到更新后的预设指纹库。
通过上文中的描述可知,相似度的计算结果影响预设指纹库的更新规则,因此,在计算出目标指纹信息与每个预设指纹信息的相似度之后,首先判断预设指纹库中是否存在目标预设指纹信息,其中,目标预设指纹信息表示与目标指纹信息的相似度超过第一预设阈值的指纹信息;第一预设阈值设定之后,若存在目标预设指纹信息,则通常情况下,目标预设指纹信息的数量为1。
如果确定不存在目标预设指纹信息,则说明目标指纹信息与预设指纹库中的预设指纹信息的相似度均较低,该目标指纹信息属于一种未探测过的Web系统,因此,直接将目标指纹信息存入预设指纹库,得到更新后的预设指纹库。
鉴于单纯地根据响应信息所确定的指纹信息并不能较为全面的表示Web系统的指纹,因此,为了提高Web系统指纹的精确度,如果确定存在目标预设指纹信息,也即,匹配到相似指纹信息,则对预设指纹库中的目标预设指纹信息进行优化,具体为将二者(目标指纹信息和目标预设指纹信息)的静态信息进行合并,也即,保留两组指纹信息中的静态信息(例如CSS文件特征、JS文件特征、接口特征、技术支持特征以及版权特征等信息),然后利用合并后的静态信息更新目标预设指纹信息,也就是说,目标预设指纹信息中的属性信息维持不变,仅对其静态信息进行更新,进而得到更新后的预设指纹库。
通过上文中对预设指纹库进行更新的方法描述可知,若预设指纹库中的预设指纹信息多次被匹配到,并进行了优化,那么其静态信息将越来越多,为了控制同一Web系统的指纹信息的规模(也即,数据量),在一个可选的实施方式中,本发明方法还包括如下步骤:
步骤S201,统计Web系统指纹库中每个指纹信息的更新次数。
步骤S202,基于更新次数筛选出待优化指纹信息。
具体的,在构建Web系统指纹库过程中,本发明实施例对每次相似度计算过程及结果进行详细记录,具体涉及每个指纹信息中与新探测到的指纹信息相匹配的特征信息(特征字段)、每个特征信息的匹配次数,以及指纹信息被优化的次数(更新次数)。示例性地,可以计算静态信息合并前的两个静态信息中同一类特征信息的相似度,若相似度大于或等于预设阈值,则确定特征信息的匹配。
在获取到上述详细记录之后,首先根据指纹信息的更新次数确定出待优化指纹信息,其中,待优化指纹信息表示更新次数超过第二预设阈值的指纹信息。指纹信息的更新次数越多,在一定程度上可视为其静态信息所包含特征信息越多,因此,待优化指纹信息的指纹规模较大,越需要对其指纹规模进行管控,以防冗余特征信息占用过多的存储空间。
步骤S203,获取指纹信息更新过程中每个待优化指纹信息的静态信息中特征信息的匹配次数。
步骤S204,将匹配次数低于第三预设阈值的特征信息进行删除,得到更新后的待优化指纹信息,进而得到更新后的Web系统指纹库。
在对每个待优化指纹信息进行规模管控时,首先获取其静态信息中每个特征信息的匹配次数,匹配次数越多,说明该特征信息越能代表该Web系统;反之,匹配次数越少,说明该特征信息有可能是冗余特征信息,或者是不常用的特征信息。因此在进行指纹规模管控时,将匹配次数低于第三预设阈值的特征信息进行删除,进而得到更新后的待优化指纹信息。这样处理之后,不仅不会影响Web系统指纹信息的准确度,同时还能降低指纹信息的数据量,降低存储空间压力。
为了最大程度的提高指纹匹配速度,减少指纹特征的匹配信息量,在一个可选的实施方式中,本发明方法还包括如下步骤:
步骤S301,对Web系统指纹库中的每个指纹信息进行自然语言处理,得到每个指纹信息的多组指纹特征。
步骤S302,将所有指纹信息的多组指纹特征进行特征比对,以得到每个指纹信息的目标指纹特征。
具体的,利用NLP引擎对Web系统指纹库中的每个指纹信息进行处理,可得到每个指纹信息对应的多组指纹特征,其中,每组指纹特征均包括:关键字和特征码;然后再将所有指纹信息的多组指纹特征进行比对,以确定出每个指纹信息的目标指纹特征,其中,目标指纹特征表示与其余指纹信息的指纹特征相似度最小的指纹特征。其余指纹信息即表示Web系统指纹库中除选定的指纹信息之外的指纹信息。也就是说,目标指纹特征为上述多组指纹特征中与其余指纹信息的指纹特征差别最大的指纹特征,或者理解为,从每个指纹信息的多组指纹特征中选择最具代表性且独一无二的指纹特征作为目标指纹特征。
本发明实施例不对目标指纹特征的选择方式进行具体限定,用户可以根据实际需求进行选择,例如,利用余弦相似度算法计算指纹信息之间每组指纹特征的相似度,将与其余指纹信息的指纹特征相似度最小的指纹特征作为目标指纹特征。
步骤S303,利用每个指纹信息的目标指纹特征替换每个指纹信息,以得到更新后的Web系统指纹库。
在确定出Web系统指纹库中每个指纹信息的目标指纹特征之后,控制每个指纹信息仅保留上述目标指纹特征作为识别此类Web系统的唯一指纹,进而得到更新后的Web系统指纹库。
常规的Web指纹库构建方式中,往往是将Web系统的指纹信息按照先后顺序存入数据库中,但一般情况下,框架的易用性、安全性和稳定性越高,则集成此框架的Web系统越多,此类Web系统的指纹信息匹配次数和更新次数越高。因此,为了进一步提升Web指纹匹配的查询速度,在一个可选的实施方式中,本发明方法还包括如下步骤:
步骤S401,统计Web系统指纹库中每个指纹信息的更新次数。
步骤S402,基于更新次数对Web系统指纹库中的所有指纹信息进行降序排序。
随着Web系统指纹库的不断更新,例如,网络空间资产探测引擎的不断调用,不同Web系统指纹信息的更新次数则会出现非常明显的区别,根据Web系统指纹库中每个指纹信息的更新次数对指纹库中的指纹新进行降序排列之后,后续再利用Web系统指纹库进行Web系统探测时,即可有效地提高指纹匹配的查询速度。
综上所述,利用本发明实施例所提供的Web系统指纹库的构建方法,避免了Web系统指纹分析和Web系统指纹库构建对人工的依赖,有效降低了网络空间资产探测引擎运营单位的人力投入,同时提高了Web系统指纹库的构建效率。
实施例二
本发明实施例还提供了一种Web系统指纹库的构建装置,该Web系统指纹库的构建装置主要用于执行上述实施例一所提供的Web系统指纹库的构建方法,以下对本发明实施例提供的Web系统指纹库的构建装置做具体介绍。
图3是本发明实施例提供的一种Web系统指纹库的构建装置的功能模块图,如图3所示,该装置主要包括:收发模块10,接收模块20,确定模块30,构建模块40,其中:
收发模块10,用于接收Web系统探测指令,并基于Web系统探测指令发送Web请求至目标Web系统。
接收模块20,用于接收目标Web系统返回的响应信息;其中,响应信息为目标Web系统基于Web请求生成的响应信息。
确定模块30,用于基于响应信息确定目标Web系统的目标指纹信息。
构建模块40,用于基于目标指纹信息和预设指纹库构建Web系统指纹库。
本发明提供的Web系统指纹库的构建装置,包括:收发模块10,用于接收Web系统探测指令,并基于Web系统探测指令发送Web请求至目标Web系统;接收模块20,用于接收目标Web系统返回的响应信息;其中,响应信息为目标Web系统基于Web请求生成的响应信息;确定模块30,用于基于响应信息确定目标Web系统的目标指纹信息;构建模块40,用于基于目标指纹信息和预设指纹库构建Web系统指纹库。利用本发明提供的装置,可以自动、高效地构建Web系统指纹库,避免了Web系统指纹分析对人工的依赖,有效降低了网络空间资产探测引擎运营单位的人力投入,同时提高了Web系统指纹库的构建效率。
可选地,收发模块10具体用于:
获取Web系统探测指令携带的目标IP地址段。
对目标IP地址段中的每个IP地址进行端口扫描,得到目标端口集合。
向目标端口集合中的每个目标端口对应的目标Web系统发送Web请求。
可选地,响应信息包括:目标Web系统的横幅信息和目标Web系统的静态信息;确定模块30具体用于:
基于横幅信息确定目标Web系统的属性信息。
基于属性信息和静态信息确定目标Web系统的目标指纹信息。
可选地,构建模块40包括:
第一存储单元,用于在预设指纹库为空的情况下,将目标指纹信息存入预设指纹库,得到更新后的预设指纹库。
计算单元,用于在预设指纹库中存在预设指纹信息的情况下,计算目标指纹信息和每个预设指纹信息的相似度。
更新单元,用于基于相似度的计算结果更新预设指纹库,得到更新后的预设指纹库。
确定单元,用于将更新后的预设指纹库作为Web系统指纹库。
可选地,更新单元具体用于:
若预设指纹库中存在目标预设指纹信息,则将目标指纹信息中的静态信息与目标预设指纹信息中的静态信息进行合并,得到合并后的静态信息;其中,目标预设指纹信息表示与目标指纹信息的相似度超过第一预设阈值的指纹信息。
利用合并后的静态信息替换目标预设指纹信息中的静态信息,得到更新后的目标预设指纹信息,进而得到更新后的预设指纹库。
若预设指纹库中不存在目标预设指纹信息,则将目标指纹信息存入预设指纹库,得到更新后的预设指纹库。
可选地,装置还包括:
第一统计模块,用于统计Web系统指纹库中每个指纹信息的更新次数。
筛选模块,用于基于更新次数筛选出待优化指纹信息;其中,待优化指纹信息表示更新次数超过第二预设阈值的指纹信息。
获取模块,用于获取指纹信息更新过程中每个待优化指纹信息的静态信息中特征信息的匹配次数。
删除模块,用于将匹配次数低于第三预设阈值的特征信息进行删除,得到更新后的待优化指纹信息,进而得到更新后的Web系统指纹库。
可选地,装置还包括:
处理模块,用于对Web系统指纹库中的每个指纹信息进行自然语言处理,得到每个指纹信息的多组指纹特征。
特征比对模块,用于将所有指纹信息的多组指纹特征进行特征比对,以得到每个指纹信息的目标指纹特征;其中,目标指纹特征表示与其余指纹信息的指纹特征相似度最小的指纹特征。
替换模块,用于利用每个指纹信息的目标指纹特征替换每个指纹信息,以得到更新后的Web系统指纹库。
可选地,装置还包括:
第二统计模块,用于统计Web系统指纹库中每个指纹信息的更新次数。
排序模块,用于基于更新次数对Web系统指纹库中的所有指纹信息进行降序排序。
实施例三
参见图4,本发明实施例提供了一种电子设备,该电子设备包括:处理器60,存储器61,总线62和通信接口63,所述处理器60、通信接口63和存储器61通过总线62连接;处理器60用于执行存储器61中存储的可执行模块,例如计算机程序。
其中,存储器61可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口63(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线62可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器61用于存储程序,所述处理器60在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器60中,或者由处理器60实现。
处理器60可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器60中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器60可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器61,处理器60读取存储器61中的信息,结合其硬件完成上述方法的步骤。
本发明实施例所提供的一种Web系统指纹库的构建方法、装置和电子设备的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
此外,术语“水平”、“竖直”、“悬垂”等术语并不表示要求部件绝对水平或悬垂,而是可以稍微倾斜。如“水平”仅仅是指其方向相对“竖直”而言更加水平,并不是表示该结构一定要完全水平,而是可以稍微倾斜。
在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (8)
1.一种Web系统指纹库的构建方法,其特征在于,包括:
接收Web系统探测指令,并基于所述Web系统探测指令发送Web请求至目标Web系统;所述Web请求包括:Web访问请求;
接收所述目标Web系统返回的响应信息;其中,所述响应信息为所述目标Web系统基于所述Web请求生成的响应信息;
基于所述响应信息确定所述目标Web系统的目标指纹信息;其中,所述目标指纹信息包括:所述目标Web系统的属性信息和所述目标Web系统的静态信息;所述静态信息包括:静态文件结构、静态文件名称、静态文件引用路径、静态文件大小、静态文件的文件内容、接口路径、请求数据结构和返回数据结构;
基于所述目标指纹信息和预设指纹库构建Web系统指纹库;
其中,基于所述目标指纹信息和预设指纹库构建Web系统指纹库,包括:
若所述预设指纹库为空,则将所述目标指纹信息存入所述预设指纹库,得到更新后的预设指纹库;
若所述预设指纹库中存在预设指纹信息,则计算所述目标指纹信息和每个所述预设指纹信息的相似度;
基于所述相似度的计算结果更新所述预设指纹库,得到更新后的预设指纹库;
将所述更新后的预设指纹库作为所述Web系统指纹库;
其中,基于所述相似度的计算结果更新所述预设指纹库,包括:
若所述预设指纹库中存在目标预设指纹信息,则将所述目标指纹信息中的静态信息与所述目标预设指纹信息中的静态信息进行合并,得到合并后的静态信息;其中,所述目标预设指纹信息表示与所述目标指纹信息的相似度超过第一预设阈值的指纹信息;
利用所述合并后的静态信息替换所述目标预设指纹信息中的静态信息,得到更新后的目标预设指纹信息,进而得到更新后的预设指纹库;
若所述预设指纹库中不存在所述目标预设指纹信息,则将所述目标指纹信息存入所述预设指纹库,得到更新后的预设指纹库。
2.根据权利要求1所述的方法,其特征在于,基于所述Web系统探测指令发送Web请求至目标Web系统,包括:
获取所述Web系统探测指令携带的目标IP地址段;
对所述目标IP地址段中的每个IP地址进行端口扫描,得到目标端口集合;
向所述目标端口集合中的每个目标端口对应的目标Web系统发送Web请求。
3.根据权利要求1所述的方法,其特征在于,所述响应信息包括:所述目标Web系统的横幅信息和所述目标Web系统的静态信息;
基于所述响应信息确定所述目标Web系统的目标指纹信息,包括:
基于所述横幅信息确定所述目标Web系统的属性信息;
基于所述属性信息和所述静态信息确定所述目标Web系统的目标指纹信息。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
统计所述Web系统指纹库中每个指纹信息的更新次数;
基于所述更新次数筛选出待优化指纹信息;其中,所述待优化指纹信息表示更新次数超过第二预设阈值的指纹信息;
获取指纹信息更新过程中每个所述待优化指纹信息的静态信息中特征信息的匹配次数;
将匹配次数低于第三预设阈值的特征信息进行删除,得到更新后的待优化指纹信息,进而得到更新后的Web系统指纹库。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述Web系统指纹库中的每个指纹信息进行自然语言处理,得到每个所述指纹信息的多组指纹特征;
将所有所述指纹信息的多组指纹特征进行特征比对,以得到每个所述指纹信息的目标指纹特征;其中,所述目标指纹特征表示与其余指纹信息的指纹特征相似度最小的指纹特征;
利用每个所述指纹信息的目标指纹特征替换每个所述指纹信息,以得到更新后的Web系统指纹库。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
统计所述Web系统指纹库中每个指纹信息的更新次数;
基于所述更新次数对所述Web系统指纹库中的所有指纹信息进行降序排序。
7.一种Web系统指纹库的构建装置,其特征在于,包括:
收发模块,用于接收Web系统探测指令,并基于所述Web系统探测指令发送Web请求至目标Web系统;所述Web请求包括:Web访问请求;
接收模块,用于接收所述目标Web系统返回的响应信息;其中,所述响应信息为所述目标Web系统基于所述Web请求生成的响应信息;
确定模块,用于基于所述响应信息确定所述目标Web系统的目标指纹信息;其中,所述目标指纹信息包括:所述目标Web系统的属性信息和所述目标Web系统的静态信息;所述静态信息包括:静态文件结构、静态文件名称、静态文件引用路径、静态文件大小、静态文件的文件内容、接口路径、请求数据结构和返回数据结构;
构建模块,用于基于所述目标指纹信息和预设指纹库构建Web系统指纹库;
其中,构建模块包括:
第一存储单元,用于在所述预设指纹库为空的情况下,将所述目标指纹信息存入所述预设指纹库,得到更新后的预设指纹库;
计算单元,用于在所述预设指纹库中存在预设指纹信息的情况下,计算所述目标指纹信息和每个所述预设指纹信息的相似度;
更新单元,用于基于所述相似度的计算结果更新所述预设指纹库,得到更新后的预设指纹库;
确定单元,用于将所述更新后的预设指纹库作为所述Web系统指纹库;
其中,所述更新单元具体用于:
若所述预设指纹库中存在目标预设指纹信息,则将所述目标指纹信息中的静态信息与所述目标预设指纹信息中的静态信息进行合并,得到合并后的静态信息;其中,所述目标预设指纹信息表示与所述目标指纹信息的相似度超过第一预设阈值的指纹信息;
利用所述合并后的静态信息替换所述目标预设指纹信息中的静态信息,得到更新后的目标预设指纹信息,进而得到更新后的预设指纹库;
若所述预设指纹库中不存在所述目标预设指纹信息,则将所述目标指纹信息存入所述预设指纹库,得到更新后的预设指纹库。
8.一种电子设备,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111557988.8A CN113946566B (zh) | 2021-12-20 | 2021-12-20 | Web系统指纹库的构建方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111557988.8A CN113946566B (zh) | 2021-12-20 | 2021-12-20 | Web系统指纹库的构建方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113946566A CN113946566A (zh) | 2022-01-18 |
CN113946566B true CN113946566B (zh) | 2022-03-18 |
Family
ID=79339277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111557988.8A Active CN113946566B (zh) | 2021-12-20 | 2021-12-20 | Web系统指纹库的构建方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113946566B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114792450B (zh) * | 2022-05-09 | 2023-12-26 | 广东好太太智能家居有限公司 | 电子锁虚拟钥匙管理方法、系统和电子锁系统 |
CN118174963A (zh) * | 2024-05-13 | 2024-06-11 | 北京时代新威信息技术有限公司 | Web漏洞检测方法、装置、计算机设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108429747A (zh) * | 2018-03-08 | 2018-08-21 | 国家计算机网络与信息安全管理中心 | 一种大规模Web服务器信息采集方法 |
CN108628722A (zh) * | 2018-05-11 | 2018-10-09 | 华中科技大学 | 一种分布式的Web组件服务探测系统 |
CN110324310A (zh) * | 2019-05-21 | 2019-10-11 | 国家工业信息安全发展研究中心 | 网络资产指纹识别方法、系统及设备 |
CN111475464A (zh) * | 2020-03-19 | 2020-07-31 | 重庆邮电大学 | 一种自动发现挖掘Web组件指纹的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10878218B2 (en) * | 2018-06-18 | 2020-12-29 | Salesforce.Com, Inc. | Device fingerprinting, tracking, and management |
-
2021
- 2021-12-20 CN CN202111557988.8A patent/CN113946566B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108429747A (zh) * | 2018-03-08 | 2018-08-21 | 国家计算机网络与信息安全管理中心 | 一种大规模Web服务器信息采集方法 |
CN108628722A (zh) * | 2018-05-11 | 2018-10-09 | 华中科技大学 | 一种分布式的Web组件服务探测系统 |
CN110324310A (zh) * | 2019-05-21 | 2019-10-11 | 国家工业信息安全发展研究中心 | 网络资产指纹识别方法、系统及设备 |
CN111475464A (zh) * | 2020-03-19 | 2020-07-31 | 重庆邮电大学 | 一种自动发现挖掘Web组件指纹的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113946566A (zh) | 2022-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113946566B (zh) | Web系统指纹库的构建方法、装置和电子设备 | |
CN110390044B (zh) | 一种相似网络页面的搜索方法及设备 | |
CN110083475B (zh) | 一种异常数据的检测方法及装置 | |
CN108512883B (zh) | 一种信息推送方法、装置及可读介质 | |
WO2021147559A1 (zh) | 业务数据质量检测方法、装置、计算机设备及存储介质 | |
CN112800095A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN110825894A (zh) | 数据索引建立、数据检索方法、装置、设备和存储介质 | |
WO2019061664A1 (zh) | 电子装置、基于用户上网数据的产品推荐方法及存储介质 | |
CN110704677A (zh) | 一种节目推荐方法、装置、可读存储介质及终端设备 | |
CN111090807A (zh) | 一种基于知识图谱的用户识别方法及装置 | |
CN110598194A (zh) | 一种非满格表格内容提取方法、装置及终端设备 | |
CN110414579A (zh) | 元数据模型合标性检查方法及装置、存储介质 | |
CN109284268A (zh) | 一种快速解析日志的方法、系统及电子设备 | |
CN111401959B (zh) | 风险群体的预测方法、装置、计算机设备及存储介质 | |
CN113626387A (zh) | 一种任务数据的导出方法、装置、电子设备及存储介质 | |
CN113392184A (zh) | 一种相似文本的确定方法、装置、终端设备及存储介质 | |
CN108537654B (zh) | 客户关系网络图的渲染方法、装置、终端设备及介质 | |
CN113496365A (zh) | 一种仓库合并方案确定方法、装置、设备及介质 | |
KR20200036173A (ko) | 사용자 그루핑 및 그룹별 선호 기계학습 분석 알고리즘을 추천하는 방법 및 장치 | |
CN113407859B (zh) | 一种资源推荐方法、装置、电子设备及存储介质 | |
KR102670080B1 (ko) | 데이터 재식별 가능성 감소를 위한 데이터 처리 방법 | |
CN113886723B (zh) | 确定排序稳定性的方法和装置、以及存储介质和电子设备 | |
CN111198816B (zh) | 一种异常算法的识别方法及设备 | |
CN117009463A (zh) | 一种多路召回文本相似度的处理方法及装置 | |
CN112434198B (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 |