李 苗 劉 超
摘要:用戶的擊鍵特性猶如指紋,能反映人獨特的生理和行為特性。擊鍵特性識別是一種生理統(tǒng)計學技術,它根據(jù)敲擊鍵盤的節(jié)奏模式來區(qū)分不同的人。將擊鍵特性運用于入侵檢測能有效地識別用戶,減少黑客入侵,防止賬戶被盜。
關鍵詞:入侵檢測;擊鍵特性
一、前言
入侵檢側(cè)(intrusion detection)是一種對發(fā)生在主機或網(wǎng)絡系統(tǒng)中的事件進行自動檢測的方法,作為分析安全問題的軟件與硬件的組合,已成為網(wǎng)絡信息安全研究的熱點。計算機網(wǎng)絡系統(tǒng)不僅會受到網(wǎng)絡中異常行為的攻擊,也容易受到內(nèi)部用戶的攻擊。其中主機入侵的一個重要手段就是利用他人賬戶進行登陸,黑客已經(jīng)能利用“字典”等攻擊方法破譯用戶的賬戶名和密碼。
依據(jù)擊鍵序列的檢測屬于異常入侵檢測范疇,它首先建立正常用戶的擊鍵序列模式,然后監(jiān)測用戶擊鍵模式,與所有正常模式匹配以檢測入侵是否發(fā)生。擊鍵特性在入侵檢測中的應用主要有兩個方面:(1)當用戶進行登陸時,根據(jù)用戶敲擊賬戶名和密碼字符串的擊鍵數(shù)據(jù)識別用戶身份,防止賬戶盜用現(xiàn)象;(2)用戶已經(jīng)成功登陸后,采用連續(xù)識別技術對其整個交互過程的擊鍵特性進行動態(tài)監(jiān)控,以防止中途用戶替換現(xiàn)象。
二、擊鍵特性描述
擊鍵特性的研究對象包括擊鍵間隔時間(inter-key time)和擊鍵延遲時間(holdtime),其中間隔時間指一次按鍵到下一次按鍵之間的時間,而延遲時間指一個鍵的按下和彈起之間的時間。這些數(shù)據(jù)的獲取既可以不干擾用戶操作計算機,又不需要添加任何額外的硬件。20世紀80年代初,Gaines等人對七個秘書的擊鍵行為進行研究,第一次提出了用擊鍵時間識別用戶的可能性。隨后,Leggett等人又把連續(xù)統(tǒng)計理論應用于擊鍵特性的識別中,得到了正常用戶的錯誤報警率為0.17%。異常用戶通過率為13.3%。1994年,Napier等人改進了Leggett的算法,將正常用戶的誤報率和異常用戶通過率之和降低到3.8%。后來,一些神經(jīng)網(wǎng)絡方法也被應用到擊鍵特性的識別中并獲得了很好的效果。

三、基于實時擊鍵序列的主機入侵檢測系統(tǒng)
1.典型入侵檢測分析
為了更好地解決入侵檢測系統(tǒng)之間的互操作性,先來了解一下通用入侵檢測系統(tǒng)模型的工作機制,如圖1所示。
上圖將入侵檢測系統(tǒng)分為以下組件:E-事件產(chǎn)生器;A-事件分析器;R-響應單位;D-事件數(shù)據(jù)庫。
入侵檢測的第一步是由事件產(chǎn)生器進行信息收集,由不同主機的代理來收集信息,包括系統(tǒng)日志文件、非正常的目錄和文件改變、非正常的程序執(zhí)行。一旦有這樣的信息。系統(tǒng)就會將其保存在事件數(shù)據(jù)庫中,并由事件響應器提出警告,同時發(fā)送給事件分析器。事件分析器接收到有關信息,被送到檢測引擎,檢測引擎駐留在傳感器中,一般通過三種技術手段進行分析:模式匹配、統(tǒng)計分析和完整性分析。當檢測到某種誤用模式時,產(chǎn)生一個告警并發(fā)送給控制臺及事件產(chǎn)生器進行事件存儲。事件產(chǎn)生器按照告警產(chǎn)生預先定義的響應采取相應措施,可以是終止進程、切斷連接、改變文件屬性,也可以只是簡單的告警。
2.實時擊鍵檢測系統(tǒng)
實時擊鍵入侵檢測系統(tǒng)是將擊鍵特性運用在入侵檢測中的一種方法。該系統(tǒng)既能在用戶登陸過程中完成身份的認證,又能在登陸后連續(xù)不斷地對用戶的動態(tài)擊鍵行為進行監(jiān)控,實現(xiàn)對整個用戶擊鍵過程的檢測,以此防止賬戶盜用和用戶替換的異常行為。實時擊鍵檢測系統(tǒng)設計框架如圖2所示,系統(tǒng)流程如圖3所示。
實時擊鍵檢測系統(tǒng)框架描述了從輸入擊鍵序列到采集數(shù)據(jù)與用戶擊鍵檔案的比較,要先通過數(shù)據(jù)源的獲取和分析將結(jié)果報告給系統(tǒng),再由系統(tǒng)將分析的結(jié)果與用戶擊鍵檔案進行對比,看與之是否匹配。
在實時擊鍵入侵檢測系統(tǒng)流程圖中主要描述了從開始判斷是否是新用戶要登陸,再通過動態(tài)的監(jiān)控查看身份認證看是否是合法用戶,最后調(diào)用用戶檔案比較決定是否報警。
而在實際應用中,用戶的擊鍵特性會在一定范圍內(nèi)逐漸發(fā)生變化。根據(jù)實踐,當用戶開始使用一個新賬戶時,由于對新用戶名和密碼的不熟悉,登陸擊鍵速度相對較低,隨著登陸次數(shù)的增多,用戶對這些特定字符串的敲擊越來越熟練,相應的擊鍵速度也會逐漸變快并趨向一個穩(wěn)定值。為了反映用戶擊鍵特性的這種變化,于是在實時擊鍵入侵檢測系統(tǒng)的設計過程中增加了自適應機制,其原理如圖2所示。自適應機制通過分析近期用戶正常擊鍵數(shù)據(jù)定期更新用戶擊鍵檔案,該機制能夠更準確地反映用戶當前的擊鍵特性。

