?

機器學習在醫療與健康應用場景下的惡意流量檢測

2024-01-24 11:06高健云劉穎穎戴依藍李澍
中國醫療設備 2024年1期
關鍵詞:決策樹準確度森林

高健云,劉穎穎,戴依藍,李澍

1.中國食品藥品檢定研究院 醫療器械檢定所,北京 102629;2.沈陽藥科大學 醫療器械學院,遼寧 沈陽 117004;3.北京醫藥健康科技發展中心,北京 100035

引言

隨著生活水平的提高,人們對于醫療的需求越來越高,同時網絡技術的發展使多個醫療設備能夠組合在一起并將醫療設備采集到的數據傳輸到服務器進行相關處理后應用到相應的場景中[1]。5G 技術的出現使數字化醫療更便捷[2]。為了增加人民健康幸福感,踐行“健康中國”戰略,醫院對于5G、網絡醫療健康場景需求愈發增加[3-4],尤其是院前急救中的及時診斷能夠極大提高傷患存活率[5]。但近年來隨著全球聯網設備數量的快速增加,聯網設備遭到各種惡意流量攻擊的現象頻發,對于存儲醫療設備所采集數據的服務器以及連接到互聯網中的醫療設備來說,網絡安全至關重要,亟需檢測各種可能出現的惡意流量并采取相應的安全措施。目前成熟的惡意流量檢測系統如Maltrail,多使用決策樹模型進行惡意流量判定[6-7],該類系統可能會產生過擬合現象,訓練集中的異常值也會影響整個系統的準確率[8-9]。因此本文使用隨機森林模型進行惡意流量監測以降低過擬合風險以及減少異常值所帶來的影響。

當前惡意流量攻擊發展迅速,手段比以往更加隱蔽與復雜,惡意流量攻擊的關鍵特征往往隱藏在關鍵的數據流中,直觀的攻擊極少。同時每一流量中數據特征多、維度高,在采集樣本時所采集到的流量樣本往往由于不均衡導致訓練模型實用性低,所以本文采用過采樣技術解決樣本不均衡問題[10],且本文提出的基于隨機森林模型的惡意流量檢測準確率較傳統的決策樹模型更高。

1 資料與方法

醫療與健康應用是將所采集的數據用于遠程診斷或患者監控,因此醫療與健康應用場景必然要搭建在服務器上并連入到互聯網中。由于連入互聯網會使得醫療與健康應用場景更易受到他人攻擊,因此為了更好地防范攻擊,需要對連入互聯網的醫療健康應用場景服務器可能遭到的惡意流量類型作出統計,以便惡意流量檢測能夠準確、無遺漏地檢測到服務器可能遭到的惡意流量攻擊。據統計,服務器主要容易遭到惡意流量攻擊的類型有拒絕服務、端口掃描、跨站腳本攻擊、SQL 注入、爆破攻擊、滲透攻擊。

入侵檢測系統和入侵防御系統是抵御復雜且不斷增長的網絡攻擊最重要的防御工具。由于缺乏可靠的測試和驗證數據集,基于異常的入侵檢測方法正面臨著一致性較差和準確性較低的問題。CIC-IDS2017 數據集包含了正常流量和目前常見的絕大多數攻擊流量,是在真實世界中基于超文本傳輸協議、超文本傳輸安全協議、文件傳輸協議、安全外殼協議和電子郵件協議所捕獲的流量數據。該數據集使用基于時間戳、源以及目標IP、源以及目標端口、協議和攻擊的標記流。

1.1 數據資料

本文以CIC-IDS2017 樣本集作為模型的訓練集與驗證集,樣本集中共包含目標端口、流量持續時間等76 個屬性(表1)。該樣本集包含了目前絕大多數攻擊流量種類,因此在進行模型訓練時可使用CIC-IDS2017 中的數據,其中所包含的惡意流量數目與種類如表2 所示。

表1 樣本集樣本屬性

表2 樣本集所包含惡意流量數目與種類

1.2 方法

1.2.1 樣本數據預處理

