计算机病毒与恶意代码期末总结
寫在前面
所用教材:劉功申等人編著的第四版
博客地址:https://blog.csdn.net/zss192
說明:博客為根據老師所畫重點有針對性的總結,供個人復習使用,僅供參考
第一章 惡意代碼概述
1.惡意代碼的共同特征(P3選)
- 目的性:基本特征,是判別程序是否為惡意代碼的最重要的特征,也是法律上判斷惡意代碼的標準。
- 傳播性:惡意代碼體現其生命力的重要手段。
- 破壞性:惡意代碼的表現手段。
2.惡意代碼種類(P9選)
- 普通計算機病毒
- 蠕蟲
- 特洛伊木馬
- RootKit工具
- 流氓軟件
- 間諜軟件
- 惡意廣告
- 邏輯炸彈
- 僵尸網絡
- 網絡釣魚
- 惡意腳本
- 垃圾短信
- 勒索軟件
- 移動終端惡意代碼
3.惡意代碼發作后的現象(P18選哪個不是)
- 無法啟動系統
- 系統文件丟失或被破壞
- 部分BIOS程序混亂
- 部分文檔丟失或被破壞
- 部分文檔自動加密
- 目錄結構發生混亂
- 網絡無法提供正常的服務
- 瀏覽器自動訪問非法網站
4.與病毒現象類似的故障(P19選)
- 硬件故障
- 系統的硬件配置
- 電源電壓不穩定
- 接觸不良
- 驅動器故障
- CMOS的問題
- 軟件故障
- 軟件程序已被破壞
- 軟件與操作系統不兼容
- 引導過程故障
- 使用不同的編輯軟件導致錯誤
推測與第3點結合出題,給出4個選項,其中混著一個硬件故障或軟件故障,讓選擇哪個不是惡意代碼的發作現象
第二章 惡意代碼模型及機制
1.計算機病毒的組成(P48選)
- 引導模塊
- 引導過程:駐留在內存中、竊取系統控制權、恢復系統功能
- 感染模塊
- 傳染過程
- 被動傳染:隨著復制或網絡傳輸工作的進行而進行
- 主動傳染:在系統運行時,進入系統的內存儲器,常駐內存監視系統的運行,用多種方式傳染
- 傳染方式
- 立即傳染:病毒在被執行的瞬間,搶在宿主程序開始執行前感染磁盤上的其他程序,然后再執行宿主程序
- 駐留內存伺機感染:在執行程序或瀏覽網頁時傳染磁盤上的程序,在宿主程序運行結束后仍可活動,直至關閉計算機
- 傳染過程
- 破壞模塊
- 不一定都是刪除磁盤文件,也有可能是顯示一串無用的信息或干擾用戶工作
- 破壞行為越來越隱秘,甚至竊取信息后會自動銷毀
- 觸發模塊
- 病毒常用的觸發條件:日期觸發、時間觸發、鍵盤觸發、感染觸發、啟動觸發、訪問磁盤次數觸發、CPU型號/主板型號觸發
2.世界上第一臺計算機ENIAC是(隨機訪問計算機)模型(P51)
第三章 傳統計算機病毒
1.PE文件結構及其運行原理(P66)
PE(Portable Executable,可移植的執行體)是Win32環境自身所帶的可執行文件格式。它的一些特性繼承自UNIX的COFF(Common Object File Format)文件格式。
可移植的執行體意味著此文件格式是跨Win32平臺的,即使 Windows運行在非 Intel的CPU上,任何Win32平臺的PE裝載器都能識別和使用該文件格式。
當然,移植到不同的CPU上PE執行體必然得有一些改變。除VxD和16位的DLL外,所有Win32執行文件都使用PE文件格式。因此,研究PE文件格式是我們洞悉 Windows結構的良機。
2.病毒感染其他文件的步驟(P71簡答)
(1)判斷目標文件開始的兩個字節是否為MZ
(2)判斷PE文件標記"PE"
(3)判斷感染標記,如果已被感染過則跳出繼續執行宿主程序,否則繼續
(4)獲得數據目錄的個數(每個數據目錄信息占8個字節)
(5)得到節表起始位置(數據目錄的偏移地址+數據目錄占用的字節數=節表起始位置)
(6)得到節表的末尾偏移(緊接其后用于寫入一個新的病毒節信息,節表起始位置+節的個數*每個節表占用的字節數28H=節表的末尾偏移)
(7)開始寫入節表
(8)在新添加的節中寫入病毒代碼
(9)將當前文件位置設為文件末尾
必須背會,括號里的記不住可不寫
3.Ring3與Ring0(P72)
-
Windows操作系統運行在保護模式,保護模式將指令執行分為4個特權級:Ring0,Ring1,Ring2,Ring3
-
Ring0級別最高,可以執行特權指令(OS使用);Ring3級別最低(應用程序使用)
4.什么是宏病毒(P73)
宏病毒是一種寄存在文檔或模板的宏中的計算機病毒。一旦打開這樣的文檔,其中的宏就會被執行,于是宏病毒就會被激活,轉移到計算機上,并駐留在Normal模板上。
宏:一些命令組織在一起,作為一個獨立單元完成一個特定任務
經典宏病毒:美麗莎(Melissa)、臺灣NO.1B、O97M.Tristate.C病毒
第五章 特洛伊木馬
1.什么是特洛伊木馬(P122)
特洛伊木馬(Trojan Horse)是一種與遠程計算機之間建立起連接,使遠程計算機能夠通過網絡控制用戶計算機系統并且可能造成用戶的信息損失、系統損壞甚至癱瘓的程序。
2.一個完整的木馬系統的組成(P122簡答)
- 硬件部分:建立木馬連接所必需的硬件實體。包括控制端、服務端、Internet
- 軟件部分:實現遠程控制所必需的軟件程序。包括控制端程序、木馬程序、木馬配置程序
- 具體連接部分:通過Internet在服務端和控制端之間建立一條木馬通道所必需的元素。包括控制端IP和服務端IP、控制端端口和木馬端口
3.木馬程序的基本特征(P123)
欺騙性、隱蔽性(木馬和遠程控制軟件的區別)、自動運行性、自動恢復性、功能的特殊性
4.什么是網站掛馬技術(P139)
網頁掛馬就是攻擊者通過在正常的頁面中(通常是網站的主頁)插入一段惡意代碼。瀏覽者在打開該頁面的時候,這段代碼被執行,然后把某木馬的服務器端程序或種子下載到瀏覽者本地并運行,進而控制瀏覽者的主機。
常見的有框架掛馬、js掛馬、圖片偽裝掛馬、網絡釣魚掛馬、偽裝掛馬
5.什么是隱藏技術(P143)
木馬為了生存,使用許多技術隱藏自己的行為(進程、連接和端口)
主要的隱藏技術有:反彈式木馬技術、用ICMP方法隱藏連接、隱藏端口、Windows NT系統下木馬進程的隱藏、遠程線程技術
第七章 蠕蟲
1.蠕蟲的分類(P187)
- 一種是面向企業用戶和局域網的,其利用系統漏洞,主動進行攻擊,可使整個互聯網癱瘓。
- 爆發具有一定的突然性,查殺這種病毒并不是很難
- 以紅色代碼、尼姆達以及SQL蠕蟲王為代表
- 另外一種是針對個人用戶的,通過網絡(主要是電子郵件、惡意網頁形式)迅速傳播的蠕蟲病毒
- 比較復雜多樣,常利用社會工程學欺詐和誘騙用戶,造成損失非常大且很難根除
- 以愛蟲病毒、求職信病毒為代表
蠕蟲:一種能夠利用系統漏洞通過網絡進行自我傳播的惡意程序
2.什么是RPC漏洞(P192)
遠程過程調用RPC(Remote Procedure Call)是 Windows操作系統使用的一個協議,提供了一種進程間通信機制,通過這一機制,在一臺計算機上運行的程序可以順暢地執行某個遠程系統上的代碼。RPC漏洞則是利用RPC的漏洞。
RPC中處理通過TCP/IP的消息交換的部分存在一個漏洞(錯誤地處理格式不正確的消息造成)
RPC漏洞影響分布式組件對象模型(DCOM)與RPC間的一個接口,此接口偵聽135端口
Samba在處理用戶數據輸入時存在輸入驗證漏洞,攻擊者可執行任意命令
第八章 勒索型惡意代碼
1.勒索型惡意代碼加密算法(P212)
對稱加密算法:AES(使用最多),非對稱加密算法:RSA
摘要:用Hash函數(也稱散列函數或哈希函數)將任意長度的數據變成固定長度的數據
第九章 其他惡意代碼
1.流氓軟件的定義(P227簡答)
第一個定義:流氓軟件是指具有一定的實用價值但具備計算機惡意代碼和黑客的部分行為特征的軟件。它處在合法軟件和惡意代碼之間的灰色地帶,使用戶無法卸載,并強行彈出廣告和竊取用戶的私人信息。
第二個定義:流氓軟件是介于惡意代碼和正規軟件之間,同時具備正常功能(下載、媒體播放等)和惡意行為(彈廣告、開后門)的軟件,給用戶帶來實質危害。
2.Rootkit的定義(P243)
Rootkit是攻擊者用來隱藏自己的蹤跡和保留root訪問權限的工具。Rootkit一般都和木馬、后門等其他惡意程序結合使用。
3.APT的攻擊過程(P246簡答)
- 第一階段:定向信息收集:有針對性的搜集系統和員工信息
- 第二階段:單點攻擊突破:采用一切可以采用的手段攻擊員工的個人計算機,設法實現單點突破
- 第三階段:構建通道:建立長期的聯系通道,通過該通道發送攻擊指令、傳輸數據等
- 第四階段:橫向滲透:以員工個人計算機為跳板,在系統內部橫向滲透,以攻陷更多的個人計算機和服務器
- 第五階段:目標行動:獲得有價值的數據并偷運到由攻擊者控制的外部
高級持續性威脅(APT)是利用先進的攻擊手段對特定目標進行長期持續型網絡攻擊的攻擊形式
4.APT的特征(P248簡答)
- 高級性:APT攻擊的方式相對于其他攻擊形式更為高級,體現在3個方面
- 高級的收集手段
- 高級的攻擊手法
- 威脅高級的數據
- 持續性:持續性是APT攻擊的最大威脅,可以包括以下幾點
- 持續潛伏
- 持續攻擊
- 持續欺騙
- 持續控制
第十章 惡意代碼防范技術
1.惡意代碼防范思路(P256)
(1)檢測:利用靜態檢測、動態檢測等技術,通過手工檢測或自動檢測等方法來識別惡意代碼
(2)清除:根據惡意代碼的類型,選擇不同的方法來清除惡意代碼;
(3)預防:通過個人防火墻和系統加固等技術來防止惡意代碼對系統進行傳染和破壞(被動)
(4)免疫:通過計算機系統本身的技術增加自己的防范能力,是一種主動的預防技術
(5)數據備份及恢復:及時對數據進行備份、遇到故障時保證數據可恢復
(6)防范策略:以單位實際情況為主要依據形成一套好的管理制度和策略
第十一章 常用殺毒軟件及其解決方案
1.殺毒軟件必備功能(P287)
查殺能力、防范新惡意代碼的能力、備份和恢復能力、實時監控能力、升級能力、智能安裝能、簡單易用、資源占用情況、兼容性、價格、廠商的實力
第十二章 惡意代碼防治策略
1.惡意代碼防止策略的基本準則(P302)
- 拒絕訪問能力:來歷不明的軟件不得進入計算機系統
- 檢測能力:系統應設置檢測惡意代碼的機制來阻止外來惡意代碼的侵犯
- 控制傳播的能力:應阻止惡意代碼在系統中任意傳播
- 清除能力:如果惡意代碼突破了系統的防護,即使傳播受到了控制,也要有相應的措施將它清除
- 恢復能力:系統應提供一種高效的方法來恢復被破壞的數據,將損失減到最少
- 替代操作:系統未恢復前用替代系統工作,等問題解決后再換回來
2.惡意代碼的防治策略(P303簡答)
- 國家層面
- 完善相關法律法規及其貫徹落實工作
- 在各主干網絡建立惡意代碼預警系統
- 建立多層次惡意代碼應急體系
- 建立動態的系統風險評估措施
- 建立惡意代碼事故分析制度
- 制定完備的備份和恢復計劃
- 提高國內運營商自身的安全性
- 加強信息安全培訓
- 加強技術防范措施
- 單機用戶
- 一般措施
- 安裝操作系統后第一時間進行系統升級
- 使用高強度的口令并定定期更換
- 及時安裝系統補丁
- 重要數據應當留有備份
- 選擇經權威機構認證的安全防范軟件
- 使用個人防火墻保障系統的安全性
- 不需要使用網絡時,就不要接入互聯網
- 設置殺毒軟件的郵件自動殺毒功能
- 正確配置惡意代碼防治產品
- 充分利用系統提供的安全機制,正確配置系統
- 定期檢查敏感文件
- 個人用戶上網基本策略
- 關閉瀏覽器cookie選項
- 使用個人防火墻
- 瀏覽電子商務網站盡可能使用安全的連接方式
- 不透漏關鍵信息
- 避免使用過于簡單的密碼
- 不要隨意打開電子郵件附件
- 定期掃描計算機并查找安全漏洞
- 使用軟件的穩定版本并及時安裝補丁
- 盡量關閉不需要的組件和服務程序
- 盡量使用代理服務器上網
- 一般措施
應該不用記完,每個大點記住幾個小點就行,盡量都記住
其它知識點
詳細內容看實驗文檔
1.什么是符號文件
符號文件(Symbol Files)是一個數據信息文件。
它包含了應用程序二進制文件(比如:EXE、DLL等)調試信息,專門用來作調試之用,最終生成的可執行文件在運行時并不需要這個符號文件,但你的程序中所有的變量信息都記錄在這個文件中。所以調試應用程序時,這個文件是非常重要的。
符號文件可能包含:全局變量、局部變量、函數名稱和其入口點的地址、幀指針省略 (FPO) 記錄、源行號,其中每個項分別稱為一個符號。
在 Windows 系統中,符號文件以 .pdb 為擴展名
windbg調試器鍵入ctrl+s打開符號表路徑設置
windbg命令行下載符號文件(.sympath設置加載路徑,也可按上圖那樣設置路徑)
.sympath srv*c:\MyServerSymbols*https://msdl.microsoft.com/download/symbols
.reload /f
2.用戶模式調試和內核模式調試的區別
用戶模式調試是在Ring3級別調試,而內核模式調試在Ring0級別調試
如WinDbg是由Microsoft開發的內核模式調試器,可用于調試運行它的操作系統本身。這意味著它可以調試內核代碼,即運行在Ring 0中的特權代碼。
而OllyDbg是一個用戶模式調試器,它只能調試用戶模式的可執行文件,例如Exe。
內核模式調試環境通常有兩臺計算機:主計算機和目標計算機,二者通過以太網電纜連接,也可以用命名管道連接(如VMware)
3.windbg串口(串行端口)問題
windbg內核調試使用虛擬機調試時需要設置串口
管道名稱:\\.\pipe\com1(注意打印機會占用端口1,若使用端口1需先刪除打印機設備)
主計算機:選擇從客戶端到一個虛擬機器
目標計算機:選擇從服務器到一個虛擬機器
調試機中win+R鍵入c:\boot.ini打開系統啟動配置.然后添加一行配置,如下
右鍵windbg快捷方式,選擇屬性->快捷方式->目標,在后面添加-b -k com:port=1,baud=115200
4.EMACS常用命令(選)
| 打開文件 | C-x C-f |
| 保存文件 | C-x C-s |
| 保存所有文件 | C-x s |
| 另存為文件 | C-x C-w |
| 退出Emacs | C-x C-c |
| 打開SHELL | M-x shell |
| 執行SHELL命令 | M-! |
| 粘貼 | C-y |
| 切換到 EVIL 模式 | M-x evil-mode |
若安裝插件,先配置.emacs文件(windows是init.el文件)
運行 M-x package-refresh-contents 刷新插件服務器內容
運行 M-x package-install RET 后輸入 M-x evil-org 安裝此插件
5.windbg常用命令(選)
| bp | 某個地址下斷點 | bp @exentry、bp 0x88888888、bp MyApp!Func |
| g | 繼續執行 | |
| bu | 針對某個符號下斷點 | bu test1!main 在test1程序的main函數下斷點 |
| bm | 支持正則表達式斷點 | bm *!draw* |
| bl | 列出所有斷點 | |
| bc | 清除斷點 | |
| ba | 指定內存被訪問觸發斷點 | ba Access Size [地址]:ba w4 0x0483DFE |
| !address | 目標進程內存使用 | !address Address |
| !address | 將堆棧地址分開 | !address -summary |
| !dh | 擴展顯示指定映像的頭部 | !dh -h、!dh -f notepad、!dh ntdll |
| !lmi | 某個模塊的詳細信息 | !lmi ntdll |
| lm | 模塊及模塊的符號加載 | lm、lm vm test.dll |
| x | 檢查符號 | x kernel32!Virtual* |
| k | 查看線程調用棧 | k |
| k | 顯示每個函數的前三個參數 | kb |
| db | 顯示存儲在某地址中的數據 | db notepad |
| dd | 同上,雙字節顯示 | db notepad L100 |
| dt | 顯示結構信息 | dt _PEB |
| dt | PE 的結構 | dt -r ntdll!_IMAGE_NT_HEADERS 00fd00f8 |
| dx | C++指針計算 | dx -r1 (*((ntdll!_IMAGE_OPTIONAL_HEADER *) 0xfd0110)) |
| ed | 修改寄存器的值 | ed esp 00401010 |
| r | 顯示修改CPU寄存器 | r eax、r eax=2 |
可能會出的簡答匯總
1.病毒感染其他文件的步驟
2.一個完整的木馬系統的組成
3.流氓軟件的定義
4.APT的攻擊過程
5.APT的特征
6.惡意代碼的防治策略(國家層面和單機用戶層面)
大概率會考這六個,一定要背會,其它的知識點也盡量都背會
總結
以上是生活随笔為你收集整理的计算机病毒与恶意代码期末总结的全部內容,希望文章能夠幫你解決所遇到的問題。