web-dev-qa-db-ja.com

GnuPGパスフレーズエントリとX11スニッフィング

pinentry-gtk-2にパスフレーズを入力するたびに、次のように、他のすべてのX11アプリがそれを傍受する可能性があります

$ xinput test-xi2

バックグラウンドで実行されています。

それについて何ができますか?

または、自分のアカウントで実行されている何百もの異なるプロセスを信頼する必要がありますか(*) tonotX11はパスフレーズを入力するときにスニッフィングし、not私の~/.gnupg/ディレクトリをインターネット経由で敵に送信しますか?

(*) ここでは、カーネルに非常に近いrootとして実行されている、ほとんどハードウェアのキーロガーについては考慮していません。私は、クローズドソース Skype または Insync のような、通常のユーザーランドアプリケーションについて話しています。

10
Michal Rus

最善の解決策は、セッションをSELinuxユーザーuser_uまたはstaff_uとして実行することです。これにより、他のアプリとgpg_pinentry_tドメインで実行されるピンエントリアプリとの間のプロセス間通信がより厳密に実施されます。

デフォルトでは、ユーザーはunconfined_uにマップされます。これはsome保護を提供しますが、user_uとして実行する場合ほどではありません(たとえば、ほとんどのものはunconfined_tとして実行されますが、Firefoxプラグインはmozilla_plugin_tとして実行されることに注意してください。

非常に高いパラノイアについては、この問題を正確に解決する Qubes OS を試すことができますが、作業環境に課せられる制約に慣れる必要があります。

3
mricon