高健云,劉穎穎,戴依藍(lán),李澍
1.中國食品藥品檢定研究院 醫(yī)療器械檢定所,北京 102629;2.沈陽藥科大學(xué) 醫(yī)療器械學(xué)院,遼寧 沈陽 117004;3.北京醫(yī)藥健康科技發(fā)展中心,北京 100035
隨著生活水平的提高,人們對于醫(yī)療的需求越來越高,同時網(wǎng)絡(luò)技術(shù)的發(fā)展使多個醫(yī)療設(shè)備能夠組合在一起并將醫(yī)療設(shè)備采集到的數(shù)據(jù)傳輸?shù)椒?wù)器進行相關(guān)處理后應(yīng)用到相應(yīng)的場景中[1]。5G 技術(shù)的出現(xiàn)使數(shù)字化醫(yī)療更便捷[2]。為了增加人民健康幸福感,踐行“健康中國”戰(zhàn)略,醫(yī)院對于5G、網(wǎng)絡(luò)醫(yī)療健康場景需求愈發(fā)增加[3-4],尤其是院前急救中的及時診斷能夠極大提高傷患存活率[5]。但近年來隨著全球聯(lián)網(wǎng)設(shè)備數(shù)量的快速增加,聯(lián)網(wǎng)設(shè)備遭到各種惡意流量攻擊的現(xiàn)象頻發(fā),對于存儲醫(yī)療設(shè)備所采集數(shù)據(jù)的服務(wù)器以及連接到互聯(lián)網(wǎng)中的醫(yī)療設(shè)備來說,網(wǎng)絡(luò)安全至關(guān)重要,亟需檢測各種可能出現(xiàn)的惡意流量并采取相應(yīng)的安全措施。目前成熟的惡意流量檢測系統(tǒng)如Maltrail,多使用決策樹模型進行惡意流量判定[6-7],該類系統(tǒng)可能會產(chǎn)生過擬合現(xiàn)象,訓(xùn)練集中的異常值也會影響整個系統(tǒng)的準(zhǔn)確率[8-9]。因此本文使用隨機森林模型進行惡意流量監(jiān)測以降低過擬合風(fēng)險以及減少異常值所帶來的影響。
當(dāng)前惡意流量攻擊發(fā)展迅速,手段比以往更加隱蔽與復(fù)雜,惡意流量攻擊的關(guān)鍵特征往往隱藏在關(guān)鍵的數(shù)據(jù)流中,直觀的攻擊極少。同時每一流量中數(shù)據(jù)特征多、維度高,在采集樣本時所采集到的流量樣本往往由于不均衡導(dǎo)致訓(xùn)練模型實用性低,所以本文采用過采樣技術(shù)解決樣本不均衡問題[10],且本文提出的基于隨機森林模型的惡意流量檢測準(zhǔn)確率較傳統(tǒng)的決策樹模型更高。
醫(yī)療與健康應(yīng)用是將所采集的數(shù)據(jù)用于遠(yuǎn)程診斷或患者監(jiān)控,因此醫(yī)療與健康應(yīng)用場景必然要搭建在服務(wù)器上并連入到互聯(lián)網(wǎng)中。由于連入互聯(lián)網(wǎng)會使得醫(yī)療與健康應(yīng)用場景更易受到他人攻擊,因此為了更好地防范攻擊,需要對連入互聯(lián)網(wǎng)的醫(yī)療健康應(yīng)用場景服務(wù)器可能遭到的惡意流量類型作出統(tǒng)計,以便惡意流量檢測能夠準(zhǔn)確、無遺漏地檢測到服務(wù)器可能遭到的惡意流量攻擊。據(jù)統(tǒng)計,服務(wù)器主要容易遭到惡意流量攻擊的類型有拒絕服務(wù)、端口掃描、跨站腳本攻擊、SQL 注入、爆破攻擊、滲透攻擊。
入侵檢測系統(tǒng)和入侵防御系統(tǒng)是抵御復(fù)雜且不斷增長的網(wǎng)絡(luò)攻擊最重要的防御工具。由于缺乏可靠的測試和驗證數(shù)據(jù)集,基于異常的入侵檢測方法正面臨著一致性較差和準(zhǔn)確性較低的問題。CIC-IDS2017 數(shù)據(jù)集包含了正常流量和目前常見的絕大多數(shù)攻擊流量,是在真實世界中基于超文本傳輸協(xié)議、超文本傳輸安全協(xié)議、文件傳輸協(xié)議、安全外殼協(xié)議和電子郵件協(xié)議所捕獲的流量數(shù)據(jù)。該數(shù)據(jù)集使用基于時間戳、源以及目標(biāo)IP、源以及目標(biāo)端口、協(xié)議和攻擊的標(biāo)記流。
本文以CIC-IDS2017 樣本集作為模型的訓(xùn)練集與驗證集,樣本集中共包含目標(biāo)端口、流量持續(xù)時間等76 個屬性(表1)。該樣本集包含了目前絕大多數(shù)攻擊流量種類,因此在進行模型訓(xùn)練時可使用CIC-IDS2017 中的數(shù)據(jù),其中所包含的惡意流量數(shù)目與種類如表2 所示。
表1 樣本集樣本屬性
表2 樣本集所包含惡意流量數(shù)目與種類
1.2.1 樣本數(shù)據(jù)預(yù)處理
由于CIC-IDS2017 所采集的樣本并不均衡,導(dǎo)致機器學(xué)習(xí)模型無法學(xué)習(xí)到樣本量較小的惡意流量類型的樣本特征,從而使模型無法擬合現(xiàn)有數(shù)據(jù),出現(xiàn)欠擬合的問題,影響模型預(yù)測的準(zhǔn)確性。過采樣技術(shù)可以解決樣本不均的問題,提升模型泛化能力[10]。樸素隨機過采樣的核心是隨機復(fù)制或重復(fù)少數(shù)類樣本,使得所采集樣本中少數(shù)類與多數(shù)類的個數(shù)達(dá)到較為均衡的狀態(tài)。該技術(shù)簡單,且所使用的訓(xùn)練集屬性多、維度高,數(shù)據(jù)本身理解復(fù)雜。由于本文樣本集部分惡意流量數(shù)目少、樣本集數(shù)目不平衡且捕獲新的數(shù)據(jù)代價高昂且復(fù)雜,所以更適合使用樸素隨機過采樣技術(shù)對其進行處理。同時,在對樣本集進行過采樣后需要將樣本集中的臟數(shù)據(jù)進行剔除處理。
1.2.2 實驗方法
樣本集CIC-IDS2017 為5 d 內(nèi)采集的數(shù)據(jù),由于數(shù)據(jù)中各個種類的惡意流量數(shù)目差距過大,所以需先對樣本集作樣本預(yù)處理,再使用處理完畢的樣本進行特定流量模型下的惡意檢測。
在模型建立完畢后,將醫(yī)療設(shè)備所組建的場景與服務(wù)器、漏洞掃描設(shè)備連接到同一網(wǎng)絡(luò)中搭建成所需要的實驗環(huán)境。使用漏洞掃描設(shè)備向服務(wù)器發(fā)送惡意流量,同時將醫(yī)療設(shè)備所收集到的數(shù)據(jù)發(fā)送到服務(wù)器中,使用sniff捕獲服務(wù)器所接收的前500 個流量。將捕獲的流量數(shù)據(jù)進行數(shù)據(jù)預(yù)處理,再將其分別放到?jīng)Q策樹模型和隨機森林模型中進行模型預(yù)測。
1.2.3 機器學(xué)習(xí)方法
在醫(yī)療與健康應(yīng)用場景下的惡意流量檢測是對場景中所有產(chǎn)生的流量數(shù)據(jù)進行分類處理。在機器學(xué)習(xí)中,常用的算法有支持向量機、決策樹、隨機森林等。通過機器學(xué)習(xí)方法可以對樣本集學(xué)習(xí)后場景中的惡意流量進行相應(yīng)分類。
(1)支持向量機。支持向量機是一類按監(jiān)督學(xué)習(xí)方式對數(shù)據(jù)進行二元分類的廣義線性分類器,可以解決小樣本、非線性和高維數(shù)據(jù)問題。支持向量機對新的、不可見的數(shù)據(jù)具有良好的泛化性能。
(2)決策樹。決策樹是一種樹形結(jié)構(gòu),每個樹上的非葉子節(jié)點表示針對數(shù)據(jù)的某個屬性對其進行判斷。每個分支代表一個判斷結(jié)果的輸出[11],每個葉節(jié)點代表具體的分類結(jié)果。決策樹模型的生成算法有ID3、C4.5 和C5.0 等[12]。決策樹算法具有計算復(fù)雜度不高、分類速度快、數(shù)據(jù)預(yù)處理簡單、產(chǎn)生結(jié)果易理解且便于可視化等優(yōu)點。但決策樹算法容易出現(xiàn)過擬合現(xiàn)象,模型泛化能力低、穩(wěn)定性較差,因此決策樹算法是局部最優(yōu)解而非全局最優(yōu)解。
(3)隨機森林。隨機森林是由Breiman 和Culter提出的一種基于引導(dǎo)聚集算法(Bootstrap Aggregating,Bagging)和決策樹算法的集成學(xué)習(xí)算法[13-14]。Bagging算法是并行式集成學(xué)習(xí)的代表,隨機森林算法是Bagging 算法的一個擴展變體。隨機森林在以決策樹為基學(xué)習(xí)器構(gòu)建Bagging 算法集成的基礎(chǔ)上,進一步在決策樹的訓(xùn)練中引入了隨機屬性選擇,即利用Bootstrap技術(shù)從原始樣本中抽取隨機化的樣本構(gòu)建單棵決策樹,再在決策樹的每個節(jié)點通過隨機特征子空間的方式選擇分裂點進行分裂,最后把決策樹組合在一起通過投票的方式得出最終的預(yù)測結(jié)果。
本文通過實現(xiàn)決策樹與隨機森林模型,將兩個模型的性能進行對比,以此說明在隨機森林模型建立所需時間與決策樹模型建立所需時間相差微弱的情況下,隨機森林模型的性能優(yōu)于決策樹模型,因此隨機森林模型更適合醫(yī)療與健康應(yīng)用場景下的惡意流量檢測。
1.2.4 模型評估指標(biāo)
捕獲醫(yī)療設(shè)備所連接的服務(wù)器接收到漏洞掃描設(shè)備發(fā)送的惡意流量,將流量放到?jīng)Q策樹模型與隨機森林模型中進行預(yù)測,使用精準(zhǔn)度、準(zhǔn)確度、召回率、F1 得分作為模型性能評價指標(biāo)[15]。其中,精準(zhǔn)度體現(xiàn)了模型對負(fù)樣本的區(qū)分能力;召回率體現(xiàn)了模型對正樣本的識別能力;F1 得分越高,模型越穩(wěn)健。精準(zhǔn)度、準(zhǔn)確度、召回率、F1 得分的計算方式分別如公式(1)~(4)所示。
式中,TP 為被正確預(yù)測的正例;FP 為被錯誤預(yù)測的正例;TN 為被正確預(yù)測的反例;FN 為被錯誤預(yù)測的反例。
本文使用的CIC-IDS2017 樣本集是真實世界中的網(wǎng)絡(luò)數(shù)據(jù),其中惡意流量的數(shù)目較正常流量少,且各類惡意流量的數(shù)目不均衡,直接使用CIC-IDS2017 樣本集進行惡意流量檢測模型訓(xùn)練很容易產(chǎn)生模型過擬合現(xiàn)象。為了避免該現(xiàn)象發(fā)生,本文利用樸素隨機過采樣方法對數(shù)目少的惡意流量進行數(shù)據(jù)擴充,避免模型產(chǎn)生過擬合現(xiàn)象。
失衡數(shù)據(jù)發(fā)生在分類應(yīng)用場景中,類別之間的分布不均勻是失衡的根本。假設(shè)有一個二分類問題,目標(biāo)(target)為y,取值范圍為0 和1。當(dāng)其中一方(如y=1)的占比遠(yuǎn)小于另一方(y=0)時,就會出現(xiàn)失衡樣本。失衡分為3 種程度:輕度失衡:20%~40%;中度失衡1%~20%;極度失衡:<1%。本文的樣本集中惡意流量總和為543135 條,在模型訓(xùn)練時隨機抽取60%數(shù)據(jù),將抽取后的數(shù)據(jù)中極少的惡意流量樣本擴充到5000 條,以解決樣本失衡問題。
本文使用的樣本集數(shù)據(jù)沒有整合,且存在如Nan 和Infiniti 類的臟數(shù)據(jù),因此需要將數(shù)據(jù)集進行整合,并將數(shù)據(jù)集中的臟數(shù)據(jù)剔除。預(yù)處理的樣本量為1708979 條。
2.2.1 決策樹模型構(gòu)建
本文使用C4.5 決策樹生成算法,該算法使用信息增益率來選擇最優(yōu)化分屬性,增益率的計算方式如公式(5)所示,分裂信息度量的計算方式如公式(6)所示。信息增益的計算方式如公式(7)所示,信息熵的計算方式如公式(8)所示。
式中,GainRatio(S,A)為增益率;SplitInfor(S,A)為分裂信息度量;SplitInfor(S,A)為信息增益;H(S|A)為信息熵;S為所用數(shù)據(jù)集;A為某個特征;Sk為集合S中屬于第k類樣本的樣本子集;Si為S中特征A取第i個值的樣本子集。
為了避免決策樹模型會根據(jù)樣本固定順序?qū)W習(xí)導(dǎo)致模型訓(xùn)練效果不佳,模型整體性能變差,同時為了增強決策樹模型的魯棒性,在進行模型訓(xùn)練時將輸入樣本進行隨機輸入。故隨機抽取處理完畢的CIC-IDS2017 樣本集中80%的數(shù)據(jù)(共1367183 條)進行決策樹模型訓(xùn)練,樣本集中剩余20%(共341795 條)的數(shù)據(jù)作為驗證集。根據(jù)上述算法流程建立C4.5 決策樹。為了獲取最優(yōu)決策樹深度[14],對決策樹深度進行逐次訓(xùn)練。模型精度隨決策樹深度的變化趨勢如圖1 所示。
圖1 決策樹深度與模型訓(xùn)練時耗(a)和準(zhǔn)確度(b)的關(guān)系圖
模型精度隨子樹數(shù)目變化趨勢隨著決策樹深度上升而上升,見圖1。決策樹深度為25 層時模型訓(xùn)練時耗的變化率最低[16],而決策樹深度達(dá)到20 層后準(zhǔn)確度變化率趨于0。在模型訓(xùn)練時耗與決策樹深度變化關(guān)系中,出現(xiàn)了增長率突然變大的情況(圖1a),推測與模型訓(xùn)練的硬件環(huán)境有密切關(guān)系。在決策樹深度為23 層時,決策樹模型準(zhǔn)確度及模型訓(xùn)練時耗比相對較低(圖1)。據(jù)此,進行決策樹建立時,選取的決策樹深度為23 層[17]。
2.2.2 隨機森林模型構(gòu)建
構(gòu)建隨機森林模型時,為增大樣本的隨機性,先從訓(xùn)練集中隨機抽出樣本進行訓(xùn)練,進而減少模型的相似性,提高整體模型的魯棒性,增加模型的泛化能力。隨機森林由多個弱分類器組成,本文選擇CART 決策樹作為隨機森林的弱分類器。
為了保證模型準(zhǔn)確率高且學(xué)習(xí)速率快,對模型參數(shù)(隨機森林)構(gòu)建樹的數(shù)目對于模型準(zhǔn)確率的影響進行訓(xùn)練。同建立決策樹模型一樣,在建立隨機森林模型時,為了獲取更好的訓(xùn)練效果,同時增強隨機森林模型的魯棒性,將處理完畢的CIC-IDS2017 樣本集中80%的數(shù)據(jù)(共1367183 條)進行隨機抽取,并進行決策樹模型訓(xùn)練,樣本集中剩余的20%的數(shù)據(jù)(共341795 條)作為驗證集。模型子樹數(shù)目與模型準(zhǔn)確度、訓(xùn)練時耗的關(guān)系如圖2 所示。
圖2 隨機森林子樹數(shù)目與模型準(zhǔn)確度(a)、訓(xùn)練時耗(b)的關(guān)系圖
模型精度隨著子樹數(shù)目上升而上升,但當(dāng)子樹數(shù)目到達(dá)15 顆時,模型的準(zhǔn)確度的上升速度逐漸平緩,增長率趨于0;模型訓(xùn)練時耗也隨著子樹數(shù)目的增加而增加,在區(qū)間15~23 顆內(nèi),時耗增長率較低[17]。根據(jù)圖2 可以確定,隨機森林的子樹數(shù)目為23 顆時,模型準(zhǔn)確度最高,且模型訓(xùn)練時耗適當(dāng),模型訓(xùn)練精度時耗比相對較低,故選擇子樹數(shù)目為23 進行隨機森林模型建立[15]。
以本文搭建的醫(yī)療與健康應(yīng)用場景下捕獲到的500 條網(wǎng)絡(luò)流量作為測試集,將其分別放到?jīng)Q策樹模型、隨機森林模型中進行結(jié)果預(yù)測和分析,對兩個模型進行評估對比。
在使用決策樹模型對醫(yī)療與健康應(yīng)用場景下捕獲到的500 條網(wǎng)絡(luò)流量進行結(jié)果預(yù)測完畢后,做出混淆矩陣圖[18](圖3)。由混淆矩陣可計算模型對應(yīng)各個類別的準(zhǔn)確度和召回率[19](表3)。由對決策樹模型的評估結(jié)果可知,決策樹模型對于慢速拒絕服務(wù)攻擊以及跨站腳本攻擊的預(yù)測準(zhǔn)確度為95%。尤其是決策樹模型對慢速拒絕服務(wù)攻擊進行預(yù)測時,會將其與跨站腳本攻擊混淆。
圖3 決策樹模型混淆矩陣
表3 決策樹模型評估結(jié)果
將隨機森林模型的預(yù)測結(jié)果做成混淆矩陣圖(圖4)。隨機森林模型對惡意流量的整體評估結(jié)果如表4 所示。隨機森林模型對于慢速拒絕服務(wù)攻擊預(yù)測準(zhǔn)確度為99%,能夠正確預(yù)測大多數(shù)慢速拒絕服務(wù)攻擊。隨機森林模型在醫(yī)療與健康應(yīng)用場景下整體表現(xiàn)良好[20]。
圖4 隨機森林模型混淆矩陣
表4 隨機森林模型評估結(jié)果
綜上所述,決策樹模型準(zhǔn)確度為95%,而隨機森林模型準(zhǔn)確度為99%,同時隨機森林模型在個別惡意流量預(yù)測方面(如慢速拒絕服務(wù)攻擊、跨站腳本攻擊隨機森林模型等)的準(zhǔn)確度都高于決策樹模型,說明隨機森林模型相較于決策樹模型有更好的泛化能力。因此,隨機森林模型在惡意流量檢測方面的評估結(jié)果優(yōu)于決策樹模型,更適合醫(yī)療與健康應(yīng)用場景下的惡意流量檢測。
計算機網(wǎng)絡(luò)技術(shù)的快速發(fā)展帶動了醫(yī)療技術(shù)的發(fā)展,人們對于智慧醫(yī)療的需求也越來越高。智慧醫(yī)療健康場景需要安全的網(wǎng)絡(luò)環(huán)境,因而對惡意流量檢測的準(zhǔn)確度要求變得嚴(yán)格。本文以采集的CIC-IDS2017 樣本集作為模型的訓(xùn)練集與驗證集,使用Python 與sklearn 對樣本集數(shù)據(jù)進行預(yù)處理,并調(diào)整模型參數(shù)構(gòu)建決策樹和隨機森林模型,用于醫(yī)療與健康應(yīng)用場景下的惡意流量監(jiān)測。將在醫(yī)療與健康應(yīng)用場景下所捕獲的500 條流量數(shù)據(jù)作為測試集,分別使用決策樹模型與隨機森林模型進行結(jié)果預(yù)測,并通過繪制混淆矩陣以及計算準(zhǔn)確度、召回率、F1 得分對模型進行整體評估。2 個模型對惡意流量識別都有較好的預(yù)測結(jié)果,但對于慢速拒絕服務(wù)攻擊,2 個模型預(yù)測結(jié)果準(zhǔn)確度均不理想,但整體上,隨機森林模型對惡意流量監(jiān)測的準(zhǔn)確度高于決策樹模型。
本文將機器學(xué)習(xí)技術(shù)應(yīng)用到醫(yī)療與健康應(yīng)用場景下進行惡意流量監(jiān)測,為醫(yī)療應(yīng)用場景下的網(wǎng)絡(luò)安全研究提供了一定參考。在今后的研究中,可將其他模型與隨機森林模型結(jié)合形成新的模型進行研究,以進一步提高在醫(yī)療與健康應(yīng)用場景下對特定惡意流量檢測的準(zhǔn)確度。