TW202101262A - 內核安全檢測方法、裝置、設備及儲存媒體 - Google Patents

內核安全檢測方法、裝置、設備及儲存媒體 Download PDF

Info

Publication number
TW202101262A
TW202101262A TW108129791A TW108129791A TW202101262A TW 202101262 A TW202101262 A TW 202101262A TW 108129791 A TW108129791 A TW 108129791A TW 108129791 A TW108129791 A TW 108129791A TW 202101262 A TW202101262 A TW 202101262A
Authority
TW
Taiwan
Prior art keywords
kernel
data related
permissions
permission
detection method
Prior art date
Application number
TW108129791A
Other languages
English (en)
Inventor
李丹
許來光
裘紹翔
Original Assignee
香港商斑馬智行網絡(香港)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 香港商斑馬智行網絡(香港)有限公司 filed Critical 香港商斑馬智行網絡(香港)有限公司
Publication of TW202101262A publication Critical patent/TW202101262A/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本發明提出了一種內核安全檢測方法、裝置、設備及儲存媒體。回應於系統呼叫,對與進程權限相關的至少部分資料進行檢測;以及根據檢測結果,判斷進程的權限是否被惡意修改。透過在攻擊者對系統執行進一步操作時檢測其權限是否合法,使得攻擊者即使獲取到高於自身的權限也很難對內核形成根本的危害,從而可以一定程度上提升內核漏洞攻擊的難度,降低內核漏洞攻擊的成功率。

Description

