版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
惡
意
代
碼
原
理
與
防
范
MalwarePrinciples&Prevention計算機病毒技術(shù)及其防御
ComputerVirusTechnology&ItsDefense第八章ChapterEightComputerVirusesDetection計算機病毒檢測前言PREFACE對于計算機病毒,無論其處于傳播、潛伏還是發(fā)作階段,都應(yīng)開啟實時檢測以及早發(fā)現(xiàn),并及時采取應(yīng)急響應(yīng)措施圍堵獵殺,保障信息系統(tǒng)安全。計算機病毒檢測是計算機病毒防御的第一步,只有將可疑文件、進(jìn)程進(jìn)行檢測后,才能確認(rèn)計算機是否被感染。如確認(rèn)被計算機病毒感染,則需進(jìn)一步殺滅和免疫,以絕后患。本章將從特征碼檢測、啟發(fā)式檢測、虛擬沙箱檢測、數(shù)據(jù)驅(qū)動檢測、基于ChatGPT的安全防御等維度探討計算機病毒檢測發(fā)現(xiàn)技術(shù)。激湍之下,必有深潭;高丘之下,必有浚谷?!鳌⒒?背景介紹目錄2特征碼檢測3啟發(fā)式檢測4沙箱檢測45數(shù)據(jù)驅(qū)動檢測45GPT防御1CHAPTER
背景介紹1.背景介紹
檢測分類特征碼檢測、啟發(fā)式檢測、虛擬沙箱檢測、數(shù)據(jù)驅(qū)動檢測、基于ChatGPT的安全防御。計算機病毒檢測是計算機病毒防御的第一步。只有將可疑文件、進(jìn)程進(jìn)行檢測后,才能確認(rèn)是否為計算機病毒所感染。如確認(rèn)為計算機病毒,將會進(jìn)一步殺滅與免疫以絕后患。基礎(chǔ)知識特征碼檢測背景介紹檢驗和特征碼特殊字符串特征碼特殊匯編碼特征碼2CHAPTER特征匹配樣本選擇特征提取2.基于特征碼檢測定義:基于病毒特征碼檢測;先從計算機病毒樣本中選擇、提取特征碼,再用該特征碼去匹配待掃描文件,如匹配度高于設(shè)定閾值,則認(rèn)為該掃描文件內(nèi)含計算機病毒。分類:檢驗和特征碼,特殊字符串特征碼,特殊匯編碼特征碼2.1校驗和特征碼種類優(yōu)缺點可使用
MD5或SHA等算法生成每個未感染文件的校驗和(消息摘要),并將其作為該文件獨特的數(shù)字指紋保存至檢驗和數(shù)據(jù)庫中既能發(fā)現(xiàn)已知病毒,也能發(fā)現(xiàn)未知病毒;但保存的檢驗和數(shù)據(jù)庫會隨文件數(shù)和文件更改數(shù)而遞增,開銷劇增。檢驗和(Checksum),最初用于數(shù)據(jù)處理和數(shù)據(jù)通信領(lǐng)域,用于校驗數(shù)據(jù)通過傳輸?shù)竭_(dá)目的地后的完整性和準(zhǔn)確性的一組數(shù)據(jù)項之和?;A(chǔ)知識示例-MD5加密步驟一:生成待加密字符串編碼。步驟二:與MD5加密后編碼進(jìn)行匹配。2.3特殊字符串特征碼示例優(yōu)缺點例如:CIH病毒中包含諸如“CIHv1.2TTIT”;大麻病毒包含“YourPCisnowStoned!LEGALISEMARIJUANA!”字符串,熊貓燒香病毒包含諸如“whboy”、“xboy”之類的字符串。能檢測并識別特定計算機病毒,但掃描耗時較多,且無法應(yīng)對病毒變體。
計算機病毒中包含一些特殊字符串,并通過查找計算機樣本中的此類特殊字符串進(jìn)行對比,實現(xiàn)檢測病毒?;A(chǔ)知識示例-字符串匹配步驟一:輸入待匹配字符串。步驟二:利用函數(shù)進(jìn)行匹配。2.4特殊匯編碼特征碼示例優(yōu)缺點對于WindowsPE病毒,其程序中均包含不可或缺的重定位代碼。病毒重定位可助計算機病毒實現(xiàn)兩個功能:(1)正確引用自身變量或常量,(2)動態(tài)獲取系統(tǒng)API函數(shù)地址。能快速有效地提取惡意軟件的獨特指令序列特征,但容易受到惡意軟件的代碼變異影響,且可能導(dǎo)致誤報率較高。
計算機病毒是一段程序代碼,如從語義視角去考量病毒特征碼,則可將其包含的有特殊含義且普通程序未有的代碼作為其特征碼;即病毒的反匯編編碼?;A(chǔ)知識2.4.1示例-特征碼提取恒定部分可變部分
由匯編碼CallVstart所構(gòu)成,匯編碼CallVstart所對應(yīng)的機器碼為:E8xx000000E8后面的第一個字節(jié)表示跳轉(zhuǎn)到的下一個要執(zhí)行的指令到E8xx000000指令的距離。由多條匯編指令構(gòu)成,例如,匯編碼PopEBX、SubEBX,offsetVstart或MovEBX,[ESP]、SubEBX,offsetVstart等都可實現(xiàn)相關(guān)。介紹
本節(jié)將以WindowsPE病毒為例探討病毒特征碼提取。通過逆向分析病毒重定位代碼后,可發(fā)現(xiàn)其結(jié)構(gòu)由2部分組成:(1)恒定部分,(2)可變部分。示例-匯編碼匹配匯編碼(前四行):表示函數(shù)行為匯編碼十六進(jìn)制數(shù)下列的病毒重定位演示代碼中的前四行是匯編碼,后一行是前四行匯編碼對應(yīng)的十六進(jìn)制數(shù)據(jù),該數(shù)據(jù)可提供為病毒特征碼。示例-匯編碼匹配在定義好特征碼并提取出特征碼后,利用病毒特征碼進(jìn)行可疑文件檢測,其實就是一個簡單的字符匹配算法過程:首先,進(jìn)行輸入?yún)?shù)判斷;其次,加載相關(guān)病毒特征碼庫;最后,將待掃描文件與病毒特征碼庫進(jìn)行比對并判斷輸出結(jié)果。步驟一:加載特征碼庫。步驟二:掃描引擎初始化。示例-匯編碼匹配步驟三:掃描記錄,輸出結(jié)果。啟發(fā)式檢測啟發(fā)式檢測啟發(fā)式病毒屬性啟發(fā)式病毒檢測3CHAPTER3.啟發(fā)式檢測優(yōu)缺點能檢測到不在病毒特征庫中的未知病毒或已知病毒新變種;但可能會將正常但不尋常的行為誤認(rèn)為是惡意軟件,導(dǎo)致誤報率較高。
啟發(fā)式檢測實質(zhì)上是一種基于邏輯推理的計算機病毒檢測方法,通過檢查文件中的可疑屬性并在滿足相應(yīng)閾值時,給出是否為病毒的邏輯判斷?;A(chǔ)知識3.1啟發(fā)式病毒屬性盡管計算機病毒與普通程序一樣,都是編程者精心設(shè)計編寫的二進(jìn)制代碼,但從指令屬性的視角,兩者仍存在很多不同。病毒防御者如能仔細(xì)辨別兩者的不同屬性,找尋到計算機病毒區(qū)別于正常程序的功能屬性,并以此為依據(jù)檢測計算機病毒,就能相對簡易地發(fā)現(xiàn)未知病毒。屬性下面將以此演示啟發(fā)式檢測方法。演示代碼的邏輯流程為:讀內(nèi)存文件→解析該文件導(dǎo)入表API函數(shù)并分類危險度→掃描導(dǎo)入表API函數(shù)→如超過設(shè)定閾值則判斷為病毒。3.2啟發(fā)式病毒檢測定義:啟發(fā)式病毒檢測通過檢查文件中的可疑屬性并在滿足相應(yīng)閾值時,給出是否為病毒的邏輯判斷。例如,啟發(fā)式檢測通常會掃描PE文件導(dǎo)入表,根據(jù)導(dǎo)入表中API函數(shù)的危險度去判斷程序行為。示例-啟發(fā)式病毒步驟一:初始和加載模塊。示例-啟發(fā)式病毒步驟二:解析導(dǎo)入表并進(jìn)行API函數(shù)危險度分析。示例-啟發(fā)式病毒步驟三:掃描導(dǎo)入表API函數(shù),并進(jìn)行分級。步驟四:函數(shù)危險級別分類。示例-啟發(fā)式病毒步驟五:閾值判斷。4CHAPTER沙箱檢測計算機病毒樣本分析登記文檔計算機病毒樣本分析結(jié)果登記文檔計算機病毒分析報告4.沙箱檢測什么是沙箱?沙箱(SandBox),本質(zhì)上就是一個增強的虛擬機,能為程序提供一個虛擬化環(huán)境(隔離環(huán)境),保證程序所有操作都在該隔離環(huán)境內(nèi)完成,不會對隔離環(huán)境之外的系統(tǒng)造成任何影響。沙箱會嚴(yán)控其中運行程序所能訪問的各種資源,是虛擬化和監(jiān)控方法的結(jié)合體。沙箱的優(yōu)缺點有哪些?可以用于檢測潛在的惡意軟件,包括采用加殼技術(shù)、隱匿類病毒,從而提供實時的惡意軟件檢測和防護(hù),但可能會導(dǎo)致性能損耗,因為額外的資源和計算能力用于維護(hù)隔離環(huán)境?;A(chǔ)知識
沙箱重定向在沙箱內(nèi),所有操作都會被重定向。沙箱能虛擬處理如下資源:文件、注冊表、服務(wù)、進(jìn)程、線程、全局鉤子、注入、驅(qū)動加載等。例如,在沙箱內(nèi)進(jìn)行文件操作時,所有與文件創(chuàng)建、修改、讀寫、刪除等相關(guān)操作都被重定向,不會操作真實系統(tǒng)中的文件。在應(yīng)用模式下,可通過鉤掛NTDLL.DLL中文件相關(guān)函數(shù)。5CHAPTER數(shù)據(jù)驅(qū)動檢測數(shù)據(jù)驅(qū)動檢測基于機器學(xué)習(xí)檢測基于深度學(xué)習(xí)檢測分類classification定義傳統(tǒng)的計算機病毒檢測(特征碼檢測,啟發(fā)式檢測...)方法需要人工逆向分析與特征碼提取,耗時巨大且效果欠佳,隨著病毒數(shù)量呈指數(shù)級增長后,此類檢測方法已有英雄遲暮之感。而借助數(shù)據(jù)科學(xué)與人工智能方法來進(jìn)行計算機病毒檢測自動化,將節(jié)省大量人力財力,且還可有效提升檢測精準(zhǔn)度。5.數(shù)據(jù)驅(qū)動檢測結(jié)構(gòu)
人工智能是以史為鑒,讓歷史揭示未來。即以歷史數(shù)據(jù)為學(xué)習(xí)內(nèi)容,利用算法與模型來預(yù)測未來數(shù)據(jù)。分類
分類,聚類,降維?;谌斯ぶ悄艿牟《緳z測其實就是分類問題,即將待檢測文件劃分為兩類:良性代碼,計算機病毒。定義Definition結(jié)構(gòu)construction5.1基于機器學(xué)習(xí)的病毒檢測優(yōu)缺點能自動學(xué)習(xí)惡意軟件的特征和模式,無需手動編寫規(guī)則或特征提取過程;但存在過擬合、欠擬合問題。
機器學(xué)習(xí)利用數(shù)學(xué)和統(tǒng)計學(xué)的知識與原理,從數(shù)據(jù)中發(fā)現(xiàn)模式、相關(guān)性、異常性,為解決實際問題提供分類、聚類、降維等處理結(jié)果?;A(chǔ)知識基本步驟問題抽象數(shù)據(jù)預(yù)處理模型驗證機器學(xué)習(xí)基本步驟數(shù)據(jù)采集模型構(gòu)建降維Reduction分類分類是機器學(xué)習(xí)中的一個任務(wù),其目標(biāo)是將數(shù)據(jù)點分配到預(yù)定義的類別或標(biāo)簽中。分類問題通常是有監(jiān)督學(xué)習(xí)的一種形式,其中算法通過從帶有標(biāo)簽的訓(xùn)練數(shù)據(jù)中學(xué)習(xí)特征和模式,來建立一個可以將新數(shù)據(jù)點分配到正確類別的模型。常見的應(yīng)用包括垃圾郵件過濾、圖像識別、醫(yī)學(xué)診斷等。5.1.1問題抽象聚類聚類是機器學(xué)習(xí)中的另一種任務(wù),其目標(biāo)是將數(shù)據(jù)點分組為相似的集群,其中每個集群內(nèi)的數(shù)據(jù)點彼此更加相似,而不同集群之間的數(shù)據(jù)點相似度較低。聚類問題通常是無監(jiān)督學(xué)習(xí)的一種形式,因為算法在沒有預(yù)先定義類別的情況下自行識別數(shù)據(jù)中的模式和結(jié)構(gòu)。聚類可用于市場細(xì)分、社交網(wǎng)絡(luò)分析、圖像分割等領(lǐng)域降維采用某種映射方法,將高維空間中的數(shù)據(jù)點映射到低維度的空間。分類Classification聚類Cluster5.1.2數(shù)據(jù)采集什么是數(shù)據(jù)采集?數(shù)據(jù)采集是指收集、獲取和整理用于訓(xùn)練和評估機器學(xué)習(xí)模型的數(shù)據(jù)的過程。數(shù)據(jù)是機器學(xué)習(xí)的基礎(chǔ),模型的性能和效果很大程度上取決于使用的數(shù)據(jù)質(zhì)量和數(shù)量。常用數(shù)據(jù)集有哪些?(1)SoRel-20M(2)EMBER(3)微軟KMC2015基礎(chǔ)知識
5.1.2數(shù)據(jù)采集(2)EMBER數(shù)據(jù)集2018年4月網(wǎng)絡(luò)安全公司Endgame發(fā)布了EMBER,110萬個良性和惡意WindowsPE文件樣本集合,其中90萬個為訓(xùn)練樣本(30萬個惡意、30萬個良性、30萬個未標(biāo)記),20萬個為測試樣本(10萬個惡意、10萬個良性)。(3)微軟KMC
2015數(shù)據(jù)集Microsoft公司于2015年舉辦了惡意軟件分類挑戰(zhàn)賽KaggleMicrosoftMalwareClassificationChallenge(BIG2015),且為參賽者提供超過500GB(解壓后)數(shù)據(jù)集KMC2015,含9類惡意軟件家族,在訓(xùn)練集里有近900萬條數(shù)據(jù),(1)SoReL-20M數(shù)據(jù)集網(wǎng)絡(luò)安全公司Sophos和ReversingLabs聯(lián)合發(fā)布,SoReL-20M數(shù)據(jù)庫內(nèi)含2000萬WindowsPE文件元數(shù)據(jù)、標(biāo)簽和特征,其中包括1000萬個刪除了攻擊載荷的計算機病毒樣本和1000萬個良性樣本。5.1.3數(shù)據(jù)預(yù)處理及特征提取機器學(xué)習(xí)使用數(shù)學(xué)模型來擬合數(shù)據(jù),以便提取知識和做出預(yù)測。而這些數(shù)學(xué)模型的輸入就是數(shù)據(jù)及其特征。數(shù)據(jù)需要準(zhǔn)備、標(biāo)準(zhǔn)化、去重復(fù)、消除錯誤和偏差等一系列預(yù)處理過程以及特征工程提取相關(guān)數(shù)據(jù)的特征。處理之后的數(shù)據(jù)需要進(jìn)行分割,通常將其分為三個集合:訓(xùn)練集、驗證集、測試集?;A(chǔ)知識
功能特點功能特點功能特點基本步驟數(shù)據(jù)準(zhǔn)備去重復(fù)標(biāo)準(zhǔn)化消除錯誤和偏差示例-數(shù)據(jù)預(yù)處理步驟一:提取.asm文件opcode序列。步驟二:統(tǒng)計opcode序列n-gram特征。示例-數(shù)據(jù)集分類步驟一:讀取數(shù)據(jù)標(biāo)簽。步驟二:隨機抽取分類數(shù)據(jù)示例-數(shù)據(jù)集分類步驟三:生成訓(xùn)練集標(biāo)注。5.1.4模型構(gòu)建模型構(gòu)建是指根據(jù)數(shù)據(jù)與特征去選擇相應(yīng)的模型與算法,模型構(gòu)建邏輯為定位機器學(xué)習(xí)型(有監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)、強化學(xué)習(xí))→定性機器學(xué)習(xí)(分類、聚類、降維)→嘗試應(yīng)用所有可能的對應(yīng)算法。常用的機器學(xué)習(xí)算法包括:線性回歸、邏輯回歸、決策樹、K均值、主成分分析(PCA)、支持向量機(SVM)、樸素貝葉斯、隨機森林和神經(jīng)網(wǎng)絡(luò)等等。基礎(chǔ)知識
功能特點功能特點功能特點定位機器學(xué)習(xí)學(xué)習(xí)分類學(xué)習(xí)算法有監(jiān)督學(xué)習(xí)無監(jiān)督學(xué)習(xí)強化學(xué)習(xí)線性回歸邏輯回歸決策樹分類聚類降維5.1.5模型驗證功能特點功能特點功能特點機器學(xué)習(xí)模型選擇并構(gòu)建好之后,就可進(jìn)行模型訓(xùn)練。使用訓(xùn)練數(shù)據(jù)迭代訓(xùn)練并改善模型預(yù)測結(jié)果,并借助模型預(yù)測效果評估迭代調(diào)整模型參數(shù),直至達(dá)到預(yù)期目的?;A(chǔ)知識
隨機森林算法實現(xiàn)分類。5.2基于深度學(xué)習(xí)的病毒檢測優(yōu)缺點
以自動從原始數(shù)據(jù)中學(xué)習(xí)和提取高級特征,無需手動設(shè)計特征;但如果沒有足夠的數(shù)據(jù)進(jìn)行訓(xùn)練,深度學(xué)習(xí)模型可能容易過擬合,從而導(dǎo)致在未見數(shù)據(jù)上的性能下降。
深度學(xué)習(xí)(DeepLearning)是機器學(xué)習(xí)中一種基于對數(shù)據(jù)進(jìn)行表征學(xué)習(xí)的方法。與普通機器學(xué)習(xí)需要通過特征工程提取訓(xùn)練模型所需的輸入特征,深度學(xué)習(xí)可在相對原始的數(shù)據(jù)上進(jìn)行操作,而無需人工干預(yù)即可提取特征。基礎(chǔ)知識5.2.1數(shù)據(jù)預(yù)處理在使用深度學(xué)習(xí)處理模式識別問題時,都需要對數(shù)據(jù)進(jìn)行預(yù)處理:通過數(shù)據(jù)格式轉(zhuǎn)換,將病毒檢測問題轉(zhuǎn)換為對文本分類問題或圖像識別問題。由于在網(wǎng)絡(luò)安全領(lǐng)域采用深度學(xué)習(xí)方法所用的模型與算法均源于圖形圖像、音頻、自然語言處理等領(lǐng)域,因此,在進(jìn)行數(shù)據(jù)預(yù)處理時,通常會按照上述領(lǐng)域?qū)?shù)據(jù)進(jìn)行向量化處理。具體到計算機病毒檢測,可考慮采用自然語言處理領(lǐng)域的詞向量處理方法:Word2vec、CBOW、skip-gram、code2vec、Node2vec、Instruction2vec、Structure2Vec、Asm2vec等。基礎(chǔ)知識
功能特點功能特點功能特點數(shù)據(jù)范化詞向量表示分詞基本步驟示例-Word2vec演示用嵌入式詞向量模型建立網(wǎng)頁病毒的語義模型,讓機器能理解諸如<HTML>、<body>、<script>等HTML語言標(biāo)簽。將出現(xiàn)次數(shù)最多的3500個詞構(gòu)成詞匯表,其他的詞則標(biāo)記為“UN”,采用Word2vec類建模且詞空間維度為128維。步驟一:統(tǒng)計詞頻。示例-Word2vec演示步驟二:統(tǒng)計詞頻。步驟三:word2Vec模型訓(xùn)練場嵌入。5.2.3模型訓(xùn)練在數(shù)據(jù)預(yù)處理完成后,就可選擇相關(guān)模型進(jìn)行訓(xùn)練與測試。目前深度學(xué)習(xí)可使用的模型較多,本節(jié)將探討常見的三種模型:多層感知機(MultilayerPerceptron,MLP)、循環(huán)神經(jīng)網(wǎng)絡(luò)(RecursiveNeuralNetwork,RNN)、卷積神經(jīng)網(wǎng)絡(luò)(ConvolutionalNeuralNetworks,CNN基礎(chǔ)知識
功能特點功能特點功能特點模型多層感知機循環(huán)神經(jīng)網(wǎng)絡(luò)卷積神經(jīng)網(wǎng)絡(luò)示例-多層感知機多層感知機(MLP)是一種基本的人工神經(jīng)網(wǎng)絡(luò)模型,也是一種前饋神經(jīng)網(wǎng)絡(luò)。它是由多個神經(jīng)元層組成的,每個神經(jīng)元層與前一層和后一層之間全連接。步驟一:定義輸入層及各個神經(jīng)網(wǎng)絡(luò)層參數(shù)。示例-多層感知機步驟二:構(gòu)建模型。步驟三:進(jìn)行模型訓(xùn)練。示例-循環(huán)神經(jīng)網(wǎng)絡(luò)模型循環(huán)神經(jīng)網(wǎng)絡(luò)(簡稱RNN)是一類特殊的人工神經(jīng)網(wǎng)絡(luò),專門用于處理序列數(shù)據(jù)。與傳統(tǒng)的前饋神經(jīng)網(wǎng)絡(luò)不同,RNN具有循環(huán)連接,可以在處理當(dāng)前輸入的同時記住之前的信息。這種機制使得RNN在處理具有時序關(guān)系的數(shù)據(jù),如語音、文本、時間序列等方面表現(xiàn)出色步驟一:定義輸入層及各個神經(jīng)網(wǎng)絡(luò)層參數(shù)。示例-循環(huán)神經(jīng)網(wǎng)絡(luò)模型步驟二:構(gòu)建模型。步驟三:進(jìn)行模型訓(xùn)練。示例-卷積神經(jīng)網(wǎng)絡(luò)卷積神經(jīng)網(wǎng)絡(luò)(CNN)是一類特殊的深度學(xué)習(xí)模型,專門用于處理具有網(wǎng)格結(jié)構(gòu)的數(shù)據(jù),如圖像和視頻。CNN在計算機視覺領(lǐng)域取得了顯著的突破,廣泛用于圖像分類、目標(biāo)檢測、圖像生成等任務(wù)。對于卷積神經(jīng)網(wǎng)絡(luò)模型,采用包含四個卷積層、兩個最大池化層、一個全連接層的模型,使用Keras實現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)的演示代碼如下:步驟一:定義輸入層及卷積層參數(shù)。示例-卷積神經(jīng)網(wǎng)絡(luò)步驟二:構(gòu)建模型。步驟三:進(jìn)行模型訓(xùn)練。示例-卷積神經(jīng)網(wǎng)絡(luò)步驟三:進(jìn)行模型訓(xùn)練。5.2檢測評估在深度學(xué)習(xí)模型訓(xùn)練完成之后,可進(jìn)一步測試評估其效果,評估標(biāo)準(zhǔn)可采用Accuracy,Precision等指標(biāo)。例如,采用多層感知機深度學(xué)習(xí)模型的檢測演示代碼片段如下:基礎(chǔ)知識
功能特點功能特點功能特點步驟一:加載模型。5.2檢測評估功能特點功能特點功能特點步驟二:按照batchSize劃分?jǐn)?shù)據(jù)集。步驟三:為數(shù)據(jù)貼標(biāo)簽(0,1)。5.2檢測評估功能特點功能特點功能特點步驟四:輸出結(jié)果。5.3基于強化學(xué)習(xí)的病毒檢測優(yōu)缺點
基于強化學(xué)習(xí)的病毒檢測能夠通過學(xué)習(xí)和優(yōu)化來適應(yīng)不斷變化的惡意軟件形態(tài),提升檢測的適應(yīng)性和魯棒性;但是該方法在訓(xùn)練過程中可能需要大量樣本和較長時間,且模型的可解釋性較差。
所謂強化學(xué)習(xí)(ReinforcementLearning,RL),又稱增強學(xué)習(xí),是機器學(xué)習(xí)的范式和方法論之一,用于描述和解決智能體(Agent)在與環(huán)境的交互過程中通過學(xué)習(xí)策略以達(dá)成回報最大化或?qū)崿F(xiàn)特定目標(biāo)的問題。基礎(chǔ)知識示例-DQNAgent
強化學(xué)習(xí)DQNAgent
是強化學(xué)習(xí)庫Keras-RL中的一個類,用于實現(xiàn)DeepQ-Network(深度Q網(wǎng)絡(luò))算法的智能體。這個類負(fù)責(zé)定義和管理智能體的行為,學(xué)習(xí)過程以及與環(huán)境的交互。用于解決離散動作空間的馬爾可夫決策問題,其中智能體需要學(xué)習(xí)在不同狀態(tài)下采取最優(yōu)動作來最大化累積獎勵。步驟一:定義深度學(xué)習(xí)模型。示例-DQNAgent
強化學(xué)習(xí)步驟二:初始化gym環(huán)境。步驟三:初始化策略,記憶體、DQNAgent對象。示例-DQNAgent
強化學(xué)習(xí)步驟四:模型訓(xùn)練及評估。6CHAPTERGPT安全防御GPT安全防御代碼漏洞檢測逆向分析漏洞發(fā)現(xiàn)事件分析與響應(yīng)6.基于ChatGpt的安全防御在網(wǎng)絡(luò)安全攻防領(lǐng)域,ChatGPT猶如一柄技術(shù)雙刃劍,既能輔助攻擊者生成用于社工攻擊的網(wǎng)絡(luò)釣魚郵件和計算機病毒(惡意代碼)等,也可助力防御者進(jìn)行計算機病毒(惡意代碼)檢測、發(fā)現(xiàn)漏洞以及事件分析與響應(yīng)。本節(jié)將討論基于ChatGPT進(jìn)行計算機病毒(惡意代碼)檢測、逆向分析、漏洞發(fā)現(xiàn)、事件分析與響應(yīng)等網(wǎng)絡(luò)防御技術(shù)方法。基礎(chǔ)知識
功能特點功能特點功能特點基本步驟惡意代碼檢測漏洞發(fā)現(xiàn)逆向分析事件分析與響應(yīng)6.1代碼漏洞檢測功能特點功能特點功能特點在4.4節(jié)中,我們已討論了利用ChatGPT進(jìn)行計算機病毒生成的技術(shù)方法。在本節(jié)中我們將通過ChatGPT生成實際可用的代碼漏洞利用工具,幫助防御者完成部分代碼編寫工作,且代碼注釋、變量命名等都非常完善。。ChatGPT用于代碼漏洞檢測。6.1代碼漏洞檢測功能特點功能特點功能特點ChatGPT用于漏洞(Log4j)利用檢測。6.2逆向分析功能特點功能特點功能特點由于ChatGPT相當(dāng)于一款智能搜索語言助手,可利用ChatGPT在現(xiàn)有海量代碼中學(xué)到的逆向分析知識來分析機器語言ShellCode
、分析代碼是否存在漏洞,以自動識別未知威脅。利用ChatGPT分析代碼。6.2逆向分析功能特點功能特點功能特點利用ChatGPT解碼MD5值。6.3漏洞發(fā)現(xiàn)功能特點功能特點功能特點由于ChatGPT可在現(xiàn)有海量漏洞代碼中學(xué)到的漏洞分析知識,利用ChatGPT可以生成一份根據(jù)輸入指令尋找并報告相關(guān)漏洞的信息。ChatGPT發(fā)現(xiàn)代碼漏洞。6.3漏洞發(fā)現(xiàn)功能特點功能特點功能特點ChatGPT發(fā)現(xiàn)代碼漏洞。6.3漏洞發(fā)現(xiàn)功能特點功能特點功能特點作為一款智能海量搜索引擎,ChatGPT可從海量安全事件與風(fēng)險數(shù)據(jù)中獲得有益見解和全面分析,快速生成對安全事件與風(fēng)險數(shù)據(jù)的分析結(jié)果,并能根據(jù)網(wǎng)絡(luò)攻擊的具體情況,自動生成對于該安全事件的防御決策解決方案ChatGPT進(jìn)行事件分析與響應(yīng)。6.3漏洞發(fā)現(xiàn)功能特點功能特點功能特點ChatGPT進(jìn)行事件分析與響應(yīng)。THANKYOU謝謝觀賞惡
意
代
碼
原
理
與
防
范
MalwarePrinciples&Prevention計算機病毒技術(shù)及其防御
ComputerVirusTechnology&ItsDefense第九章ChapterNineApoptosisofComputerViruses計算機病毒凋亡前言PREFACE在計算機生態(tài)系統(tǒng)中,計算機病毒與安全軟件存在著天然的獵物與捕食者關(guān)系。計算機病毒在計算機生態(tài)系統(tǒng)中傳播、潛伏、發(fā)作時,都會處處受制于安全軟件。當(dāng)計算機病毒被檢測到之后,就會面臨攔截、獵殺、凋亡的結(jié)局。在走完其生命周期后,計算機病毒又會開始新一輪進(jìn)化發(fā)展。本章將從病毒獵殺、病毒免疫、環(huán)境升級等方面探討計算機病毒凋亡問題。沉舟側(cè)畔千帆過,病樹前頭萬木春?!?劉禹錫1病毒獵殺目錄2病毒免疫3環(huán)境升級1CHAPTER病毒獵殺病毒獵殺流程病毒獵殺方法當(dāng)檢測發(fā)現(xiàn)計算機病毒時,首要任務(wù)是將其獵殺以絕后患。計算機病毒在成功感染目標(biāo)系統(tǒng)后,通常會有兩個據(jù)點以持久駐留并于系統(tǒng)重啟后繼續(xù)運行:病毒文件和病毒加載項。其中,病毒文件是病毒載體,只有運行病毒文件后才能產(chǎn)生后續(xù)影響;病毒加載項是病毒啟動機制,一般借助注冊表、進(jìn)程等啟動機制完成病毒加載運行。此外,多數(shù)計算機病毒會設(shè)計為兩個病毒體以相互支撐病毒運行:病毒內(nèi)核驅(qū)動和病毒進(jìn)程。其中,病毒內(nèi)核驅(qū)動通常提供最基本的病毒功能,被加載至系統(tǒng)內(nèi)核且具有系統(tǒng)特權(quán);病毒進(jìn)程是病毒啟動后在應(yīng)用層的運行實例,配合內(nèi)核驅(qū)動以完成病毒的相關(guān)操作。病毒獵殺計算機病毒運行于Windows系統(tǒng)時,通常有兩種工作模式:安全模式和正常模式。當(dāng)系統(tǒng)運行于安全模型時,只加載系統(tǒng)運行所必需的組件,導(dǎo)致計算機病毒內(nèi)核驅(qū)動可被加載而其對應(yīng)的應(yīng)用進(jìn)程則無法運行;當(dāng)系統(tǒng)運行于正常模式時,系統(tǒng)將加載所有的系統(tǒng)組件和啟動項,計算機病毒能正常運行,且病毒內(nèi)核驅(qū)動和病毒進(jìn)程會相互監(jiān)視,一旦對方被刪除,立即重新創(chuàng)建一個。因此,在進(jìn)行計算機病毒獵殺時,需要考慮系統(tǒng)的運行模式:如系統(tǒng)運行于安全模式,則只能進(jìn)行病毒內(nèi)核驅(qū)動文件獵殺(刪除);如工作于正常模式,則可進(jìn)行病毒內(nèi)核驅(qū)動、病毒進(jìn)程以及加載項的獵殺。1.病毒獵殺流程Virus
killing
process123查看系統(tǒng)日志或反病毒軟件日志了解計算機病毒運行機制借助工具檢查進(jìn)程、服務(wù)、啟動項、網(wǎng)絡(luò)連接、鉤子等方面45追蹤隱匿痕跡各個擊破斬草除根為什么刪除了計算機病毒,重啟還能復(fù)活?
眾所周知,多數(shù)計算機病毒在運行后會分成兩部分:內(nèi)核驅(qū)動和病毒進(jìn)程,且兩者會相互監(jiān)視相互配合。如病毒進(jìn)程被刪除,其內(nèi)核驅(qū)動會重新創(chuàng)建一個病毒進(jìn)程;反之亦然,如內(nèi)核驅(qū)動被刪除,病毒進(jìn)程也會重新復(fù)制一個SYS驅(qū)動文件。這也是有些計算機病毒貌似已被刪除,但重啟后又能復(fù)活的根本原因。因此,如欲獵殺此類病毒,則需各個擊破,將病毒的內(nèi)核驅(qū)動與進(jìn)程全部刪除。1)在安全模式下獵殺病毒內(nèi)核驅(qū)動為什么刪除了計算機病毒,重啟還能復(fù)活?在安全模式下,由于Windows系統(tǒng)只加載必需的組件,導(dǎo)致多數(shù)計算機病毒無法正常運行。此時,先將病毒內(nèi)核驅(qū)動文件刪除,由于病毒進(jìn)程沒有運行,無法重新復(fù)制病毒內(nèi)核驅(qū)動文件;然后再刪除病毒加載項和相關(guān)病毒文件,并重啟系統(tǒng)。在重啟系統(tǒng)并進(jìn)入安全模式后,由于病毒內(nèi)核驅(qū)動和進(jìn)程都無法加載,病毒自然就不能啟動。此時,進(jìn)入病毒獵殺掃尾階段,將所有與病毒相關(guān)聯(lián)的文件在確認(rèn)后全部刪除。至此,安全模式下計算機病毒的獵殺基本完成。1)在安全模式下獵殺病毒內(nèi)核驅(qū)動2)在正常模式下獵殺病毒體相對于安全模式下獵殺病毒的簡單易行,在正常模式下獵殺病毒則難度增大!由于病毒內(nèi)核驅(qū)動和病毒進(jìn)程會同時運行且相互監(jiān)控,通常會導(dǎo)致“按下葫蘆浮起瓢”,即刪除病毒內(nèi)核驅(qū)動后,病毒進(jìn)程會發(fā)現(xiàn)并重新加載之,反之亦然。因此,對于計算機病毒獵殺,建議在安全模式下完成,以取得徹底獵殺效果。2)在正常模式下獵殺病毒體相對于安全模式下獵殺病毒的簡單易行,在正常模式下獵殺病毒則難度增大!如無法進(jìn)入安全模式,在正常模式下如欲獵殺病毒,可考慮按如下步驟進(jìn)行獵殺:停止病毒服務(wù),終止病毒進(jìn)程如無法終止病毒所有進(jìn)程,則先刪除注冊表等啟動項,重啟后再刪除病毒文件如仍無法刪除病毒,則先刪除所有病毒文件,重啟后再刪除啟動項如上述方法仍無法奏效,則禁止進(jìn)程和線程創(chuàng)建,再進(jìn)行病毒文件和啟動項刪除。2.病毒獵殺方法Virus
killing
method刪除DELETE限制LIMIT隔離ISOLATE3)如隔離也無法奏效,則考慮進(jìn)行權(quán)限限制與封鎖。1)刪除是對計算機病毒進(jìn)行“肉體消滅”,將其從磁盤系統(tǒng)中徹底根除。但有時無法簡單地一刪了之,有可能會牽一發(fā)而動全身。2)可考慮將與病毒相關(guān)的文件進(jìn)行隔離,即將計算機病毒移至一個事先設(shè)置好的文件夾,并限制外部訪問之。對于計算機病毒刪除,可通過手工或編程實現(xiàn)。如欲手工刪除,先需找到相關(guān)病毒文件,再逐一刪除即可。或者通過系統(tǒng)提供的Del命令進(jìn)行手工刪除。如欲編程實現(xiàn)刪除,則可考慮調(diào)用API函數(shù)DeleteFileA()和RemoveDirectoryA()實現(xiàn)文件和目錄刪除、RegDeleteKeyA()刪除注冊表指定子項、RegDeleteValueA()刪除指定項下方的鍵值、TerminateProcess()結(jié)束一個進(jìn)程。
例如,下列代碼可實現(xiàn)E盤根目錄下的directory1文件夾及其下的所有文件與文件夾刪除。1)刪除病毒system("del/f/s/qE:\\directory1");下面的代碼演示了編程實現(xiàn)指定文件夾及其下文件與文件夾的刪除。1)刪除病毒system("del/f/s/qE:\\directory1");對于計算機病毒刪除,可通過手工或編程實現(xiàn)。如欲手工刪除,先需找到相關(guān)病毒文件,再逐一刪除即可?;蛘咄ㄟ^系統(tǒng)提供的Del命令進(jìn)行手工刪除。如欲編程實現(xiàn)刪除,則可考慮調(diào)用API函數(shù)DeleteFileA()和RemoveDirectoryA()實現(xiàn)文件和目錄刪除、RegDeleteKeyA()刪除注冊表指定子項、RegDeleteValueA()刪除指定項下方的鍵值、TerminateProcess()結(jié)束一個進(jìn)程。
例如,下列代碼可實現(xiàn)E盤根目錄下的directory1文件夾及其下的所有文件與文件夾刪除。1)刪除病毒system("del/f/s/qE:\\directory1");對于計算機病毒刪除,可通過手工或編程實現(xiàn)。如欲手工刪除,先需找到相關(guān)病毒文件,再逐一刪除即可。或者通過系統(tǒng)提供的Del命令進(jìn)行手工刪除。如欲編程實現(xiàn)刪除,則可考慮調(diào)用API函數(shù)DeleteFileA()和RemoveDirectoryA()實現(xiàn)文件和目錄刪除、RegDeleteKeyA()刪除注冊表指定子項、RegDeleteValueA()刪除指定項下方的鍵值、TerminateProcess()結(jié)束一個進(jìn)程。
例如,下列代碼可實現(xiàn)E盤根目錄下的directory1文件夾及其下的所有文件與文件夾刪除。1)刪除病毒2)隔離病毒下面的代碼演示了編程實現(xiàn)將隔離文件夾設(shè)置為隱藏屬性,并將相關(guān)文件移動至該文件夾中。在計算機病毒無法進(jìn)行一刪了之時,可考慮將病毒相關(guān)文件進(jìn)行隔離。所謂隔離,是指將相關(guān)文件移動至一個專用文件夾,且禁止該文件夾被其他無關(guān)程序或人員訪問。與刪除類似,隔離也可采取手工與編程兩種實現(xiàn)方式。如通過策略編輯器實現(xiàn)手工隔離,可按如下步驟完成:運行g(shù)pedit.msc打開本地組策略編輯器→依次打開Windows設(shè)置/安全設(shè)置/軟件限制策略→在其他規(guī)則中右鍵選擇新建路徑規(guī)則→選擇要隔離的文件夾,且將安全級別設(shè)置為不允許。對于有些通過軟件漏洞并借助網(wǎng)絡(luò)傳播的計算機病毒,必要的限制措施能有效阻止其向外蔓延傳播,從而避免造成更大更多的破壞。依據(jù)輕重緩急原則,可按如下流程選擇適當(dāng)限制措施:斷網(wǎng)→關(guān)閉相關(guān)服務(wù)(Web、郵件、BBS等)→關(guān)閉相關(guān)網(wǎng)絡(luò)端口。當(dāng)遭遇蠕蟲病毒感染時,由于其借助相關(guān)軟件漏洞并通過網(wǎng)絡(luò)外向傳播,為避免外向擴散,應(yīng)先關(guān)閉內(nèi)網(wǎng)與外網(wǎng)連接,必要時進(jìn)行物理斷網(wǎng)。如發(fā)現(xiàn)病毒通過發(fā)送郵件向外傳播,則可關(guān)閉郵件服務(wù)器以阻止其進(jìn)一步外發(fā)郵件傳播。對于部分蠕蟲病毒可能會利用漏洞并借助相關(guān)端口外傳,只要關(guān)閉相關(guān)網(wǎng)絡(luò)端口即可阻止其向外擴散。3)限制病毒病毒免疫免疫接種疫苗注射2CHAPTER傳統(tǒng)免疫學(xué)疫苗接種是將疫苗制劑接種到人體或動物體內(nèi),并借助免疫系統(tǒng)對外來抗原的識別以產(chǎn)生對抗該病原或相似病原的抗體,進(jìn)而使疫苗接種者具有抵抗某一特定病原體或相似病原體的免疫力。Vaccinationintraditionalimmunology計算機系統(tǒng)同理,對于計算機系統(tǒng),可以采取類似方式進(jìn)行疫苗接種以使系統(tǒng)具備防御某類計算機病毒的免疫力。計算機病毒免疫,是借鑒生物免疫系統(tǒng)機理以防御計算機病毒入侵保障系統(tǒng)安全。。Vaccinationincomputer病毒免疫virus
immunity由于計算機病毒種類繁多,如全部采用疫苗接種方式進(jìn)行免疫防御,則會產(chǎn)生與基于特征碼病毒檢測類似效果,一方面會使病毒疫苗庫不斷擴增,另一方面將使接種疫苗失效。因此,病毒免疫法只用于免疫防御突發(fā)的、有重大影響力的特定類型計算機病毒。Viralimmunizationisonlyusedforspecificviruses病毒免疫virus
immunity1.感染標(biāo)志感染邏輯:為避免重復(fù)感染目標(biāo)系統(tǒng),部分計算機病毒在感染目標(biāo)后會存儲一個獨特的感染標(biāo)志。病毒準(zhǔn)備感染目標(biāo)時,首先會判斷目標(biāo)系統(tǒng)上是否有此標(biāo)志,如有則放棄感染,否則就感染之。應(yīng)對措施:在相應(yīng)位置事先放置一個感染標(biāo)志(相當(dāng)于免疫接種),使病毒以為該目標(biāo)已被感染而放棄重復(fù)感染之,從而達(dá)到規(guī)避計算機病毒感染目的。Infection
markerWannaCryNotPetyaDarkside案例1:2017年橫掃全球的WannaCry勒索病毒爆發(fā)后,一位英國研究者發(fā)現(xiàn)該病毒在感染前會判斷網(wǎng)址是否可訪問,如可訪問,則不再繼續(xù)傳播感染。該研究者馬上注冊了這個網(wǎng)址,非常有效地阻止了該病毒的更大范圍傳播感染。案例2:對于NotPetya勒索病毒的免疫,則只需在C:\Windows文件夾下建立名為perfc的“只讀”文件。因為NotPetya在感染后會先搜索該文件,如文件存在,則退出加密勒索。案例3:2021年5月,美國輸油管道公司ColonialPipeline被勒索病毒DarkSide
攻擊導(dǎo)致運營中斷,美國多州和華盛頓特區(qū)進(jìn)入緊急狀態(tài)。分析發(fā)現(xiàn)如在系統(tǒng)中安裝俄語虛擬鍵盤,或?qū)⑻囟ǖ淖员眄椄臑椤癛U”等,則能使該勒索病毒誤判為俄語實體而免遭攻擊。此外,有些勒索病毒會忽略具有FILE_READ_ONLY_VOLUME屬性的盤符,如將盤符設(shè)置相應(yīng)屬性,則能免疫此類病毒。宏病毒利用感染標(biāo)志進(jìn)行免疫接種代碼實現(xiàn)宏病毒利用感染標(biāo)志進(jìn)行免疫接種代碼實現(xiàn)2.注射疫苗感染邏輯:有些病毒在感染目標(biāo)系統(tǒng)之前,會在特定位置搜索某些特殊文件或文件夾,如已存在此類文件或文件夾,則退出感染。應(yīng)對措施:如能將某些特殊的文件或文件夾事先創(chuàng)建于特定位置(相當(dāng)于注射疫苗),則可免疫此類病毒。vaccinate案例:U盤病毒U盤病毒利用Windows系統(tǒng)的自動運行功能(Autorun),并通過磁盤根目錄下的Autorun.inf文件實現(xiàn)其磁盤(包括移動介質(zhì))感染操作。如能事先將Autorun.inf文件創(chuàng)建于干凈的所有磁盤根目錄下,并將該文件設(shè)置為“隱藏”、“只讀”屬性,則相當(dāng)于對所有盤符注射疫苗,即可實現(xiàn)對U盤病毒免疫。通過疫苗注射實現(xiàn)U盤病毒免疫只需將代碼保存為.bat文件,并雙擊運行之,就可完成U盤病毒疫苗注射。代碼實現(xiàn)通過疫苗注射實現(xiàn)U盤病毒免疫只需將代碼保存為.bat文件,并雙擊運行之,就可完成U盤病毒疫苗注射。代碼實現(xiàn)通過疫苗注射實現(xiàn)U盤病毒免疫只需將代碼保存為.bat文件,并雙擊運行之,就可完成U盤病毒疫苗注射。代碼實現(xiàn)環(huán)境升級操作系統(tǒng)編程語言安全軟件3CHAPTER環(huán)境升級
“物競天擇,適者生存?!比魏斡嬎銠C病毒都有其生存繁衍的外部環(huán)境。只有適應(yīng)這個外部環(huán)境,計算機病毒才有可能繼續(xù)生存下去,反之則會被環(huán)境淘汰。因此,對計算機病毒依賴的外部環(huán)境進(jìn)行必要的升級與更新,也能造成計算機病毒因無法適應(yīng)新的環(huán)境而淘汰凋亡。本節(jié)將從操作系統(tǒng)、編程語言、安全軟件等方面探討環(huán)境升級因素而導(dǎo)致計算機病毒凋亡。1.操作系統(tǒng)OperatingSystemDOSWindowsWindows升級WindowsLinux操作系統(tǒng)是計算機生態(tài)系統(tǒng)中最重要的平臺環(huán)境,是包括計算機病毒在內(nèi)的應(yīng)用程序賴于生息繁衍的重要環(huán)境。作為生存其中的計算機病毒,由于其依賴的操作系統(tǒng)相關(guān)功能的不同,隨著操作系統(tǒng)的升級與更新,就如同自然生態(tài)環(huán)境的改變,會導(dǎo)致在其中生存繁衍的物種(計算機病毒)滅絕。Linux升級DOS系統(tǒng)DosSystem作為個人計算機的首個操作系統(tǒng),DOS系統(tǒng)的誕生在促進(jìn)計算機生態(tài)系統(tǒng)快速發(fā)展的同時,也為計算機病毒的發(fā)展提供了支撐環(huán)境。DOS病毒借助于DOS系統(tǒng)的相關(guān)功能調(diào)用,不管是在類型還是數(shù)量上,都實現(xiàn)了全面快速地發(fā)展。盡管DOS系統(tǒng)也在不斷升級,增加了系統(tǒng)的復(fù)雜性和更多支撐功能,但由于其內(nèi)核的基本功能保持穩(wěn)定,這使得DOS病毒能適應(yīng)系統(tǒng)升級得以持續(xù)發(fā)展。1)DOSWindowsWindows
95
操作系統(tǒng)Windows
95System然而,當(dāng)Microsoft于1995年推出Windows95操作系統(tǒng)時,作為計算機生態(tài)系統(tǒng)的基礎(chǔ)支撐平臺已開始由原來的DOS系統(tǒng)轉(zhuǎn)換為Windows系統(tǒng),這對生存其中的應(yīng)用系統(tǒng)(物種)而言,就意味著外部環(huán)境的極大改變。由于Windows系統(tǒng)已不提供對DOS系統(tǒng)的支持,此時,與所有其他的應(yīng)用程序一樣,計算機病毒同樣面臨著生存危機?!斑m者生存”的自然選擇法則開始進(jìn)行殘酷的物種淘汰,不能適應(yīng)Windows系統(tǒng)的DOS病毒很快就被外部環(huán)境淘汰。例如,原來誕生于1989年的DOS系統(tǒng)勒索病毒(AIDS病毒)因無法生存于Windows系統(tǒng)而慘遭淘汰,直到2017年才出現(xiàn)Windows系統(tǒng)勒索病毒(Wannacry病毒)。1)DOSWindows123模擬MicrosoftWindows操作系統(tǒng)當(dāng)初僅僅是DOS模擬環(huán)境,由于其易用性和不斷的更新升級,已成為了當(dāng)前應(yīng)用最廣泛的操作系統(tǒng)。即使同為Microsoft的Windows系統(tǒng),隨著版本的更新?lián)Q代與內(nèi)核升級,同樣也會造成計算機生態(tài)系統(tǒng)支撐環(huán)境的改變。
隨著計算機硬件和軟件的不斷升級,Windows系統(tǒng)也在不斷升級,從架構(gòu)的16位、32位再到64位,系統(tǒng)版本從最初的Windows1.0到大家熟知的Windows95、Windows98、Windows2000、WindowsXP、WindowsVista、Windows7、Windows8、Windows8.1、Windows10、Windows11和WindowsServer服務(wù)器企業(yè)級操作系統(tǒng),其內(nèi)核版本號從WindowsNT3.1到WindowsNT4.0、WindowsNT5.0、WindowsNT6.0、WindowsNT6.4、WindowsNT10。Windows內(nèi)核版本的更新與升級,對于舊版系統(tǒng)的應(yīng)用程序來說,是一個重大的環(huán)境改變,可能會對應(yīng)用程序的正常運行造成影響。例如,Microsof將WindowsNT6.4升級為WindowsNT10時,曾發(fā)布公告說:如果開發(fā)人員代碼依賴于NT內(nèi)核,則需將Web應(yīng)用或應(yīng)用程序更新到最新內(nèi)核版本,以兼容最新Windows10,否則可能導(dǎo)致某些網(wǎng)站和應(yīng)用程序出現(xiàn)兼容性問題。同理,如果計算機病毒依賴于舊版本的Windows內(nèi)核,在Windows系統(tǒng)更新與升級時,將會遭遇同樣的兼容性問題而慘遭淘汰。升級內(nèi)核更新2)Windows升級宏內(nèi)核包含多個模塊,整個內(nèi)核更像一個完整的程序微內(nèi)核有一個最小版本的內(nèi)核,一些模塊和服務(wù)則由用戶態(tài)管理混合內(nèi)核混合內(nèi)核,是宏內(nèi)核和微內(nèi)核的結(jié)合體,內(nèi)核中抽象出了微內(nèi)核的概念,即內(nèi)核中會有一個小型的內(nèi)核,其他模塊就在這個基礎(chǔ)上搭建,整個內(nèi)核是個完整的程序3)WindowsLinux對于操作系統(tǒng)內(nèi)核而言,目前的內(nèi)核架構(gòu)一般有三種類型3)WindowsLinuxWindowLinux內(nèi)核架構(gòu)微內(nèi)核或混合內(nèi)核宏內(nèi)核內(nèi)核設(shè)計?內(nèi)核性能?可執(zhí)行文件PE文件ELF文件
在內(nèi)核架構(gòu)方面,Linux采用了宏內(nèi)核,Windows則采用了微內(nèi)核或混合內(nèi)核,因此Windows的內(nèi)核設(shè)計要優(yōu)于Linux。但要考慮兼容各種不同的外圍設(shè)備,Windows系統(tǒng)在優(yōu)化和升級方面較為保守,以至于其內(nèi)核性能似乎落后于Linux。如果將操作系統(tǒng)從Windows系統(tǒng)更換為Linux系統(tǒng),由于這兩個操作系統(tǒng)的可執(zhí)行文件格式不相同,Linux可執(zhí)行文件格式為ELF,Windows可執(zhí)行文件格式為PE。因此,原來依賴于Windows系統(tǒng)的計算機病毒,在其外部環(huán)境切換為Linux系統(tǒng)后,將因文件格式問題而導(dǎo)致其無法運行,從而導(dǎo)致其因外部環(huán)境的變換而凋亡。
1991年芬蘭赫爾辛基大學(xué)的學(xué)生LinusTorvalds在其Intel386個人計算機上開發(fā)了屬于自己的操作系統(tǒng),且利用Internet發(fā)布了源代碼,并將其命名為Linux。Linux系統(tǒng)的優(yōu)點是:與UNIX兼容,自由軟件,源碼公開,性能高,安全性強,便于定制和再開發(fā),互操作性高,支持全面的多任務(wù),目前主要應(yīng)用于服務(wù)器系統(tǒng)、嵌入式系統(tǒng)和云計算系統(tǒng)等領(lǐng)域。4)Linux升級內(nèi)核版本Linux系統(tǒng)主要有兩種版本:內(nèi)核(Kernel)版本,發(fā)行(Distribution)版本。內(nèi)核(Kernel)版本Linux內(nèi)核的官方版本由LinusTorvalds本人維護(hù),經(jīng)歷了從1994年Linux1.0到1996年Linux2.0、2012年Linux3.2、2014年Linux4.0、2019年Linux5.0、2023年Linux6.2。發(fā)行(Distribution)版本發(fā)行(Distribution)版本則由不同的廠商維護(hù),常見的發(fā)行版本有:RedHat、Debian、CentOS、Ubuntu、SuSELinux、RedFlag等等。兼容問題因此,在兼容性方面存在的問題主要體現(xiàn)為:盡管GNU/Linux與POSIX標(biāo)準(zhǔn)基本兼容,但在某些情況下,GNUutility的默認(rèn)行為與POSIX標(biāo)準(zhǔn)是不兼容的。不同的Linux系統(tǒng)采用了不同版本的POSIX標(biāo)準(zhǔn),而POSIX不同版本標(biāo)準(zhǔn)之間也存在不兼容之處。上述有關(guān)的Linux系統(tǒng)不兼容性,對于各類應(yīng)用程序在不同Linux系統(tǒng)之間的可移植性會造成影響,導(dǎo)致計算機病毒在Linux系統(tǒng)升級時也會因系統(tǒng)兼容性問題而凋亡淘汰。kernelversion&compatibilityissue4)Linux升級PythonJAVAC語言計算機病毒作為一種特殊的程序,是由計算機編程語言編寫的,其能否正常運行也受制于相應(yīng)的編程語言版本。如果在設(shè)計編寫計算機病毒時設(shè)定的編程語言環(huán)境未能滿足,則計算機病毒運行時肯定會出現(xiàn)各類問題而導(dǎo)致其無法發(fā)揮作用。因此,編程語言環(huán)境也是計算機病毒凋亡淘汰的因素之一。本節(jié)將介紹Python語言、C語言、Java語言等編程語言的版本變換而導(dǎo)致的計算機病毒凋亡。2.編程語言programming
language除可解釋執(zhí)行之外,Python還支持將源代碼偽編譯為字節(jié)碼來優(yōu)化程序,以提高加載速度;Python也支持使用py2exe、pyinstaller、cx_Freeze或其他類似工具將Python程序及其所有依賴庫打包成為各種平臺上的可執(zhí)行文件;Python支持命令式編程和函數(shù)式編程兩種方式,完全支持面向?qū)ο蟪绦蛟O(shè)計,語法簡潔清晰,功能強大且易學(xué)易用,已擁有大量的幾乎支持所有領(lǐng)域應(yīng)用開發(fā)的成熟擴展庫。①Python語言Python是一種跨平臺、開源、免費的解釋型高級動態(tài)通用編程語言。C語言的誕生與UNIX操作系統(tǒng)的開發(fā)密不可分,原來的UNIX操作系統(tǒng)是用匯編語言寫的,1973年UNIX操作系統(tǒng)的核心用C語言改寫,從此C語言成為編寫操作系統(tǒng)的主要語言。C語言是一種通用的、模塊化、程序化的編程語言,被廣泛應(yīng)用于操作系統(tǒng)和應(yīng)用軟件的開發(fā)。由于其高效性和可移植性,適應(yīng)于不同硬件和軟件平臺,深受各類程序開發(fā)員的青睞。②C語言C語言最初由DennisRitchie于1969年-1973年在AT&T貝爾實驗室里開發(fā)出來,主要用于重新實現(xiàn)Unix操作系統(tǒng)。經(jīng)典C標(biāo)準(zhǔn)1978年,丹尼斯·里奇(DennisRitchie)和布萊恩·科爾尼干(BrianKernighan)出版了一本書,名叫《TheCProgrammingLanguage》(中文譯名為《C程序設(shè)計語言》)。這本書被C語言開發(fā)者們稱為“K&R”,很多年來一直視為C語言的非正
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國裝飾燈支架市場調(diào)查研究報告
- 2025年中國真空包裝箱市場調(diào)查研究報告
- 2025年中國中速智能型球攝像機市場調(diào)查研究報告
- 二零二五年度跨界投資股份合作協(xié)議合同
- 二零二五年度退休人員兼職健身教練聘用勞動協(xié)議
- 二零二五年度銀行與保險公司網(wǎng)絡(luò)安全責(zé)任保險合作協(xié)議
- 二零二五年度門面轉(zhuǎn)讓及品牌授權(quán)及運營支持協(xié)議
- 二零二五年度非婚生子女撫養(yǎng)權(quán)爭議調(diào)解與子女權(quán)益協(xié)議
- 二零二五年度音樂版權(quán)音樂版權(quán)音樂節(jié)贊助合作協(xié)議
- 二零二五年度食品代加工行業(yè)人才培養(yǎng)與交流協(xié)議
- 《霍爾效應(yīng)測量磁場》課件
- 30題紀(jì)檢監(jiān)察位崗位常見面試問題含HR問題考察點及參考回答
- 高考作文復(fù)習(xí)任務(wù)驅(qū)動型作文的審題立意課件73張
- 詢價函模板(非常詳盡)
- 《AI營銷畫布:數(shù)字化營銷的落地與實戰(zhàn)》
- 麻醉藥品、精神藥品、放射性藥品、醫(yī)療用毒性藥品及藥品類易制毒化學(xué)品等特殊管理藥品的使用與管理規(guī)章制度
- 一個28歲的漂亮小媳婦在某公司打工-被老板看上之后
- 乘務(wù)培訓(xùn)4有限時間水上迫降
- 2023年低年級寫話教學(xué)評語方法(五篇)
- DB22T 1655-2012結(jié)直腸外科術(shù)前腸道準(zhǔn)備技術(shù)要求
- GB/T 16474-2011變形鋁及鋁合金牌號表示方法
評論
0/150
提交評論