陳佳雯,嚴利民
(上海大學微電子研究與開發中心,上海 200444)
智能化研究的不斷進步,令互聯網技術得到質的提升[1],但因當前網絡部署區域的開放性特征,極易受到監聽與各類惡意攻擊,安全問題成為扼制網絡健康發展的根本原因[2,3]。為此,文獻[4]通過挖掘攻擊圖中漏洞節點關系組建依賴結構圖,修改通用漏洞評分系統中漏洞的基礎度量算法,融合攻擊圖內全部漏洞得分,獲得網絡遭受攻擊的概率。但方法計算過程較為繁瑣,獲得安全風險結果的耗時較長。文獻[5]創建了網絡安全風險檢測系統,系統硬件為數據預處理模塊與協同分析模塊,軟件為網絡安全風險檢測模塊,模塊采用N-gram算法構建,通過協議分析、特征匹配兩個步驟完成風險評估。但該系統因其性能的局限性,無法應用在地下、水中等惡劣環境區域,實用性較差。
總結以上方法不足,本文引入密碼體制[6],提出一種基于風險反饋的網絡安全密鑰可信度識別方法,使識別策略不會受到地域條件限制,但現階段多數密碼很難找到偽密鑰,要使用相關算法確定明文的現實意義,以此為根據斷定密鑰是否可信,即用戶信息能否得到有效保護。使用橢圓曲線公鑰密碼算法構建網絡安全密鑰,利用不同的影響因素創建風險反饋模型,完成密鑰數據學習與訓練,輸出最終的可信度識別結果。仿真充分表明了本文方法在密鑰風險因素劃分和可信度識別方面的可靠性,給用戶營造更加安全的網絡操作環境。
為了給用戶營造安全舒適的網絡應用環境,在橢圓曲線公鑰密碼算法基礎上,創建網絡安全密鑰。橢圓曲線公鑰密碼又被稱作SM2算法,包含數字簽名、密鑰交換協議、公鑰加密和系統參數幾部分,具體過程如下:
SM2算法中的參數為有限域內的橢圓曲線,涵蓋有限域Fq的規模q和橢圓曲線E(Fq)的兩個元素a、b。數字簽名法通過一個簽名者進行數字簽名,利用驗證者識別簽名可靠度。每個簽名者均具備一個公鑰與私鑰,私鑰用來生成簽名,驗證者使用公鑰檢驗簽名。密鑰交換協議表示兩個用戶A、B利用交互的信息傳輸,利用自身的私鑰與對方的公鑰設置一個僅有自身知曉的共享私鑰,該共享密鑰一般應用在某個對稱密碼算法[7]。公鑰加密算法中,發送者使用公鑰把信息變換為密文,接收者采用自身私鑰解密密文并將其還原為初始消息。
基于三個不同層面,將各類網絡安全密鑰風險影響因素劃分成內涵因素、內在因素和外在因素[8],完成密鑰風險的準確分析,劃分結果如圖1所示。在風險反饋結果準確度方面,使用指標量化分析策略,得到顯著量化值,提高風險反饋模型可用性。

圖1 網絡安全密鑰風險影響元素
接下來使用集成學習方法構建風險反饋模型。集成學習是把樣本通過多個基學習器實施定量分析,再把全部基學習器分析結果匯集起來當作最終輸出結果。XGBoost是集成學習的一種[9,10],其基學習器為分類和回歸樹,通過持續分裂特征創建樹結構模式,擬合預測誤差。將樹結構模型記作
F={f(x)=wq(x)}
(1)
其中,wq(x)表示回歸樹葉子節點q的分數,F是樹的集合,f(x)是樹集合內的一棵樹。訓練結束產生k棵樹后,預測樣本分數即根據特征把所有樹的分數相加。將預測樣本分數的目標函數描述成

(2)

為了讓風險反饋模型具備更優的魯棒性,要降低模型復雜度,過程為

(3)
式中,u為一個控制參數,用于操控葉子節點數量,T代表葉節點個數,w為葉節點分數。
為預防過擬合現象,需要獲得較低的預測誤差和較少的葉子節點[11],此時預測樣本分數的目標函數被改寫為

(4)
其中,Ij是葉節點j樣本下標集合,因增添了兩個正則項,式(4)內的g、h具備以下關系
Gj=∑i∈Ijgi
Hj=∑i∈Ijhi
(5)
最終將式(4)簡化成
(6)
設定wj的導數為0,將其引入式(6)計算最優解

(7)

最終將風險反饋模型表達式記作

(8)

設置1為風險反饋閾值,若模型輸出結果小于等于1,證明密鑰安全性較高;若輸出結果大于1,證明密鑰存在一定的安全隱患,需要采取可信度識別計算,并根據實際應用環境作出相應調整。
利用上述過程可知網絡安全密鑰風險程度,若風險水平較高,就要進一步衡量網絡安全密鑰自身的可信性,完成密鑰可信度識別。網絡安全密鑰自身的可信性識別流程[12]如圖2所示。

