![]() |
|
||||||
统计 分析过去 ... 预知未来 http://project.honeynet.org/ 资料来源: http://project.honeynet.org/papers/stats/ 在过去的几年里,Honeynet Project 已经收集和归档了 backhat 的活动讯息,我们尽我们最大的能力来记录和捕捉对 Honeynet 每一个探测,攻击,和使用。这些原始的数据有很高价值。我们的重点会放在两个部分,第一,我们打算演示 Blackhat 团体是怎样活动的。不管你是谁,你是不安全的,我们的目标是让你认识到这些威胁的存在。其二,为了对一些早期警告和预报内容的进行测试,通过鉴别方法和倾向,可能预测在攻击发生之前的攻击和进行一定程度的对抗。我们使用 Honeynet Project 采集到的数据来测试这个理论。 The Collected
Data Honeynet 网路是用来捕捉数据的网路,是一些使用普通的网路作业统,如∶Red Hat Linux 或者 Windows NT 并在预设的设定情况下执行现的。Honeynet 既没有对企图来标榜 Honeynet 也没有企图来 "引诱" 攻击者。理论上来说这个站只会有很少的活动迹象,就想我们没有广告任何服务和系统。 Honeynet 数据有价值的地方是 Honeynet 减少了主动错误讯息(false positives) 和被动错误讯息(false negatives) 所产生的问题。主动错误讯息(false positives) 指的是当组织由於恶意活动而被通知警报时候,经检查其实没有任何事情发生,而当这个组织持续的被主动错误讯息(false positives) 所触发警报,他们开始忽略他们的警报系统和数据采集,导致警告系统发生人为的失效。举个例子,MAIL 入侵侦测系统警告管理员系统被攻击,可能是一般已知的攻击被侦测到,但是,这个警告可能是由一封包含对这个已知漏洞的警告并包含了攻击者所需的 Souce Code 来通知管理员的邮件错误触发的,或者可能是网路监视通讯程序 SNMP 或者 ICMP 错误触发的。主动错误讯息(false positives) 对於大多数组织机构来说是是一项持续的挑战。Honeynet 通过不包含任何实际的产品通讯所触发的讯息来减少这个问题,即不安装任何相关应用产品。因为 Honeynet 网路没有实际用途,它只是为了捕获未授权的活动,这表示任何讯息封包的进入和离开 Honeynet 都会被认为是有嫌疑的(因为没有任何应用平台),就简化了数据捕获和程序分析,减少主动错误讯息(false positives) 的产生. 被动错误讯息(false negatives) 是多数组织机构需要面对的另一项挑战,被动错误讯息(false negatives) 就是对於真实的恶意攻击者或者未授权活动侦测失败。多数组织机构有适当的机制来检测攻击,如入侵侦测系统,防火墙日,系统日和程序记录。这些工具的目的是为了侦测有可疑或者未授权活动,但是,其中有两个重要的问题会导致产生被动错误讯息(false negatives) 侦测失败∶数据负载过重和新的漏洞,数据负载过重是当组织机构捕获过多的数据,而没有全部被查看,因此攻击者被忽略过,如,多数组织机构记录 G 等级的防火墙或者系统活动讯息,这样对与重新复查这些成吨的讯息来鉴别可疑行为变的极其困难。第二个问题就是新型漏洞的攻击,而造成安全软体没有能力来侦测这种个攻击。Honeynet 通过绝对的捕获所有进出 honeynet 的讯息来减少这种新型攻击产生的漏捕。记住∶Honeynet 里只有很少或者没有的相关应用平台和程序所产生的活动,这表示所有捕获的相关讯息是有一定嫌疑的。即使我们漏捕最初始的攻击,我们仍然截获这个活动,如 Honeynet 中有 2 个系统在没有任何警告给 Honeynet 管理员的情况下被入侵,我们没有探测到这次攻击知道被入侵的主机发起对外的连接,一旦这些尝试被我们探测到,我们就检查了所有捕获的活动讯息来鉴定这个攻击∶它是怎样成功的,为何我们漏捕了,通过这些研究,honeynet 减少了被动错误讯息(false negatives) 所产生的问题. 对於有价值的数据的复查可以很明显的减少主动错误讯息(false positives) 和被动错误讯息(false negatives) 的产生。记住∶下面我们所讨论的发现是特定我们的网路,这不意味著你的组织机构中会看到同样的模式或者行为,我们使用这个采集到的数据来演示部分 blackhat 的性质和早期警告和预测的可能性。
Analyzing the
Past 攻击後的分析∶
Predicting the
Future OK,让我们开始吧┅┅
我们努力对攻击情况做出合理的预测,期间 Honeynet 的两位成员提出了两个不同的方法,但是最终发现他们的结果是大同小异的,几乎所有的入侵者都在他们实施真正攻击前的两到三天被发现。 使用统计学原理对事件做预警[Statistical Process Controls(SPC)]: 首先是非常基础的统计学分析,类似於工厂里对生产情况进行统计对比。这种方法虽然看起来相当简单,但却能够精确地判断出短时期内(三天会更短)对 Honeynet 可能发生的攻击情况,简单的操作如下∶
在这里,我们并没有区分入侵尝试及成功攻击,只是在图表画出来後,再标记上成功及企图的攻击,所有的数据可以在 Honeynet 的网站上获取。下面是我们的一些发现∶
第二种方法对於第一种方法是一个有益的补充,比如它可以显示出在有人违反 snort 的 rpc 规则後,大概多长时间系统遭攻陷,明确两者间的关联。在一段连续的时间内,有些简单的模型可以对违反 rpc 规则与系统真正被攻陷间做出清晰的关联。 从下面的图表模型中我们可以看出,利用 rpc.statd 进行攻击的行为其实早几天就能被发现。横座标表示日期,在这里是从 1-180 天,向下的曲线通常表明有一些重要的事件发生,这能够预报一些攻击行为,比如在第 68 天我们受到攻击之前的 10 天内,就出现了这样的行为,而在其後又有三次向下的曲线,紧接著就是一次同样的 rpc 攻击发生在第 177 天。这里我也不太了解向上的曲线代表什麽,但通常处在这种情况下,是一个平稳时期,没有太多的意外情况发生。
需要说明的是,在这些分析模型中肯定会存在一些错误,我们需要更多的数据,以及对这些分析预测模型更完善的利用方式,这样才能够有效地得出攻击预警的一些思路。 利用 ARIMA 模型找出攻击前的特徵 另一个研究的领域是识别出某些类型的攻击或者扫描存在著的特徵,这两个事例都来自於我们 Honeynet 小组成员的 "每月扫描" 中,下面的图形描述了在一个月中我们遭受的通讯埠扫描的数量。这里我们很乐於回答的另一个问题是对於不同的扫描及准备攻击的行为∶ "在一段时期内的数据收集之後,我们想要观察什麽呢?" 在这个简单的 ARIMA(回归滑动平均模型,Auto Regression Integrated with Moving Averages)案例中,是直接按捕获的数据资料进行分析的,ARIMA 是一个可以用在对一定时期内搜集的数据进行深度分析的基本模型,下面的图表表明了在九月份我们遭受的通讯埠扫描的频繁程度。
![]()
我们欢迎安全组织测试或者开发这样的理论,并且将其应用於实际的统计分析上,对於不同的分析方法我们尤其感兴趣。我们在这里提供给大家的并不是最好的分析方法,事实上,一切研究都刚起步。从 2000 年 4 月起至 2001 年 2 月止 honeynet_data.tar.gz
结论
|
|
||||||||||||||||||||||||
|
Copyright© DragonSoft Security Associates, Inc. All rights reserved.
台湾总部∶新竹市光复路一段 607 巷 30 号 5F Tel: 03-563-0989 Fax: 03-579-7758 台北业务处∶中和市中山路二段 351 号 9F Tel: 02-8221-5408 Fax: 02-8221-5476 |