中国教育和科研计算机网
EDU首页 |  中国教育 |   高校科技 |   教育信息化 |   CERNET
教育信息化

资讯 | 专题 会议 观点 专栏 访谈 企业 产品 CIO 技术 校园信息化 下一代互联网 IPv6视频课堂

中国教育网 > 教育信息化
您现在的位置: EDU首页 > 教育信息化 > 专题文章
僵尸网络研究系列文章之二—设计自动识别系统
http://www.edu.cn   2008-06-12 作者:金双民;郑辉;段海新

字体选择:【大】 【中】 【小】

  两种常规方法
  僵尸网络(Botnet)研究的常规研究方法中,第一种是使用蜜网技术研究。该方法从僵尸程序(bot)入手研究Botnet的特征,这种方法利用了Botnet的可传播性,通过蜜罐手段获得用于传播扩散的bot程序样本,然后逆向分析这些样本,从而获得这些bot程序中所包含的连接Botnet服务器所需要的属性值,这样就可以深入地跟踪Botnet,获得Botnet的情况。

  这种方法的优点是能够有效地捕获比较活跃的Botnet,并且准确率比较高,同时,由于可以获得程序中包含的一些特征值,可以对Botnet进行更深层的研究。但这种方法对于不再传播的Botnet是无法捕获的。

  第二种方法是基于网络流量的研究。这种方法是将Botnet的行为特征通过流量变化反应出来,然后通过统计这些特征流量来判断Botnet的存在。这种研究方法能够通过对网关流量的分析来判断Botnet存在的可能性,但Botnet的流量往往会淹没在海量的网关流量中,很难被有效地区分出来。 原因如下:
 
  第一,Botnet是一种恶意行为,拥有这些Botnet的人极不愿意让其他人登录到他的服务器中去,同时也为了防止其他黑客夺取其Botnet,他会有意地隐藏服务器的基本信息,如连入的用户数、可见的用户数、服务器内所建立的频道等,这些信息本来是需要公布给聊天者的,现在却被攻击者有意隐藏了。

  第二,由于加入到Botnet服务器中的所谓用户nickname是由bot程序生成,所以这些bot的nickname应符合一定的生成算法,也就带有了某些规律,如IP地址表示法(就是将被感染了bot程序的主机的IP地址所在国的三位缩写放在开头,然后在后面加入指定长度的随机数字,如USA|8028032,CHA|8920340)和系统表示法(将被感染bot程序的主机的系统作为开始的字母如xp、2000等,然后再在后面加上指定长度的随机数字,如xp|8034,2000|80956)。这些命名的特征可以从得到的bot源码中发现并总结出来。这些用户的nickname的规律性和正常的IRC Server中的用户nickname的随意性是不相同的。

  第三,由于Botnet中的感染bot程序的主机是在不知情的情况下被控制的,所以在没有Botnet控制者指令的条件下是不会有所行为的,所以他们的行为也会不同于正常的IRC Server中的聊天者的行为,更形象地讲他们的行为更像一个个僵尸。

  由于以上原因,在IRC协议的Botnet服务器中,存在着可以提取的有别于正常IRC服务器的特征属性,通过统计和使用一定的模式识别算法,最后可以将这些特征属性构成用来判断服务器性质的判断条件。

  系统设计
  通过上面的分析可以看到,要获取这些信息,需要有可以自动登录的IRC客户端程序,同时要有一个比较合理的识别算法以便提高使用这些信息作为判断标准的准确率。本着这样的设计思路,这里给出Botnet自动识别系统。

  本系统分为四个模块,分别为数据收集模块、样本集建立模块、规则集模块以及检测模块。

  数据收集模块
  根据目前Botnet存在的情况,针对IRC Botnet进行研究,在网络中搜集bot恶意样本分析报告,从而得到有关Botnet的服务器地址信息,以及登录指定频道的信息,将所需要的服务器地址信息、登录口令、登录频道名称、登录频道所需密码以及nickname的命名规则提取出来存入到数据库中供采集异常样本时使用。另一方面将网络中正常的IRC服务器的地址信息也提取出来,供采集正常的样本时使用。

  样本集建立模块
  将异常和正常的数据集中的登录信息作为输入,登录到相关的IRC服务器中,获取指定的服务器信息,存入到后台数据库形成异常样本库和正常样本库。

  规则集模块
  使用贝叶斯算法对样本集中的异常样本和正常样本进行统计,得到各个属性在Botnet判断中所占比例,这样就形成了可用于判断的规则库。随着样本数的不断增加,不断地修正各属性的概率和判断阈值,这样就可以逐渐提高判断的准确性。同时要不断总结可用来判断的新属性,扩展规则集。

  检测模块
  在CERNET网关中提取使用IRC协议默认的通信端口6667的相关信息,得到存在于CERNET中的IRC服务器地址或与CERNET主机建立联系的服务器地址,然后登录到这些IRC服务器中,通过同样的特征采集方法得到能够用来判断的服务器特征,再通过检测器,比对与规则集中的条件相符的属性,采用复合概率的方法计算出符合条件的各规则的总的概率,与规定的概率阈值进行比较,得出判断结论。根据得到的结果再存入不同的样本集中,这样就可以不断地增加样本。

  系统的实现
  在系统模型的各个设计模块中,采集样本和统计判断概率是关键部分,所以主要介绍这两部分的实现。

  僵尸程序客户端模拟
  采集Botnet样本。实现方法是编写一个模拟的IRC客户端程序,能够应答各种IRC协议的指令,并且将登录服务器后回馈的各种信息选择出来填写到后台数据库中保存,这样就可以得到后续所需要的判断属性。在采集过程中尽可能多地保留各种信息。因为在获得Botnet样本时,有些信息是被控制者有意修改和掩盖的,所以往往会有某些属性扰乱我们的判断,只有尽可能多地比对各种属性才能有比较准确的判断。

页面功能 【打印】 【关闭】 【我有话说

MOOC风暴来袭

版权所有:中国教育和科研计算机网网络中心 CERNIC,CERNET,京ICP备15006448号-16,京网文[2017]10376-1180号

关于假冒中国教育网的声明 | 有任何问题与建议请联络:Webmaster@staff.cernet.com