圖2 網絡安全密鑰自身的可信性識別流程
處理密鑰訓練樣本輸入值得到樣本特質,再把特征輸出至全連接層,逐步降低向量維數;向量傳遞到輸出層,獲得樣本標簽可信預測值,完成權重調整[13],實現樣本訓練的全部過程。
1)消除密鑰干擾。刪除密鑰的信息字節,密鑰數據包的地址信息是隨機生成的,并且相同網絡傳輸的數據包,即便不加密也會具備同樣的地址信息[14,15],極大增強了密鑰可信度識別的抗干擾程度。
2)剔除路徑干擾。刪除網絡頭部信息字節,例如數據鏈路層內的數據包涵蓋網絡的頭部數據,此類次子信息定義的是網絡,與密鑰可信度識別無關,因此要將其刪除。
3)統一傳輸協議。不同傳輸協議的報頭字節長度不等,會損壞密鑰數據結構。在報頭后增添空白字節,確保數據內傳輸層協議占據的字節個數相同[16]。
利用激活函數運算獲得一個特征圖,激活函數運算過程為

(9)
式中,Mj是密鑰輸入特征的集合。
密鑰協議的訓練過程中[17],首先正向傳播樣本,推算網絡各層輸出值。安全密鑰訓練的本質即為計算損失函數的最小值,降低密鑰可信度計算誤差。
利用反向傳播更新網絡參數[18],完成密鑰可信度結果輸出。更新時的初始點為輸出層,終點為輸入層。經過持續迭代,參數更新朝向安全密鑰性能收斂方向前進,得到最小損失函數[19]。安全密鑰權值與偏置參數的更新調整策略分別記作:

(10)

(11)
式中,W表示學習參數,α為學習率,設定原始學習率為0.02,λ是正則化系數,m為訓練樣本個數。
為驗證所提方法有效性,將密鑰安全威脅作為評估準則,深入研究密鑰可信程度。使用漏洞掃描軟件Nessus4.2掃描原始網絡,得到密鑰風險數據集,實驗時間為60天,從不同時間跨度層面n進行仿真分析,最大限度保證所得結果的可靠性。密鑰的可用性和端口有緊密關聯,按照互聯網的傳輸控制協議,將密鑰脆弱性等同于端口風險值,設置風險值是利用分和影響分的乘積。
設置EPTi,j為端口i漏洞j的脆弱性利用分值,IPTi,j為端口i漏洞j的影響分值,則端口i,即密鑰風險值Ri的推導公式為
Ri=∑jEPTi,j*IPTi,j
(12)
同理,若端口i風險權重是Wi,本地網絡靜態的密鑰安全風險值R為
R=∑iWi*Ri
(13)
引入偏好量α來表示密鑰權重,通常權重值越大,密鑰受到外部干擾的概率越大,重新定義本地靜態密鑰安全風險值,記作
Ro=∑iWi·thi(d,n)
(14)
式中,thi(d,n)為端口i報警的目標地址數量均值。
由此可知,如果Ro與R之間的比值等于1,表明網絡密鑰處于絕對安全狀態。
本文方法基于不同時間跨度的網絡密鑰可信度識別結果如圖3所示。觀察圖3可看到,不同n值下,可信度識別結果的整體趨勢比較一致,但n值較低時,密鑰可信度識別結果上下起伏更為劇烈。由此可知,時間跨度n值越小,受到當日網絡運行狀態的影響越大,識別結果的及時性越好。因此在密鑰可信度識別過程中,要盡可能地縮減計算時間跨度,便于監測網絡密鑰實時變化,提高識別精準度。

圖3 不同時間跨度下密鑰可信度識別
設定α的取值依次為0.2、0.4、0.6,對不同偏好量下的網絡密鑰可信度進行仿真分析,實驗結果參照圖4。由圖4看到,偏好量α值越小,可信度識別對外部數據的依賴程度越高;偏好量α值越大,識別結果越接近最佳安全比值1,對數據的依賴程度越小。偏好值偏高符合常規用戶使用習慣,說明方法不需要限制識別條件,可全方位展現當前密鑰的整體風險趨勢。

圖4 不同偏好量下密鑰可信度識別
為進一步顯示本文方法優越性,在已知密鑰風險數據集前提下,添加Sasser病毒,檢驗方法在病毒侵入下能否實現高精度密鑰可信度識別任務。Sasser病毒為一種利用微軟操作系統的進行傳播擴散的震蕩波蠕蟲,該病毒會攻擊網絡端口,導致密鑰泄露或被竊取。設定Sasser蠕蟲從第20天開始爆發,到40日左右得到控制,在第50天基本清除病毒恢復原始網絡狀態,得到如圖5所示的仿真結果。

圖5 擬照Sasser病毒爆發的密鑰可信度評估
從圖5中,與沒有注入Sasser病毒的原始密鑰數據相比,本文方法在第20天之前與原始密鑰數據的風險趨勢相同,在第20天Sasser蠕蟲爆發,第25天網絡密鑰風險數值有了明顯的起伏,呈直線上升態勢,第40天病毒已得到有效控制,因此風險呈現逐步下降趨勢。在第50天網絡恢復穩定運行后,包含病毒的密鑰數據與無病毒注入的原始數據依舊維持相同的風險趨勢。
由此看到,本文方法可有效評估網絡密鑰的實時狀態與安全風險走勢,得到令人滿意的可信度識別結果,為網絡運維人員提供極大的工作便利,保證網絡運行的穩定性與安全性。
面對日益嚴峻的網絡密鑰安全問題,提出一種基于風險反饋的網絡安全密鑰可信度識別方法。運用橢圓曲線公鑰密碼算法創建密鑰整體架構,分析密鑰潛在風險因素并組建風險反饋模型,完成密鑰可信度識別目標。所提方法思維明確、計算簡便,可信度識別結果精準度很高,為復雜的網絡安全問題提供一種可行思路。