僵尸网络

简介

  • 由被操控的机器组成的网络
  • 据估计,互联网上有 16-25% 的机器是肉鸡
    • 僵尸网络 Rustock 拥有超过一百万的肉鸡
    • 僵尸网络风暴是世界上最大的超算之一
  • 应用于
    • 信息和身份盗窃
    • 分布式拒绝服务(DDoS)
    • 软件盗版
    • 垃圾邮件/网络钓鱼
      • 几乎 80% 的邮件是垃圾邮件
      • 例如: Grum, Cutwail, Rustock
    • 地下经济
      • 10,000 个肉鸡售价 15 美元
  • 危害影响 (参照国际电信联盟)
    • 2006年,全球经济直接损失132亿美元
    • 2005年,美国企业直接和间接损失共计622亿美元
    • 2007年全球垃圾邮件成本:全球为100亿美元,美国为350亿美元

起源

  • 互联网中继聊天(Internet Relay Chat, IRC)
    • 基于文本的聊天系统
    • 在频道中组织通讯
    • 僵尸网络被用于控制IRC聊天室中的交互
      • 理解执行简单的命令
      • 提供管理支持
      • 提供简单的游戏/服务
      • 检索信息:操作系统,登录信息,电子邮件等
    • 第一个IRC bot:Eggdrop,1993

僵尸网络的组件

  • 僵尸
    • 高传输率
    • 安全级别低
    • 远程
    • 大多数是 Windows

僵尸网络生命周期

  • 首次感染
    • 受感染的网站,电子邮件附件,可移动媒体等
  • 二次注射
    • 宿主下载并运行二进制文件,成为一个僵尸
    • FTP, HTTP, 或者 P2P
  • 召集连接
    • 与 C&C (Command and Control) 建立连接
    • 每次宿主重新启动时都会发生
  • 恶意行为
    • 宿主与 C&C 之间通信更紧密
  • 维护和升级

僵尸网络C&C拓扑结构

星型结构

  • 集中式, C&C 与所有机器人通信
  • 使用的协议:
    • IRC
      • SDBot,GTBot,Agobot 的 C&C 功能仍在使用中
      • 原作者自行发布
    • HTTP
      • 混入正常的用户流量
      • DIY 工具包
    • 即时消息(IM)协议
      • ICQ,AIM,MSN Messenger
      • 需要为每个机器人创建一个帐户
  • 优点:
    • 控制速度
  • 缺点:
    • 单点故障

多服务器结构

  • 扩展星型拓扑结构
  • C&C 服务器之间也进行通信
  • 优点:
    • 没有单点故障
    • 根据地域优化
  • 缺点:
    • 维护运营需要更多的成本

分层结构

  • 一组机器人作为 servant
    • 静态可路由的IP地址
    • 通过代理C&C个僵尸机器人下达指令
  • 变体:分层 Kademlia
    • 集群僵尸网络和孤立僵尸网络的合集
    • 集群内通信:P2P
    • 集群间通信:超级机器人
  • 优点:
    • 僵尸网络的“自我认知”: 僵尸网络无法监听所有成员,不大可能透露 C&C
    • 易于二次销售
      • 向其他运营商租借/转售部分僵尸网络
  • 缺点:
    • 命令有延迟:不适合实时行动

随机结构

  • 没有集中的 C&C
    • 僵尸网络控制者发布命令,通过任意的僵尸机器人发布、分享指令文件
    • 为避免被接管,命令由控制者签名
  • 未来:基于Skype的僵尸网络
    • 更好地混入其他 P2P 流量
  • 优点:
    • 弹性高
  • 缺点:
    • 命令有延迟
    • 僵尸网络难以枚举

召集机制

  • C&C 位置解析

IP 地址硬编码

  • 硬编码 IP 地址列表
  • 可以通过僵尸网络IP地址进行检测

动态DNS

  • 由动态 DNS 提供商分配的硬编码的 C&C 域名
  • 当旧的 C&C 服务器发生故障或被关闭时, 易于创建新的 C&C 服务器
  • Botmaster 可以随机更改位置,更加难以检测