內核安全檢測方法、裝置、設備及儲存媒體
本發明係有關內核安全領域,特別是有關一種內核安全檢測方法、裝置、設備及儲存媒體。
近年來,Linux系統應用範圍不斷擴大,現已廣泛應用於伺服器、桌面以及嵌入式設備等領域,隨著Linux系統在全世界範圍內的普及與使用,系統的安全問題也日益受到關注。 目前攻擊者主要是透過內核漏洞獲取高於自身的權限,然後利用此權限對系統執行進一步的危害以達到其目的。現有的內核保護方案主要是將內核cred結構體分為唯讀和可寫兩部分分別保護,但內核進程結構體中保存著cred結構體的指標(而不是結構體本身),雖然對cred關鍵資料形成了唯讀保護,但若進程結構體中cred的指標被修改,則可繞過該方案。 因此,需要一種更為有效的內核安全檢測方案。
本發明的一個目的在於提供一種更為有效的內核安全檢測方法、裝置、設備及儲存媒體,以增強內核安全。 根據本發明的第一個態樣,提供了一種內核安全檢測方法,包括:回應於系統呼叫,對與進程權限相關的至少部分資料進行檢測;以及根據檢測結果,判斷進程的權限是否被惡意修改。 可選地,至少部分資料包括以下至少一項:進程可存取的位址空間;組ID;用戶ID;有效用戶ID;能力;安全上下文。 可選地,回應於系統呼叫對與進程權限相關的至少部分資料進行檢測的步驟包括:在由用戶態模式進入內核態模式,且在內核處理函數呼叫前,對與進程權限相關的至少部分資料進行檢測;並且/或者在內核處理函數內部插入權限檢查模組,以對與進程權限相關的至少部分資料進行檢測;並且/或者在內核處理函數呼叫後,對與進程權限相關的至少部分資料進行檢測。 可選地,對與進程權限相關的至少部分資料進行檢測的步驟包括:將與進程權限相關的至少部分資料與預先產生的檢測集中的相應部分進行比較,以確定至少部分資料是否被惡意修改。 可選地,檢測集是基於安全方式對與進程權限相關的至少部分資料進行修改後得到的白名單,或者檢測集是對基於安全方式對與進程權限相關的至少部分資料進行修改後得到的資料,分別進行雜湊計算得到的雜湊表。 可選地,安全方式為呼叫標準介面函數。 可選地,該方法還包括:在判定進程的權限被惡意修改的情況下,結束進程或者使系統崩潰。 根據本發明的第二個態樣,還提供了一種內核安全檢測裝置,包括:檢測模組,用於回應於系統呼叫,對與進程權限相關的至少部分資料進行檢測;和判斷模組,用於根據檢測結果,判斷進程的權限是否被惡意修改。 可選地,至少部分資料包括以下至少一項:進程可存取的位址空間;組ID;用戶ID;有效用戶ID;能力;安全上下文。 可選地,檢測模組在由用戶態模式進入內核態模式,且在內核處理函數呼叫前,對與進程權限相關的至少部分資料進行檢測;並且/或者檢測模組在內核處理函數內部插入權限檢查模組,以對與進程權限相關的至少部分資料進行檢測;並且/或者檢測模組在內核處理函數呼叫後,對與進程權限相關的至少部分資料進行檢測。 可選地,檢測模組將與進程權限相關的至少部分資料與預先產生的檢測集中的相應部分進行比較,以確定至少部分資料是否被惡意修改。 可選地,檢測集是基於安全方式對與進程權限相關的至少部分資料進行修改後得到的白名單,或者檢測集是對基於安全方式對與進程權限相關的至少部分資料進行修改後得到的資料,分別進行雜湊計算得到的雜湊表。 可選地,安全方式為呼叫標準介面函數。 可選地,該裝置還包括提權處理模組,用於在檢測到存在被惡意修改的欄位的情況下,結束進程或者使系統崩潰。 根據本發明的第三個態樣,還提供了一種計算設備,包括:處理器;以及記憶體,其上儲存有可執行碼,當可執行碼被處理器執行時,使處理器執行如本發明第一個態樣述及的方法。 根據本發明的第四個態樣,還提供了一種非暫態性機器可讀儲存媒體,其上儲存有可執行碼,當可執行碼被電子設備的處理器執行時,使處理器執行如本發明第一個態樣述及的方法。 本發明會在攻擊者對系統執行進一步操作時檢測其權限是否合法,使得攻擊者即使獲取到高於自身的權限也很難對內核形成根本的危害,從而可以一定程度上提升內核漏洞攻擊的難度,降低內核漏洞攻擊的成功率。
下面將參照圖式更詳細地描述本發明的較佳實施方式。雖然圖式中顯示了本發明的較佳實施方式,然而應該理解,可以以各種形式實現本發明而不應被這裡闡述的實施方式所限制。相反地,提供這些實施方式是為了使本發明更加透徹和完整,並且能夠將本發明的範圍完整地傳達給本領域的技術人員。 [術語解釋] 內核提權:利用內核漏洞為進程獲取高於系統指定權限的攻擊方法。 內核結構體:每個進程在內核均有一個task_struct結構體的實例對應,在內核看來,此結構體即代表此進程。 cred結構體:每個進程的內核結構體中都有兩個cred結構體指標,cred結構體內記錄了目前進程作為主/客體的身份與權限,包括uid、gid、euid、capability、安全上下文等。 uid為UserId,即用戶ID,用來標識每個用戶的唯一標示符。 gid為GroupId,即組ID,用來標識用戶組的唯一識別碼。 euid為有效用戶ID,表示進程對於檔案和資源的存取權限。 capability:能力,從2.1版開始,Linux內核有了能力(capability)的概念,它打破了UNIX/LINUX作業系統中超級用戶/普通用戶的概念,由普通用戶也可以做只有超級用戶可以完成的工作。 addr_limit:進程可存取的位址空間。 在作業系統(如Linux作業系統)中,碼執行模式通常至少包括兩種:用戶態模式和內核態模式,內核態模式擁有高於用戶態模式的權限。在作業系統中,儲存記憶體的虛擬位址空間通常也被分為用戶態位址空間和內核態位址空間兩部分。通常用戶態位址空間在低位址空間,內核態位址空間在高位址空間,硬體單元MMU及頁表確保用戶態模式只能存取用戶態位址空間,內核態模式可以存取用戶態及內核態位址空間。以4G儲存記憶體,3:1模式為例,儲存記憶體位址空間可以表示為圖1所示。 系統呼叫是內核提供給用戶態進程的存取介面,內核態的碼、資料存在於內核態位址空間,由於用戶態不能存取內核態位址空間,用戶態進程與系統的所有互動,如命令執行、檔案存取最終又均需透過內核態處理,所以作業系統提供系統呼叫作為用戶態與內核態的介面,用戶態可以透過一條指令(如ARM的SWI指令)將目前狀態轉換為內核態,但此時硬體會確保之後的指令流程一定是從指定的內核態碼入口開始執行的,內核態碼入口根據用戶態傳入的不同系統呼叫號呼叫相應的內核碼,並最終將結果返回給用戶態,此過程即稱為系統呼叫。 [方案概述] 攻擊者透過內核漏洞獲取高於自身的權限後會利用此權限對系統執行進一步的危害以達到其目的,通常攻擊者獲取高於自身的權限並不是對系統造成危害的根源,憑藉此權限的額外操作才是造成系統危害的根源所在。而用戶態與系統的所有互動,如命令執行、檔案存取等均需透過系統呼叫來實現,攻擊者在獲取高權限後若不呼叫系統呼叫,則無法對系統造成實質性的危害。 基於此原理,本發明提出,可以在系統呼叫過程中,對進程權限相關的至少部分資料結構(如可以包括並不限於:addr_limit、uid/gid/euid,capability,安全上下文等)進行檢查,確保攻擊者即使獲取了高於自身的權限,也很難實現對進程關鍵資料結構的修改。 本發明提出的內核安全檢測方案,不能阻止攻擊者透過內核漏洞來獲取高於自身的權限,但會在攻擊者對系統執行進一步操作時檢測其權限是否合法,使得攻擊者即使獲取到高於自身的權限也很難對內核形成根本的危害,從而可以在一定程度上提升了內核漏洞攻擊的難度,降低內核漏洞攻擊的成功率。 [內核安檢檢測方法] 圖2是示出了根據本發明一實施例的內核安全檢查方法的示意性流程圖。其中,圖2所示的方法可以用於檢測Linux作業系統(或者類似Linux作業系統的其他作業系統)環境下運行的進程的權限是否被惡意修改,即內核提權。 參見圖2,在步驟S210,回應於系統呼叫,對與進程權限相關的至少部分資料進行檢測。 以Linux內核為例,內核提權方式如下:攻擊者透過內核漏洞修改進程的關鍵字段addr_limit,從而獲取內核態基於頁表的虛擬位址任意讀寫權限;攻擊者透過內核漏洞修改進程的關鍵字段uid/euid/gid,從而改變自身的身份為高權限用戶(如root);攻擊者透過內核漏洞修改進程的關鍵字段capability,從而改變自身的cap權限;攻擊者透過內核漏洞修改進程的關鍵字段安全上下文,從而繞過seLinux的強制存取控制。 因此,與進程權限相關的至少部分資料可以包括但不限於進程可存取的位址空間(addr_limit)、組ID(gid)、用戶ID(uid)、有效用戶ID(euid)、能力(capability)、安全上下文等進程關鍵字段。 作為示例,可以在由用戶態進入內核態,且在內核處理函數呼叫前,對與進程權限相關的至少部分資料進行檢測;並且/或者也可以在內核處理函數內部插入權限檢查模組,以對與進程權限相關的至少部分資料進行檢測法;並且/或者還可以在內核處理函數呼叫後,對與進程權限相關的至少部分資料進行檢測。並且,在不同階段所檢測的與進程權限相關的至少部分資料可以相同,也可以不同。 在對與進程權限相關的至少部分資料進行檢測時,可以將資料與預先產生的檢測集中的相應部分進行比較,以確定與進程權限相關的至少部分資料的權限是否合法。 例如,檢測集可以是之前基於安全方式對與進程權限相關的至少部分資料進行修改後得到的白名單。另外,檢測集也可以是對之前基於安全方式對與進程權限相關的至少部分資料進行修改後得到的資料,分別進行雜湊計算得到的雜湊表。其中,安全方式為呼叫標準介面函數。 在步驟S220,根據檢測結果,判斷進程的權限是否被惡意修改,亦即提權。 可以在檢測到存在權限不合法的欄位情況下,判定進程的權限被惡意修改,即內核提權。並且,在判定進程的權限被惡意修改的情況下,可以結束進程或者使系統崩潰,來主動阻止攻擊者對系統的進一步的破壞。 應用例 以Linux系統為例,系統呼叫的基本流程可描述如下。 1. 用戶態執行SWI指令進入內核態模式,並從執行特定位址開始執行(這裡可以稱之為系統呼叫入口函數syscall_entry,在arm中實際上是vector_swi)。 2. syscall_entry中透過用戶態傳入的系統呼叫號(syscall number),系統呼叫表決定要呼叫的內核函數位址,並呼叫相應的內核處理函數。 3. 內核處理函數執行完畢返回syscall_entry。 4. syscall_entry將結果寫入暫存器,並最終透過一條跳轉執行(如ARM的BX)返回到用戶態的下一條指令,同時切換目前為用戶態模式。 根據系統呼叫的執行流程,本發明可以在步驟2(系統呼叫入口),或步驟3(內核函數呼叫中)或步驟4(系統呼叫返回前)插入碼,對與進程權限相關的關鍵資料結構進行檢查,插入後的流程可描述如下。 1. 用戶態執行SWI指令進入內核態模式,並從執行特定位址開始執行(這裡稱之為syscall_entry,在arm中實際上是vector_swi)。 2. 具體函數呼叫前的權限檢查。 3. syscall_entry中透過用戶態傳入的系統呼叫號(syscall number),系統呼叫表決定要呼叫的內核函數位址,並呼叫相應的內核處理函數。 4. 對關鍵內核處理函數內部插入權限檢查模組,執行完畢返回syscall_entry。 5. 具體函數呼叫後的權限檢查。 6. syscall_entry將結果寫入暫存器,並最終透過一條跳轉執行(如ARM的BX)返回到用戶態的下一條指令,同時切換目前為用戶態模式。 步驟2、4、5中檢查的內容可以包括但不限於addr_limit是否正確、進程的uid/gid/euid是否正確、進程的capability是否正確、進程的安全上下文是否正確。其中,對於addr_limit,返回用戶態時應有一個固定的值(在部分系統中為0xbf000000),若在syscall檢測中發現非此固定值,則可認為存在攻擊。uid/gid/euid、capability、安全上下文等均是與進程相關的,可利用hash表,或白名單等手段在內核產生一個檢測集,在系統呼叫入口、返回時根據進程結構體位址找到對應的檢測集,並檢測與預期是否相符。 綜上,本發明可以在系統呼叫入口對與進程權限相關的關鍵資料結構進行檢查,也可以在系統呼叫返回時對與進程權限相關的關鍵資料結構進行檢查,或者在關鍵的內核函數中(對於addr_limit來說如sys_read/sys_write等)對與進程權限相關的關鍵資料結構進行檢查。若檢測到目前進程的以上關鍵字段,若與預期值不符,則代表攻擊者權限過高,從而結束進程或使系統崩潰來主動阻止攻擊者對系統的進一步的破壞。其中,檢查內容可以包括但不限於addr_limit、uid/gid/euid,capability、安全上下文等等。 [內核安全檢測裝置] 圖3是示出了根據本發明一實施例的內核安全檢測裝置的結構的示意性方塊圖。其中,內核安全檢測裝置的功能模組可以由實現本發明原理的硬體、軟體或硬體和軟體的結合來實現。本領域技術人員可以理解的是,圖3所描述的功能模組可以組合起來或者劃分成子模組,從而實現上述發明的原理。因此,本文的描述可以支持對本文描述的功能模組的任何可能的組合、或者劃分、或者更進一步的限定。 內核安全檢測裝置可以具有的功能模組以及各功能模組可以執行的操作做簡要說明,對於其中涉及的細節部分可以參見上文描述,這裡不再贅述。 參見圖3,內核安全檢測裝置300包括檢測模組310和判斷模組320。檢測模組310用於回應於系統呼叫,對與進程權限相關的至少部分資料進行檢測,判斷模組320用於根據檢測結果,判斷進程的權限是否被惡意修改。其中,與進程權限相關的至少部分資料可以包括以下至少一項:進程可存取的位址空間;組ID;用戶ID;有效用戶ID;能力;安全上下文。 在本發明中,檢測模組310可以在由用戶態模式進入內核態模式,且在內核處理函數呼叫前,對與進程權限相關的至少部分資料進行檢測;並且/或者檢測模組310也可以在內核處理函數內部插入權限檢查模組,以對與進程權限相關的至少部分資料進行檢測;並且/或者檢測模組310也可以在內核處理函數呼叫後,對與進程權限相關的至少部分資料進行檢測。 作為示例,檢測模組310可以將與進程權限相關的至少部分資料與預先產生的檢測集中的相應部分進行比較,以確定至少部分資料是否被惡意修改。其中,檢測集可以是基於安全方式對與進程權限相關的至少部分資料進行修改後得到的白名單,或者檢測集也可以是對基於安全方式對與進程權限相關的至少部分資料進行修改後得到的資料,分別進行雜湊計算得到的雜湊表。其中,安全方式為呼叫標準介面函數。 作為示例,內核安全檢測裝置300還可以包括提權處理模組(圖中未示出),用於在檢測到存在被惡意修改的欄位的情況下,結束進程或者使系統崩潰,以主動阻止攻擊者對系統的進一步的破壞。 [計算設備] 圖4示出了根據本發明一實施例可用於實現上述內核安全檢測方法的資料處理的計算設備的結構示意圖。 參見圖4,計算設備400包括記憶體410和處理器420。 處理器420可以是一個多核的處理器,也可以包含多個處理器。在一些實施例中,處理器420可以包含一個通用的主處理器以及一個或多個特殊的協同處理器,例如圖形處理器(GPU)、數位訊號處理器(DSP)等等。在一些實施例中,處理器420可以使用定制的電路實現,例如特定應用積體電路(ASIC,Application Specific Integrated Circuit)或者現場可編程邏輯閘陣列(FPGA,Field Programmable Gate Arrays)。 記憶體410可以包括各種類型的儲存單元,例如系統記憶體、唯讀記憶體(ROM),和永久儲存裝置。其中,ROM可以儲存處理器420或者電腦的其他模組需要的靜態資料或者指令。永久儲存裝置可以是可讀寫的儲存裝置。永久儲存裝置可以是即使電腦斷電後也不會失去儲存的指令和資料的非易失性儲存設備。在一些實施方式中,永久性儲存裝置採用大容量儲存裝置(例如磁或光碟、快閃記憶體)作為永久儲存裝置。另外一些實施方式中,永久性儲存裝置可以是可移除的儲存設備(例如軟碟、光碟機)。系統記憶體可以是可讀寫儲存設備或者易失性可讀寫儲存設備,例如動態隨機存取記憶體。系統記憶體可以儲存一些或者所有處理器在運行時需要的指令和資料。此外,記憶體410可以包括任意電腦可讀儲存媒體的組合,包括各種類型的半導體儲存晶片(DRAM,SRAM,SDRAM,快閃記憶體,可編程唯讀記憶體),磁碟和/或光碟也可以採用。在一些實施方式中,記憶體410可以包括可讀和/或寫的可移除的儲存設備,例如雷射唱片(CD)、唯讀數位多功能光碟(例如DVD-ROM,雙層DVD-ROM)、唯讀藍光光碟、超密度光碟、快閃記憶體卡(例如SD卡、min SD卡、Micro-SD卡等等)、磁性軟碟等等。電腦可讀儲存媒體不包含載波和透過無線或有線傳輸的瞬時電子信號。 記憶體410上儲存有可執行碼,當可執行碼被處理器420處理時,可以使處理器420執行上文述及的內核安全檢測方法。 上文中已經參考圖式詳細描述了根據本發明的內核安全檢測方法、裝置及設備。 此外,根據本發明的方法還可以實現為一種電腦程式或電腦程式產品,該電腦程式或電腦程式產品包括用於執行本發明的上述方法中限定的上述各步驟的電腦程式碼指令。 或者,本發明還可以實施為一種非暫態性機器可讀儲存媒體(或電腦可讀儲存媒體、或機器可讀儲存媒體),其上儲存有可執行碼(或電腦程式、或電腦指令碼),當所述可執行碼(或電腦程式、或電腦指令碼)被電子設備(或計算設備、伺服器等)的處理器執行時,使所述處理器執行根據本發明的上述方法的各個步驟。 本領域技術人員還將明白的是,結合這裡的揭示所描述的各種示例性邏輯區塊、模組、電路和演算法步驟可以被實現為電子硬體、電腦軟體或兩者的組合。 圖式中的流程圖和方塊圖顯示了根據本發明的多個實施例的系統和方法的可能實現的體系架構、功能和操作。在這點上,流程圖或方塊圖中的每個方塊可以代表一個模組、程式段或碼的一部分,所述模組、程式段或碼的一部分包含一個或多個用於實現規定的邏輯功能的可執行指令。也應當注意,在有些作為替換的實現中,方塊中所標記的功能也可以以不同於圖式中所標記的順序發生。例如,兩個連續的方塊實際上可以基本並行地執行,它們有時也可以按相反的順序執行,這依所涉及的功能而定。也要注意的是,方塊圖和/或流程圖中的每個方塊、以及方塊圖和/或流程圖中的方塊的組合,可以用執行規定的功能或操作的專用的基於硬體的系統來實現,或者可以用專用硬體與電腦指令的組合來實現。 以上已經描述了本發明的各實施例,上述說明是示例性的,並非窮盡性的,並且也不限於所揭露的各實施例。在不偏離所說明的各實施例的範圍和精神的情況下,對於本技術領域的普通技術人員來說許多修改和變更都是顯而易見的。本文中所用術語的選擇,旨在最好地解釋各實施例的原理、實際應用或對市場中的技術的改進,或者使本技術領域的其它普通技術人員能理解本文揭露的各實施例。
S210:方法步驟 S220:方法步驟 300:內核安全檢測裝置 310:檢測模組 320:判斷模組 400:計算設備 410:記憶體 420:處理器
透過結合圖式對本發明示例性實施方式進行更詳細的描述,本發明的上述以及其它目的、特徵和優勢將變得更加明顯,其中,在本發明示例性實施方式中,相同的參考標號通常代表相同部件。 圖1示出了儲存記憶體位址空間的一種示意圖。 圖2是示出了根據本發明一實施例的內核安全檢查方法的示意性流程圖。 圖3是示出了根據本發明一實施例的內核安全檢測裝置的結構的示意性方塊圖。 圖4示出了根據本發明一實施例可用於實現上述內核安全檢測方法的資料處理的計算設備的結構示意圖。

