CN116975488A - 网站指纹生成方法、相似网站识别方法、装置和设备 - Google Patents
网站指纹生成方法、相似网站识别方法、装置和设备 Download PDFInfo
- Publication number
- CN116975488A CN116975488A CN202310539577.9A CN202310539577A CN116975488A CN 116975488 A CN116975488 A CN 116975488A CN 202310539577 A CN202310539577 A CN 202310539577A CN 116975488 A CN116975488 A CN 116975488A
- Authority
- CN
- China
- Prior art keywords
- website
- resource
- identification
- fingerprint
- string
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 143
- 108091026890 Coding region Proteins 0.000 claims abstract description 104
- 238000012545 processing Methods 0.000 claims abstract description 70
- 238000006243 chemical reaction Methods 0.000 claims abstract description 52
- 230000000644 propagated effect Effects 0.000 claims abstract description 37
- 238000004590 computer program Methods 0.000 claims abstract description 31
- 230000000875 corresponding effect Effects 0.000 claims description 121
- 230000008569 process Effects 0.000 claims description 47
- 230000011218 segmentation Effects 0.000 claims description 7
- 230000002596 correlated effect Effects 0.000 claims description 5
- 238000004422 calculation algorithm Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 14
- 230000003068 static effect Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/986—Document structures and storage, e.g. HTML extensions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/906—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及一种网站指纹生成方法、相似网站识别方法、装置、计算机设备、存储介质和计算机程序产品。该网站指纹生成方法包括:获取目标网站的网站标识、以及该目标网站所传播的每一网站资源各自的资源地址;对每一资源地址分别进行资源标识提取,获得每一资源地址各自的资源标识;该资源标识包括一个标识串或通过分隔符连接的多个标识串;针对每一标识串,对该标识串进行目录转换处理,确定该标识串对应的资源目录;对每一资源目录分别进行编码处理,获得每一资源目录各自对应的编码序列;基于各编码序列,生成唯一表征目标网站的网站指纹。采用本方法所生成的网站指纹能更加全面地表征目标网站的特点,可以提高网站指纹的准确性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种网站指纹生成方法、相似网站识别方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
网站指纹是能够唯一表征网站的信息,网站指纹能够反映网站的特点,在网站去重、网站推送等场景下均有着广泛的应用空间。
传统技术中,通过网站主页的HTML(HyperText Markup Language,超文本标记语言)文件提取DOM(Document Object Model,文档对象模型)结构来构建网站指纹,相当于基于网站静态资源确定网站指纹,针对包含动态资源的动态网站,存在网站指纹不准确的缺点。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高准确性的网站指纹生成方法、相似网站识别方法、装置、计算机设备、存储介质和计算机程序产品。
第一方面,本申请提供了一种网站指纹生成方法。所述方法包括:
获取目标网站的网站标识、以及所述目标网站所传播的每一网站资源各自的资源地址;
基于所述网站标识,对每一所述资源地址分别进行资源标识提取,获得每一所述资源地址各自的资源标识;所述资源标识包括一个标识串或通过分隔符连接的多个标识串;
针对每一所述标识串,按照所述标识串在所属资源标识中的位置,对所述标识串进行目录转换处理,确定所述标识串对应的资源目录;
对每一所述资源目录分别进行序列编码处理,获得每一所述资源目录各自对应的编码序列;
基于各所述编码序列,生成唯一表征所述目标网站的网站指纹。
第二方面,本申请还提供了一种相似网站识别方法。所述方法包括:
获取第一网站的第一网站指纹、以及第二网站的第二网站指纹;所述第一网站指纹和所述第二网站指纹基于上述的网站指纹生成方法生成;
计算所述第一网站指纹和所述第二网站指纹的指纹相似度;
在所述指纹相似度满足相似条件的情况下,确定所述第一网站和所述第二网站为相似网站。
第三方面,本申请还提供了一种网站指纹生成装置。所述装置包括:
资源地址获取模块,用于获取目标网站的网站标识、以及所述目标网站所传播的每一网站资源各自的资源地址;
资源标识确定模块,用于基于所述网站标识,对每一所述资源地址分别进行资源标识提取,获得每一所述资源地址各自的资源标识;所述资源标识包括一个标识串或通过分隔符连接的多个标识串;
资源目录确定模块,用于针对每一所述标识串,按照所述标识串在所属资源标识中的位置,对所述标识串进行目录转换处理,确定所述标识串对应的资源目录;
编码模块,用于对每一所述资源目录分别进行序列编码处理,获得每一所述资源目录各自对应的编码序列;
指纹生成模块,用于基于各所述编码序列,生成唯一表征所述目标网站的网站指纹。
第四方面,本申请还提供了一种相似网站识别装置。所述装置包括:
网站指纹获取模块,用于获取第一网站的第一网站指纹、以及第二网站的第二网站指纹;所述第一网站指纹和所述第二网站指纹基于上述的网站指纹生成方法生成;
相似度确定模块,用于计算所述第一网站指纹和所述第二网站指纹的指纹相似度;
相似网站识别模块,用于在所述指纹相似度满足相似条件的情况下,确定所述第一网站和所述第二网站为相似网站。
第五方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
第六方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
第七方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
上述网站指纹生成方法、相似网站识别方法、装置、计算机设备、存储介质和计算机程序产品,获取目标网站的网站标识、以及目标网站所传播的每一网站资源各自的资源地址,基于该网站标识,对每一资源地址分别进行资源标识提取,获得各资源地址各自的资源标识,并通过对各资源标识进行标识串划分和序列编码处理,得到多个编码序列,最后基于各编码序列生成目标网站的网站指纹。由于只要目标网站还在应用,就会传播网站资源,进而能够获取该网站资源对应的资源地址,基于该资源地址生成网站指纹,因此,上述方法与传统基于DOM结构构建网站指纹的方式相比,更难被对抗,能够确保网站指纹的顺利生成。而基于目标网站所传播的每一网站资源各自的资源地址,确定该目标网站的网站指纹,能够在网站指纹生成过程中,综合考虑该目标网站所传播的静态资源和动态资源,使得所生成的网站指纹能够更加全面地表征目标网站的特点,有利于提高网站指纹的准确性。
附图说明
图1为一个实施例中网站指纹生成方法和相似网站识别方法的应用环境图;
图2为一个实施例中网站指纹生成方法的流程示意图;
图3为一个实施例中目标网站的资源传播记录示意图;
图4为一个实施例中各资源地址各自对应的资源标识示意图;
图5为一个实施例中各资源标识各自对应的标识串示意图;
图6为一个实施例中的哈希函数示意图;
图7为一个实施例中目标网站的网站目录结构示意图;
图8为一个实施例中各标识串各自对应的资源目录示意图;
图9为一个实施例中各资源目录各自的关联网站资源的传播总数示意图;
图10为另一个实施例中网站指纹生成方法的流程示意图;
图11为一个实施例中相似网站识别方法的流程示意图;
图12为一个实施例中网站A和网站B的相似性判断过程示意图;
图13为一个实施例中网站A和网站B的相似性评估结果示意图;
图14为一个实施例中的相似网站识别过程示意图;
图15为一个实施例中网站指纹生成装置的结构框图;
图16为一个实施例中相似网站识别装置的结构框图;
图17为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的网站指纹生成方法和相似指纹识别方法,可以应用于如图1所示的应用环境中。该应用场景可以包括终端102和服务器104,终端102与服务器104之间可以通过通信网络进行通信。该通信网络可以是有线网络或无线网络。因此,终端102和服务器104可以通过有线或无线通信方式进行直接或间接的连接。比如,终端102可以通过无线接入点与服务器104间接地连接,或者终端102通过因特网与服务器104直接地连接,本申请在此不做限制。
其中,终端102包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。本申请实施例可应用于网站指纹生成、以及相似网站识别的场景。终端102上可以安装有与目标网站相关的客户端,该客户端可以是软件(例如浏览器、内容推送软件等),也可以是网页、小程序等。服务器104则是与软件或是网页、小程序等相对应的后台服务器,或者是专门用于进行网站指纹生成或相似网站识别的服务器。在一些实施例中,网站指纹生成和相似网站识别还可以通过同一服务器实现,本申请不做具体限定。进一步地,服务器104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以单独设置,可以集成在服务器104上,也可以放在云上或其他服务器上。
需要说明的是,本申请实施例中的网站指纹生成方法和相似网站识别方法,可以由终端102或服务器104单独执行,也可以由终端102和服务器104共同执行。以服务器104单独执行的情况为例,服务器104在生成网站指纹的过程中:获取目标网站的网站标识、以及该目标网站所传播的每一网站资源各自的资源地址;基于网站标识,对每一资源地址分别进行资源标识提取,获得每一资源地址各自的资源标识;该资源标识包括一个标识串或通过分隔符连接的多个标识串;针对每一标识串,按照该标识串在所属资源标识中的位置,对该标识串进行目录转换处理,确定该标识串对应的资源目录;对每一资源目录分别进行序列编码处理,获得每一资源目录各自对应的编码序列;基于各编码序列,生成唯一表征目标网站的网站指纹。服务器104在进行相似网站识别的过程中:获取第一网站的第一网站指纹、以及第二网站的第二网站指纹;确定第一网站指纹和第二网站指纹的指纹相似度;在指纹相似度满足相似条件的情况下,确定第一网站和第二网站为相似网站。其中,第一网站指纹和第二网站指纹基于上述的网站指纹生成方法生成。识别相似网站之后,可以对存储的相似网站进行去重,避免相似网站的重复存储,以节省存储资源;可以将已知恶意网站的相似网站确定为恶意网站,实现对同类恶意网站的识别,净化网络环境;还可以将用户感兴趣网站的相似网站推送给用户,以提高推送网站与用户的匹配度,提升推送效果。
在一个实施例中,如图2所示,提供了一种网站指纹生成方法,该方法可以由计算机设备执行,该计算机设备可以是图1所示的终端或服务器,在本实施例中,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤S202,获取目标网站的网站标识、以及该目标网站所传播的每一网站资源各自的资源地址。
其中,网站是根据一定规则,使用HTML等工具制作的用于展示特定内容的站点。网站以网站服务器为载体,提供文件存储空间,是发布资讯和提供网络服务的重要途径。网页是构成网站的基本元素,是承载各种网站应用的平台,也即,一个网站可以包括多个网页。具体到本申请,目标网站是需要生成网站指纹的网站。网站指纹是能够唯一表征网站、能够反映网站特点的信息。
网站标识是网站的标识信息,该网站标识可以是网站名称、网站域名、或者包括该网站域名的网站主页地址等。网站域名是网站服务器的名称,用于在数据传输时标识网站服务器的电子方位或地理位置。网站主页也称网站首页,是用户访问网站时所看到的首个页面,也是用户访问网站其他模块的媒介。网站主页地址是指网站主页的网络地址,通常包括协议标识、服务标识和网站域名等信息,该协议标识例如可以是“http”或“https”等。示例性的,目标网站的网站域名为“xxx.com”的情况下,该目标网站的网站主页地址可以是“http://www.xxx.com”,其中,http为协议标识,www为服务标识,“xxx.com”为网站域名,com为网站类型标识。
目标网站的传播过程,实际上是目标网站所提供的网站资源的传播过程,也就是说,网站开发者可以通过网站资源向网站用户发布资讯和提供网络服务。该网站资源可以包括静态资源和动态资源。该网站资源的载体为网页,该网站资源的具体形式,可以包括文档、图片或音视频等。用户可以通过网站的网页,实现对网站的访问,获取所需要的资讯或者享受网络服务。网站资源的资源地址,是指承载网站资源的网页的网络地址,用于表征该网站资源在互联网上的位置,也即,每个网站资源都对应唯一的资源地址。在一个具体的实现中,网站资源的资源地址通过URL(Uniform Resource Locator,统一资源定位符)表示。URL是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。可以理解,目标网站所传播的网站资源的资源地址中,携带有表征该目标网站的网站标识的字符串。
具体地,服务器可以直接获取目标网站的网站标识;也可以获取目标网站的网站域名或网站主页地址,并根据网站域名或网站主页地址与网站标识的关联关系,确定网站标识。示例性的,在网站标识为网站域名的情况下,服务器可以获取网站主页地址,并在该网站主页地址的基础上,删除协议标识和服务标识,获得该目标网站的网站域名。
进一步地,服务器还可以获取该目标网站所传播的每一网站资源各自的资源地址。在一个实施例中,服务器获取目标网站在设定时长内的资源传播记录,并从资源传播记录中提取目标网站所传播的每一网站资源各自的资源地址。其中,设定时长可以是过去一年、半年或一个月等等。资源传播记录是目标网站向用户终端传播网站资源的记录信息,与网站用户对网站资源的浏览记录对应。也就是说,网站用户通过用户终端浏览网站资源的情况下,即会产生对应的资源传播记录。在一个具体的实现中,如图3所示,目标网站的资源传播记录包括该目标网站所传播的每一网站资源各自的资源地址和传播次数。
步骤S204,基于网站标识,对每一资源地址分别进行资源标识提取,获得每一资源地址各自的资源标识。
其中,资源标识是可以唯一标识网站资源的标识信息,该资源标识包括一个标识串或通过分隔符连接的多个标识串。分隔符的类型并不唯一,例如可以包括“/”、“!”、“?”或“&”等符号中的至少一部分。
如前文所述的,目标网站所传播的网站资源的资源地址中,携带有表征该目标网站的网站标识的字符串。该字符串可以包含该网站标识,或者包含表征该网站标识的信息。例如,表征网站名称A或网站域名“xxx.com”的字符串,可以是“xxx.com”、“www.xxx.com”、“http://www.xxx.com”或“https://www.xxx.com”中的任意一种,其中,xxx与A对应。基于此,服务器可以分别删除每一资源地址中表征网站标识的字符串,获得每一资源地址各自的资源标识;也可以将每一资源地址中表征网站标识的字符串替换成统一字符后,获得每一资源地址各自的资源标识。示例性的,删除资源地址“http://www.xxx.com/sports/index.html”中表征网站标识的字符串“http://www.xxx.com”,或者,将资源地址“http://www.xxx.com/sports/index.html”中表征网站标识的字符串http://www.xxx.com/替换成统一字符“/”后,可以得到该资源地址的资源标识“/sports/index.html”。
需要说明的是,资源地址中表征网站标识的字符串可以是连续字符串,也可以是被其他字符串分隔的非连续字符串。例如,表征目标网站A的字符串可以包括“http://”和“xxx.com”,且“http://”与“xxx.com”之间可以间隔其他字符串。示例性的,目标网站A提供图片、文档、视频等多种形式的搜索功能,则图片搜索页面对应的资源地址为“http://image.xxx.com/……”,其中表征该目标网站A的字符串为“http://……xxx.com”。进一步地,由于同一网站不同端口所使用的协议可以不相同,资源地址中表征网站域名的字符串可以不唯一。例如80端口默认使用http协议,443端口默认使用https协议,则表征目标网站A的字符串可以包括“http://www.xxx.com”和“https://www.xxx.com”。
在一个实施例中,步骤S204包括:确定各资源地址中表征网站标识的共性字符串;基于共性字符串,对每一资源地址分别进行资源标识提取,得到每一资源地址各自的原始资源标识;对原始资源标识中资源标识能力满足能力条件的设定类型字符串进行统一化处理,获得每一资源地址各自的资源标识。
其中,原始资源标识包括资源地址中除共性字符串以外的其余字符串。也就是说,针对每一资源地址,服务器删除该资源地址中的共性字符串后,可以得到该资源地址的原始资源标识。需要说明的是,不同资源地址中表征同一网站标识的共性字符串可以相同,也可以不相同。例如目标网站A所传播的各网站资源各自的资源地址中,表征目标网站A的网站标识的共性字符串可以包括“http://www.xxx.com”和https://www.xxx.com。
进一步地,资源标识能力满足能力条件,可以是指资源标识能力小于能力阈值,或者资源标识能力小于或等于能力阈值。该设定类型字符串,例如可以是数字串或符号串等。以数字串为例,资源访问过程中,通常伴随着信息的输入,例如登录信息或搜索信息,而这些输入的信息均会记录在最终呈现的网站资源的资源地址中。实际应用中,会对输入信息进行数字化编码,得到表征该输入信息的数字串。可以理解,该数字串并不必然具备对网站资源的标识能力。例如,不同用户在搜索同一视频资源时输入的关键词不同,但呈现的视频资源的实质内容却是相似甚至相同的,而资源地址却会由于输入信息的不同而存在较大差异。基于此,可以根据资源地址编码规则预先确定资源标识能力满足能力条件的设定类型字符串,得到原始资源标识后,服务器再对原始资源标识中的设定类型字符串进行统一化处理,用设定字符串替代各设定类型字符串,获得每一资源地址各自的资源标识。该设定字符串可以包括字母、数字或符号中的至少一种。示例性的,针对图3中的资源地址,分别删除每一资源地址中表征网站标识的字符串“http://www.xxx.com”或“https://www.xxx.com”,且使用设定字符串“num”替代数字串之后,获得的各资源地址各自对应的资源标识如图4所示。
本实施例中,将原始资源标识中对网站资源的标识能力相对较弱的设定类型字符串进行统一化处理,能够在确保资源标识的准确性的同时,将同一目标网站中内容相似网站资源视为一个网站资源进行处理,有利于节省计算资源、提高效率。
步骤S206,针对每一标识串,按照该标识串在所属资源标识中的位置,对该标识串进行目录转换处理,确定该标识串对应的资源目录。
其中,资源目录用于表示标识串与资源标识之间的关系,包括该标识串、以及表征该标识串在所属资源标识中的位置的信息。位置的表征方式不同,资源目录的具体确定方式也有所区别。具体地,服务器针对每一标识串,按照该标识串在所属资源标识中的位置,对该标识串进行目录转换处理,确定该标识串对应的资源目录。
在一个实施例中,标识串在所属资源标识中的位置与层级对应,位置越靠前层级越高,标识串在所属资源标识中的位置,可以通过层级标识表征。也就是说,资源目录可以由标识串、以及该标识串在所属资源标识中的层级标识拼接而成。其中,标识串的位置越靠前,代表该标识串与网站域名的距离越近,层级越高。层级标识的标识元素可以包括数字、字母及其组合。示例性的,标识元素可以是数字,数字越小代表标识串在所属资源标识中的位置越靠前。例如,资源标识“/sports/index.html”中,标识串“sports”对应的资源目录可以是“1sports”,标识串“index.html”对应的资源目录可以是“2index.html”,其中,1为标识串“sports”的层级标识,2为标识串“index.html”的层级标识。
在一个实施例中,标识串在所属资源标识中的位置,还可以通过该标识串与其余标识串之间的位置关系表征。也就是说,资源目录可以由标识串、以及该标识串在所属资源标识中的关联标识串拼接而成。该关联标识串例如可以包括前n个标识串或后m个标识串中的至少一项。其中,n和m为非负整数,且n和m可以相等也可以不相等。示例性的,在n取值为0、m取值为1的情况下,资源标识“/sports/index.html”中的标识串“sports”对应的资源目录可以是“sports-index.html”,表示标识串“sports”为标识串“index.html”的前一标识串。其中,“-”为不同标识串之间的连接字符,该连接字符可以是其他区别于分隔符的字符,在此不作限定。
需要说明的是,在确定标识串对应的资源目录之前,还需要确定资源标识所包含的标识串。在一个实施例中,网站指纹生成方法还包括:获取设定的分隔符,将资源标识中所包含的每一字符分别与该分隔符进行字符比对;在资源标识所包含的各字符中包括该分隔符的情况下,以该分隔符所在位置为切分位置,将资源标识切分成多个标识串。
其中,分隔符可以根据资源地址的编码算法设定。如前文所述的,分隔符的类型并不唯一,例如可以包括“/”、“!”、“?”或“&”等符号中的至少一部分。具体地,针对每一资源标识,服务器可以获取根据资源地址编码算法设定的分隔符,将该资源标识中所包含的每一字符分别与该分隔符进行比对,并在该资源标识所包含的各字符中包括分隔符的情况下,以该分隔符所在位置为切分位置,将该资源标识切分成多个标识串。示例性的,资源标识“/sports/index.html”包括通过分隔符“/”连接的标识串“sports”和“index.html”。如图5所示,为基于设定的分隔符“/”、“=”、“?”和“&”对图4中的资源标识进行切分之后,所得到的各资源标识各自对应的标识串。
本实施例中,基于设定的分隔符对资源标识进行切分,获得资源标识对应的标识串,能够根据实际应用需求灵活地设定分隔符,有利于进一步提高切分得到的标识串的准确性,进而提升基于标识串所生成的网站指纹的准确性。
步骤S208,对每一资源目录分别进行序列编码处理,获得每一资源目录各自对应的编码序列。
其中,编码是信息从一种形式或格式转换为另一种形式的过程。序列编码处理是对信息进行编码,获得编码序列的处理过程,也就是说,编码序列是对信息进行序列编码处理的处理结果。该编码序列可以包括数字、字母或符号等各种编码元素中的至少一种。以编码序列仅包括数字的情况为例,编码处理过程中使用的算法可以包括二进制编码算法或十进制编码算法等。
具体地,服务器使用编码算法对每一资源目录分别进行序列编码处理,获得每一资源目录各自对应的编码序列。示例性的,服务器可以利用如图6所示的哈希函数,将每一资源目录分别映射成固定长度的二进制序列,作为每一资源目录各自对应的编码序列。该固定长度例如可以是64位或128位等。需要说明的是,在其他实施例中,也可以使用BKDRHash、APHash或DJBHash等哈希函数,对资源目录进行序列编码处理,获得对应的编码序列。
步骤S210,基于各编码序列,生成唯一表征目标网站的网站指纹。
其中,关于网站指纹的具体限定参见上文,此处不再赘述。具体地,服务器可以拼接各编码序列中的至少一部分,生成唯一表征目标网站的网站指纹。例如,服务器可以基于编码得到各编码序列的资源地址的传播次数,统计各编码序列各自的传播次数,并拼接传播次数满足次数条件的编码序列,生成网站指纹。传播次数满足次数条件的编码序列,可以是指传播次数大于(或者大于或等于)次数阈值的编码序列,也可以是指按照传播次数从多到少排序后的前N个的编码序列。其中,N可以是具体数量,也可以是编码序列总数的百分比。服务器也可以通过对各编码序列进行统计,生成唯一表征目标网站的网站指纹。统计过程的具体算法,可以包括加法、减法或乘法中的至少一部分。
上述网站指纹生成方法,获取目标网站的网站标识、以及目标网站所传播的每一网站资源各自的资源地址,基于该网站标识,对每一资源地址分别进行资源标识提取,获得各资源地址各自的资源标识,并通过对各资源标识进行标识串划分和序列编码处理,得到多个编码序列,最后基于各编码序列生成目标网站的网站指纹。由于只要目标网站还在应用,就会传播网站资源,进而能够获取该网站资源对应的资源地址,基于该资源地址生成网站指纹,因此,上述方法与传统基于DOM结构构建网站指纹的方式相比,更难被对抗,能够确保网站指纹的顺利生成。而基于目标网站所传播的每一网站资源各自的资源地址,确定该目标网站的网站指纹,能够在网站指纹生成过程中,综合考虑该目标网站所传播的静态资源和动态资源,使得所生成的网站指纹能够更加全面地表征目标网站的特点,有利于提高网站指纹的准确性。
在一些实施例中,按照标识串在所属资源标识中的位置,对所述标识串进行目录转换处理,确定该标识串对应的资源目录,包括:按照标识串在所属资源标识中的位置,确定标识串在所属资源标识中的层级标识;基于层级标识和标识串的拼接结果,确定标识串对应的资源目录。
如前文所述的,标识串在所属资源标识中的位置与层级对应,标识串在所属资源标识中的位置越靠前,层级越高。因此,该位置可以通过层级标识表征。具体地,服务器可以按照标识串在所属资源标识中的位置,确定标识串在所属资源标识中的层级标识,然后,对标识串、以及该标识串的层级标识进行拼接处理,获得拼接结果,再基于拼接结果确定该标识串对应的资源目录。进一步地,服务器可以将标识串、以及该标识串的层级标识的拼接结果,确定为该标识串对应的资源目录;也可以在标识串、以及该标识串的层级标识的拼接结果的基础上,拼接其他关联信息,得到该标识串对应的资源目录。该关联信息例如可以包括该标识串的前一标识串或后一标识串中的至少一项。此外,层级标识与标识串的拼接顺序也不唯一。例如,可以是层级标识在前标识串在后,也可以是标识串在前层级标识在后,在此不作限定。为便于理解,后文均以层级标识在前标识串在后的情况进行说明。
可以理解,同一标识串可以存在于多个资源标识中,且不同资源标识中,该标识串的所处层级可以相同,也可以不相同。基于层级标识和标识串的拼接结果,确定该标识串对应的资源目录,能够在同一标识串在不同资源标识中所属层级不同的情况下,确定出不同的资源目录,使得同一标识串的资源目录与资源标识的关联度更高,进而更加全面地反映资源标识所标识的信息。以标识串对应的资源目录为该标识串、以及该标识串在所属资源标识中的层级标识的拼接结果为例。针对同一标识串“sports”,在资源标识“/sports/num”中对应的资源目录为“1sports”,在资源标识“/kj/sports/index.html”中对应的资源目录为“2sports”。
本实施例中,使用层级标识表征标识串在所属资源标识中的位置,并基于层级标识和标识串的拼接结果,确定该标识串对应的资源目录,使得不同资源标识中处于不同层级的同一标识串能够被区分,进而能够确保基于资源地址所确定的资源目录与该资源地址的匹配度,确保基于资源目录生成的网站指纹与目标网站的匹配度。
在一个实施例中,网站指纹生成方法还包括:从标识串的所属资源标识中,确定与该标识串的层级间隔满足间隔条件的关联标识串。在该实施例的情形下,基于层级标识和标识串的拼接结果,确定标识串对应的资源目录,包括:拼接标识串、以及该标识串的层级标识,得到该标识串的初始目录;对标识串的初始目录与关联标识串进行二次拼接处理,得到该标识串对应的资源目录。
其中,间隔条件可以基于层级间隔的间隔阈值确定。该间隔条件可以是层级间隔小于间隔阈值,或者,层级间隔小于或等于间隔阈值。同一资源标识中两个标识串的层级间隔,是指这两个标识串之间的标识串的数量。示例性的,资源标识“/kj/zs/num/num.html”中,标识串“kj”与标识串“num”的层级间隔为1,标识串“zs”、以及标识串“num.html”均为标识串“num”的相邻标识串,则标识串“zs”和标识串“num.html”与标识串“num”的层级间隔均为0。
进一步地,该间隔阈值可以包括前层级间隔阈值和后层级间隔阈值,且前层级间隔阈值和后层级间隔阈值可以相等也可以不相等。该前层级间隔阈值用于确定标识串的前层级标识串中的关联标识串,对应地,后层级间隔阈值用于确定标识串的后层级标识串中的关联标识串。标识串的前层级标识串,是同一资源标识中位于该标识串之前的标识串的统称;标识串的后层级标识串,是同一资源标识中位于该标识串之后的标识串的统称。示例性的,资源标识“/kj/zs/num/num.html”中,标识串“kj”和“zs”为标识串“num”的前层级标识串,标识串“num.html”为标识串“num”的后层级标识串。
具体地,服务器一方面可以根据标识串所属资源标识中包含的各标识串各自的位置,从该标识串的所属资源标识中,确定与该标识串的层级间隔满足间隔条件的关联标识串。另一方面,服务器可以拼接标识串、以及该标识串的层级标识,得到该标识串的初始目录。然后,再对标识串的初始目录与关联标识串进行二次拼接处理,得到该标识串对应的资源目录。实际应用中,服务器可以按照标识串与关联标识串各自在所属资源标识中的位置,对该标识串的初始目录与该关联标识串进行二次拼接处理。也即,标识串的初始目录与关联标识串在二次拼接结果中的相对位置,与该标识串与该关联标识串在同一资源标识中的相对位置一致。
示例性的,在层级条件为层级间隔小于1的情况下,针对资源标识“/kj/zs/num/num.html”中的标识串“num”,可以先拼接标识串“num”、以及该标识串“num”的层级标识“3”,得到初始目录“3num”,然后,再拼接前一层级的标识串“zs”和后一层级标识串“num.html”,得到对应的资源目录“zs2numnum.html”。需要说明的是,若拼接之后两个标识串直接连接,还可以在这两个标识串的基础上增加连接字符以便区分,例如,添加连接字符“-”之后,上述实施例中标识串“num”对应的资源目录可以是“zs2num-num.html”。
在一个具体的实施例中,初始目录中层级标识在前,标识串在后;前层级间隔阈值为1,后层级间隔阈值为0;间隔条件包括:标识串的前层级标识串与该标识串的层级间隔小于前层级间隔阈值,标识串的后层级标识串与该标识串的层级间隔小于后层级间隔阈值。也就是说,标识串的关联标识串,为该标识串所属资源标识中的前一层级标识串,服务器将标识串的初始目录、与该标识串的前一层级标识串进行二次拼接,得到该标识串对应的资源目录。示例性的,资源标识“/kj/zs/num/num.html”中,标识串“zs”对应的资源目录为“kj2zs”,标识串“num”对应的资源目录为“zs3num”,标识串“num.html”对应的资源目录为“num4num.html”。而标识串“kj”由于不存在前层级标识串,则无需进行二次拼接,也即,标识串“kj”对应的资源目录为“1kj”。在初始标识中层级标识在前标识串在后的情况下,仅拼接标识串的前层级标识串中的关联标识串,既能够保留资源标识中标识串与其他标识串之间的位置关系,又可以避免出现两个标识串直接相连而不易区分的情况。
上述实施例中,将标识串、该标识串的层级标识、以及该标识串的关联标识串的拼接结果,确定该标识串对应的资源目录,使得确定的资源目录能够体现标识串与同一资源标识中其他标识串之间的位置关系,能够进一步提高基于资源地址所确定的资源目录与该资源地址的匹配度,提升基于资源目录生成的网站指纹与目标网站的匹配度。
在一个实施例中,网站指纹生成方法还包括:确定关联标识串的层级标识;拼接关联标识串、以及该关联标识串的层级标识,得到该关联标识串的初始目录。在该实施例的情形下,对标识串的初始目录与关联标识串进行二次拼接处理,得到该标识串对应的资源目录,包括:对标识串和关联标识串各自的初始目录进行二次拼接处理,得到该标识串对应的资源目录。
其中,关于层级标识的具体限定参见上文,此处不再赘述。具体地,服务器再确定了与标识串的层级间隔满足间隔条件的关联标识串之后,可以进一步确定该关联标识串的层级标识,并拼接关联标识串、以及该关联标识串的层级标识,得到该关联标识串的初始目录。然后,再对标识串和关联标识串各自的初始目录进行二次拼接处理,得到该标识串对应的资源目录。以关联标识串为前一层级标识串的情况为例,则资源标识“/kj/zs/num/num.html”中,标识串“zs”对应的资源目录为“1kj2zs”,标识串“num”对应的资源目录为“2zs3num”,标识串“num.html”对应的资源目录为“3num4num.html”。而标识串“kj”由于不存在前层级标识串,则无需进行二次拼接,也即,标识串“kj”对应的资源目录为“1kj”。进一步地,拼接的各初始目录之间,可以通过预设字符连接,该预设字符可以是“-”或“_”等字符,在此不作限定。
在一个具体的应用中,服务器针对每一资源标识,在该资源标识包括分隔符的情况下,以该分隔符所在位置为切分位置,将该资源标识切分成多个标识串;针对每一标识串,按照该标识串在所属资源标识中的位置,确定该标识串在所属资源标识中的层级标识,拼接该标识串、以及该标识串的层级标识,得到该标识串的初始目录。进一步地,基于各初始目录各自的层级标识,可以得到目标网站的网站目录结构。如图7所示,为网站域名为“xxx.com”的网站A的网站目录结构。两个标识串之间的层级间隔,与该网站目录结构中,对应的两个初始目录之间所间隔的初始目录的数量一致。基于此,服务器可以在确定资源目录的过程中,基于各初始目录在该网站目录结构中的位置,拼接满足标识串的初始目录、以及与该初始目录满足间隔条件的关联初始目录,获得该标识串的资源目录。如图8所示,为拼接前一层级的关联初始目录所获得的资源目录。进一步地,实际应用中,目标网站所传播的网站资源数量众多,基于每一网站资源各自的资源地址,可以确定多个资源目录。可以将同一层级标识串的资源目录统称为该层级的层级目录。如图8中,将位于第一层级的标识串对应的资源目录统称为一级目录,将位于第二层级的标识串对应的资源目录统称为二级目录,以此类推。如图7和图8所示,同一资源目录中拼接的各初始目录之间通过预设字符“_”连接,可以理解,在其他实施例中,各初始目录也可以直接连接,或者通过其他类型的预设字符连接。
上述实施例中,对标识串和关联标识串各自的初始目录进行二次拼接处理,得到该标识串对应的资源目录,既能够保留标识串与关联标识串之间的位置关系,又可以避免出现两个标识串直接相连而不易区分的情况,且算法简单,有利于提高效率。
在一个实施例中,步骤S210包括:确定各编码序列各自的权重;基于各编码序列各自的权重,对各编码序列所包含的各编码元素进行元素统计,获得统计序列;对统计序列进行元素转换处理,生成唯一表征目标网站的网站指纹。
其中,编码序列的权重用于表征该编码序列对网站指纹的影响度,权重越大,影响度越大。具体地,服务器确定各编码序列各自的权重,基于各编码序列各自的权重,对各编码序列所包含的各编码元素进行元素统计,获得统计序列,最后,再对统计序列进行元素转换处理,生成唯一表征目标网站的网站指纹。统计过程中所涉及的算法,可以包括加法、减法或乘法等中的至少一种。
本实施例中,基于权重对各编码序列所包含的各编码元素进行元素统计,获得统计序列,再进一步进行元素转换处理后得到网站指纹,有利于进一步提高网站指纹的准确性。
权重的确定方式并不唯一。在一个实施例中,服务器可以建立记录词与词权重的对应关系的词库,并根据编码序列对应的资源目录中所包含的词,结合词库中记录的对应关系,确定词权重,进而基于词权重确定该编码序列的权重。
具体地,标识串可以包括一个词,也可以包括通过连接符连接的多个词。该连接符例如可以包括“.”或“_”等,那么,标识串对应的资源目录中,也会包括至少一个词。示例性的,标识串“sports”包含词“sports”,标识串“index.html”中包括词“index”和“html”,则资源目录“1sports”中包括词“sports”、资源目录“1sports2index.html”中包括词“sports”、“index”和“html”。
实际应用中,资源地址的编码方式是确定的,通常所包含的词相对固定,因此,可以预先建立词库。针对词库中未记录的词,则服务器可以将词库中所记录的各词权重的平均值确定为该词的平均值;也可以基于词性、词形和词义等多个角度提取该词的词特征,并通过词特性进行相似匹配,确定词库中与该词相似度满足相似条件的关联词,再基于关联词的词权重,确定该词的词权重。其中,相似条件可以是相似度大于相似度阈值,也可以是相似条件大于或等于相似度阈值,关联词还可以是词库中与该词相似度最高的N个词,等等。基于关联词的词权重,确定该词的词权重的具体方式,可以是将各关联词词权重的平均值确定为该词的词权重,也可以是根据相似度对各关联词词权重进行加权求和,确定该词的词权重。示例性地,词库中未记录“sports”的词权重,但记录了“sport”的词权重为a,由于“sports”和“sport”高度相似,则可以将a确定为“sports”的词权重。
确定了编码序列对应的资源目录中每一词各自的词权重后,服务器可以对各词权重进行统计计算,得到该编码序列的权重。统计计算的具体算法,例如可以是直接求和、加权求和、或者求平均等等。以直接求和为例,资源目录“1sports2index.html”中,“sports”、“index”和“html”各自的词权重分别为0.1、0.1和0.2,则资源目录“1sports 2index.html”对应的编码序列的权重可以是0.4。
在一个实施例中,获取各编码序列各自的权重,包括:针对每一编码序列,从各网站资源中确定可编码得到该编码序列的关联网站资源;基于关联网站资源通过目标网站的传播次数,确定编码序列的权重。
其中,权重与传播次数正相关。具体地,如前文所述的,服务器可以获取目标网站的资源传播记录,该资源传播记录中包括该目标网站所传播的每一网站资源各自的资源地址和传播次数。也即是说,如图3所示,每一网站资源均关联唯一的资源地址和传播次数。在基于资源地址确定了编码序列之后,针对每一编码序列,服务器可以从各网站资源中确定可编码得到该编码序列的关联网站资源。例如,资源地址“http://www.xxx.com/kj/3/2023.html”和“http://www.xxx.com/kj/zs/3/2023.html”对应的网站资源,均为资源目录“1kj”对应的的编码序列的关联网站资源。
确定编码序列的关联网站资源之后,服务器对各关联网站资源通过目标网站的传播次数进行求和统计,获得关联网站资源的传播总数,再根据该传播总数确定编码序列的权重。如图9所示,为目标网站A的各资源目录各自的关联网站资源的传播总数,资源目录与编码序列一一对应。进一步地,服务器可以将该传播总数确定为编码序列的权重,也可以对各编码序列各自对应的传播总数进行归一化处理后,获得各编码序列各自的权重。示例性的,基于目标网站所传播的每一网站资源各自的资源地址,通过相应处理得到了编码序列A、编码序列B和编码序列C,其中,编码序列A的关联网站资源的传播总数为20、编码序列B的关联网站资源的传播总数为30、编码序列C的关联网站资源的传播总数为50,则编码序列A、B和C的权重可以分别为20、30和50,也可以进行归一化处理后,确定编码序列A、B和C的权重可以分别为0.2、0.3和0.5。
上述实施例中,基于编码得到编码序列的关联网站资源通过目标网站的传播次数,确定该编码序列的权重,能够确保权重与目标网站的真实资源传播情况匹配,进而确保基于权重所确定的网站指纹的准确性。
在一个实施例中,基于各编码序列各自的权重,对各编码序列所包含的各编码元素进行元素统计,获得统计序列,包括:按照各编码序列所包含的编码元素类型,确定每一编码元素类型各自的权重系数;基于各编码序列各自的权重、以及各编码元素类型各自的权重系数,对各编码序列所包含的各编码元素进行元素统计,获得统计序列。
可以理解,对资源目录进行编码处理得到编码序列的编码算法不同,编码序列中所包含的编码元素类型也不相同。示例性的,二进制编码算法所得到的二进制编码序列中,包含的编码元素类型包括“0”和“1”;十六进制编码算法所得到的十进制编码序列中,包含的编码元素类型包括数字元素“0”-“9”、以及字母元素“A”-“F”。各编码元素类型中,可能存在“0”这种无法用于除法运算的元素,也可能存在无法直接进行数值统计的字母元素。基于此,服务器按照各编码序列所包含的编码元素类型,确定每一编码元素类型各自的权重系数,实现从编码元素到权重系数的数值转换。然后,服务器再基于各编码序列各自的权重、以及各编码元素类型各自的权重系数,对各编码序列所包含的各编码元素进行元素统计,获得统计序列。其中,统计序列中某一位置的统计元素,为各编码序列中同一位置的编码元素的统计结果,计算公式为:A位置的统计元素=∑(A位置编码元素的权重系数*权重)。
示例性的,二进制序列中,编码元素类型“0”的权重系数可以是-1,编码元素类型“1”的权重系数可以是1。若二进制编码序列“001”的权重为10,二进制编码序列“010”的权重为20,则基于这两个二进制编码序列统计得到的统计序列的第一个元素为-30,是二进制编码序列“001”中的第一个编码元素“0”、以及二进制编码序列“010”中的第一个编码元素“0”的统计结果,计算过程为:(-1)*10+(-1)*20=-30。
本实施例中,基于各编码序列各自的权重、以及各编码元素类型各自的权重系数,对各编码序列所包含的各编码元素进行元素统计,获得统计序列,能够确保每一编码元素均会对最终的统计结果产生影响,有利于提高统计序列与各编码序列的匹配度。
在一个实施例中,对统计序列进行元素转换处理,生成唯一表征目标网站的网站指纹,包括:获取与预设的网站指纹类型匹配的元素转换条件;基于元素转换条件对统计序列进行元素转换处理,生成唯一表征目标网站的网站指纹。
其中,网站指纹类型是指网站指纹的数据类型。例如,二进制指纹或十进制指纹等等。元素转换条件与网站指纹类型匹配,也就是说,元素转换条件能够表征网站指纹中每一指纹元素各自的转换条件。例如,二进制指纹的元素转换条件可以是“大于阈值转换为1,否则转换为0”,该阈值例如可以是1或10等。具体地,服务器可以获取与预设的网站指纹类型匹配的元素转换条件,基于该元素转换条件对统计序列进行元素转换处理,生成唯一表征目标网站的网站指纹。
本实施例中,基于与网站指纹类型匹配的元素转换条件,对统计序列进行元素转换处理,生成唯一表征目标网站的网站指纹,能够适用于多种类型的网站指纹的生成场景,有利于提高网站指纹生成方法的灵活性。
在一个实施例中,如图10所示,提供了一种网站指纹生成方法,该方法可以由计算机设备执行,该计算机设备可以是图1所示的终端或服务器,以该计算机设备是服务器为例,在本实施例中,该方法包括以下步骤:
步骤S1001,获取目标网站的网站标识、以及该目标网站所传播的每一网站资源各自的资源地址。
其中,目标网站是需要生成网站指纹的网站。网站指纹是能够唯一表征网站、能够反映网站特点的信息。网站标识是网站的标识信息,该网站标识可以是网站名称、网站域名、或者包括该网站域名的网站主页地址等。具体地,服务器可以获取目标网站的网站标识、以及该目标网站在设定时长内的资源传播记录,并从资源传播记录中提取目标网站所传播的每一网站资源各自的资源地址。
步骤S1002,分别删除每一资源地址中表征网站标识的字符串,获得每一资源地址各自的原始资源标识。
其中,目标网站所传播的网站资源的资源地址中,携带有表征该目标网站的网站标识的字符串。该字符串可以包含该网站标识,或者包含表征该网站标识的信息。
步骤S1003,使用设定字符串替代原始资源标识中的数字串,获得每一资源地址各自的资源标识。
其中,设定字符串可以包括字母、数字或符号中的至少一种。资源标识是可以唯一标识网站资源的标识信息,该资源标识包括一个标识串或通过分隔符连接的多个标识串。分隔符的类型并不唯一,例如可以包括“/”、“!”、“?”或“&”等符号中的至少一部分。
步骤S1004,获取设定的分隔符,将资源标识中所包含的每一字符分别与该分隔符进行比对,在资源标识所包含的各字符中包括该分隔符的情况下,以分隔符所在位置为切分位置,将该资源标识切分成多个标识串。
具体地,针对每一资源标识,服务器可以获取根据资源地址编码算法设定的分隔符,将该资源标识中所包含的每一字符分别与该分隔符进行比对,并在该资源标识所包含的各字符中包括分隔符的情况下,以该分隔符所在位置为切分位置,将该资源标识切分成多个标识串。
步骤S1005,针对每一标识串,按照该标识串在所属资源标识中的位置,确定该标识串在所属资源标识中的层级标识,拼接该标识串、以及该标识串的层级标识,得到该标识串的初始目录。
其中,标识串在所属资源标识中的位置与层级对应,标识串在所属资源标识中的位置越靠前层级越高。因此,该位置可以通过层级标识表征。
步骤S1006,从标识串的所属资源标识中,确定与该标识串的层级间隔满足间隔条件的关联标识串。
其中,间隔条件可以基于层级间隔的间隔阈值确定。该间隔条件可以是层级间隔小于间隔阈值,或者,层级间隔小于或等于间隔阈值。同一资源标识中两个标识串的层级间隔,是指这两个标识串之间的标识串的数量。进一步地,该间隔阈值可以包括前层级间隔阈值和后层级间隔阈值,且前层级间隔阈值和后层级间隔阈值可以相等也可以不相等。该前层级间隔阈值用于确定标识串的前层级标识串中的关联标识串,对应地,后层级间隔阈值用于确定标识串的后层级标识串中的关联标识串。标识串的前层级标识串,是同一资源标识中位于该标识串之前的标识串的统称;标识串的后层级标识串,是同一资源标识中位于该标识串之后的标识串的统称。
步骤S1007,将标识串、以及该标识串的关联标识串各自的初始目录进行二次拼接,得到该标识串对应的资源目录。
具体地,服务器可以按照标识串与关联标识串各自在所属资源标识中的位置,对该标识串的初始目录与该关联标识串进行二次拼接,得到该标识串对应的资源目录。也即,标识串的初始目录与关联标识串在资源目录中的相对位置,与该标识串与该关联标识串在同一资源标识中的相对位置一致。
步骤S1008,对每一资源目录分别进行序列编码处理,获得每一资源目录各自对应的编码序列。
其中,编码是信息从一种形式或格式转换为另一种形式的过程。序列编码处理是对信息进行序列编码的处理过程,对应的,编码序列是对信息进行序列编码处理的处理结果。该编码序列可以包括数字、字母或符号等各种编码元素中的至少一种。以编码序列仅包括数字的情况为例,序列编码处理过程中使用的算法可以包括二进制编码算法或十进制编码算法等。
步骤S1009,针对每一编码序列,从各网站资源中确定可编码得到该编码序列的关联网站资源。
如前文所述的,服务器可以获取目标网站的资源传播记录,该资源传播记录中包括该目标网站所传播的每一网站资源各自的资源地址和传播次数。在基于资源地址确定了编码序列之后,针对每一编码序列,服务器可以从各网站资源中确定可编码得到该编码序列的关联网站资源。例如,资源地址“http://www.xxx.com/kj/3/2023.html”和“http://www.xxx.com/kj/zs/3/2023.html”对应的网站资源,均为资源目录“1kj”对应的编码序列的关联网站资源。
步骤S1010,基于关联网站资源通过目标网站的传播次数,确定编码序列的权重。
其中,权重与传播次数正相关。确定编码序列的关联网站资源之后,服务器对各关联网站资源通过目标网站的传播次数进行求和统计,获得关联网站资源的传播总数,再根据该传播总数确定编码序列的权重。进一步地,服务器可以将该传播总数确定为编码序列的权重,也可以对各编码序列各自对应的传播总数进行归一化处理后,获得各编码序列各自的权重。
步骤S1011,按照各编码序列所包含的编码元素类型,确定每一编码元素类型各自的权重系数。
可以理解,对资源目录进行编码处理得到编码序列的编码算法不同,编码序列中所包含的编码元素类型也不相同。各编码元素类型中,可能存在“0”这种无法用于除法运算的元素,也可能存在无法直接进行数值统计的字母元素。基于此,服务器按照各编码序列所包含的编码元素类型,确定每一编码元素类型各自的权重系数,实现从编码元素到权重系数的数值转换。
步骤S1012,基于各编码序列各自的权重、以及各编码元素类型各自的权重系数,对各编码序列所包含的各编码元素进行元素统计,获得统计序列。
具体地,服务器基于各编码序列各自的权重、以及各编码元素类型各自的权重系数,对各编码序列所包含的各编码元素进行元素统计,获得统计序列。其中,统计序列中某一位置的统计元素,为各编码序列中同一位置的编码元素的统计结果,计算公式为:A位置的统计元素=∑(A位置编码元素的权重系数*权重)。
步骤S1013,获取与预设的网站指纹类型匹配的元素转换条件,基于该元素转换条件对统计序列进行元素转换处理,生成唯一表征目标网站的网站指纹。
其中,网站指纹类型是指网站指纹的数据类型。例如,二进制指纹或十进制指纹等等。元素转换条件与网站指纹类型匹配,也就是说,元素转换条件能够表征网站指纹中每一指纹元素各自的转换条件。具体地,服务器可以获取与预设的网站指纹类型匹配的元素转换条件,基于该元素转换条件对统计序列进行元素转换处理,生成唯一表征目标网站的网站指纹。
上述网站指纹生成方法,获取目标网站所传播的每一网站资源各自的资源地址,分别删除每一资源地址中表征目标网站的网站标识的字符串,获得各资源地址各自的资源标识,并通过对各资源标识进行标识串划分和编码处理,得到多个编码序列,最后基于各编码序列生成目标网站的网站指纹。由于只要目标网站还在应用,就会传播网站资源,进而能够获取该网站资源对应的资源地址,基于该资源地址生成网站指纹,因此,上述方法与传统基于DOM结构构建网站指纹的方式相比,更难被对抗,能够确保网站指纹的顺利生成。而基于目标网站所传播的每一网站资源各自的资源地址,确定该目标网站的网站指纹,能够在网站指纹生成过程中,综合考虑该目标网站所传播的静态资源和动态资源,使得所生成的网站指纹能够更加全面地表征目标网站的特点,有利于提高网站指纹的准确性。
在一些实施例中,如图11所示,提供了一种相似网站识别方法,该方法可以由计算机设备执行,该计算机设备可以是图1所示的终端或服务器,以该计算机设备是服务器为例,在本实施例中,该方法包括以下步骤:
步骤S1102,获取第一网站的第一网站指纹、以及第二网站的第二网站指纹;
步骤S1104,确定第一网站指纹和第二网站指纹的指纹相似度;
步骤S1106,在指纹相似度满足相似条件的情况下,确定第一网站和第二网站为相似网站。
其中,第一网站和第二网站为网站标识各不相同的网站。第一网站指纹和第二网站指纹基于上述的网站指纹生成方法生成。相似条件可以是指纹相似度大于设定阈值,也可以是指纹相似度大于或等于设定阈值。指纹相似度可以通过海明距离或余弦相似度等表征。
具体地,服务器获取第一网站的第一网站指纹、以及第二网站的第二网站指纹,确定第一网站指纹和第二网站指纹的指纹相似度,并在指纹相似度满足相似条件的情况下,确定第一网站和第二网站为相似网站。可以理解,在指纹相似度不满足相似条件的情况下,则确定第一网站和第二网站为相异网站。
如图12所示,服务器获取需要进行相似识别的网站A和网站B各自的网站指纹,计算两个网站指纹之间的海明距离,并在该海明距离大于N的情况下,确定网站A与网站B不相似,为相异网站,否则,确定二者相似,为相似网站。其中,N可以是3或4等。在信息编码中,两个序列对应位上编码不同的位数称为码距,又称海明距离。也就是说,对两个序列进行异或(xor)运算,并计算出异或运算结果中1的个数,即为海明距离。如图13所示,网站A和网站B各自的网站指纹的异或运算结果中,1的个数为1,则两个网站的海明距离等于1,为相似网站。
上述相似网站识别方法,由于在网站指纹生成的过程中,获取目标网站的网站标识、以及目标网站所传播的每一网站资源各自的资源地址,基于该网站标识,对每一资源地址分别进行资源标识提取,获得各资源地址各自的资源标识,并通过对各资源标识进行标识串划分和序列编码处理,得到多个编码序列,最后基于各编码序列生成目标网站的网站指纹。由于只要目标网站还在应用,就会传播网站资源,进而能够获取该网站资源对应的资源地址,基于该资源地址生成网站指纹,因此,上述方法与传统基于DOM结构构建网站指纹的方式相比,更难被对抗,能够确保网站指纹的顺利生成。而基于目标网站所传播的每一网站资源各自的资源地址,确定该目标网站的网站指纹,能够在网站指纹生成过程中,综合考虑该目标网站所传播的静态资源和动态资源,使得所生成的网站指纹能够更加全面地表征目标网站的特点,有利于提高网站指纹的准确性,进而提升相似指纹识别结果的准确性。
在一个实施例中,生成第一网站指纹或第二网站指纹的过程包括:获取目标网站的网站标识、以及该目标网站所传播的每一网站资源各自的资源地址;基于网站标识,对每一资源地址分别进行资源标识提取,获得每一资源地址各自的资源标识;资源标识包括一个标识串或通过分隔符连接的多个标识串;针对每一标识串,按照该标识串在所属资源标识中的位置,对该标识串进行目录转换处理,确定该标识串对应的资源目录;对每一资源目录分别进行序列编码处理,获得每一资源目录各自对应的编码序列;基于各编码序列,生成唯一表征目标网站的网站指纹。其中,目标网站为第一网站或第二网站。
在一个实施例中,对每一资源地址分别进行资源标识提取,获得每一资源地址各自的资源标识,包括:确定各资源地址中表征网站标识的共性字符串;基于共性字符串,对每一资源地址分别进行资源标识提取,得到每一资源地址各自的原始资源标识;对原始资源标识中资源标识能力满足能力条件的设定类型字符串进行统一化处理,获得每一资源地址各自的资源标识。
在一个实施例中,生成第一网站指纹或第二网站指纹的过程还包括:获取设定的分隔符,将资源标识中所包含的每一字符分别与该分隔符进行字符比对;在资源标识所包含的各字符中包括分隔符的情况下,以分隔符所在位置为切分位置,将该资源标识切分成多个标识串。
在一个实施例中,按照标识串在所属资源标识中的位置,对该标识串进行目录转换处理,确定该标识串对应的资源目录,包括:按照标识串在所属资源标识中的位置,确定标识串在所属资源标识中的层级标识;基于层级标识和标识串的拼接结果,确定标识串对应的资源目录。
在一个实施例中,生成第一网站指纹或第二网站指纹的过程还包括:从标识串的所属资源标识中,确定与标识串的层级间隔满足间隔条件的关联标识串。在该实施例的情形下,基于层级标识和标识串的拼接结果,确定标识串对应的资源目录,包括:拼接标识串、以及该标识串的层级标识,得到该标识串的初始目录;对标识串的初始目录与关联标识串进行二次拼接处理,得到该标识串对应的资源目录。
在一个实施例中,生成第一网站指纹或第二网站指纹的过程还包括:确定关联标识串的层级标识;拼接关联标识串、以及该关联标识串的层级标识,得到该关联标识串的初始目录。在该实施例的情形下,对标识串的初始目录与关联标识串进行二次拼接处理,得到该标识串对应的资源目录,包括:对标识串和关联标识串各自的初始目录进行二次拼接处理,得到该标识串对应的资源目录。
在一个实施例中,基于各编码序列,生成唯一表征目标网站的网站指纹,包括:确定各编码序列各自的权重;基于各编码序列各自的权重,对各编码序列所包含的各编码元素进行元素统计,获得统计序列;对统计序列进行元素转换处理,生成唯一表征目标网站的网站指纹。
在一个实施例中,确定各编码序列各自的权重,包括:针对每一编码序列,从各网站资源中确定可编码得到该编码序列的关联网站资源;基于关联网站资源通过目标网站的传播次数,确定编码序列的权重。其中,权重与传播次数正相关。
在一个实施例中,基于各编码序列各自的权重,对各编码序列所包含的各编码元素进行元素统计,获得统计序列,包括:按照各编码序列所包含的编码元素类型,确定每一编码元素类型各自的权重系数;基于各编码序列各自的权重、以及各编码元素类型各自的权重系数,对各编码序列所包含的各编码元素进行元素统计,获得统计序列。
在一个实施例中,对统计序列进行元素转换处理,生成唯一表征目标网站的网站指纹,包括:获取与预设的网站指纹类型匹配的元素转换条件;基于元素转换条件对统计序列进行元素转换处理,生成唯一表征目标网站的网站指纹。
在一个可能的实现中,该网站指纹生成和相似网站识别方法可以应用于恶意网站识别场景。在该应用场景下,服务器可以获取恶意网站和待识别网站各自的网站域名和网站资源传播记录。然后,服务器从网站资源传播记录中提取对应网站所传播的每一网站资源各自的资源地址,基于各资源地址生成唯一表征对应网站的网站指纹。以待识别网站为例,在生成该待识别网站的网站指纹的过程中,服务器分别删除该待识别网站的每一资源地址中,表征该待识别网站的网站域名的字符串,获得每一资源地址各自的资源标识;该资源标识包括一个标识串或通过分隔符连接的多个标识串。然后,服务器针对每一标识串,按照标识串在所属资源标识中的位置,确定标识串对应的资源目录,对每一资源目录分别进行编码处理,获得每一资源目录各自对应的编码序列。接着,服务器基于各编码序列,生成唯一表征待识别网站的网站指纹。获得恶意网站和待识别网站各自的网站指纹后,服务器对恶意网站和待识别网站各自的网站指纹进行相似度计算,在指纹相似度满足相似条件的情况下,确定恶意网站和待识别网站为相似网站,进而确定待识别网站也为恶意网站,完成恶意网站的识别。
在一个可能的实现中,该网站指纹生成和相似网站识别方法可以应用于网站推送场景。在该应用场景下,服务器可以获取用户感兴趣网站和候选网站各自的网站主页地址和网站资源传播记录。从网站资源传播记录中提取对应网站所传播的每一网站资源各自的资源地址,基于各资源地址生成唯一表征对应网站的网站指纹。以候选网站为例,在生成该候选网站的网站指纹的过程中,服务器分别删除该候选网站的每一资源地址中,表征该候选网站的网站主页地址的字符串,获得每一资源地址各自的资源标识;该资源标识包括一个标识串或通过分隔符连接的多个标识串。然后,服务器针对每一标识串,按照标识串在所属资源标识中的位置,确定标识串对应的资源目录,对每一资源目录分别进行编码处理,获得每一资源目录各自对应的编码序列。接着,服务器基于各编码序列,生成唯一表征候选网站的网站指纹。获得用户感兴趣网站和候选网站各自的网站指纹后,服务器对用户感兴趣网站和候选网站各自的网站指纹进行相似度计算,在指纹相似度满足相似条件的情况下,确定用户感兴趣网站和候选网站为相似网站,进而将该候选网站推送给用户。
下面对本申请所涉及的网站指纹生成方法和相似网站识别方法进行详细介绍。
在一个具体的实施例中,如图14所示,对网站A和网站B的相似度识别的过程包括网站指纹生成和指纹相似度计算两个阶段,其中网站指纹生成阶段包括网站目录结构获取和网站指纹生成两个子阶段。如图14所示,网站A的域名为“xxx.com”、网站B的域名为“yyy.com”。下面以网站A的网站指纹生成过程为例,对网站指纹生成过程进行介绍。
具体地,服务器获取网站A的网站域名、以及该网站A的资源传播记录,进而从该资源传播记录中获取网站A所传播的每一网站资源各自的资源地址和传播次数。如图3所示,该资源传播记录可以是URL记录。然后,服务器对各网站地址进行数据清洗,具体包括:将所有URL的“http://xxx.com”或者“https://xxx.com”删除,将URL中出现的数字串使用统一字符“num”代替,得到如图4所示的各资源地址各自对应的资源标识;如图5所示,基于设定分隔符“/”、“=”、“?”和“&”对图4中的资源标识进行切分,得到的各资源标识各自对应的标识串。
接着,服务器对清洗完毕的URL数据按先后顺序获得目录分级,为了保留目录结构的前后关系,将上级目录跟本级目录连接到一起作为本级目录,如1级目录的字符串为“1topic”,2级目录同时包含了1级目录和2级目录,字符串为“1topic_2num.html”,其中“_”为预设字符。3级目录为2级目录和3级目录的组合,依次类推。则图4中,各资源标识中每一标识串各自对应的资源目录如图8所示。将数字串替换成统一字符,一方面可以在确保资源标识的准确性的同时,将同一目标网站中内容相似网站资源视为一个网站资源进行处理,有利于节省计算资源、提高效率;另一方面也可以避免将数字串识别为层级标识,造成后续处理过程的混乱。然后,服务器针对每一资源目录,对该资源目录的关联网站资源的传播次数进行统计汇总,如图9所示,得到各资源目录各自的传播总数,并将传播总数确定为对应资源目录的权重。经过上述处理,即可得到网站A的网站目录结构,如图7所示。
获得网站目录结构后,服务器根据各资源目录各自的权重,筛选权重前100的资源目录。利用如图6所示的哈希函数,将筛选出的各资源目录分别映射成64位的二进制序列,得到各资源目录各自的编码序列,如表1所示。
表1:资源目录经哈希函数处理后得到的编码序列
接着,服务器将每个编码序列分别与对应的权重相乘,当二进制序列对应位置为1时,乘以权重,当二进制序列对应位置为0时,乘以负的权重,最终得到每个资源目录的实数序列。也即,编码元素1的权重系数为1,编码元素0的权重系数为-1。如表2所示,为各资源目录各自对应的实数序列。将各实数序列中相同位置的元素分别相加,即可得到网站A的实数序列,该实数序列即为网站A的统计序列。以资源目录的数量为3个的情况为例,若各资源目录各自对应的实数序列中,第一个元素分别为“-11”、“12”、“5”,则通过对上述元素求和,即可得到各资源目录对应的网站的实数序列的第一个元素为“6”。
表2:各资源目录各自对应的实数序列
将网站A的统计序列转换为二进制序列,即可得到网站A的网站指纹。例如,当某实数值大于1时置为1否则置为0,如表3所示,最终得到的网站指纹为0000110010100000000101001111011001011101111000110010101011011000。
表3:目标网站xxx.com的统计序列转换为二进制序列的过程
/>
服务器分别生成网站A和网站B各自的网站指纹之后,计算两个网站指纹之间的海明距离,并在该海明距离大于N的情况下,确定网站A与网站B不相似,为相异网站,否则,确定二者相似,为相似网站。其中,N可以是3或4等。在信息编码中,两个序列对应位上编码不同的位数称为码距,又称海明距离。也就是说,对两个序列进行异或(xor)运算,并计算出异或运算结果中1的个数,即为海明距离。如图13所示,网站A和网站B各自的网站指纹的异或运算结果中,1的个数为1,则两个网站的海明距离等于1,为相似网站。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的网站指纹生成方法的网站指纹生成装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个网站指纹生成装置实施例中的具体限定可以参见上文中对于网站指纹生成方法的限定,在此不再赘述。
在一个实施例中,如图15所示,提供了一种网站指纹生成装置1500,包括:资源地址获取模块1501、资源标识确定模块1502、资源目录确定模块1503、编码模块1504和指纹生成模块1505,其中:
资源地址获取模块1501,用于获取目标网站的网站标识、以及该目标网站所传播的每一网站资源各自的资源地址;
资源标识确定模块1502,用于基于网站标识,对每一资源地址分别进行资源标识提取,获得每一资源地址各自的资源标识;资源标识包括一个标识串或通过分隔符连接的多个标识串;
资源目录确定模块1503,用于针对每一标识串,按照该标识串在所属资源标识中的位置,对该标识串进行目录转换处理,确定该标识串对应的资源目录;
编码模块1504,用于对每一资源目录分别进行序列编码处理,获得每一资源目录各自对应的编码序列;
指纹生成模块1505,用于基于各编码序列,生成唯一表征目标网站的网站指纹。
在一个实施例中,资源标识确定模块1502具体用于:分确定各资源地址中表征网站标识的共性字符串;基于共性字符串,对每一资源地址分别进行资源标识提取,得到每一资源地址各自的原始资源标识;对原始资源标识中资源标识能力满足能力条件的设定类型字符串进行统一化处理,获得每一资源地址各自的资源标识。
在一个实施例中,网站指纹生成装置1500还包括资源标识切分模块,用于:获取设定的分隔符,将资源标识中所包含的每一字符分别与该分隔符进行字符比对;在资源标识所包含的各字符中包括分隔符的情况下,以分隔符所在位置为切分位置,将该资源标识切分成多个标识串。
在一些实施例中,资源目录确定模块1503还包括:层级标识确定单元,用于按照标识串在所属资源标识中的位置,确定标识串在所属资源标识中的层级标识;拼接单元,用于基于层级标识和标识串的拼接结果,确定标识串对应的资源目录。
在一个实施例中,网站指纹生成装置1500还包括:关联标识串确定模块,用于从标识串的所属资源标识中,确定与标识串的层级间隔满足间隔条件的关联标识串。在该实施例的情形下,拼接单元包括:一次拼接组件,用于拼接标识串、以及该标识串的层级标识,得到该标识串的初始目录;二次拼接组件,用于对标识串的初始目录与关联标识串进行二次拼接处理,得到该标识串对应的资源目录。
在一个实施例中,层级标识确定单元,还用于确定关联标识串的层级标识;一次拼接组件,还用于拼接关联标识串、以及该关联标识串的层级标识,得到该关联标识串的初始目录。在该实施例的情形下,二次拼接组件,具体用于对标识串和关联标识串各自的初始目录进行二次拼接处理,得到该标识串对应的资源目录。
在一个实施例中,指纹生成模块1505包括:权重确定单元,用于确定各编码序列各自的权重;统计单元,用于基于各编码序列各自的权重,对各编码序列所包含的各编码元素进行元素统计,获得统计序列;指纹生成单元,用于对统计序列进行元素转换处理,生成唯一表征目标网站的网站指纹。
在一个实施例中,权重确定单元具体用于:针对每一编码序列,从各网站资源中确定可编码得到该编码序列的关联网站资源;基于关联网站资源通过目标网站的传播次数,确定编码序列的权重。其中,权重与传播次数正相关。
在一个实施例中,统计单元具体用于:按照各编码序列所包含的编码元素类型,确定每一编码元素类型各自的权重系数;基于各编码序列各自的权重、以及各编码元素类型各自的权重系数,对各编码序列所包含的各编码元素进行元素统计,获得统计序列。
在一个实施例中,指纹生成单元具体用于:获取与预设的网站指纹类型匹配的元素转换条件;基于元素转换条件对统计序列进行元素转换处理,生成唯一表征目标网站的网站指纹。
上述网站指纹生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的相似指纹识别方法的相似指纹识别装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个相似指纹识别装置实施例中的具体限定可以参见上文中对于网站指纹生成方法的限定,在此不再赘述。
在一个实施例中,如图16所示,提供了一种相似网站识别装置1600,包括:网站指纹获取模块1601、相似度确定模块1602和相似网站识别模块1603,其中:
网站指纹获取模块1601,用于获取第一网站的第一网站指纹、以及第二网站的第二网站指纹;第一网站指纹和第二网站指纹基于上述的网站指纹生成方法生成;
相似度确定模块1602,用于确定第一网站指纹和第二网站指纹的指纹相似度;
相似网站识别模块1603,用于在指纹相似度满足相似条件的情况下,确定第一网站和第二网站为相似网站。
上述相似网站识别装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器或终端,其内部结构图可以如图17所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储上述方法所涉及的数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种网站指纹生成方法或相似网站识别方法。
本领域技术人员可以理解,图17中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述的网站指纹生成方法。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述的相似指纹识别方法。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的网站指纹生成方法。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的相似网站识别方法。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的网站指纹生成方法。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的相似网站识别方法。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。并且,对象可以选择不进行对象信息和相关数据的授权,也可以拒绝或可以便捷拒绝推送信息等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (16)
1.一种网站指纹生成方法,其特征在于,所述方法包括:
获取目标网站的网站标识、以及所述目标网站所传播的每一网站资源各自的资源地址;
基于所述网站标识,对每一所述资源地址分别进行资源标识提取,获得每一所述资源地址各自的资源标识;所述资源标识包括一个标识串或通过分隔符连接的多个标识串;
针对每一所述标识串,按照所述标识串在所属资源标识中的位置,对所述标识串进行目录转换处理,确定所述标识串对应的资源目录;
对每一所述资源目录分别进行序列编码处理,获得每一所述资源目录各自对应的编码序列;
基于各所述编码序列,生成唯一表征所述目标网站的网站指纹。
2.根据权利要求1所述的方法,其特征在于,所述对每一所述资源地址分别进行资源标识提取,获得每一所述资源地址各自的资源标识,包括:
确定各所述资源地址中表征所述网站标识的共性字符串;
基于所述共性字符串,对每一所述资源地址分别进行资源标识提取,得到每一所述资源地址各自的原始资源标识;所述原始资源标识,包括所述资源地址中除所述共性字符串以外的其余字符串;
对所述原始资源标识中资源标识能力满足能力条件的设定类型字符串进行统一化处理,获得每一所述资源地址各自的资源标识。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取设定的分隔符,将所述资源标识中所包含的每一字符分别与所述分隔符进行字符比对;
在所述资源标识所包含的各字符中包括所述分隔符的情况下,以所述分隔符所在位置为切分位置,将所述资源标识切分成多个标识串。
4.根据权利要求1所述的方法,其特征在于,所述按照所述标识串在所属资源标识中的位置,对所述标识串进行目录转换处理,确定所述标识串对应的资源目录,包括:
按照所述标识串在所属资源标识中的位置,确定所述标识串在所属资源标识中的层级标识;
基于所述层级标识和所述标识串的拼接结果,确定所述标识串对应的资源目录。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
从所述标识串的所属资源标识中,确定与所述标识串的层级间隔满足间隔条件的关联标识串;
所述基于所述层级标识和所述标识串的拼接结果,确定所述标识串对应的资源目录,包括:
拼接所述标识串、以及所述标识串的层级标识,得到所述标识串的初始目录;
对所述标识串的初始目录与所述关联标识串进行二次拼接处理,得到所述标识串对应的资源目录。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
确定所述关联标识串的层级标识;
拼接所述关联标识串、以及所述关联标识串的层级标识,得到所述关联标识串的初始目录;
所述对所述标识串的初始目录与所述关联标识串进行二次拼接处理,得到所述标识串对应的资源目录,包括:
对所述标识串和所述关联标识串各自的初始目录进行二次拼接处理,得到所述标识串对应的资源目录。
7.根据权利要求1至6中任意一项所述的方法,其特征在于,所述基于各所述编码序列,生成唯一表征所述目标网站的网站指纹,包括:
确定各所述编码序列各自的权重;
基于各所述编码序列各自的权重,对各所述编码序列所包含的各编码元素进行元素统计,获得统计序列;
对所述统计序列进行元素转换处理,生成唯一表征所述目标网站的网站指纹。
8.根据权利要求7所述的方法,其特征在于,所述获取各所述编码序列各自的权重,包括:
针对每一所述编码序列,从各所述网站资源中确定可编码得到所述编码序列的关联网站资源;
基于所述关联网站资源通过所述目标网站的传播次数,确定所述编码序列的权重;所述权重与所述传播次数正相关。
9.根据权利要求7所述的方法,其特征在于,所述基于各所述编码序列各自的权重,对各所述编码序列所包含的各编码元素进行元素统计,获得统计序列,包括:
按照各所述编码序列所包含的编码元素类型,确定每一所述编码元素类型各自的权重系数;
基于各所述编码序列各自的权重、以及各所述编码元素类型各自的权重系数,对各所述编码序列所包含的各编码元素进行元素统计,获得统计序列。
10.根据权利要求7所述的方法,其特征在于,所述对所述统计序列进行元素转换处理,生成唯一表征所述目标网站的网站指纹,包括:
获取与预设的网站指纹类型匹配的元素转换条件;
基于所述元素转换条件对所述统计序列进行元素转换处理,生成唯一表征所述目标网站的网站指纹。
11.一种相似网站识别方法,其特征在于,所述方法包括:
获取第一网站的第一网站指纹、以及第二网站的第二网站指纹;所述第一网站指纹和所述第二网站指纹基于如权利要求1至10中任意一项所述的网站指纹生成方法生成;
确定所述第一网站指纹和所述第二网站指纹的指纹相似度;
在所述指纹相似度满足相似条件的情况下,确定所述第一网站和所述第二网站为相似网站。
12.一种网站指纹生成装置,其特征在于,所述装置包括:
资源地址获取模块,用于获取目标网站的网站标识、以及所述目标网站所传播的每一网站资源各自的资源地址;
资源标识确定模块,用于基于所述网站标识,对每一所述资源地址分别进行资源标识提取,获得每一所述资源地址各自的资源标识;所述资源标识包括一个标识串或通过分隔符连接的多个标识串;
资源目录确定模块,用于针对每一所述标识串,按照所述标识串在所属资源标识中的位置,对所述标识串进行目录转换处理,确定所述标识串对应的资源目录;
编码模块,用于对每一所述资源目录分别进行序列编码处理,获得每一所述资源目录各自对应的编码序列;
指纹生成模块,用于基于各所述编码序列,生成唯一表征所述目标网站的网站指纹。
13.一种相似网站识别装置,其特征在于,所述装置包括:
网站指纹获取模块,用于获取第一网站的第一网站指纹、以及第二网站的第二网站指纹;所述第一网站指纹和所述第二网站指纹基于如权利要求1至10中任意一项所述的网站指纹生成方法生成;
相似度确定模块,用于计算所述第一网站指纹和所述第二网站指纹的指纹相似度;
相似网站识别模块,用于在所述指纹相似度满足相似条件的情况下,确定所述第一网站和所述第二网站为相似网站。
14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11中任意一项所述的方法的步骤。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任意一项所述的方法的步骤。
16.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任意一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310539577.9A CN116975488A (zh) | 2023-05-12 | 2023-05-12 | 网站指纹生成方法、相似网站识别方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310539577.9A CN116975488A (zh) | 2023-05-12 | 2023-05-12 | 网站指纹生成方法、相似网站识别方法、装置和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116975488A true CN116975488A (zh) | 2023-10-31 |
Family
ID=88475657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310539577.9A Pending CN116975488A (zh) | 2023-05-12 | 2023-05-12 | 网站指纹生成方法、相似网站识别方法、装置和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116975488A (zh) |
-
2023
- 2023-05-12 CN CN202310539577.9A patent/CN116975488A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8145682B2 (en) | Differentially private data release | |
JP6734946B2 (ja) | 情報を生成するための方法及び装置 | |
CN105095435A (zh) | 一种图像高维特征的相似比较方法及装置 | |
CN103546446B (zh) | 一种钓鱼网站的检测方法、装置和终端 | |
Poisel et al. | A comprehensive literature review of file carving | |
CN108900554B (zh) | Http协议资产检测方法、系统、设备及计算机介质 | |
JP6457123B2 (ja) | 探索処理方法およびデバイス | |
Zhang et al. | A retrieval algorithm of encrypted speech based on short-term cross-correlation and perceptual hashing | |
CN111782595A (zh) | 海量文件管理方法、装置、计算机设备和可读存储介质 | |
CN111224923A (zh) | 一种仿冒网站的检测方法、装置及系统 | |
CN114372267B (zh) | 一种基于静态域的恶意网页识别检测方法、计算机及存储介质 | |
CN113992625B (zh) | 域名源站探测方法、系统、计算机及可读存储介质 | |
CN114154043A (zh) | 网站指纹的计算方法、系统、存储介质和终端 | |
CN111506761B (zh) | 一种相似图片查询方法、装置、系统及存储介质 | |
CN114282119B (zh) | 一种基于异构信息网络的科技信息资源检索方法及系统 | |
CN114065269B (zh) | 无绑定型非同质化代币的生成方法和解析方法和存储介质 | |
CN116975488A (zh) | 网站指纹生成方法、相似网站识别方法、装置和设备 | |
CN112733523B (zh) | 文档发送方法、装置、设备及存储介质 | |
Ge et al. | A novel file carving algorithm for docker container logs recorded by json-file logging driver | |
CN115129976A (zh) | 一种资源召回方法、装置、设备及存储介质 | |
Cha | An effective and efficient indexing scheme for audio fingerprinting | |
CN115883111A (zh) | 一种钓鱼网站识别方法、装置、电子设备及存储介质 | |
CN108874941B (zh) | 基于卷积特征和多重哈希映射的大数据url去重方法 | |
JP5464082B2 (ja) | 文書処理装置、文書処理方法、文書処理プログラム、及び文書処理プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
CN105589871B (zh) | 资讯处理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |