呂德龍,翁 溪,周小為
(1.陸軍工程大學 指揮控制工程學院,江蘇 南京210007;2.江南計算技術研究所,江蘇 無錫214083)
近年來,網絡攻擊的數量和復雜性都在迅速增加[1-2],攻擊者能夠利用多種攻擊載體(如零日漏洞、軟件配置中的缺陷和訪問控制策略等)滲透到其目標系統中。針對上述問題,研究人員提出了許多解決辦法來增強網絡和信息系統的安全防護能力,典型的解決方案包括入侵防護[3]、系統加固[4]以及高級攻擊檢測和緩解等[5]。盡管這些傳統的安全措施在任何安全防護手段中都必不可少,但它們大多被動響應攻擊者的行為,缺乏在網絡殺傷鏈的早期就與攻擊者進行交互的手段,導致防御方始終處于被動地位。
網絡欺騙防御技術是為改變防御方被動地位解決攻防不對稱問題[6]而引入的新思路,網絡欺騙防御技術通過在攻擊者必經之路上構造陷阱,混淆其攻擊目標,使得攻擊者難以辨別信息系統外顯特征真假,陷入虛假系統探測和攻擊中,增加攻擊成本和代價,而且在受控的環境中可以記錄并追溯攻擊者的行為,最終實現保護網絡內部的真實資產的目標。
但是,防御者誘騙攻擊者的過程中也可能會被攻擊者獲取到過多的真實網絡特征,如何在有效地迷惑住對手的同時,確保信息收益最大化是亟需解決的一大問題。為解決此問題,本文結合欺騙防御和最優停止理論,從防御者視角考慮,基于最優停止理論,求解防御方最佳抑制攻擊時刻,實現最大化防御系統收益的目標。
20世紀80年代末,斯托爾[7]首次討論了如何利用欺騙技術來跟蹤入侵者,以確保計算機安全,并在此基礎上形成了蜜罐的概念。為了吸引潛在的攻擊者,蜜罐把自己偽裝成可能被利用的服務主機,通過收集和記錄攻擊者破壞蜜罐的方法,防御方可以使用學習到的知識來增強系統安全性。近年來,出現了不少利用欺騙技術[8-10]來迷惑或誤導攻擊者的技術手段。網絡欺騙防御技術可用于保護易受攻擊的業務系統,并因其自身的優勢而受到了安全防御人員的關注。欺騙的概念在幾乎所有安全領域都以不同的形式出現,但欺騙防御技術一般是指在攻擊者與目標系統交互時用作防御機制來欺騙攻擊者的技術。
欺騙防御不是在發現入侵者后,立刻驅逐攻擊者,而是使用構建好的誘餌動作來響應攻擊者,例如虛假協議消息[11]、響應延遲[12]、誘餌消息[13]等。在法國總統大選期間,馬克龍的團隊被曝利用偽造文件創建了大量的虛假賬戶[14],并將其與大量虛假信息混淆。通過將這些賬戶主動暴露給攻擊者,成功防御了網絡釣魚攻擊等網絡攻擊手段。
文獻[15]構建了基于陷阱的體系,防御方對監控密碼、身份驗證cookie、信用卡和文件等敏感數據進行修改、重放等操作后作為誘餌數據注入到系統中,誘發攻擊者主動攻擊,使得攻擊者暴露。不過此時又出現了新的問題,即釋放敏感數據的標準是什么,何時停止釋放才能在取得最大收益的同時付出最小的代價。
對于網絡欺騙策略的決策問題,目前有多種解決方案,文獻[16]將決策問題建模為微分對策,從而得到網絡欺騙的動態策略。文獻[17]對攻擊者和防御者之間的相互作用進行了博弈理論的研究,利用不完全信息的非合作二人動態博弈模型來模擬防御者和攻擊者之間的交互,確定符合完美貝葉斯均衡的策略即為最佳策略。
針對網絡欺騙防御的決策問題,本文引入了最優停止理論,最優停止理論在網絡領域已經有了很好的應用,如黃羨飛[18]、彭穎[19]等人利用最優停止理論解決了無線網絡中的數據傳輸效率問題。網絡欺騙防御過程中的行為是隨著時間變化的,該特點與最優停止理論是符合的,因此本文將欺騙防御過程中策略優化問題轉變為最優停止問題的求解。
在網絡欺騙防御系統中,為了盡可能地欺騙對手,防御者需要在欺騙過程中適當放置一些真實的、敏感的信息,讓對手誤以為防御方沒有檢測到他們的行動進而繼續對誘餌數據或在誘捕環境內攻擊。本文研究防御方在已知攻擊者的情況下,在滿足防御總目標的前提下,如何使平均信息泄露量最小化。
在網絡攻防中,可以將攻擊者的攻擊細化為單個行動。攻擊者的每次行動都會對防御系統產生影響。攻擊者每發起一次攻擊行動,防御方就可以通過欺騙系統獲取到該攻擊行動所竊取到的有用信息,即泄露的真實信息。假設欺騙系統可以對每次攻擊進行分析得到其攻擊相關信息量為A,以及對應泄露的真實信息量L。防御者需要在一輪攻擊中確定一個合適的時刻來抑制后續攻擊行動,以確保自身利益最大化。一輪攻擊防御過程如圖1所示,若防御者未能選出最優抑制時刻,將會遭受攻擊者的完整攻擊。