由于CIC-IDS2017 所采集的樣本并不均衡,導致機器學習模型無法學習到樣本量較小的惡意流量類型的樣本特征,從而使模型無法擬合現有數據,出現欠擬合的問題,影響模型預測的準確性。過采樣技術可以解決樣本不均的問題,提升模型泛化能力[10]。樸素隨機過采樣的核心是隨機復制或重復少數類樣本,使得所采集樣本中少數類與多數類的個數達到較為均衡的狀態。該技術簡單,且所使用的訓練集屬性多、維度高,數據本身理解復雜。由于本文樣本集部分惡意流量數目少、樣本集數目不平衡且捕獲新的數據代價高昂且復雜,所以更適合使用樸素隨機過采樣技術對其進行處理。同時,在對樣本集進行過采樣后需要將樣本集中的臟數據進行剔除處理。

1.2.2 實驗方法

樣本集CIC-IDS2017 為5 d 內采集的數據,由于數據中各個種類的惡意流量數目差距過大,所以需先對樣本集作樣本預處理,再使用處理完畢的樣本進行特定流量模型下的惡意檢測。

在模型建立完畢后,將醫療設備所組建的場景與服務器、漏洞掃描設備連接到同一網絡中搭建成所需要的實驗環境。使用漏洞掃描設備向服務器發送惡意流量,同時將醫療設備所收集到的數據發送到服務器中,使用sniff捕獲服務器所接收的前500 個流量。將捕獲的流量數據進行數據預處理,再將其分別放到決策樹模型和隨機森林模型中進行模型預測。

1.2.3 機器學習方法

在醫療與健康應用場景下的惡意流量檢測是對場景中所有產生的流量數據進行分類處理。在機器學習中,常用的算法有支持向量機、決策樹、隨機森林等。通過機器學習方法可以對樣本集學習后場景中的惡意流量進行相應分類。

(1)支持向量機。支持向量機是一類按監督學習方式對數據進行二元分類的廣義線性分類器,可以解決小樣本、非線性和高維數據問題。支持向量機對新的、不可見的數據具有良好的泛化性能。

(2)決策樹。決策樹是一種樹形結構,每個樹上的非葉子節點表示針對數據的某個屬性對其進行判斷。每個分支代表一個判斷結果的輸出[11],每個葉節點代表具體的分類結果。決策樹模型的生成算法有ID3、C4.5 和C5.0 等[12]。決策樹算法具有計算復雜度不高、分類速度快、數據預處理簡單、產生結果易理解且便于可視化等優點。但決策樹算法容易出現過擬合現象,模型泛化能力低、穩定性較差,因此決策樹算法是局部最優解而非全局最優解。

(3)隨機森林。隨機森林是由Breiman 和Culter提出的一種基于引導聚集算法(Bootstrap Aggregating,Bagging)和決策樹算法的集成學習算法[13-14]。Bagging算法是并行式集成學習的代表,隨機森林算法是Bagging 算法的一個擴展變體。隨機森林在以決策樹為基學習器構建Bagging 算法集成的基礎上,進一步在決策樹的訓練中引入了隨機屬性選擇,即利用Bootstrap技術從原始樣本中抽取隨機化的樣本構建單棵決策樹,再在決策樹的每個節點通過隨機特征子空間的方式選擇分裂點進行分裂,最后把決策樹組合在一起通過投票的方式得出最終的預測結果。

本文通過實現決策樹與隨機森林模型,將兩個模型的性能進行對比,以此說明在隨機森林模型建立所需時間與決策樹模型建立所需時間相差微弱的情況下,隨機森林模型的性能優于決策樹模型,因此隨機森林模型更適合醫療與健康應用場景下的惡意流量檢測。

1.2.4 模型評估指標

捕獲醫療設備所連接的服務器接收到漏洞掃描設備發送的惡意流量,將流量放到決策樹模型與隨機森林模型中進行預測,使用精準度、準確度、召回率、F1 得分作為模型性能評價指標[15]。其中,精準度體現了模型對負樣本的區分能力;召回率體現了模型對正樣本的識別能力;F1 得分越高,模型越穩健。精準度、準確度、召回率、F1 得分的計算方式分別如公式(1)~(4)所示。

式中,TP 為被正確預測的正例;FP 為被錯誤預測的正例;TN 為被正確預測的反例;FN 為被錯誤預測的反例。

