2009-09
07
21:24:00
もういい加減、ECサイトをIIS+SQLServerで作るのは止めにしよう


またクレジットカード情報の流出事件。
通販サイトからカード情報約5万2000件が流出、三菱商事子会社

三菱商事子会社のデジタルダイレクトは4日、運営する通販サイト「saQwaネットショッピング」「fun style shopping」から、クレジットカード情報などの個人情報が不正アクセスにより流出したと発表した。
 現時点で流出が判明した情報は、クレジットカード情報が約5万2000件、メールアドレス情報が約2万9000件。流出の可能性のある項目は、クレジットカード情報、ユーザーID、ログインパスワード、氏名、性別、生年月日、電話番号、住所、メールアドレスとしている。
 デジタルダイレクトによると、6月29日にカード会社から「カードが不正利用されている懸念がある」との問い合わせがあり、その時点での調査ではそのような事実は確認できなかったが、セキュリティ専門会社に相談を開始。その後、攻撃が確認されたことから、8月20日から通販サイトを休止し、セキュリティ専門会社にログ解析を依頼。セキュリティ専門会社から、個人情報が不正アクセスにより流出したことを確認した旨の報告書を8月31日に受け取ったという。

最近また多くこの手のニュースをよく聞くようになってきた。
そしていつも気になって調べてみて「やっぱり」と思うことがあるのだけど、それはこうした流出事件を起こしたサイトのほとんどがWindowsサーバーを使用しているらしいということ。
試しにここしばらくで流出事件が話題になったサイトのプラットフォームとOSをNETCRAFTで調べてみた。


■サクワ(http://saqwa.jp/)
20090907200114.jpg
■イーサプライ(http://www.esupply.co.jp/)
通販サイト「イーサプライ」不正アクセスでカード情報5620件流出
20090907200415.jpg
■アミューズ(http://shop.amuse.co.jp)
アミューズ通販サイトに不正アクセス、カード情報3万件以上流出
20090907201013.jpg
因みに最近話題になったといえばアリコジャパンの流出事件もあるが、あれは内部犯行だったとのこと。
アミューズは事件後の情報しかないが、事件後にWebサーバーがIIS/6.0と名乗っているのは、技術的な問題からそうそうApacheなどに簡単に切り替えられなかったことが想像され、ということは以前からもWindowsサーバーで運用されていたんじゃないだろうか。
ここ数ヶ月の事件に限ってみたけれど、去年話題になったサウンドハウスアイリスプラザなども実はWindowsサーバーで長らく運営されていたようだ。
実際にはNETCRAFTでIISやWindowsと記録されているからといって本当にそうかどうかは分からない。サーバー設定で詐称しているかも知れないからだ。
しかしそれなりの数を調べて、ここまでWindowsやIISばかり出てくるというのは恐らく偶然ではない。被害を引き起こしやすい、何らかの共通点を持っていると考えてしかるべきだ。
WindowsサーバーでIISと言えばそのバックボーンDBはほぼSQLServerを利用していると理解して差し支えないだろう。
そのSQL Serverにはエンジニアにはよく知られた、脆弱性に繋がる特徴がある。
①xp_cmdshellやEXECUTE構文の存在
これらはSQL文から内部コマンドを実行するという、よく考えれば恐ろしい機能だ。そもそもはイベント起動によるバッチ実行を意図しているらしい。
最近でこそデフォルトOFFになったりしているようだけど、EXECUTE構文については現在でも制限無く使えるらしい(確信なし)。
つまりSQLインジェクションが成功する場合の実際の侵入手段の一つと言うことになる。
②動的SQLの利用が一般的
これは歴史的な経緯に依存するらしい。
つまりADO登場以前にはDB接続にはODBCを使用するしかなかったが、ODBCでは動的SQLしかサポートされていなかった。
最近でこそADOやADO.Netの登場でPrepare(バインディング)可能な静的SQLも使用できるが、以前からの開発に慣れたエンジニアは動的SQLに頼っているのではないか。
特に未だにASP(aspxではなく)なところはほぼ100%動的SQLを内部的に利用していると思う。そうしたサイトですべての入力値や出力値が検査されているのかと言えば、甚だ疑問だ。
何らかの脆弱性を必ず抱えていると見るべきだ。
僕はSQL Serverの専門ではないので細かな点は指摘しにくいのだけど、これらの特徴が例えばLL+Apache+MySQLの組み合わせでは出てこない問題を引き起こしている可能性は非常に高いと思う。
もちろん、これもよく指摘されているように、クレジットカード情報を外部から直接到達可能な範囲に保存していたり、秘密情報を暗号化していなかったりといった問題点も同時にあったのだろう。
しかしそれらは脆弱性を突破された後に、情報漏洩しやすくなっていた傍証にすぎない。
そもそも、何より問題を引き起こしているサイトが悉くWindows系というのはどういうことか。WindowsやIISサーバーのシェアってそんなに高いはずがない。
にも関わらず、Windows+IIS+SQLServerはコストが安かったり管理が楽とか作るのが楽(確かにASPはそうだったろうけども。。)とかのせいなのか、ECサイトでは人気が高いようだ。
しかしそうしたプラットフォーム選択が結局ビジネスを潰していてはしょうがない。
もう、少なくともしばらくは新しいECサイトをWindowsプラットフォームで作るのはやめよう。
Windowsにだけ頻発している理由について結論も出ないだろうに今はとやかく議論しても仕方がない。ともかく被害が無くなるのかどうか、一度やめてしまってはどうか。

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)