僵尸网络的工作原理与防御 一、Botnet的起源与定义 起源及演化过程 Botnet 是随着自动智能程序的应用而逐渐发展起来的。在早期的 IRC 聊天网络中,有一些服务是重复出现的,如防止频道被滥用、管理权限、记录频道事件等一系列功能都可以由管理者编写的智能程序所完成。于是在 1993 年,在 IRC 聊天网络中出现了 Bot 工具— — Eggdrop,这是第一个 Bot 程序,能够帮助用户方便地使用 IRC 聊天网络。这种 bot 的功能是良性的,是出于服务的目的,然而这个设计思路却为黑客所利用,他们编写出了带有恶意的Bot 工具,开始对大量的受害主机进行控制,利用他们的资源以达到恶意目标。 日期 Bot 名称 制作者(姓名或绰号) 描述 1993.12 Eggdrop Robey Pointer Jeff Fisher 第一个非恶意 IRC 机器人程序 1999.6 PrettyPark 匿名 第一个恶意的使用 IRC 作为控制协议的Bot 2000 GT-Bot Sony,mSg 和DeadKode 第一个广泛传播的基于 mIRC 可执行脚本的IRC Bot, 2002.2 SDbot SD 第一个基于代 码 的单 独 的IRC Bot 2002.9 Slapper 匿名 第一个使用 P2P 协议通 讯 的Bot 2002.10 Agobot Ago 不 可思议的强 壮 、灵 活 和模 块 化的设计 2003.9 Sinit 匿名 使用随机扫 描发现对端 的P2P Bot 2004.3 Phatbot 匿名 基于 WASTE 协议的P2P Ago 2004 Rbot/rxbot Nils RacerX90 等 SDbot 的后 代 , 2004 Gaobot 匿名 第一类 Bot,使用多 种手 段 传播 2004.5 Bobax 匿名 使用 HTTP 协议做 命 令 和控制机制。 20 世 纪 90 年代 末 ,随着分 布 式 拒 绝 服务攻 击 概 念 的成熟 ,出现了大量分 布式 拒 绝 服务攻 击 工具如 TFN、TFN2K 和Trinoo,攻 击 者利用这些工具控制大量的被感 染 主机,发动分 布 式 拒 绝 服务攻 击 。而这些被控主机从 一定意义上 来说 已 经具有了 Botnet 的雏 形 。 1999 年,在第八 届 DEFCON 年会 上 发布 的SubSeven 2.1 版 开始使用 IRC 协议构 建 攻 击 者对僵尸主机的控制信 道,也 成为第一个真 正 意义上 的bot 程序。随后 基于 IRC 协议的bot 程序的大量出现,如 GTBot、Sdbot 等,使得 基于 IRC 协议的Botnet 成为主流 。 2003 年之后,随着蠕虫技术的不断成熟,bot 的传播开始使用蠕虫的主动传播技术,...