<前の日記(2004年07月21日) 次の日記(2004年07月25日)> 最新 編集

高木浩光@自宅の日記

目次 はじめに 連絡先:blog@takagi-hiromitsu.jp
訪問者数 本日: 1228   昨日: 3744

2004年07月24日

パソコンユーザを国際電話ダイヤルアップ被害に陥れるNEC

ブロードバンドが普及する前、つまり、ダイヤルアップ接続が普通だったころ、突然高額な電話料金を請求されるという被害に遭った人が少なくないようだ。これは、悪質なサイトを訪れたときに、ダイヤルアップ先電話番号をQ2や国際電話に勝手に書き換えられていたことが原因である。しかし、通常ならば、設定を勝手にそのように書き換えられることはないはずだ。

もしあなたがNECパソコンの利用者で、このサイトの説明を読んだ記憶があるなら、原因はNEC社にあるかもしれない。

そこには次の説明がある。

「署名済みActiveXコントロールのダウンロード」の「有効」チェックボックスをチェックします。

NECパーソナル商品総合情報サイト 121ware.com サポート情報番号 004532

この設定は絶対にやってはいけない。(ここは、デフォルト設定では「ダイアログを表示する」になっている。)

国際電話をかけるよう書き換えるプログラムは、大阪府警のハイテク犯罪情報キャプチャ画面にあるように、「署名済み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がおかしい。こんな設定が必要になることなど存在しない。

他にも危険な設定をさせている人たちがいる。

以下は必要のない設定のはずだ。確認ダイアログが出ても「はい」を押す人はいる。この設定「安全であるとマークされていない」は常に「無効」にしておくべきである。

*1 ここを「有効にする」にするのは、イントラネットゾーンやマイコンピュータゾーンで使うためであろう。各ゾーンで制約なく直行した機能を提供するというのは、ある種の技術者の美学とも言えるが、Trustworthy Computingに方向転換したMicrosoft社が続けることではあるまい。

*2 ただし、ActiveX関連のパッチの出ていないセキュリティホールが発見されているときは、この設定も「ダイアログを表示する」にするのがよい。

*3 新しいプラグインのインストールが必要になったときだけ一時的に「ダイアログを表示する」にするのもよいだろう。

検索

<前の日記(2004年07月21日) 次の日記(2004年07月25日)> 最新 編集

最近のタイトル

2017年12月29日

2017年10月29日

2017年10月22日

2017年07月22日

2017年06月04日

2017年05月13日

2017年05月05日

2017年04月08日

2017年03月10日

2017年03月05日

2017年02月18日

2017年01月08日

2017年01月04日

2016年12月30日

2016年12月04日

2016年11月29日

2016年11月23日

2016年11月05日

2016年10月25日

2016年10月10日

2016年08月23日

2016年07月23日

2016年07月16日

2016年07月02日

2016年06月12日

2016年06月03日

2016年04月23日

2016年04月06日

2016年03月27日

2016年03月14日

2016年03月06日

2016年02月24日

2016年02月20日

2016年02月11日

2016年02月05日

2016年01月31日

2015年12月12日

2015年12月06日

2015年11月23日

2015年11月21日

2015年11月07日

2015年10月20日

2015年07月02日

2015年06月14日

2015年03月15日

2015年03月10日

2015年03月08日

2015年01月05日

2014年12月27日

2014年11月12日

2014年09月07日

2014年07月18日

2014年04月23日

2014年04月22日

2000|01|
2003|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|05|06|07|08|09|10|11|12|
2012|02|03|04|05|06|07|08|09|
2013|01|02|03|04|05|06|07|
2014|01|04|07|09|11|12|
2015|01|03|06|07|10|11|12|
2016|01|02|03|04|06|07|08|10|11|12|
2017|01|02|03|04|05|06|07|10|12|
<前の日記(2004年07月21日) 次の日記(2004年07月25日)> 最新 編集