时间:2022-01-06
比赛回顾
2021年DataCon大数据安全分析竞赛是奇安信集团、清华大学网络研究院、蚂蚁集团、Coremail论客共同主办,是国内首个以大数据安全分析为目标的大型竞赛,旨在选拔和培养积极防御型网络人才,竞赛的最大特点是强调“实战化”,模拟真实网络环境的攻防对抗场景,重点考察选手利用新技术方法解决不同场景安全问题的能力。
数十支战队报名了域名安全体系赛道,经过激烈的角逐,2021年11月4日由清华大学—叽里呱啦战队夺得桂冠。针对本届域名体系安全赛道黑产分析方向比赛的情况,来自奇安信涉网犯罪研究中心(A-TEAM)参与赛题制定与赛果评审的出题人也给出了多维度的技术解读。
一起来看看吧!
出题单位介绍
奇安信A-TEAM团队致力于Web渗透、APT攻防、对抗、前瞻性攻防工具预研等工作。从底层原理、协议层面进行严肃、有深度的技术研究,深入还原攻与防的技术本质,曾多次率先披露Windows域、Exchange、Weblogic、Exim等重大安全漏洞。
奇安信涉网犯罪研究中心致力于打击涉网新型犯罪领域的安全技术研究与产品研发,是以奇安信A-TEAM成员为核心的创新型团队,为国家及各省市公安机关提供高效专业的打击涉网犯罪情报分析服务和实战解决方案。
赛题设置与数据来源
黑产分析方向赛题的设置是源于实际互联网上存在的大量非法的涉及黑灰产业的网站。
赛题要求参赛者对给出的网站进行分类,识别出其中的涉黄、涉赌、涉诈网站,在此基础上发现这些网站潜在的关联关系,对网站进行家族聚类分析,判断出哪些黑产网站数据同一个黑产组织,最后根据给出的域名排名数据以及访问量数据对黑产组织的规模以及活跃程度进行评估。
本赛题期望考察的是参赛选手对网页进行自然语言分析处理能力以及对网站元素的理解、分析能力。
本次赛题提供的数据是源自奇安信技术研究院提供的每日新增域名以及被动域名解析(PassiveDNS)数据,数据包括三部分:
1.每日新增域名
提供的是一个域名列表,这些域名是通过Whois信息发现的每天新注册或注册信息变更的域名。
2.域名排名数据
域名排名数据包含域名以及域名对应的排名信息,域名排名信息由奇安信技术研究院根据被动域名解析(PassiveDNS)等数据通过算法计算得到的SecRank域名排名。
3.域名访问趋势数据
域名访问趋势数据包含域名、日期、总请求数、A记录请求数、CNAME记录请求数、客户端数量以及子域名数量,是由奇安信技术研究院根据被动域名解析(PassiveDNS)数据计算提供。
赛题解读
由于给出的都是真实的、公网上可以访问的黑产网站,而黑产网站大多都会因为被封锁、骗完跑路等各种原因下线,导致域名变化更新很快,如果在比赛期间网站失活关闭了怎么办?
最后经过讨论,出题组决定每天提供三到四个在我们的监测中存活时间较久的黑产家族网站,这些黑产网站相较于其它可能更加稳定不容易突然下线跑路,剩下的域名我们不考虑网站分类、是否存活随机给出,最终根据检测我们提供的三到四个的黑产家族的检出来进行判分。事实最后证明效果还是不错的,除了一个家族在比赛期间几乎全部失活关闭,其它家族都可以稳定访问。
出题组的出发点是希望让选手接触真实的互联网黑产数据,能够了解工业界在处理现实问题时候遇到的各种问题,不论是机器资源还是数据噪音。也希望各位选手开拓思路和视野,不仅仅将目光放在网站分类上,同时更加关注一些网站背后的关联关系,从而激发兴趣去探寻整个黑灰产产业。
选手解题思路
1.相似度算法聚类,人工对聚类结果进行分类。有选手设计出自己的相似度算法并在此基础上进行优化,并发现了给出数据之外的家族。
2.关键词分类,选出黑产关键词,然后根据关键词匹配结果进行分类。选取关键词方法主要有两个:一是先通过分词和词频工具分出高频关键词然后人工按类提取出部分关键词;二是先对部分网页进行人工分类,然后使用分词工具或统计词频的工具提取关键词,有的队伍还在此基础上进行迭代扩充更新关键词库。
3.关键词分类结合网页结构特征再加上机器学习模型。
4.OCR扩充文本,关键词分类和机器学习模型。在关键词分类的基础上,使用TextCNN、Fasttext等其他机器学习方法训练有监督或无监督模型,有的选手在此基础上结合了集成学习的思路,进行网站分类。
5.选手从网页中提取一些页面信息进行关联,比如电话、邮箱和客服等。
6.分析源码,并根据页面结构相似性和技术架构特征进行聚类关联,并从中提取统计id、外链、图片等作为关联信息。
7.分析部分家族的域名命名规则,并依据ip信息、网站证书、域名注册信息(电话、邮箱、地址、姓名)进行关联。
8.借助图模型,为网站构建图画像,根据提取特征的特性,对边进行关联性强弱区分。
9.部分选手借助了随机森林、k-means等聚类方法依据特征进行聚类。
10.部分选手在家族聚类过程中加入大量人工分析的工作,比如域名规则的分析、html中一些关键词的提取。
专家点评
1.大部分选手选择了关键词匹配这个方法。在数据量不是很大时,使用关键词分类的确是一个比较高效的方法,但随着数据量的增加,必然会出现很多的漏报(关键词没覆盖到)和误报(其他类的网站也有此关键词)。
2.部分选手在关键词匹配的基础上使用了图片识别和机器学习方法。机器学习可以在一定程度上弥补关键词匹配的不足。数据量上去后,图片识别所使用的渲染爬虫会消耗大量的资源,并且速度也比较慢,日识别量不高。
3.还有选手根据相似度算法或网站模板去进行网站聚类后分类。一般情况下,黑产家族是有一些共同特征的,所以这种方法对黑产家族聚类而言是一个不错的方法。
4.很多选手特征的提取非常详细,但并没有对提取的特征进行详细的分析,划分强弱关系,比如像统计id、网站证书可作为较强的关联关系,但ip信息、网页技术架构、电话等作为较弱的关联关系。
5.对信息进行分析提取特征是家族聚类所必须的,但使用过多的人工分析特征的具体值从而实现家族聚类,在海量数据的情况下则会非常困难。
黑产方向官方解题思路
“黑产网站的识别分类”
黑灰产涉及面之广,产业链影响范围之大,早已引起监管部门的注意,迫切需要进行监管和治理。黑灰产产业链大量依靠线上网站的方式实施赌博、传播淫秽色情、洗钱、诈骗、买卖个人信息等各种各样的违法犯罪活动,因此对各种网站网页的监督分类是一项必需且重要的工作。日常生产环境中,需要对涉赌,涉黄,vpn,涉毒,金融类,支付平台,账号买卖,游戏外挂,个人信息买卖,源码类,刷单,正常网站等三十多种分类。
目前网站分类整体流程采用的是分域异权关键词匹配结合机器学习的方式,经过调研对比后发现FastText的特点很符文实际应用需求。一是适合数据量大而且类别多的场景,可以一次性分类不用训练三十多个二分类器;二是训练耗时短准确率高,10-20分钟就能训练出准确率高且泛化性能好的模型。与其他监督分类器一样,大致分为数据清洗、数据标注、模型训练、迭代优化这几个步骤。目前在验证集上的准确度控制在95%左右。
具体的技术原理和应用可以参考官方网站和其他优秀的文章,这里主要总结分析在黑灰产网站分类的实际应用中遇到的问题和解决办法,技术原理就不再赘述。
1、分域异权关键词匹配
普通的关键词匹配方法中关键词的准确度和全面性是有些相互矛盾的。当关键词较少时,规则匹配准确度高,比如“肖中特”、“澳门威尼斯人”,只要命中那极大概率是涉赌的,但势必会漏掉“快三”、“开奖”等其他或强或弱的关键词;如果把各种关键词都一股脑写进规则里,覆盖面大大增加,但肯定会产生很多误报,降低了准确率。
实际应用时在普通的关键词匹配的基础上改良为分域异权关键词匹配方法,分域是经过大量的HTML源码分析发现,HTML源码title属性中的文本和正文里的文本的关键词是有一定的区别,因此针对title和正文里的文本分别设置了关键词规则;异权是给关键词划分了三六九等,不是只要命中就给结果,而是对于一些强代表性的关键词可以设定命中即判,对于一些弱代表性的关键词可以设定当命中几个弱关键词组合后才给判别结果,也就是不同的关键词有不同的权重。改良后的分域异权关键词匹配可以解决一部分普通关键词匹配的误报问题,并一定程度上扩大了覆盖面。
举个具体的例子,当在正文中匹配到“快乐博彩”会立即判为涉赌,当匹配到“斗地主”时,并不会立即判为涉赌,但一旦同时出现了“百家乐”,“斗牛”,“麻将”等关键词,那就可以给出涉赌的分类结果了;但是当一个网页的title中出现了“斗地主”,那就可以判定这是个涉赌网页了。
2、数据处理
数据的质量决定了模型的上限,所以大量的工作都在数据处理这部分。而这部分大量的工作是训练前的数据清洗,部分的数据清洗流程可以迁移到正式应用时的数据清洗。训练采用的数据量根据不同的类别差异,在划分训练集和验证集时大致按照训练集比测试集大概3:1的比例具体对待。
数据清洗:HTML源码中不仅包含了网页文本,还有网页结构信息,模板识别的方法使用的是网页的结构数据,网页分类使用的数据是HTML源码中文文本。由于HTML源码中包含了大量的英文、标点符文、转义字符和其他无意义字符,因此不论是训练还是预测之前需要将源码进行转义后过滤,只保留中文,并将繁体转换为简体。每个分类单独一个文档,每个网页的文本作为一条数据,jieba分词使用自定义用户词典分词后写入三十多个文本文件。
数据标注:有监督训练的数据需要给数据打上尽可能准确的标签,最开始的模型训练时直接采用的关键词匹配的结果当标签,训练出来的模型当然是有些不尽人意,因为它逼近的是关键词匹配的准确率。人工一条一条的给上百万千万的数据量进行数据标注非常不现实,而这些数据集又有很强的行业特征,并不能直接利用公开的一些数据集,后来为了解决标签的问题采用的是关键词匹配加人工干预。清洗后的网页源码带上关键词匹配初步分类的结果,按类别写入对应文本,然后仔细剔除每个类别中的“噪音”,部分类别的数据量从10W多精简到了1W左右。
3、训练模型和迭代优化
经过以上数据清洗步骤之后,按照下图所示的流程进行训练模型,并使用训练后的模型预测增量数据,根据预测结果不断整理数据集并重新训练。这时候FastText训练速度快的优势就体现出来了,数据集整理好后只需半个小时就能训练出新模型。
4、增量预测
每个新增的网页,爬虫拿到网页源码之后,经过上述的数据清洗,即可调用模型进行预测,输出模型预测分类,最终结合关键词匹配的分类结果给出综合分类。
5、集成分类
运行一段时间后拉取500W条数据进行对比,有479.7W条和分域异权关键词匹配的结果一致,15W条数据FastText判白,规则判黑,其中有12.87W条数据是正文中有少量的涉赌词,1.38W条数据是正文中有少量涉黄词,但其他都是些无意义的新闻、工程机械等不相干的无意义词;另外有4.3W条数据FastText判黑,规则判白,这类中情况较为特殊,有FastText正确的,有规则正确的。根据以上数据的契合度,可以说明两种方法总体上正确率还可以,为了达到更好的效果,再根据各自特点和数据特点划分出不同的分类。
以后的改进思路准备使用集成学习的思想,使用bagging或boosting,采用多种方法结合不同类别数据的特征综合判别。
6、总结
有一点可以确定的是没有一劳永逸的方法。无论是分域异权重的关键词匹配还是目前采用的FastText,都有自己的优缺点,不可能都100%正确。
每个类别所包含的关键词是多种多样的,而且还很多是有歧义的。普通关键词匹配只要命中一个或几个词就分出类别,如果只有少量有足够代表性的关键词,就会误报少漏报多,关键词设的多了就新增很多没那么有代表性的词,就会漏报少但误报随之增多,因此提出了分域异权关键词匹配,中和了准确率和全面性的矛盾。
在训练模型的数据清洗阶段,数据量的大量减少验证了上面的分析,随着数据量不断增加,数据越来越复杂,规则也愈加复杂,总会有些规则命中了不该命中的网页。使用筛选后相对干净的数据集进行训练后,实际准确率的确有了大幅提升。最后通过对比大量数据并结合不同结果的差异特征执行给出综合分类的结果。
“黑产网站的家族聚类分析”
每天都会有大量的新的黑产网站注册上线,更新速度很快,黑产网站尤其是黄赌诈这类网站都是成组织化、团伙化的,我们库里有数千万的黑产网站域名,但是从事黑产的人和公司就那么多,那么如何对这些黑产网站进行家族分析,找到背后的组织、团伙是我们日常在配合公安等有关部门工作时重要的工作内容。
从一个网站中我们可以提取很多的关联关系,将它和另一个网站关联起来,这些关系有强有弱,很多时候需要具体情况具体分析,我们总结了以下几种关联关系供参赛选手们参考(图中数据为虚假数据仅为示例,非真实数据):
下面对一些关联关系进行简单介绍:
1、SSL证书关联
2、网站统计ID关联
常见的流量统计厂商:baidu、cnzz、51la、51yes、360、google等。
3、网站客服ID关联
常见的第三方客服系统包括meiqia、livehelp、qq、comm800等,这个需要比较长时间的积累,需要“见多识广”。同时很多网站也会在网站留下TG号、qq号、邮箱等联系方式。
4、网站间的跳转关系
根据网站的跳转关系进行关联,比如访问A网站,但是跳转到了B网站,或者页内加载了一个iframe加载的C网站的内容,A网站可能只是引流用的,通过这种跳转关系可以进行关联。跳转方式包含但不限于:301跳转、302跳转、iframe加载跨域资源、metarefresh跳转、JS动态渲染跳转等。
5、其他关联
网页间还存在一些其它的关联,比如网站icon图标相同、网页模板相似、Whois注册信息、DNSA记录、DNSCNAME记录以及一些特殊的资源文件等。
6、一些非强关联关系的说明
我们基本不进行whois上的关联,我看很多选手用了whois数据,一个原因是whois现在很多隐私保护,很难出有效数据,还有就是有很多域名贩子,他卖的域名联系方式全是他一个人,就会产生很多不必要的关联。
对于网站图标icon和相似网页(模板)可以用来进行参考或者后面家族合并用来加权使用,因为大量模板站、包网服务的存在,这种关联关系并不能说是绝对的,至于相似网页检测我们暂时用的是SimHash,顺带做了点模板识别工作。同时我们也在探索更高效、准确的网页相似度算法。
对于A记录和CNAME记录的关系由于CDN技术的原因我们也只是会作为参考,并不是绝对的关联,会根据IP的属性赋予其适当的权重。
与此同时为了更加直观的展示黑产家族的关系,我们还进行了一些图的可视化探索:
写在最后
作为出题人及评审,我们团队从DataCon举办最初已经连续三年深度参与其中,见到了很多很厉害或思路清奇的选手,我们的团队也在不断地学习、成长和进步。我们也会一直秉持着开放的态度与各位参赛选手进行交流,我们随时敞开大门欢迎各位来相互进行学术、技术上的探讨和交流~
同时我们也比较缺人手,欢迎来投简历,实习、正式入职都可~
联系邮箱:chenzhuo02@qianxin.com