X11危險嗎?
我是 X11 的新手,想了解它是否真的像網際網路上所說的那樣危險。
我將解釋我是如何理解這一點的。從目前使用者下啟動的任何應用程序都可以訪問鍵盤、滑鼠、顯示器(例如截屏),這並不好。但是,如果我們從官方儲存庫*(例如,Debian)*安裝不太可能包含鍵盤記錄器等的程序,那麼危險似乎被誇大了。我錯了嗎?
*是的,您可以在不同的伺服器(例如 Xephyr)*上打開應用程序,但這很不方便,因為沒有共享剪貼板。基於 tmp 文件創建剪貼板也很不方便。
從目前使用者下啟動的任何應用程序都可以訪問鍵盤、滑鼠、顯示器(例如截屏),這並不好。
桌面上的所有 X11 客戶端都可以相互深度訪問,包括獲取任何視窗的內容、更改它、關閉任何視窗、向任何其他客戶端偽造鍵和滑鼠事件、抓取任何輸入設備等。
X11 協議設計基於這樣的理念,即所有客戶端都是受信任的,並且會協作,而不是互相干涉(後者完全被 Firefox、Chrome 或 Java 等現代應用程序所破壞)。
但是,如果我們從官方儲存庫(例如,Debian)安裝不太可能包含鍵盤記錄器等的程序,那麼危險問題顯然被誇大了。我錯了嗎?
程序有漏洞,可能會被利用。X11 伺服器和庫可能不是最新的。例如,任何 X11 客戶端都可以通過無害的 Xkb 請求使目前版本的 Debian (Buster 10) 中的 X 伺服器崩潰。(這在上游原始碼中已修復,但尚未在 Debian 中實現)。如果它能夠使其崩潰,那麼它很有可能也能夠以 X11 伺服器的權限(訪問硬體等)執行程式碼。
對於 Xwayland(以及 Debian 中的正常 Xorg Xserver)中不嚴格的身份驗證問題,請參閱此答案末尾的註釋。
是的,您可以在單獨的伺服器(例如 Xephyr)上打開應用程序,但這很不方便,因為沒有共享剪貼板。基於 tmp 文件創建剪貼板也很不方便。
請注意,除非您採取額外步驟,否則預設情況下
Xephyr
允許任何本地使用者連接到它。有關它的討論,請參見this。在多個 X11 伺服器之間創建共享剪貼板是一個有趣的問題,值得自己進行問答,而不是與此混合。