270 likes | 542 Views
DNS 的行为监测. 目标. DNS 是网络基础设施的重要组成 显式和隐式的依赖性 可用的传输通道 监测内容 网络性能影响 域名 / 域名服务器的依赖性 Fast-Flux 检测 DNS 隐藏通道. 性能影响监测. Multi-homing 环境的问题:解析结果不合理 IP 地址:没有教育网调度地址或 IP 地址状态不一致,例如优酷、 PPTV 、土豆等 根据解析结果调整路由:例如把视频网站调度 IP 地址路由指向教育网出口 使用外部 DNS 服务器 江苏省网中近 30% 的校园网没有自己的 DNS 服务器,或者用户不使用校园网服务器
E N D
目标 • DNS是网络基础设施的重要组成 • 显式和隐式的依赖性 • 可用的传输通道 • 监测内容 • 网络性能影响 • 域名/域名服务器的依赖性 • Fast-Flux检测 • DNS隐藏通道
性能影响监测 • Multi-homing环境的问题:解析结果不合理 • IP地址:没有教育网调度地址或IP地址状态不一致,例如优酷、PPTV、土豆等 • 根据解析结果调整路由:例如把视频网站调度IP地址路由指向教育网出口 • 使用外部DNS服务器 • 江苏省网中近30%的校园网没有自己的DNS服务器,或者用户不使用校园网服务器 • 教育网的公共DNS服务器 大客户DNS: 121.194.2.2 大客户DNS: 115.25.208.131(南京)
依赖性分析 • 访问关联度检测 • 统计分析网络边界观察到的DNS报文 • 热点发现 • 白名单的建立 • 资源调度的依据 • 异常发现 • 黑名单的建立
内部域名的热点检测 2010年8月数据 有效域名3873个 采用K-Mean聚类方法
Fast Flux 检测 恶意网站躲避检测的逃逸技术 恶意网站的内容存放在多个主机中 域名解析结果快速改变:TTL按分钟计 解析网站域名的DNS也可能逃逸: Double flux 基于蜜罐的检测方法 基于机器学习的检测方法 检查NS记录的TTL 检查域名相关IP地址的数量与地域分布情况
Basic fast flux hosting http://www.honeynet.org/papers/ff
A phishing attack directed against the popular social networking web site MySpace with a bogus website called login.mylspacee.com http://www.honeynet.org/papers/ff
Fast-flux检测设计使用测度 使用分类方法进行检测
检测实验结果 • 测试数据: 2012年03月02日,东南大学以及网络中心访问的外部域名: 315105个; 测试结果: 判定为fast-flux的域名数为672个。
DNS隐藏通道 • 利用DNS服务的普遍可用性构造VPN • 基于域名服务 • 要拥有一个专门的域名 (authoritative) • 控制一个DNS服务器 (提供桥接功能) • Base32编码或任意数据传输 • 低速 • 基于53端口 • Malformed
DNS报文格式 RFC 1034/1035 QR:0表示查询报文,1表示响应报文 Opcode:通常值为0(标准查询),其他值为1(反向查询)和2(服务器状态请求)。 AA:表示授权回答(authoritative answer) TC:表示可截断的(truncated) RD:表示期望递归 RA:表示可用递归 随后3bit必须为0 Rcode:返回码,通常为0(没有差错)和3(名字差错)
查询请求与响应 • 域名是记录中资源数据对应的名字。它的格式和查询名字段格式相同。 • 类型说明RR的类型码。类通常为1,指Internet数据。 • 生存时间字段是客户程序保留该资源记录的秒数。 • 资源数据长度说明资源数据的数量。该数据的格式依赖于类型字段的值。对于类型1(A记录) 资源数据是4字节的IP地址。
DNSCat • 提供一个端到端的VPS通道 • 拥有一个域名server.com的DNS服务器 • 对于something.server.com的DNS请求,something是隐藏通道的数据(最多253个字符) • Something通过对端的DNS请求传递给对方 • DNS服务器中有一个DNSCat代理,与DNSCat客户端之间运行一个私有协议。 • 不管是否有数据要发送,两个客户端定期向DNS服务器提交DNS请求 Client: Query: Type="A" Query="data_from_the_client.domain.com“ Server: Response: Query="data_from_the_client.domain.com" Response="data_from_the_client = CNAME data_from_the_server.domain.com" Response="data_from_the_server = A "some IP address" Client: Query: Type="CNAME" Query="data_from_the_client.domain.com" Server: Response: Query="data_from_the_client.domain.com" Response="data_from_the_client = CNAME data_from_the_server.domain.com"
异常的流量行为 • 假冒同一网段的地址可以缓解这种流量异常现象,从而降低DNS隐藏通道被检测到的风险。 • 交换机的IP/MAC绑定可防范这种逃逸
Heyoka 2009 • 创建2个并发通道,一个用于传输使用假冒地址的上行数据。
Heyoka • 另一个通道使用VPN端点地址发送DNS请求,其响应中将包含下行数据。 • 客户端通过私有协议进行编码协商和差错控制
PSUDP 2010 • 通过使用特定方式修改IP报头和UDP报头中的长度字段,可以在DNS报文尾部添加任意数量的二进制数据。新构造的报文既不影响DNS服务器的正常工作,也不会在网络传输过程中被当作非法报文丢弃。 • 这种方式构造的存储空间容量为UDP报文最大长度与实际长度之差。对于DNS报文而言,若使用EDNS0 extension,存储容量为1024字节与实际DNS报文长度之差。
PSUDP • DNS服务器中有一个PSUDP的代理,与PSUDP客户端之间运行一个私有协议。 • 客户端将通信内容添加到正常DNS请求报文的尾部并发送给DNS服务器。PSUDP代理将隐藏通道的数据剥离并暂存(DNS交互正常进行)。 • 当宿点发来DNS请求时,PSUDP代理将暂存的数据添加到对应的DNS响应报文中。 使用前向指针增加检测难度
Iodine • 一种通过DNS信道进行隐藏通信的VPN工具 • 在外部设立一个VPN服务器并用一个合法的域名标识 • 在VPN服务器中运行Iodined和代理 • 在内部网络的系统中运行Iodine客户端 • 客户端与服务器之间利用DNS报文格式完成身份认证和隧道建立 • 客户端基于该隧道使用Raw UDP进行正常通信并借助代理实现翻墙
DNS隐藏通道的检测测度 连接特征 报文特征
FS3特征通信特征比较 吞吐量比较 (KB) 子域名长度比较
监测结果 时间:2012年4月2号15:13到4月3日 02:38 监测点:某校园网边界
结论 • 网络态势感知的重要内容 • 知情可控:脆弱点、关键点 • 基于DPI技术 • 可服务于多种目的 • QoS • Surveillance • Censorship • 部署可能 • 校园网边界 • 主干网接入边界