web-dev-qa-db-ja.com

Truecryptパスワードを入力するときのX11のGUI分離

古いTrueCryptコンテナーのいくつかについて少し偏執狂になっています。パラノイアは、TrueCrypt自体(昨年のシャットダウン後)に関する疑いとは関係ありません。むしろ、キーロガーが私のコンテナーのパスワードを盗聴することに関するものです。

そして、Xサーバーが非常に安全でなく、さまざまなアプリケーションが相互にスヌーピングする可能性があることについて、Joannaの投稿を見つけました: http://theinvisiblethings.blogspot.in/2011/04/linux-security-circus-on-gui -isolation.html 。これは古い投稿(2011年)ですが、これについてはネット全体で多くの議論が行われています。このHackerNewsの投稿をご覧ください: https://news.ycombinator.com/item?id=7607082

とにかく、私はxtermがGUI分離を提供することを発見しました。また、gksudoは、入力されたパスワードへの覗き見を許可しないとされています。

今、私の質問はこれです:パスワードを要求するときに、TrueCryptのGUI分離をどうにかして実装できますか?

PS:

キーファイルがあります。だから、それを勧めないでください。

7
shivams

Xtermは、別のttyで別のユーザーとして実行するように設定しない限り、分離を許可しません。 GksuとGksudoは、notを実行しても、あらゆる種類の分離を提供しません。同じことが、kdesu/kdesudo、pinentryなど、他のすべてのパスワード入力ユーティリティにも当てはまります。これらは、他のすべてのウィンドウと同様に、通常のウィンドウです。

WaylandはWindowsの分離をサポートしていますが、Truecryptがサポートしていないプロトコルをサポートするアプリケーションに対してのみです。 Waylandをサポートしないすべてのプログラムは、Waylandがフォールバックとしてサポートしているがウィンドウ分離を提供できないレガシーX11プロトコルにフォールバックします。その結果、多数のレガシーアプリケーションで使用しても、セキュリティは強化されず、Truecryptパスワードは引き続き盗まれる可能性があります。

私が考えることができる2つの実行可能な解決策があります:

  • 新しいttyで新しいユーザーとして新しいXorgセッションを開き、そこでTruecryptを開きます。
  • Xorgを実行せずにttyに移動し、rootとしてログインし、コマンドラインを使用してTruecryptをマウントします。

注意深くしない限り、攻撃者は通常のユーザーにアクセスできれば、ほとんどの場合、そのようなパスワードを入手できます。たとえば、ルートを取得するためにSudoまたはsuを使用する場合、それらはそれをキーログできます。 Xセッションでそれを行わない場合でも、関数、エイリアス、シェルの LD_PRELOAD を使用してハイジャックできます。rootであり、suを使用して通常のレベルに下げた場合ユーザーの場合、rootは ttyプッシュバック攻撃 でハイジャックできます。別のttyに切り替えてrootとしてログインしようとすると、侵害された可能性のある通常のユーザーが、Truecryptパスワードをrootまたは安全なユーザーとして入力するときに盗聴できないため、実際には偽のログインコンソールが表示されることがあります。 agetty(またはlogind)ではなく、rootのパスワードを与えます。これを緩和する唯一の方法は、ルートとしてログインするために新しいttyに切り替えるたびに SAK combo を使用することを忘れないことです。つまり、覚えておかなければならないことがたくさんあります。Truecryptパスワードを取得するために、通常のユーザーにアクセスできる特定の攻撃者が1度だけ失敗する必要があります。

私の個人的なセキュリティ手順は非常に堅牢ですが、非常にGUI指向である場合は少し面倒かもしれません。 Xorgを使用せずに、ターミナルでほぼすべてを行います。私はRBACでgrsecurityを使用して個々のプログラムを分離し、それらがハイジャックされた場合に$ HOMEや構成ファイルで混乱しないようにします。別のttyに切り替えてログインするときは常にSAKを使用し、Xorgを使用する必要があるときは、一度に1つまたは2つのプログラムのみを開いたままにします。私は、ブラウザ、Wineの下で実行するいくつかのビデオゲーム、および写真編集のためのGimpを使用するだけで済みます。 Xorgは別のユーザーで実行されます。これは過度に見えるかもしれませんが、私の通常のユーザーが危険にさらされた場合、私がスリップしてSAKを使用するのを忘れたり、新しいttyにrootとしてログインするのではなく、suを使用してrootを取得することを保証する最低限のものです。 、またはカーネル0dayは、キーロギングを開始して私の暗号化キーのようなものを取得できます。

4
forest

わかりました、ここにいくつかのアイデアがあります。

XをWaylandに置き換えます。それは長い道のりを経て、いくつかの問題にパッチを当てるべきです。必須のアクセス制御を利用して、他のアクションを抑制します(具体的には、ソフトウェアを悪用してキーログに記録する攻撃)。 VMを参照し、そこですべての不要なソフトウェアを実行します。仮想キーボードを使用することもできます。(Waylandとペアにするとかなり効果的です)Waylandは標準の画面グラブをブロックします。

これらはGUIアプリケーションを分離します。ライブUSBからのデータへのアクセスのみがかなりの予防策ですが。

もちろん、あなたがマシンを構成している場合、それはもうあなたのものではありません。

3
keepass_fan