X上の別のプログラムは、仮想端末に入力するときにルートパスワードをキャプチャできますか?


24

通常、クローズドソースアプリケーションを信頼していないため、Linuxボックスにオープンソースプログラムのみをインストールします。最近、大学のプロジェクトにDropboxを使用する必要がありました。workという名前の別のLinuxアカウントを作成し、pythonスクリプトを使用してインストールせずにworkとして) dropboxを実行しました。スクリプトは、システムトレイに、Dropboxの一部の機能のGUIを提供するシンボルも作成しました。

先日、メンテナンスを行わなければならなかったため、仮想端末(KDEのコンソール)を開き、suのルートパスワードを入力しました。

Dropboxアプリケーションがルートパスワードをキャプチャした可能性はありますか?

私はFedora 20をKDE 4.14.3で使用しています。

回答:


24

簡単な答え:はい。

「昔」では、他のXアプリケーションが特定の入力を取得することでそれを読み取ることを効果的に防ぐことができました。これは今でも可能ですがXI2プロトコルの仕様では、これ以上これを行うことはできないことが示唆されているようです(2220行のRawイベントの説明を参照)。したがって、Xだけでは、少なくとも通常の単純な設定では安全ではありません。デーモンがパスワードを要求する方法(Xsession、keyloggersafe)への回答の下の説明も参照してくださいそしてそこで参照されているAskUbuntu Q&A。言うまでもなく、実際にそれを行っている端末はありません。そのため、OpenSSHやGnuPGなどのアプリケーションには、キーボードをつかむ独自のUIヘルパーが付属しています(上記のように、最近ではそれほど役に立ちません)。

あなたは次のようにネストされたXサーバなど、別のXサーバの下でアプリケーションを実行していることでしょうが何ができますXephyrXnestのような、またはVNCベース1 Xvnc。Waylandプロトコルは、盗聴に対する保護も提供する必要があります。

上記とは別に、アプリケーションは、システムのパッチが適用されていないセキュリティホールを悪用して、高い権限を取得しようとした可能性があります。または、システムの前にパスにa susudowrappersを入れてパスワードをインターセプトするなど、もっと簡単なことを行います(コメントをありがとう@Joshua)。


たとえば、sudoを〜/ .evil / sudoにリダイレクトし、pwを取得します。
ジョシュア

Xの下では決して安全ではありませんでした-デバイスをつかむと、入力イベントが生成されないだけでxspy、キーボードを絶えずポーリングしてその時点でどのキーが押されているかをプログラムから保護することはできません。
アランク

@alancソースへのリンクはありますか?
ペテルフ

xspyの@peterph?元のWebサイトはなくなりましたが、インターネットアーカイブにはweb.archive.org/web/20090207115718/http://www.acm.vt.edu/…に
alanc

xnestもxephyrもあなたを保護しません。イベントは通常のようにウィンドウにバブルアップします。
goldilocks
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.