馬杰
摘 要:隨著云計算和大數(shù)據(jù)的高速發(fā)展,網(wǎng)絡(luò)資源越來越豐富,計算機(jī)網(wǎng)絡(luò)開始逐漸滲透到人們生活的各個領(lǐng)域。但是,隨之而來的網(wǎng)絡(luò)和軟件安全問題日益嚴(yán)重,嚴(yán)重影響了云計算的發(fā)展。本文提出了一種基于用戶行為的軟件安全模型,通過分析網(wǎng)絡(luò)流量和本地用戶行為數(shù)據(jù),實現(xiàn)對異常行為的檢測。
關(guān)鍵詞:云計算;軟件安全;用戶行為;異常檢測
中圖分類號:TP393.09文獻(xiàn)標(biāo)識碼:A文章編號:1003-5168(2021)08-0007-03
Research on Software Security Based on User Behavior in Cloud Computing
MA Jie
(Henan College of Finance and Monetary,Zhengzhou Henan 451464)
Abstract: With the rapid development of cloud computing and big data, network resources are becoming more and more abundant, and computer networks have gradually penetrated into all areas of peoples life. However, the ensuing network and software security problems have become more and more serious, which has seriously affected the development of cloud computing. This paper proposes a software security model based on user behavior, which can detect abnormal behaviors by analyzing network traffic and local user behavior data.
Keywords: cloud computing;software security;user behavior;abnormal detection
隨著科技的不斷發(fā)展,云計算已從概念導(dǎo)入進(jìn)入廣泛普及、應(yīng)用繁榮的新階段,成為提升信息化發(fā)展水平、打造數(shù)字經(jīng)濟(jì)新動能的重要支撐。黨中央、國務(wù)院高度重視以云計算為代表的新一代信息產(chǎn)業(yè)發(fā)展,發(fā)布了《國務(wù)院關(guān)于促進(jìn)云計算創(chuàng)新發(fā)展培育信息產(chǎn)業(yè)新業(yè)態(tài)的意見》(國發(fā)〔2015〕5號)等政策文件。但隨著云計算和大數(shù)據(jù)等新技術(shù)的廣泛應(yīng)用以及新型攻擊方式的出現(xiàn),傳統(tǒng)軟件安全面臨著巨大挑戰(zhàn),嚴(yán)重影響了云計算等新技術(shù)的持續(xù)發(fā)展。在云計算平臺中,資源的所有權(quán)和管理權(quán)被分離,催生很多新的安全威脅,尤其是當(dāng)攻擊由云內(nèi)部用戶發(fā)起的時候[1]。
傳統(tǒng)的基于流量特征庫的高級持續(xù)性威脅(Advanced Persistent Threat,APT)攻擊檢測與防御方法對于已知威脅(如已知漏洞或病毒木馬程序的攻擊)比較有效,但對于攻擊特征未知、技術(shù)復(fù)雜以及持續(xù)時間長的APT攻擊則無法進(jìn)行有效檢測與定位[2]。傳統(tǒng)用戶異常行為檢測方法無法滿足海量數(shù)據(jù)檢測需求,對不斷更新的異常行為和惡意軟件無法快速做出響應(yīng),沒有考慮用戶行為管理等問題,導(dǎo)致異常檢測的精度和穩(wěn)定性都不足[3]。文獻(xiàn)[4-5]提出了一種基于深度學(xué)習(xí)的網(wǎng)絡(luò)異常行為檢測方法,能夠利用歷史網(wǎng)絡(luò)數(shù)據(jù),建模并訓(xùn)練網(wǎng)絡(luò)異常行為檢測模型,進(jìn)而實現(xiàn)快速的異常行為檢測,但檢測精度不高。
本文提出了一種云際環(huán)境下基于用戶行為的檢測模型,該模型通過實時分析網(wǎng)絡(luò)流量并對本地用戶行為進(jìn)行數(shù)據(jù)挖掘,共同構(gòu)建云際軟件安全體系。
如圖1所示,該檢測模型主要包括數(shù)據(jù)采集模塊、數(shù)據(jù)預(yù)處理模塊、數(shù)據(jù)建模模塊以及異常檢測與預(yù)警模塊。
1 數(shù)據(jù)采集
數(shù)據(jù)采集部分主要分為網(wǎng)絡(luò)流量采集和本地用戶行為數(shù)據(jù)采集。
網(wǎng)絡(luò)流量分析是行之有效的手段,因為再高級的攻擊都會留下網(wǎng)絡(luò)痕跡,網(wǎng)絡(luò)攻擊者的行為和人們正常的網(wǎng)絡(luò)訪問行為不一樣。首先通過Hadoop日志系統(tǒng)獲取歷史網(wǎng)絡(luò)流量數(shù)據(jù),包括源IP地址、目的IP地址、源端口、目的端口、協(xié)議、用戶、時間、數(shù)據(jù)地址以及數(shù)據(jù)量等信息。
本地用戶行為數(shù)據(jù)主要通過采集用戶操作輸入習(xí)慣,包括鼠標(biāo)單擊事件、鼠標(biāo)雙擊事件、鼠標(biāo)移動軌跡、鼠標(biāo)滾動事件、鍵盤敲擊事件、鍵盤特殊符號使用頻率以及應(yīng)用程序名稱等。
2 數(shù)據(jù)預(yù)處理
數(shù)據(jù)的質(zhì)量直接決定了模型預(yù)測和泛化能力的好壞。為了提高數(shù)據(jù)質(zhì)量,人們要進(jìn)行數(shù)據(jù)預(yù)處理,包括缺失值處理、異常值處理、噪聲處理、數(shù)據(jù)歸一化以及維度變換等。
在獲取信息和數(shù)據(jù)的過程中,各類原因會導(dǎo)致數(shù)據(jù)丟失和空缺。異常值是數(shù)據(jù)分布的常態(tài),處于特定分布區(qū)域或范圍之外的數(shù)據(jù)通常被定義為異?;蛟肼?。這些缺失值和噪聲可以使用完整數(shù)據(jù)集中對應(yīng)屬性的平均值進(jìn)行填充,也可以使用中位數(shù)填充。若變量的缺失率較高,覆蓋率和重要性較低,則可以直接將變量刪除。
噪聲是變量的隨機(jī)誤差和方差,是觀測點(diǎn)和真實點(diǎn)之間的誤差。人們可以對數(shù)據(jù)進(jìn)行分箱操作,等頻或等寬分箱,然后用每個箱的平均數(shù)、中位數(shù)或者邊界值代替箱中所有的數(shù),起到平滑數(shù)據(jù)的作用。
為了進(jìn)行歸一化,人們可以對數(shù)據(jù)進(jìn)行最大-最小規(guī)范化,將數(shù)據(jù)映射到[0,1]區(qū)間。
維度變換是將現(xiàn)有數(shù)據(jù)降到更小的維度,盡量保證數(shù)據(jù)信息的完整性,可以使用主成分分析(Principal Component Analysis,PCA)和因子分析(Factor Analysis,F(xiàn)A)進(jìn)行降維處理。
3 數(shù)據(jù)建模
本文將采用深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks,DNN)和K-means來構(gòu)建異常檢測模型,然后將預(yù)處理后的數(shù)據(jù)導(dǎo)入模型進(jìn)行訓(xùn)練。
3.1 深度神經(jīng)網(wǎng)絡(luò)
DNN可以分為3層,分別是輸入層、隱藏層以及輸出層,基本結(jié)構(gòu)如圖2所示,其中隱藏層可以有多個。
算法過程如下:
將樣本數(shù)據(jù)隨機(jī)分為測試數(shù)據(jù)和訓(xùn)練數(shù)據(jù),訓(xùn)練數(shù)據(jù)作為輸入層,然后進(jìn)行計算,計算公式為:
[y=w0x0+w1x1+…+wpxp+b]? ? ? (1)
式中,[y]是輸入特征[x0]到[xp]的加權(quán)求和,權(quán)重系數(shù)為[w0]到[wp]。
計算完加權(quán)求和后,再應(yīng)用Sigmoid激活函數(shù)對結(jié)果進(jìn)行非線性校正,將校正結(jié)果作為輸入提交給隱藏層進(jìn)行下一次計算,重復(fù)此過程直至輸出層輸出結(jié)果。
得到輸出結(jié)果后,使用交叉熵?fù)p失函數(shù)度量預(yù)測值與真實值之間的差異程度,若誤差不滿足要求,則進(jìn)行反向傳播。若誤差滿足要求,則再使用測試集進(jìn)行測試,直到準(zhǔn)確率也達(dá)到要求,停止訓(xùn)練,否則從頭重新計算。
在模型訓(xùn)練過程中,由于訓(xùn)練樣本規(guī)模太大,為了加快訓(xùn)練速度,可以將數(shù)據(jù)分成N塊分N次進(jìn)行訓(xùn)練。完成訓(xùn)練后,DNN模型可以有效識別出網(wǎng)絡(luò)流量中的異常行為,提高后續(xù)異常檢測的適應(yīng)性和準(zhǔn)確性。
3.2 K-meams算法
云際環(huán)境下,因為不同戶的操作習(xí)慣、工作內(nèi)容、興趣愛好以及訪問內(nèi)容不同,用戶行為具有很大的差異性,異常行為很難預(yù)先界定,不適合使用監(jiān)督學(xué)習(xí)算法。因此,本文采用聚類算法來解決本地用戶行為的異常檢測。
通常情況下,用戶的正常操作行為和異常操作行為會有很大的差異,適合使用K-means算法進(jìn)行聚類。K-means算法是很典型的基于距離的聚類算法,采用距離作為相似性的評價指標(biāo),即認(rèn)為兩個對象的距離越近,其相似度就越大。該算法首先隨機(jī)選取K個對象作為簇中心進(jìn)行初始化,然后開始迭代計算,因此簇中心點(diǎn)的選擇將直接影響算法的效率。
本文對K-means算法做了改進(jìn),過程如下:①輸入樣本數(shù)據(jù),使用歐氏距離法計算各個樣本之間的距離,然后選擇距離最遠(yuǎn)的K個樣本,作為初始的簇中心。②計算樣本數(shù)據(jù)到達(dá)各簇中心的距離,并將樣本歸入距離最近的簇。③重新計算各簇的均值,得到新的簇中心。④根據(jù)新的簇中心再次將各樣本數(shù)據(jù)歸入距離最近的簇。重復(fù)步驟③和④,直至簇中心不再變化。經(jīng)過模型訓(xùn)練之后,標(biāo)出正常簇和各正常簇半徑R,用于后續(xù)異常檢測。
4 異常檢測與預(yù)警模塊
完成模型訓(xùn)練后,實時采集流量數(shù)據(jù)和用戶行為數(shù)據(jù)進(jìn)行異常檢測,若發(fā)現(xiàn)異常行為,則發(fā)送預(yù)警信息給管理員和用戶,提示他們做出相應(yīng)處理。其中流量數(shù)據(jù)可直接導(dǎo)入DNN模型,而用戶行為數(shù)據(jù)需要再次進(jìn)行計算,具體計算過程如下:①計算數(shù)據(jù)和K-means模型中各正常簇中心點(diǎn)的距離,若小于半徑R,則判定為正常行為,若大于半徑R,則判定為異常行為。②若該行為是正常行為,則將數(shù)據(jù)加入集合m中。③若集合m中的數(shù)據(jù)超過閾值,則重新對K-means模型進(jìn)行訓(xùn)練,直至簇中心不再變化,將新的模型繼續(xù)用于后續(xù)異常檢測。
5 結(jié)論
為了保證云際環(huán)境下的網(wǎng)絡(luò)和軟件安全,本文提出了一種基于用戶行為的異常檢測模型。通過構(gòu)建DNN和K-means算法,對實時流量數(shù)據(jù)和本地用戶行為數(shù)據(jù)進(jìn)行檢測,彌補(bǔ)了傳統(tǒng)流量檢測手段忽視用戶操作行為的缺點(diǎn),提高了異常行為檢測的準(zhǔn)確率。
參考文獻(xiàn):
[1]許洪軍,張洪,賀維.一種基于鼠標(biāo)行為的云用戶異常檢測方法[J].哈爾濱理工大學(xué)學(xué)報,2019(4):127-132.
[2]周濤.基于統(tǒng)計學(xué)習(xí)的網(wǎng)絡(luò)異常行為檢測技術(shù)[J].大數(shù)據(jù),2015(4):38-47.
[3]陳勝,朱國勝,祁小云,等.基于深度神經(jīng)網(wǎng)絡(luò)的自定義用戶異常行為檢測[J].計算機(jī)科學(xué),2019(2):442-445.
[4]李錚,傅陽.一種基于深度學(xué)習(xí)的網(wǎng)絡(luò)異常行為檢測方法[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2020(8):66-68.
[5]鄧紅莉,楊韜.一種基于深度學(xué)習(xí)的異常檢測方法[J].信息通信,2015(3):3-4.