中國銀聯(lián)股份有限公司技術(shù)開發(fā)中心 許斌 陳林
隨著大數(shù)據(jù)時代的到來,互聯(lián)網(wǎng)發(fā)展日新月異,Web 系統(tǒng)作為互聯(lián)網(wǎng)的主要載體,其安全性越來越受到重視。針對數(shù)據(jù)較敏感型或者用戶操作較嚴肅型的互聯(lián)網(wǎng)Web 系統(tǒng),一種常用的安全升級方案是單點登錄及瀏覽器上安裝定制控件與證書,然而這同時也帶來了控件與證書使用成本及兼容性問題。基于此,提出了一套新的Web 風(fēng)險防控方法與裝置來規(guī)避上述問題,同時保障一定的安全性和易用性。根據(jù)用戶登錄風(fēng)險檢測和限流業(yè)務(wù)場景設(shè)計特征矩陣,選用流行的XGBoost 算法進行建模,并應(yīng)用SMOTE 采樣算法得到相對均衡的最終訓(xùn)練數(shù)據(jù)正負樣本,解決Web 系統(tǒng)登錄安全隱患及限流問題。同時,采用雙向LSTM 網(wǎng)絡(luò)的深度學(xué)習(xí)模型對用戶行為進行分類,阻斷可疑操作行為來保障用戶信息安全。此外,通過結(jié)合用戶實時操作數(shù)據(jù),交易數(shù)據(jù)和業(yè)務(wù)知識圖譜,自動篩查業(yè)務(wù)操作不熟練的用戶,智能提示用戶下一步操作事項及注意事項,優(yōu)化用戶體驗。所提方法使用Python3 進行仿真實驗,并和相關(guān)Web 系統(tǒng)進行了對接,實驗結(jié)果表明該方法是可行的。
隨著數(shù)字化產(chǎn)業(yè)的發(fā)展,互聯(lián)網(wǎng)企業(yè)數(shù)量越來越多?;ヂ?lián)網(wǎng)的迅速發(fā)展和廣泛應(yīng)用在給人們帶來便捷的同時,也帶來了非常嚴峻的安全隱患問題,例如近年來頻繁發(fā)生的個人信息泄露事件[1]。針對數(shù)據(jù)較敏感型或者用戶操作較嚴肅型的互聯(lián)網(wǎng)Web 系統(tǒng),常見的安全加固是基于單點登錄及用戶瀏覽器上安裝第三方定制安全控件與專屬證書,由此安全性得到較好的保障,隨之而來的問題是系統(tǒng)開發(fā)對廠商有一定依賴,并且使用過程中需要持續(xù)承擔(dān)控件和專屬證書使用的不菲成本,同時面對世界各地不同電腦環(huán)境和技術(shù)水平的用戶,控件的安裝和兼容性都存在一些挑戰(zhàn)[2,3]。
現(xiàn)有較高安全級別的Web 系統(tǒng)一般采用的單點登錄解決方案是基于PKI 技術(shù),訪問前端Web 頁面的同時先安裝并啟用定制Web 客戶端控件,使用客戶端數(shù)字證書作為身份認證的解決方案[4-6]。每個登錄用戶需安裝并啟用定制控件,申請并安裝一個全球通用的客戶端數(shù)字證書,同時在單點登錄系統(tǒng)上配置好用戶所申請的客戶端數(shù)字證書ID。另外當(dāng)用戶發(fā)起動賬類請求時,前端Web頁面調(diào)用定制控件,由控件基于所安裝的客戶端數(shù)字證書加密后發(fā)往Web 服務(wù)器,Web 服務(wù)器解密通過即視為合法請求。
然而,現(xiàn)有的Web 定制控件和數(shù)字證書解決方案存在一些缺點[7,8]。(1)成本較高,每個用戶需要向證書簽發(fā)機構(gòu)支付證書年費;(2)使用上存在一定難度,用戶首次使用時需要向證書簽發(fā)機構(gòu)提交證書申請表,Web 瀏覽器需要安裝并啟用控件,兼容性和易用性較差。用戶登錄口令和客戶端證書一旦泄露,非法持有者可較為輕易仿冒。
基于此,本文提出了一種新的Web 風(fēng)險防控方法與裝置,致力于規(guī)避上述問題的同時,保障一定安全性和易用性。本裝置包含登錄前風(fēng)險檢測、登錄后風(fēng)險檢測和用戶操作智能提示三大塊。登錄前風(fēng)險檢測用于檢測用戶登錄環(huán)境風(fēng)險等級,自動攔截風(fēng)險用戶登錄;登錄后風(fēng)險檢測用于實時捕獲用戶在頁面上的操作數(shù)據(jù),自動攔截異?;蛱S式操作數(shù)據(jù);用戶操作智能提示用于結(jié)合用戶前續(xù)操作數(shù)據(jù)和所操作的業(yè)務(wù)數(shù)據(jù)狀態(tài),動態(tài)的給予用戶相關(guān)操作提示,方便用戶使用。而且,本文所提方法成功使用Python3 進行仿真實驗,并和相關(guān)Web 系統(tǒng)進行了對接,模擬結(jié)果體現(xiàn)了本文方法的有效性和優(yōu)越性。
本文提出了一種新的Web 風(fēng)險防控方法與裝置,該方案無需用戶支付證書成本及安裝控件,根據(jù)先驗知識智能判別用戶登錄風(fēng)險等級以及已登錄用戶操作風(fēng)險等級,Web 服務(wù)系統(tǒng)根據(jù)裝置中的核心風(fēng)控模塊所反饋的風(fēng)險等級,可進一步采用不同的用戶驗證方式,針對高風(fēng)險等級系統(tǒng)可直接拒絕用戶登錄操作,可持續(xù)實時追蹤登錄后所有操作進而阻斷風(fēng)險請求或增加附加多因素校驗,有效防止現(xiàn)有技術(shù)方案的證書泄露后仿冒問題。此外,核心風(fēng)控模塊根據(jù)實時獲取的用戶TPS 數(shù)據(jù)和先驗知識進行風(fēng)控限流決策,針對短時多頻次請求直接攔截該操作。最后,核心風(fēng)控模塊結(jié)合業(yè)務(wù)知識圖譜、用戶操作序列和交易數(shù)據(jù),可提示用戶下一步可能的操作步驟,來提高用戶操作易用性,幫助用戶提高業(yè)務(wù)熟練度。
本文所述的Web 風(fēng)險防控方法與裝置包括前端Web頁面、后端Web 服務(wù)和智能風(fēng)控服務(wù)三大子裝置,該方法時序圖如圖1 所示。
圖1 Web 風(fēng)險防控裝置圖Fig.1 Web risk prevention and control device diagram
前端Web 頁面在正常通用Web 頁面實現(xiàn)的基礎(chǔ)上內(nèi)嵌JavaScript 加解密代碼塊和用戶環(huán)境獲取代碼塊。其中加密代碼塊支持使用用戶在Web 頁面上輸入的OTP 作為種子針對待傳輸?shù)胶蠖说恼埱髷?shù)據(jù)進行加密,解密模塊是前端Web 頁面針對后端Web 服務(wù)響應(yīng)數(shù)據(jù)的解密。用戶環(huán)境獲取代碼塊負責(zé)收集用戶環(huán)境信息和操作信息,包括用戶IP,用戶操作系統(tǒng),用戶瀏覽器,點擊按鈕等一系列信息。
后端Web 服務(wù)在正常提供業(yè)務(wù)服務(wù)的基礎(chǔ)上,還包括登錄信息校驗、OTP 觸發(fā)、加解密及風(fēng)險處置子模塊。登錄信息校驗子模塊除了完成常見的用戶名、密碼等有效性校驗外,同時結(jié)合前端Web 頁面?zhèn)鬟f到后臺的登錄信息作為參數(shù)請求智能風(fēng)控服務(wù)進行登錄前風(fēng)險研判,登錄信息包括用戶名是否存在、密碼是否正確、登錄時間、用戶注冊時間、用戶IP 地址、用戶操作系統(tǒng)、瀏覽器版本號等。只有當(dāng)智能風(fēng)控服務(wù)研判為“無風(fēng)險登錄”時才視同真實登錄成功,進行后續(xù)Session 存儲及向前端Web 頁面響應(yīng)登錄請求。如果智能風(fēng)控服務(wù)判斷為“可疑登錄”時,則向前端Web 頁面發(fā)起輔助驗證請求,如OTP、滑塊或輔助問答等,若輔助驗證請求通過則視登錄成功;如果智能風(fēng)控服務(wù)判斷為“高風(fēng)險登錄”則直接拒絕前端Web 頁面,不進行后續(xù)Session 存儲等真實登錄成功處理步驟。
后端Web 服務(wù)的加解密模塊負責(zé)完成與前端Web頁面的加解密處理,其中OTP 觸發(fā)是一個關(guān)鍵要素,如前序所述,該OTP 是加解密的種子,如此實現(xiàn)多因素驗證和加密秘鑰的動態(tài)調(diào)整。進一步有別于常規(guī)操作的是,每一個前端Web 頁面發(fā)往后端Web 服務(wù)的請求都包括用戶和點擊按鈕信息并且是基于OTP 加密后的數(shù)據(jù),后端Web 服務(wù)收到前端請求后,有別于一般性直接進行業(yè)務(wù)處理,轉(zhuǎn)而先進行數(shù)據(jù)解密并將用戶和點擊按鈕信息傳遞給智能風(fēng)控的登錄后風(fēng)控子模塊,登錄后風(fēng)控子模塊首先根據(jù)用戶實時TPS 數(shù)據(jù)進行限流決策,然后進行用戶行為智能分析,判斷是正常操作行為/路徑,還是可疑操作行為/路徑,比如1s 內(nèi)針對同一個按鈕的反復(fù)點擊,則判定為可疑操作行為,因為一般性是無法手工發(fā)起如此高頻請求;再比如某個請求的正常操作路徑是bizA →bizB →bizC,如果一段時間內(nèi)沒有出現(xiàn)前序兩個數(shù)據(jù)而直接出現(xiàn)bizC,也就是用戶操作路徑及行為軌跡異常,智能風(fēng)控服務(wù)也會將該請求判定為異常操作行為。后端Web 服務(wù)風(fēng)險處置裝置根據(jù)登錄后風(fēng)控子模塊的響應(yīng),針對正常操作行為則繼續(xù)正常執(zhí)行業(yè)務(wù)處理并向前端Web 頁面反饋響應(yīng),針對可疑操作行為進行告警后繼續(xù)正常執(zhí)行業(yè)務(wù)處理并向前端Web 頁面反饋響應(yīng),針對異常操作行為則直接阻斷、不執(zhí)行后續(xù)真實業(yè)務(wù)處理而直接向前端Web 頁面反饋失敗,并將用戶登錄踢出。
智能風(fēng)控服務(wù)的智能提示子模塊實時接收用戶的操作序列,根據(jù)配置的規(guī)則判斷是否存在猶豫不決現(xiàn)象,若判斷用戶存在猶豫現(xiàn)象時,反饋后端Web 服務(wù)需要對該用戶進行操作提示。后端Web 服務(wù)隨即收集用戶當(dāng)前交易信息,并發(fā)送智能風(fēng)控服務(wù),智能風(fēng)控服務(wù)的智能提示子模塊根據(jù)用戶當(dāng)前交易信息查詢配置在數(shù)據(jù)庫內(nèi)的業(yè)務(wù)數(shù)據(jù)結(jié)構(gòu)定義,針對存在狀態(tài)碼的數(shù)據(jù)進行狀態(tài)分析,逐條查看當(dāng)前頁面業(yè)務(wù)數(shù)據(jù)的狀態(tài)碼是否是終末狀態(tài),如果非終末狀態(tài),則根據(jù)配置在數(shù)據(jù)庫內(nèi)的狀態(tài)流轉(zhuǎn)信息,提示對應(yīng)業(yè)務(wù)數(shù)據(jù)的下一步可選操作及注意事項。
通過前端Web 頁面、后端Web 服務(wù)和智能風(fēng)控服務(wù)三大子裝置的協(xié)同與特別設(shè)計的交互方式,加上引入人工智能技術(shù),從用戶登錄環(huán)境、用戶登錄習(xí)慣、用戶行為分析等角度來了解每個登錄用戶身份的可信度、屬性和信譽等,進而構(gòu)建一套全鏈路智能風(fēng)險識別網(wǎng)絡(luò),最大限度保護用戶賬號安全。
本節(jié)主要針對Web 風(fēng)險防控裝置中所涉及的模型進行研究。對Web 風(fēng)險防控模型根據(jù)階段設(shè)計區(qū)分登錄前風(fēng)險檢測、登錄后風(fēng)險檢測和用戶操作智能提示。其中登錄前風(fēng)險檢測又細分為風(fēng)控限流決策和用戶登錄風(fēng)險檢測,登錄后風(fēng)險檢測又細分為風(fēng)控限流決策和行為序列分析,Web 風(fēng)險防控模型劃分示意圖如圖2 所示。
圖2 Web 風(fēng)險防控模型劃分示意圖Fig.2 Schematic diagram of Web risk prevention and control model division
通過用戶登錄服務(wù)頁面過程中可采集如用戶登錄時間、登錄失敗次數(shù)、登錄環(huán)境如操作系統(tǒng)信息、IP 地址信息等特征數(shù)據(jù),利用人工智能算法對用戶某次登錄特征的風(fēng)險狀況予以智能評估,根據(jù)評估得到的風(fēng)險狀況來決定對用戶無風(fēng)險放行還是有風(fēng)險干預(yù),干預(yù)包括多因素強化登錄驗證或直接決絕訪問等。由此可見,用戶登錄風(fēng)險檢測是個基于特征的分類問題,適用于有監(jiān)督學(xué)習(xí)算法,因此本文選用流行的XGBoost[9]算法進行建模,考慮到正負樣本存在不均衡現(xiàn)象,我們應(yīng)用SMOTE[10]采樣算法得到相對均衡的最終訓(xùn)練數(shù)據(jù)正負樣本,以便模型更穩(wěn)定且泛化能力更好。
根據(jù)潛在可采集的用戶特征,設(shè)計如下特征工程:
最近登錄的操作系統(tǒng)是否一樣、最近登錄的瀏覽器是否一樣、最近登錄的IP 是否一樣、登錄操作系統(tǒng)是否是常用登錄操作系統(tǒng)、登錄瀏覽器是否是常用登錄瀏覽器、是否是常用IP、登錄操作系統(tǒng)以前是否出現(xiàn)過、登錄瀏覽器以前是否出現(xiàn)過、登錄IP 以前是否出現(xiàn)過、登錄IP 是否風(fēng)險IP、用戶操作時長、用戶輸錯密碼次數(shù)、用戶輸錯驗證碼次數(shù)、用戶點擊忘記密碼次數(shù)等。
系統(tǒng)的攻擊者們能夠開發(fā)出模仿人類行為的黑產(chǎn)工具對系統(tǒng)進行自動化操作甚至攻擊,例如短時多頻次請求等,系統(tǒng)需要能捕獲該種場景并進行有效攔截。通過實時獲取用戶點擊TPS 數(shù)據(jù)提取用戶特征,利用人工智能算法對用戶本次行為進行風(fēng)險決策,由此可見,風(fēng)控限流決策也是個基于特征的分類問題,適用于有監(jiān)督學(xué)習(xí)算法,因此本文選用流行的XGBoost 算法進行建模,考慮到正負樣本存在不均衡現(xiàn)象,我們應(yīng)用SMOTE 采樣算法進行得到相對均衡的最終訓(xùn)練數(shù)據(jù)正負樣本,以便模型更穩(wěn)定且泛化能力更好。
根據(jù)潛在可采集的用戶特征,設(shè)計如下特征工程:用戶1s 內(nèi)URL 請求總次數(shù)、用戶1s 內(nèi)點擊特定URL 的請求總次數(shù)、用戶1s 內(nèi)URL 請求總數(shù)與種類數(shù)的比值等。
不管鼠標(biāo)點擊還是鍵盤敲擊觸發(fā)頁面熱點并向后傳導(dǎo)數(shù)據(jù),點擊對象前后都依存關(guān)系,即用戶在界面上按鍵的點擊序列與具體業(yè)務(wù)關(guān)聯(lián),突破常見業(yè)務(wù)嵌套序列的跳躍式行為或者連續(xù)性行為均可判斷為異常。因此我們可以把用戶操作行為風(fēng)險檢測看成是一個序列分類問題,這里選用基于雙向LSTM 網(wǎng)絡(luò)[11]的深度學(xué)習(xí)模型進行序列分類。模型訓(xùn)練前需要先做數(shù)據(jù)預(yù)處理,數(shù)據(jù)預(yù)處理包括詞匯表文件生成,訓(xùn)練集、驗證集與測試測試集數(shù)據(jù)集劃分文件生成,并構(gòu)造正常點擊序列和異常點擊序列,每個按鍵點擊之間用空格分割。
模型使用雙向LSTM 網(wǎng)絡(luò)的Encoder 層作為主體框架,包括如下主要處理過程:
(1)采用隨機初始化的方式對Word 詞表中的每個Word進行Embedding,并在訓(xùn)練模型的同時訓(xùn)練詞向量;
(2)Encoder 層采用2 層的雙向LSTM 網(wǎng)絡(luò)結(jié)構(gòu),并在LSTM 網(wǎng)絡(luò)結(jié)構(gòu)加入Dropout 暫時丟棄處理,防止過擬合;
(3)對Encoder 層的輸出結(jié)果加全連接層,并采用Sigmoid 函數(shù)作為激活函數(shù)預(yù)測分類概率;
(4)損失函數(shù)采用交叉熵;
(5)在模型參數(shù)的訓(xùn)練過程中,采用Adam 算法優(yōu)化器進行求解;
(6)使用Accuracy 等指標(biāo)進行模型評估。
經(jīng)過前幾步風(fēng)險識別后,可過濾絕大部分異常用戶,通過實時捕捉用戶操作數(shù)據(jù),可判斷當(dāng)前用戶是否存在操作不熟練的情況。首先提取放于數(shù)據(jù)庫內(nèi)的用戶常規(guī)操作路徑配置信息,加工成多個N 叉樹,從根節(jié)點到葉節(jié)點表示一條常規(guī)操作路徑。如某業(yè)務(wù)處理操作序列bizA →bizB →bizC →bizD,數(shù)據(jù)庫內(nèi)同時配置有每一個操作的操作方法和注意事項。接著根據(jù)時間排列提取該用戶前續(xù)若干次操作序列集,然后判斷用戶是否猶豫,這里我們主要關(guān)注2 條規(guī)則,第一條為在N 叉樹中檢測操作序列集合的每一個操作的操作路徑最大完整度和重復(fù)性,如發(fā)現(xiàn)用戶連續(xù)停留在某完整路徑的某一段,則向用戶提示進行該路徑的下一步操作。例如用戶完成某項業(yè)務(wù)處理的操作路徑是:bizA →bizB →bizC →bizD,如果檢測到用戶連續(xù)3 次操作停留bizC,則當(dāng)用戶再次觸發(fā)bizC 操作后,獲取用戶當(dāng)前交易信息,查詢用戶常規(guī)操作路徑配置信息獲取對外提示bizD 操作方法和注意事項。第二條是對所接收到的用戶操作進行路徑完整度計算,如果發(fā)現(xiàn)未達到100%,則定時查詢該用戶最新操作,如設(shè)定時間閾值內(nèi)無任何操作,獲取用戶當(dāng)前交易信息,查詢用戶常規(guī)操作路徑配置信息獲取對外提示操作方法和注意事項。智能提示總體流程圖如圖3 所示。
圖3 智能提示流程圖Fig.3 Flow chart of smart tips
考慮到擴展性和易用性,我們將前述用戶登錄風(fēng)險檢測、風(fēng)控限流決策、用戶行為風(fēng)險檢測和用戶操作智能提示等人工智能模型封裝成RESTFUL 接口,即將模型能力轉(zhuǎn)化為Web 服務(wù)接口供上游Web 系統(tǒng)請求并獲得風(fēng)險甄別反饋,根據(jù)反饋進行風(fēng)險處理,實現(xiàn)風(fēng)險早識別、早預(yù)警、早處置,提升Web 風(fēng)險防范能力,降低損失。
綜上,基于人工智能的Web 風(fēng)險防控模型總體技術(shù)架構(gòu)如圖4 所示。
圖4 Web 風(fēng)險防控模型總體技術(shù)架構(gòu)圖Fig.4 Overall technical architecture diagram of Web risk prevention and control model
考慮到性能、擴展和靈活性,我們采用數(shù)據(jù)庫共享樣本數(shù)據(jù)和訓(xùn)練結(jié)果集,多節(jié)點并發(fā)提供服務(wù),與上游系統(tǒng)關(guān)系及邏輯部署規(guī)劃如圖5 所示。
圖5 Web 風(fēng)險防控邏輯部署圖Fig.5 Logical deployment diagram of Web risk prevention and control
隨著大數(shù)據(jù)、互聯(lián)網(wǎng)的迅速發(fā)展,Web 安全性問題受到社會的廣泛重視。現(xiàn)有解決Web 系統(tǒng)隱患的方法主要是采用定制控件和數(shù)字證書,然而這些方案存在成本高、安全性低、不穩(wěn)定等一系列問題。因此,本文提出了一種新的Web 風(fēng)險防控方法與裝置,將人工智能引入到了Web 系統(tǒng)中,有效解決了以往方案中的安全隱患問題。人工智能在Web 風(fēng)險防控的成功引入,提升了業(yè)務(wù)系統(tǒng)的技術(shù)含量,能有效實現(xiàn)用戶登錄風(fēng)險檢測、風(fēng)控限流決策、用戶行為分析檢測和用戶操作提示等,能夠一定程度上針對Web 系統(tǒng)攻擊進行告警與攔截,剔除第三方控件和證書同時依然能給Web 系統(tǒng)增加一層保護罩。同時,本文的方法相比已有方案更具有便捷性,基于用戶前續(xù)操作和所操作的業(yè)務(wù)數(shù)據(jù)狀態(tài),動態(tài)的給予用戶相關(guān)操作提示,優(yōu)化用戶體驗。
引用
[1] 譚彬,楊明,梁業(yè)裕,等.Web安全漏洞研究和防范[J].通信技術(shù),2017,50(4):795-802.
[2] 李鑫.Web安全問題與防范策略分析[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2017(10):31-32.
[3] 張炳帥.Web安全深度剖析[J].中國信息化,2019(1):85-86.
[4] 祁凌.基于PKI技術(shù)下的電子商務(wù)信息安全研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2020(12):127-129.
[5] 劉那仁格日樂,王郝日欽.基于PKI技術(shù)的用戶身份數(shù)據(jù)轉(zhuǎn)發(fā)認證算法仿真[J].計算機仿真,2020,37(9):373-376+403.
[6] 喬明秋,趙振洲.數(shù)據(jù)加密與PKI技術(shù)混合式教學(xué)設(shè)計—以數(shù)字證書實現(xiàn)網(wǎng)站HTTPS訪問為例[J].信息與電腦(理論版),2021,33(16):210-212.
[7] CANFORA G,VISAGGIO C A.A Set of Features to Detect Web Security Threats[J].Journal of Computer Virology &Hacking Techniques,2016,12(4):1-19.
[8] LI M Y,HU C,WANG C F.Analysis and Summary for" Security Performance Experiments of Web Page and Web Site"[J].Proc of the 2nd Int Conf on Software,Multimedia and Communication Engineering.Pennsylvania:Destech,2017:75-78.
[9] CHEN T Q,GUESTRIN C.Xgboost:A Scalable Tree Boosting System[C]//Proceedings of the 22nd Acm Sigkdd International Conference on Knowledge Discovery and Data Mining,2016:785-794.
[10] CHAWLA N V,BOWYER K W,HALL L O,et al.SMOTE: Synthetic Minority Over-sampling Technique[J].Journal of Artificial Intelligence Research,2002(16):321-357.
[11] 任勉,甘剛.基于雙向 LSTM 模型的文本情感分類[J].計算機工程與設(shè)計,2018(7):2064-2068.