论文部分内容阅读
僵尸网络是一种具有强大攻击能力的网络攻击平台。它不仅具备病毒、蠕虫、木马等恶意程序的功能,还能将分散在网络上的受控计算机资源整合在一起,轻易地发动拒绝服务、垃圾邮件等大规模网络攻击,严重影响人们网络生活的安全。
随着僵尸网络危害性的增大,僵尸网络的研究逐渐成为信息安全领域的研究热点。僵尸网络的研究可分为僵尸网络的检测、僵尸网络的追踪和僵尸网络的测量这三类。命令与控制协议是僵尸网络实现远程控制的手段,也是进行僵尸网络研究的重要突破口。本文在总结前人研究成果的基础上,提出了一种利用二进制代码动态分析技术获取僵尸网络命令与控制协议的方法。
本文首先通过分析僵尸网络客户端程序实现远程控制命令的过程,提出了客户端程序中存在命令判定单元的论断,并总结出了命令判定单元具备的三个特点:利用网络数据进行判定;具有特定的逻辑结构,即循环结构或者选择结构;使程序产生多个分支路径。
其次,提出了识别客户端程序中命令判定单元的方法。识别方法用到了二进制代码动态分析技术,数据处理流程为:以僵尸网络客户端接收到的网络数据为污点源,捕获僵尸网络客户端与服务器通信时客户端程序的执行轨迹;处理执行轨迹,提取出执行轨迹所代表的执行逻辑,识别方法中执行逻辑用具有函数调用关系的转移指令序列表示;分析执行逻辑,根据命令判定单元具备的三个特点识别出客户端程序中的命令判定单元。
最后,依据识别方法的原理设计了原型系统,并分别利用僵尸网络样本和测试程序进行了验证。实验结果表明:本文提出的识别方法能有效检测出僵尸网络样本和测试程序中的命令判定单元;本文设计的原型系统能根据命令判定单元准确推理出僵尸网络样本程序中的命令信息。为捕获僵尸网络的命令和控制协议提供了一种新的选择。