回答:
「ルート以外のユーザーアカウントが侵害される可能性は別として」それはかなり大きい可能性があるため、これはセキュリティ上の問題だと思います。
しかし、それ以外にもリスクが増加しています。たとえば、スクリーンソケットディレクトリ(/var/run/screen
私のシステムで/tmp
は使用されますが、時々使用されます)のアクセス許可を変更できる理論上の悪用に自分自身を開放しました。そのエクスプロイトには、ルートを取得するためのパスがあります。
sudo
を実行するのではなく、各コマンドで使用するように自分を訓練できる場合、他の利点がありますsudo su -
。アクションをログに記録します(リモートでログを記録している場合を除き、セキュリティを大幅に向上させることはありませんが、実行した内容を追跡できます)。また、完全に特権のあるセッションに切り替えるのではなく、コマンドごとに意図的なエスカレーションを要求することで、事故の防止に役立ちます。
スクリーンセッションにルートシェル(デタッチされているかどうか、パスワードで保護されているかどうか)があり、screen
実行可能ファイルがsetxidでない場合、特権を取得した攻撃者はそのシェルでコマンドを実行できます。他に何もなければ、彼らはスクリーンプロセスを追跡することによってそれを行うことができます。
screenがsetuidまたはsetgidであり、セッションが切り離されてパスワードで保護されている場合、原則として、そのシェルでコマンドを実行するために画面のパスワードを取得します。この原則が成り立つ場合、アカウントを侵害しただけの誰かがトロイの木馬を置き、パスワードの入力を待つ必要があります。ただし、攻撃対象領域(つまり、バグや構成の誤りが原因で問題が発生する可能性のある場所の数)は不快なほど大きくなります。基本的なシステムセキュリティ機能に加えて、次のことを信頼しています。
「あなたを噛まない他の機能」:ええ、それはあいまいです。しかし、それは常にセキュリティの問題です。これを単なる希望的観測として却下したくなるかもしれませんが、本当にすべてを考えましたか?例えば…
端末デバイスに書き込むことができる限り、そのシェルの入力にデータを注入できます。私のマシンの画面のデフォルト設定の下:
printf '\ekfoo\017bar\e\\' >/dev/pts/33
printf '\e[21t' >/dev/pts/33
これ␛]lfoobar␛l
により、シェルの入力ストリームに挿入されます。\ek
アプリケーション(または端末デバイスに書き込むことができるもの)がウィンドウタイトルを設定し(スクリーンマニュアルの「ウィンドウの命名」セクションを参照)、\e[21t
アプリケーションの標準入力で端末にタイトルを報告させる制御シーケンスです( screenはこのシーケンスを文書化しませんが、それを実装します; xterm制御シーケンスリストCSI Ps ; Ps ; Ps ; t
で見つけることができます実際、少なくとも画面4.0.3では、報告されたタイトルからすべての制御文字が取り除かれるため、シェルは(仮定は編集コマンドにバインドされていない)、改行はありません。したがって、攻撃者は実際にそのようにコマンドを実行することはできませんが、次のようなコマンドを詰め込むことができますlfoobar
␛]
chmod u+s /bin/sh
多くのスペースと見かけのプロンプトが続きます。
Screenは、他の同様の危険な制御シーケンスをいくつか実装していますが、脆弱性に対する潜在的な可能性はわかりません。しかし、スクリーンセッションパスワードによって提供される保護がそれほど優れていないことがおわかりいただけると思います。sudoなどの専用のセキュリティツールは、脆弱性を持つ可能性がはるかに低いです。
画面によって作成されたパイプは所有者のみがアクセスできるため、これはセキュリティ上の問題ではありません。
sudo
。