宋春明,張立臣
(廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院,廣州510006)
醫(yī)療信息物理系統(tǒng)(MCPS)是由相互之間以及與環(huán)境相互作用的硬件和軟件組件組成的系統(tǒng)。得益于在無線傳感器,聯(lián)網(wǎng)醫(yī)療設(shè)備和移動(dòng)醫(yī)療保健技術(shù)的進(jìn)步,MCPS成為提高患者治療效果并提供高質(zhì)量醫(yī)療保健的有前景的平臺(tái)。MCPS有助于不斷監(jiān)視和分析從醫(yī)療設(shè)備收集的信息,推斷患者的健康狀況以進(jìn)行診斷,并通過醫(yī)務(wù)人員的直接反饋或通過醫(yī)療設(shè)備的自動(dòng)治療來提供及時(shí)的救治。
盡管有許多好處,MCPS仍面臨著許多安全和隱私挑戰(zhàn)。MCPS的異構(gòu)性質(zhì)以及系統(tǒng)中對無線和移動(dòng)技術(shù)的大量使用引起了新的安全漏洞[1]。MCPS若受到惡意攻擊可能導(dǎo)致未授權(quán)訪問敏感的醫(yī)療隱私,惡意攻擊還可能導(dǎo)致錯(cuò)誤的診斷和錯(cuò)誤的治療,從而造成人員傷亡。例如,受攻擊的醫(yī)療設(shè)備如心臟起搏器的設(shè)置可能會(huì)被修改或完全關(guān)閉,從而導(dǎo)致嚴(yán)重后果。因此迫切需要加強(qiáng)MCPS的安全防護(hù),尤其是入侵檢測。
在文獻(xiàn)中,基于異常的入侵檢測方法已經(jīng)得到了廣泛的研究,特別是在用于醫(yī)療保健應(yīng)用的無線傳感器網(wǎng)絡(luò)中檢測傳感器異常。在文獻(xiàn)[2]中,作者確定了唯一的數(shù)據(jù)狀態(tài),并建立了一個(gè)預(yù)測數(shù)據(jù)狀態(tài)轉(zhuǎn)換發(fā)生概率的馬爾可夫鏈。擬議的設(shè)計(jì)能夠檢測到數(shù)據(jù)中的新異常和變化,但呈現(xiàn)出很高的假陰性率,因此不適合部署MCPS。在文獻(xiàn)[3]中作者在傳感器上使用本地代理檢測異常行為,然后將其發(fā)送到中央代理以做出最終決定。如果與中央代理的通信丟失,則該節(jié)點(diǎn)將在最終使本地代理決策之前,陷入死循環(huán)。因此,目標(biāo)攻擊者可能阻塞或拒絕為節(jié)點(diǎn)提供服務(wù),以迫使該節(jié)點(diǎn)出現(xiàn)異常行為。
Mitchell等人提出的基于行為規(guī)范的入侵檢測。使用一組行為狀態(tài)來指定設(shè)備的可接受行為[4]。該設(shè)計(jì)利用設(shè)備行為規(guī)則作為輸入,并檢測與預(yù)期行為的偏差。盡管此解決方案是針對MCPS的文獻(xiàn)中極少數(shù)現(xiàn)有的IDS解決方案之一,但它需要領(lǐng)域知識(shí)來創(chuàng)建行為規(guī)則,并且它們的性能與規(guī)則覆蓋率密切相關(guān)。當(dāng)處理復(fù)雜的設(shè)備和系統(tǒng)(例如分布式系統(tǒng)和臨時(shí)系統(tǒng))時(shí),這會(huì)使該方法變得困難,因?yàn)橥瓿梢?guī)格的時(shí)間很長,并且可能會(huì)丟失某些機(jī)器狀態(tài)。如果未識(shí)別出行為狀態(tài)并且它是不安全狀態(tài),則該模型將無法檢測到該漏洞利用,因此需要不斷進(jìn)行更新。
查閱文獻(xiàn)發(fā)現(xiàn),現(xiàn)有的MCPS入侵檢測系統(tǒng)的研究非常有限,仍處在初期。而使用機(jī)器學(xué)習(xí)以及深度學(xué)習(xí)進(jìn)行入侵檢測是近年的研究熱點(diǎn)。主流的技術(shù)包括卷積神經(jīng)網(wǎng)絡(luò)CNN,深度置信網(wǎng)絡(luò)DBN[5]和長短時(shí)記憶網(wǎng)絡(luò)LSTM[6]??琢钪翘岢隽嘶贑NN的入侵檢測模型[7],并與常用的機(jī)器學(xué)習(xí)算法對比,可知此模型在漏報(bào)率和誤報(bào)率上都大幅度降低。武天舒提出一種改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)入侵檢測模型[8],采用準(zhǔn)確率、誤報(bào)率、查全率等指標(biāo)進(jìn)行評(píng)估,對KDD-CUP99數(shù)據(jù)集檢測率可達(dá)到96%以上。
為了滿足MCPS的安全需求,本文提出一種基于拉普拉斯分值法和卷積神經(jīng)網(wǎng)絡(luò)(LS-CNN)的入侵檢測模型。通過拉普拉斯分值技術(shù),能很好地降低訓(xùn)練成本,CNN能對這些特征進(jìn)行高效的學(xué)習(xí),應(yīng)用Softmax分類器進(jìn)行分類。最后采用更真實(shí)的UNSWNB15數(shù)據(jù)集驗(yàn)證模型的有效性。該算法與傳統(tǒng)入侵檢測算法相比準(zhǔn)確率更高,實(shí)用性更強(qiáng)。
我們提出一種如圖1所示的MCPS架構(gòu)。MCPS網(wǎng)絡(luò)由放置在患者身上的無線人體傳感器結(jié)點(diǎn)、移動(dòng)設(shè)備和醫(yī)院后端服務(wù)器組成。傳感器結(jié)點(diǎn)用于收集患者生命體征并管理藥物,并使用短距離通信協(xié)議與移動(dòng)設(shè)備進(jìn)行無線通信。移動(dòng)設(shè)備收集匯總結(jié)點(diǎn)測量的數(shù)據(jù)記錄,再通過無線局域網(wǎng)與醫(yī)院服務(wù)器通信。醫(yī)院服務(wù)器通過醫(yī)院網(wǎng)關(guān)連接到互聯(lián)網(wǎng)。醫(yī)院服務(wù)器不僅處理從移動(dòng)設(shè)備傳輸?shù)南?,并將指令反饋回患者的移?dòng)設(shè)備。該系統(tǒng)遵循移動(dòng)設(shè)備和醫(yī)院服務(wù)器之間的客戶端-服務(wù)器拓?fù)?,?dāng)在醫(yī)院網(wǎng)絡(luò)中添加更多或新的移動(dòng)設(shè)備時(shí),可確??蓴U(kuò)展性。
圖1 醫(yī)療信息物理系統(tǒng)架構(gòu)
鑒于病歷數(shù)據(jù)的高價(jià)值以及對患者健康的潛在嚴(yán)重影響,MCPS環(huán)境的安全性尤其敏感。惡意用戶可能使用數(shù)據(jù)包頭信息和有效載荷數(shù)據(jù)來發(fā)起基于網(wǎng)絡(luò)或基于主機(jī)的攻擊,常見的攻擊包括以下幾類:
(1)拒絕服務(wù)。在MCPS環(huán)境中,特定醫(yī)療設(shè)備中的漏洞可能使黑客完全控制該設(shè)備并修改其設(shè)置,從而導(dǎo)致拒絕服務(wù)攻擊,從而使患者無法獲得必要的醫(yī)療干預(yù)和治療。
(2)數(shù)據(jù)修改。攻擊者可以在MCPS中發(fā)起數(shù)據(jù)修改攻擊,從而導(dǎo)致醫(yī)療資源分配錯(cuò)誤和醫(yī)療資源中斷,導(dǎo)致患者所需的治療遭到中止。數(shù)據(jù)修改攻擊也可以用來欺騙生物識(shí)別系統(tǒng),從而使攻擊者可以訪問其他系統(tǒng)或冒充醫(yī)療專業(yè)人員。
(3)數(shù)據(jù)注入。在數(shù)據(jù)注入攻擊中,惡意數(shù)據(jù)被輸入到系統(tǒng),從而改變了正常的執(zhí)行過程。這種攻擊可能使系統(tǒng)進(jìn)入不安全狀態(tài),在這種狀態(tài)下,數(shù)據(jù)丟失、拒絕服務(wù)和數(shù)據(jù)完整性攻擊成為可能。
(4)竊聽。未經(jīng)授權(quán)用戶攔截?cái)?shù)據(jù)通信的竊聽攻擊可能導(dǎo)致隱私泄露。它也可以用于發(fā)起其他攻擊,例如重放攻擊。盡管數(shù)據(jù)泄露不會(huì)立即產(chǎn)生后果,但是攻擊者可以將其用作大規(guī)模勒索的籌碼。
為了監(jiān)測傳感器結(jié)點(diǎn),以及控制結(jié)點(diǎn)上的網(wǎng)絡(luò)流量,滿足MCPS系統(tǒng)的安全需求,設(shè)計(jì)MCPS入侵檢測系統(tǒng)框架如圖2所示。
圖2 MCPS入侵檢測系統(tǒng)框架
開始從傳感器結(jié)點(diǎn)中采集流量特征構(gòu)建成數(shù)據(jù)樣本,逐批進(jìn)行數(shù)據(jù)預(yù)處理,特征選擇。接下來將處理過的數(shù)據(jù)集分為訓(xùn)練集和測試集,使用訓(xùn)練集來不斷訓(xùn)練分類檢測算法,最終得到最優(yōu)的參數(shù)。若檢測率、查準(zhǔn)率,查全率滿足需求,則可以部署該入侵檢測系統(tǒng)。
從傳感器中收集到的原始數(shù)據(jù)可能是ECG信號(hào)、系統(tǒng)調(diào)用信號(hào)或者網(wǎng)絡(luò)流量,這些數(shù)據(jù)的特征則更為復(fù)雜。更多的特征可以更好地對入侵檢測系統(tǒng)建模,但是隨著特征數(shù)量的增長,整個(gè)特征空間呈指數(shù)增長而導(dǎo)致模型過于復(fù)雜,出現(xiàn)過度擬合的問題。因此特征選擇試圖找到具有高度區(qū)分性的特征,協(xié)助減少特征空間,以達(dá)到提高算法準(zhǔn)確率并較少時(shí)間開銷的目的。
在對原始數(shù)據(jù)進(jìn)行數(shù)值化以及數(shù)據(jù)歸一化后,我們使用拉普拉斯分值法對特征進(jìn)行排名。相比于其他過濾式方法和計(jì)算成本更高的包裝式和嵌入式技術(shù),拉普拉斯分值法更加直觀,易于實(shí)現(xiàn)和計(jì)算簡單。
拉普拉斯分值是一種基于拉普拉斯特征映射和局部保留投影的無監(jiān)督的特征選擇方法[9]。能夠?qū)⒏呔S特征空間轉(zhuǎn)換為低維特征空間,從而提高分類效率。拉普拉斯分值算法步驟如下:
(1)將給定的數(shù)據(jù)集樣本xi,i=1,2,…n表示成圖結(jié)構(gòu)G的n個(gè)節(jié)點(diǎn)。
(2)如果xi與xj是近鄰,則:
若xi與xj沒有邊相鄰,則Sij=0,其中t是可以在實(shí)驗(yàn)中調(diào)節(jié)的參數(shù),‖xi-xj‖2表示節(jié)點(diǎn)xi與節(jié)點(diǎn)xj之間的歐氏距離。從而能夠提取數(shù)據(jù)樣本的加權(quán)矩陣S,它的作用是比較近鄰樣本點(diǎn)之間的相似性,描述空間的局部幾何特征。
(3)定義fri表示第i個(gè)樣本的第r個(gè)特征。對于第r個(gè)特征,定義:
圖G的拉普拉斯矩陣即矩陣L。為了消除某些維數(shù)據(jù)差異過大帶來的影響,對每個(gè)特征去均值處理:
(4)第r個(gè)特征的拉普拉斯分值Lr為:
拉普拉斯分值越小說明對分類的貢獻(xiàn)越大,越重要。
卷積神經(jīng)網(wǎng)絡(luò)是一種前饋神經(jīng)網(wǎng)絡(luò),由輸入層、卷積層、池化層、全連接層構(gòu)成。CNN中每個(gè)神經(jīng)元都是可以訓(xùn)練的權(quán)重向量,其輸出都是依據(jù)其輸入,即網(wǎng)絡(luò)結(jié)構(gòu)中先前各層中神經(jīng)元權(quán)重和偏差來計(jì)算的。采用下列式子更新每層的權(quán)重和偏差:
其中Wi和bi分別是神經(jīng)元i的權(quán)重和偏差;α和r分別是正則化參數(shù)和學(xué)習(xí)率;n和m分別是訓(xùn)練樣本和變量的總數(shù);t是更新步驟;C代表成本函數(shù)。這些參數(shù)通過訓(xùn)練不斷進(jìn)行調(diào)整和更新,以獲得最佳性能[10]。
CNN隱藏層中的具有兩種不同的功能:卷積和池化,所以可以分為卷積層和池化層。在卷積層中,一組濾波器在輸入上平移以生成特征向量。在一維中,該卷積運(yùn)算的計(jì)算如下:
其中N表示輸入向量xi中的元素?cái)?shù)量,h是濾波器,n是輸入向量yi中位置k的元素。
在池化層中,下采樣減少了卷積層的輸出尺寸,從而降低了計(jì)算成本并避免了過擬合[11]。實(shí)際上,可以通過最大化或平均化兩種不同的合并機(jī)制來執(zhí)行該操作。在一維模式下,最大和平均池化操作可以分別表示為:
其中q代表過濾器大小,p是開始索引,nq是結(jié)束索引,ri是輸出向量。
常用的CNN包括GoogLeNet、LeNet和AlexNet。而GoogLeNet在網(wǎng)絡(luò)層數(shù)上更深,并且采用了Inception結(jié)構(gòu)來延伸網(wǎng)絡(luò)的寬度,可以更好地解決梯度消失,過擬合等問題,因此我們采用GoogLeNet作為深度學(xué)習(xí)模型,最后使用Softmax分類器進(jìn)行分類,如圖3所示。
圖3 Inception V1結(jié)構(gòu)
多數(shù)研究進(jìn)行入侵檢測實(shí)驗(yàn),采用的是1998年美國國防部構(gòu)建的KDD CUP99數(shù)據(jù)集,該數(shù)據(jù)集曾是入侵檢測領(lǐng)域的基準(zhǔn)數(shù)據(jù)。但是該數(shù)據(jù)集是在二十年前收集到的,由于網(wǎng)絡(luò)發(fā)展的日新月異,彼時(shí)仿真的網(wǎng)絡(luò)情況和安全威脅很難滿足現(xiàn)在的入侵檢測系統(tǒng)。
我們選擇2015年由ACCS網(wǎng)絡(luò)安全中心制作的UNSW-NB15數(shù)據(jù)集[12]來評(píng)估入侵檢驗(yàn)系統(tǒng)的效果。該數(shù)據(jù)集含有254萬個(gè)數(shù)據(jù)實(shí)例,包含正常數(shù)據(jù)和9類攻擊,即Fuzzers、Analysis、Backdoors、DoS,Exploits、Generic、Reconnaissance、Shellcode和Worms。每條實(shí)例均含有47個(gè)特征加上2個(gè)標(biāo)簽的特征數(shù)據(jù)。
我們將非數(shù)值型特征數(shù)據(jù)按數(shù)字次序轉(zhuǎn)換為數(shù)字,并將離散數(shù)據(jù)歸一化,再將數(shù)據(jù)集中包含空值的樣本刪除,得到2227001個(gè)實(shí)例。并按70%和30%分別分為訓(xùn)練集和測試集兩個(gè)子集。表1說明了訓(xùn)練集和測試集的分布。
表1 數(shù)據(jù)集數(shù)據(jù)分布表
實(shí)驗(yàn)所用主機(jī)為NVIDIA GeForce GTX1060顯卡,16G內(nèi)存,Intel Core i7-6700 3.2GHz處理器,操作系統(tǒng)為Ubuntu16.04LTs,在TensorFlow平臺(tái)以及Caffe深度學(xué)習(xí)平臺(tái)進(jìn)行實(shí)驗(yàn)。
我們使用三個(gè)常用指標(biāo)評(píng)估LS-CNN模型的性能:準(zhǔn)確率AC、查準(zhǔn)率Precision和查全率Recall。準(zhǔn)確率用于評(píng)估模型整體效果,查準(zhǔn)率表示被預(yù)測為正例中真正例的比例,查全率表示被預(yù)測為真正例占實(shí)際所有正例的比例。它們的定義如下:
其中TP表示預(yù)測為正,實(shí)際為正;TN表示預(yù)測為負(fù),實(shí)際為負(fù);FP表示預(yù)測為正,實(shí)際為負(fù);FN表示預(yù)測為負(fù),實(shí)際為正。
對預(yù)處理后的UNSW-NB15數(shù)據(jù)集進(jìn)行拉普拉斯分值法特征選擇,以篩選最具代表性的特征,選擇出分值最小的十個(gè)特征:sload、dload、dmeansz、smeansz、stcpb、dtcpb、sttl、djit、trans-depth、service。
首先進(jìn)行二分類問題的實(shí)驗(yàn),將九種攻擊均用1標(biāo)記,正常用0標(biāo)記,得到異常分類的混淆矩陣如表2所示。我們將提出的LS-CNN算法效果與CNN、DT[13]、CADF[14]進(jìn)行比較,實(shí)驗(yàn)結(jié)果如表3所示。
表2 正常和異常樣本的混淆矩陣
表3 LS-CNN與其他模型對比(%)
從表3數(shù)據(jù)可知,CNN算法在準(zhǔn)確率、查準(zhǔn)率和查全率都要優(yōu)于DT和CADF算法。因?yàn)镃NN在網(wǎng)絡(luò)深度上更深,以及引入了Inception,能夠通過多個(gè)卷積核獲取多種特征信息,從而使得分類器更加準(zhǔn)確地進(jìn)行分類。而本文提出的LS-CNN算法相比CNN而言,由于輸入特征數(shù)量較少,檢測性能得到了小幅提升,準(zhǔn)確率、查準(zhǔn)率和查全率分別提高了0.6%、0.7%、1.7%。但是訓(xùn)練成本大幅減少,LS-CNN平均訓(xùn)練一萬個(gè)樣本只需18.7s,比不進(jìn)行特征選擇的CNN訓(xùn)練時(shí)間少了61%。
應(yīng)用LS-CNN算法來對UNSW-NB15測試集進(jìn)行多分類實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果如表4所示。
表4 LS-CNN的多分類實(shí)驗(yàn)結(jié)果(%)
LS-CNN多分類整體的準(zhǔn)確率AC達(dá)到了97.7%,對于Fuzzers、Generic、Reconnaissance、Shellcode類別的查準(zhǔn)率都達(dá)到了80%以上,而Backdoor、Analysis、Worms攻擊由于類不平衡分類效果最差。
本文研究了一種基于深度學(xué)習(xí)算法的MCPS入侵檢測系統(tǒng),以拉普拉斯分值法作為特征選擇方法,GoogLeNet對特征學(xué)習(xí)并使用Softmax分類器。實(shí)驗(yàn)結(jié)果表明:LS-CNN模型在檢測率、查準(zhǔn)率和查全率指標(biāo)上優(yōu)于其他機(jī)器學(xué)習(xí)算法,并且能有效降低訓(xùn)練成本。但是由于類不平衡問題,多分類的小樣本分類效果欠佳,因此接下來致力解決此問題。