3.用戶擊鍵檔案的形成
實時擊鍵入侵檢測系統(tǒng)首先對用戶進行離線的擊鍵訓練,通過分析擊鍵序列,為每個用戶建立擊鍵行為檔案。這種離線擊鍵訓練發(fā)生在添加新用戶的過程中,目的是為新用戶建立初始的用戶擊鍵檔案。訓練的擊鍵內(nèi)容主要是用戶名、密碼和該用戶常用的命令序列。用戶擊鍵檔案由總體擊鍵間隔時間的均值、方差以及具體鍵出現(xiàn)的頻率和間隔時間統(tǒng)計概率分布等統(tǒng)計量來描述。
4.數(shù)據(jù)源的獲取
為了不影響用戶正常使用計算機,實時數(shù)據(jù)采集模塊必須嵌入到操作系統(tǒng)中,Win-dows環(huán)境中的實現(xiàn)較為簡單。可以直接利用現(xiàn)成系統(tǒng)函數(shù)來捕獲。
擊鍵的數(shù)據(jù)采集是整個實時擊鍵檢測系統(tǒng)的基礎??紤]到登陸身份認證過程中,用戶名和密碼的字符個數(shù)有限,而經(jīng)證明當擊鍵字符串的長度降到10個左右時,誤報率會明顯上升,為了提高檢測系統(tǒng)的準確度,需要增加統(tǒng)計量的個數(shù)。因此,本系統(tǒng)數(shù)據(jù)采集的對象同時包含擊鍵按下時間和彈起時間兩部分。根據(jù)這些原始數(shù)據(jù)可以計算兩個重要的統(tǒng)計量——間隔時間Ti和延遲時間Th。
Ti(N)=Tdown(N+1)-Tdown(N)
Th(N)=Tup(N)-Tdown(N)
其中Tdown表示按下時間,Tdown表示彈起時間。
實時擊鍵檢測系統(tǒng)捕獲的擊鍵數(shù)據(jù)中或多或少都會存在一些干擾和噪音,例如,用戶在擊鍵過程中會停下來跟別人說話或者敲錯鍵后進行修正,造成擊鍵間隔時間在某些點上突然變大的情況。對含有這種干擾的數(shù)據(jù)進行分析,必定會降低檢測結(jié)果的準確性,因此完成數(shù)據(jù)采集后,還需要對數(shù)據(jù)進行預處理工作。考慮到不同的人有不同的擊鍵速度。一般人的擊鍵間隔時間大約在40~800ms之間,有時差異可能會更大。如果對所有用戶設立統(tǒng)一的過濾閾值,閾值定低了,會將一些擊鍵速度慢的人的正常數(shù)據(jù)濾除掉;閾值定高了,又會帶來很大的誤差。因此分別為每個用戶確定一個閾值L是更客觀的選擇。
Li=K×Mi
其中Mi是第i個用戶的平均間隔時間,系數(shù)K可用一些優(yōu)化工具來確定。
四、結(jié)束語
通過以上對整個入侵系統(tǒng)的分析,可以總結(jié)出實時擊鍵檢測系統(tǒng)具有以下優(yōu)點:
a)完整性,系統(tǒng)可連續(xù)對用戶的整個擊鍵過程進行監(jiān)控。
b)可用性,系統(tǒng)開銷很小,不影響系統(tǒng)性能和用戶正常操作。
c)適應性,系統(tǒng)經(jīng)過不大的變化就可以移植到各種操作系統(tǒng)中,容易適應環(huán)境的變化。
d)實時性,系統(tǒng)能很快察覺用戶賬戶盜用和替換行為,以便及時制止和限制破壞。
e)準確性,該檢測系統(tǒng)具有較低的誤警率和漏警率。
但是實時擊鍵入侵檢測系統(tǒng)存在諸多優(yōu)點的同時,也存在著一些缺點,當入侵者的擊鍵序列與合法用戶擊鍵檔案的數(shù)據(jù)相類似時。系統(tǒng)就會認為是正常用戶。