2 模型建立

2.1 樣本預處理

本文使用的CIC-IDS2017 樣本集是真實世界中的網絡數據,其中惡意流量的數目較正常流量少,且各類惡意流量的數目不均衡,直接使用CIC-IDS2017 樣本集進行惡意流量檢測模型訓練很容易產生模型過擬合現象。為了避免該現象發生,本文利用樸素隨機過采樣方法對數目少的惡意流量進行數據擴充,避免模型產生過擬合現象。

失衡數據發生在分類應用場景中,類別之間的分布不均勻是失衡的根本。假設有一個二分類問題,目標(target)為y,取值范圍為0 和1。當其中一方(如y=1)的占比遠小于另一方(y=0)時,就會出現失衡樣本。失衡分為3 種程度:輕度失衡:20%~40%;中度失衡1%~20%;極度失衡:<1%。本文的樣本集中惡意流量總和為543135 條,在模型訓練時隨機抽取60%數據,將抽取后的數據中極少的惡意流量樣本擴充到5000 條,以解決樣本失衡問題。

本文使用的樣本集數據沒有整合,且存在如Nan 和Infiniti 類的臟數據,因此需要將數據集進行整合,并將數據集中的臟數據剔除。預處理的樣本量為1708979 條。

2.2 模型實現

2.2.1 決策樹模型構建

本文使用C4.5 決策樹生成算法,該算法使用信息增益率來選擇最優化分屬性,增益率的計算方式如公式(5)所示,分裂信息度量的計算方式如公式(6)所示。信息增益的計算方式如公式(7)所示,信息熵的計算方式如公式(8)所示。

式中,GainRatio(S,A)為增益率;SplitInfor(S,A)為分裂信息度量;SplitInfor(S,A)為信息增益;H(S|A)為信息熵;S為所用數據集;A為某個特征;Sk為集合S中屬于第k類樣本的樣本子集;Si為S中特征A取第i個值的樣本子集。

為了避免決策樹模型會根據樣本固定順序學習導致模型訓練效果不佳,模型整體性能變差,同時為了增強決策樹模型的魯棒性,在進行模型訓練時將輸入樣本進行隨機輸入。故隨機抽取處理完畢的CIC-IDS2017 樣本集中80%的數據(共1367183 條)進行決策樹模型訓練,樣本集中剩余20%(共341795 條)的數據作為驗證集。根據上述算法流程建立C4.5 決策樹。為了獲取最優決策樹深度[14],對決策樹深度進行逐次訓練。模型精度隨決策樹深度的變化趨勢如圖1 所示。

圖1 決策樹深度與模型訓練時耗(a)和準確度(b)的關系圖

模型精度隨子樹數目變化趨勢隨著決策樹深度上升而上升,見圖1。決策樹深度為25 層時模型訓練時耗的變化率最低[16],而決策樹深度達到20 層后準確度變化率趨于0。在模型訓練時耗與決策樹深度變化關系中,出現了增長率突然變大的情況(圖1a),推測與模型訓練的硬件環境有密切關系。在決策樹深度為23 層時,決策樹模型準確度及模型訓練時耗比相對較低(圖1)。據此,進行決策樹建立時,選取的決策樹深度為23 層[17]。

2.2.2 隨機森林模型構建

構建隨機森林模型時,為增大樣本的隨機性,先從訓練集中隨機抽出樣本進行訓練,進而減少模型的相似性,提高整體模型的魯棒性,增加模型的泛化能力。隨機森林由多個弱分類器組成,本文選擇CART 決策樹作為隨機森林的弱分類器。

為了保證模型準確率高且學習速率快,對模型參數(隨機森林)構建樹的數目對于模型準確率的影響進行訓練。同建立決策樹模型一樣,在建立隨機森林模型時,為了獲取更好的訓練效果,同時增強隨機森林模型的魯棒性,將處理完畢的CIC-IDS2017 樣本集中80%的數據(共1367183 條)進行隨機抽取,并進行決策樹模型訓練,樣本集中剩余的20%的數據(共341795 條)作為驗證集。模型子樹數目與模型準確度、訓練時耗的關系如圖2 所示。

