Internet Explorerの「スクリプトによる貼り付け処理」機能の能力を検証する

2001年11月5日 作成
2001年11月11日 追記: 「関連」の3番目の項目

目次


概要

MicrosoftのWebブラウザ「Internet Explorer」(以下「IE」と略す)には、 「スクリプトによる貼り付け」という名の機能があります。これは、 「JScript」(JavaScriptをMicrosoftが独自拡張した言語の名称)の 独自機能のひとつで、

    var str = clipboardData.getData("Text");
という一文で、 システムのクリップボードの中身を取り出せる機能です。 これは、おそらく、Web上のサービスでカット&ペースト機能をJScriptで 実現するために用意された機能と考えられます。 しかし、この機能が悪用されると、 悪意のあるページを訪れただけでクリップボードの 中身を盗み見られることになります。

※ 「JavaScript」および「JScript」は、「Java」とは別物です。

検証実験

あなたのコンピュータのクリップボードの内容が以下のテキストエリアに表示 されます。この実験では、1秒間隔でクリップボードのデータを 取り出します。別のアプリケーション(ワープロやプレゼンテーションスライド作成 ソフトウェア等)でテキストをクリップボードにコピー (テキストを選択して「Ctrl-C」キーをタイプする)してみてください。 その内容がリアルタイムに下のテキストエリアに表示されます。 「残り時間」が0のときに試すにはリロードしてください。
残り時間 秒です (もう一度試すにはリロードしてください)

(実際には機能しません)

この実験を試すには、IEの「セキュリティの設定」で「アクティ ブスクリプト」と「スクリプトによる貼り付け処理の許可」が「有効にする」 に設定されている必要があります。

脅威

上の実験では、これはデモンストレーションであるため、 取り出したクリップボードの内容をあえてテキストエリアに表示するように 作りました。また、 取り出したデータをサーバに転送する機能はあえて実装していません。 しかし、クリップボードを盗聴しようとする悪意ある者は、 どこにも不審な表示をすることなく、 クリップボードデータを取り出して、 それをどこかの任意のサーバに転送する ことができてしまいます。 直前に編集していた(もしくは編集中の)文書の企業秘密が漏洩したり、 ユーザ名やパスワードをコピー&ペーストで入力している場合には それを盗まれるという事態を招くおそれがあります。

Microsoftの公式見解

この現象についてMicrosoftのセキュリティ専門窓口 「Microsoft Security Response Center」に問い合わせたところ、 以下の回答を得ました。 (引用の許可を求めた際に得られた公式な回答です。)

On Thu, 25 Oct 2001 18:52:17 -0700
"Microsoft Security Response Center" <secure@microsoft.com> wrote:

We are aware of the issue of protecting the contents of the clipboard. This behaviour can be controlled, and is present by design for some web services such as Hotmail. If you are concerned about clipboard sniffing then you can set "Allow paste operations via script" to "Disable" or "Prompt" in the Internet zone. This is explained in detail in Q224993 "How to Protect the Contents of Your Windows Clipboard".

ご参考までに私なりの日本語訳を以下に示します。
クリップボードの内容を保護する件については認識しています。この挙動は抑 制できるものであり、HotmailなどのいくつかのWebサービスのために計画的に 提供されているものです。もしクリップボードを嗅ぎまわられることを心配す るのであれば、インターネットゾーンで「スクリプトによる貼り付け処理の許 可」を「無効にする」または「ダイアログを表示する」に設定することができ ます。このことは、Q224993「あなたのウィンドウズクリップボードの内容を 保護する方法」で詳しく説明されています。

クリップボードの盗聴を防止する設定

以下のように、IEのセキュリティ設定を変更することで、クリップボードを盗 聴される危険を回避することができます。
  1. 「ツール」メニューから「インターネットオプション」を選ぶ。
  2. 「セキュリティ」タブを選び、「レベルのカスタマイズ」ボタンを押す。
  3. 「スクリプト」の項目にある「スクリプトによる貼り付け処理の許可」の 項目を「無効にする」に設定する。
  4. 「OK」ボタンを押す。

関連

FAQ

Q1. これはセキュリティホールではないのでしょうか?

A1. いいえ。Microsoftがこれは意図して用意した(「by design」) 機能であ るという見解を示していますので、「IEのセキュリティホール」と呼ぶことはでき ません。 そもそも「セキュリティホール」とはどのように定義されるものでしょうか。 インターネットの利用には様々な危険が潜んでいます。 例えば、「フリーソフト」と称して裏で悪意のある行為をはたらくソフトウェア がどこかに置かれているかもしれません。それを疑いもなくダウンロードして実行 してしまうのはユーザの責任と言えます。 しかし、ユーザの同意なしに自動的にプログラムを起動させてしまえる抜け穴 (例えば「Nimda」ワームで悪用された 「MS01-020」など) があれば、それは「セキュリティホール」と呼べる欠陥です。 なぜなら、「自動的にプログラムが起動することはないはずだ」という暗黙の 了解が、ユーザとブラウザベンダーとの間にあるからです。 これと対照的に、欠陥でないとされている機能の例としては、 ブラウザがサーバにアクセスする際に 「Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)」 といったブラウザの種類とバージョンを表す文字列を送信するという仕組みが 挙げられます。 この機能は、WWWというシステムが誕生したころから存在するもので、 歴史的経緯から、ユーザに了解された機能と考えられるものです。 では、クリップボードが盗聴され得る機能についてはどうでしょうか。 一般的な常識に基づいてユーザが了解していると言えるかどうか 私の見解をここで述べることは控えますが、 少なくとも、前述のMicrosoftの公式見解からすると、 MicrosoftのInternet Explorerという製品は これを機能としてユーザに了解させる製品である ということになります。 一般に、ユーザは、どのような了解をさせられているかに留意して、 製品を使用するかしないかを判断する必要があります。

Q2. その他にどのような機能を了解せねばならないのでしょうか?

A2. マイクロソフトにご確認ください。私にはわかりません。


作成者:

高木 浩光@産業技術総合研究所