【论文阅读】Windows of Vulnerability: A Case Study Analysis
时间:2000
作者:Arbaugh W A, Fithen W L, McHugh J
期刊:Computer
ABSTRACT
作者为系统漏洞提出了一个“生命循环”模型,以此来分析三个样例,揭示了系统如何在安全修复后的很长一段时间内仍然存在漏洞。
Model
漏洞的生命周期
1.本文提出的模型:
- Birth:代表漏洞的产生,漏洞通常在大型开发项目的过程中无意地被制造。若漏洞是故意被制造的,那么Birth和Discovery同时发生;
- Discovery:代表有人发现了漏洞的存在,许多情况下漏洞的发现者并不会向外披露他的发现;
- Disclosure:代表漏洞的存在被传播到更广的范围,例如被上传到了Bugtraq的邮件列表中,向公众公开;
- Correction:代表开发商提供了软件补丁或者更改了配置,修补了漏洞;
- Publicity:代表漏洞已经广为人知,例如被新闻报道或被应急事件响应中心发布报告,一旦漏洞在Disclosure阶段失控,漏洞就会被广为人知;
- Scripting:代表漏洞的自动化利用程序已经被编写,脚本小子也可以利用脚本来实施攻击。Scripting极大地增加了对应漏洞的被利用次数;
- Death:代表漏洞的湮灭,当一个漏洞可以利用的系统数量缩减到不重要的时候,这个漏洞就会死亡。理论上来说,如果所有的系统都安装了对应补丁、或者漏洞影响的系统被淘汰、或者攻击者和媒体对该漏洞失去兴趣,这个漏洞就会消亡。
一般来说,Birth、Discovery和Disclosure是按顺序进行的,Correction、Publicity、Scripting顺序不定。
2. 三个Case Studies:
2.1 Phf incident
phf漏洞是一个命令执行漏洞:
理论上,利用这个漏洞可以在目标主机上执行任意命令,但网上第一个发布的phf漏洞的利用脚本只是尝试在目标主机上下载密码文件,并无过多动作。有趣的是,向CERT报告的大多数事件只涉及下载密码文件,可见:大多数脚本小子们在不了解脚本的情况下盲目地运行利用脚本,如果他们懂得漏洞的原理,返回一个shell明显可以做更多事情。
从图中可以看到,漏洞的利用次数从自动脚本化开始就激增。随着96年8月该漏洞的相关补丁发布,入侵行为短时间内骤减。但直到1998年该漏洞的利用行为都一直大量存在。
2.2 IMAP incident
IMAP邮件服务提供了通过互联网访问电子邮件的功能。其在早期的版本存在缓冲区溢出漏洞,下图显示了其两个短期内发现的相似的漏洞。
可以看到,两个漏洞的柱状图形状大体相同。
2.3 BIND incident
Bind是DNS协议的一种实现,是现今互联网上使用最为广泛的DNS 服务器程序。其1998年存在缓冲区溢出漏洞:
漏洞数据来源
CERT/CC,美国计算机紧急事件响应小组协调中心。成立于1998年,位于匹兹堡的卡内基梅隆大学内。它的主要职能是对软件中的安全漏洞提供咨询,对病毒和蠕虫的爆发提供警报,向计算机用户提供保证计算机系统安全的技巧以及在处理计算机安全事故的行动中进行协调。当有恶意程序或系统漏洞被报告时,CERT/CC会对外发布“事件”,其描述了漏洞的性质、利用的方式或工具等。
作者从CERT/CC数据库中选择样例进行分析,数据涵盖了1996~1999年的一些特有的入侵行为。
‘’人’’的薄弱
从上述三个例子可以看出,漏洞的自动化利用是导致相关入侵行为激增的关键,但除此之外,可以注意到的是:
- 即使漏洞的相关修补措施已经发布,相关的入侵行为仍在其后的很长一段时间内存在,甚至增长。在漏洞补丁发布之后,一方面,需要时间传播与安装;另一方满,一些谨慎的组织要求在改变系统之前进行测试,这是正确的,以确保补丁不会产生新的问题。有些组织在 “有机会 “的时候会安装补丁,而其他组织可能永远不会安装补丁,其中牵扯到的原因有很多;
- 即使一些漏洞修补措施仅能防御一些简单的攻击,但其仍有意义。在漏洞发布后紧跟的修补措施所防止的入侵可能只是脚本小子的骚扰性攻击,更复杂的攻击者可能仍然会成功。但即使这样,也能减少整体的入侵行为,留出更多的时间精力资源跟踪调查更复杂的攻击。