戴文的Linux核心專題 04 安全

2021-06-18 23:53:38 字數 1118 閱讀 3867

linux核心是所有linux系統的核心。如果有任何惡意**控制或破害了核心的任何一部分,那麼系統會嚴重受損,檔案可能被刪除或損壞,私人資訊可能被盜等等。很明顯,保持核心安全涉及到使用者的最大利益。值得慶幸的是,由於linux核心極其安全,linux是乙個非常安全的系統。在使用者比例上,linux病毒比windows病毒更少,並且linux使用者比windows使用者個人更少感染病毒。(這就是為什麼許多公司使用linux來管理他們的伺服器的乙個原因。) 然而,我們仍然沒有藉口去忽視核心的安全。linux有幾個安全特性和程式,但本文只討論linux安全模組(lsm)及其它的核心安全特性。

注意:守護程序是在後台執行的程式

tomoyo,是另外乙個安全模組,在2.6.30進入核心主分支。tomoyo可以提供安全防護,但是它的主要用途是分析系統安全缺陷。

yama在linux核心中乙個新安全模組。yama還沒有作為標準的安全模組,但是在將來他會成為第5個標準安全模組。yama和其他安全模組一樣使用相同的機制。

「grsecurity」是一系列linux核心安全補丁的集合。多數補丁用於處理遠端網路連線和緩衝區溢位的安全問題(以後討論)。grsecurity中有乙個叫pax的有趣元件。pax補丁允許記憶體裡的**使用最少的所需許可權。例如,儲存程式的記憶體段被標為不可寫。想想看,為什麼乙個可執行的程式需要在記憶體中是可寫的?通過這個補丁,惡意**就不能修改目前正在執行的程式。緩衝區溢位是一種當程式由於bug或者惡意**在記憶體上寫入資料,並讓它的記憶體邊界超出到其他程式的記憶體頁上的安全事件。當pax被啟用時,它會幫助阻止這些緩衝區溢位,因為程式沒有寫到其他記憶體頁上的許可權了。

linux入侵檢測系統(lids)是乙個核心安全補丁,提供了強制訪問控制(mac)的特性。這個補丁就像扮演lsm模組的角色。

systrace是乙個減少和控制應用程式訪問系統檔案和系統呼叫的工具。系統呼叫是對核心的服務請求。比如,當乙個文字編輯器寫入乙個檔案到硬碟上時,程式將會傳送乙個系統請求讓核心寫入檔案到硬碟中。

這些是在linux安全系統中非常重要的元件。這些安全模組和補丁使核心免於受到惡意**的攻擊。沒有這些特性,linux系統將會變成乙個不安全的作業系統。

via: 

譯者:geekpi

校對:wxy

本文由 lctt

原創翻譯,linux中國

榮譽推出

Linux 核心 任務0的排程切換

main.c中在move to user mode 之後,切換到使用者模式下執行,task0然後執行fork 建立程序task1來執行init 函式。init 函式如下 cpp view plain copy print?void init void 下面是父程序執行的語句。wait 是等待子程序停...

Linux 核心 任務0的排程切換

main.c中在move to user mode 之後,切換到使用者模式下執行,task0然後執行fork 建立程序task1來執行init 函式。init 函式如下 void init void 下面是父程序執行的語句。wait 是等待子程序停止或終止,其返回值應是子程序的程序號 pid 這三句...

從0開始執行主線Linux核心

本部落格以xunlong orangepi zero為例,執行最新linux 4.11.0 rc4核心。轉殖u boot倉庫 git clone git 編譯配置 make orangepi zero defconfig 交叉編譯 make v s j8 arch arm cross compile...