• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于載荷特征與統(tǒng)計特征的Shodan 流量識別

    2021-01-15 07:17:42連曉偉陳永樂張壯壯王建華
    計算機工程 2021年1期
    關(guān)鍵詞:蜜罐狀態(tài)機工控

    連曉偉,馬 垚,陳永樂,張壯壯,王建華

    (太原理工大學(xué)信息與計算機學(xué)院,太原 030024)

    0 概述

    工業(yè)控制系統(tǒng)廣泛應(yīng)用于油氣管道、供水系統(tǒng)、電網(wǎng)與核電站等關(guān)鍵基礎(chǔ)設(shè)施[1]。隨著工業(yè)信息化的快速發(fā)展,工業(yè)控制系統(tǒng)與外部互聯(lián)網(wǎng)的連接更加頻繁,使得大量工控設(shè)備接入到互聯(lián)網(wǎng)中,因此在工控領(lǐng)域出現(xiàn)愈來愈多的網(wǎng)絡(luò)攻擊,對工控系統(tǒng)造成嚴(yán)重威脅[2-3]。由于Shodan 搜索引擎可對網(wǎng)絡(luò)攻擊引起的威脅進(jìn)行有效識別以及索引面向互聯(lián)網(wǎng)的工控系統(tǒng)組件,因此受到研究人員的廣泛關(guān)注[4]。

    2009 年,程序員約翰·馬瑟利提出Shodan 搜索引擎,它是全球第一個對全網(wǎng)設(shè)備進(jìn)行掃描的搜索引擎,且?guī)в袌D形用戶界面,可有效識別面向互聯(lián)網(wǎng)的設(shè)備。與傳統(tǒng)搜索引擎不同,Shodan 可以識別具有可路由IP 地址的設(shè)備,包括計算機、網(wǎng)絡(luò)打印機、網(wǎng)絡(luò)攝像頭以及工業(yè)控制設(shè)備等[5]。Shodan 每周7 天、每天24 小時都在運行,且每月可收集大約5 億臺聯(lián)網(wǎng)設(shè)備的信息[6],它將收集到的設(shè)備信息存儲于一個可搜索的數(shù)據(jù)庫中,該數(shù)據(jù)庫可通過Web 接口或Shodan API 進(jìn)行訪問。用戶可以使用一系列過濾器查詢Shodan 數(shù)據(jù)庫,這些過濾器主要包括國家名、主機名、網(wǎng)絡(luò)信息、操作系統(tǒng)與端口等。

    Shodan 搜索引擎的設(shè)計目的是搜索互聯(lián)網(wǎng),并試圖識別與索引與之相連的設(shè)備,且其已識別出數(shù)萬個與工業(yè)控制系統(tǒng)相關(guān)的面向互聯(lián)網(wǎng)的設(shè)備。然而,識別工控相關(guān)設(shè)備的能力引起了重大的安全問題,美國國土安全部發(fā)布一份關(guān)于Shodan 的報告,該報告詳細(xì)說明了工業(yè)控制設(shè)備暴露在互聯(lián)網(wǎng)中存在的風(fēng)險[7]。文獻(xiàn)[8]認(rèn)為Shodan 是互聯(lián)網(wǎng)中最強勁的搜索引擎。事實上,Shodan 為攻擊者提供一個強大的偵察工具,攻擊者通過Shodan 可以便捷地發(fā)現(xiàn)暴露在互聯(lián)網(wǎng)上的工業(yè)控制設(shè)備以及與該設(shè)備相關(guān)的IP 地址,以及開放的服務(wù)與存在的漏洞等信息,進(jìn)而通過這些信息發(fā)動攻擊,從而對工控系統(tǒng)造成嚴(yán)重破壞[9]。

    針對Shodan 的不安全性,本文采用蜜罐技術(shù)對Shodan 掃描流量進(jìn)行深入研究。利用蜜罐模擬工控設(shè)備將蜜罐部署到互聯(lián)網(wǎng)中,并通過開放相關(guān)端口吸引攻擊者的攻擊,從而捕獲所有的攻擊數(shù)據(jù)。本文針對這些攻擊數(shù)據(jù),構(gòu)建一種將確定有限自動機(Deterministic Finite Automata,DFA)與支持向量機(Support Vector Machine,SVM)相結(jié)合的Shodan 掃描流量識別模型。該模型利用狀態(tài)機模型對掃描序列進(jìn)行過濾,排除不具有Shodan 掃描序列特征的流量,再通過SVM 模型對接收的流量進(jìn)行識別,從而得到最終識別結(jié)果。

    1 相關(guān)工作

    互聯(lián)網(wǎng)流量識別方法主要分為3 種:基于端口的識別方法,深度包檢測(DPI)識別方法,基于機器學(xué)習(xí)的識別方法[10]。其中,基于端口的識別方法根據(jù)端口與網(wǎng)絡(luò)應(yīng)用的映射關(guān)系進(jìn)行流量識別。例如,F(xiàn)TP 服務(wù)使用21 端口,SSH 遠(yuǎn)程登錄服務(wù)使用22端口,基于HTTP 協(xié)議的Web 服務(wù)使用80 端口。深度包檢測識別方法通過分析目標(biāo)流量協(xié)議特征,提取數(shù)據(jù)包載荷中的特征碼并對流量進(jìn)行識別?;跈C器學(xué)習(xí)的流量識別方法通過從網(wǎng)絡(luò)流量中提取一系列獨立于荷載的統(tǒng)計特征,采用機器學(xué)習(xí)方法對統(tǒng)計特征進(jìn)行流量識別。

    基于端口號的流量識別方法并不適用于Shodan流量的識別。在深度包檢測識別中,文獻(xiàn)[11]基于DPI 技術(shù)設(shè)計一個分級分類器,將流量正確分類為20 多個細(xì)粒度的類,并建立階層式自學(xué)習(xí)的分類模型,該集成識別模型將傳統(tǒng)DPI 技術(shù)的準(zhǔn)確性與其他技術(shù)相結(jié)合,有效改善了DPI 技術(shù)的不足。文獻(xiàn)[12]結(jié)合DPI 技術(shù)提出一種RocketTC 的流量分類架構(gòu),該架構(gòu)對網(wǎng)絡(luò)流量的識別準(zhǔn)確率達(dá)到97%。文獻(xiàn)[13]提出一種基于DPI 技術(shù)的流量識別方法,該方法結(jié)合軟硬件優(yōu)點,采用正則匹配法實現(xiàn)流量的識別。在基于機器學(xué)習(xí)的流量識別中,文獻(xiàn)[14]提出以249 個統(tǒng)計特征作為流量識別的分類依據(jù),后續(xù)研究在上述統(tǒng)計特征的基礎(chǔ)上,采用不同的機器學(xué)習(xí)算法對流量進(jìn)行識別。文獻(xiàn)[15]提出一種新的互聯(lián)網(wǎng)流量識別方案,該方案基于熵的算法對每個流的前4 個包的大小進(jìn)行離散化,利用KNN、SVM和樸素貝葉斯3 種分類器確定未知流的標(biāo)簽。接下來,使用4 種組合器方案對3 種分類器的輸出進(jìn)行組合,從而對未知流的標(biāo)簽進(jìn)行最后決策。文獻(xiàn)[16]提出可變特征空間的SVM 集成方法,為每個兩分類SVM 構(gòu)建具有最優(yōu)區(qū)分能力的獨立特征空間并集成為多分類器,以有效提高流量分類器的精度與召回率。文獻(xiàn)[17]提出一種基于距離的最近鄰優(yōu)化算法,該算法能夠改善非平衡流量的分類性能。文獻(xiàn)[18]通過提取惡意軟件C&C 的通信特征,并對多條加密流量進(jìn)行合并,使用卷積神經(jīng)網(wǎng)絡(luò)對加密C&C 數(shù)據(jù)流進(jìn)行識別。

    僅基于流量統(tǒng)計特征的機器學(xué)習(xí)流量識別方法由于缺少應(yīng)用層流量的有效特征,而導(dǎo)致識別效果較差。為此,本文通過對Shodan 流量進(jìn)行分析,將深度包檢測技術(shù)應(yīng)用到基于機器學(xué)習(xí)的流量識別方法中,并構(gòu)建一種基于載荷特征與統(tǒng)計特征相結(jié)合的DFA-SVM 識別模型。該模型通過提取應(yīng)用層協(xié)議功能碼序列,將其與流量統(tǒng)計特征相結(jié)合,以提高模型識別準(zhǔn)確率,有效識別Shodan 流量。

    2 基于統(tǒng)計特征和載荷特征的識別模型

    本節(jié)主要描述基于統(tǒng)計特征與載荷特征相結(jié)合的DFA-SVM 識別模型的構(gòu)建過程,DFA-SVM 識別模型如圖1 所示。首先,對原始流量進(jìn)行預(yù)處理并完成載荷特征和統(tǒng)計特征的提??;其次,通過IP 反查域名檢查關(guān)聯(lián)的PTR 記錄是否屬于Shodan 的子域,標(biāo)記已知樣本,并生成完整的數(shù)據(jù)集;接下來,對載荷特征中的功能碼序列進(jìn)行DFA 匹配,未被接收的數(shù)據(jù)將視為非Shodan 流量;最后,對前一步實驗接收的數(shù)據(jù)進(jìn)行基于統(tǒng)計特征的SVM 識別,完成對Shodan 流量和非Shodan 流量的分類。

    圖1 DFA-SVM 識別模型Fig.1 DFA-SVM recognition model

    2.1 基于狀態(tài)機的載荷特征識別模型

    2.1.1 確定性有限自動機

    確定性有限自動機是一種能實現(xiàn)狀態(tài)轉(zhuǎn)移的自動機。對于給定的屬于該自動機的狀態(tài)和屬于該自動機字母表求和的字符,其都能根據(jù)事先給定的轉(zhuǎn)移函數(shù)將它們轉(zhuǎn)移到下一個狀態(tài),通常使用五元組(Q,Σ,δ,s,F(xiàn))構(gòu)成的數(shù)學(xué)模型表示。其中,Q為狀態(tài)的有限集,Σ為字母表,δ為轉(zhuǎn)移函數(shù),s為開始狀態(tài),F(xiàn)為一個接受狀態(tài)集。

    確定性有限自動機從起始狀態(tài)開始,每一個輸入都會使?fàn)顟B(tài)機的狀態(tài)發(fā)生轉(zhuǎn)移,如果能夠從起始狀態(tài)轉(zhuǎn)移到接受狀態(tài),則識別輸入序列。確定性有限自動機對于任何確定的輸入都只有唯一確定的轉(zhuǎn)移,且不存在空字符串的狀態(tài)轉(zhuǎn)移。

    2.1.2 基于狀態(tài)機的功能碼序列匹配

    基于狀態(tài)機的應(yīng)用層協(xié)議功能碼序列匹配方法將一次完整的通信看作一個交互過程,對交互過程中每一個階段的狀態(tài)進(jìn)行提取,分析并找出這些狀態(tài)的特征,從而建立一個該協(xié)議的串行狀態(tài)規(guī)則。下文以基于狀態(tài)機的S7comm 協(xié)議分析流程為例進(jìn)行分析,其中,S7comm 協(xié)議的報文格式如圖2 所示。

    圖2 S7comm 協(xié)議報文格式Fig.2 Message format of S7comm protocol

    Shodan 對S7comm 協(xié)議設(shè)備的掃描流程如表1 所示。從表1 可以看出,Shodan 掃描器與被掃描設(shè)備通過3次握手建立TCP連接,再建立COTP連接和S7comm連接,接著發(fā)送2 條讀系統(tǒng)狀態(tài)列表數(shù)據(jù)包,用來分別請求Module Identification 和Component Identification,關(guān)閉連接后則掃描結(jié)束。

    表1 Shodan 對S7comm 協(xié)議設(shè)備掃描流程Table 1 Scanning flow of S7comm protocol device by Shodan

    基于狀態(tài)機的功能碼序列匹配方法是通過串行順序邏輯判斷來實現(xiàn)的,因此需要得到一次完整通信中各階段的數(shù)據(jù)狀態(tài),而工控協(xié)議中的功能碼能夠表示每條數(shù)據(jù)包的功能狀態(tài)。根據(jù)工控協(xié)議規(guī)約,功能碼用于標(biāo)明一個信息幀的用途,即指明數(shù)據(jù)包的功能,通常在協(xié)議數(shù)據(jù)包的某個固定字段指明。因為Shodan 掃描為機器掃描,其掃描流量序列相對固定,所以可以從流量數(shù)據(jù)中提取功能碼,并將其表示為基于狀態(tài)機的協(xié)議交互狀態(tài)[19]。對4 種工控協(xié)議分別建立與其對應(yīng)的自動狀態(tài)機,通過對不同協(xié)議的數(shù)據(jù)包進(jìn)行基于狀態(tài)機的功能碼序列匹配,即可區(qū)分出所捕獲的數(shù)據(jù)包是否為Shodan 流量。

    2.2 基于統(tǒng)計特征的SVM 識別模型

    2.2.1 流量統(tǒng)計特征提取

    由于網(wǎng)絡(luò)流量特征中存在很多冗余特征和無關(guān)特征,而這些特征不僅會降低分類精度,還會增加分類模型的計算成本。本文根據(jù)原始數(shù)據(jù)特點,從文獻(xiàn)[5]提出的249 個流量統(tǒng)計特征中提取30 個特征作為樣本屬性特征,并利用Relief 特征選擇算法將無關(guān)或冗余特征刪除。Relief 算法是一種特征權(quán)重算法,該算法的目的是根據(jù)各個特征和類別的相關(guān)性賦予每個特征不同的權(quán)重,并將小于某個閾值的特征刪除[20]。在實驗中,將特征權(quán)重小于0.01 的特征刪除,從而得到13 個特征,這13 個特征的詳細(xì)網(wǎng)絡(luò)流量特征描述如表2 所示。

    表2 網(wǎng)絡(luò)流量特征描述Table 2 Description of network traffic characteristics

    2.2.2 基于SVM 的Shodan 流量識別建模

    針對Shodan 流量統(tǒng)計特征的識別模型,其目的是設(shè)計一種對具有交互行為特征的流量數(shù)據(jù)進(jìn)行分析處理的分類方法,以識別出Shodan 掃描流量。由于工控網(wǎng)絡(luò)數(shù)據(jù)具有高維、非線性等特點,針對流量交互特性設(shè)計的Shodan 流量識別算法需要適應(yīng)工控流量的特殊性,以達(dá)到更好的識別效果。基于機器學(xué)習(xí)的SVM 是一種監(jiān)督學(xué)習(xí)算法,其被廣泛應(yīng)用于統(tǒng)計分類以及回歸分析,且分類效果較好,適用于流量識別[21]。

    利用SVM 算法對Shodan 流量識別進(jìn)行建模,根據(jù)提取的流量統(tǒng)計特征,建立識別模型的訓(xùn)練集和測試集。設(shè)定模型的各項參數(shù),并對數(shù)據(jù)集進(jìn)行訓(xùn)練以獲得Shodan 流量識別模型的決策函數(shù),具體步驟為:

    步驟1根據(jù)流量特征提取階段提取的特征對數(shù)據(jù)集進(jìn)行處理,構(gòu)建實驗訓(xùn)練集和測試集。

    步驟2選擇合適的核函數(shù),并設(shè)定核函數(shù)的相關(guān)參數(shù)和懲罰系數(shù)C,其中,C是用來控制尋找最大超平面和保證數(shù)據(jù)點偏差量最小的權(quán)重,并引入拉格朗日函數(shù),α是拉格朗日乘子向量,xi和yi是樣本點,構(gòu)造并求解式(1):

    步驟3通過計算得出α的最優(yōu)解并計算式(2):

    步驟4求解最優(yōu)分類函數(shù):

    其中,b為分類超平面參數(shù)。

    步驟5利用建立的分類函數(shù)在測試集上進(jìn)行訓(xùn)練測試,并不斷優(yōu)化參數(shù)的選擇,直至達(dá)到滿意的訓(xùn)練精度為止,從而建立高效的SVM 識別模型。

    3 實驗結(jié)果與分析

    3.1 數(shù)據(jù)集

    為收集大量的流量數(shù)據(jù),本文開發(fā)一個分布式蜜罐系統(tǒng),該系統(tǒng)包含6 個蜜罐,可以模擬4 種可編程邏輯控制器(Modicon(BMX P34 2020)、s7-400、奧萊斯LGR25 和ABB PM573-ETH)以及4 種工業(yè)控制協(xié)議(Modbus、S7comm、IEC 60870-5-104和BACnet-APDU)。每個蜜罐都是在Conpot[22]的基礎(chǔ)上開發(fā)的,所有蜜罐都可在預(yù)先定義好的響應(yīng)機制支持下響應(yīng)請求,并捕獲與攻擊者的所有交互。每個蜜罐集成一個開源認(rèn)證發(fā)布-訂閱協(xié)議hpfeeds,并將捕獲的數(shù)據(jù)傳輸?shù)綌?shù)據(jù)中心Mongodb 數(shù)據(jù)庫中。此外,為使蜜罐更具欺騙性,實驗改變原蜜罐框架的硬編碼特征,使得Shodan 將本文蜜罐誤識別為真實的工業(yè)控制系統(tǒng)。

    在為期3 個月的數(shù)據(jù)收集中,實驗總共收到來自145 720 個IP 的攻擊。實驗開始前,需要對數(shù)據(jù)進(jìn)行預(yù)處理,僅保留有完整交互的流量,并對流量進(jìn)行統(tǒng)計特征和功能碼序列的提取,從而獲得32 522 個樣本。原始數(shù)據(jù)集中每個屬性的取值范圍不同,為使每個屬性處于同一量綱上,本文采用線性變換將每個屬性的取值范圍映射到[-1,1]。然后,對數(shù)據(jù)進(jìn)行人工標(biāo)注并將數(shù)據(jù)集隨機分為訓(xùn)練集和測試集2 個子集。實驗數(shù)據(jù)集的具體信息如表3 所示。

    表3 實驗數(shù)據(jù)集的具體信息Table 3 Details of the experimental dataset

    3.2 支持向量機參數(shù)選擇與測試

    在基于統(tǒng)計特征的SVM 識別模型中,SVM 中不同參數(shù)的選擇對實驗結(jié)果有顯著影響。因此,本文在實驗開始前,利用訓(xùn)練集進(jìn)行測試以選擇最優(yōu)實驗參數(shù),并將最優(yōu)參數(shù)用于后續(xù)實驗。

    實驗利用徑向基核函數(shù)對參數(shù)進(jìn)行選擇與優(yōu)化,徑向基函數(shù)是某種沿徑向?qū)ΨQ的標(biāo)量函數(shù),通常定義為樣本到數(shù)據(jù)中心之間徑向距離的單調(diào)函數(shù)。徑向基核函數(shù)是一種比較常見的核函數(shù),且常用的徑向基核函數(shù)可表示為:

    實驗研究了懲罰系數(shù)C對實驗精度的影響,結(jié)果如圖3 所示。從圖3 可以看出,隨著懲罰系數(shù)C的增大,實驗精度呈現(xiàn)先增大后降低的趨勢,當(dāng)C=128時,實驗精度達(dá)到最大。因此,實驗設(shè)置懲罰系數(shù)C為128。經(jīng)過實驗得出,當(dāng)C=128,γ=0.008 2 時,實驗結(jié)果較好。因此,將C=128,γ=0.008 2 作為后續(xù)實驗的默認(rèn)參數(shù)。

    圖3 懲罰系數(shù)對實驗精度的影響Fig.3 Influence of penalty coefficient on experimental accuracy

    3.3 模型性能驗證

    本文從網(wǎng)絡(luò)流量中分別提取統(tǒng)計特征和載荷特征,并建立相應(yīng)的模型,將2 種模型相結(jié)合完成對Shodan 流量的識別。實驗對SVM 模型、DFA 模型與本文提出的SVM-DFA 模型的分類效果進(jìn)行對比,分別進(jìn)行10 次實驗,采取十折交叉驗證的方式將實驗數(shù)據(jù)集分為10 份,取其中1 份作為測試集,其余9 份作為訓(xùn)練集,實驗結(jié)果如圖4 所示。

    圖4 3 種模型的實驗精度對比Fig.4 Comparison of experimental accuracy of three models

    從圖4 可以看出,基于統(tǒng)計特征與載荷特征相結(jié)合的DFA-SVM 識別模型在識別準(zhǔn)確率上優(yōu)于其他2 種基于單一特征的識別模型,這說明在加入功能碼序列特征后,識別模型的精度提升了約3%,達(dá)到99.38%。識別模型的精度得到明顯提升,這是由于Shodan 掃描為機器掃描,且其掃描序列是相對固定的,因此本文綜合掃描序列特征和統(tǒng)計特征,在使用統(tǒng)計特征前,利用狀態(tài)機對掃描序列進(jìn)行過濾,排除不具有Shodan 掃描序列特征的流量。對于狀態(tài)機模型接受的流量中,既包含真正的Shodan 流量,也包含類似Shodan 的流量,因此采用SVM 模型對這部分流量進(jìn)一步識別,得到最終識別結(jié)果。因此在加入功能碼序列特征后,對模型識別精度有很大的提升作用。

    實驗進(jìn)一步對KNN 模型、C4.5 模型、NB 模型與本文DFA-SVM 模型的準(zhǔn)確率和召回率進(jìn)行比較,結(jié)果如圖5 所示。從圖5 可以看出,本文DFA-SVM模型的準(zhǔn)確率和召回率均優(yōu)于其他3 種模型,說明本文提出的識別模型具有更好的分類效果。

    圖5 4 種模型的準(zhǔn)確率與召回率對比Fig.5 Comparison of accuracy and recall rate of four models

    4 結(jié)束語

    針對Shodan 掃描流量識別問題,本文構(gòu)建一種基于流量統(tǒng)計特征與載荷特征相結(jié)合的DFA-SVM識別模型。采用提取應(yīng)用層中的協(xié)議功能碼序列作為載荷特征,并將其與流量統(tǒng)計特征相結(jié)合對流量進(jìn)行識別。實驗結(jié)果表明,與DFA、SVM 等模型相比,該模型可有效識別27 個Shodan 掃描器IP,顯著提高流量識別精度。本文詳細(xì)介紹了特征提取與模型構(gòu)建部分,但對分類算法的優(yōu)化還有待提高,下一步將采用梯度下降法對SVM 的時間復(fù)雜度與空間復(fù)雜度進(jìn)行優(yōu)化,以提高模型識別效率。

    猜你喜歡
    蜜罐狀態(tài)機工控
    蜜罐蟻
    中外文摘(2019年20期)2019-11-13 02:57:53
    基于有限狀態(tài)機的交會對接飛行任務(wù)規(guī)劃方法
    被自己撐死的蜜罐蟻
    知識窗(2019年6期)2019-06-26 04:27:09
    基于博弈的蜜罐和入侵檢測系統(tǒng)最優(yōu)配置策略
    哈密瓜:鄉(xiāng)間蜜罐
    中國三峽(2017年4期)2017-06-06 10:44:22
    工控速派 一個工控技術(shù)服務(wù)的江湖
    工控速浱 一個工控技術(shù)服務(wù)的江湖
    熱點追蹤 工控安全低調(diào)而不失重要
    基于攻擊圖的工控系統(tǒng)脆弱性量化方法
    FPGA設(shè)計中狀態(tài)機安全性研究
    昭苏县| 霍山县| 鄂州市| 汝南县| 长海县| 鲜城| 化德县| 滦平县| 昔阳县| 四平市| 磐石市| 乌兰浩特市| 兴仁县| 威信县| 阿图什市| 武宁县| 临澧县| 阜城县| 宁城县| 白城市| 临安市| 新昌县| 望城县| 治多县| 贵州省| 乐东| 冕宁县| 滨州市| 灵山县| 高陵县| 淮滨县| 铜川市| 辽中县| 兰州市| 嘉鱼县| 平阴县| 汤原县| 麻阳| 巴南区| 讷河市| 甘洛县|