FreeBSD 上正在開發類似於 plegde 的隔離機制

據透露, 已提出實施方案FreeBSD 的應用程序隔離機制,這讓人想起 OpenBSD 項目開發的折疊和揭開系統調用。

plegde 中的隔離是通過禁止訪問應用程序未使用的系統調用並通過選擇性地僅打開對應用程序可以使用的某些文件路徑的訪問來完成的。 對於應用程序,形成一種系統調用和文件路徑的白名單,禁止所有其他調用和路徑。

折疊和揭開的區別, 為 FreeBSD 開發, 它歸結為提供一個額外的層 這允許您隔離應用程序,而無需對其代碼進行任何更改或更改最少。 請記住,在 OpenBSD 中,plegde 和 unlock 旨在與基礎環境緊密集成,並通過在每個應用程序的代碼中添加特殊註釋來實現。

為了簡化保護的組織,過濾器允許您避免單個系統調用級別的細節並操作系統調用的類(輸入/輸出、文件讀取、文件寫入、套接字、ioctl、sysctl、進程啟動等) . 當執行某些操作時,可以在應用程序代碼中調用訪問限制函數,例如,在打開必要的文件並建立網絡連接後,可以關閉對套接字和文件的訪問。

FreeBSD 的折疊和顯示端口的作者 旨在提供隔離任意應用程序的能力, 建議使用窗簾實用程序,它允許將單獨文件中定義的規則應用於應用程序。 建議的配置包括一個具有基本設置的文件,該文件定義了系統調用的類和特定於某些應用程序(使用聲音、網絡、日誌記錄等)的典型文件路徑,以及一個具有特定應用程序的訪問規則的文件。

窗簾實用程序可用於隔離大多數實用程序、服務器進程、圖形應用程序,甚至是未修改的整個桌面會話。 支持與 Jail 和 Capsicum 子系統提供的隔離機制共享窗簾。

可以組織嵌套隔離, 當啟動的應用程序繼承父應用程序設置的規則時, 用單獨的約束補充它們。 一些內核操作(調試工具、POSIX/SysV IPC、PTY)還受到屏障機制的保護,該屏障機制防止訪問由當前或父進程以外的進程創建的內核對象。

進程可以通過調用窗簾ctl來配置自己的隔離 或者使用 libcurtain 庫提供的 plegde() 和 unlock() 函數,類似於 OpenBSD 的。 提供 sysctl 'security.curtain.log_level' 以在應用程序運行時跟踪鎖。

X11和Wayland協議的訪問通過在啟動幕佈時指定“-X”/“-Y”和“-W”選項分別啟用,但對圖形應用程序的支持還不夠穩定,存在一系列未解決的問題(問題主要出現在使用 X11 時,Wayland 支持要好得多)。 用戶可以通過創建本地規則文件 (~/.curtain.conf) 添加額外的限制。 例如,

該實現包括用於強制訪問控制 (MAC) 的 mac_curtain 內核模塊,一組用於 FreeBSD 內核的補丁,其中包含必要的驅動程序和過濾器的實現,用於在應用程序中使用 plegde 和顯示功能的 libcurtain 庫,實用程序窗簾,顯示配置文件、一套測試和一些用戶空間程序的補丁(例如,使用 $TMPDIR 來統一處理臨時文件)。 只要有可能,作者就會盡量減少需要修補內核和應用程序的更改數量。

終於 如果您有興趣了解更多信息,您可以查看詳細信息 在下面的鏈接中。


發表您的評論

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

*

*

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