TELNET.EXEのセキュリティ問題

IEのアドレスにtelnet://(サーバー名)と入力することで,標準添付のTelnetクライアントが使えますが,このTelnetクライアントには問題があると聞きました。BBSにもアクセスをするのでよく使うのですが,どういう問題があるのですか?


TELNET.EXEの問題はWindows 95,Windows 98にIE4/5が導入されている場合に発生します。質問にあるとおりIE4/5では「telnet://(サーバー名)」や「rlogin://(サーバー名)」「tn3270://(サーバー名)」といったリンクをクリックすると,OS付属のTELNET.EXEが起動してサーバー名をパラメータとして渡します。ところがTELNET.EXEには不正なパラメータをチェックする機能がないため,Webページに意図してリンクを作成し,ローカル(ユーザーのPC)で不正なプログラムを実行させることが不可能ではありません。この問題はWindows 98ではWindows Updateで,Windows 95ではパッチを導入することで対処できます。したがって,Windows 98では,Windows Updateを定期的に実行している人はすでに問題はなくなっているはずです。また最新のIE5やWindows 98 Second Editionで導入されるIE5はすでにこの問題に対処しており,Webからのリンクで問題が発生することはありません(ただしTELNET.EXE自体の不正なパラメータをチェックしない問題はクリアされていません)。
 回避の方法として,Telnet接続にTELNET.EXEを使用しない方法もあります。例えば,Windows 98なら付属のHyperTerminalでもTelnet接続が可能ですし,都合のいいことに一度HyperTerminalを使用してTelnet接続を実行すると,「telnet://〜」のリンクからは自動的にHyperTerminalが実行されるように設定されます。起動するプログラムの設定はフォルダオプションの[ファイルタイプ]中の「URL:〜プロトコル」に設定されているので,「URL:Telnetプロトコル」を参考に「URL:RLoginプロトコル」「URL:TN3270プロトコル」なども変更しておくといいでしょう。筆者の確認した限り,OSを標準導入した状態でTELNET.EXEを呼び出すリンクはこれらの3種類だけです。
 上記のことで分かるように,Webのリンクから呼び出されるプログラムは比較的自由に変更が可能です。OS付属のTELNET.EXE,HyperTerminalとも決して高機能なものとはいえませんから,好みのプログラム(Telnet対応通信ソフト)を設定してしまうのも手です。すべてのTelnet対応通信ソフトが利用できるとはいえませんが,起動時にパラメータとしてホスト名を渡せるものなら大丈夫でしょう。例えばオンラインソフトなら秀Term(シェアウェア,サイトー企画,http://hidemaru.xaxon.co.jp/)などはパラメータとしてホスト名を渡すことはできませんが,TeraTermProは大丈夫です。実行するプログラムをフルパス(ドライブ名,ディレクトリ名も含んだ実行プログラムのパス)で記述,必要なパラメータとともにホスト名の部分を「%1」で設定してやればOKです。
(坪山博貴)



画面1 Windows 98に標準搭載されているTELNET.EXE



画面2 [ファイルタイプ]の「URL:Telnetプロトコル」の編集ダイアログで,「open」を編集する



画面3 実行するアプリケーションをそこで変えてしまえば,TELNET.EXEは起動しない