圖1 一輪攻擊防御過程
最優停止理論是一個一般的數學模型,讓決策者可以在一個由時間或數量組成的隨機序列中,在合適的時刻做出相應的決策行為,實現獲取最大的收益或付出最小的代價目標。最優停止理論問題有如下對象定義:
(1)隨機變量X1,X2,…,并假設變量服從聯合分布;
(2)實值報酬或成本函數序列:y0,y1(x1),y2(x1,x2),…,y∞(x1,x2…)。
相關聯的停止規則是:在觀察到X1=x1,X2=x2,…,Xn=xn(n=1,2,…)后,決策者選擇停止觀察并接受已知收益或代價函數yn(x1,…,xn),或者繼續觀察Xn+1。圖2展示了收益或代價函數Y隨隨機變量X的變化過程,其中,YN=yN(x1,…,xN)是表示在N時刻的收益或代價。如果不進行任何觀察,決策者接受y0;如果不停止觀察,決策者接受y∞(x1,x2,…)。這個策略可以使決策者在最優停止時刻N(0≤N≤∞)得到最大化期望收益E[YN]或最小化期望代價E[YN]。其中,E[]表示期望值。當n→∞,該最優停止問題則為無限范圍的問題。但在實際中,n的值一般不會超過最大值Nm,此時該問題變成有限范圍問題,它是無限范圍問題的特殊情況,可進行反向歸納的方法求解,即從最大值Nm向最小值0進行反向計算。

圖2 最優停止問題流程圖
在欺騙防御過程中,防御者既需要為部分攻擊行為釋放真實信息來引誘對手持續發起攻擊直到主動驅逐攻擊者,又需要盡可能少地泄露真實的信息。防御者可以通過欺騙系統持續觀察攻擊者的行為,并計算出攻擊行為所暴露出的信息,同時計算出該攻擊行為所竊取到的真實信息量。通過觀察的結果選擇最優時刻抑制攻擊,以使信息收益最大化。因此該欺騙防御問題可轉換為一個有限范圍的最優停止問題。
在網絡攻防中,攻擊者的一次攻擊包含多個操作行為,同時為了迷惑防御方,會對各攻擊行為進行混淆,使防御方不能簡單快速識別攻擊。對于防御方,為了盡可能獲取到更多的攻擊特征信息,需要適當給攻擊者透露一些有效信息以激勵攻擊者做出進一步動作。同時,防御方不能無止境地泄露真實信息,泄露過多會帶來巨大安全隱患。因此,防御方通過對攻防信息的獲取,選擇最優時刻停止觀察并抑制后續的攻擊行為,以使獲取到的總攻擊信息與泄露的總的真實信息量之比最大化,這是一個最優停止策略問題。圖3展示了網絡欺騙問題和最優停止問題的各要素對應關系。

