7. Xterm の脆弱性

xterm プログラムはユーザにコマンドラインプロ ンプト (Unix のシェル) を提供するために使われます。コマンドライン プロンプトを介して多くの重要なユーザとコンピュータとのやりとりが行 われるので、このプログラムを安全に実行できることが重要です。 xterm プログラムにあるいくつかのセキュリティ 上の脆弱性について述べます。

一つは、xterm が提供する write-access 機能で これを利用するべきではありません。SendEvent はキーとボタンのイベン トで人為的に生成されます (要するにキーボードやマウスによるものでは ありません)。デフォルトで xterm は X サーバか らの SendEvent 要求をすべて拒否します。しかし、これは二つの方法で 変更可能です。方法の一つ目は、.Xdefaults ファ イルか app-defaults/Xterm ファイルのどちらか の X リソースの定義に次の行を追加します。
        xterm*allowSendEvents: True
        

方法の二つ目は、xterm のメインオプションメニュ ー (CTRL キーを押しながらマウスの左ボタンを押すことで表示できます) を介して X サーバに X イベントを送ることを許可することです。 これら二つの方法は、xterm を起動した人以外からの通信を可能にしてしまうので、 絶対に行うべきではありません。

しかし、read access は異なった仕組みを介して制御されます。メインオ プションメニュー上の 'Secure Keyboard' オプションです。オンにした 時、すべてのキーボードのイベントはその xterm ウィンドウにのみ送られます (マウスのやりとりは変更されません)。こ れは他のクライアントがパスワードの入力といった重要なキーボードのイ ベントを捕捉することを妨げます。もちろん、一時期にこのオプションを オンにしてもいいのは一つの X クライアントだけです。このオプション は重要なデータ入力に役立ちますが、他のウィンドウとやりとりするため にはオフにしなければならないので、継続使用するには実際的ではありま せん。