Claims (10)

  1. 一種內核安全檢測方法,其特徵在於,該方法包括: 回應於系統呼叫,對與進程權限相關的至少部分資料進行檢測;以及 根據檢測結果,判斷進程的權限是否被惡意修改。
  2. 根據請求項1所述的內核安全檢測方法,其中,該至少部分資料包括以下至少一項: 進程可存取的位址空間; 組ID; 用戶ID; 有效用戶ID; 能力;以及 安全上下文。
  3. 根據請求項1所述的內核安全檢測方法,其中,該回應於系統呼叫對與進程權限相關的至少部分資料進行檢測的步驟包括: 在由用戶態模式進入內核態模式,且在內核處理函數呼叫前,對與進程權限相關的至少部分資料進行檢測;並且/或者 在內核處理函數內部插入權限檢查模組,以對與進程權限相關的至少部分資料進行檢測;並且/或者 在內核處理函數呼叫後,對與進程權限相關的至少部分資料進行檢測。
  4. 根據請求項1所述的內核安全檢測方法,其中,該對與進程權限相關的至少部分資料進行檢測的步驟包括: 將與進程權限相關的至少部分資料與預先產生的檢測集中的相應部分進行比較,以確定該至少部分資料是否被惡意修改。
  5. 根據請求項4所述的內核安全檢測方法,其中, 該檢測集是基於安全方式對與進程權限相關的至少部分資料進行修改後得到的白名單,或者 該檢測集是對基於安全方式對與進程權限相關的至少部分資料進行修改後得到的資料,分別進行雜湊計算得到的雜湊表。
  6. 根據請求項5所述的內核安全檢測方法,其中, 該安全方式為呼叫標準介面函數。
  7. 根據請求項1所述的內核安全檢測方法,還包括: 在判定進程的權限被惡意修改的情況下,結束進程或者使系統崩潰。
  8. 一種內核安全檢測裝置,其特徵在於,該裝置包括: 檢測模組,用於回應於系統呼叫,對與進程權限相關的至少部分資料進行檢測;和 判斷模組,用於根據檢測結果,判斷進程的權限是否被惡意修改。
  9. 一種計算設備,包括: 處理器;以及 記憶體,其上儲存有可執行碼,當該可執行碼被該處理器執行時,使該處理器執行如請求項1至7中任何一項所述的方法。
  10. 一種非暫態性機器可讀儲存媒體,其上儲存有可執行碼,當該可執行碼被電子設備的處理器執行時,使該處理器執行如請求項1至7中任一項所述的方法。
