LKRG,一個旨在檢測和阻止Linux內核中的攻擊和違規的模塊

該項目 Openwall已發布LKRG 0.8內核模塊版本 (Linux內核運行時防護), 旨在檢測和阻止攻擊 y 侵犯核心結構的完整性.

模塊 它既適合組織針對已知漏洞的保護 對於Linux內核(例如,在更新系統上的內核有問題的情況下), 至於針對未知漏洞的對立攻擊。

LKRG 0.8有什麼新功能?

在這個新版本中 LKRG項目的位置已更改,要小時不分為單獨的子系統 驗證完整性並確定漏洞利用的使用, 它作為一個完整的產品呈現 識別攻擊和各種違反完整性的行為;

關於此新版本的兼容性, 我們發現它與5.3至5.7的Linux內核兼容,以及通過積極的GCC優化進行編譯的內核,但沒有這些選項 CONFIG_USB和CONFIG_STACKTRACE 或選擇 CONFIG_UNWINDER_ORC以及如果沒有的話,LKRG不會攔截任何函數的內核。

除了 對32位ARM平台的實驗性支持 (已在Raspberry Pi 3 Model B上進行了測試),同時還提供了對AArch64(ARM64)的較早支持。 與Raspberry Pi 4的兼容性補充了這一點。

此外, 新的掛鉤已添加,其中包括“ hook()”調用處理程序,以更好地識別由“功能”操縱的漏洞,而不是進程標識符。

在x86-64系統上,檢查並應用了SMAP位 (防止在超級用戶模式下訪問),d旨在阻止訪問用戶空間中的數據 來自在內核級別執行的特權代碼。 SMEP(主管模式執行保護)保護是較早實施的。

它一直 增加了流程跟踪數據庫的可伸縮性:涉及一個由512個RB樹組成的哈希表,而不是一個自旋鎖保護的單個RB樹,分別由512個讀和寫鎖保護;

默認模式已實現並啟用,其中 標識符完整性檢查 通常僅對當前任務執行處理,還可以選擇對觸發的任務(喚醒)執行處理。 對於處於掛起狀態或沒有LKRG控制的內核API調用的功能的其他任務,驗證的執行頻率較低。

除了 systemd單位文件已重新設計 在加載的早期階段加載LKRG模塊(可以使用kernel命令行選項禁用該模塊);

在編譯過程中,檢查了一些強制性的CONFIG_ *內核設置,以生成有意義的錯誤消息,而不是模糊的錯誤。

在此新版本中突出的其他更改包括:

  • 添加了對待機(ACPI S3,掛起到RAM)和掛起(S4,掛起到磁盤)模式的支持。
  • 在Makefile中添加了對DKMS的支持。
  • 提出了新的邏輯來確定嘗試擺脫名稱空間限制的嘗試(例如,從Docker容器中)。
  • 在此過程中,LKRG配置放置在通常為只讀的內存頁面上。
  • 可能對攻擊最有用的信息(例如,內核中的地址信息)到日誌的輸出受調試模式(log_level = 4和更高版本)的限制,該模式默認情況下處於禁用狀態。
  • 已添加新的sysctl和模塊參數來調整LKRG,並添加了兩個sysctl以便通過從開發人員準備的配置文件中進行選擇來簡化配置。
  • 更改默認設置是為了在違規檢測的速度和反應的有效性之間以及另一方面對生產率的影響和誤報的風險之間實現更加平衡的平衡。
  • 根據新版本中提出的優化,在應用LKRG 0.8時,性能下降在默認模式(“重載”)下估計為2.5%,在輕度模式(“輕度”)下為2%。

如果您想了解更多信息,可以諮詢 詳細信息在這裡。 


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責資料:AB Internet Networks 2008 SL
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。