Security
Linux密碼輸入的安全模型
每當 Windows 應用程序想要執行需要管理員權限的操作時,我的螢幕就會變黑並出現提示,詢問我是否要授予管理員權限。我理解這種安全模型:它依賴於使用者控制鍵盤和滑鼠。特權授予控制輸入的任何人。如果應用程序在安全提示出現時獲得了輸入控制權,那麼即使它不知道我的密碼,它也會獲得管理員權限的控制權。
相比之下,在 Linux 上,sudo 命令是等效的。當應用程序請求權限時,它會提示我輸入密碼。因此,竊取輸入不足以獲得完全特權;應用程序必須改為竊取我的密碼。但是,我不明白這個模型。似乎這個模型很容易竊取我的憑據,因為我不斷地給出我的密碼。是什麼阻止了惡意應用程序發出虛假提示並竊取我的密碼,從而永遠獲得特權?
- 安全提示是否以某種方式綁定到請求它的應用程序?
- 如果一個應用程序能夠冒充安全提示,或者在冒充另一個應用程序時發出安全提示,那麼是否假定該應用程序已經完全控制了電腦並且無法通過適配我的密碼來提高其權限?
- 如果我曾經信任過一個應用程序,那麼該應用程序可以竊取我的密碼嗎?
- Linux(理論上)是否會阻止非 root 鍵盤記錄器,或者即使我在合法的安全提示中鍵入密碼,非 root 鍵盤記錄器也可以嗅探我的密碼?
我不明白是什麼阻止了惡意的非特權程序從管理員帳戶中獲取特權。安全模型可能只是假設管理員執行的所有程序都可以根據需要訪問 root,並且管理員不能依賴 root/非 root 作為一個有意義的障礙。Windows 在實踐中就是在這個前提下執行的。我不知道 Linux 是否試圖做出任何額外的保證。
我與 Wayland 一起閱讀了禁止它的基礎設施,但現在它仍然是一個問題。
看看
xinput test-xi2
我讀到的關於這個問題的第一篇文章:
http://theinvisiblethings.blogspot.de/2011/04/linux-security-circus-on-gui-isolation.html
進一步深入的討論: