Firefoxとスクリプトによる自動的なクリップボードアクセス このエントリーを含むブックマーク

クリップボードデータを盗まれる

概要

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

    var str = clipboardData.getData("Text");

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

脅威

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

そのページを訪れた人のクリップボードの内容を、どんどん cb.txt に保存していくことができます。大半の IE ユーザーは、気づきもしません。いやー。危険だなぁ。

IE7日本語版での対応が以下に。

Firefoxクリップボードをアクセスできる

Firefoxからクリップボードに値を自動設定出来る方法があるものの、脅威はそれほど大きくないことでしょう。盗聴には使えないからです。関連記事が以下に。最速インターフェース研究会さんの記事ヘノリンクなどが含まれています。

Firefoxそのものには、クリップボードを取り扱う機能がないので、Flashを経由して…という技ですね。

ところで、逆方向のアクセスは怖いです。もしも、クリップボードからHTMLページなどへデータが自動的に吸い上げられ悪意あるもののサーバへデータ転送されるとなると…

どうみてもクリップボードにアクセスしている事例

Firefox(1.5.0.4) on WindowsXPsp2 で、呆然としながら遊んでいました【謎】

私の遊び方その1。IEとFxとで上のページを開く。次に回線を切る。データ転送が行われてインターネット世界がクリップボードの代用になっていると困るから。そして…FirefoxからIEへ、またはその逆へ。オブジェクトを切ったりコピったり貼ったり。

私の遊び方その2。 上記環境のまま、メモ帳を取り出す。Fx側で切り取って、メモ帳に張り付けて呆然とする。出来るじゃん。XMLデータになったよ? メモ帳で人名を修正してみた。んで、Fxに戻してみた。さらに驚く。

orz これってFirefoxの機能で行っているの?自動化できるの?それともOSが援助しているの?

考えるのが面倒なので1時間ほどかけて日記にアップしてみるテストでした。あははは。