卢涛1,马力2
1.西安电子科技大学
2.西安邮电学院
摘 要:自从计算机问世以来,安全问题就一直存在着,使用者也一直未给予足够的重视,结果大量连接到Internet上的计算机暴露在愈来愈频繁的攻击中。本文先介绍入侵行为的概念和演化,然后按时间顺序,沿着技术发展的脉络,回顾了入侵检测技术从20世纪70年代初到今天的发展历程。文章以历史和实践的观点,透视入侵和入侵检测技术相互制约,相互促进的演进过程。
关键词:计算机安全;入侵检测;入侵检测系统;入侵检测系统的历史
1 引 言
自从计算机问世以来,安全问题就一直存在。特别是随着Internet的迅速扩张和电子商务的兴起,人们发现保护资源和数据的安全,让他免受来自恶意入侵者的威胁是件相当困难的事。提到网络安全,很多人首先想到的是防火墙,防火墙作为一种静态的访问控制类安全产品通常使用包过滤的技术来实现网络的隔离。适当配置的防火墙虽然可以将非预期的访问请求屏蔽在外,但不能检查出经过他的合法流量中是否包含着恶意的入侵代码。在这种需求背景下,入侵检测系统(IDS)应运而生。
入侵检测系统(IDS)是将电子数据处理、安全审计、模式匹配及统计技术等有机地融合在一起,通过分析被检测系统的审计数据或直接从网络捕获数据,发现违背安全策略或危及系统安全的行为和活动。本文主要讨论入侵和入侵检测技术从20世纪70年代初到今天的发展历程。这个概念出自James P.Anderson在1972年的一项报告,随后的30多年中,概念本身几乎没有改变。
2 入侵行为的概念、分类和演化
从最早期的计算机安全开始,人们就密切关注恶意使用者破坏保护机制的可能性。早期系统多为多用户批处理系统。这个时期,主要的威胁来自系统的合法使用者,他们企图得到未经授权的材料。到了20世纪70年代,分时系统和其他的多用户系统已成气候,Willis H Ware主持的计算机安全防御科学特别工作
小组提供了一项报告,为处理多级数据的计算机系统的发展奠定了基础。但这篇报告并没有受到应有的重视,直到70年代中期,人们才开始进行构建多级安全体系的系统研究。
1980年4月,詹姆斯·安德森(James P.Anderson)为美国空军做的题为《Computer SecurityThreatMonitoring and Surveillance》(计算机安全威胁监控与监视)的技术报告,第一次详细阐述了入侵检测的概念,并首先为入侵和入侵检测提出了一个统一的架构,这是该领域的开山之作。他在论文中给出了入侵和入侵检测技术方面的概念:
威胁(Threat) 可能存在有预谋的、未经认可的尝试:
①存取数据;
②操控数据;
③使系统不可靠或无法使用。
危险(Risk) 意外的和不可预知的数据暴露,或者,由于硬件故障、软件设计的不完整和不正确所造成的违反操作完整性的问题。
脆弱性(Vulnerability) 已知的或可疑的硬件或软件设计中的缺陷;使系统暴露的操作;意外暴露自己信息的操作。
攻击(Attack) 实施威胁的明确的表达或行为。
渗透/入侵(Penetration)一个成功的攻击;(未经认可的)获得对文件和程序的使用,或对计算机系统的控制。
威胁概念中的③包括DOS(Denial Of Service)“拒绝服务攻击”。盗用计算资源也属于这个类别之内。
一般来说,外部入侵者的首要工作是进入系统。所外人,也可能是合法用户,但违规使用了未经授权的资源。另一方面,除了拒绝服务攻击外,多数攻击都需要入侵者取得用户身份。Anderson更进一步把入侵情况按表1所示分类。
20世纪80年代中后期,网络计算已经相当普遍,渗透和入侵也更广泛。但许多厂商和系统管理员却疏忽了这个危险。一些厂商在售出的系统中预先定义管理账户(曾有厂商使用User name:system,Password:manager),而很多系统操作员却大意地忘记了改变这个缺省设置。
1988年11月2日,第一个大范围的Internet上的攻击和渗透事件发生了。肇事者是“莫理斯蠕虫”,他采用多种传输技术在系统间复制,利用的是发送邮件程序的漏洞,这个漏洞允许邮寄的指令能在异地系统上执行。除此之外,蠕虫也利用在finger守护进程溢出串变量来扩散。蠕虫代码中还包含了一个高效的口令破解程序,他尝试破解被他传染的系统上的使用者的密码。在“莫理斯蠕虫”之后,DARPA建立了“计算机紧急情况反应小组”,也就是现在SEI(软件工程学会)的CERT(ComputerEmergencyResponse Team)。
1996年,在线杂志Phrack发表了一篇缓冲溢出攻击的文章,随后这种攻击事件就多了起来。CERT的一项研究显示,从1997年开始,缓冲溢出攻击变成逐渐严重。近年来报告给CERT/CC的攻击事件中涉及缓冲溢出的百分比上升,这种漏洞攻击流行的原因包括:系统的脆弱性;管理者(administrator)或超级用户(super user)在目标系统中的特权,攻击行为一般都要利用这些特权;这些攻击的脚本或程序在Internet上的适用性很好,使用者只需很少的技巧。
和其他攻击方式一样,缓冲溢出已经越来越复杂和更具综合性。早期的攻击主要是通过目标程序读数据。后来发现,包含环境参数的变量也可能被当作攻击向量使用。最近,基于格式串(format strings)的缓冲溢出也开始使用。
1992年,第一次大范围的“root kits”开始出现。入侵者会像一个平常的使用者一样进入系统,接着靠猜测、社会工程学或其他方式得到一个使用者的口令,然后他们尝试利用系统的弱点成为root。一旦获得root权限,版本不同的系统公用程序,像是Su,Ftp和Ftpd就会被安装和远程执行,这使侵入者能方便地再次进入(后门技术),而且,入侵者会修改系统信息,清理入侵痕迹,让管理者和安全审计者难以察觉。
现在的攻击行为向着大规模、自动和协同方向发展。攻击已经变得越来越复杂、越来越自动化。图1中,实线代表攻击行为,虚线代表入侵者需要掌握的技术,他显示了从90年代起,攻击行为的发展和对入侵者技术要求降低的情况。CERT/CC曾预言:攻击行为的自动化可能在因特网上引发大规模的入侵活动,这在今天得到了验证。
3 入侵检测技术的发展
审计是最早引入计算机安全领域的概念,像存取文件、变更他们的内容或分类等的活动都记录在审计数据中,安全管理员、系统操作员和维护人员和普通用户一样都要经过行为审核。安德森提出要建立一个安全监督系统,保护那些系统敏感信息。他还提出应该检查什么、如何分析他、以及如何保护监督系统免受攻击,这成了今天IDS研究的核心内容。
70年代后期,美国政府,包括DoD(国防部)和NIST(国家标准和技术协会)支持的计算机安全研究2开始了,安全审计也被考虑在这些研究中。1980年,安德森提出了另外一项报告,这次是针对一个空军客户,后者使用大型计算机处理大量的机密数据。报告中,安德森提出了减少分析数据量的方法,以及比较统计数据和总的观察——也就是统计行为,以发现反常的行为。当一个安全违例发生或(统计上)反常的事件出现时,就会提醒安全官员。安全官员还能利用详细的观测资料做后续的评估。安德森的报告为SRI(Stanford Research Institute)和TRW(美国著名的数据安全公司)的早期工作提供了蓝图。在1980年代中期,入侵检测方面的许多工作都被他的思路深深影响。
3.1 以Denning模型为代表的IDS早期技术
1984~1985年,Sytex为SPAWAR(美国海军)开展了一个审计分析项目。他基于Unix系统的shell级的审计数据,论证这些数据能够识别“正常”和“反常”使用的区别。特里萨·兰特(Teresa Lunt)在Sytex为这个项目工作,后来又去了SRI,在那里她参与并领导了IDES(入侵检测专家系统)项目。
IDES项目是1984年由乔治敦大学的桃乐茜·顿宁(Dorothy Denning)和彼得·诺埃曼(PeterNeumann)开始的,是IDS早期研究中最重要的成就之一。IDES模型基于这样的假设:有可能建立一个框架来描述发生在主体(通常是用户)和客体(通常是文件、程序或设备)之间的正常的交互作用。这个框架由一个使用规则库(规则库描述了已知的违例行为)的专家系统支持。这能防止使用者逐渐训练(误导)系统把非法的行为当成正常的来接受,也就是说让系统“见怪不怪”。
1988年,特里萨·兰特等人改进了顿宁的入侵检测模型,并开发出了一个IDES。该系统包括一个异常检测器和一个专家系统,分别用于异常模型的建立和基于规则的特征分析检测。系统的框架如图2所示。
顿宁的模型假设:入侵行为明显的区别于正常的活动,入侵者使用系统的模式不同于正常用户的使用模式,通过监控系统的跟踪记录,可以识别入侵者异常使用系统的模式,从而检测出入侵者违反系统安全性的情况。论文中的一些提法看起来很吸引人,但却并没有多少有力的证据,有些想当然。
顿宁的模型中有6个主要构件:主体、对象、审计数据、轮廓特征(或可称为“范型”profiles)、异常记录和行为规则。范型(profiles)表示主体的行为特色,也是模型检测方面的关键。行为规则描述系统验证一定条件后抽取的行为,他们能“……更新范型,检测异常行为,能把异常和可能的入侵关联起来并提出报告”。审计纪录由一个行为触发,而且记录主体尝试的行为、行为本身、行动对准的目标、任何可能导致例外的情况以及行为消耗的资源和独特的时间戳标记。审计记录会和范型进行比较(使用适当的规则),那些符合异常条件的事件将被识别出来。这个模型独立于特定的系统平台、应用环境、系统弱点以及入侵的类型,也不需要额外的关于安全机制、系统脆弱性或漏洞攻击方面的知识,他为构建入侵监测系统提供了一个通用的框架。
桃乐茜·顿宁的“入侵检测模型”论文很有影响,但现在读起来有点令人失望,主要是因为其中许多当时没回答的问题到今天仍旧没有满意的答案。
3.2 中期:统计学理论和专家系统相结合
80年代末,一些其他值得注意的系统开发出来,大部分走的是将统计学理论和专家系统结合在一起的路子。有几个系统,特别是在Haystack和NADIR中,分析引擎把几个商业数据库管理系统(比如Oracle,Sybase)聚合在一起,发挥他们各自的优势。
MIDAS由美国国家安全局下属的计算机安全中心开发,用来监控他的Multics系统——Dock master。他使用混合的专家系统和统计学分析方法,以及来自Multics应答系统(Answering System)的已检查的审计日志信息,应答系统控制用户的注册(注册信息由其他数据源扩充)。MIDAS是最早基于连接互联网的系统开发的产品之一。
Wisdom和Sense,分别由Los Alamos和OakRidge开发,是另一个专家系统和统计学分析方法的混合。他使用非参量的统计技术从历史审计数据中产生规则。就像很多其他机器学习方法一样,他也遇到了很多问题,包括获取训练数据的困难、高的误报率和规则库对存储能力的过高需求。
直到那时,IDS系统仍旧依靠受保护主机收集的审计数据,但加州大学戴维斯分校开发的网络系统监控器——NSM(The Network System Monitor)改变了这个状况。NSM在入侵检测技术发展史上是继IDES之后的又一个里程碑,他监控以太网段上的网络流量,并把他作为分析的主要数据源。从当时的检测报告上可以看到,NSM检测了超过100 000的网络连接,并从中识别出超过300个入侵。今天,大部分商业IDS系统直接使用从网络探测的数据作为他们主要,甚至是惟一的数据源。
3.3 基于网络的NIDS是目前的主流技术
1994年,Mark Crosbie和Gene Spafford建议使用自治代理(Autonomous Agents)以便提高IDS的可伸缩性、可维护性、效率和容错性,这个思想跟上了计算机科学中其他领域的研究的潮流,比如说软件代理。另一个解决当时多数入侵检测系统伸缩性不足的研究成果是1996年提出的GRIDS(Graph-based Intrusion Detection System)系统,该系统对大规模自动或协同攻击的检测很有效,这种跨越多个管理区域的自动协同攻击显然是入侵行为发展的方向。
1997年,CISCO要求WheelGroup公司将入侵检测与他的路由器结合。同年,ISS成功开发了RealSecure,他是在Windows NT下运行的分布式网络入侵检测系统,被人们广泛使用。1996年的第一次开发是传统的基于探测器的NIDS(网络入侵检测系统,监视整个网络段),在Windows和Solaris 2.6上运行。1998年后期,RealSecure发展成为一个混合式的入侵检测系统。他对入侵行为具有广泛的反应能力包括断开连接、发送SNMP信息、Email提醒、运行客户程序记录会话内容等,并能根据检测策略自动产生审计策略。
NIDS系统由安全控制中心和多个探测器组成。安全控制中心完成整个分布式安全监测预警系统的管理与配置。探测器负责监测其所在网段上的数据流,进行实时自动攻击识别和响应。NIDS的主要特点有:
(1)NIDS采用透明工作方式,他静静地监视本网段数据流,对网络通信不附加任何延时,不影响网络传输的效率。
(2)NIDS采用集中管理的分布工作方式,能够远程监控。可以对每一个探测器进行远程配置,可以监测多个网络出口或应用于广域网络监测,并支持加密通信和认证。
(3)NIDS能进行运行状态实时监测,远程启停管理。
(4)NIDS的安全域过滤技术使其具有良好的应用扩充能力,可以在单机处理能力不足的情况下,通过安全域拆分,用多机并行处理满足系统应用需求。
(5)以安全策略模板,安全事件,安全事件响应方式支持安全策略定义。
(6)探测器支持多接口,有隐蔽自身的自我保护功能。
近年来的技术创新还有:Forrest将免疫原理运用到分布式入侵检测中;1998年Ross Anderson和AbidaKhattk将信息检索技术引入这个领域。
4 结 语
本文沿着时间的轴线,回顾了从20世纪70年代初到今日的入侵和入侵检测的历史。通过纵向的比较和分析以后,我们可以看到,随着计算机技术的发展,人们对于安全问题的认识和理解也不断的演进,入侵检测技术的产生是必然的结果。但这项技术在理论基础上还不是很完备,这使得他多少带有一些经验和假设的成分。我们认为,入侵检测领域的进一步发展存在着很多方向和不确定性,也有赖于计算机智能科学上的研究和突破,这些突破可能在未来给入侵检测技术带来重大的影响。
参考文献
[1] Arbaugh W A,Fithen W L,McHugh J.Windows of vulnerability:A case study analysis[J].IEEEComput.2000,33(12).
[2] Bace RG.Intrusion Detection[M].Technology Series.Macmillan,London,2000.
[3] Denning DE,Edwards DL,Jagannathan R,et al.A prototype IDES:A real-timeintrusion detection expert system[C].
Technical report,Computer ScienceLaboratory[D].SRIInternational,Menlo Park,1987.
[4] Todd Heberlein L,Gihan Dias V,KarlLevittN.et al.A Network security monitor[M].1991.
[5] 唐正军,等.网络入侵监测系统的设计与实现[M].北京:电子工业出版社,1999.
摘自 现代电子技术
|