Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->系统管理 ->正文

了解你的敌人:Statistics

来源:Linux-cn.com 作者:Webmaster 时间:2007-05-05 点击: [收藏] [投稿]

  在三十天内(2000年的9月20日-10月20日),Honeynet收到524个不同的NetBios的扫描,平均每天17个不同的扫描。

  在2001年2月,一共对Honeynet有27次X86漏洞利用。X86意思是这些攻击被设计是对付Intel架构系统的。在这些攻击中,有8次是对Solaris Sparc系统的进行的。因为系统架构不兼容,这些漏洞利用对Sparc系统是无效的。这暗示了一些攻击者并不确认是什么操作系统或在其上运行了什么版本的服务。当他们发现了服务,他们甚至首先不确认系统是不是脆弱的,或者甚至是不是正确的系统类型。这种活动方式能使黑帽子在更短的时间内扫描和攻击更多的系统。

  从2000年4月至今,除了通常的扫描外,最流行的探测方法是DNS版本查询,接下来的就是RPC服务的查询。

  最流行的攻击是对Intel架构系统的rpc.statd溢出攻击。

  最流行的扫描方法是对整个IP段对特定端口的SYN-FIN扫描(通常按先后顺序)。这反映了聚焦于单个脆弱性的策略,针对这个脆弱性扫描到尽可能多的系统。许多黑帽子只使用单个的工具,或只利用他们知道如何利用或最有效的漏洞。

Predicting the Future

  Honeynet项目想要研究的一个方向是对系统攻击的前期预警,这样也可以给Honeynet搜集更多有价值的数据带来理论上的帮助。这些理论并不是非常新的,而且也有有些大公司在使用着,我们也希望我们的研究对这些公司及其它组织有所帮助。在详细地解释我们的方法之前,我想先声明:我们的研究还处于初始阶段,还有大量的数据分析工作需要进行。

  OK,让我们开始吧……

  我现在讨论的仅仅是一个独立的Honeynet,仅是提供单节点的、数据量不大的观察结果。下面所要提及的方法将会在世界各国更广阔的环境、有众多Honeynet的环境中测试。

  我们并没有试图对由同一个攻击者发起的攻击作出识别,原因很简单,因为现在欺骗技术使用太广泛了。

  我们的许多推测建立在一个攻击者总是首先扫描然后攻击服务器这个流程上。当然,有些情况下或许扫描与攻击这两个事件根本是偶然。但我们仍坚持上述的观点。

  我们努力对攻击情况做出合理的预测,期间Honeynet的两位成员提出了两个不同的方法,但是最终发现他们的结果是大同小异的,几乎所有的入侵者都在他们实施真正攻击前的两到三天被发现。

  使用统计学原理对事件做预警[Statistical Process Controls(SPC)]:

  首先是非常基础的统计学分析,类似于工厂里对生产情况进行统计对比。这种方法虽然看起来相当简单,但却能够精确地判断出短时期内(三天会更短)对Honeynet可能发生的攻击情况,简单的操作如下:

  我们分析了从2000年4月到2001年1月的所有snort记录。

  对snort报告得最多的10种攻击,我们计算出每天每种攻击会被重复多少次。

  然后,我们计算出每种攻击方式3天内的滑动平均模型,称作3DMA(three day moving average),然后我们在图上标出每种攻击方式在每天及每三天内会被报告多少次。

  我们计算出一个时期内的攻击水平平均值。

  在任何一个3DMA阶段内,如果发现2倍于平均值的攻击数量,或者持续高速增长,我们就可以认为这是一个危险信号。

  在这里,我们并没有区分入侵尝试及成功攻击,只是在图表画出来后,再标记上成功及企图的攻击,所有的数据可以在Honeynet的网站上获取。下面是我们的一些发现:

  Honeynet在2000年4月9日到2000年9月31日期间记录下了八次成功的攻击事件,除了一件之外,其余的都利用上面所描述的方法得到了准确的预测。

  在这段时间的试验以及所有的攻击中,多数的攻击尝试都是在3DMA超出了平均水平——也就是我们的控制点2倍,只有一次是7天之内,才发生真正的攻击事件。下面是一些事例:

  RPC: 我们从2000年4月1日对RPC服务进行了观察,总共用了180天时间,在第61至68天之间,发现图表中的查询次数有明显上升趋势,终于在第68天,一次利用rpc.statd的攻击发生了。另一次是在第153到170天之间,有大量的请求111端口的数据,而后就是在第177天时的一次对rpc.statd的成功溢出攻击。下面是一个对这期间活动的模型图表,X座标是天,Y座标是指发生次数。

  DNS/named: 从第81-85天看起来不正常地活跃,有许多异样的请求发送到name server。在第85天,named服务受到了一次不成功的攻击。

  Validation through Regression Analysis and ARIMA:

  第二种方法对于第一种方法是一个有益的补充,比如它可以揭示出在有人违反snort的rpc规则后,大概多长时间系统遭攻陷,明确两者间的关联。在一段连续的时间内,有些简单的模型可以对违反rpc规则与系统真正被攻陷间做出清晰的关联。

  从下面的图表模型中我们可以看出,利用rpc.statd进行攻击的行为其实早几天就能被发现。横座标表示日期,在这里是从1-180天,向下的曲线通常表明有一些重要的事件发生,这能够预报一些攻击行为,比如在第68天我们受到攻击之前的10天内,就出现了这样的行为,而在其后又有三次向下的曲线,紧接着就是一次同样的rpc攻击发生在第177天。这里我也不太了解向上的曲线代表什么,但通常处在这种情况下,是一个平稳时期,没有太多的意外情况发生。

  需要说明的是,在这些分析模型中肯定会存在一些错误,我们需要更多的数据,以及对这些分析预测模型更完善的利用方式,这样才能够有效地得出攻击预警的一些思路。

  利用ARIMA模型找出攻击前的特征

  另一个研究的领域是识别出某些类型的攻击或者扫描存在着的特征,这两个事例都来自于我们Honeynet小组成员的“每月扫描”中,下面的图形描述了在一个月中我们遭受的端口扫描的数量。这里我们很乐于回答的另一个问题是对于不同的扫描及准备攻击的行为:“在一段时期内的数据收集之后,我们想要观察什么呢?”在这个简单的ARIMA(回归滑动平均模型,Auto Regression Integrated with Moving Averages)案例中,是直接按捕获的数据资料进行分析的,ARIMA是一个可以用在对一定时期内搜集的数据进行深度分析的基本模型,下面的图表表明了在九月份我们遭受的端口扫描的频繁程度。

  ARIMA模型的结果以下面表格的形式表示,这个表格显示说明了端口扫描是这些攻击中看起来较有代表性的,它先是向上拉起一个高峰,然后由其它类型的行为如预攻击等等终止。我们成员中的统计学专家还建议,三天的移动平均数计算在这样的时期内可能是太过粗糙的,对于这种类型的攻击,两天可能是一个相对合适的取值。

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:后门技术和Linux LKM Rootkit   下一篇:了解你的敌人:被动式指纹探测

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号