紅聯Linux門戶
Linux幫助

LKRG:用于運行時完整性檢查的可加載內核模塊

發布時間:2018-03-19 16:05:09來源:linux.cn作者:qhwdw
開源社區的人們正在致力于一個 Linux 內核的新項目,它可以讓內核更安全。命名為 Linux 內核運行時防護(LKRG),它是一個在 Linux 內核執行運行時完整性檢查的可加載內核模塊(LKM)。
它的用途是檢測對 Linux 內核的已知的或未知的安全漏洞利用企圖,以及去阻止這種攻擊企圖。
LKRG 也可以檢測正在運行的進程的提權行為,在漏洞利用代碼運行之前殺掉這個運行進程。
 
這個項目開發始于 2011 年,首個版本已經發布
因為這個項目開發的較早,LKRG 的當前版本僅僅是通過內核消息去報告違反內核完整性的行為,但是隨著這個項目的成熟,將會部署一個完整的漏洞利用緩減系統。
LKRG 的成員 Alexander Peslyak 解釋說,這個項目從 2011 年啟動,并且 LKRG 已經經歷了一個“重新開發"階段。
LKRG 的首個公開版本是 LKRG v0.0,它現在可以從 http://www.openwall.com/lkrg/ 頁面下載使用。http://openwall.info/wiki/p_lkrg/Main 是這個項目的維基,為支持這個項目,它也有一個 Patreon 頁面(https://www.patreon.com/p_lkrg)。
雖然 LKRG 仍然是一個開源項目,LKRG 的維護者也計劃做一個 LKRG Pro 版本,這個版本將包含一個專用的 LKRG 發行版,它將支持對特定漏洞利用的檢測,比如,容器泄漏。開發團隊計劃從 LKRG Pro 基金中提取部分資金用于保證項目的剩余工作。
 
LKRG 是一個內核模塊而不是一個補丁。
一個類似的項目是附加內核監視器(AKO),但是 LKRG 與 AKO 是不一樣的,因為 LKRG 是一個內核加載模塊而不是一個補丁。LKRG 開發團隊決定將它設計為一個內核模塊是因為,在內核上打補丁對安全性、系統穩定性以及性能都有很直接的影響。
而以內核模塊的方式提供,可以在每個系統上更容易部署 LKRG,而不必去修改核心的內核代碼,修改核心的內核代碼非常復雜并且很容易出錯。
LKRG 內核模塊在目前主流的 Linux 發行版上都可以使用,比如,RHEL7、OpenVZ 7、Virtuozzo 7、以及 Ubuntu 16.04 到最新的主線版本。
 
它并非是一個完美的解決方案
LKRG 的創建者警告用戶,他們并不認為 LKRG 是一個完美的解決方案,它提供不了堅不可摧和 100% 的安全。他們說,LKRG 是 “設計為可旁通的”,并且僅僅提供了“多元化安全” 的一個方面。
雖然 LKRG 可以防御許多已有的 Linux 內核漏洞利用,而且也有可能會防御將來許多的(包括未知的)未特意設計去繞過 LKRG 的安全漏洞利用。它是設計為可旁通的(盡管有時候是以更復雜和/或低可利用為代價的)。因此,他們說 LKRG 通過多元化提供安全,就像運行一個不常見的操作系統內核一樣,也就不會有真實運行一個不常見的操作系統的可用性弊端。
LKRG 有點像基于 Windows 的防病毒軟件,它也是工作于內核級別去檢測漏洞利用和惡意軟件。但是,LKRG 團隊說,他們的產品比防病毒軟件以及其它終端安全軟件更加安全,因為它的基礎代碼量比較小,所以在內核級別引入新 bug 和漏洞的可能性就更小。
 
運行當前版本的 LKRG 大約會帶來 6.5% 的性能損失
Peslyak 說 LKRG 是非常適用于 Linux 機器的,它在修補內核的安全漏洞后不需要重啟動機器。LKRG 允許用戶持續運行帶有安全措施的機器,直到在一個計劃的維護窗口中測試和部署關鍵的安全補丁為止。
經測試顯示,安裝 LKRG v0.0 后大約會產生 6.5% 性能影響,但是,Peslyak 說將在后續的開發中持續降低這種影響。
測試也顯示,LKRG 檢測到了 CVE-2014-9322 (BadIRET)、CVE-2017-5123 (waitid(2) missing access_ok)、以及 CVE-2017-6074 (use-after-free in DCCP protocol) 的漏洞利用企圖,但是沒有檢測到 CVE-2016-5195 (Dirty COW) 的漏洞利用企圖。開發團隊說,由于前面提到的“可旁通”的設計策略,LKRG 沒有檢測到 Dirty COW 提權攻擊。
在 Dirty COW 的測試案例中,由于 bug 機制的原因,使得 LKRG 發生了 “旁通”,并且這也是一種利用方法,它也是將來類似的以用戶空間為目標的繞過 LKRG 的一種方法。這樣的漏洞利用是否會是普通情況(不太可能!除非 LKRG 或者類似機制的軟件流行起來),以及對它的可用性的(負面的)影響是什么?(對于那些直接目標是用戶空間的內核漏洞來說,這不太重要,也并不簡單)。
 
64位Ubuntu14.04系統下加載內核模塊hello world:http://www.1851002.live/linux/30594.html
Linux 4.10.0+內核編譯(Mac+VM+Ubuntu)及編譯安裝內核模塊:http://www.1851002.live/linux/28811.html
linux kernel編譯內核模塊代碼插入內核模塊遇到的問題和解決:http://www.1851002.live/linux/28515.html
《linux內核設計與分析》內核模塊編程:http://www.1851002.live/linux/20915.html
我的第一個內核模塊和makefile文件編寫:http://www.1851002.live/linux/14210.html
贵州体彩11选5查询号码 体育彩票大乐透开奖结果 股票交易平台排行 河南彩票快三 在线股票配资需要注意什么 湖北快三走势图一定牛形态 群英会任三诀窍 119期两肖两码精准资料 北京11选5走势一定牛 北京快中彩质合走势图 杭州理财平台