APP下载

基于实时击键序列的主机入侵检测系统研究

2009-02-23

网络与信息 2009年1期
关键词:特性检测用户

李 苗 刘 超

摘要:用户的击键特性犹如指纹,能反映人独特的生理和行为特性。击键特性识别是一种生理统计学技术,它根据敲击键盘的节奏模式来区分不同的人。将击键特性运用于入侵检测能有效地识别用户,减少黑客入侵,防止账户被盗。

关键词:入侵检测;击键特性

一、前言

入侵检侧(intrusion detection)是一种对发生在主机或网络系统中的事件进行自动检测的方法,作为分析安全问题的软件与硬件的组合,已成为网络信息安全研究的热点。计算机网络系统不仅会受到网络中异常行为的攻击,也容易受到内部用户的攻击。其中主机入侵的一个重要手段就是利用他人账户进行登陆,黑客已经能利用“字典”等攻击方法破译用户的账户名和密码。

依据击键序列的检测属于异常入侵检测范畴,它首先建立正常用户的击键序列模式,然后监测用户击键模式,与所有正常模式匹配以检测入侵是否发生。击键特性在入侵检测中的应用主要有两个方面:(1)当用户进行登陆时,根据用户敲击账户名和密码字符串的击键数据识别用户身份,防止账户盗用现象;(2)用户已经成功登陆后,采用连续识别技术对其整个交互过程的击键特性进行动态监控,以防止中途用户替换现象。

二、击键特性描述

击键特性的研究对象包括击键间隔时间(inter-key time)和击键延迟时间(holdtime),其中间隔时间指一次按键到下一次按键之间的时间,而延迟时间指一个键的按下和弹起之间的时间。这些数据的获取既可以不干扰用户操作计算机,又不需要添加任何额外的硬件。20世纪80年代初,Gaines等人对七个秘书的击键行为进行研究,第一次提出了用击键时间识别用户的可能性。随后,Leggett等人又把连续统计理论应用于击键特性的识别中,得到了正常用户的错误报警率为0.17%。异常用户通过率为13.3%。1994年,Napier等人改进了Leggett的算法,将正常用户的误报率和异常用户通过率之和降低到3.8%。后来,一些神经网络方法也被应用到击键特性的识别中并获得了很好的效果。

三、基于实时击键序列的主机入侵检测系统

1.典型入侵检测分析

为了更好地解决入侵检测系统之间的互操作性,先来了解一下通用入侵检测系统模型的工作机制,如图1所示。

上图将入侵检测系统分为以下组件:E-事件产生器;A-事件分析器;R-响应单位;D-事件数据库。

入侵检测的第一步是由事件产生器进行信息收集,由不同主机的代理来收集信息,包括系统日志文件、非正常的目录和文件改变、非正常的程序执行。一旦有这样的信息。系统就会将其保存在事件数据库中,并由事件响应器提出警告,同时发送给事件分析器。事件分析器接收到有关信息,被送到检测引擎,检测引擎驻留在传感器中,一般通过三种技术手段进行分析:模式匹配、统计分析和完整性分析。当检测到某种误用模式时,产生一个告警并发送给控制台及事件产生器进行事件存储。事件产生器按照告警产生预先定义的响应采取相应措施,可以是终止进程、切断连接、改变文件属性,也可以只是简单的告警。

2.实时击键检测系统

实时击键入侵检测系统是将击键特性运用在入侵检测中的一种方法。该系统既能在用户登陆过程中完成身份的认证,又能在登陆后连续不断地对用户的动态击键行为进行监控,实现对整个用户击键过程的检测,以此防止账户盗用和用户替换的异常行为。实时击键检测系统设计框架如图2所示,系统流程如图3所示。

实时击键检测系统框架描述了从输入击键序列到采集数据与用户击键档案的比较,要先通过数据源的获取和分析将结果报告给系统,再由系统将分析的结果与用户击键档案进行对比,看与之是否匹配。

