全文共3600字,阅读时间约9分钟。
01
【研究背景】
搜索引擎优化(Search Engine Optimization,SEO)指利用一定技术手段,提高网站在主流搜索引擎返回的相关结果中的排名,使网站对目标受众更加可见。根据搜索引擎排名算法,正常的SEO方法为提供独特且相关的原创内容,然而此类方法代价昂贵,且收效缓慢。在利益驱动下,黑灰产从业者利用攻破热门网站、植入推广内容并引用页面链接等手段提升网站排名。此类非法提升排名的行为统称为”黑帽SEO“,已经成为地下产业常用的一种推广手段。
为推广非法产业内容,攻击者需要在网页中嵌入相关关键词(如“六合彩”、“肖中特”)等,使用户可以通过关键词搜索找到推广网站。然而,搜索引擎会对网页内容进行合法性审查,将带有非法关键词的网页移除。因此,攻击者会将推广内容中的关键词进行模糊处理,并期望目标客户也使用模糊关键词搜索,形成某种只有黑灰产业内人士才懂的”行话“,以绕过搜索引擎的内容审查。
举例来说,MARK SIX,即六合彩,是赌博网站中常见的术语,已被搜索引擎列入审查黑名单。若直接搜索该词,搜索引擎将仅返回正常网站;然而,M4RK SIX,即六台彩,便是前者的模糊版本,也就是赌博的”行话“。从Bing返回的搜索结果来看,利用行话搜索可以有效地避开审查,得到许多非法的赌博网站。目前,行话大致可以分为两类:一类是谐音行话,用发音相似的单词/字符代替原词(如“六和彩”替代“六合彩”);另一类是同态行话,用形状相似的单词/字符代替原词(如“六台彩”替代“六合彩”)。
图表1 黑产从业者和消费者通过行话完成推广网站及搜索网站的过程
传统的BlackHat SEO检测系统基于固定黑词列表,无法适用于“模糊行话”的检测。因此,本文开发了一个可以在现网部署的云端系统DMoS。该系统基于JNA行话标准化算法,运用了NLP人工智能模型,可对嵌入黑产行话,特别是模糊行话的网页涂改进行有效检测。
02
【研究方法】
图表2给出了DMoS的系统概述,可分为3个阶段:
-
网页获取:利用搜索引擎Dork查询,使用高级搜索运算符(例如,"site:"、"inurl:"等)查找给定域下的可疑网页;
-
网页预处理:提取网页的标记-语句对,并对混淆行话进行预处理和规范化;
-
涂改检测:采用NLP算法(HAN和BERT)检测页面的涂改情况。
图表2 DMoS系统概述
由于作者及合作伙伴主要位于中国,本文重点关注中文网站涂改的检测。网页获取阶段方法大同小异,下面将主要对后两个阶段展开阐述。
-
网页预处理
a. 提取标记-语句对
首先对网页HTML进行分析,提取标记-语句对。该步骤不仅涵盖正文内容,还将提取特定属性中的文本,例如meta标记的关键字和图像标记的alt等。如图表2所示,该标签将被提取、分解为[(‘a.title’, ‘MARK SIX’), (‘a’, ’benign content’ ) ]。
图表3 特殊HTML标签示例
b. 行话规范化
在获取网页标签之后,作者将对标签中的语句进行规范化处理,为下一阶段的NLP检测提供质量更高的数据,具体方法包括:
-
初筛:“行话“通常为正常词汇经谐音、同态变化而成。在正常人的阅读理解中,包含行话的语句并不通顺。因此,本文首先使用语言模型(LM)筛选出不通顺的、可能包含行话的语句。
-
谐音行话恢复:使用滑动窗口遍历不通顺的句子,将窗口中的汉字转换为拼音,并计算窗口中的字符和基本行话(由种子数据集生成的黑产关键词列表)之间的拼音编辑距离。如果距离低于阈值,则表示窗口中的字符和基本行话相似,用匹配的基本行话替换字符,以对模糊后的标签内容进行恢复。
-
同态行话恢复:使用四角系统(Four-Corner System)[4]感知散列算法,利用汉字形状信息计算文本内容的字形相似度,以识别同态类型的字符,同样将识别到的同态字符替换为基本行话。
-
复筛:对初筛中不通顺的语句,在使用两种方法对其进行行话恢复之后再用LM测量,如果得到通顺结果就采用,否则就放弃。
图表4 行话规范化算法的流程图
2. 检测网站涂改
隐秘涂改已广泛用于现代页面涂改中,攻击者会选择性地对网页中影响排名程度较高的HTML标签(例如,标题、元数据等)进行细微修改。此类涂改不易被察觉,亦可有效地提高推广网页排名。
因此,检测模型需要具备识别”重要标签“的能力,并避免将正常推广识别为非法推广。为此,本文引入了一种标签(Tag)嵌入方案,结合各类最先进的神经网络模型,包括分级注意网络(HAN)、BERT等,形成THAN、T-BERT等,以自动学习HTML标签的信息及其在模型中的重要性。
具体地,本文将标签tag(i)映射到可训练向量tagE(i)∈ R(d),即标签嵌入。随后将标记嵌入与加权句子向量连接,得到标记句子对(tag(i),s(i))的嵌入:TSE(i) = [tagE(i);SE(i)]。为了突出可疑程度高的标记-句子对,本文使用注意力网络,自动为可疑的涂改内容分配更多的权重。经过注意力加权后的向量将作为网页嵌入,用来检测网页是否已被涂改。
图表5 THAN模型的体系结构
03
【主要发现】
为验证DMoS的有效性,作者分别开展了离线实验和现网实验,并对实验结果进行评估。
-
离线实验
实验使用作者收集的数据集,即来自2,103个网站的14.8万个涂改网页,和来自5,121个网站的38.9万个正常网页。该数据集的训练-测试比划分为7:3。
首先验证将标签加入机器学习模型的有效性,即比较THAN与HAN的效果(THAN引入了HTML标签信息)。如图表6所示,与HAN相比,THAN的准确率和召回率分别提高了4.34%和3.03%。同样,T-BERT在引入了标签后,也可将BERT已经很高的性能提高到95.66%(精度)和98.76%(召回率)。
为证明所提出的行话规范化算法的有效性,作者又将THAN和T-BERT分别与DMoS和DMoS_v2进行了比较,后者在应用THAN/T-BERT模型进行分类之前使用JNA对行话进行了规范化。如图表6所示,使用JNA后,DMoS(JNA+THAN)的精度从THAH的91.29%提高到94.89%,可将人工验证假警报的工作量减少至少41%。同样,JNA可以将T-BERT的精度从95.66%提高到97.53%,误报率降低了43%以上。
图表6 离线实验中的分类性能
-
现网实验
为了证明系统的实用价值,作者还进行了现网实验。虽然在离线实验中T-BERT比THAN取得了更好的效果,但T-BERT模型参数数量巨大(T-BERT中有1.08亿个参数,而THAN中仅有160万个参数),且推理速度比较慢,以T-BERT为核心的DMoS_v2很难在实际部署中应用,作者最终选择了以THAN为核心的DMoS系统进行现网实验。
作者在16核CPU、100GB内存的CentOS 7机器上运行了50个DMoS实例,每个实例消耗1.2G内存。平均而言,每个网页的检测可在0.3秒内完成,即DMOS能够每天抓取和分析上千网站的数百万网页。
DMOS对7,298个网站的3853万个网页进行了检测,最终检测到来自824个网站的53万个被涂改的网页。如图表7所示,除精度外,DMOS在所有其他指标上都优于广泛使用的WAF设备(检测受损网页是主要功能之一),尤其是F1的总体指标。也就是说,DMoS对于涂改网页的检出效率远超当前的主流系统。
图表7 现网五个月实验结果
图表8 现网部署DMoS示意图
此外,作者还对DMoS系统在现网实验中检测到的网页涂改情况进行了数据分析,得出如下结论:
图表9 涂改网页中出现的行话个数分布
-
BlackHat SEO的网页涂改行为隐蔽性很强:超过60%的涂改页面只包含不超过10个涂改插入;
-
BlackHat SEO攻击者倾向于接管刚过期的、信誉度较高的域名(如政府网站)来提高自己的影响力;
-
大多数涂改都出现在深度(从主页到涂改页面的跳跃次数)为1到2的网页中。很少出现在主页(深度为0)或比2更深路径中。
图表10 网站主页到涂改页面深度分布
04
【结论】
本文围绕如何高效检测BlackHat SEO网站涂改的问题展开研究,基于NLP模型,提出了标签-语句对机制和JNA(行话规范化算法),实现了一个云端自动化检测系统DMoS,只需输入URL就可以自动检测是否有网页涂改。作者在离线数据集和现网中分别进行了测试,均取得了良好的检测效果。
值得一提的是,尽管DMoS(主要是JNA行话规范化算法)的设计侧重于中文涂改,作者通过概念验证实验(对某些想法的一个较短而不完整的实现,以证明其可行性、示范其原理)发布了一个英文涂改示例数据集,以证明该系统对英文网站涂改的适用性。
原文链接
https://www.usenix.org/conference/usenixsecurity21/presentation/yang-ronghai
参考文献
[1] Yang, Ronghai, et al. "Scalable Detection of Promotional Website Defacements in Black Hat {SEO} Campaigns." 30th USENIX Security Symposium (USENIX Security 21). 2021.
[2] DEVLIN, J., CHANG, M.-W., LEE, K., AND TOUTANOVA, K. Bert: Pretraining of deep bidirectional transformers for language understand-ing. In Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1, pp. 4171–4186.
[3] LAN, Z., CHEN, M., GOODMAN, S., GIMPEL, K., SHARMA, P., AND SORICUT, R. Albert: A lite BERT for self-supervised learning of language representations. In International Conference on Learning Representations (2019).
[4] Wikipedia contributors. "Four-Corner Method." Wikipedia, The Free Encyclopedia. Wikipedia, The Free Encyclopedia, 10 Aug. 2022. Web. 24 Oct. 2022.
编辑&审校|张一铭、刘保君
原文始发于微信公众号(NISL实验室):【论文分享】BlackHat SEO推广网站涂改的可扩展检测
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论