CN113946566B - Web***指纹库的构建方法、装置和电子设备 - Google Patents

Web***指纹库的构建方法、装置和电子设备 Download PDF

Info

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
Application number
CN202111557988.8A
Other languages
English (en)
Other versions
CN113946566A (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.)
Peking University
Original Assignee
Peking University
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 Peking University filed Critical Peking University
Priority to CN202111557988.8A priority Critical patent/CN113946566B/zh
Publication of CN113946566A publication Critical patent/CN113946566A/zh
Application granted granted Critical
Publication of CN113946566B publication Critical patent/CN113946566B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/21Design, administration or maintenance of databases
    • 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/23Updating
    • G06F16/2358Change logging, detection, and notification
    • 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
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2462Approximate or statistical queries
    • 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/248Presentation of query results
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols 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)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (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***信息进行分析,进而确定目标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的余弦相似度计算公式表示为:
cos(A,B)=
Figure M_211217151355805_805096001
其中,cos(A,B)表示余弦值即指纹信息A和B的相似度,
Figure M_211217151355994_994033001
表示数据向量
Figure M_211217151356025_025847002
的二范数。数据向量夹角越大,余弦值越小,表示两者相似度越低;夹角越小,余弦值越大,表示两者相似度越高。
在一个可选的实施方式中,上述步骤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中任一项所述的方法的步骤。
CN202111557988.8A 2021-12-20 2021-12-20 Web***指纹库的构建方法、装置和电子设备 Active CN113946566B (zh)

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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114792450B (zh) * 2022-05-09 2023-12-26 广东好太太智能家居有限公司 电子锁虚拟钥匙管理方法、***和电子锁***

Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10878218B2 (en) * 2018-06-18 2020-12-29 Salesforce.Com, Inc. Device fingerprinting, tracking, and management

Patent Citations (4)

* Cited by examiner, † Cited by third party
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
CN110162695B (zh) 一种信息推送的方法及设备
CN112800095B (zh) 一种数据处理方法、装置、设备及存储介质
CN110083475B (zh) 一种异常数据的检测方法及装置
CN110390044B (zh) 一种相似网络页面的搜索方法及设备
CN108512883B (zh) 一种信息推送方法、装置及可读介质
CN110825894A (zh) 数据索引建立、数据检索方法、装置、设备和存储介质
CN111090807A (zh) 一种基于知识图谱的用户识别方法及装置
CN112612887A (zh) 日志处理方法、装置、设备和存储介质
CN110704677A (zh) 一种节目推荐方法、装置、可读存储介质及终端设备
CN113946566B (zh) Web***指纹库的构建方法、装置和电子设备
CN109727056B (zh) 金融机构推荐方法、设备、存储介质及装置
CN112487181A (zh) 关键词确定方法和相关设备
CN110598194A (zh) 一种非满格表格内容提取方法、装置及终端设备
CN109284268A (zh) 一种快速解析日志的方法、***及电子设备
CN113626387A (zh) 一种任务数据的导出方法、装置、电子设备及存储介质
CN110580265B (zh) Etl任务的处理方法、装置、设备及存储介质
CN112561412B (zh) 目标对象标识的确定方法、装置、服务器及存储介质
CN113392184A (zh) 一种相似文本的确定方法、装置、终端设备及存储介质
CN108537654B (zh) 客户关系网络图的渲染方法、装置、终端设备及介质
CN112130944A (zh) 页面异常的检测方法、装置、设备及存储介质
CN113496365A (zh) 一种仓库合并方案确定方法、装置、设备及介质
CN111401959B (zh) 风险群体的预测方法、装置、计算机设备及存储介质
CN114880713B (zh) 基于数据链路的用户行为分析方法、装置、设备及介质
KR102670080B1 (ko) 데이터 재식별 가능성 감소를 위한 데이터 처리 방법
CN113886723B (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