恶意代码简介
惡意代碼(malware)指的是使計算機按照攻擊者的意圖執(zhí)行以達到惡意目標的指令集。惡意代碼主要包括:計算機病毒、蠕蟲、惡意移動代碼、后門、特洛伊木馬、僵尸網(wǎng)絡(luò)和內(nèi)核套件等。
- 計算機病毒:是一種能夠自我復(fù)制的代碼,通過將自身嵌入其他程序進行感染,而感染過程通常需要人工干預(yù)才能完成。
- 蠕蟲:可自我復(fù)制,通過不需要將自身嵌入到其他宿主程序中,一般不需要人工干預(yù)。
- 惡意移動代碼:移動代碼指可以從遠程主機下載并在本地執(zhí)行的輕量級程序,不需要或僅需要極少的人為干預(yù)。移動代碼通常在Web服務(wù)器端實現(xiàn)。惡意移動代碼是指在本地系統(tǒng)執(zhí)行一些用戶不期望的惡意動作的移動代碼。
- 后門:指一類能夠繞開正常的安全控制機制,從而為攻擊者提供訪問途徑的一類惡意代碼。攻擊者可以通過使用后門工具對目標主機進行完全控制。
- 特洛伊木馬:一類偽裝成有用的軟件,但隱藏其惡意目標的惡意代碼。
- 僵尸網(wǎng)絡(luò):攻擊者出于惡意目的,傳播僵尸程序控制大量主機,并通過一對多的命令與控制程序所組成的攻擊網(wǎng)絡(luò)。僵尸網(wǎng)絡(luò)區(qū)別 于其他攻擊方式的基本特性是使用一對多的命令與控制機制,此外也具有惡意性和網(wǎng)絡(luò)傳播特性。
- 內(nèi)核套件:是在用戶態(tài)通過替換或修改系統(tǒng)關(guān)鍵可執(zhí)行文件,或者在內(nèi)核態(tài)通過控制操作系統(tǒng)內(nèi)核,用以獲取并保持最高控制權(quán)的一類惡意代碼,又分為用戶態(tài)Rootkit和內(nèi)核態(tài)Rootkit兩種。
| 惡意代碼類型 | 計算機病毒 | 網(wǎng)絡(luò)蠕蟲 |
| 復(fù)制性 | 自我復(fù)制,感染性 | 自我復(fù)制,感染性 |
| 定義特性 | 感染宿主文件/扇區(qū) | 通過網(wǎng)絡(luò),自主傳播 |
| 宿主 | 需要寄生宿主 | 不需要宿主,獨立程序 |
| 傳播路徑 | 感染文件或扇區(qū),通過文件交換或共享傳播 | 直接通過網(wǎng)絡(luò)傳播,包括內(nèi)網(wǎng)和互聯(lián)網(wǎng) |
| 傳播是否需要用戶交互 | 通過需要用戶交互,如運行一個程序或打開文檔 | 一般來說,不需要用戶交互,通過目標系統(tǒng)上的安全漏洞或錯誤配置進行傳播。但對于一小部分蠕蟲,如郵件蠕蟲,用戶交互是必要的 |
惡意代碼分析主要有靜態(tài)分析和動態(tài)分析兩大類技術(shù)方法。
惡意代碼靜態(tài)分析技術(shù)主要包括:反病毒軟件掃描(https://www.virustotal.com/zh-cn/)、文件格式識別、字符串提取分析、二進制結(jié)構(gòu)分析、反匯編、反編譯、代碼結(jié)構(gòu)與邏輯分析、加殼識別和代碼脫殼。
- 反病毒軟件掃描:使用現(xiàn)成的反病毒軟件來掃描待分析的樣本,以確代碼是否含有病毒。
- 文件格式識別:惡意代碼通常是以二進制可執(zhí)行文件格式存在的,其他的存在形式還包括腳本文件、帶有宏指令的數(shù)據(jù)文件、壓縮文件等。文件格式識別能夠讓我們快速地了解待分析樣本的文件格式,對于二進制可執(zhí)行文件而言,了解樣本的格式也意味洋 我們獲知了惡意代碼所期望的運行平臺。在Windows平臺上,二進制可執(zhí)行yywrexe和dll都是以pe文件格式組織的,而在linux平臺上,可執(zhí)行文件格式則是elf。
- 字符串提取分析:有時惡意代碼的作者會在自己的作品中放入某個特定的url或email地址,或者惡意代碼會使用到某個特定的庫文件和函數(shù)。利用字符串提取技術(shù),可以幫助我們分析惡意代碼的功能和結(jié)構(gòu)。
- 反匯編、反編譯:可根據(jù)二進制文件最大限度地恢復(fù)出源代碼,幫助分析代碼結(jié)構(gòu)。
- 加殼識別和代碼脫殼:惡意代碼的加殼會對深入的靜態(tài)分析構(gòu)成阻礙,因此對加殼進行識別以及代碼脫殼是支持惡意代碼靜態(tài)分析一項關(guān)鍵性的技術(shù)手段。
惡意代碼的動態(tài)分析技術(shù)手段主要有:快照比對、系統(tǒng)動態(tài)行為監(jiān)控、網(wǎng)絡(luò)協(xié)議棧監(jiān)控、沙箱、動態(tài)調(diào)試等。
- 快照比對:對原始的“干凈”系統(tǒng)資源列表做一個快照,然后激活惡意代碼并給予充分的運行時間,如5分鐘,之后我們再對惡意代碼運行后“臟”的系統(tǒng)資料列表進行快照,并對比兩個快照之間的差異,從而獲取惡意代碼行為對系統(tǒng)所造成的影響。常使用的工具有:FileSnap,RegSnap,完美卸載等
- 系統(tǒng)動態(tài)行為監(jiān)控:是目前惡意代碼動態(tài)行為分析中最為核心和常用的技術(shù)步驟,針對惡意代碼對文件系統(tǒng)、運行進程列表、注冊表、本地網(wǎng)絡(luò)棧等方面的行為動作,進行實時監(jiān)視、記錄和顯示。
- 網(wǎng)絡(luò)協(xié)議棧監(jiān)控方法:可從本地網(wǎng)絡(luò)上的其他主機來檢測承受惡意代碼攻擊的機器的行為,如惡意代碼所開放的TCP或UDP端口,對外發(fā)起的網(wǎng)絡(luò)連接和通信會話等。
- 沙箱技術(shù):沙箱是不項安全技術(shù),它提供了受限制的執(zhí)行環(huán)境,使得在沙箱中運行的代碼不能修改用戶系統(tǒng),從而提供了一個用于運行不可信程序的安全環(huán)境。
總結(jié)
- 上一篇: 摘: cmd环境 使用一点知识
- 下一篇: linux的网络配置