找回密码
 会员注册
查看: 13|回复: 0

基于跨站跳转和文本数据异构图的GCN模型实现恶意网站识别

[复制链接]

4

主题

0

回帖

13

积分

新手上路

积分
13
发表于 2024-9-30 21:43:37 | 显示全部楼层 |阅读模式
技术干货哪里找?点击上方蓝字关注我们!一、方案背景随着互联网技术的不断发展,各式各样的站点和网页也随之越来越丰富,而整个互联网产业的繁荣也为黑灰产带来了可乘之机,通过在网页上使用各种恶意手段亦或是传播有害信息(例如黄赌毒)来攫取利益,为了对抗互联网之上这种恶意网页传播行为,多种恶意网页识别方法也应运而生。【1、2、3】近来,伴随着移动互联的兴起和繁荣,5G的逐步覆盖以及普及,恶意网页的传播也呈现出一些新的特点,例如随着移动端设备的持续增长,专门针对移动设备的恶意网页也随之增加,而且其危害行为不同于PC端的表现,针对这些现象,也有学者提出了针对移动端恶意网页的识别方法【1】。另外,也有一些新的现象值得注意。根据奇虎360公司的报告,部分恶意网页的生命周期在持续缩短,以钓鱼网站为例,奇虎公司的统计数据显示,其生存周期已经从平均几十小时左右下降到几小时左右,黑灰产与各大互联网厂商之间对抗的趋势愈加明显,恶意网页生命周期的缩短也对恶意网页识别的时效性提出了新的严峻挑战,并且推动了在线恶意网页识别技术的发展。值得一提的是,也有一些公开的项目来汇集恶意网页,通过社区的力量来对抗攻击、钓鱼等恶意行为,例如,https://phishtank.org/。综上所述,恶意网页即通过传播恶意信息或通过钓鱼、社工等恶意手段来攫取利益的有害网页,而恶意网页识别即通过专家规则、人工特征、机器学习或人工智能等技术手段来识别互联网上的恶意网页,保护互联网用户的浏览安全。具体到公司的业务来说,每天在头条等客户端内都存在着巨大的流量,这些流量也会被恶意网页所利用,用来传播违禁信息从而攫取利益,为了有效地识别这些恶意网站或者网页,有必要提出针对性的方法进行分析,从而挖掘出这些时常更换域名地址的恶意站点,保护用户的信息安全,提升APP的使用体验。二、技术方法在实际和恶意网页的对抗过程中,我们发现恶意网站或者恶意网页经常有一些特点的行为,例如经常跳转来隐藏真实的恶意域名,引导用户下载恶意app,恶意唤起应用等等,针对恶意网站或者网页如上的行为和网页内在的信息等特征,我们尝试了基于端内的流量将不同的域名根据其行为特征进行关联,再叠加网页自身的特征构建异构图,从而在异构图上进行恶意网页挖掘的方法,在实践中取得了较好的效果。具体而言,可以根据url加载顺序来作为url对应域名之间的边,而url对应域名则为该图的节点,而根据同一个域名按照节点类型的不同可分为多种,例如下载节点、拉端节点、REDIRECT节点等等。在数据的预处理中,有两种处理的方式,一是将同一域名的不同类型节点作为独立的节点来构建异构图,另外一种是只将域名作为节点,而节点对应的类型作为节点的特征放入图模型中训练来使用,从降低内存开销和提升计算效率的角度考虑,我们在实验中采用的后一种处理方式。其次,在数据分析中我们发现,恶意网站或者网页一般有团伙的性质,不同的domain之间存在关联关系,而且这些恶意网页间有大量的相似文本、相似的信息传播方式,例如赌博、色情信息等等。而文本信息是能够直观为恶意网页定性,基于这样的考虑,我们希望能够将不同网站或者网页之间文本的关系通过图结构来表达,所以采用了业界目前SOA的Text-Gcn模型【4】,并且与上述域名跳转的图结构进行融合。下图展示了如何从文本信息到图结构其中边的权重(包括document-word,word-word边,相同word或者相同document之间的权重是1)的计算方式如下述公式:有了上述节点、带权重的边和特征数据之后,就可以在此异构图之上构建gcn模型,其中训练集即有标签的域名节点,模型训练好之后再去预测未知标签的域名节点。三、模型和实验基于图的恶意网站识别模型经过了三个版本的迭代:基于跨站跳转数据的图结构+GCN;基于文本异构图的Text-GCN模型;基于跨站跳转数据和文本数据融合的异构图+Cluster-Text-GCN模型;其中基于跨站跳转数据和文本数据融合的异构图+Cluster-Text-GCN模型效果最好,模型的F1值在0.95以上,也具有较好的可解释性,可以比较实锤地打击恶意网站,其中一个恶意站点团伙如下图所示。然而在落地的过程中,还是碰到了很多的问题,其中最麻烦的莫过于异构图的构建资源开销过大,在现有dorado平台上python任务的32G内存限制条件下,经常出现OOM,为了能够实现工程化落地,在实践中我们做了很多的优化工作来降低内存和计算资源开销,来保证异构图的构建、GCN模型的训练与预测在dorado平台上能够稳定运行,具体包括:1、降低域名节点的数量,尽可能将不同的域名类型用特征去表达。2、在矩阵相关计算中,采用稀疏矩阵;在data frame相关的数据中,使用Sparse DataFrame;3、在计算text-gcn中边的权重时,covariance matrix只保留对角线一侧的值,降低一半的资源开销;4、计算tf-idf时,提高词频的阈值,舍弃低频词,扩展停用词集合,降低vocabulary的大小,一般在实验中,vocabulary只保留10000左右的常用词,同时使用float32类型来代替float64类型;5、优化text-gcn中边的取舍方式,舍弃权重过低的词和词之间的边,根据经验和实际数据表现,阈值设置在0.03~0.08左右;6、使用cluster-gcn模型【5】来代替原始的gcn模型,一般而言,通过cluster-gcn,可以只使用原始异构图的60%~70%左右的边的数据来进行模型的训练,大幅降低内存和计算的开销,同时模型的训练精度只有非常少的下降。7、重写Networkx包中的Graph类,只保留和计算过程相关的数据和方法,使用占用内存较少的数据结构来降低内存开销。通过上述等优化方法,基本可以实现百万级节点和亿级别边的异构图在32GMemory以内完成GCN模型的训练和预测。模型上线后效果:针对全量数据,目前基于跨站跳转异构图的GCN模型识别黑域名或站点的数量约300万,日均增量数据约为10万左右。四、未来工作基于目前的现状看来,未来关于模型本身的工作主要包含三个方向,一是我们希望进一步丰富融合异构图中的特征数据部分,从而提升模型的表达能力,识别更多类型的恶意网站,不局限与色情、赌博网站等等;二是希望构建更大的图结构,从而在更广的时间和区间范围内识别恶意站点;三是模型本身的优化,利用异构图中更多的信息,例如二阶信息等等。而在模型的应用中,我们希望基于异构图的模型能够应用到更多的识别场景,例如异常JS序列,网站挂马分析等等;另外也会根据业务的需要基于异构图模型挖掘出的黑灰产团伙来帮助线下对黑灰产的溯源打击。参考文献1、Detecting Mobile Malicious Webpages in Real Time2、Malicious URL Detection using Machine Learning: A Survey3、恶意网页识别研究综述4、Graph Convolutional Networks for Text Classification5、Cluster-GCN: An Efficient Algorithm for Training Deep and Large Graph Convolutional Networks 火山引擎 APMPlus 是火山引擎应用开发套件 MARS 下的性能监控产品。我们通过先进的数据采集与监控技术,为企业提供全链路的应用性能监控服务,助力企业提升异常问题排查与解决的效率。目前我们面向中小企业 特别推出「APMPlus 企业助力行动」,为中小企业提供应用性能监控免费资源包。现在申请,有机会获得60天免费性能监控服务,最高可享6000万条事件量。点击阅读原文,立即申请:
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-13 22:41 , Processed in 2.682462 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表