程建峰,樂 俊,劉 丹
1(電子科技大學 電子科學技術(shù)研究院,成都 611731)2(西南電子信息技術(shù)研究所,成都 610041)
基于SVM算法的用戶行為認證方法①
程建峰1,樂 俊2,劉 丹1
1(電子科技大學 電子科學技術(shù)研究院,成都 611731)2(西南電子信息技術(shù)研究所,成都 610041)
為提高手機安全性,提出一種基于SVM的用戶操作行為認證方法.通過監(jiān)聽手機觸摸屏設(shè)備,持續(xù)獲取用戶操作時的滑動軌跡、接觸面積等原始數(shù)據(jù).設(shè)計用戶行為特征提取算法以建立用戶特征樣本,經(jīng)SVM算法加以訓練形成用戶行為特征模型;綜合用戶訪問目標及歷史認證結(jié)果采用不同認證策略,達到重點保護敏感數(shù)據(jù),方便用戶訪問非敏感數(shù)據(jù)的效果.在Android系統(tǒng)環(huán)境下的實驗驗證表明,該方法具有良好的認證效果.
行為分析;持續(xù)認證;SVM算法;Android系統(tǒng)
智能手機的廣泛應用極大方便了人們的生產(chǎn)和生活,接踵而至的安全問題卻給人們的隱私及財產(chǎn)安全帶來極大隱患.傳統(tǒng)的安全研究主要集中在抗病毒、防木馬等系統(tǒng)防護方向.一項研究表明56%的智能手機用戶為使用方便,使用極簡單的密碼或干脆不使用密碼[1],而這使一些不法分子有了可乘之機.為保護用戶財產(chǎn)隱私安全,研究工作者提出了生物信息認證技術(shù)與行為信息認證技術(shù)[2].生物信息認證技術(shù)主要包括:指紋識別技術(shù);語音識別技術(shù);圖像識別技術(shù)等[3];但這些技術(shù)本身需要特殊硬件支持且易受外界環(huán)境干擾,且生物信息特征明顯、易于提取,不法分子可以通過偽造、提取用戶信息繞過認證系統(tǒng).
目前,行為認證方式研究相對較少.Saurabh Singh等人通過實驗說明了用戶行為特征的相對穩(wěn)定性[4],解釋了使用用戶行為特征作為認證依據(jù)的合理性.Oriana Riva等人提出,通過采集加速傳感器數(shù)據(jù)分析用戶步態(tài)特征,確定手機始終是處于合法用戶的控制下,從而達到減少一些不必要認證的目的[5].Chao Shen等人通過采集用戶預定義滑動軌跡數(shù)據(jù)說明了行為認證的有效性[6].以上研究說明了行為認證技術(shù)的可行性,但以上成果應用范圍較為局限:Oriana Riva等人方案特征數(shù)據(jù)單一,僅適用于經(jīng)常移動的用戶;Chao Shen等人方案要求用戶輸入固定軌跡且沒有擺脫一次認證持續(xù)授權(quán)的弊端.
為解決以上弊端,文章提出一種通過分析整理用戶操作信息、用戶操作上下文,學習用戶行為習慣的方法,從而實現(xiàn)一種持續(xù)認證系統(tǒng).該系統(tǒng)以后臺服務形式運行在宿主機上,收集用戶在正常使用時所產(chǎn)生的操作數(shù)據(jù),操作數(shù)據(jù)主要包括:滑動軌跡、指尖大小、觸摸壓力.這樣不需要用戶刻意配合特征提取工作,即可完成用戶特征建立及用戶認證授權(quán),在提升系統(tǒng)安全的同時不給用戶正常使用添加額外負擔.
認證試驗系統(tǒng)采用模塊化設(shè)計方式,以后臺服務形式運行在Android系統(tǒng)平臺.其系統(tǒng)框架如圖1所示.
圖1 系統(tǒng)總體框圖
數(shù)據(jù)采集模塊主要監(jiān)聽手機輸入設(shè)備文件,采集、整理設(shè)備數(shù)據(jù)形成滑動、觸摸面積等操作數(shù)據(jù).數(shù)據(jù)特征提取模塊則通過分類、計算、過濾加工生成符合SVM(Support Vector Machine)算法需要的特征樣本數(shù)據(jù).不同樣本數(shù)據(jù)生成相應的分類器,分類器具備檢驗數(shù)據(jù)是否符合用戶行為特征的能力.認證判決模快綜合用戶訪問對象及認證結(jié)果決定是否阻止用戶操作決定.
認證系統(tǒng)運行分為訓練和認證兩大階段.在系統(tǒng)訓練階段:系統(tǒng)不斷收集、整理、分類用戶操作數(shù)據(jù)以建立相應的用戶樣本集,通過SVM算法對樣本數(shù)據(jù)加以訓練生成用戶行為特征模型.在認證階段:分析待檢驗用戶操作數(shù)據(jù),判斷操作數(shù)據(jù)類型,找到該數(shù)據(jù)類型對應的用戶行為特征模型,以該特征模型檢驗數(shù)據(jù)合法性,并輸出檢驗結(jié)果.系統(tǒng)工作流程如圖2所示.
圖2 系統(tǒng)工作流程
分類器的好壞對于用戶行為特征模型建立至關(guān)重要,而分類器的質(zhì)量取決于是否找到合適的分類算法.SVM作為數(shù)據(jù)挖掘的一種新方法[7],成功的解決了小樣本數(shù)據(jù)的預測和分類問題,且SVM算法具備訓練速度快的優(yōu)點,非常適合在運算速度有限的手機上運行.
SVM算法核心思想是將樣本集合映射到高維空間,并在高維空間尋找一個最優(yōu)超平面分割樣本,同時使正負樣本超平面間的幾何間隔最大.SVM算法為簡化算法復雜度引入了核函數(shù)概念,常用的核函數(shù)有:Linear核函數(shù)和RBF核函數(shù).其中RBF核函數(shù)常在線性不可分情況下使用,如式(1)所示:
其中,2σ2含義為核函數(shù)半徑g,核函數(shù)半徑對分類器預測精度有較大影響,通常通過交叉驗證方式確定最優(yōu)參數(shù).在實際應用中,樣本數(shù)據(jù)中不可避免的被噪聲數(shù)據(jù)污染,這些數(shù)據(jù)對分類結(jié)果可能造成較大影響.為此SVM算法引入懲罰因子c防止過度擬合,c參數(shù)大小反映了對離群點的重視程度.其數(shù)學模型如式(2)所示:
上述判別式即可用于構(gòu)建用戶預測模型.
SVM算法發(fā)展較為成熟,本實驗系統(tǒng)使用了LibSVM算法工具箱中的java模塊[8],該模塊已經(jīng)完成了SVM算法實現(xiàn)工作.該模塊涵蓋的應用場景較為全面,在使用時還需要根據(jù)實際用途選擇合適的應用場景.
行為認證技術(shù)主要依據(jù)用戶樣本數(shù)據(jù)建立用戶預測模型,其預測模型只需判斷測試數(shù)據(jù)是否符合用戶模型,這是典型的一分類案例,因此本次實驗主要應用SVM一分類算法.svm一分類算法實質(zhì)上只是二分類算法的一種特殊情況,即只有正類(目標樣本)樣本數(shù)據(jù)或極少量負類(非目標對象樣本)樣本,因此一分類算法引入?yún)?shù)n表明樣本數(shù)據(jù)中負類樣本占總樣本容量的百分比.SVM算法不同的核函數(shù)對預測精度有較大影響,需要通過實驗對比兩種核函數(shù)建立模型的預測精度,確定合適的核函數(shù).實驗在其他參數(shù)為最優(yōu)的情況下,預測精度隨參數(shù)n發(fā)生如圖3所示變化.
圖3 預測精度
通過圖3發(fā)現(xiàn),linear核函數(shù)的FAR(False Acceptance Rate)大大高于RBF核函數(shù)的FAR,而FRR(False Rejection Rate)兩種核函數(shù)總體差距不大.這是因為用戶模型建立所需數(shù)據(jù)種類繁多,很難通過線性關(guān)系來描述,因此系統(tǒng)中SVM算法模塊使用RBF高斯核函數(shù).
在實驗中,我們只采集用戶特征數(shù)據(jù),因此訓練樣本中不存在負類樣本,此時參數(shù)n可以理解為:將用戶特征空間一定比例的邊緣數(shù)據(jù)認為是負類樣本,在這種情形下,離群點的懲罰因子c大小便不再重要,因為參數(shù)n的存在,已經(jīng)將離群點認為是負類樣本.目前,還沒有通過理論計算確定最優(yōu)參數(shù)n、g的方法.系統(tǒng)采用較為常用的網(wǎng)格搜索法,根據(jù)經(jīng)驗參數(shù)g與訓練數(shù)據(jù)維度有關(guān),實驗主要在維度倒數(shù)附近搜索,而n參數(shù)也在0.1附近搜索,圖4和5分別為不同參數(shù)下的特征模型的FAR和FRR結(jié)果.
通過對比兩幅圖我們發(fā)現(xiàn)隨著FRR升高FAR逐步降低,系統(tǒng)中最優(yōu)參數(shù)確定不能根據(jù)最優(yōu)FRR或FAR確定,系統(tǒng)中采用了保障FAR和FRR低于20%的情況下取FAR+FRR的最低值,這組(n,g)作為最優(yōu)參數(shù).
圖4 FAR分布圖
圖5 FRR分布圖
用戶特征模型建立,離不開用戶特征數(shù)據(jù)樣本庫.在用戶使用過程中,收集到的用戶數(shù)據(jù)種類繁多,在本次實驗中主要采集用戶在觸摸屏上操作時產(chǎn)生的滑動軌跡、點擊事件、觸摸面積、時間戳等數(shù)據(jù)(因設(shè)備限制未能采集到觸摸壓力這一重要特征).用戶在觸摸屏上滑動時,系統(tǒng)將捕捉到一系列P(x,y)坐標點陣,在每一個坐標P(x,y)觸發(fā)時獲取當時觸摸面積s、時間戳t形成數(shù)據(jù)C(x,y,s,t),這樣用戶一次滑動操作即可得到元素為C(x,y,s,t)的一維向量V[c1,c2…cn].隨著用戶不斷的使用便可獲取足夠的樣本數(shù)據(jù).
上述數(shù)據(jù)為用戶原始數(shù)據(jù),每一維向量都與用戶滑動起始位置相關(guān),為不限制用戶使用,特征模型應與用戶操作位置無關(guān).為此通過相鄰兩個元素時間與位置變化計算出用戶滑動斜率k與速度大小v變化形成帶測樣本數(shù)據(jù)元素S(k,v,s).通過以上方法處理后形成樣本數(shù)據(jù)為:T(滑動總時間)、S1(k,v,s)… Sn(k,v,s).以上樣本數(shù)據(jù)建立的用戶特征模型預測精度低,其FRR與FAR在50%左右浮動.通過觀察對比發(fā)現(xiàn):數(shù)據(jù)序列中包括大量重復數(shù)據(jù),這些數(shù)據(jù)增加了訓練維度但對預測精度毫無幫助,且樣本數(shù)據(jù)向量維數(shù)差異較大,滑動操作方向混雜.過多的操作類型使用戶樣本數(shù)據(jù)特征繁多,SVM算法所求超平面不得不囊括所有特征,這將使所求超平面過大,使特征模型因過度學習導致預測精度下降.
為克服以上弊端,設(shè)計過濾模塊,依據(jù)原始數(shù)據(jù)C(x,y,s,t)中x,y值合并相鄰重復數(shù)據(jù),合并完成后一維向量中不存在相同x,y元素.同時實驗從滑動距離、滑動方向入手,將用戶數(shù)據(jù)分類.實驗時將滑動方向分別分為兩、四、八個方向,發(fā)現(xiàn)四方向分類預測精度比兩方向高,比八方向分類預測精度提高并不明顯.為減少分類器數(shù)量,本實驗采用四方向分類:右上;右下;左下;左上.滑動距離按數(shù)據(jù)長度分為五類,如表1所示.
表1 滑動距離按數(shù)據(jù)長度分類
通過以上分類,樣本集組合達20種,實驗中分別對這20種數(shù)據(jù)樣本訓練,為用戶生成不同模型.上述數(shù)據(jù)生成后數(shù)據(jù)值范圍分布不均,需要進行歸一化處理,處理后以某一維數(shù)據(jù)為例,其樣本數(shù)據(jù)格式如表2所示.
表2 某一維數(shù)據(jù)的樣本數(shù)據(jù)格式
每一次觸摸事件對應生成斜率、速度、面積數(shù)據(jù),因此樣本總維數(shù)為:總時間+3*維數(shù),其范圍為[2,76],樣本文件按類分為為20個.到此特征數(shù)據(jù)獲取工作完成.
鑒于用戶行為習慣的相對穩(wěn)定性,一旦用戶預測模型建立完成后,其近期的操作總體符合該模型,因此預測模型的預測結(jié)果可以作為判別用戶真實身份的有效依據(jù).實驗中預測模塊的精度并不能達到100%正確,其中用戶本人操作時76.8%~88.8%的操作符合預測模塊,其他用戶操作時有2.7%~26%的操作符合用戶操作,因此將一次操作結(jié)果作為認證依據(jù)會導致認證錯誤率很高.從統(tǒng)計角度看,用戶操作合法率一般會趨于某個值,基于此思想判決模塊將記錄用戶操作歷史結(jié)果,綜合分析用戶歷史操作及當前操作做出判斷.實際使用中用戶一次任務往往需要多次操作才能完成,這也使得基于統(tǒng)計方法減少錯誤認證的概率成為可能.實際使用時用戶訪問瀏覽器、地圖與訪問圖庫、支付程序時,其敏感程度大不相同,因此認證判決時其策略也應不同.對于非敏感訪問,認證策略為:統(tǒng)計用戶連續(xù)五次(不足五次的以實際次數(shù)為準)操作判決結(jié)果的平均值,若五次操作中4次及以上為負或連續(xù)3次操作判斷為負則拒絕認證.以上述預測精度為例,則錯誤拒絕訪問的概率為0.45%,錯誤接受訪問的概率為6%.對于敏感訪問,認證策略為:統(tǒng)計用戶連續(xù)五次(不足五次的以實際次數(shù)為準)操作判決結(jié)果的平均值,若五次操作中3次及以上為負操作判斷為負則拒絕認證.以上述預測精度為例,則錯誤拒絕訪問的概率為4.3%,錯誤接受訪問的概率為0.85%.基于操作的敏感程度可以更改認證閥值,調(diào)和錯誤拒絕訪問與錯誤接受訪問的矛盾.
行為認證系統(tǒng)運行在Android系統(tǒng)用戶態(tài).由于Android安全機制限制,認證試驗系統(tǒng)無法通過系統(tǒng)API跨平臺獲取用戶操作數(shù)據(jù),因此認證實驗系統(tǒng)以root權(quán)限運行在Android用戶態(tài),通過監(jiān)聽系統(tǒng)輸入設(shè)備文件跨進程獲取用戶操作數(shù)據(jù).
本次實驗硬件環(huán)境為魅族U10,操作系統(tǒng)為Android 5.1.1.實驗所采用APP數(shù)據(jù)模塊根據(jù)上文數(shù)據(jù)特征提取要求自行實現(xiàn),分類器及預測模塊使用了LIVSVM庫中公用API.
實驗數(shù)據(jù)采集自二十名同學,其中七位女同學和十三位男同學.二十名同學在使用時主要進行滑動操作,并在兩天的不同時刻執(zhí)行上述操作.應用程序收集同學操作數(shù)據(jù),數(shù)據(jù)經(jīng)過濾、分類、特征計算、歸一化處理后生成相應特征樣本數(shù)據(jù).數(shù)據(jù)總量在5000條左右,其中長度為B和C的數(shù)據(jù)比例較大,約占總量的60%.隨機樣本數(shù)據(jù)分為訓練集Si(1≤i≤6)和測試集Ti(1≤i≤6),其中訓練集占數(shù)據(jù)總量70%,測試集為30%.
通過搜索法確定最優(yōu)核函數(shù)半徑后g,不同的參數(shù)n得出實驗結(jié)果如表3所示.
表3 實驗結(jié)果(單位:%)
分類器根據(jù)用戶指尖大小、速度變化、斜率變化將用戶特征映射到高維空間中某一超平面.FAR 4.5%~23.6%說明不同用戶間的超平面仍有重疊,而FRR 11.2%~23.2%說明用戶超平面未能覆蓋所有用戶的特征.不同的參數(shù)n,意味著訓練集中不同的比例代表用戶特征,隨著n變大,用戶特征超平面隨著縮小,其FAR也隨即降低,但FRR升高,這說明上述特征還不足以區(qū)分不同的身份,還需要提取更多的特征.在實驗中發(fā)現(xiàn),與訓練數(shù)據(jù)產(chǎn)生時間相近的數(shù)據(jù),其預測精度較高,隨著時間推移預測精度呈逐漸降低的趨勢,即用戶行為特征是相對穩(wěn)定的,因此分類器設(shè)計需要考慮增量學習模塊,限于篇幅這里不再論述.
當前,基于密碼、指紋、語音的認證技術(shù)已經(jīng)較為成熟,但每種技術(shù)都有其自身的局限性,且都沒有擺脫一次認證持續(xù)授權(quán)的模式.基于行為認證技術(shù)不需硬件支持、不易被模仿、相對穩(wěn)定且可以在用戶使用中持續(xù)監(jiān)視認證的特性,可以作為傳統(tǒng)認證方式的一種有效補充.本系統(tǒng)中因硬件限制,沒有采集像壓力等較明顯的特征數(shù)據(jù),這使得系統(tǒng)預測精度較低.隨著手機中更多傳感器的應用,用戶特征數(shù)據(jù)也將更加豐富,其系統(tǒng)預測也將更加準成.因此我們可以相信基于用戶行為認證技術(shù)也將有更廣泛的應用.
1 Khan H,Atwater A,Hengartner U.Itus:An implicit authentication framework for android.Proc.of the 20th Annual International Conference on Mobile Computing and Networking.Maui,Hawaii,USA.2014.507–518.
2 Tanviruzzaman M,Ahamed SI.Your phone knows you:Almost transparent authentication for smartphones.Proc.of the 38th Annual Computer Software and Applications Conference (COMPSAC).Vasteras,Sweden.2014.374–383.
3 鄭方,艾斯卡爾·肉孜,王仁宇,等.生物特征識別技術(shù)綜述.信息安全研究,2016,2(1):12–26.
4 Singh S,Sinha M.Pattern construction by extracting user specific features in keystroke authentication system.Proc.of the 4th International Conference on Computer and Communication Technology (ICCCT).Allahabad,India.2013.181–184.
5 Riva O,Qin C,Strauss K,et al.progressive authentication:Deciding when to authenticate on mobile phones.Proc.of the 21st USENIX Conference on Security Symposium.Bellevue,WA,USA.2012.15.
6 Shen C,Zhang Y,Cai ZM,et al.Touch-interaction behavior for continuous user authentication on smartphones.Proc.of the 2015 International Conference on Biometrics (ICB).Phuket,Thailand.2015.157–162.
7 汪海燕,黎建輝,楊風雷.支持向量機理論及算法研究綜述.計算機應用研究,2014,31(5):1281–1286.
8 Chang CC,Lin CJ.LIBSVM:A library for support vector machines.ACM Transactions on Intelligent Systems and Technology (TIST),2011,2(3):27.
User Behavior Authentication Method Based on SVM Algorithm
CHENG Jian-Feng1,YUE Jun2,LIU Dan11(Research Institute Electronic Science and Technology of UESTC,University of Electronic Science and Technology,Chengdu 611731,China)2(Southwest Electronic Information Technology Research Institute,Chengdu 610041,China)
In order to enhance security of the mobile phone,a method of user operation behavior authentication based on SVM is proposed.By monitoring the mobile phone touch screen device,continuous access to user operation when the sliding track,contact area and other raw data.The user behavior feature extraction algorithm is designed to establish the user characteristic sample,and the SVM algorithm is used to train the user behavior characteristic model.The user access goals and historical certification results are integrated with different authentication strategies to achieve key protection sensitive data to facilitate the user access to non-sensitive data.Experimental verification in the Android system environment shows that the method has a good authentication effect.
behavior analysis;continuous certification;SVM algorithm;Android system
程建峰,樂俊,劉丹.基于SVM算法的用戶行為認證方法.計算機系統(tǒng)應用,2017,26(11):176–181.http://www.c-s-a.org.cn/1003-3254/6056.html
2017-02-28;修改時間:2017-03-16;采用時間:2017-03-20
?