




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
惡
意
代
碼
原
理
與
防
范
MalwarePrinciples&Prevention主講人:張瑜廣東技術(shù)師范大學(xué)
網(wǎng)絡(luò)空間安全學(xué)院計(jì)算機(jī)病毒技術(shù)及其防御
ComputerVirusTechnology&ItsDefense主講人:張瑜廣東技術(shù)師范大學(xué)
網(wǎng)絡(luò)空間安全學(xué)院主講人:張瑜第九章ChapterNine廣東技術(shù)師范大學(xué)網(wǎng)絡(luò)空間安全學(xué)院ApoptosisofComputerViruses計(jì)算機(jī)病毒凋亡前言PREFACE在計(jì)算機(jī)生態(tài)系統(tǒng)中,計(jì)算機(jī)病毒與安全軟件存在著天然的獵物與捕食者關(guān)系。計(jì)算機(jī)病毒在計(jì)算機(jī)生態(tài)系統(tǒng)中傳播、潛伏、發(fā)作時(shí),都會(huì)處處受制于安全軟件。當(dāng)計(jì)算機(jī)病毒被檢測(cè)到之后,就會(huì)面臨攔截、獵殺、凋亡的結(jié)局。在走完其生命周期后,計(jì)算機(jī)病毒又會(huì)開始新一輪進(jìn)化發(fā)展。本章將從病毒獵殺、病毒免疫、環(huán)境升級(jí)等方面探討計(jì)算機(jī)病毒凋亡問(wèn)題。沉舟側(cè)畔千帆過(guò),病樹前頭萬(wàn)木春?!?劉禹錫1病毒獵殺目錄2病毒免疫3環(huán)境升級(jí)1CHAPTER病毒獵殺病毒獵殺流程病毒獵殺方法當(dāng)檢測(cè)發(fā)現(xiàn)計(jì)算機(jī)病毒時(shí),首要任務(wù)是將其獵殺以絕后患。計(jì)算機(jī)病毒在成功感染目標(biāo)系統(tǒng)后,通常會(huì)有兩個(gè)據(jù)點(diǎn)以持久駐留并于系統(tǒng)重啟后繼續(xù)運(yùn)行:病毒文件和病毒加載項(xiàng)。其中,病毒文件是病毒載體,只有運(yùn)行病毒文件后才能產(chǎn)生后續(xù)影響;病毒加載項(xiàng)是病毒啟動(dòng)機(jī)制,一般借助注冊(cè)表、進(jìn)程等啟動(dòng)機(jī)制完成病毒加載運(yùn)行。此外,多數(shù)計(jì)算機(jī)病毒會(huì)設(shè)計(jì)為兩個(gè)病毒體以相互支撐病毒運(yùn)行:病毒內(nèi)核驅(qū)動(dòng)和病毒進(jìn)程。其中,病毒內(nèi)核驅(qū)動(dòng)通常提供最基本的病毒功能,被加載至系統(tǒng)內(nèi)核且具有系統(tǒng)特權(quán);病毒進(jìn)程是病毒啟動(dòng)后在應(yīng)用層的運(yùn)行實(shí)例,配合內(nèi)核驅(qū)動(dòng)以完成病毒的相關(guān)操作。病毒獵殺計(jì)算機(jī)病毒運(yùn)行于Windows系統(tǒng)時(shí),通常有兩種工作模式:安全模式和正常模式。當(dāng)系統(tǒng)運(yùn)行于安全模型時(shí),只加載系統(tǒng)運(yùn)行所必需的組件,導(dǎo)致計(jì)算機(jī)病毒內(nèi)核驅(qū)動(dòng)可被加載而其對(duì)應(yīng)的應(yīng)用進(jìn)程則無(wú)法運(yùn)行;當(dāng)系統(tǒng)運(yùn)行于正常模式時(shí),系統(tǒng)將加載所有的系統(tǒng)組件和啟動(dòng)項(xiàng),計(jì)算機(jī)病毒能正常運(yùn)行,且病毒內(nèi)核驅(qū)動(dòng)和病毒進(jìn)程會(huì)相互監(jiān)視,一旦對(duì)方被刪除,立即重新創(chuàng)建一個(gè)。因此,在進(jìn)行計(jì)算機(jī)病毒獵殺時(shí),需要考慮系統(tǒng)的運(yùn)行模式:如系統(tǒng)運(yùn)行于安全模式,則只能進(jìn)行病毒內(nèi)核驅(qū)動(dòng)文件獵殺(刪除);如工作于正常模式,則可進(jìn)行病毒內(nèi)核驅(qū)動(dòng)、病毒進(jìn)程以及加載項(xiàng)的獵殺。1.病毒獵殺流程Virus
killing
process123查看系統(tǒng)日志或反病毒軟件日志了解計(jì)算機(jī)病毒運(yùn)行機(jī)制借助工具檢查進(jìn)程、服務(wù)、啟動(dòng)項(xiàng)、網(wǎng)絡(luò)連接、鉤子等方面45追蹤隱匿痕跡各個(gè)擊破斬草除根為什么刪除了計(jì)算機(jī)病毒,重啟還能復(fù)活?
眾所周知,多數(shù)計(jì)算機(jī)病毒在運(yùn)行后會(huì)分成兩部分:內(nèi)核驅(qū)動(dòng)和病毒進(jìn)程,且兩者會(huì)相互監(jiān)視相互配合。如病毒進(jìn)程被刪除,其內(nèi)核驅(qū)動(dòng)會(huì)重新創(chuàng)建一個(gè)病毒進(jìn)程;反之亦然,如內(nèi)核驅(qū)動(dòng)被刪除,病毒進(jìn)程也會(huì)重新復(fù)制一個(gè)SYS驅(qū)動(dòng)文件。這也是有些計(jì)算機(jī)病毒貌似已被刪除,但重啟后又能復(fù)活的根本原因。因此,如欲獵殺此類病毒,則需各個(gè)擊破,將病毒的內(nèi)核驅(qū)動(dòng)與進(jìn)程全部刪除。1)在安全模式下獵殺病毒內(nèi)核驅(qū)動(dòng)為什么刪除了計(jì)算機(jī)病毒,重啟還能復(fù)活?在安全模式下,由于Windows系統(tǒng)只加載必需的組件,導(dǎo)致多數(shù)計(jì)算機(jī)病毒無(wú)法正常運(yùn)行。此時(shí),先將病毒內(nèi)核驅(qū)動(dòng)文件刪除,由于病毒進(jìn)程沒(méi)有運(yùn)行,無(wú)法重新復(fù)制病毒內(nèi)核驅(qū)動(dòng)文件;然后再刪除病毒加載項(xiàng)和相關(guān)病毒文件,并重啟系統(tǒng)。在重啟系統(tǒng)并進(jìn)入安全模式后,由于病毒內(nèi)核驅(qū)動(dòng)和進(jìn)程都無(wú)法加載,病毒自然就不能啟動(dòng)。此時(shí),進(jìn)入病毒獵殺掃尾階段,將所有與病毒相關(guān)聯(lián)的文件在確認(rèn)后全部刪除。至此,安全模式下計(jì)算機(jī)病毒的獵殺基本完成。1)在安全模式下獵殺病毒內(nèi)核驅(qū)動(dòng)2)在正常模式下獵殺病毒體相對(duì)于安全模式下獵殺病毒的簡(jiǎn)單易行,在正常模式下獵殺病毒則難度增大!由于病毒內(nèi)核驅(qū)動(dòng)和病毒進(jìn)程會(huì)同時(shí)運(yùn)行且相互監(jiān)控,通常會(huì)導(dǎo)致“按下葫蘆浮起瓢”,即刪除病毒內(nèi)核驅(qū)動(dòng)后,病毒進(jìn)程會(huì)發(fā)現(xiàn)并重新加載之,反之亦然。因此,對(duì)于計(jì)算機(jī)病毒獵殺,建議在安全模式下完成,以取得徹底獵殺效果。2)在正常模式下獵殺病毒體相對(duì)于安全模式下獵殺病毒的簡(jiǎn)單易行,在正常模式下獵殺病毒則難度增大!如無(wú)法進(jìn)入安全模式,在正常模式下如欲獵殺病毒,可考慮按如下步驟進(jìn)行獵殺:停止病毒服務(wù),終止病毒進(jìn)程如無(wú)法終止病毒所有進(jìn)程,則先刪除注冊(cè)表等啟動(dòng)項(xiàng),重啟后再刪除病毒文件如仍無(wú)法刪除病毒,則先刪除所有病毒文件,重啟后再刪除啟動(dòng)項(xiàng)如上述方法仍無(wú)法奏效,則禁止進(jìn)程和線程創(chuàng)建,再進(jìn)行病毒文件和啟動(dòng)項(xiàng)刪除。2.病毒獵殺方法Virus
killing
method刪除DELETE限制LIMIT隔離ISOLATE3)如隔離也無(wú)法奏效,則考慮進(jìn)行權(quán)限限制與封鎖。1)刪除是對(duì)計(jì)算機(jī)病毒進(jìn)行“肉體消滅”,將其從磁盤系統(tǒng)中徹底根除。但有時(shí)無(wú)法簡(jiǎn)單地一刪了之,有可能會(huì)牽一發(fā)而動(dòng)全身。2)可考慮將與病毒相關(guān)的文件進(jìn)行隔離,即將計(jì)算機(jī)病毒移至一個(gè)事先設(shè)置好的文件夾,并限制外部訪問(wèn)之。對(duì)于計(jì)算機(jī)病毒刪除,可通過(guò)手工或編程實(shí)現(xiàn)。如欲手工刪除,先需找到相關(guān)病毒文件,再逐一刪除即可。或者通過(guò)系統(tǒng)提供的Del命令進(jìn)行手工刪除。如欲編程實(shí)現(xiàn)刪除,則可考慮調(diào)用API函數(shù)DeleteFileA()和RemoveDirectoryA()實(shí)現(xiàn)文件和目錄刪除、RegDeleteKeyA()刪除注冊(cè)表指定子項(xiàng)、RegDeleteValueA()刪除指定項(xiàng)下方的鍵值、TerminateProcess()結(jié)束一個(gè)進(jìn)程。
例如,下列代碼可實(shí)現(xiàn)E盤根目錄下的directory1文件夾及其下的所有文件與文件夾刪除。1)刪除病毒system("del/f/s/qE:\\directory1");下面的代碼演示了編程實(shí)現(xiàn)指定文件夾及其下文件與文件夾的刪除。1)刪除病毒system("del/f/s/qE:\\directory1");對(duì)于計(jì)算機(jī)病毒刪除,可通過(guò)手工或編程實(shí)現(xiàn)。如欲手工刪除,先需找到相關(guān)病毒文件,再逐一刪除即可?;蛘咄ㄟ^(guò)系統(tǒng)提供的Del命令進(jìn)行手工刪除。如欲編程實(shí)現(xiàn)刪除,則可考慮調(diào)用API函數(shù)DeleteFileA()和RemoveDirectoryA()實(shí)現(xiàn)文件和目錄刪除、RegDeleteKeyA()刪除注冊(cè)表指定子項(xiàng)、RegDeleteValueA()刪除指定項(xiàng)下方的鍵值、TerminateProcess()結(jié)束一個(gè)進(jìn)程。
例如,下列代碼可實(shí)現(xiàn)E盤根目錄下的directory1文件夾及其下的所有文件與文件夾刪除。1)刪除病毒system("del/f/s/qE:\\directory1");對(duì)于計(jì)算機(jī)病毒刪除,可通過(guò)手工或編程實(shí)現(xiàn)。如欲手工刪除,先需找到相關(guān)病毒文件,再逐一刪除即可?;蛘咄ㄟ^(guò)系統(tǒng)提供的Del命令進(jìn)行手工刪除。如欲編程實(shí)現(xiàn)刪除,則可考慮調(diào)用API函數(shù)DeleteFileA()和RemoveDirectoryA()實(shí)現(xiàn)文件和目錄刪除、RegDeleteKeyA()刪除注冊(cè)表指定子項(xiàng)、RegDeleteValueA()刪除指定項(xiàng)下方的鍵值、TerminateProcess()結(jié)束一個(gè)進(jìn)程。
例如,下列代碼可實(shí)現(xiàn)E盤根目錄下的directory1文件夾及其下的所有文件與文件夾刪除。1)刪除病毒2)隔離病毒下面的代碼演示了編程實(shí)現(xiàn)將隔離文件夾設(shè)置為隱藏屬性,并將相關(guān)文件移動(dòng)至該文件夾中。在計(jì)算機(jī)病毒無(wú)法進(jìn)行一刪了之時(shí),可考慮將病毒相關(guān)文件進(jìn)行隔離。所謂隔離,是指將相關(guān)文件移動(dòng)至一個(gè)專用文件夾,且禁止該文件夾被其他無(wú)關(guān)程序或人員訪問(wèn)。與刪除類似,隔離也可采取手工與編程兩種實(shí)現(xiàn)方式。如通過(guò)策略編輯器實(shí)現(xiàn)手工隔離,可按如下步驟完成:運(yùn)行g(shù)pedit.msc打開本地組策略編輯器→依次打開Windows設(shè)置/安全設(shè)置/軟件限制策略→在其他規(guī)則中右鍵選擇新建路徑規(guī)則→選擇要隔離的文件夾,且將安全級(jí)別設(shè)置為不允許。對(duì)于有些通過(guò)軟件漏洞并借助網(wǎng)絡(luò)傳播的計(jì)算機(jī)病毒,必要的限制措施能有效阻止其向外蔓延傳播,從而避免造成更大更多的破壞。依據(jù)輕重緩急原則,可按如下流程選擇適當(dāng)限制措施:斷網(wǎng)→關(guān)閉相關(guān)服務(wù)(Web、郵件、BBS等)→關(guān)閉相關(guān)網(wǎng)絡(luò)端口。當(dāng)遭遇蠕蟲病毒感染時(shí),由于其借助相關(guān)軟件漏洞并通過(guò)網(wǎng)絡(luò)外向傳播,為避免外向擴(kuò)散,應(yīng)先關(guān)閉內(nèi)網(wǎng)與外網(wǎng)連接,必要時(shí)進(jìn)行物理斷網(wǎng)。如發(fā)現(xiàn)病毒通過(guò)發(fā)送郵件向外傳播,則可關(guān)閉郵件服務(wù)器以阻止其進(jìn)一步外發(fā)郵件傳播。對(duì)于部分蠕蟲病毒可能會(huì)利用漏洞并借助相關(guān)端口外傳,只要關(guān)閉相關(guān)網(wǎng)絡(luò)端口即可阻止其向外擴(kuò)散。3)限制病毒病毒免疫免疫接種疫苗注射2CHAPTER傳統(tǒng)免疫學(xué)疫苗接種是將疫苗制劑接種到人體或動(dòng)物體內(nèi),并借助免疫系統(tǒng)對(duì)外來(lái)抗原的識(shí)別以產(chǎn)生對(duì)抗該病原或相似病原的抗體,進(jìn)而使疫苗接種者具有抵抗某一特定病原體或相似病原體的免疫力。Vaccinationintraditionalimmunology計(jì)算機(jī)系統(tǒng)同理,對(duì)于計(jì)算機(jī)系統(tǒng),可以采取類似方式進(jìn)行疫苗接種以使系統(tǒng)具備防御某類計(jì)算機(jī)病毒的免疫力。計(jì)算機(jī)病毒免疫,是借鑒生物免疫系統(tǒng)機(jī)理以防御計(jì)算機(jī)病毒入侵保障系統(tǒng)安全。。Vaccinationincomputer病毒免疫virus
immunity由于計(jì)算機(jī)病毒種類繁多,如全部采用疫苗接種方式進(jìn)行免疫防御,則會(huì)產(chǎn)生與基于特征碼病毒檢測(cè)類似效果,一方面會(huì)使病毒疫苗庫(kù)不斷擴(kuò)增,另一方面將使接種疫苗失效。因此,病毒免疫法只用于免疫防御突發(fā)的、有重大影響力的特定類型計(jì)算機(jī)病毒。Viralimmunizationisonlyusedforspecificviruses病毒免疫virus
immunity1.感染標(biāo)志感染邏輯:為避免重復(fù)感染目標(biāo)系統(tǒng),部分計(jì)算機(jī)病毒在感染目標(biāo)后會(huì)存儲(chǔ)一個(gè)獨(dú)特的感染標(biāo)志。病毒準(zhǔn)備感染目標(biāo)時(shí),首先會(huì)判斷目標(biāo)系統(tǒng)上是否有此標(biāo)志,如有則放棄感染,否則就感染之。應(yīng)對(duì)措施:在相應(yīng)位置事先放置一個(gè)感染標(biāo)志(相當(dāng)于免疫接種),使病毒以為該目標(biāo)已被感染而放棄重復(fù)感染之,從而達(dá)到規(guī)避計(jì)算機(jī)病毒感染目的。Infection
markerWannaCryNotPetyaDarkside案例1:2017年橫掃全球的WannaCry勒索病毒爆發(fā)后,一位英國(guó)研究者發(fā)現(xiàn)該病毒在感染前會(huì)判斷網(wǎng)址是否可訪問(wèn),如可訪問(wèn),則不再繼續(xù)傳播感染。該研究者馬上注冊(cè)了這個(gè)網(wǎng)址,非常有效地阻止了該病毒的更大范圍傳播感染。案例2:對(duì)于NotPetya勒索病毒的免疫,則只需在C:\Windows文件夾下建立名為perfc的“只讀”文件。因?yàn)镹otPetya在感染后會(huì)先搜索該文件,如文件存在,則退出加密勒索。案例3:2021年5月,美國(guó)輸油管道公司ColonialPipeline被勒索病毒DarkSide
攻擊導(dǎo)致運(yùn)營(yíng)中斷,美國(guó)多州和華盛頓特區(qū)進(jìn)入緊急狀態(tài)。分析發(fā)現(xiàn)如在系統(tǒng)中安裝俄語(yǔ)虛擬鍵盤,或?qū)⑻囟ǖ淖?cè)表項(xiàng)更改為“RU”等,則能使該勒索病毒誤判為俄語(yǔ)實(shí)體而免遭攻擊。此外,有些勒索病毒會(huì)忽略具有FILE_READ_ONLY_VOLUME屬性的盤符,如將盤符設(shè)置相應(yīng)屬性,則能免疫此類病毒。宏病毒利用感染標(biāo)志進(jìn)行免疫接種代碼實(shí)現(xiàn)宏病毒利用感染標(biāo)志進(jìn)行免疫接種代碼實(shí)現(xiàn)2.注射疫苗感染邏輯:有些病毒在感染目標(biāo)系統(tǒng)之前,會(huì)在特定位置搜索某些特殊文件或文件夾,如已存在此類文件或文件夾,則退出感染。應(yīng)對(duì)措施:如能將某些特殊的文件或文件夾事先創(chuàng)建于特定位置(相當(dāng)于注射疫苗),則可免疫此類病毒。vaccinate案例:U盤病毒U盤病毒利用Windows系統(tǒng)的自動(dòng)運(yùn)行功能(Autorun),并通過(guò)磁盤根目錄下的Autorun.inf文件實(shí)現(xiàn)其磁盤(包括移動(dòng)介質(zhì))感染操作。如能事先將Autorun.inf文件創(chuàng)建于干凈的所有磁盤根目錄下,并將該文件設(shè)置為“隱藏”、“只讀”屬性,則相當(dāng)于對(duì)所有盤符注射疫苗,即可實(shí)現(xiàn)對(duì)U盤病毒免疫。通過(guò)疫苗注射實(shí)現(xiàn)U盤病毒免疫只需將代碼保存為.bat文件,并雙擊運(yùn)行之,就可完成U盤病毒疫苗注射。代碼實(shí)現(xiàn)通過(guò)疫苗注射實(shí)現(xiàn)U盤病毒免疫只需將代碼保存為.bat文件,并雙擊運(yùn)行之,就可完成U盤病毒疫苗注射。代碼實(shí)現(xiàn)通過(guò)疫苗注射實(shí)現(xiàn)U盤病毒免疫只需將代碼保存為.bat文件,并雙擊運(yùn)行之,就可完成U盤病毒疫苗注射。代碼實(shí)現(xiàn)環(huán)境升級(jí)操作系統(tǒng)編程語(yǔ)言安全軟件3CHAPTER環(huán)境升級(jí)
“物競(jìng)天擇,適者生存。”任何計(jì)算機(jī)病毒都有其生存繁衍的外部環(huán)境。只有適應(yīng)這個(gè)外部環(huán)境,計(jì)算機(jī)病毒才有可能繼續(xù)生存下去,反之則會(huì)被環(huán)境淘汰。因此,對(duì)計(jì)算機(jī)病毒依賴的外部環(huán)境進(jìn)行必要的升級(jí)與更新,也能造成計(jì)算機(jī)病毒因無(wú)法適應(yīng)新的環(huán)境而淘汰凋亡。本節(jié)將從操作系統(tǒng)、編程語(yǔ)言、安全軟件等方面探討環(huán)境升級(jí)因素而導(dǎo)致計(jì)算機(jī)病毒凋亡。1.操作系統(tǒng)OperatingSystemDOSWindowsWindows升級(jí)WindowsLinux操作系統(tǒng)是計(jì)算機(jī)生態(tài)系統(tǒng)中最重要的平臺(tái)環(huán)境,是包括計(jì)算機(jī)病毒在內(nèi)的應(yīng)用程序賴于生息繁衍的重要環(huán)境。作為生存其中的計(jì)算機(jī)病毒,由于其依賴的操作系統(tǒng)相關(guān)功能的不同,隨著操作系統(tǒng)的升級(jí)與更新,就如同自然生態(tài)環(huán)境的改變,會(huì)導(dǎo)致在其中生存繁衍的物種(計(jì)算機(jī)病毒)滅絕。Linux升級(jí)DOS系統(tǒng)DosSystem作為個(gè)人計(jì)算機(jī)的首個(gè)操作系統(tǒng),DOS系統(tǒng)的誕生在促進(jìn)計(jì)算機(jī)生態(tài)系統(tǒng)快速發(fā)展的同時(shí),也為計(jì)算機(jī)病毒的發(fā)展提供了支撐環(huán)境。DOS病毒借助于DOS系統(tǒng)的相關(guān)功能調(diào)用,不管是在類型還是數(shù)量上,都實(shí)現(xiàn)了全面快速地發(fā)展。盡管DOS系統(tǒng)也在不斷升級(jí),增加了系統(tǒng)的復(fù)雜性和更多支撐功能,但由于其內(nèi)核的基本功能保持穩(wěn)定,這使得DOS病毒能適應(yīng)系統(tǒng)升級(jí)得以持續(xù)發(fā)展。1)DOSWindowsWindows
95
操作系統(tǒng)Windows
95System然而,當(dāng)Microsoft于1995年推出Windows95操作系統(tǒng)時(shí),作為計(jì)算機(jī)生態(tài)系統(tǒng)的基礎(chǔ)支撐平臺(tái)已開始由原來(lái)的DOS系統(tǒng)轉(zhuǎn)換為Windows系統(tǒng),這對(duì)生存其中的應(yīng)用系統(tǒng)(物種)而言,就意味著外部環(huán)境的極大改變。由于Windows系統(tǒng)已不提供對(duì)DOS系統(tǒng)的支持,此時(shí),與所有其他的應(yīng)用程序一樣,計(jì)算機(jī)病毒同樣面臨著生存危機(jī)?!斑m者生存”的自然選擇法則開始進(jìn)行殘酷的物種淘汰,不能適應(yīng)Windows系統(tǒng)的DOS病毒很快就被外部環(huán)境淘汰。例如,原來(lái)誕生于1989年的DOS系統(tǒng)勒索病毒(AIDS病毒)因無(wú)法生存于Windows系統(tǒng)而慘遭淘汰,直到2017年才出現(xiàn)Windows系統(tǒng)勒索病毒(Wannacry病毒)。1)DOSWindows123模擬MicrosoftWindows操作系統(tǒng)當(dāng)初僅僅是DOS模擬環(huán)境,由于其易用性和不斷的更新升級(jí),已成為了當(dāng)前應(yīng)用最廣泛的操作系統(tǒng)。即使同為Microsoft的Windows系統(tǒng),隨著版本的更新?lián)Q代與內(nèi)核升級(jí),同樣也會(huì)造成計(jì)算機(jī)生態(tài)系統(tǒng)支撐環(huán)境的改變。
隨著計(jì)算機(jī)硬件和軟件的不斷升級(jí),Windows系統(tǒng)也在不斷升級(jí),從架構(gòu)的16位、32位再到64位,系統(tǒng)版本從最初的Windows1.0到大家熟知的Windows95、Windows98、Windows2000、WindowsXP、WindowsVista、Windows7、Windows8、Windows8.1、Windows10、Windows11和WindowsServer服務(wù)器企業(yè)級(jí)操作系統(tǒng),其內(nèi)核版本號(hào)從WindowsNT3.1到WindowsNT4.0、WindowsNT5.0、WindowsNT6.0、WindowsNT6.4、WindowsNT10。Windows內(nèi)核版本的更新與升級(jí),對(duì)于舊版系統(tǒng)的應(yīng)用程序來(lái)說(shuō),是一個(gè)重大的環(huán)境改變,可能會(huì)對(duì)應(yīng)用程序的正常運(yùn)行造成影響。例如,Microsof將WindowsNT6.4升級(jí)為WindowsNT10時(shí),曾發(fā)布公告說(shuō):如果開發(fā)人員代碼依賴于NT內(nèi)核,則需將Web應(yīng)用或應(yīng)用程序更新到最新內(nèi)核版本,以兼容最新Windows10,否則可能導(dǎo)致某些網(wǎng)站和應(yīng)用程序出現(xiàn)兼容性問(wèn)題。同理,如果計(jì)算機(jī)病毒依賴于舊版本的Windows內(nèi)核,在Windows系統(tǒng)更新與升級(jí)時(shí),將會(huì)遭遇同樣的兼容性問(wèn)題而慘遭淘汰。升級(jí)內(nèi)核更新2)Windows升級(jí)宏內(nèi)核包含多個(gè)模塊,整個(gè)內(nèi)核更像一個(gè)完整的程序微內(nèi)核有一個(gè)最小版本的內(nèi)核,一些模塊和服務(wù)則由用戶態(tài)管理混合內(nèi)核混合內(nèi)核,是宏內(nèi)核和微內(nèi)核的結(jié)合體,內(nèi)核中抽象出了微內(nèi)核的概念,即內(nèi)核中會(huì)有一個(gè)小型的內(nèi)核,其他模塊就在這個(gè)基礎(chǔ)上搭建,整個(gè)內(nèi)核是個(gè)完整的程序3)WindowsLinux對(duì)于操作系統(tǒng)內(nèi)核而言,目前的內(nèi)核架構(gòu)一般有三種類型3)WindowsLinuxWindowLinux內(nèi)核架構(gòu)微內(nèi)核或混合內(nèi)核宏內(nèi)核內(nèi)核設(shè)計(jì)?內(nèi)核性能?可執(zhí)行文件PE文件ELF文件
在內(nèi)核架構(gòu)方面,Linux采用了宏內(nèi)核,Windows則采用了微內(nèi)核或混合內(nèi)核,因此Windows的內(nèi)核設(shè)計(jì)要優(yōu)于Linux。但要考慮兼容各種不同的外圍設(shè)備,Windows系統(tǒng)在優(yōu)化和升級(jí)方面較為保守,以至于其內(nèi)核性能似乎落后于Linux。如果將操作系統(tǒng)從Windows系統(tǒng)更換為L(zhǎng)inux系統(tǒng),由于這兩個(gè)操作系統(tǒng)的可執(zhí)行文件格式不相同,Linux可執(zhí)行文件格式為ELF,Windows可執(zhí)行文件格式為PE。因此,原來(lái)依賴于Windows系統(tǒng)的計(jì)算機(jī)病毒,在其外部環(huán)境切換為L(zhǎng)inux系統(tǒng)后,將因文件格式問(wèn)題而導(dǎo)致其無(wú)法運(yùn)行,從而導(dǎo)致其因外部環(huán)境的變換而凋亡。
1991年芬蘭赫爾辛基大學(xué)的學(xué)生LinusTorvalds在其Intel386個(gè)人計(jì)算機(jī)上開發(fā)了屬于自己的操作系統(tǒng),且利用Internet發(fā)布了源代碼,并將其命名為L(zhǎng)inux。Linux系統(tǒng)的優(yōu)點(diǎn)是:與UNIX兼容,自由軟件,源碼公開,性能高,安全性強(qiáng),便于定制和再開發(fā),互操作性高,支持全面的多任務(wù),目前主要應(yīng)用于服務(wù)器系統(tǒng)、嵌入式系統(tǒng)和云計(jì)算系統(tǒng)等領(lǐng)域。4)Linux升級(jí)內(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等等。兼容問(wèn)題因此,在兼容性方面存在的問(wèn)題主要體現(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)不兼容性,對(duì)于各類應(yīng)用程序在不同Linux系統(tǒng)之間的可移植性會(huì)造成影響,導(dǎo)致計(jì)算機(jī)病毒在Linux系統(tǒng)升級(jí)時(shí)也會(huì)因系統(tǒng)兼容性問(wèn)題而凋亡淘汰。kernelversion&compatibilityissue4)Linux升級(jí)PythonJAVAC語(yǔ)言計(jì)算機(jī)病毒作為一種特殊的程序,是由計(jì)算機(jī)編程語(yǔ)言編寫的,其能否正常運(yùn)行也受制于相應(yīng)的編程語(yǔ)言版本。如果在設(shè)計(jì)編寫計(jì)算機(jī)病毒時(shí)設(shè)定的編程語(yǔ)言環(huán)境未能滿足,則計(jì)算機(jī)病毒運(yùn)行時(shí)肯定會(huì)出現(xiàn)各類問(wèn)題而導(dǎo)致其無(wú)法發(fā)揮作用。因此,編程語(yǔ)言環(huán)境也是計(jì)算機(jī)病毒凋亡淘汰的因素之一。本節(jié)將介紹Python語(yǔ)言、C語(yǔ)言、Java語(yǔ)言等編程語(yǔ)言的版本變換而導(dǎo)致的計(jì)算機(jī)病毒凋亡。2.編程語(yǔ)言programming
language除可解釋執(zhí)行之外,Python還支持將源代碼偽編譯為字節(jié)碼來(lái)優(yōu)化程序,以提高加載速度;Python也支持使用py2exe、pyinstaller、cx_Freeze或其他類似工具將Python程序及其所有依賴庫(kù)打包成為各種平臺(tái)上的可執(zhí)行文件;Python支持命令式編程和函數(shù)式編程兩種方式,完全支持面向?qū)ο蟪绦蛟O(shè)計(jì),語(yǔ)法簡(jiǎn)潔清晰,功能強(qiáng)大且易學(xué)易用,已擁有大量的幾乎支持所有領(lǐng)域應(yīng)用開發(fā)的成熟擴(kuò)展庫(kù)。①Python語(yǔ)言Python是一種跨平臺(tái)、開源、免費(fèi)的解釋型高級(jí)動(dòng)態(tài)通用編程語(yǔ)言。C語(yǔ)言的誕生與UNIX操作系統(tǒng)的開發(fā)密不可分,原來(lái)的UNIX操作系統(tǒng)是用匯編語(yǔ)言寫的,1973年UNIX操作系統(tǒng)的核心用C語(yǔ)言改寫,從此C語(yǔ)言成為編寫操作系統(tǒng)的主要語(yǔ)言。C語(yǔ)言是一種通用的、模塊化、程序化的編程語(yǔ)言,被廣泛應(yīng)用于操作系統(tǒng)和應(yīng)用軟件的開發(fā)。由于其高效性和可移植性,適應(yīng)于不同硬件和軟件平臺(tái),深受各類程序開發(fā)員的青睞。②C語(yǔ)言C語(yǔ)言最初由DennisRitchie于1969年-1973年在AT&T貝爾實(shí)驗(yàn)室里開發(fā)出來(lái),主要用于重新實(shí)現(xiàn)Unix操作系統(tǒng)。經(jīng)典C標(biāo)準(zhǔn)1978年,丹尼斯·里奇(DennisRitchie)和布萊恩·科爾尼干(BrianKernighan)出版了一本書,名叫《TheCProgrammingLanguage》(中文譯名為《C程序設(shè)計(jì)語(yǔ)言》)。這本書被C語(yǔ)言開發(fā)者們稱為“K&R”,很多年來(lái)一直視為C語(yǔ)言的非正式標(biāo)準(zhǔn)版本。這個(gè)版本的C語(yǔ)言被稱為“K&RC”,即經(jīng)典C標(biāo)準(zhǔn)。C89/C90標(biāo)準(zhǔn)由于C語(yǔ)言已被各大公司所使用,考慮到C語(yǔ)言標(biāo)準(zhǔn)化的重要性,ANS(美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì))制定了第一個(gè)C語(yǔ)言標(biāo)準(zhǔn),于1989年被正式采用(AmericanNationalStandardX3.159-1989),稱為C89,也稱為ANSIC。該標(biāo)準(zhǔn)于1990年被ISO(國(guó)際標(biāo)準(zhǔn)化組織)采納,成為國(guó)際標(biāo)準(zhǔn)(ISO/IEC9899:1990),被稱為C90。C99
標(biāo)準(zhǔn)
1999年,標(biāo)準(zhǔn)化委員會(huì)正式發(fā)布了ISO/IEC9899:1999,稱為C99標(biāo)準(zhǔn)。C99標(biāo)準(zhǔn)引入了許多特性,包括內(nèi)聯(lián)函數(shù)、可變長(zhǎng)度的數(shù)組、靈活的數(shù)組成員(用于結(jié)構(gòu)體)、復(fù)合字變量、指定成員的初始化器、對(duì)IEEE754浮點(diǎn)數(shù)的改進(jìn)、支持不定參數(shù)個(gè)數(shù)的宏定義,在數(shù)據(jù)類型上還增加了longlongint以及復(fù)數(shù)類型。C11標(biāo)準(zhǔn)2007年,C語(yǔ)言標(biāo)準(zhǔn)委員會(huì)又重新開始修訂C語(yǔ)言,并于2011年正式發(fā)布了ISO/IEC9899:2011,簡(jiǎn)稱為C11標(biāo)準(zhǔn)。C11標(biāo)準(zhǔn)新引入的特征盡管沒(méi)C99相對(duì)C89/C90引入的那么多,但是這些也都十分有用,比如:字節(jié)對(duì)齊說(shuō)明符、泛型機(jī)制、對(duì)多線程的支持、靜態(tài)斷言、原子操作以及對(duì)Unicode字符的支持。②C語(yǔ)言C語(yǔ)言自誕生至今,經(jīng)歷了多次標(biāo)準(zhǔn)化過(guò)程,主要分成如下幾個(gè)標(biāo)準(zhǔn)化版本。Java是一種面向?qū)ο缶幊陶Z(yǔ)言,不僅吸收了C++語(yǔ)言的各種優(yōu)點(diǎn),還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語(yǔ)言以其簡(jiǎn)單性、面向?qū)ο蟆⒎植际?、健壯性、安全性、平臺(tái)獨(dú)立與可移植性、多線程、動(dòng)態(tài)性等特點(diǎn)而為程序員所鐘愛(ài)。③JAVA語(yǔ)言JavaSEJavaEEJavaMEJavaSE包含了支持JavaWeb
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 沈陽(yáng)航空職業(yè)技術(shù)學(xué)院《工業(yè)水處理設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 浙江旅游職業(yè)學(xué)院《教師職業(yè)道德規(guī)范與教育法規(guī)》2023-2024學(xué)年第二學(xué)期期末試卷
- 畢節(jié)幼兒師范高等??茖W(xué)?!度嵝钥纱┐骷夹g(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 石河子工程職業(yè)技術(shù)學(xué)院《導(dǎo)游基礎(chǔ)知識(shí)應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 福建農(nóng)林大學(xué)《液壓與氣壓傳動(dòng)B》2023-2024學(xué)年第二學(xué)期期末試卷
- 貴州黔南科技學(xué)院《電子商務(wù)B》2023-2024學(xué)年第二學(xué)期期末試卷
- 中原工學(xué)院《微型計(jì)算機(jī)技術(shù)與應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 泰州2025年江蘇泰州市人民醫(yī)院招聘42人筆試歷年參考題庫(kù)附帶答案詳解
- 武漢外語(yǔ)外事職業(yè)學(xué)院《工程測(cè)量學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 太陽(yáng)能采暖系統(tǒng)項(xiàng)目效益評(píng)估報(bào)告
- 寧波2025年浙江寧波市鄞州區(qū)衛(wèi)健系統(tǒng)其他事業(yè)單位招聘事業(yè)編制46人筆試歷年參考題庫(kù)附帶答案詳解
- 2025江蘇太倉(cāng)市城市建設(shè)投資集團(tuán)限公司招聘易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 小學(xué)二年級(jí)數(shù)學(xué)上冊(cè)口算題
- 2025年個(gè)體戶合伙投資協(xié)議(三篇)
- 2024-2025學(xué)年第二學(xué)期(2025春季學(xué)期)學(xué)校工作計(jì)劃(附2月-6月安排表)
- 14磁極與方向(教學(xué)設(shè)計(jì))-二年級(jí)科學(xué)下冊(cè)(教科版)
- 2025年山西經(jīng)貿(mào)職業(yè)學(xué)院高職單招職業(yè)技能測(cè)試近5年常考版參考題庫(kù)含答案解析
- 廣東省佛山市禪城區(qū)2024-2025學(xué)年八年級(jí)上學(xué)期期末考試語(yǔ)文試題(含答案)
- 第04課 輸入輸出與計(jì)算(說(shuō)課稿)2024-2025學(xué)年六年級(jí)上冊(cè)信息技術(shù)人教版
- 部編五下語(yǔ)文教學(xué)多元評(píng)價(jià)方案
- 《榜樣9》觀后感心得體會(huì)二
評(píng)論
0/150
提交評(píng)論