プログラムがキーストロークをsu / gksuに盗聴しないようにするにはどうすればよいですか?


10

ここでは、Xサーバーを使用するすべてのアプリが、su(端末上で)またはを含む、Xサーバーを使用している他のアプリにキーストロークを傍受する可能性があることを読みましgksu。XサーバーをXephyrのように安全にするいくつかの方法を聞いたことがありますが、どちらを使用するかわかりません。xinput端末やでパスワードを入力しているときに、アプリがキーストロークを簡単に盗聴できないようにしたいだけですgksu。現在、Debian sidを使用しています。


入力しないでください。実行
Ignacio Vazquez-Abrams

1
任意のアプリ =任意のアプリケーションあなたのX11サーバへのアクセス権を持つにはX.Orgのセキュリティのドキュメントを参照してください最初のポインタのために。またXACE、X11クライアントが信頼されている/信頼されていないため、全体像が少し複雑になっていることにも注意してください。最近のXorgセットアップでこれがどれだけ使用されているかはわかりません。
sr_

1
Xephyrをインストールしました。これは非常に扱いにくく、複雑なbashマジックが必要ですが、ネストされたXサーバー内で実行されるxinputはXephyrの外部でキープレスを検出できませんでした(ただし、Xephyrの外部で実行されるxinputはすべてのキープレスを検出できます)。SELinuxサンドボックスを使用してみましたが、機能させることができませんでした。誰かがより良いアイデアを持っている場合に備えて、この質問は開いたままにしておきます。
Magnus

これは、lwn.netGNU / Linuxのグラフィックススタックのセキュリティに関する最近の記事で、この問題に関するX開発者の見方をかなり徹底的に説明しています。
sr_ 2012年

回答:


1

Xephyr / Xnest / vnc-serverは、アプリケーションを別のXサーバーと通信させますが、gksuを実行している他のXサーバーと通信することを禁止しないことに注意してください。

最善の方法は、別のXサーバー別のユーザーとして実行することです(またはLSMを使用して、アプリケーションがXサーバーに接続したり、.Xauthorityファイルを読み取ったりしないようにします)。それをさらに一歩進めるには、chroot刑務所で実行し、さらに一歩進めるには、コンテナーで実行し、さらに一歩進めるには、フルコントロールで実行します。仮想マシン(たとえば、kvm -snapshotを使用)。

アプリケーションを信頼しない場合は、おそらく最後まで行かなければならないでしょう。


-1

他の場所への入力を妨げるX11アプリ(パスワードプロンプトなど)は盗聴できないと思いますが、証明方法はわかりません。

これを試してください:を実行しgksu、パスワードプロンプトが開いたら、キーを使用して音量を調整してみてください(マシンにキーがある場合)、または他のホットキー(スーパー、パワーなど)を押して、何かを確認してください。そうでない場合、私はあなたが安全だと思います。

ctrl-alt-f1などは常に機能すると思います。


2
実際、xinputはgksuでもキーの押下を追跡できます。私はそれを試してみましたが、パスワードの入力中にキーが押されたことを表示していませんでしたが、gksuダイアログボックスが消えると、キーが押されました。
マグナス

@マグナス:それは残念です。:(
ams
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.