TW108129791A 2018-12-03 2019-08-21 內核安全檢測方法、裝置、設備及儲存媒體 TW202101262A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811467100.XA CN111259386A (zh) 2018-12-03 2018-12-03 内核安全检测方法、装置、设备及存储介质
CN201811467100.X 2018-12-03

Publications (1)

Publication Number Publication Date
TW202101262A true TW202101262A (zh) 2021-01-01

Family

ID=70946607

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108129791A TW202101262A (zh) 2018-12-03 2019-08-21 內核安全檢測方法、裝置、設備及儲存媒體

Country Status (3)

Country Link
CN (1) CN111259386A (zh)
TW (1) TW202101262A (zh)
WO (1) WO2020114262A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112199673A (zh) * 2020-10-10 2021-01-08 北京微步在线科技有限公司 权限提升行为的检测方法、装置及可读存储介质
CN114691220A (zh) * 2020-12-30 2022-07-01 网神信息技术(北京)股份有限公司 保护进程的方法、装置、电子设备、介质和程序产品
CN112784274A (zh) * 2021-03-16 2021-05-11 斑马网络技术有限公司 基于Linux平台的恶意样本检测收集方法及系统、存储介质、设备
CN115033889B (zh) * 2022-06-22 2023-10-31 中国电信股份有限公司 非法提权检测方法和装置、存储介质、计算机设备
CN117522601B (zh) * 2024-01-04 2024-03-22 山东保医通信息科技有限公司 一种基于接口统一管理的核保业务执行方法、设备及介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7874001B2 (en) * 2005-07-15 2011-01-18 Microsoft Corporation Detecting user-mode rootkits
CN105245543B (zh) * 2015-10-28 2018-04-13 中国人民解放军国防科学技术大学 一种基于安全标记随机化的操作系统强制访问控制方法
CN107016283B (zh) * 2017-02-15 2019-09-10 中国科学院信息工程研究所 基于完整性验证的Android权限提升攻击安全防御方法和装置
CN107908958B (zh) * 2017-11-30 2020-01-03 中国人民解放军国防科技大学 SELinux安全标识符防篡改检测方法及系统

