CPU硬體防毒原理
現在市場上Intel和AMD整合防毒技術的CPU都是使用了NXbit(記憶體溢位保護)技術來實現的。相信很多使用者還對沖擊波病毒心有餘悸,其實,像衝擊波這種蠕蟲病毒就都是靠緩衝區溢位問題興風作浪的,而透過NXbit就可以有效地解決這個問題。
NXbit可以透過在轉換物理地址和邏輯地址的頁面編譯臺中新增NX位來實現NX。在CPU進行讀指令操作時,將從實際地址讀出資料,隨後將使用頁面編譯臺由邏輯地址轉換為物理地址。如果這個時候NX位生效,會引發資料錯誤。一般情況下,緩衝區溢位攻擊會使記憶體中的緩衝區溢位,修改資料在堆疊中的返回地址。一旦改寫了返回地址,則堆疊中的資料在被CPU讀入時就可能執行儲存在任意位置的命令。
通常由於溢位的資料中包括程式,因此可能會執行非法程式。因此,作業系統在確保堆疊及緩衝區的資料時,只需將該區域的NX位設定為開啟(ON)的狀態即可防止執行堆疊及緩衝區內的程式,其原理就是透過把程式程式碼與資料完全分開來防止病毒的執行。雖然英特爾和AMD對各自的硬體防毒技術有不同的命名,但他們的實現原理都是一樣的。
CPU內嵌的防病毒技術是一種硬體防病毒技術,與作業系統相配合,可以防範大部分針對緩衝區溢位(bufferoverrun)漏洞的攻擊(大部分是病毒)。Intel的防病毒技術是EDB(ExcuteDisableBit),AMD的防病毒技術是EVP(EhancedVirusProtection),但不管叫什麼,它們的原理都是大同小異的。嚴格來說,目前各個CPU廠商在CPU內部整合的防病毒技術不能稱之為“硬體防毒”。首先,無論是Intel的EDB還是AMD的EVP,它們都是採用硬軟結合的方式工作的,都必須搭配相關的作業系統和軟體才能實現;其次,EDB和EVP都是為了防止因為記憶體緩衝區溢位而導致系統或應用軟體崩潰的,而這記憶體緩衝區溢位有可能是惡意程式碼(病毒)所為,也有可能是應用程式設計的缺陷所致(無意識的),因此我們將其稱之為“防緩衝區溢位攻擊”更為恰當些。
只有CPU支援硬體防毒是不成的必需跟作業系統配合支援硬體防毒的系統有XPSP2/2003SP1/VISTA具體名稱叫DEP資料執行保護已XPSP2為例開啟我的電腦屬性高階效能設定資料執行保護
CPU硬體防毒原理
現在市場上Intel和AMD整合防毒技術的CPU都是使用了NXbit(記憶體溢位保護)技術來實現的。相信很多使用者還對沖擊波病毒心有餘悸,其實,像衝擊波這種蠕蟲病毒就都是靠緩衝區溢位問題興風作浪的,而透過NXbit就可以有效地解決這個問題。
NXbit可以透過在轉換物理地址和邏輯地址的頁面編譯臺中新增NX位來實現NX。在CPU進行讀指令操作時,將從實際地址讀出資料,隨後將使用頁面編譯臺由邏輯地址轉換為物理地址。如果這個時候NX位生效,會引發資料錯誤。一般情況下,緩衝區溢位攻擊會使記憶體中的緩衝區溢位,修改資料在堆疊中的返回地址。一旦改寫了返回地址,則堆疊中的資料在被CPU讀入時就可能執行儲存在任意位置的命令。
通常由於溢位的資料中包括程式,因此可能會執行非法程式。因此,作業系統在確保堆疊及緩衝區的資料時,只需將該區域的NX位設定為開啟(ON)的狀態即可防止執行堆疊及緩衝區內的程式,其原理就是透過把程式程式碼與資料完全分開來防止病毒的執行。雖然英特爾和AMD對各自的硬體防毒技術有不同的命名,但他們的實現原理都是一樣的。
CPU內嵌的防病毒技術是一種硬體防病毒技術,與作業系統相配合,可以防範大部分針對緩衝區溢位(bufferoverrun)漏洞的攻擊(大部分是病毒)。Intel的防病毒技術是EDB(ExcuteDisableBit),AMD的防病毒技術是EVP(EhancedVirusProtection),但不管叫什麼,它們的原理都是大同小異的。嚴格來說,目前各個CPU廠商在CPU內部整合的防病毒技術不能稱之為“硬體防毒”。首先,無論是Intel的EDB還是AMD的EVP,它們都是採用硬軟結合的方式工作的,都必須搭配相關的作業系統和軟體才能實現;其次,EDB和EVP都是為了防止因為記憶體緩衝區溢位而導致系統或應用軟體崩潰的,而這記憶體緩衝區溢位有可能是惡意程式碼(病毒)所為,也有可能是應用程式設計的缺陷所致(無意識的),因此我們將其稱之為“防緩衝區溢位攻擊”更為恰當些。
只有CPU支援硬體防毒是不成的必需跟作業系統配合支援硬體防毒的系統有XPSP2/2003SP1/VISTA具體名稱叫DEP資料執行保護已XPSP2為例開啟我的電腦屬性高階效能設定資料執行保護