まだまだ危ないぞ、ナチュラムの個人情報漏洩
※こちらのエントリーと同内容です。
久しぶりにメールを受信したら、今話題のナチュラムから個人情報が漏洩したとのメールが。
ナチュラムを使ったのは、シマノのスコーピオン Mg 1000を買った1回こっきりなのですが、見事に流出してしまったようです。
そこでナチュラムにログインをして状況を確認しようと思ったところ、気になる点を見つけたのでいくつか記述します。
1.パスワード変更画面の不可解な点。
2.ナチュラムのシステムのソースコード(プログラム)が外部に公開されている。
3.個人情報が漏洩したにもかかわらず、個人情報をCookieに保存している。
1.パスワード変更画面の不可解な点。
まず1つ目の『パスワード変更画面の不可解な点』なのですが、ナチュラムに最初にログインをすると、以下のようなパスワード変更の画面が出てきます。
このパスワード変更画面なのですが、旧パスワードと新パスワードに同じパスワードを入れても登録できてしまいます。
ログインしたユーザーに、強制的にパスワードの変更をさせようとしているのに、新旧同じパスワードが登録できてしまったら意味が無いのではと思います。
ナチュラムさんのシステムが、このような仕様だというのなら仕方がありませんが。
2.ナチュラムのシステムのソースコード(プログラム)が外部に公開されている。
上記パスワード画面の問題を発見して、ナチュラムのサイトが他にも何かありそうなので探してみたら、どうやらナチュラムで動いているシステムのソースコード(プログラム)が外部に公開されているようです。
外部に公開されているのを発見したのは、私が不正アクセスとか法に触れる方法では無く、ごく普通にgoogleの検索で見つけました。
"site:http://www.naturum.co.jp" と とある単語のAND検索で以下のような画面が7件。
■さらに気になる点がいくつかあるので、以下の画像を見てください。
・赤丸の拡張子html
実はこのURLで、拡張子の.htmlが.aspなっている部分のみが違う、サイトがナチュラムには存在します。
どうやら、本来はaspで保存しなければならないファイルをhtmlで保存しているようです。
そのため、本来では見えることの無いソースコードが表示されてしまっています。
・青線のCookiesXXXXXXX("User_Name")
パッと見ですがCookieの中にユーザー名を保存しているような感じです。
もしCookieの中ユーザー名を保存している場合は、悪意のあるサイトやプログラムによって、情報を盗まれる可能があります。
(詳細は後ほど)
■今度はソースを見てみます。(Googleのキャッシュ→ソースの表示で)
まず最初に、<SCRIPT LANGUAGE=VBScript RUNAT=Server>と有るので、このソースコードはVBScriptで記述されているようです。
VBScriptは使ったことが無いので、関数名や記述方法から判断、またはネットで調べた情報で解析していきます。
次ぎに、コメントの日付が"080709○○追加"、"080709○○ここまで"でくくられている関数があります。(○○は修正者の氏名と思われます)
この日付が本当なら2008年7月9日に修正したこととなり、ナチュラムの不正アクセスの経緯の『クレジットカード会社より、カード情報流出の可能性があるため、弊社へ調査の依頼があった。』の日付と一致します。
そのコメントでくくられている関数を見るとSQLインジェクション対応の処理となっています。
この修正を見ると今回の情報漏洩は、『メンテナンス用サーバーへの進入』ではなく、やはり『SQLインジェクション』が問題だったのではないでしょうか?
その次に前に記述した、CookieへのユーザーIDの保存の件。
どうやらソースコードを見ると、ユーザーID以外にも、ユーザーの本名をCookieに保存しているようです。
3.個人情報が漏洩したにもかかわらず、個人情報をCookieに保存している。
そこで、本当にCookieに個人情報が保存されているか検証してみます。
■まずは、氏名を『山田太郎』に変更します。
■『山田太郎』に変更しました。
■ナチュラムで一度ログアウト後に、『山田太郎』に変更したアカウントでログインをして見ます。
■Temporary Internet Filesフォルダを開き、ナチュラムのCookieを探します。
ナチュラムでは『Cookie:●●●●(Windowsのユーザアカウント)@naturum.co.jp』と『Cookie:●●●●(Windowsのユーザアカウント)@www.naturum.co.jp』の2つの
Cookieを使用しています。
そのうちの『Cookie:●●●●(Windowsのユーザアカウント)@www.naturum.co.jp』をエディターで開きます。
■ユーザーネームとIDを探します。
User%5FNAME=%8ER%93c%91%BE%98Y&User%5FID=●●●●
赤い部分『%8ER%93c%91%BE%98Y』がURLエンコーディングのかかったユーザーネーム。
青い部分『●●●●』(伏てあります)がユーザーIDです。
■ユーザーネームをデコードします。
こちらのサイトを利用してURLエンコードされたユーザーネームをデコードします。
■結果
見事に『%8ER%93c%91%BE%98Y』が『山田太郎』に変換されました。
URLエンコードは文字列を別の文字コードに変換しているだけなので、暗号化されていない本名がCookieに保存されていることになります。
ブラウザによっては、任意のCookie情報を盗み見ることが出来る、セキュリティホールがあるらしいので、暗号化されていないユーザーIDや本名がCookieに保存されるのは非常に危険だと思います。
ASPにもセッション変数(サーバー側でユーザーネームやIDなどの値を保持する方式)が有るようなので、セッション変数などを使用して、より安全なサイトにしてもらいたいです。
まとめ
ナチュラムのサイトを少し見ただけで、いくつか怪しい点が出てきました。
まだ、SSLがデフォルトで設定されていないとか、突っ込みどころはたくさん有ります。色々探せばまだまだ出てきそうです。
情報漏洩が起こってしまったことは仕方がありませんが(仕方ないことも無いですが・・・)、この機会を切欠に、被害を受けたユーザーに誠意を持って対応し、今後もより良いシステム運営を行っていってもらいたいものです。
勢いで書き上げたので誤字脱字、私の認識違い、技術的な間違い等があれば指摘していただきたいと思います。
◆追記◆
2008/08/10 23:55
ホームページに関するお問い合わせから、3つの件について確認のメールをナチュラムに送ってみました。