EXPOSURE: Finding Malicious Domains Using Passive DNS Analysis
背景知识与启发
- 典型 Internet 攻击
- 攻击者和企业一样面临同样的工程技术挑战
- 实现可靠和灵活的服务器基础架构
- DNS 的优势
- 变换 IP
- 隐藏关键服务器
- 灵活地迁移服务器
- 服务器比 IP 更“容错”
论文目标与贡献
EXPOSURE 概述
- 五个主要部分
- 数据收集
- 特征提取
- 恶意和良性域名收集(有标签数据)
- 学习模块
- 分类
收集训练数据
- 来自(Security Information Exchange,SIE)的 DNS 流量
- 来自北美和欧洲的权威名称服务器的响应数据
- 2.5个月
- 超过1000亿 DNS 查询(平均每分钟100万次查询)
- 480万个不同的域名
- 过滤
- Alexa 排名前1000(减少20%)
- 超过1年的域名(减少50%以上)
- 恶意域名
- 3500个域名
- 类型
- 僵尸网络 C&C
- 驱动下载网站
- 网络钓鱼/诈骗页面
- 示例
- 良性的域名
特征
- F1: 基于时间的特征
- F2: 基于 DNS 应答的特征
- 不同 IP 地址的数量
- 不同的 IP 地址所在国家的数量
- 共享域名的数量
- 反向 DNS 查询结果
- F3: 基于 TTL 的特征
- TTL 的平均数
- TTL 标准差
- 不同 TTL 值的数量
- TTL 的变化次数
- 使用特定的 TTL 范围的百分比
- F4: 基于域名的特征
- 数字字符的百分比
- 最长有意义子串(longest meaningful substring,LMS)长度的百分比
基于时间的特征
- 启发
- 分析方法
- 全局范围
- 存活时间短
- DGA(域生成算法,domain generation algorithm)生成域名
- 改变行为
- 本地范围
- 主要思路
- 每日相似程度
- 模式重复
- 变化点检测(change point detection,CPD)
- 变化数量
- 检测到的变化的持续时间的标准差
- 访问比例
变化点检测(Change Point Detection, CPD)
- 运作于时间序列之上
- 目标是找到那些数据值突然改变的点
- 检测突变
- 对每个域名的时间序列
- P(t),在小时 t 时的请求数量,并由最大值做标准化
- 迭代时间间隔 t=3600s
- P−(t), 过去 8 个时间间隔的平均数
- P+(t), 未来 8 个时间间隔的平均数
- d(t)=∣P+(t)−P−(t)∣
- 对 d(t) 做累加求和
- 对于检测时间 t, 当 d(t) 够大并且是 local_max
- CUSUM(t)=Max{0,CUSUM(t−1)+d(t)−local_max}
- 如果 CUSUM(t)>cusum_max,就把 t 作为监测点报告
检测每日近似行为
- 计算所有时间序列对的距离
- 通过平均值和标准差对时间序列做标准化
- 计算欧几里得距离
- dij,第i天和第j天之间的欧几里得距离
- D,dij所有只的平均数
基于 DNS 应答的特征
- 域名映射到多个 IP 地址,IP 地址被不同的域名共享
- 不同 IP 地址的数量
- 不同的 IP 地址所在国家的数量
- 共用 IP 的域名数量
- 反向 DNS 查询结果
- 通过在Google前3名搜索结果中,反向查询 DNS,以此来减少误报
基于 TTL 的特征
- TTL(Time To Live,生存时间):DNS响应缓存的时长
- 启发
- 恶意网络复杂的基础设施会频繁更改 TTL
- 设置的 TTL 值较低的主机不太可靠
- TTL 平均值
- 高效的系统
- TTL 值低
- 轮询调度 DNS
- 例如:CDN,Fast Flux 僵尸网络
- TTL 标准差
- 受感染的家庭计算机(动态 IP)分配的 TTL 要比受感染的服务器(静态 IP)短
- 不同的TTL值的数量
- TTL 变化次数
- 特定的 TTL 区间的使用占比
- 考虑一下范围:[0,1),[1,10),[10,100),[100,300),[300,900),[900,inf)
- 恶意域名的区间在 [0,100)
基于域名的特征
- 启发
- 易于记忆的名字
- 对攻击者而言不重要(如,通过 DGA 生成)
- 数字字符与名字长度的比例
- 最长有意义子串(longest meaningful substring,LMS)的长度与域名长度的比例
- 仅在二级域名(second-level domains,SLD)上使用特征
x.y.server.com
→ server.com
- 其他可能的功能:域名的熵
训练
分类器
C4.5 决策树算法
- 检查基本情况
- 对于每个特征
- 以最高增益分割属性
- 递归
- 标准化的信息增益 = 类的熵值差异
评价
- 评估检测率
malwareurls.com
提供了569个域名
- 5个域名查询次数少于20
- 211个域名检测到恶意行为
- 检测率:98%
- 评估误报率
- 过滤两个半月内查询次数少于20的域名(剩余300,000个域名)
- 17,686被检测为恶意(5.9%)
- 域名无标记
- 验证
- Google搜索
- 众所周知的垃圾邮件列表
- 诺顿安全网站
- McAfee Site Advisor
- 误报率:7.9%
局限 (逃避检测)
- 攻击者事先知道关于 EXPOSURE 的信息
- 在所有受感染的宿主上设置统一的 TTL 值
- 减少恶意域名的 DNS 查询次数
- 执行起来并非易事
- 攻击效果受影响
- 要协调到高度一致
参考资料
- EXPOSURE: Finding Malicious Domains Using Passive DNS Analysis (2011)
- CS 259D Lecture 3