X11のスクリーンロッカーが安全でない理由 42
回避 部門より
Windows NTのセキュリティー機能で誰もが思い出すことの一つとして、ワークステーションのロック解除にCTRL+ALT+DELキーを押すというものが挙げられる(現在でもポリシー設定で有効にできる)。この機能には、他のプログラムが特定のキーの組み合わせに反応できなくすることで、偽のロック画面が表示されることを防止するという目的がある。一方、KDEチームのMartin Gräßlin氏によると、X11は古すぎるためにX11上のスクリーンロッカーでは十分なセキュリティーを確保できないのだという。X11はプロトコルレベルでスクリーンロッカーを認識せず、Xサーバーはスクリーンがロックされているかどうかを判別できない。唯一のスクリーンロッカーとして動作する特権プロセスといったものは存在せず、他のプログラムがスクリーンロッカーと同様の動作をしたり、スクリーンのロックを妨げたりすることも可能だ。たとえば、コンテキストメニューを任意のウィンドウで開くだけで、スクリーンはロックされなくなるとのことだ。つまり、Xサーバーに接続している任意のプロセスがスクリーンロッカーをブロックすることが可能で、偽のスクリーンロッカーとしてふるまうことも可能ということになる。
Gräßlin氏はPlasmaの脆弱性修正に伴ってこの問題を認識し、Waylandベースのプロトコルを使用して問題を解決したとのことだ。