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