X11 転送の意味は、サーバーからクライアントに戻るチャネルを開くことです。単純な SSH セッションでは、クライアントはサーバーよりも信頼されます。クライアントを制御できる人は誰でもサーバー上でコマンドを実行できますが (シェル アクセスを想定)、その逆は当てはまりません。 X11 転送を使用すると、サーバーはクライアントへのシェル アクセスを取得する可能性があります。
テキスト セッションでは、サーバーからクライアントに戻る限られたチャネルがあります。サーバーは、クライアントに表示される出力を決定し、特に、クライアントで実行されている端末でエスケープ シーケンスを悪用しようとする可能性があります。
X11 セッションでは、サーバーは X11 コマンドをクライアントに送り返すことができます。 X11 はセキュリティを念頭に置いて設計されたわけではありません。表示しているすべてのプログラムは自分で実行されるため、とにかく信頼できるという考えで設計されています。デフォルトでは、SSH はサーバーからのコマンドを X11 SECURITY 拡張機能によって制限します。 SECURITY 拡張機能は、キーボード グラブやキー インジェクションなどの明らかな攻撃を無効にしますが、フォーカス スチールなどの攻撃を許可します。
someserver
への SSH 接続を開いたとします。 、X11 転送が有効になっています。主なリスクは、someserver
の場合です。 悪意のある場合、someserver
自分のコンピューターで開いているウィンドウ/アプリケーションに対してあらゆる種類の厄介なことを行うことができます.
たとえば、someserver
コンピューターのウィンドウを開くことができる 開いている他のウィンドウを閉じることができる 開いている他のウィンドウの内容をスパイすることができる 他のウィンドウに入力したキーをスパイすることができる なりすましたキーストロークとマウスイベントを他のウィンドウに挿入することができる開いていて、通常、自分のマシンで開いている他のすべてのウィンドウを台無しにするだけです-それらの他のウィンドウのいくつかがローカルで実行されているローカルアプリケーションであっても.