1.入侵信息收集
入侵检测的第一步是信息收集。收集的内容包括系统、网络、数据及用户活动的状态和行为。通常需要在网络系统中的若干关键点(不同网段和不同主机)收集信息,这样做,除了可以扩大检测范围,还有一个重要原因:即仅分析一个源的信息有可能看不出疑点,但分析几个源的信息,当出现不一致时可确定为可疑行为或入侵的标识。
入侵检测很大程度依赖收集信息的可靠性和正确性,要利用精确的软件报告这些信息。因入侵者常替换软件以搞混和移走信息,如替换被程序调用的子程序、库和其他工具。入侵者对系统的修改可能使系统功能失常但看起来仍正常,这就需要保证用来检测网络系统的软件的完整性,特别是入侵检测系统本身应具很强的坚固性,防止因被篡改而收集到错误信息。
入侵检测利用的信息通常来自4方面:
(1)系统和网络日志
日志提供当前系统的细节,如哪些系统被攻击了,哪些系统被攻破了。因此,充分利用系统和网络日志文件信息是检测入侵的必要条件。日志中包含发生在系统和网络上的不寻常和不期望活动的证据,这些证据可指出有入侵发生。通过查看日志文件,能发现成功入侵或入侵企图,并启动相应的应急响应程序。日志文件中记录各种行为类型,每种类型又包含不同信息,例如记录“用户活动”类型的日志,就包含登录、用户ID改变、用户对文件的访问、授权和认证信息等内容。很显然,对用户活动来讲,不正常的或不期望的行为就是重复登录失败、登录到不期望的位置以及非授权的企图访问重要文件等。
所有重要系统应定期做日志,且日志应定期保存与备份。服务器使用一次性写入介质保存数据,可避免攻击者篡改日志。系统本地日志与发到远端系统保存的日志提供冗余和额外的安全保护层。在两日志互相比较时,任何不同都将显示出系统的异常。
(2)目录和文件中的不期望的改变
网络环境的文件系统包含软件和数据文件。包含重要信息的文件和私有数据文件经常是攻击者修改或破坏的目标。目录和文件中的非正常改变(修改和删除),特别是那些正常情况下限制访问的,很可能就是一种入侵产生的指示和信号。攻击者经常替换、修改和破坏获得访问权的系统上的文件,同时为了隐藏在系统中的表现及活动痕迹,都会尽力去替换系统程序或修改系统日志文件。
(3)程序执行中的不期望行为
网络系统上的程序执行一般包括操作系统、网络服务、用户启动的程序和特定目的的应用,如数据库服务器。每个在系统上执行的程序由一到多个进程来实现。每个进程执行在具有不同权限的环境中,这种环境控制着进程可访问的系统资源、程序和数据文件等。一个进程的执行行为由其运行时执行的操作来表现,操作执行的方式不同,利用的系统资源也就不同。操作包括计算、文件传输、设备和其他进程,以及与网络间其他进程的通信。一个进程出现不期望的行为可能表明攻击者正在入侵系统。
(4)物理形式的入侵信息
这包括两方面内容:一是未授权的对网络硬件连接;二是对物理资源的未授权访问。入侵者会想方设法去突破网络防卫,如在物理上访问内部网,就能安装他们自己的设备和软件,也就可了解和掌握网上由用户加上去的不安全(未授权)设备,然后利用这些设备访问网络。
2.信息分析
对上述4类收集到的系统、网络、数据及用户活动状态和行为等信息,一般通过模式匹配、统计分析、专家系统和完整性分析4种方法进行分析。其中前3种方法用于实时入侵检测,完整性分析用于事后分析。目前入侵检测系统绝大多数属于模式匹配特征检测系统,其他少量为采用概率统计的统计检测系统与基于日志的专家知识库系统。
(1)模式匹配
模式匹配又称特征检测,就是先对已知的攻击或入侵的方式做出确定性描述,形成相应的事件模式。当收集到的信息与已知入侵事件模式相匹配时,即报警。其原理与专家系统相仿,检测方法与计算机病毒的检测方式类似。目前,基于对包特征描述的模式匹配应用较广泛。该方法预报检测的准确率较高,但对于无经验知识入侵与攻击行为无能为力。(www.xing528.com)
(2)统计分析
统计分析方法首先为系统对象(如用户、文件、目录和设备等)创建一个统计描述,统计正常使用时的一些测量属性(如访问次数、操作失败次数、间隔时间、资源消耗情况等)的平均值。基于对系统对象历史行为建模,系统根据每个对象以前历史行为,生成每个对象的历史行为记录库。
测量属性用来与网络、系统目前行为进行比较,任何观察值在正常值范围之外时,就认为有入侵发生。如统计分析可能标识如下不正常行为:一个在晚八点至早六点从不登录的账号却在凌晨两点试图登录。该方法优点是可检测到未知的入侵和更为复杂的入侵,缺点是误报、漏报率高,且不适应系统对象正常行为的突然改变。
常用入侵检测系统采用5种统计模型。
●操作模型。该模型假设异常可通过测量结果与一些固定指标相比较得到,固定指标可以根据经验值或一段时间内的统计平均得到,如在短时间内多次失败的登录很有可能是口令尝试攻击。
●方差。计算参数的方差,设定其置信区间,当测量值超过置信区间时,有可能异常。
●多元模型。操作模型的扩展,通过同时分析多个参数实现检测。
●马尔可夫过程模型。将每种类型的事件定义为系统状态,用状态转移矩阵表示状态的变化,当一事件发生时,若状态矩阵的转移概率较小,则可能为异常事件。
●时间序列分析。将事件计数与资源消耗根据时间排成序列,如一新事件在该时间发生的概率较低,则该事件可能是入侵。
(3)专家系统
专家系统在统计分析基础上发展起来,对入侵进行检测经常是针对有特征入侵行为。根据专家对可疑行为的分析经验形成一套推理规则,在此基础上建立专家系统,专家系统自动进行对所涉及的入侵行为分析,随经验积累而利用其自学习能力进行规则扩充与修正。
所谓规则,即知识,不同的系统与设备具有不同的规则,且规则之间往往无通用性。专家系统建立依赖于知识库的完备性,知识库的完备性又取决于审计记录的完备性与实时性。入侵的特征抽取与表达,是入侵检测专家系统的关键。在系统实现中,将有关入侵的知识转化为if-then结构(或复合结构),if部分为入侵特征,then部分为系统防范措施。
(4)完整性分析
关注某文件或对象是否被更改,包括文件和目录的内容及属性。完整性分析在发现被更改的、被特洛伊化的应用程序方面特别有效。完整性分析使用消息摘要函数(如MD5),能识别瞬时微小的变化。不管模式匹配方法和统计分析方法能否发现入侵,只要是成功的攻击导致了文件或其他对象的任何改变,都能发现。完整性分析的缺点是一般以批处理方式实现,不便用于实时响应。可在每天某特定时间内开启完整性分析模块,对网络进行全面扫描检查。
3.响应
入侵检测响应方式分被动响应与主动响应。被动响应系统只发出告警通知,将发生的不正常情况报告给管理员,本身并不试图降低所造成的破坏,更不会主动地对攻击者采取反击行动。主动响应系统可分为对被攻击系统实施控制的系统和对攻击系统实施控制的系统。对被攻击系统实施控制(防护),是通过调整被攻击系统的状态,阻止或减轻攻击影响,如断开网络连接、增加安全日志、杀死可疑进程等;对攻击系统实施控制(反击),这种系统多被军方所重视和采用。目前主动响应系统还较少,即使发生了,一般也都是断开可疑攻击的网络连接,或是阻塞可疑的系统调用,若失败则终止该进程。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。