分布式的DNS

  • 僵尸网络运行自己的DNS服务执法或其他当局的范围
  • 机器人使用 DNS 地址来解析 C&C 服务器
  • 使用高端口号以避免安全设备和网关的检测

Fluxing

  • 提高适应性能

IP Flux (Fast-Flux)

  • 持续变化的 IP 地址信息
  • Single Flux
    • 单一域名关联多个(100s-1000s) IP 地址
    • 快速注册/取消注册的IP地址
      • 循环分配
      • 短时间(TTL) DNS A 记录
  • Double Flux
    • 变换完整域名(Fully-Qualified Domain Name, FQDN)的 IP 地址
    • 用于查询 IP 地址的 DNS 服务器的 IP 地址也进行变换(NS records)

域名 Flux

  • 域通配符
    • 在DNS记录中使用通配符
      • 例如: *.domain.com
    • 用于垃圾邮件/网络钓鱼
    • 通配符信息被用于
      • 识别受害者
        • 一个独一的随机域名
        • 例如: rjhgbrwh.domain.com
      • 跟踪
      • 绕过反垃圾邮件检测
  • 域名生成算法
    • 每天创建 FQDN 动态列表
      • 加密域名
    • 生成的 FQD 由宿主进行轮询,以此查找 C&C
    • 例如:蠕虫 Conficker.C
      • 每天生成50,000个域名
      • 尝试联系500个
      • 如果操纵者每天只注册1个域名,则每天有1%的机会更新
      • 为了防止更新请求,需要每天注册50,000个新域名
    • 好处
      • 批量生成域名, 生存时间短(通常为1天)
      • 难以调查/阻止所有潜在的域名

盲代理重定向

  • 添加一个额外的弹性层
  • 代理 IP /域名查找和 C​​&C 流量

通信协议

IRC 协议

  • IRC主要用于为一对多通信,但也可以用于一对一
  • 大多数企业网络不允许IRC流量, 因此任何IRC请求都可以确定存在外部或内部僵尸机器人
    • 出站IRC请求意味着网络上已经被感染的计算机
    • 入站IRC请求意味着控制者 botmaster 招募僵尸大军

HTTP 协议

  • 由于 HTTP 普遍使用,很难跟踪使用 HTTP 协议的僵尸网络
  • 使用 HTTP 可以使得僵尸网络避开防火墙对 IRC 僵尸网络的限制
  • 检测 HTTP 僵尸网络比较困难,但并非不可能,因为头部字段和有效载荷不符合正常的 HTTP 流量特点

可观测到的行为

基于网络的的行为

  • 网络模式可以用来检测僵尸网络
    • IRC 和 HTT P是最常见的僵尸网络通信形式
    • 通过识别异常流量的特征来检测
  • DNS 域名
    • DNS 查询来定位 C&C 服务器
    • 宿主查询不适宜的域名
    • 与域名关联的 IP 地址持续变化
  • 流量
    • 时而突然忙碌,余下的时间比较空闲
    • 异于常人的快速反馈
    • 攻击行为

基于主机的行为

  • 宿主计算设备可以观测到僵尸网络行为
    • 呈现出类似病毒的活动
    • 运行时,出现多个程序
      • 修改注册表
      • 修改系统文件
      • 创建未知的网络连接
      • 禁用防病毒程序

全局相关的特征

  • 全局特征与基本僵尸网络相关联
    • 除非僵尸网络完全重新设计和重新实施,否则不会改变
    • 最有价值的僵尸网络检测方法
  • 无论僵尸网络是通过 IRC 还是 HTTP 通信,行为都是相同的
    • 由于分配了新的 C&C 服务器,全球 DNS 查询增加
    • 网络流量中断

逃避检测与僵尸网络检测的挑战

  • 僵尸网络流量与正常流量类似
    • 可能加密
  • 僵尸网络发展迅速
    • 新的机器人不断增加
    • 改变协议
      • 不使用 IRC
      • 用一下方法进行控制
        • HTTP
        • VoIP
        • IPV6
        • ICMP
        • Skype 协议
    • 改变体系结构
    • 改变感染模型
    • Fast flux 托管

参考资料

results matching ""

    No results matching ""