探索ring0之核心概述
探索ring0之核心概述
核心概述
Intel x86系列處理器使用“環”的概念來實施訪問控制,共有4個許可權級別,由高到低分別為Ring0、Ring1、Ring2、Ring3,其中Ring0許可權最高,Ring3許可權最低。Windows(從NT開始)和Linux等多數作業系統在Intel x86處理器上只使用了Ring0和Ring3,其中核心態對應著Ring0,使用者態對應著Ring3。兩個特權級足以實現作業系統的訪問控制,況且之前支援的有些硬體體系結構(比如Compaq Alpha和Silicon Graphics MIPS)只實現了兩個特權級。本篇所討論的核心程式漏洞特指Ring0程式中的能被利用的bug或缺陷。
一般地,作業系統的核心程式、驅動程式等都是在Ring0級別上執行的。此外,很多安全軟體、遊戲軟體、工具軟體等第三方驅動程式,也會透過系統服務的方式在Ring0級別上執行。越來越多的病毒、木馬、後門、惡意軟體也有自己的驅動程式,想方設法的進入Ring0,以求提高自身的執行許可權,與安全軟體進行對抗。
時至今日,Ring0上執行的程式已經不再是單純的系統核心,核心漏洞也不再是作業系統專屬的問題,而是很多安全軟體、遊戲軟體、工具軟體等軟體廠商共同需要面對的問題。
隨著作業系統和安全軟體的日益完善,在普通溢位漏洞難以奏效的情況下,容易被人忽略的核心漏洞往往可以作為突破安全防線的切入點。如果病毒木馬載入了驅動或進入了Ring0,是否還能夠實施有效的防禦呢?這是一個很有趣的問題,因為對抗的雙方都處在系統最高許可權,我們稱之為“核心PK”,也許這種PK能成為今後的一個研究熱點。
研究核心漏洞,需要首先掌握一些核心基礎知識,例如核心驅動程式的開發、編譯和執行,核心中重要的資料結構等,後面幾節將對這些內容做簡單的介紹。
本文節選自《0day安全:軟體漏洞分析技術(第2版)》一書。
圖書詳細資訊: http://space.itpub.net/?uid-13164110-action-viewspace-itemid-701890
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/13164110/viewspace-701891/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- spring 核心概述Spring
- PHP核心探索之PHP中的雜湊表PHP
- 核心管理概述(轉貼)
- 核心管理概述(轉載)
- 概述javascript部分核心機制JavaScript
- 概述nodejs核心機制NodeJS
- 探索Oracle之資料庫升級一 升級補丁修復概述Oracle資料庫
- PHP核心探索之變數(1)Zval(自己看過不錯兒)PHP變數
- 概述nodejs模組系統核心原理NodeJS
- oracle之hint概述Oracle
- 【原創】xenomai核心解析--實時IPC概述AI
- 戳戳HackShield Ring0反除錯除錯
- Qt入門之概述QT
- [PHP核心探索]PHP中的雜湊表PHP
- Linux核心之 核心同步Linux
- Scrum 之 Sprint Backlog 概述Scrum
- JavaScript 複習之DOM 概述JavaScript
- [java IO流]之 IO概述Java
- 設計模式之概述篇設計模式
- Linux(核心剖析):19---中斷總體概述Linux
- 基於軟體工程的Qt播放器探索(一) 概述軟體工程QT播放器
- PHP核心探索:寫時複製COW機制PHP
- Linux核心學習筆記(5)– 程式排程概述Linux筆記
- Flutter系列之Dart語言概述FlutterDart
- Boltdb學習筆記之〇--概述筆記
- 00、React系列之--React 系列概述React
- 00、React系列之 React 系列概述React
- 走向核心的探索 — V8引擎初探
- iOS 底層探索之RunloopiOSOOP
- 搜尋系統核心技術概述【1.5w字長文】
- Java基礎知識之概述(一)Java
- Spring WebFlux之HttpHandler的探索SpringWebUXHTTP
- MaterialDesign之對TabLayout的探索TabLayout
- AngularJS核心之DirectiveAngularJS
- 內網滲透思路探索 之新思路的探索與驗證內網
- 系列之TCP/IP協議-概述(001)TCP協議
- netty系列之:netty架構概述Netty架構
- Docker小白到實戰之開篇概述Docker