在实时击键入侵检测系统流程图中主要描述了从开始判断是否是新用户要登陆,再通过动态的监控查看身份认证看是否是合法用户,最后调用用户档案比较决定是否报警。

而在实际应用中,用户的击键特性会在一定范围内逐渐发生变化。根据实践,当用户开始使用一个新账户时,由于对新用户名和密码的不熟悉,登陆击键速度相对较低,随着登陆次数的增多,用户对这些特定字符串的敲击越来越熟练,相应的击键速度也会逐渐变快并趋向一个稳定值。为了反映用户击键特性的这种变化,于是在实时击键入侵检测系统的设计过程中增加了自适应机制,其原理如图2所示。自适应机制通过分析近期用户正常击键数据定期更新用户击键档案,该机制能够更准确地反映用户当前的击键特性。

3.用户击键档案的形成

实时击键入侵检测系统首先对用户进行离线的击键训练,通过分析击键序列,为每个用户建立击键行为档案。这种离线击键训练发生在添加新用户的过程中,目的是为新用户建立初始的用户击键档案。训练的击键内容主要是用户名、密码和该用户常用的命令序列。用户击键档案由总体击键间隔时间的均值、方差以及具体键出现的频率和间隔时间统计概率分布等统计量来描述。

4.数据源的获取

为了不影响用户正常使用计算机,实时数据采集模块必须嵌入到操作系统中,Win-dows环境中的实现较为简单。可以直接利用现成系统函数来捕获。

击键的数据采集是整个实时击键检测系统的基础。考虑到登陆身份认证过程中,用户名和密码的字符个数有限,而经证明当击键字符串的长度降到10个左右时,误报率会明显上升,为了提高检测系统的准确度,需要增加统计量的个数。因此,本系统数据采集的对象同时包含击键按下时间和弹起时间两部分。根据这些原始数据可以计算两个重要的统计量——间隔时间Ti和延迟时间Th

Ti(N)=Tdown(N+1)-Tdown(N)

Th(N)=Tup(N)-Tdown(N)

其中Tdown表示按下时间,Tdown表示弹起时间。

实时击键检测系统捕获的击键数据中或多或少都会存在一些干扰和噪音,例如,用户在击键过程中会停下来跟别人说话或者敲错键后进行修正,造成击键间隔时间在某些点上突然变大的情况。对含有这种干扰的数据进行分析,必定会降低检测结果的准确性,因此完成数据采集后,还需要对数据进行预处理工作。考虑到不同的人有不同的击键速度。一般人的击键间隔时间大约在40~800ms之间,有时差异可能会更大。如果对所有用户设立统一的过滤阈值,阈值定低了,会将一些击键速度慢的人的正常数据滤除掉;阈值定高了,又会带来很大的误差。因此分别为每个用户确定一个阈值L是更客观的选择。

Li=K×Mi

其中Mi是第i个用户的平均间隔时间,系数K可用一些优化工具来确定。

四、结束语

通过以上对整个入侵系统的分析,可以总结出实时击键检测系统具有以下优点:

a)完整性,系统可连续对用户的整个击键过程进行监控。

b)可用性,系统开销很小,不影响系统性能和用户正常操作。

c)适应性,系统经过不大的变化就可以移植到各种操作系统中,容易适应环境的变化。

d)实时性,系统能很快察觉用户账户盗用和替换行为,以便及时制止和限制破坏。

e)准确性,该检测系统具有较低的误警率和漏警率。

但是实时击键入侵检测系统存在诸多优点的同时,也存在着一些缺点,当入侵者的击键序列与合法用户击键档案的数据相类似时。系统就会认为是正常用户。

猜你喜欢

特性检测用户
您拨打的用户已恋爱,请稍后再哭
茶树吸收营养物质的特性
基于用户和电路的攻击识别方法
信用卡资深用户
Quick Charge 4:什么是新的?
必修二 Modules 1—6综合检测题
“整式的加减”检测题
“整式”检测题
中国十八大名酒的度数和特性