X11下快照的安全性

X11下快照的安全性

隨著快照達到 16.04 LTS,有一個部落格文章作者:Matthew Garrett,一位著名的 Linux 核心貢獻者和核心作業系統開發者,他說:

...snaps 不受限制地運行,並且可以訪問幾乎整個系統

如果使用快照的目的是強制應用程式與整個系統隔離,那麼為什麼它們能夠存取系統並不受限制地運行?是否應該提交錯誤報告?是否將採取任何措施來解決這個問題?

答案1

這特別與使用 X11 的快照有關。換句話說,快照是不是不受限制地運行,但如果快照的限制包括對 X 的訪問,unity7那麼是的:它可以訪問 X。x11這篇部落格文章中描述的問題是 X 的眾所周知的限制,也是開發替代技術(例如 Mir)的原因之一。

古斯塔沃·尼邁耶寫了一篇討論這個問題的好博文。為了後代和完整性,我將在這裡引用:

有安全意識的人會發現 X11 實際上並不是一個安全協定。當我們向應用程式授予此權限時,可能會出現許多系統濫用行為。其他介面(例如 home)可以快速存取用戶 $HOME 目錄中的每個非隱藏檔案(那些不以點開頭的檔案),這意味著惡意應用程式可能會竊取個人資訊並透過網路發送(假設它還定義了一個網路插頭)。

有些人可能會對此感到驚訝,但這是對 snap 和 Snappy 作為軟體平台的作用的誤解。當您從 Ubuntu 存檔安裝軟體時,這就是對 Ubuntu 和 Debian 開發人員的信任聲明。當您從各自的檔案中安裝 Google 的 Chrome 或 MongoDB 二進位檔案時,這就是對這些開發人員的信任聲明(這些開發人員在您的系統上擁有 root 權限!)。 Snappy 並沒有消除這種信任的需要,因為一旦您授予某個軟體存取您的個人文件、網路攝影機、麥克風等的權限,您就需要相信它不會惡意使用這些權限。

Snappy 在此圖片中的限制點是使軟體生態系統能夠以清晰且可觀察的方式精確控制允許的內容和對象,此外還有我們在 Linux 世界中都學會欣賞的相同的程式關懷,而不是取代它。阻止人們使用系統中的所有相關資源只會迫使他們在不太安全的機制上使用相同的軟體,而不是解決問題。

我們今天所擁有的只是一個開始。這些介面很快就會變得更豐富、更細粒度,包括資源選擇(例如哪個序列埠?),其中一些介面將完全消失,取而代之的是更安全的選擇(例如 Unity 8)。

答案2

問題不在於 snap,而是 X11,這是一項已有 30 年歷史的技術,其設計沒有太多安全考慮。

要“解決問題”,您只需擺脫 X11 即可。沒有它的系統(例如伺服器)現在可以從快照隔離中受益。新的米爾它將取代 xserver,希望能盡快解決 X11 的安全問題。

非常歡迎您閱讀馬修·加勒特的著作部落格文章來滿足你的好奇心。它說:

這裡的問題是 X11 視窗系統。 X 沒有不同層級的應用程式信任的真正概念。任何應用程式都可以註冊以接收來自任何其他應用程式的擊鍵。任何應用程式都可以將假按鍵事件注入到輸入流中。受強大安全性策略限制的應用程式可以簡單地在另一個視窗中鍵入內容。無法存取您的任何私人資料的應用程式可以等到您的會話空閒,打開一個不受限制的終端,然後使用curl將您的資料傳送到遠端站點。只要 Ubuntu 桌面仍然使用 X11,Snap 格式就無法為您提供任何有意義的安全性。

相關內容