圖2 隨機森林子樹數目與模型準確度(a)、訓練時耗(b)的關系圖

模型精度隨著子樹數目上升而上升,但當子樹數目到達15 顆時,模型的準確度的上升速度逐漸平緩,增長率趨于0;模型訓練時耗也隨著子樹數目的增加而增加,在區間15~23 顆內,時耗增長率較低[17]。根據圖2 可以確定,隨機森林的子樹數目為23 顆時,模型準確度最高,且模型訓練時耗適當,模型訓練精度時耗比相對較低,故選擇子樹數目為23 進行隨機森林模型建立[15]。

3 結果

以本文搭建的醫療與健康應用場景下捕獲到的500 條網絡流量作為測試集,將其分別放到決策樹模型、隨機森林模型中進行結果預測和分析,對兩個模型進行評估對比。

3.1 決策樹模型預測結果

在使用決策樹模型對醫療與健康應用場景下捕獲到的500 條網絡流量進行結果預測完畢后,做出混淆矩陣圖[18](圖3)。由混淆矩陣可計算模型對應各個類別的準確度和召回率[19](表3)。由對決策樹模型的評估結果可知,決策樹模型對于慢速拒絕服務攻擊以及跨站腳本攻擊的預測準確度為95%。尤其是決策樹模型對慢速拒絕服務攻擊進行預測時,會將其與跨站腳本攻擊混淆。

圖3 決策樹模型混淆矩陣

表3 決策樹模型評估結果

3.2 隨機森林模型預測結果

將隨機森林模型的預測結果做成混淆矩陣圖(圖4)。隨機森林模型對惡意流量的整體評估結果如表4 所示。隨機森林模型對于慢速拒絕服務攻擊預測準確度為99%,能夠正確預測大多數慢速拒絕服務攻擊。隨機森林模型在醫療與健康應用場景下整體表現良好[20]。

圖4 隨機森林模型混淆矩陣

表4 隨機森林模型評估結果

綜上所述,決策樹模型準確度為95%,而隨機森林模型準確度為99%,同時隨機森林模型在個別惡意流量預測方面(如慢速拒絕服務攻擊、跨站腳本攻擊隨機森林模型等)的準確度都高于決策樹模型,說明隨機森林模型相較于決策樹模型有更好的泛化能力。因此,隨機森林模型在惡意流量檢測方面的評估結果優于決策樹模型,更適合醫療與健康應用場景下的惡意流量檢測。

4 討論

計算機網絡技術的快速發展帶動了醫療技術的發展,人們對于智慧醫療的需求也越來越高。智慧醫療健康場景需要安全的網絡環境,因而對惡意流量檢測的準確度要求變得嚴格。本文以采集的CIC-IDS2017 樣本集作為模型的訓練集與驗證集,使用Python 與sklearn 對樣本集數據進行預處理,并調整模型參數構建決策樹和隨機森林模型,用于醫療與健康應用場景下的惡意流量監測。將在醫療與健康應用場景下所捕獲的500 條流量數據作為測試集,分別使用決策樹模型與隨機森林模型進行結果預測,并通過繪制混淆矩陣以及計算準確度、召回率、F1 得分對模型進行整體評估。2 個模型對惡意流量識別都有較好的預測結果,但對于慢速拒絕服務攻擊,2 個模型預測結果準確度均不理想,但整體上,隨機森林模型對惡意流量監測的準確度高于決策樹模型。

本文將機器學習技術應用到醫療與健康應用場景下進行惡意流量監測,為醫療應用場景下的網絡安全研究提供了一定參考。在今后的研究中,可將其他模型與隨機森林模型結合形成新的模型進行研究,以進一步提高在醫療與健康應用場景下對特定惡意流量檢測的準確度。

猜你喜歡
決策樹準確度森林
一種針對不均衡數據集的SVM決策樹算法
決策樹和隨機森林方法在管理決策中的應用
幕墻用掛件安裝準確度控制技術
哈Q森林
哈Q森林
哈Q森林
基于決策樹的出租車乘客出行目的識別
動態汽車衡準確度等級的現實意義
哈Q森林
基于肺癌CT的決策樹模型在肺癌診斷中的應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合