李榮華 李永忠
(江蘇科技大學計算機科學與工程學院 鎮江 212003)
近年來互聯網快速發展,給社會發展、經濟增長以及文化繁榮帶來了各種各樣的機會,互聯網給人們帶來便利的同時也帶來了不小的網絡安全風險。網絡安全尤其是身份認證技術[1]逐漸成為人們關注的問題。安全的身份認證是保證計算機網絡系統安全運行的基本前提。由于行為特征具有唯一性和易采集性的特點,在身份認證技術領域備受關注,為了阻止攻擊者利用安全漏洞逃避鼠標或者鍵盤中的某一個設備的入侵檢測,采用擊鍵行為特征[1~2]和鼠標行為特征相結合的方式進行身份認證[3]。
身份認證技術[4]原理主要是用戶在登錄系統時輸入賬戶名/密碼,系統通過用戶輸入的賬戶名/密碼與存儲在系統中的合法身份的賬戶名密碼進行匹配,以驗證該用戶身份信息的合法性。輸入賬戶名/密碼與存儲的賬戶名/密碼信息匹配成功,系統認為登錄者的身份合法,授權訪問系統并分配對應的系統資源和服務權限,如果輸入的賬戶名/密碼與存儲的賬戶名/密碼信息匹配不成功,系統認為登錄者的身份為非法用戶,登錄失敗。身份認證技術的關鍵步驟主要包括:
1)提取能夠唯一表示用戶身份特征的關鍵信息;提取用戶身份特征的主要任務是從用戶提供的一般信息中選擇出可以區別于其他用戶的信息作為特征值并抽取;
2)建立身份認證系統;建立身份認證系統的主要任務是基于身份特征選擇和提取的用戶特征值,建立一個用戶分類模型,可以根據抽取的用戶特征值區分合法用戶和非法用戶;
3)匹配認證用戶的身份;匹配認證用戶身份的主要任務是在用戶登錄訪問系統資源或服務時,首先從用戶輸入的賬戶名密碼中提取特征值,再根據建立的用戶分類模型進行信息匹配,確定用戶身份的合法性并決定是否授權訪問系統資源。
研究表明,每個人都有獨一無二的擊鍵特征和鼠標特征,通過分析用戶的這些特征就可以識別其身份。行為特征可以很方便地在已有的賬戶名/密碼身份認證系統中加入基于擊鍵行為特征和鼠標行為特征分析的二次認證模塊,提高系統的安全性。此認證方案可以在不影響用戶使用的情況下,增強現有密碼認證方案的安全性。用戶在用鍵盤輸入時使用雙手,由于個人使用習慣不同,敲擊鍵盤的力度和熟練程度也會不同。本文通過分析這些擊鍵行為特征和鼠標行為特征,實現對用戶身份的鑒別[3]。
信任模型建立的基本思想是根據用戶在系統上執行的各種操作行為判斷操作對象是真實用戶還是攻擊者。如果操作對象的操作行為是按照存儲在用戶配置文件或者模板中的操作行為進行操作,則該用戶就被判定為是真實用戶,信任值增加。如果操作對象的操作行為與存儲在用戶配置文件或者模板中的操作行為有很大偏差,那么系統就判定操作對象是攻擊者,信任值降低。操作對象信任值低于閾值后系統就會自動鎖定,開啟靜態認證模式(用戶名/密碼登錄)。
每個人操作行為不可能一直完全一模一樣。對于真實用戶來說,有時候也可能會有導致信任程度降低的偏差操作行為。但是真實用戶的大部分操作行為都很相近,會使信任程度增加,依然可以獲得高度信任值。但是對于入侵者卻是相反。入侵者雖然可以模仿真實用戶的操作行為,但是大部分操作行為與真實用戶的操作行為偏差甚大,信任值會被降低。很明顯,理想的系統初始會信任任何人,非真實用戶的信任度在操作時,會迅速降低到預先設置的閾值甚至低于閾值,導致系統自動鎖定,啟動靜態身份認證,重啟系統。
動態信任模型[5]方法參數的具體設定是根據用戶執行的不同類型來進行設定的,一個用戶可以同時設置三組不同的參數數據,如:擊鍵行為數據,鼠標點擊行為數據以及鼠標移動行為數據。具體詳細參數如下:
Sci:第i次操作行為的分類分數集;A:閾值;B:距離寬度值;C:單次操作行為信任增加最大值;D:單次操作行為信任降低最大值;Trusti-1:第i-1次操作后系統信任值;Trusti:第i次操作后系統信任值;
信任函數方法計算公式:

