李 苗 劉 超
摘要:用戶的擊鍵特性猶如指紋,能反映人獨(dú)特的生理和行為特性。擊鍵特性識(shí)別是一種生理統(tǒng)計(jì)學(xué)技術(shù),它根據(jù)敲擊鍵盤的節(jié)奏模式來區(qū)分不同的人。將擊鍵特性運(yùn)用于入侵檢測(cè)能有效地識(shí)別用戶,減少黑客入侵,防止賬戶被盜。
關(guān)鍵詞:入侵檢測(cè);擊鍵特性
一、前言
入侵檢側(cè)(intrusion detection)是一種對(duì)發(fā)生在主機(jī)或網(wǎng)絡(luò)系統(tǒng)中的事件進(jìn)行自動(dòng)檢測(cè)的方法,作為分析安全問題的軟件與硬件的組合,已成為網(wǎng)絡(luò)信息安全研究的熱點(diǎn)。計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)不僅會(huì)受到網(wǎng)絡(luò)中異常行為的攻擊,也容易受到內(nèi)部用戶的攻擊。其中主機(jī)入侵的一個(gè)重要手段就是利用他人賬戶進(jìn)行登陸,黑客已經(jīng)能利用“字典”等攻擊方法破譯用戶的賬戶名和密碼。
依據(jù)擊鍵序列的檢測(cè)屬于異常入侵檢測(cè)范疇,它首先建立正常用戶的擊鍵序列模式,然后監(jiān)測(cè)用戶擊鍵模式,與所有正常模式匹配以檢測(cè)入侵是否發(fā)生。擊鍵特性在入侵檢測(cè)中的應(yīng)用主要有兩個(gè)方面:(1)當(dāng)用戶進(jìn)行登陸時(shí),根據(jù)用戶敲擊賬戶名和密碼字符串的擊鍵數(shù)據(jù)識(shí)別用戶身份,防止賬戶盜用現(xiàn)象;(2)用戶已經(jīng)成功登陸后,采用連續(xù)識(shí)別技術(shù)對(duì)其整個(gè)交互過程的擊鍵特性進(jìn)行動(dòng)態(tài)監(jiān)控,以防止中途用戶替換現(xiàn)象。
二、擊鍵特性描述
擊鍵特性的研究對(duì)象包括擊鍵間隔時(shí)間(inter-key time)和擊鍵延遲時(shí)間(holdtime),其中間隔時(shí)間指一次按鍵到下一次按鍵之間的時(shí)間,而延遲時(shí)間指一個(gè)鍵的按下和彈起之間的時(shí)間。這些數(shù)據(jù)的獲取既可以不干擾用戶操作計(jì)算機(jī),又不需要添加任何額外的硬件。20世紀(jì)80年代初,Gaines等人對(duì)七個(gè)秘書的擊鍵行為進(jìn)行研究,第一次提出了用擊鍵時(shí)間識(shí)別用戶的可能性。隨后,Leggett等人又把連續(xù)統(tǒng)計(jì)理論應(yīng)用于擊鍵特性的識(shí)別中,得到了正常用戶的錯(cuò)誤報(bào)警率為0.17%。異常用戶通過率為13.3%。1994年,Napier等人改進(jìn)了Leggett的算法,將正常用戶的誤報(bào)率和異常用戶通過率之和降低到3.8%。后來,一些神經(jīng)網(wǎng)絡(luò)方法也被應(yīng)用到擊鍵特性的識(shí)別中并獲得了很好的效果。
三、基于實(shí)時(shí)擊鍵序列的主機(jī)入侵檢測(cè)系統(tǒng)
1.典型入侵檢測(cè)分析
為了更好地解決入侵檢測(cè)系統(tǒng)之間的互操作性,先來了解一下通用入侵檢測(cè)系統(tǒng)模型的工作機(jī)制,如圖1所示。
上圖將入侵檢測(cè)系統(tǒng)分為以下組件:E-事件產(chǎn)生器;A-事件分析器;R-響應(yīng)單位;D-事件數(shù)據(jù)庫。
入侵檢測(cè)的第一步是由事件產(chǎn)生器進(jìn)行信息收集,由不同主機(jī)的代理來收集信息,包括系統(tǒng)日志文件、非正常的目錄和文件改變、非正常的程序執(zhí)行。一旦有這樣的信息。系統(tǒng)就會(huì)將其保存在事件數(shù)據(jù)庫中,并由事件響應(yīng)器提出警告,同時(shí)發(fā)送給事件分析器。事件分析器接收到有關(guān)信息,被送到檢測(cè)引擎,檢測(cè)引擎駐留在傳感器中,一般通過三種技術(shù)手段進(jìn)行分析:模式匹配、統(tǒng)計(jì)分析和完整性分析。當(dāng)檢測(cè)到某種誤用模式時(shí),產(chǎn)生一個(gè)告警并發(fā)送給控制臺(tái)及事件產(chǎn)生器進(jìn)行事件存儲(chǔ)。事件產(chǎn)生器按照告警產(chǎn)生預(yù)先定義的響應(yīng)采取相應(yīng)措施,可以是終止進(jìn)程、切斷連接、改變文件屬性,也可以只是簡(jiǎn)單的告警。
2.實(shí)時(shí)擊鍵檢測(cè)系統(tǒng)
實(shí)時(shí)擊鍵入侵檢測(cè)系統(tǒng)是將擊鍵特性運(yùn)用在入侵檢測(cè)中的一種方法。該系統(tǒng)既能在用戶登陸過程中完成身份的認(rèn)證,又能在登陸后連續(xù)不斷地對(duì)用戶的動(dòng)態(tài)擊鍵行為進(jìn)行監(jiān)控,實(shí)現(xiàn)對(duì)整個(gè)用戶擊鍵過程的檢測(cè),以此防止賬戶盜用和用戶替換的異常行為。實(shí)時(shí)擊鍵檢測(cè)系統(tǒng)設(shè)計(jì)框架如圖2所示,系統(tǒng)流程如圖3所示。
實(shí)時(shí)擊鍵檢測(cè)系統(tǒng)框架描述了從輸入擊鍵序列到采集數(shù)據(jù)與用戶擊鍵檔案的比較,要先通過數(shù)據(jù)源的獲取和分析將結(jié)果報(bào)告給系統(tǒng),再由系統(tǒng)將分析的結(jié)果與用戶擊鍵檔案進(jìn)行對(duì)比,看與之是否匹配。
在實(shí)時(shí)擊鍵入侵檢測(cè)系統(tǒng)流程圖中主要描述了從開始判斷是否是新用戶要登陸,再通過動(dòng)態(tài)的監(jiān)控查看身份認(rèn)證看是否是合法用戶,最后調(diào)用用戶檔案比較決定是否報(bào)警。
而在實(shí)際應(yīng)用中,用戶的擊鍵特性會(huì)在一定范圍內(nèi)逐漸發(fā)生變化。根據(jù)實(shí)踐,當(dāng)用戶開始使用一個(gè)新賬戶時(shí),由于對(duì)新用戶名和密碼的不熟悉,登陸擊鍵速度相對(duì)較低,隨著登陸次數(shù)的增多,用戶對(duì)這些特定字符串的敲擊越來越熟練,相應(yīng)的擊鍵速度也會(huì)逐漸變快并趨向一個(gè)穩(wěn)定值。為了反映用戶擊鍵特性的這種變化,于是在實(shí)時(shí)擊鍵入侵檢測(cè)系統(tǒng)的設(shè)計(jì)過程中增加了自適應(yīng)機(jī)制,其原理如圖2所示。自適應(yīng)機(jī)制通過分析近期用戶正常擊鍵數(shù)據(jù)定期更新用戶擊鍵檔案,該機(jī)制能夠更準(zhǔn)確地反映用戶當(dāng)前的擊鍵特性。
3.用戶擊鍵檔案的形成
實(shí)時(shí)擊鍵入侵檢測(cè)系統(tǒng)首先對(duì)用戶進(jìn)行離線的擊鍵訓(xùn)練,通過分析擊鍵序列,為每個(gè)用戶建立擊鍵行為檔案。這種離線擊鍵訓(xùn)練發(fā)生在添加新用戶的過程中,目的是為新用戶建立初始的用戶擊鍵檔案。訓(xùn)練的擊鍵內(nèi)容主要是用戶名、密碼和該用戶常用的命令序列。用戶擊鍵檔案由總體擊鍵間隔時(shí)間的均值、方差以及具體鍵出現(xiàn)的頻率和間隔時(shí)間統(tǒng)計(jì)概率分布等統(tǒng)計(jì)量來描述。
4.數(shù)據(jù)源的獲取
為了不影響用戶正常使用計(jì)算機(jī),實(shí)時(shí)數(shù)據(jù)采集模塊必須嵌入到操作系統(tǒng)中,Win-dows環(huán)境中的實(shí)現(xiàn)較為簡(jiǎn)單??梢灾苯永矛F(xiàn)成系統(tǒng)函數(shù)來捕獲。
擊鍵的數(shù)據(jù)采集是整個(gè)實(shí)時(shí)擊鍵檢測(cè)系統(tǒng)的基礎(chǔ)??紤]到登陸身份認(rèn)證過程中,用戶名和密碼的字符個(gè)數(shù)有限,而經(jīng)證明當(dāng)擊鍵字符串的長(zhǎng)度降到10個(gè)左右時(shí),誤報(bào)率會(huì)明顯上升,為了提高檢測(cè)系統(tǒng)的準(zhǔn)確度,需要增加統(tǒng)計(jì)量的個(gè)數(shù)。因此,本系統(tǒng)數(shù)據(jù)采集的對(duì)象同時(shí)包含擊鍵按下時(shí)間和彈起時(shí)間兩部分。根據(jù)這些原始數(shù)據(jù)可以計(jì)算兩個(gè)重要的統(tǒng)計(jì)量——間隔時(shí)間Ti和延遲時(shí)間Th。
Ti(N)=Tdown(N+1)-Tdown(N)
Th(N)=Tup(N)-Tdown(N)
其中Tdown表示按下時(shí)間,Tdown表示彈起時(shí)間。
實(shí)時(shí)擊鍵檢測(cè)系統(tǒng)捕獲的擊鍵數(shù)據(jù)中或多或少都會(huì)存在一些干擾和噪音,例如,用戶在擊鍵過程中會(huì)停下來跟別人說話或者敲錯(cuò)鍵后進(jìn)行修正,造成擊鍵間隔時(shí)間在某些點(diǎn)上突然變大的情況。對(duì)含有這種干擾的數(shù)據(jù)進(jìn)行分析,必定會(huì)降低檢測(cè)結(jié)果的準(zhǔn)確性,因此完成數(shù)據(jù)采集后,還需要對(duì)數(shù)據(jù)進(jìn)行預(yù)處理工作??紤]到不同的人有不同的擊鍵速度。一般人的擊鍵間隔時(shí)間大約在40~800ms之間,有時(shí)差異可能會(huì)更大。如果對(duì)所有用戶設(shè)立統(tǒng)一的過濾閾值,閾值定低了,會(huì)將一些擊鍵速度慢的人的正常數(shù)據(jù)濾除掉;閾值定高了,又會(huì)帶來很大的誤差。因此分別為每個(gè)用戶確定一個(gè)閾值L是更客觀的選擇。
Li=K×Mi
其中Mi是第i個(gè)用戶的平均間隔時(shí)間,系數(shù)K可用一些優(yōu)化工具來確定。
四、結(jié)束語
通過以上對(duì)整個(gè)入侵系統(tǒng)的分析,可以總結(jié)出實(shí)時(shí)擊鍵檢測(cè)系統(tǒng)具有以下優(yōu)點(diǎn):
a)完整性,系統(tǒng)可連續(xù)對(duì)用戶的整個(gè)擊鍵過程進(jìn)行監(jiān)控。
b)可用性,系統(tǒng)開銷很小,不影響系統(tǒng)性能和用戶正常操作。
c)適應(yīng)性,系統(tǒng)經(jīng)過不大的變化就可以移植到各種操作系統(tǒng)中,容易適應(yīng)環(huán)境的變化。
d)實(shí)時(shí)性,系統(tǒng)能很快察覺用戶賬戶盜用和替換行為,以便及時(shí)制止和限制破壞。
e)準(zhǔn)確性,該檢測(cè)系統(tǒng)具有較低的誤警率和漏警率。
但是實(shí)時(shí)擊鍵入侵檢測(cè)系統(tǒng)存在諸多優(yōu)點(diǎn)的同時(shí),也存在著一些缺點(diǎn),當(dāng)入侵者的擊鍵序列與合法用戶擊鍵檔案的數(shù)據(jù)相類似時(shí)。系統(tǒng)就會(huì)認(rèn)為是正常用戶。