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