式(1)中ΔT代表信任改變值,由操作行為分類分數集和四個參數共同計算得到。由公式可以看出操作分數的分類分數集等于設置的閾值時,信任改變值就為0,即:Sci=A時,ΔT=0。如果操作分數的分類分數集大于設置的閾值,那么信任改變值就為大于0,即:Sci>A時,ΔT>0,表示信任值增加,操作用戶得到reward。如果操作分數的分類分數集小于設置的閾值,信任改變值就為小于0,即:Sci<A時,ΔT<0,表示信任值降低,操作用戶得到penalty。式(2)中給出了第i次操作行為信任值與第i-1次操作行為信任值之間的關系。其中Trusti代表第i次操作行為信任值。
本文提出的是在用戶名/密碼登錄認證方式之上的另外一種連續動態身份認證方案,主要是基于用戶的鍵盤按鍵操作[6]和鼠標點擊操作兩部分操作行為數據作為識別的數據基礎。研究中通過檢查用戶的每一個操作動作,仔細調整信任模型,因為在任何時間點,用戶都只能執行擊鍵操作或者鼠標按鍵[7],鼠標移動或者鼠標滾動,點擊操作中的任何一個,因此本文的信任模型都是基于其中一種進行的分類,沒有多模態融合架構。而且系統采集的數據一定是這幾類操作中的一種。采集數據總架構圖如圖1所示。

圖1 數據采集系統框架圖
3.1.1 擊鍵行為特征架構設計
擊鍵行為也稱為擊鍵動力學[11],表示操作鍵盤的行為。擊鍵操作行為包括單鍵操作和多鍵有向操作。系統采集器通過采集這兩種數據后,通過分類器對采集數據進行分析處理,與模板文件中對應的樣本數據進行匹配,最后得到該用戶的結果集,計算出操作對象的信任得分,根據信任得分值判斷用戶是否為真實用戶還是攻擊者。擊鍵動力學模型框架圖如圖2所示。

圖2 擊鍵模型框架圖
3.1.2 鼠標行為特征架構設計
鼠標行為也稱為鼠標動力學,它表示了鼠標的全部操作行為,主要有鼠標單擊,鼠標雙擊,鼠標移動以及鼠標滾動四種鼠標操作行為。系統采集器通過采集四種數據后,通過分類器對采集數據進行分析處理,與模板文件中的樣本數據進行匹配,最后得到該用戶的結果集,計算出操作者的信任得分,根據信任得分值判斷用戶是否為真實用戶還是攻擊者。鼠標動力學模型框架圖如圖3所示。

圖3 鼠標模型框架圖
3.2.1 擊鍵行為特征數據采集
擊鍵事件的數據格式主要如表1所示。

表1 擊鍵事件數據格式
列表中每一列變量代表的屬性:
Seq:事件的發生順序;Evt.Type:值一般為‘K’,表示擊鍵相關事件;Action:表示擊鍵動作,擊鍵動作只有兩種:點擊和釋放。點擊取值分別為‘D’,釋放取值為‘U’;Value:通過用UTF-8編碼表示擊鍵動作;Time:以毫秒為單位,16ms為周期記錄擊鍵事件動作發生;Relation:前一事件發生的序列號;Flag:系統擊鍵是否是激活狀態;AF:釋放按鍵之前,按鍵操作的重復發生情況。
在研究中,將擊鍵行為特征分為兩類不同的事件動作。第一類是單鍵動作,即按鍵事件是一個鍵的按下和釋放之間的間隔時間差。第二類是擊鍵有向圖行為,行為特征包括有:
1)總時間(Total Time);
2)第一個鍵按下和第二個鍵按下之間的時間(Down-Down Time);
3)第一個鍵釋放和第二個鍵按下之間的時間(Up-Down Time);
4)第一個鍵釋放和第二個鍵釋放之間的時間(Up-Up Time)。
圖4展示了擊鍵特征提取過程。
在分析中,多鍵數據采集采用了有向圖行為,約束兩個連續鍵之間的延遲時間在2000ms以內。忽略長時間的延遲操作,因為這段時間不能代表用戶的正常操作行為。用戶可能在這段時間內停下來思考,喝咖啡或者閱讀。所以在用戶按下最后一個鍵和在按一個新鍵之間所用的時間超過2000ms被判定為不是他的正常輸入操作行為。

圖4 擊鍵特性采集
3.2.2 鼠標行為特征數據采集
鼠標事件的數據格式如表2所示。

