分類
CISSP

保護環0-處理故障

https://ithelp.ithome.com.tw/upload/images/20210901/201321603bcsjROKk3.png
-保護環(來源:維基百科)

保護環:指令特權級別和操作系統模式(Protection Rings: Instruction Privilege Levels and OS modes)
大多數現代操作系統以兩種模式運行程序:內核模式和用戶模式。內核模式通常運行在特權級別 0,而用戶模式運行在特權級別 3。保護環傳達了操作系統如何利用指令集的 CPU 特權級別的想法。
x86指令集中的特權級別控制當前在處理器上運行的程序對內存區域、I/O 端口和特殊指令等資源的訪問。有 4 個特權級別,從 0 是最高特權,到 3 是最低特權。大多數現代操作系統對內核/執行程序使用級別 0,對應用程序使用級別 3。任何可用於級別 n 的資源也可用於級別 0 到 n,因此權限級別是環。當較低特權的進程嘗試訪問較高特權的進程時,會向操作系統報告一般保護錯誤異常。
資料來源:維基百科

異常處理(Exception Handling)
https://ithelp.ithome.com.tw/upload/images/20210901/20132160hSxqbEpcQ4.jpg
-異常處理(來源:https : //minnie.tuhs.org/)
操作系統 (OS) 內核通常處理來自進程的系統調用、來自 CPU 的異常以及來自外圍設備的中斷。在用戶模式下運行的應用程序或進程可能會遇到錯誤或故障,導致在內核模式下運行的操作系統內核捕獲到 CPU 級別的異常。如果發生故障,操作系統內核將拋出異常或向應用程序發送信號。以下屏幕截圖是演示應用程序正確處理異常的代碼片段。但是,如果應用程序不處理異常,操作系統將終止它。
https://ithelp.ithome.com.tw/upload/images/20210901/201321607ZayXG6l5o.jpg
-除以零

參考
保護環
操作系統中的特權和非特權指令
CIS 3207 – 操作系統:CPU 模式
編寫 Hello World Windows 驅動程序 (KMDF)
如何使用 C++ 以 SYSTEM 身份運行程序?
除以零預防:陷阱、異常和可移植性
用戶和內核模式、系統調用、I/O、異常

資料來源: Wentz Wu QOTD-20210802

PS:此文章經過作者同意刊登 並且授權可以翻譯成中文

作者: stevencho

從事資訊工作二十多年,對資安極具熱情,在 Network Security, Endpoint Security, 及 Mobile Security 等資安領域有超過十年以 上的經驗。曾任職精誠資訊資安產品代理部門技術經理,負責 資安產品之技術支援與大型企業導入專案。此外,他也取得了 ISO 27001 主導稽核員證書及 Check Point 的 CCSA 與 CCSE 等防 火牆產品等專業證照。此外,平常除了喜歡透過ITHelp平台及個人部落格分享文章,亦常擔任社群活動主辦者及志工,連結資安同好聯誼及共好學習,並協助對於CISSP有興趣的同學與同好準備認證考試。