孫小丹
(福州職業(yè)技術(shù)學(xué)院 福建 福州 350108)
計算機(jī)網(wǎng)絡(luò)安全漏洞是指存在于計算機(jī)網(wǎng)絡(luò)系統(tǒng)中的未修復(fù)或未被發(fā)現(xiàn)的安全弱點(diǎn),將導(dǎo)致網(wǎng)絡(luò)存在非法訪問入侵、數(shù)據(jù)泄露、服務(wù)中斷、惡意軟件感染等安全問題。將人工智能技術(shù)應(yīng)用于網(wǎng)絡(luò)安全領(lǐng)域,能有效解決安全漏洞問題[1-2]。 目前,該技術(shù)在網(wǎng)絡(luò)安全中的應(yīng)用主要體現(xiàn)在:①網(wǎng)絡(luò)威脅的檢測與預(yù)測。 利用機(jī)器學(xué)習(xí)和深度學(xué)習(xí)技術(shù),構(gòu)建威脅檢測模型,對網(wǎng)絡(luò)流量、日志數(shù)據(jù)等進(jìn)行實(shí)時監(jiān)測和分析,以便及時發(fā)現(xiàn)異常活動和潛在的威脅。 同時,預(yù)測模型還能通過歷史數(shù)據(jù)和行為模式來預(yù)測未來可能出現(xiàn)的安全威脅。 ②網(wǎng)絡(luò)異常和入侵行為的檢測。 利用訓(xùn)練過的機(jī)器學(xué)習(xí)模型,識別并攔截異常的網(wǎng)絡(luò)行為,以減少其入侵所帶來風(fēng)險。 ③安全補(bǔ)丁的自動化管理。利用自然語言處理算法和機(jī)器學(xué)習(xí)技術(shù),分析安全漏洞報告,對網(wǎng)絡(luò)系統(tǒng)及其應(yīng)用軟件的安全補(bǔ)丁需求進(jìn)行評估,讓安全補(bǔ)丁的管理工作具有針對性。 ④病毒程序的識別。使用機(jī)器學(xué)習(xí)模型,對病毒程序樣本進(jìn)行分析,構(gòu)建病毒程序的識別模型。 利用該模型自動識別網(wǎng)絡(luò)病毒程序,阻止其在網(wǎng)絡(luò)上傳播,確保網(wǎng)絡(luò)的安全。 ⑤用戶身份認(rèn)證和訪問控制。 基于人工智能技術(shù),可實(shí)現(xiàn)智能化的用戶身份認(rèn)證和訪問控制。 例如,采用人臉識別、聲紋識別等生物特征識別技術(shù),突破傳統(tǒng)的用戶名和密碼認(rèn)證技術(shù)的局限,提高用戶身份驗(yàn)證的安全性和準(zhǔn)確性,從而阻止非法用戶的訪問。 ⑥防止釣魚軟件的攻擊。 利用自然語言處理和文本分析技術(shù),自動地識別并攔截釣魚軟件的攻擊,以降低用戶遭受網(wǎng)絡(luò)詐騙的風(fēng)險。
在上述的應(yīng)用方向中,結(jié)合人工智能技術(shù),構(gòu)建一個智能化網(wǎng)絡(luò)入侵行為檢測模型,是解決網(wǎng)絡(luò)安全漏洞問題的一個有效舉措,也是當(dāng)前網(wǎng)絡(luò)安全領(lǐng)域的研究熱點(diǎn)之一[3-4]。 智能化的網(wǎng)絡(luò)入侵行為檢測模型能快速地、智能地識別出流量異常、網(wǎng)絡(luò)病毒、木馬和黑客程序等各種入侵行為,及時地向防火墻發(fā)出預(yù)警信號,使其能自動攔截潛在的安全威脅。 本文圍繞著這一研究熱點(diǎn),結(jié)合PyTorch 技術(shù),對如何設(shè)計并實(shí)現(xiàn)一個智能化的網(wǎng)絡(luò)入侵行為檢測模型做進(jìn)一步探討。
PyTorch 是一個由Facebook 開發(fā)并維護(hù)的開源機(jī)器學(xué)習(xí)框架。 它是構(gòu)建深度學(xué)習(xí)模型的強(qiáng)大工具,能實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)的設(shè)計、訓(xùn)練和評估,其核心技術(shù)主要包括動態(tài)圖計算、自動求導(dǎo)、張量操作、模型容器、優(yōu)化器、分布式訓(xùn)練與加速等。 由于PyTorch 技術(shù)的靈活性和易用性,現(xiàn)已被廣泛應(yīng)用于以下幾個領(lǐng)域的研究和實(shí)踐。
(1)計算機(jī)視覺領(lǐng)域。 PyTorch 提供了一系列用于圖像處理、目標(biāo)檢測、圖像分類、圖像生成等任務(wù)的工具和庫,可輕松構(gòu)建許多網(wǎng)絡(luò)模型, 如卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN)、 生成對抗網(wǎng)絡(luò)(generative adversarial network,GAN)等。
(2)自然語言處理領(lǐng)域。 PyTorch 提供了豐富的工具和庫,用于文本分類、機(jī)器翻譯、情感分析、問答系統(tǒng)等任務(wù)。 由于PyTorch 具備動態(tài)圖計算和自動求導(dǎo)功能,這降低了一些復(fù)雜操作的難度,如:處理長度可變的序列數(shù)據(jù)、構(gòu)建循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN) 模型等。
(3)語音識別領(lǐng)域。 PyTorch 提供的聲學(xué)模型和語言模型可用于語音合成和語音識別系統(tǒng)的開發(fā)。 如:TorchAudio 可用于處理音頻數(shù)據(jù)和構(gòu)建聲學(xué)模型。
(4)PyTorch 在強(qiáng)化學(xué)習(xí)中也有廣泛應(yīng)用。 強(qiáng)化學(xué)習(xí)是一種通過智能體與環(huán)境的交互,學(xué)習(xí)最優(yōu)策略來解決問題的方法。 PyTorch 提供了用于構(gòu)建強(qiáng)化學(xué)習(xí)模型的庫和工具,如OpenAI Gym 和Stable Baselines3 等。
(5)神經(jīng)網(wǎng)絡(luò)研究領(lǐng)域。 PyTorch 作為一個靈活且易于擴(kuò)展的深度學(xué)習(xí)框架,被廣泛應(yīng)用于神經(jīng)網(wǎng)絡(luò)研究。 研究人員可使用PyTorch 快速定義新的網(wǎng)絡(luò)模型及其損失函數(shù)、優(yōu)化器等,并實(shí)現(xiàn)模型參數(shù)的分析和優(yōu)化。
除了上述的這些領(lǐng)域,PyTorch 也常用于信號處理、醫(yī)學(xué)影像分析、金融數(shù)據(jù)分析預(yù)測等領(lǐng)域。
PyTorch 技術(shù)的優(yōu)越性[5]主要體現(xiàn)在:
(1)實(shí)現(xiàn)了動態(tài)圖計算。 在程序運(yùn)行時,PyTorch 可動態(tài)地構(gòu)建、修改和調(diào)試計算圖。 相比于靜態(tài)圖計算框架(如TensorFlow),動態(tài)圖的計算框架更加靈活、直觀,這讓模型的設(shè)計和調(diào)試變得更加便捷。
(2)具備強(qiáng)大的圖形處理器(graphics processing unit,GPU)加速功能。 PyTorch 通過集成計算機(jī)統(tǒng)一設(shè)備架構(gòu)(compute unified device architecture,CUDA)技術(shù),充分利用GPU 的并行計算能力來加速模型的訓(xùn)練和推斷。 因此,PyTorch 能快速地完成大規(guī)模數(shù)據(jù)的分析任務(wù)、復(fù)雜模型的計算任務(wù)。
(3)實(shí)現(xiàn)自動求導(dǎo)。 PyTorch 內(nèi)置的自動求導(dǎo)功能使得計算梯度變得非常簡單。 通過跟蹤模型的前向傳播過程,PyTorch 可自動計算梯度,并在反向傳播中應(yīng)用這些梯度更新模型參數(shù),這項功能對深度學(xué)習(xí)模型的訓(xùn)練至關(guān)重要。
(4)提供大量預(yù)訓(xùn)練模型。 PyTorch 提供了圖像分類、目標(biāo)檢測、語義分割等任務(wù)的預(yù)訓(xùn)練深度學(xué)習(xí)模型。根據(jù)分析任務(wù)需要,借助這些模型,可在自定義的任務(wù)上實(shí)現(xiàn)遷移學(xué)習(xí),從而加快模型的訓(xùn)練過程。
(5)具有豐富的工具和擴(kuò)展庫。 PyTorch 提供了許多工具和擴(kuò)展庫,以方便模型的開發(fā)、拓展和部署。 例如:TorchVision 用于處理計算機(jī)視覺任務(wù),TorchText 用于自然語言處理任務(wù),TorchServe 用于模型的服務(wù)化部署等。
綜上,PyTorch 技術(shù)提供了豐富且功能強(qiáng)大的工具和庫,使得深度學(xué)習(xí)模型的構(gòu)建、訓(xùn)練和評估過程變得更加便捷,這為構(gòu)建智能化的網(wǎng)絡(luò)入侵行為檢測模型提供了有力的技術(shù)支持。
網(wǎng)絡(luò)入侵行為即指未經(jīng)授權(quán)的個人或組織通過互聯(lián)網(wǎng)或其他網(wǎng)絡(luò)渠道侵入他人的計算機(jī)系統(tǒng)、網(wǎng)絡(luò)設(shè)備或數(shù)據(jù)庫,以獲取非法訪問、竊取敏感信息、破壞系統(tǒng)或進(jìn)行其他惡意活動的行為。 常見的網(wǎng)絡(luò)入侵行為有:
(1)破解密碼,即指黑客使用各種技術(shù)手段,如暴力破解、字典攻擊等來獲取系統(tǒng)或賬戶密碼,以獲取訪問權(quán)限。
(2) 拒絕服務(wù)攻擊(distributed denial of service,DDoS), 即指黑客通過向目標(biāo)服務(wù)器發(fā)送大量的請求流量,使其資源耗盡,導(dǎo)致系統(tǒng)無法正常運(yùn)行,從而使正常用戶無法訪問該服務(wù)。
(3)零日漏洞利用,即指黑客發(fā)現(xiàn)并利用尚未被公開和修復(fù)的軟件漏洞,通過這些漏洞在目標(biāo)系統(tǒng)中執(zhí)行惡意代碼。
(4)物理入侵,即指黑客通過實(shí)際進(jìn)入目標(biāo)設(shè)施來獲取物理接觸并入侵系統(tǒng),例如,插入惡意硬件設(shè)備或直接訪問受保護(hù)的服務(wù)器。
(5)木馬程序,即指黑客通過在目標(biāo)系統(tǒng)上植入木馬程序,遠(yuǎn)程控制或監(jiān)視受感染的設(shè)備,竊取敏感信息或執(zhí)行其他惡意活動。
(6)蠕蟲病毒攻擊,即指黑客通過向網(wǎng)絡(luò)中的其他系統(tǒng)發(fā)送自身拷貝,從而快速傳播并感染更多的設(shè)備,導(dǎo)致網(wǎng)絡(luò)堵塞或服務(wù)中斷。
(7)社交工程,即指黑客利用心理欺騙手段和社交技巧,通過偽裝成合法用戶或通過引誘受害者來獲取敏感信息、密碼或其他訪問權(quán)限,達(dá)到網(wǎng)絡(luò)欺詐的目的。
(8)無線網(wǎng)絡(luò)入侵,即指黑客通過滲透目標(biāo)的無線網(wǎng)絡(luò),竊取通信數(shù)據(jù)或獲得對目標(biāo)設(shè)備的訪問。
網(wǎng)絡(luò)入侵行為將給個人、企事業(yè)單位帶來諸多的危害,主要體現(xiàn)在以下三個方面:
(1)信息泄露。 網(wǎng)絡(luò)入侵者可通過入侵行為,竊取他人身份信息、金融數(shù)據(jù)、商業(yè)機(jī)密等敏感信息,這將導(dǎo)致隱私泄露、聲譽(yù)受損、商業(yè)泄密等嚴(yán)重后果。
(2)系統(tǒng)癱瘓。 黑客通過入侵網(wǎng)絡(luò)系統(tǒng),破壞或禁用關(guān)鍵的服務(wù),導(dǎo)致系統(tǒng)崩潰、停機(jī)或無法正常運(yùn)行,使得執(zhí)行中的業(yè)務(wù)被強(qiáng)制中斷,造成客戶流失、企業(yè)聲譽(yù)受損等后果。
(3)資金盜竊。 入侵者可能利用網(wǎng)絡(luò)漏洞和弱點(diǎn),盜取個人或企/事業(yè)單位的銀行賬戶、支付信息或數(shù)字貨幣等財務(wù)信息,組織系列金融詐騙活動,導(dǎo)致個人或企/事業(yè)單位的財產(chǎn)損失。
為了防止網(wǎng)絡(luò)入侵行為,個人或企/事業(yè)單位需采取一系列的安全措施,如使用強(qiáng)密碼、定期更新軟件補(bǔ)丁、部署防火墻和入侵檢測系統(tǒng)、網(wǎng)絡(luò)社交安全意識培訓(xùn)等。 其中,由于防火墻和入侵檢測系統(tǒng)能自動識別并攔截網(wǎng)絡(luò)入侵行為,因此該系統(tǒng)在網(wǎng)絡(luò)安全防護(hù)中起著至關(guān)重要的作用。
在防火墻和入侵檢測系統(tǒng)中,網(wǎng)絡(luò)入侵行為檢測技術(shù)為系統(tǒng)的核心技術(shù)[6]。 該技術(shù)主要通過入侵行為檢測模型,篩查出網(wǎng)絡(luò)中違反安全策略或攻擊網(wǎng)站的入侵程序,為防火墻及時攔截這些程序做好準(zhǔn)備。 入侵行為檢測模型的定義決定了入侵檢測工作的質(zhì)量。 常用的入侵行為模型可分為:誤用入侵行為檢測模型和異常入侵行為檢測模型[7]。 其中,誤用入侵行為檢測模型雖然操作簡單、檢測速度快且準(zhǔn)確度高,但其對未知網(wǎng)絡(luò)入侵行為的檢測能力較低。 異常入侵行為檢測模型不僅能檢測出已知的網(wǎng)絡(luò)入侵行為,還能檢測出未知的網(wǎng)絡(luò)入侵行為。 相比誤用入侵行為檢測模型,該模型的定義更加合理,但模型運(yùn)行的穩(wěn)定性不高,且檢測速率偏低,因此需要對其做進(jìn)一步改進(jìn)。
針對異常入侵行為檢測模型存在的弊端,本文聯(lián)合PyTorch 技術(shù)[8]構(gòu)建一個智能化的網(wǎng)絡(luò)入侵行為檢測模型。 新模型不僅具備學(xué)習(xí)能力,同時運(yùn)行的穩(wěn)定性和速度均有較大程度的提高,其關(guān)鍵代碼如下所示。
上述代碼定義了一個名為IntrusionDetectionCNN 的網(wǎng)絡(luò)入侵行為檢測模型。 該模型采用卷積神經(jīng)網(wǎng)絡(luò)算法,根據(jù)訓(xùn)練集、測試集中各種網(wǎng)絡(luò)行為特征數(shù)據(jù),通過全連接層將集合里包含的網(wǎng)絡(luò)行為分為入侵型和非入侵型等。
由于網(wǎng)絡(luò)入侵行為檢測模型的性能好壞將直接影響模型攔截網(wǎng)絡(luò)入侵行為的效果,因此需對模型的運(yùn)行性能進(jìn)行定量評價。 基于此,本文提出幾個指標(biāo),用于模型運(yùn)行性能的定量評價,具體如下所述。
(1)訓(xùn)練損失值(training loss,TL)
TL 即模型在訓(xùn)練過程中,通過損失函數(shù)計算的數(shù)值,該值體現(xiàn)了模型在訓(xùn)練集上的擬合情況,理想的狀態(tài)是TL 值隨著模型訓(xùn)練次數(shù)的增加而穩(wěn)步下降。
(2)驗(yàn)證損失值(validation loss,VL)
VL 即模型在驗(yàn)證集上計算獲得的損失值,該指標(biāo)可用于評估模型的泛化能力,即模型對未知入侵行為的預(yù)判能力,若VL 值低,則說明模型具有較好的泛化性能。
(3)訓(xùn)練準(zhǔn)確率(training accuracy,TRA)
TRA 為模型在訓(xùn)練集上分類的準(zhǔn)確率,即被模型正確分類的樣本占比。 理想狀態(tài)下,隨著訓(xùn)練的進(jìn)行,TRA值應(yīng)逐漸提高。
(4)驗(yàn)證準(zhǔn)確率(validation accuracy,VA)
VA 為模型在驗(yàn)證集上的分類準(zhǔn)確率,該指標(biāo)與驗(yàn)證損失值類似,VA 值的大小代表了模型泛化能力的高低。
(5)測試準(zhǔn)確率(test accuracy,TEA)
TEA 表示模型在獨(dú)立的測試集上的分類準(zhǔn)確率。 該指標(biāo)用于評估模型在實(shí)際應(yīng)用中的效果,對于網(wǎng)絡(luò)入侵行為檢測模型來說,代表了模型對未知網(wǎng)絡(luò)入侵行為的分類能力。
除了以上五個指標(biāo),還可以根據(jù)具體的任務(wù)需求和數(shù)據(jù)集特點(diǎn),采集其他自定義的指標(biāo)和執(zhí)行結(jié)果數(shù)據(jù)。 例如,可以統(tǒng)計不同類別的精確度、召回率等指標(biāo),或者記錄模型訓(xùn)練過程中的學(xué)習(xí)率變化情況等。 在模型訓(xùn)練和調(diào)優(yōu)的過程中,可以監(jiān)督上述評價指標(biāo)的數(shù)值大小和變化趨勢,對模型的訓(xùn)練進(jìn)展和性能進(jìn)行評價。 根據(jù)評價數(shù)據(jù),實(shí)時地對模型結(jié)構(gòu)和參數(shù)做調(diào)整和優(yōu)化,確保其運(yùn)行的可靠性和準(zhǔn)確性。
采用本文所提的模型,對網(wǎng)絡(luò)入侵行為進(jìn)行檢測,具體流程為:(1)檢測前,先依據(jù)訓(xùn)練集的行為數(shù)據(jù),對模型做迭代訓(xùn)練,直到訓(xùn)練結(jié)果收斂至預(yù)先給定的閾值。(2)利用訓(xùn)練好的模型,對測試集中的網(wǎng)絡(luò)行為進(jìn)行分類,基于分類結(jié)果,采用性能評價指標(biāo),對模型的運(yùn)行性能做定量評價。 根據(jù)評價數(shù)據(jù),對模型的結(jié)構(gòu)和參數(shù)進(jìn)行調(diào)整和優(yōu)化,直到模型性能的評價數(shù)據(jù)達(dá)到預(yù)期值。 (3)將模型用于網(wǎng)絡(luò)入侵行為檢測。
模型的訓(xùn)練和調(diào)優(yōu)是執(zhí)行檢測流程的關(guān)鍵環(huán)節(jié),其結(jié)果將直接影響網(wǎng)絡(luò)入侵行為檢測工作的質(zhì)量和效率,具體過程包含以下三個關(guān)鍵步驟。
步驟一:前向傳播,計算模型輸出和損失。
步驟二:利用損失函數(shù)和優(yōu)化器進(jìn)行反向傳播和優(yōu)化。
步驟三:模型調(diào)優(yōu)。 采用性能評價指標(biāo),評估模型每個階段的訓(xùn)練情況,根據(jù)評估數(shù)據(jù),對模型的結(jié)構(gòu)和參數(shù)進(jìn)行調(diào)優(yōu),例如,增加或減少卷積層、全連接層的數(shù)量和大小,以適應(yīng)不同的入侵行為檢測任務(wù)。 在實(shí)際操作過程中,還需將新的網(wǎng)絡(luò)行為數(shù)據(jù)添加到訓(xùn)練集中,確保模型具備對抗不斷進(jìn)化的網(wǎng)絡(luò)入侵行為的能力。
為了解決網(wǎng)絡(luò)入侵行為帶來的危害,本文順應(yīng)網(wǎng)絡(luò)入侵行為檢測技術(shù)的發(fā)展趨勢,結(jié)合PyTorch 技術(shù),提出一個智能化網(wǎng)絡(luò)入侵行為檢測模型,并對模型的代碼實(shí)現(xiàn)、性能評價指標(biāo)和執(zhí)行流程進(jìn)行了闡述。 新模型能檢測出已知/未知的網(wǎng)絡(luò)入侵行為,且具有較高的準(zhǔn)確性和可靠性。 目前,模型還存在著一些不足,如模型分析能力有待提升、模型對訓(xùn)練集的依賴等,對模型的改進(jìn)是后續(xù)研究工作的重點(diǎn)。