web-dev-qa-db-ja.com

別のユーザーとしてGUIプログラムを実行しても安全ですか?

別のユーザーとしてプログラム(libreoffice)を実行する必要があります。おそらくソーシャルエンジニアリング攻撃を避けるために、kdesudo -u otheruser libreofficeとして呼び出されたときにプログラムがバックグラウンドで起動したことに気付きました。

(以下のテキストでは、「ログインしたユーザー」は「otheruser」ではなく私を指します)

  • この方法で信頼できないプログラムを実行しても安全ですか?
  • 現在ログインしているユーザーに影響しますか? (ログインしたユーザーのコンテキストでのファイルおよびプロセスのアクセス)

otheruserに直接ログインすると、フォーク爆弾、過剰なCPUなどを使用したサービス拒否攻撃も発生する可能性があるため、除外されます。明確にするために、otheruserとしてログインしたときに直接でプログラムを実行する場合と、kdesudogksudoおよびSudoを使用してプログラムを実行する場合の違いを探しています。

7
Lekensteyn

セキュリティ上の理由から、Xディスプレイにアクセスできるプログラムは、クリップボードを覗き見したり、偽のキーストロークを別のアプリケーションに送信したり、その他の重要ではないことを含め、何でも実行できます。 Xは、分離を念頭に置いて設計されたものではありません。

好奇心や偏執狂については、 Secure Linux Desktop および X11を介した受動的および能動的攻撃。Waylandの方が良いですか? をお読みください。非常に偏執的な場合は、 Qubes をチェックしてください。これは、それぞれ独自のXサーバーを実行している仮想化Linuxインスタンスに基づいています。

信頼できないXアプリケーションの実行が懸念される場合は、別のユーザーとして(またはより良いのは別の(仮想)マシンで)実行することに加えて、それらを別のXディスプレイで実行する必要があります。別のXサーバーを実行して、ネストされたXウィンドウにさまざまな方法で表示できます。仮想マシン( VirtualBoxVMware 、…)、リモートXサーバー [〜#〜] vnc [〜#〜] など、たまたまローカルに接続したり、 Xnest などの専用のX-in-Xプログラムで接続したりする=または Xephyr

ソーシャルエンジニアリング攻撃が心配な場合は、別の問題です。ソーシャルエンジニアリングはユーザーを対象としています。それらを避ける唯一の方法は、ユーザーを除外することです。

5
Gilles