表2 鼠標事件數據格式
Seq:表示鼠標事件的發生順序;Evt.Type:表示鼠標相關事件,值一般為‘M’;Action:表示鼠標動作,鼠標動作共分為四種。鼠標移動,鼠標滾輪滾動,鼠標按鈕點擊和釋放。鼠標移動取值為‘M’,鼠標滾輪滾動取值為‘W’,鼠標按鈕按下和釋放取值分別為‘D’和‘U’;Value:以x_y表示的坐標值,x代表橫坐標,y代表縱坐標,以下劃線連接。其中在鼠標滾輪滾動動作的值記為δ,表示滾輪滾動多少。滾輪向上滾動取值為正,滾輪向下滾動,取值為負;Time:以ms為單位,16ms為周期記錄鼠標事件動作發生;Relation:前一事件發生的序列號;Flag:鼠標事件動作是被按下還是釋放狀態;AF:鼠標事件在按下和釋放階段的矩形活動區域。
在鼠標行為特征研究中,對鼠標點擊事件分為四類不同的事件。第一類為鼠標單擊動作,類似于擊鍵動作,即為鼠標單次點擊在鼠標按鍵按下與鼠標按鍵釋放之間的時間差;第二類是鼠標雙擊動作,鼠標點連續兩次點擊時間小于1000ms才記為有效的鼠標雙擊動作時間,否則不計數。第三類是鼠標移動動作。最后一類為鼠標拖動動作,它類似于鼠標移動動作。對于鼠標拖動動作,它是一系列動作的組合,首先是鼠標點擊事件,然后是鼠標移動,最后是鼠標點擊事件,三個動作順序發生。
本系統采用了攻擊操作行為平均數(Average Number of Imposter Actions,ANIA)和真實操作行為平均數(Average Number of Genuine Actions,ANGA)作為系統性能指標。通過ANIA和ANGA值可以表明,在入侵者操作導致系統鎖定之前,攻擊者做了哪些類似真實用戶操作的動作,導致系統信任值改變。ANIA和ANGA兩個指標對于DCA系統來說是一個很好的性能指標描述。不同于靜態認證系統(SA)的錯誤匹配率、錯誤不匹配率和錯誤相等率。DET曲線就可以完整地表現SA系統的性能。同樣的對于DCA系統,也可以有相應的性能描述指標。系統最好的表現是:
1)用戶不會因為系統采集的數據模型進行操作的被誤判斷,而導致系統鎖定;
2)所有的入侵者操作系統,系統可以盡快識別出,自動鎖定系統。
然而實際情況卻不盡如上面所述。系統有時候可能也會出現誤判,真實用戶操作系統時候,會導致系統自動鎖定,非真實用戶操作系統時未被識別出。對全部可能發生的情況進行分類,得到如下四類可能的情況:
A類:最理想的情況,所有的入侵者和真實用戶都能被識別出來;
B類:真實用戶可以識別出來,同時系統不會自動鎖定,但是一些入侵者不能被判斷出來。
C類:系統可以識別全部的入侵者,同時鎖定系統,但是一些真實用戶有時候會被誤判成為入侵者,導致系統鎖定;
D類:最糟糕的情況。部分入侵者沒有被檢測出來,部分真實用戶被系統誤判為入侵者,鎖定系統。
部分采集數據如圖5所示。

圖5 鍵盤行為操作數據
通過進行相同的預處理技術,使用相同的分類技術對PA系統和DCA系統同時進行了測試,選擇數據基數大小從100到1000,其中VP-1,VP-2,VP-3代表不同的驗證過程。對應用于DCA系統的ANIA和ANGA性能指標,根據不同驗證過程,在DCA系統和PA系統進行了測試,ANGA測試結果如圖6所示。

圖6 ANGA指標在PA系統與DCA系統的測試結果
對于ANGA指標中,DCA系統表現更好,當ANIA值相差不大時,ANGA的值較PA系統中更高。當ANGA值相差不大時,DCA系統的ANIA的值較PA系統的ANIA值更小。ANIA測試結果如圖7所示。

圖7 ANIA指標在PA系統與DCA系統的測試結果
本文利用擊鍵行為特征和鼠標行為特征提高身份認證系統的安全性,采用連續認證的方式確定操作過程用戶的真實身份。多因素認證與持續性安全認證是本文系統安全理念上的創新,是系統的核心競爭力。擊鍵行為特征和鼠標行為特征作為一種不需要額外硬件設備就能采集的行為特征,在各個領域都有著廣泛的應用,特別是在網絡安全領域應用最為廣泛。本文提出的動態連續身份認證系統可實現在不影響用戶體驗的前提下,提高身份認證系統的安全性。實驗研究的環境模擬真實環境進行,在DCA系統實驗結果與PA系統實驗結果對比中發現,DCA系統在準確識別率和用戶友好方面都有很高的優越性。
為了提升系統性能和建立一個可部署的安全方案,研究中對用戶軟件的交互數據做了進一步調查,對于連續身份認證系統中行為特征識別的數據模板更新問題,將做進一步研究,主動攻擊下的安全性問題也會著重關注,減少入侵者利用閾值大小的漏洞進行攻擊。