王 彥,林世平
(1. 福建省科學技術信息研究所,福建 福州 350003;2. 福建省信息網絡重點實驗室,福建 福州 350003; 3. 福州大學數學與計算機科學學院,福建 福州 350108)
網絡存在的安全隱患中較為典型就是eclipse攻擊,目前一般通過預防檢測eclipse攻擊,來抵消其對計算機網絡安全造成的威脅。但是計算機中還存在一些區(qū)域并沒有被檢測,例如區(qū)塊鏈系統(tǒng)。因此,本文提出一種攻擊下計算機區(qū)塊鏈的安全檢測方法。通過分析eclipse攻擊被檢測的狀態(tài),構建區(qū)塊鏈的安全檢測模型,檢測區(qū)塊鏈安全狀態(tài)并擬定抑制器與檢測器的字符串,構建區(qū)塊鏈估算模糊模型。再重新擬定模型的要素,通過潛質挖掘算法,使其能夠二次檢測,得到區(qū)塊鏈安全檢測的優(yōu)化模型。該方法能夠較為精準的檢測區(qū)塊鏈的安全性,并且檢測的效率較高,速度較快。
通常來說,eclipse攻擊下區(qū)塊鏈安全檢測的體系架構是通過三種部分組成,其分別為Console、Agent與Manager。其中Agent的作用是有效的監(jiān)控計算機網段內的區(qū)塊鏈,同時從其中搜索出可能是攻擊行為的信息,隨后將存在關聯(lián)的分析數據傳輸至計算機網絡管理器內;Console的作用是統(tǒng)一收集代理信息,同時具體顯示已經收到攻擊的信息,隨后把搜索到的攻擊行為信息和存在關聯(lián)的分析數據傳輸至計算機的網絡管理器內;Managet的作用是在eclipse進行攻擊時實時的有效的響應攻擊警告信息,并且Manager也能夠執(zhí)行網絡控制臺發(fā)出的所有命令,隨后再通過Manager來把代理所發(fā)送的攻擊警告?zhèn)鬏斨劣嬎銠C網絡的控制臺內。
基于計算機網絡的eclipse攻擊檢測,要在每一種網絡段內放置多種eclipse攻擊檢測代理,而網絡架構都各不相同,同時其代理的鏈接方式都不同。其中,如果憑借總線式的集線器來當做網絡段[1]的鏈接方式,那么只要將集線器與代理的某個端口鏈接,如果利用太網交換機當做鏈接的方式,因為交換機自身并沒有方法來完成媒介共享,因此只利用一種代理來對子網處理,是沒有辦法完成檢測的。也正是從這個方向考慮,可以將交換機的芯片[2]用作調式的端口里,同時將該端口與eclipse攻擊鏈接,或者把該端口放置在數據流的關鍵口內,這樣就可以較為輕易的得到所有重要的數據信息了。
擬定eclipse攻擊信息已經被攻擊檢測系統(tǒng)所檢測到,其能夠出現的響應形式存在很多種。并且,升級攻擊特征庫能夠將攻擊特征庫內的每一種文件經過必要的形式,從存在關聯(lián)的站點內加載下來,隨后再使用計算機的控制臺把其形式添加到網絡攻擊特征庫[3]里。在這個過程中,網絡管理員可以利用單位資源狀態(tài)和大致的使用情況,憑借攻擊檢測系統(tǒng)特征庫作為基礎來自定義攻擊特征,從而更為有效的保證單位的特定資源與使用。
為完成區(qū)塊鏈的安全檢測,本文憑借以往的模型優(yōu)缺點,把信息流檢測、直接語句分析與Wrapper技術組合在一起,構建了一種全新的安全檢測模型[4],如圖1所示。其也是經過對每種構建的檢測來確保整體區(qū)域鏈的安全性。
圖1 安全檢測過程
步驟1:從外部獲取所需要的架構,然后使用直接語句分析與攜帶碼保證書的方法來檢測,憑借檢測的結果對所有構建,擬定輸入輸出的數據形式、是否循環(huán)、是否轉換等屬性標簽、簡易分類上述標簽及其安全性。安全性較強的擬定成最高等級,有可能存在錯誤的就擬定成中等級別,存在嚴重錯誤或是系統(tǒng)直接拒絕執(zhí)行的擬定成危險等級。但因加入安全分類過于嚴謹,也有可能會導致系統(tǒng)運行的效率降低。
步驟2:把每一種構建都融入至構建容器[5],把構建融合時的屬性使用沙盒技術進行分析,確保需要進行的對應處理。
步驟3:憑借步驟2的結果使用Wrapper技術封裝處理所有安全問題,確保區(qū)塊鏈運行的安全性。在這個流程內,假如區(qū)塊鏈出現變化,例如當某種構建出現刪除、增加或是轉變時,必須自動的重新檢測。重新檢測時只需要檢測中檔安全級的構建與出現轉變的構建,進而節(jié)省區(qū)塊鏈的不必要開銷。但其還是存在一些eclipse攻擊后冗余的數據流信息在影響整體區(qū)塊鏈的正常運作,因此需要對模型的基本要素進行擬定,同時在融合一種安全檢測方法進一步二次檢測。
通過圖1能夠得知,該檢測模型內存在抑制器與檢測器。其中,抑制器具有非自體數據、自體數據,檢測器具有記憶檢測器、成熟檢測器與未成熟檢測器[6]。在該模型運行之前,需要形式化的擬定以上的每一個概念。
擬定Ag代表抑制集合,Ag?R。針對每一種任意拒絕源x∈Ag,x是存在其它受入侵節(jié)點與區(qū)塊鏈節(jié)點建造的TCP鏈接。自體集合Self?Ag,非自體集合Nonself?Ag.Self∪Nonself=Ag,Self∩Nonself=?。Self為被攻擊區(qū)塊鏈節(jié)點的正常網絡數據[7]集合,Nonself表示來自攻擊節(jié)點的網絡數據集合。
擬定I={(c,r,age)|c,r∈B,age∈N}代表成熟檢測器集合。其中,c為被向量化的eclipse攻擊特征,其具有三維向量的兩組向量與一維向量IPi,r為c的三維向量擴展值,age代表計算機區(qū)塊鏈的使用期限,N代表自然數的集合。
擬定D={(c,r,age,count)|c,r∈B.age,count∈N}代表檢測器的集合。其中,count為匹配數。
檢測器集合D憑借成熟檢測器T與記憶檢測器M兩個部分形成。所以D=M∪T,M∩T=?,M代表記憶檢測器集合,β代表匹配非自體次數的閾值,x|x∈D,?y∈Self(〈x,y〉?Match∧x,count<β)代表成熟檢測器的集合。其中,集合T={Match={{x,y}|x∈D,y∈Ag,fmatch(x,c,y)=1}}代表D×Ag的匹配關聯(lián),fmatch(x,c,y)的取值決定于x,c與y之間的匹配度[8],如果其大于擬定的閾值,fmatch值是1,反之是0。所以,擬定自體集合Self和某檢測器x的不匹配,并且x在區(qū)塊鏈里檢測出的非自體次數超過了閾值β,所以該檢測器就表示為記憶檢測器。假如某自體集合Self和檢測器x和y不匹配。并且x在區(qū)塊鏈里檢測出了非自體[9]次數要比擬定的閾值β小,那么該檢測器就表示為成熟檢測器。
在以往的安全檢測模型里,親和力fmatch能夠通過歐幾里距離、r連續(xù)位匹配、曼哈頓距離與海明距離等方式估算。本文模型估算為
fmatch(x,y)=(I+D)T
(1)
因在eclipse攻擊后會存在冗余的數據流信息影響整體區(qū)塊鏈的正常運作,因此需要對模型的要素進行重新擬定。潛質挖掘即在計算機受到eclipse攻擊輸入控制元素的條件下優(yōu)化控制計算機的區(qū)塊鏈,從而提高性能。設定具有n種eclipse攻擊輸入控制參量[10],m種區(qū)塊鏈安全監(jiān)測輸出參量的潛質挖掘,其挖掘的問題可以設定為
(2)
式中,x=(x1,x2,…,xn)代表維的決策矢量,y=F(x)為決策矢量的空間反射函數,q為不等式的約束條件,p為等式約束條件。
擬定xA與xB代表潛質挖掘算法的兩種最優(yōu)解,量化[11]總解的對比結果,占優(yōu)解能夠擬定成
(3)
在使用潛質挖掘算法的時候,首先要利用所有eclipse攻擊網絡個體分類相應的級別,其中,對所有非支配eclipse網絡個體的級別都擬定為1。
在使用潛質挖掘算法訓練之后,對潛質挖掘算法的現實性能測試,隨機從eclipse攻擊網絡進化種群內挑選多種區(qū)域鏈內的個體,傳輸至eclipse攻擊網絡數據對比集里,如果其中不受對比集支配的數量較少,那么就把較少的個體進化,將其進化為下一代個體進而完成對eclipse攻擊網絡的評測。
潛質挖掘算法的收斂性標準評測時,使用以下定義
(4)
其中,p*代表最優(yōu)解的集合,定義成
p*=(p1,p2,…,p|m|)
(5)
潛質挖掘算法收斂性度量設定為集合A里所有歸一化平均的長度,其能夠擬定成
(6)
使用時,潛質挖掘算法的平均尺寸越小,就證明算法收斂后解的性能越好。
最優(yōu)解之間的距離能夠擬定為
(7)
潛質挖掘算法的聚類系數就是測評挖掘算法性能的重要指標。在潛質挖掘算法里,擬定和一種eclipse攻擊節(jié)點i存在鏈接的共有ki種eclipse攻擊節(jié)點,那么這ki種eclipse攻擊節(jié)點最多能夠組成ki(ki-1)/2種邊,這ki種eclipse攻擊節(jié)點實際組成的邊Ei和ki(ki-1)/2的比值即聚類系數Ci,整體的潛質挖掘算法的聚類系數為
(8)
本文模型可以優(yōu)化為
(9)
通過上述能夠看出,潛質挖掘算法可以很好的完成再eclipse攻擊下區(qū)塊鏈的安全檢測。
仿真環(huán)境為:Windows Server 2012 R2Intel(R) Xeon (TM) CPU E5-2650 @2.30GHz 2.30GHz with 32.0GB of RAM,MATLAB2014a編程實現。
為證明本文方法的實用性,擬定區(qū)塊鏈的循環(huán)次數是26000,循環(huán)的次數越多得到的區(qū)塊鏈狀態(tài)數量就越多,假如想得到所有的狀態(tài),需要運作較長的時間,同時可行性較低,因此本文實驗值需要得到區(qū)塊鏈的絕大多數狀態(tài)就可以了。
圖2代表循環(huán)次數是26000時,在eclipse的不同攻擊力度下,區(qū)塊鏈的狀態(tài)數量。
圖2 eclipse不同的攻擊力度下,狀態(tài)數量的變化
通過圖2能夠看出,在不同的攻擊程度下,狀態(tài)的數量都與19300較為臨近。結果證明,區(qū)塊鏈狀態(tài)數量和攻擊的力度不存在關聯(lián),在該實驗的流程內,狀態(tài)數量值在19300附近,所以之后的實驗會把19300當做狀態(tài)的總量。
經過上述實驗,研究分析得到了循環(huán)的次數、攻擊的數量與狀態(tài)數量這三者之間的關聯(lián)。實驗流程把循環(huán)次數擬定成1000至28000,隨后統(tǒng)計狀態(tài)的數量、攻擊的數量與循環(huán)的次數,同時使用折線圖來表示實驗的結果。
攻擊狀態(tài)即一種含有虛假信息的區(qū)塊后面連接了六種或六種以上的區(qū)塊后,那么該區(qū)塊即攻擊區(qū)塊,該區(qū)塊鏈就處攻擊成功的情況。圖3內表明了狀態(tài)數量、攻擊數量與循環(huán)的次數之間的關聯(lián),從圖3中能夠看出,隨著循環(huán)次數的增長,狀態(tài)數量與攻擊數量也在逐漸的增長,狀態(tài)數量增長的速度要比攻擊數量增加的要快。因此,本文方法檢測速度較快,效率較高。
圖3 攻擊數量、狀態(tài)數量與循環(huán)次數的關聯(lián)
經過上述實驗將實驗中的循環(huán)次數擬定成26000、攻擊力度擬定成0.5,來分析區(qū)塊鏈的深度與狀態(tài)數量之間的關聯(lián),表1統(tǒng)計了區(qū)塊鏈的不同層次內狀態(tài)的數量與攻擊成功的數量。
表1 不同深度區(qū)塊鏈的狀態(tài)數量/個
實驗結果證明,總的攻擊數量是843,深度是六的狀態(tài)數量是18462,兩者的比例8642/18462近似于0.6,其符合本文的預期。因為攻擊者的選擇策略內幾率與區(qū)塊鏈的深度之間出現一種等比的關系,同時最后一層的狀態(tài)數量占總的狀態(tài)數量的一半,攻擊數量的變化規(guī)律和狀態(tài)數量的變化規(guī)律較為相同。因此,本文方法檢測的精度較高。
憑借模擬方法,本文得到了區(qū)塊鏈內每個層次內的狀態(tài)與攻擊架構,進而能夠分析出不同層次的狀態(tài)至每種攻擊狀態(tài)的幾率,評測區(qū)塊鏈的安全性。
本文將找到的攻擊狀態(tài)將其當做分析的目標,分析不同架構到達攻擊狀態(tài)架構的幾率,這些幾率綜合表示該狀態(tài)下被攻擊成功的可能性大小,在數值超過擬定的參數時,就能夠向區(qū)塊鏈內的用戶傳輸警告,使用一些必要的措施來將攻擊的幾率降低,比如增加確認交易的時間等。擬定某處區(qū)塊鏈節(jié)點內存在虛假信息,在用計算機沒有檢測出區(qū)塊的狀態(tài)下,依然能夠把新產生的區(qū)塊鏈接上去,攻擊者則會快速的把更多的節(jié)點鏈接至節(jié)點所在的鏈上,攻擊者也能夠使用日蝕攻擊,把搜索到的區(qū)塊存在一段時間后在一次性的釋放,使區(qū)塊的操作信息都處于一種穩(wěn)定的狀態(tài),攻擊的種類很多,從攻擊層面分析區(qū)塊鏈的安全性就會較為復雜,而區(qū)塊鏈內的架構基本都是相同且有限的,經過分析所有狀態(tài)的架構特征,估算被攻擊的幾率,就能夠評測區(qū)塊鏈的安全性,比如在該架構的高度是三時,本文使用隨機化的方式進行估算該結構到高度是四的攻擊架構幾率,通過上述表1能夠看出,深度是四時的狀態(tài)存在982種,深度是三時其它狀態(tài)存在124種,能夠估算該狀態(tài)至這974種狀態(tài)的幾率來簡化估算狀態(tài)的數量,因為很多狀態(tài)是沒有辦法從目前的狀態(tài)添加一種節(jié)點后獲得,以此類推,直至估算出到達攻擊狀態(tài)的幾率位置,進而得到攻擊幾率的大小,從而評測出區(qū)塊鏈的安全性。
eclipse攻擊首先會在區(qū)塊鏈的受害節(jié)點重啟前,利用攻擊節(jié)點來惡意的對受害節(jié)點的路由表進行填充,進而將路由表與受害節(jié)點重啟后的攻擊地址傳輸出去,同時,攻擊節(jié)點會不斷的對受害節(jié)點進行傳送鏈接,最終完成壟斷受害節(jié)點信息、控制器信息流的目的。對此就需要一種能夠對計算機區(qū)塊鏈進行安全檢測的方法。本文將信息流檢測、直接語句分析與Wrapper技術組合在一起,構建一種安全檢測模型,在模型內添加潛質挖掘算法,進一步優(yōu)化計算機的區(qū)塊鏈安全檢測模型。實驗結果表明,本文方法能夠有效的對eclipse攻擊下的計算機區(qū)塊鏈安全進行檢測,并且還有著檢測效率快,與檢測精準度高的優(yōu)點,為實際應用提供一定的參考。