Also Published As

Publication number Publication date
CN111259386A (zh) 2020-06-09
WO2020114262A1 (zh) 2020-06-11

Similar Documents

Publication Publication Date Title
CN107066311B (zh) 一种内核数据访问控制方法与系统
TW202101262A (zh) 內核安全檢測方法、裝置、設備及儲存媒體
ES2792912T3 (es) Sistemas y métodos de seguridad informática que utilizan excepciones de introspección asíncronas
US10073986B2 (en) Regulating access to and protecting portions of applications of virtual machines
US10614210B2 (en) Systems and methods of protecting data from injected malware
US9547772B2 (en) Secure vault service for software components within an execution environment
KR102573921B1 (ko) 바이러스/멀웨어로부터 안전한 저장 장치, 그것을 포함한 컴퓨팅 시스템 및 그것의 방법
US9514305B2 (en) Code pointer authentication for hardware flow control
US9516056B2 (en) Detecting a malware process
TW202044079A (zh) 核心安全檢測方法、裝置、設備及儲存媒體
US11675905B2 (en) System and method for validating in-memory integrity of executable files to identify malicious activity
KR101701014B1 (ko) 운영 체제에의 악성 활동 보고
US20170032123A1 (en) Systems and methods of protecting data from malware processes
KR20190021673A (ko) 랜섬웨어 방지 장치 및 방법
JP2023534502A (ja) 高度なランサムウェア検出
KR102494167B1 (ko) 메모리의 커널영역을 보호하기 위한 전자장치 및 방법
US11886350B2 (en) System memory context determination for integrity monitoring and related techniques
US10691586B2 (en) Apparatus and method for software self-test
US9483426B2 (en) Locking a system management interrupt (SMI) enable register of a chipset
WO2013074071A1 (en) Regulating access to and protecting portions of applications of virtual machines