ブロードバンドが普及する前、つまり、ダイヤルアップ接続が普通だったころ、突然高額な電話料金を請求されるという被害に遭った人が少なくないようだ。これは、悪質なサイトを訪れたときに、ダイヤルアップ先電話番号をQ2や国際電話に勝手に書き換えられていたことが原因である。しかし、通常ならば、設定を勝手にそのように書き換えられることはないはずだ。
もしあなたがNECパソコンの利用者で、このサイトの説明を読んだ記憶があるなら、原因はNEC社にあるかもしれない。
そこには次の説明がある。
「署名済みActiveXコントロールのダウンロード」の「有効」チェックボックスをチェックします。
この設定は絶対にやってはいけない。(ここは、デフォルト設定では「ダイアログを表示する」になっている。)
国際電話をかけるよう書き換えるプログラムは、大阪府警のハイテク犯罪情報のキャプチャ画面にあるように、「署名済みActiveXコントロール」を使って作られていることが多い。
この「セキュリティ警告」の確認ダイアログウィンドウは、署名が誰のものかを表示して、信頼するかの確認を求めているものだ。ここで、「はい」を押してしまうと被害に遭うことになる。府警や各地の県警は、ここで「いいえ」を押してダウンロードを拒否せよと注意している。
ところが、NECのサポート情報が指示する通りに、「署名済みActiveXコントロールのダウンロード」を「有効にする」にしていると、この確認ダイアログが現れず、確認なしに自動的に「はい」を選択したのと同じ挙動をしてしまう。
もし、あなたが、このNECの誤った指示に従って設定をその通りに変更していて、その後に、国際電話ダイヤルアップ被害に遭ったことを証明できるなら、NECに損害賠償を求めてもよいかもしれない。
そもそも、インターネットゾーンで「署名済みActiveXコントロールのダウンロード」を「ダイアログを表示する」「無効にする」以外に設定することなどあり得ない。そんな設定ができる必要はないのであって、こんな設定ができてしまうようにしているMicrosoftが無能だ*1というのは、その通りだろう。しかし、だからといってNECに責任が無いことにはならない。
NECは、この誤った解説を見てしまったと推定される全てのユーザに対して、正しい設定方法を告知するべきである。
NECのサイトには他にも危険な設定を指示しているところがある。「BIGLOBEメール自動設定」というページには、次のように同様に危険な設定の指示がある。
冒頭にリンクした、BIGLOBEのセキュリティ対策情報の解説もあまり適切でない。そこでは対策として、「ActiveXコントロールとプラグインの実行」を「ダイアログを表示する」にせよとしているが、それだと、ほとんどのページでいちいち確認が必要になってしまう。なぜなら、多くのサイトで、Flashを使った広告バナーが設置されていて、それがActiveXコントロールとして動くからだ。無害なページでいつも「はい」を押していたら、常に「はい」を押すようになるか、設定を元に戻してしまうだろう。
「ActiveXコントロールとプラグインの実行」は「有効にする」に*2した上で、「署名済みActiveXコントロールのダウンロード」を「ダイアログを表示する」または「無効にする」*3にするよう勧めるのが現実的である。
朝日新聞社が提供する「asahi.comツールバー」のところに、「ヘルプ・よくある質問」というページがある。そこには次の説明がある。
インターネットゾーンで、「スクリプトを実行しても安全だとマークされていないActiveXコントロールの初期化とスクリプトの実行」を有効にしろというのである。これは、上に書いたNECのケースより、数段危険な設定である。
この設定がいかに危険なものであるかを以下で検証してみよう。まず、以下のHTMLコードを見てみる。
<html> <script> var wsh = new ActiveXObject("WScript.Shell"); wsh.Run("cmd.exe /c dir /p"); </script> </html>
これは「不正プログラム」ではない。WScript.ShellというActiveXコントロールで Runというメソッドが使えるのは、Windowsの仕様である。この内容を拡張子「.hta」のファイル(「HTML Application」)として、ローカルコンピュータに保存し、そのファイルをダブルクリックして起動してみると、「cmd.exe /c dir /p」が実行されて、ディレクトリの一覧表示が実行される。これは、Windowsの仕様通りに動いたものだ。
ローカルファイルをダブルクリックで起動するというのは、そのファイルを操作者が完全に信頼したことを意味する。.exe ファイルや .bat ファイルをダブルクリックすると何が起きるか覚悟しなくてはならないのと同様に、.hta ファイルも覚悟が必要である。これは仕様だ。
ただし、これの拡張子を「.htm」という通常のHTMLファイルにして、IEで開いてみると、以下のような警告が現れる。
さすがに、ローカルファイルとはいえ、通常のHTMLファイルでこれが動くのは危険だということだろうか。「ほかの部分に影響しても問題ありませんか?」という質問も意味不明だが、ここで「はい」を押すと .hta のときと同じように動く。
当然ながら、任意のコマンドを操作できてしまうこういう機能は、インターネットゾーンでは全く動かないようになっている。
それは、「スクリプトを実行しても安全だとマークされていないActiveXコントロールの初期化とスクリプトの実行」がインターネットゾーンでは、「無効にする」がデフォルト設定となっているからだ。
ローカルファイルの起動で上のような警告が現れるのは、「マイコンピュータゾーン」で、「スクリプトを実行しても安全だとマークされていないActiveXコントロールの初期化とスクリプトの実行」のデフォルト設定が「ダイアログを表示する」になっているからである。
それを、asahi.comツールバーの「ヘルプ・よくある質問」は、「有効にする」に設定せよというのである。インターネットゾーンでだ。
試しにテストしてみるとよい。asahi.comの指示通りに設定して、以下のHTMLをどこかにアップロードして自分でアクセスしてみる。cmd.exe が実行されるだろう。
<html> <script> var wsh = new ActiveXObject("WScript.Shell"); wsh.Run("cmd.exe /c dir /p"); </script> </html>
これが実行されてしまうのは、設定が誤っているからであって、プログラムが不正だからではない。
asahi.comツールバーの説明は、おそらく、「ActiveXコントロールとプラグインの実行」を有効にせよと言いたかったところを間違えたのだろう。「ツールバーのインストール後に設定を戻しておいてください」と書かれているので、まだよいが、戻す必要のある理由が説明されていないので、戻さないユーザがいたかもしれない。
これも、そもそもこんな設定ができてしまうWindowsがおかしい。こんな設定が必要になることなど存在しない。
他にも危険な設定をさせている人たちがいる。
以下は必要のない設定のはずだ。確認ダイアログが出ても「はい」を押す人はいる。この設定「安全であるとマークされていない」は常に「無効」にしておくべきである。