在过去两年中,.nz 注册服务团队一直在构建一个源地址分类器,该分类器可以以一定的概率判断在 .nz 观察到的源地址是否代表 DNS 解析器。这一任务具有开创性,经历了多次探索和改进。核心工作已在之前的文章《源地址分类 – 特征工程》和《源地址分类 – 聚类》中介绍。本文将总结最终结果,并分享分类器的输出,供其他 DNS 运营商和感兴趣的相关方审查。
去除 DNS 流量中的噪声
DNS 流量是嘈杂的,其中包含监控主机和未知来源的自发源。我们检测解析器的初衷是为了从用于计算 .nz 开发的域名流行度排名的 DNS 流量中去除噪声,我们只考虑代表用户在互联网上活动的查询。利用我们的 DNS 专业知识,我们能够识别并去除一些可能的噪声,为机器学习模型准备一个更干净、更小的数据集。我们分析了 2017 年 8 月 28 日至 9 月 24 日之间的四周 DNS 流量数据。在此期间,有 200 万个独特的源地址,其中:27.8% 只查询了一个域名,45.5% 只查询了一种查询类型,25% 只查询了七个 .nz 域名服务器中的其中一个,65.8% 每天发送的查询不超过 10 个。我们假设这些源地址要么不像典型的解析器那样行为,要么为 .nz 生成非常少的流量,使其具有代表性。通过去除这些源地址,我们将地址数量减少到 55 万。在这 55 万个源地址中,有些只在短时间内或几天内活跃。我们假设不活跃的源地址不代表 .nz 的主要群体,或者不是稳定的 IP 地址。我们提取了最活跃的源地址,这些源地址在一周中的五天可见,并且至少占总小时的 75%(根据图 1 选择的阈值)。这给我们带来了 8.2 万个。我们假设这 8.2 万个源地址可以分为两类:解析器和监控主机。
利用机器学习进行分类
为了使用机器学习,我们需要一个特征集和一些训练数据来构建一个监督分类器,该分类器可以预测源地址是解析器的概率。我们探索了一些已知的解析器和监控器,它们表现出不同的行为,没有基于单个特征的明显分界(见图 2)。关键是找到可以帮助区分这两种类型的特征组合。我们反复测试了聚类结果,以找到最佳的分类器。
总结
通过机器学习技术,.nz 注册服务团队成功构建了一个源地址分类器,该分类器能够有效地识别 DNS 解析器,从而提高了 DNS 流量的分析精度。这一技术的应用对于运维和网络工程师来说具有重要的实际意义,可以帮助他们更准确地监控和分析 DNS 流量,优化网络性能,并提高网络安全。
原文: APNIC Blog(2018-11-21)|编译自 APNIC Blog,事实以原文为准。
来源:APNIC Blog