来源:https://archive.nanog.org/meetings/nanog40/presentations/Hyo-JeongShin-DNSAnomalyDetection.pdf,2007
0、系统架构
一、我们系统化方法的目的
•服务器场和服务器的数量不断增加
-很难弄清楚DNS出现了什么问题
-手动转储和分析- >时间消耗作业
•实时系统分析将有所帮助
-调查哪个服务器场有问题
-立即调查问题
二、整体系统:概述
一个中央检测系统和多个局部分析系统
-目前已部署了两个当地分析系统
三、整体系统:功能
3.1当地分析系统
-捕获所有进出DNS服务器群的数据包,并使用预定义的规则检查它们的内容
-将分析结果发送到中央检测系统
3.2中心检测系统
-收集所有本地分析系统的分析结果
-检测DNS异常
四、用户接口
五、DNS流量:请求/应答
•DNS数据包总数
•客户请求/应答的数量
•递归请求/应答的数量
六、DNS流量:响应率
解析请求的比率=应答包的数量/请求包的数量
七、DNS流量:主/次DNS IP的响应率
分别计算主/次DNS IP的响应率
八、DNS流量:并发用户
•计算每分钟的源IP数量
•计算每个源IP的查询数量
九、DNS流量:TCP会话
•每分钟TCP会话的数量
-只有查询,超时,空,正常
十、DNS流量:请求类型
查询类型的分布
- A, MX, PTR, CNAME,…
十一、DNS流量:回答类型
•应答(answer )类型的分布
-没有错误,服务失败,名称错误( No Error, Serv Fail, Name Error),…
十二、DNS流量:异常查询
•违反DNS头文件格式约束的数据包数量
-这些数据包是由恶意用户产生的
十三、Top-N数据:源IP
十四、Top-N数据:源IP
十五、Top-N data: Qname
十六、Top-N DNS 服务器
十七、Top-N TLD, SLD/3LD
十八、异常检测逻辑
•基于“DNS流量”的变异比率(variation ratio )
•检测公式基本思路
-使用收集到的“DNS流量”参数
-保留每个参数值的有限历史记录
-增加对近期数据的权重
-依靠阈值进行决策
•当检测到异常时
-检查“Top-N数据”页中谁或什么引起问题的细节
十九、异常指标
•DNS数据包数量的增加
•对DNS服务器场的二级IP地址的请求数量的增加
•缓存命中率降低
•单个源IP地址的平均DNS查询增加
•递归查询数量的增加
•TCP会话数量的增加
•在有限的时间段内增加源IP地址的数量
•已解析查询的比例减少
•请求类型的变化——类型A的比率下降
•应答类型的变化——类型“No Error”减少
二十、“异常检测”的一个例子
二十一、系统使用案例(1)
检测到MX查询的意外增加
- 2007年2月
-应答率只有10%或以上
•大多数客户的查询被删除
-那我们得知道
•它们是什么查询
•谁生成
•查询类型
-多个源IP地址不断生成MX查询
阻塞了从KORNET到感染系统的通信
二十二、系统使用案例(2)
在“time.nist.gov”上检测到大量查询
- 2007年3月
-所有DNS服务器场的DNS查询数量增加了一倍或两倍
-那我们得知道
•它们是什么查询
-超过60%的查询来自“nist.time.gov”
•谁生成
-它们来自一些家庭网关
调查为什么家庭网关产生了这些问题,并建议公司修补他们的