劉泳儀 姚瑀哲 鄭虹
摘要:隨著信息化進(jìn)程的推進(jìn)、網(wǎng)絡(luò)應(yīng)用的普及,各行各業(yè)對計(jì)算機(jī)網(wǎng)絡(luò)的依賴越來越高,這使得整個(gè)社會(huì)變得十分脆弱,一旦網(wǎng)絡(luò)受到攻擊,就會(huì)陷入危機(jī)。在大量的安全事件中,惡意代碼攻擊占很大的比例,所以加強(qiáng)對惡意代碼的防御研究很是必要。本文根據(jù)惡意代碼的攻擊機(jī)制,給出了不同類型惡意代碼的防御技術(shù)。
關(guān)鍵詞:惡意代碼;病毒;木馬;防范方法
引言
惡意代碼是計(jì)算機(jī)網(wǎng)絡(luò)中的一種攻擊方式,具有出現(xiàn)較早、發(fā)展較快、影響較廣、傳播途徑較多等特點(diǎn)。計(jì)算機(jī)網(wǎng)絡(luò)在為大家提供便利服務(wù)的同時(shí)也為計(jì)算機(jī)病毒的惡意攻擊提供了可乘之機(jī)。許多互聯(lián)網(wǎng)安全事件都起源于惡意代碼,由此可見,了解惡意代碼的攻擊原理、加強(qiáng)對惡意代碼的防御對互聯(lián)網(wǎng)安全應(yīng)對能力非常必要。
1.惡意代碼分類
惡意代碼實(shí)質(zhì)是一種可以獨(dú)立執(zhí)行的指令集或嵌入其他程序的可執(zhí)行代碼。惡意代碼通常被分為4類:病毒、蠕蟲、木馬、后門。
計(jì)算機(jī)病毒是具有自我復(fù)制能力的依附性惡意代碼,在計(jì)算機(jī)程序中插入的破壞計(jì)算機(jī)功能或者破壞數(shù)據(jù)、影響計(jì)算機(jī)并能夠自我復(fù)制的一組指令或程序代碼。
蠕蟲具有自我復(fù)制能力的獨(dú)立性惡意代碼,它通過網(wǎng)絡(luò)連接將自身或變種發(fā)送到其他主機(jī)的程序,當(dāng)進(jìn)入某臺主機(jī)后,它會(huì)被再次激活并開始新的傳染。除了傳染以外,蠕蟲也經(jīng)常執(zhí)行破壞功能。
木馬是不具有自我復(fù)制能力的獨(dú)立性惡意代碼。木馬包括服務(wù)器程序和客戶程序,服務(wù)器程序在目標(biāo)主機(jī)運(yùn)行,負(fù)責(zé)打開攻擊通道;客戶程序在攻擊者主機(jī)運(yùn)行,負(fù)責(zé)與目標(biāo)主機(jī)建立遠(yuǎn)程連接并進(jìn)行通信,發(fā)出各種攻擊命令。
后門是不具有自我復(fù)制能力的依附性惡意代碼。指一類能夠繞開正常的安全控制機(jī)制,從而為攻擊者提供訪問途經(jīng)的一類惡意代碼,攻擊者可以通過使用后門工具對目標(biāo)主機(jī)進(jìn)行完全控制。
病毒、木馬和蠕蟲之間存在很大差別。病毒側(cè)重于破壞系統(tǒng)和程序的能力,木馬側(cè)重于竊取敏感信息的能力,蠕蟲側(cè)重于網(wǎng)絡(luò)中自我復(fù)制能力和傳染能力。
2.惡意代碼攻擊機(jī)制與防范方法
惡意代碼程序結(jié)構(gòu):初始化工作、尋找傳染目標(biāo)、奪取系統(tǒng)控制權(quán)、完成傳染破壞活動(dòng)。盡管各種惡意代碼表現(xiàn)行為各異,但他們的破壞機(jī)制大體相同。主要分為5個(gè)步驟。
入侵系統(tǒng):可以通過遠(yuǎn)程攻擊、網(wǎng)頁木馬、郵件病毒等入侵系統(tǒng)。
維持和提升權(quán)限:盜用用戶或者進(jìn)程的合法權(quán)限。
隱蔽:通過改名、刪除文件或修改安全策略來躲避安全軟件的檢測。
潛伏:在觸發(fā)條件滿足前不運(yùn)行。
破壞:觸發(fā)條件滿足時(shí),開始運(yùn)行,實(shí)施破壞。
惡意代碼的防范指建立合適的防御系統(tǒng),及時(shí)發(fā)現(xiàn)惡意代碼攻擊,并采取有效手段阻止攻擊,恢復(fù)受影響的主機(jī)和系統(tǒng)。
通用的惡意代碼防范方法主要有:特征代碼法、校驗(yàn)和法、行為監(jiān)測法、軟件模擬法等。
除了通用的技術(shù)以外,針對不同的惡意代碼的特點(diǎn),使用針對性的方法和策略能更有效地阻止惡意代碼的攻擊。
2.1病毒的防御方法
隨著反病毒技術(shù)的發(fā)展,除了通用的防御方法之外還有三種反病毒技術(shù),即通用解密、數(shù)字免疫系統(tǒng)和行為阻斷技術(shù)。
(1)通用解密技術(shù)包括CPU模擬器、特征碼掃描器和仿真控制等組件。CPU模擬器是基于軟件的虛擬機(jī),模擬執(zhí)行可執(zhí)行文件中的機(jī)器指令;特征碼掃描器用于掃描解密病毒代碼尋找已知特征碼的模塊;仿真控制用于控制病毒代碼的模擬執(zhí)行。
(2)數(shù)字免疫系統(tǒng)以CPU 模擬為基礎(chǔ),對其進(jìn)行擴(kuò)展并實(shí)現(xiàn)了更為通用的模擬器和病毒檢測系統(tǒng)。一旦病毒入侵,免疫系統(tǒng)會(huì)立即自動(dòng)捕獲、分析、檢測、屏蔽和清除,報(bào)告該病毒信息,使得這種病毒在廣泛傳播前即可被檢測。
(3)行為阻止技術(shù)也稱為主動(dòng)防御技術(shù)。行為阻止與操作系統(tǒng)相結(jié)合,實(shí)時(shí)監(jiān)控惡意的程序行為,可以在它對系統(tǒng)實(shí)施攻擊之前將其阻止??勺钄嗟男袨橛校捍蜷_、刪除、添加或修改文件;格式化硬盤或其他不可恢復(fù)的硬盤操作;修改可執(zhí)行文件或宏的執(zhí)行邏輯;修改關(guān)鍵系統(tǒng)配置;初始化網(wǎng)絡(luò)連接;使用腳本發(fā)送可執(zhí)行文件等。
2.2蠕蟲的防御方法
蠕蟲的傳播通常分三個(gè)階段,即慢開始、快傳播和慢結(jié)束。在慢開始階段,被傳染的主機(jī)呈指數(shù)增長,在一段時(shí)間后進(jìn)入快速傳播階段,此時(shí)許多主機(jī)已被感染,當(dāng)大部分有漏洞的主機(jī)都被感染后,蠕蟲難以尋找新的目標(biāo)主機(jī),進(jìn)入慢結(jié)束階段。在慢開始階段進(jìn)行防御最有效。下面介紹兩種實(shí)際的蠕蟲防范方法。
(1)蠕蟲提前封堵方法在慢開始階段對蠕蟲進(jìn)行定位,檢測每臺主機(jī)單位時(shí)間內(nèi)自身對外發(fā)起的連接數(shù)量。數(shù)量超過閾值時(shí),主機(jī)會(huì)立即阻塞鏈接嘗試向管理器發(fā)送報(bào)警。其他主機(jī)從管理器接收到報(bào)警后,阻止所有陌生外出鏈接,并開始閾值分析。通過安全管理器傳送給防火墻以過濾該蠕蟲。
(2)基于網(wǎng)絡(luò)協(xié)作的蠕蟲防范的關(guān)鍵在于檢測軟件,分別檢測進(jìn)入內(nèi)網(wǎng)的報(bào)文或檢測發(fā)往外網(wǎng)的報(bào)文。檢測軟件可以部署在內(nèi)網(wǎng)和外網(wǎng)的交接處,可以是邊界路由器,也可以是防火墻的一部分,或者是獨(dú)立的檢測設(shè)備。
2.3木馬的防御方法
木馬具有隱蔽性和非法訪問的特點(diǎn),其攻擊原理是通過客戶程序向服務(wù)器發(fā)送指令,服務(wù)器程序接收控制指令后,根據(jù)指令在本地執(zhí)行相應(yīng)的動(dòng)作,并把執(zhí)行結(jié)果返回給客戶程序。除了反病毒軟件查殺病毒或?qū)iT的木馬查殺工具,還有幾種方法防范。
(1)檢查網(wǎng)絡(luò)通信狀態(tài) 在關(guān)閉所有正常網(wǎng)絡(luò)程序的情況下,檢查網(wǎng)絡(luò)連接狀態(tài)監(jiān)測木馬,發(fā)現(xiàn)不熟悉的程序或奇怪的端口運(yùn)行,及時(shí)跟蹤相應(yīng)的進(jìn)程,找到木馬程序的位置。
(2)查看進(jìn)程與服務(wù) 可以用“netstart”或 “services.msc”程序觀察當(dāng)前正在運(yùn)行哪些服務(wù),對于可疑程序停止運(yùn)行。運(yùn)行任務(wù)管理器,查看系統(tǒng)列表中是否出現(xiàn)可疑進(jìn)程,進(jìn)一步判斷是否是木馬服務(wù)程序。
(3)查看系統(tǒng)啟動(dòng)項(xiàng) 發(fā)現(xiàn)可疑啟動(dòng)項(xiàng),立即修改配置刪除有關(guān)啟動(dòng)項(xiàng),系統(tǒng)重啟后,根據(jù)啟動(dòng)項(xiàng)關(guān)聯(lián)的程序位置能找到木馬位置。
3.結(jié)束語
本文介紹了幾種惡意代碼,通過對惡意代碼破壞機(jī)制的分析,簡要地闡述了目前應(yīng)對這種攻擊的防御思想以及針對程序行為的監(jiān)控思想。當(dāng)前惡意代碼攻防研究才剛剛起步,基于惡意代碼,需要研究更多可能的攻擊和防御點(diǎn)。
作者簡介:
劉泳儀1(2002.1),女,漢族,遼寧鐵嶺市人,研究方向:信息安全。
姚瑀哲2(2001.4),女,漢族,遼寧鐵嶺市人,研究方向:信息安全。
通訊作者簡介:鄭虹(1967.4),女,漢族,遼寧丹東市人,碩士,副教授。
大學(xué)生創(chuàng)新訓(xùn)練項(xiàng)目:校級+入侵檢測技術(shù)的應(yīng)用研究+202110169057。