圖3 問題要素對應關系
在欺騙防御中,攻擊方進行第n次攻擊時,定義觀察到的變量序列為Xn={An,Ln},其中An表示攻擊者在第n次攻擊時所暴露的信息量,Ln表示欺騙防御系統在第n次攻擊時所泄露的信息量。攻擊行為信息量的度量可以根據攻擊行為類型進行量化,即計算一次攻擊中所包含的各個行為所對應攻擊目的的概率。即攻擊行動an對應的攻擊信息量計算公式為:

同樣,泄露真實信息量則根據防御者在應對攻擊時所使用的真實信息的重要性進行度量。即攻擊行動an所造成的真實信息泄露量為:

假設對一個目標的攻擊一共包含M次行動,N為防御者抑制后續攻擊行動的時刻,則有1≤n≤N≤M。由此可知,第n次行動后攻擊者所暴露的信息總量為,防御方泄露的真實信息量為那么,由攻擊信息總和與泄露信息總和相比可得表達式:

即需要根據式(3)確定如何獲取最大的信息比。
可以利用式(3)將如何獲取最大的信息比Rn轉換成一個面試問題。面試問題是如何在M個面試者中找出最優秀者,即如何在這M次攻擊中找到最大信息比。首先需要按照秘書問題來給定一個隨機變量yk(1≤k≤M)表示RN的絕對排名,當yk=1時,表示在第k次觀察時得到的RN在M次觀察中最優。由于本文的攻擊-欺騙過程是不可逆的,因此還要再給定一個隨機變量xj(1≤j≤k)來表示RN的相對排名,當xj=1時表示第j次偵測的RN在相對觀察次數k中最優。如果要使得第k次偵測的RN在xj是最優值,可以得到第k次觀察時RN在xj的概率為:

對于r=1,…,M,有以下停止規則ξ(r)存在:前r-1次攻擊行動都不作出抑制,然后對剩下的M-r+1次的攻擊進行偵測分析,如果任何一次攻擊后的攻擊信息和與泄露信息和比值都比之前要大,那么就在此次攻擊動作之后抑制后續攻擊動作。前r-1次攻擊被選中的概率為0,假設從第r次攻擊開始,偵測到第k次攻擊時信息量比值最大且被選中作為抑制后續攻擊的點,那么最大值被選中的概率為:

其中,第k次作為信息量比最大值并且被選中的攻擊,根據概率論的知識,可以化簡為:第k次攻擊在最大值的前提下被選擇。因為最大值只有一個,所以它的概率為1/M。既然是最大值,那么最大值對應的攻擊行為被選擇的概率大于其前后攻擊被選中的概率,所以有:

得到r的一般表達式,現要找出最優解,等價于找到滿足以下條件最小的r值:

網絡欺騙防御是網絡主動防御的重要手段,但傳統的欺騙防御策略往往側重于如何更好地引誘攻擊者進行攻擊,直至耗盡攻擊者的攻擊手段,而忽視了泄露過多信息可能帶來的安全隱患。為此,本文針對網絡欺騙防御系統中防守方的最佳抑制攻擊時刻的選擇進行了分析,發現在攻擊信息量和與泄露信息量和之比的最大值時刻抑制對手后續攻擊,可使防御方的利益最大化。本文基于最優停止理論構建了信息最大化收益問題模型,并做出了相應假設和數學推導,求解出最優解表達式。后續工作會根據不同攻擊行動的分布模型,建立完備的信息量評價機制,同時對該最優停止理論模型進行實驗評估。