网络安全是一个系统的概念,完善的网络安全体系必须合理协调法律、技术和管理三个因素,集成防护、监控和恢复三种技术。从技术层面上讲,网络安全包括防火墙、数据加密、攻击检测和数据恢复四类技术。攻击检测技术是一种利用攻击者留下的痕迹,如试图登录的失败记录等信息,有效地寻找非法攻击来源的技术,它是网络安全极其重要的一个部分。本文将简要介绍攻击检测技术的工作原理、分类、功能结构以及发展情况。
■ 一场发生在机器与人之间的战争
攻击检测是用来发现外部攻击或合法用户滥用特权的一种方法。它是根据用户的历史行为,基于用户的当前操作,完成对攻击的决策并记录下攻击证据,为数据恢复与事故处理提供依据。攻击检测过程是一个机器(检测工具)与人(黑客)对抗的决策分析过程,其技术基础是基于知识的智能推理,可以采用冗余知识和冗余推理方法的信息融合技术来提高攻击检测率。
图1 实时攻击检测的功能原理图
图2事后攻击检测的功能原理图
攻击检测可分为实时攻击检测和事后攻击检测两种,如图1、2所示。实时攻击检测在网络连接过程中进行,系统根据用户的历史行为模型、存储在计算机中的专家知识以及神经网络模型对用户当前的操作进行判断,一旦发现攻击迹象就立即断开攻击者与主机的连接,并收集证据和实施数据恢复,这个检测过程是不断循环进行的;事后攻击检测由网络管理人员进行,他们根据计算机系统对用户操作所做的历史审计记录判断用户是否具有攻击行为,如果有就断开连接,记录入侵证据并进行数据恢复。事后攻击检测是管理员定期或不定期进行的,不具有实时性,因此防御攻击的能力不如实时攻击检测系统强。
■ 攻击检测的四种方法
方法一:基于用户行为概率统计模型的攻击检测
这种攻击检测方法是基于对用户历史行为以及在早期的证据或模型的基础上进行的,由审计系统实时地检测用户对系统的使用情况,根据系统内部保存的用户行为概率统计模型进行检测。当发现有可疑的行为发生时,保持跟踪并监测、记录该用户的行为。系统要根据每个用户以前的历史行为,生成每个用户的历史行为记录库,当用户改变他们的行为习惯时,这种异常就会被检测出来。这种方法主要有两个缺点:一,对于非常复杂的用户行为很难建立一个准确匹配的统计模型;二,统计模型没有普遍性,因此一个用户的检测措施并不适用于另一用户,使得算法庞大且复杂。
方法二:基于神经网络的攻击检测
这种方法是利用神经网络技术来进行攻击检测的,它对于用户行为具有学习和自适应性,能够根据实际检测到的信息有效地加以处理并做出判断,这样就有效地避免了基于统计模型的检测方法的缺点。到现在为止,这种攻击检测方法还不太成熟。
方法三:基于专家系统的攻击检测
它是根据安全专家对可疑行为的分析经验来形成的一套推理规则,然后在此基础上建立相应的专家系统。专家系统自动进行对所涉及的攻击行为的分析工作。由于这类系统的推理规则一般都是根据已知的安全漏洞进行安排和策划的,因此对于来自于未知漏洞的攻击威胁通常就难以应付了。专家系统对历史数据的依赖性总的来说比基于统计模型的检测方法要少,因此系统的适应性比较强,可以较灵活地适应广谱形的安全策略和检测需求。
方法四:基于模型推理的攻击检测
它是根据攻击者在进行攻击时所执行的某些行为程序的特征,建立一种攻击行为模型,根据这种行为模型所代表的攻击意图的行为特征来判断是否属于攻击行为。如果某种攻击模型建立了,系统还要提供证据来证实攻击行为确实发生了,以此来减少错报和漏报的可能。
以上几种方法每一种都不能保证准确地检测出变化无穷的攻击行为,甚至有些攻击行为就是根据某种检测方法本身的漏洞而实施的。因此,在网络安全防护中需要充分衡量各种方法的利弊,综合运用,才能有效地检测出攻击者的非法行为。
■ 攻击检测的六大功能
攻击检测系统是通过收集网络中的有关信息和数据,对其进行分析发现隐藏在其中的攻击者的足迹,并获取攻击证据和制止攻击者的行为,最后进行数据恢复。总地来讲,攻击检测系统的功能有以下六种:
1. 监视用户和系统的运行状况,查找非法用户和合法用户的越权操作;
2. 检测系统配置的正确性和安全漏洞,并提示管理员修补漏洞;
3. 对用户非正常活动的统计分析,发现攻击行为的规律;
4. 检查系统程序和数据的一致性和正确性,如计算和比较文件系统的校验和;
5. 能够实时对检测到的攻击行为并进行反应;
6. 操作系统的审计跟踪管理。
图3 攻击检测系统的功能
根据以上攻击检测系统的功能,可以把它的功能结构分为两大部分:中心检测平台和代理服务器。代理服务器是负责从各个操作系统中采集审计数据,并把审计数据转换成与平台无关的格式后传送到中心检测平台,或者把中心平台的审计数据需求传送到各个操作系统中;中心检测平台由专家系统、知识库和管理员组成,其功能是根据代理服务器采集来的审计数据进行专家系统分析,产生系统安全报告。管理员可以向各个主机提供安全管理功能,根据专家系统的分析向各个代理服务器发出审计数据的需求。另外,在中心检测平台和代理服务器之间通过安全的RPC进行通信。
小资料:攻击检测发展简史
攻击检测技术自80年代提出以来得到了极大的发展,国外一些研究机构已经开发出了应用于不同操作系统的几种典型的攻击检测系统(IDS)。典型的IDS通常采用静态异常模型和规则的误用模型来检测入侵,这些IDS的检测基本是基于服务器或网络的。基于服务器的IDS采用服务器操作系统的检测序列作为主要输入源来检测入侵行为,而大多数基于网络的IDS则以监控网络故障作为检测机制,但有些则用基于服务器的检测模式和典型的IDS静态异常算法。
早期的IDS模型设计用来监控单一服务器,是基于主机的攻击检测系统,然而近期的更多模型则集中用于监控通过网络互连的多服务器,是基于网络的侵入检测系统。
早期的基于主机的攻击检测系统一般利用OS的审计轨迹作为输入的主要来源来检测侵入。典型的系统有:ComputerWatch,Discovery,HAYSTACK,IDES(入侵检测专家系统),ISOA(信息安全管理员助手),MIDAS(多种侵入检测及警报系统)和Los Alamos国家实验室开发的异常检测系统W&S。
现在的攻击检测系统更多的是对许多互联在网络上的主机的监视。典型的系统有为Los Alamos国家实验室的集成计算机网络设计的网络异常检测和侵入报告系统NADIR,这是一个自动专家系统;加利福尼亚大学的NSM系统,它是通过广播LAN上的信息流量来检测入侵行为;分布式入侵检测系统DIDS等。