Webサービス”アレとは?”に辞書検索機能をつけました。
先日リリースしたアレとは?にGoo辞書の検索も出来るように追加しました。
今後もいろいろな機能をつけて、便利なサービスにしていこうと思います。
一括検索ツール「アレとは?」をリリースしました。
久々にプログラミングして、一括検索ツールを作ってみたので公開してみます。
アレとは?
このツールは文言を入力して検索すると、入力した文言の翻訳(日本語訳・英語訳・中国語(簡体)訳・中国語(繁体)訳・韓国語訳)、ニュース検索、関連語検索、Wikipedia検索、2ch(2チャンネル)のスレッド検索、ブログ検索を一括で行います。
使用APIはreflexaの関連語APIと、Find.2chの2ch検索APIと、Googleのブログ検索APIと、Yahoo!検索ランキングを利用しています。
それ以外の部分に付いては自作の処理でデータを取得しています。
自分用に作って放置しておいたのですが、いつの間にかGoogleに拾われていましたので、正式に公開しました。
このままだとスパムちっくなので、もうちょっと機能を強化して、付加価値をつけたいと思います。
2008-11-10 追記
Goo辞書の検索も出来るように追加しました。
ナチュラムさんからシステムに関するメールの返信が届きました(suroisuの日記版)
さて、タイトルの件です。
昨日、私が発見した以下の問題
1.パスワード変更画面の不可解な点。
2.ナチュラムのシステムのソースコード(プログラム)が外部に公開されている。
3.個人情報が漏洩したにもかかわらず、個人情報をCookieに保存している。
についてナチュラムさんにメールを送ったところ、返信が来ましたので紹介します。
まず、私がナチュラムさんに送信したメール本文です。
(※個人情報、セキュリティにかかわる部分は消してあります。)
ナチュラム システム担当者様 ナチュラム セキュリティ担当者様 いつもお世話になっております。ナチュラムを利用しているスロイス(実際には本名を記述)と申します。 システムとセキュリティに関しての報告と確認をしたいと思いメールをいたしました。 まず最初の件ですが、ナチュラムのソースコードがWeb上に公開されているようで、Googleの検索にも表示されてしまっています。(aspファイルの拡張子をhtmlにしてしまっている為?) 次に、ナチュラムのサイトで使用している、Cookie内の情報にログインユーザーの本名とユーザーIDが暗号化せずに記録されています。情報漏洩の件の含めて、セキュリティの面から考えると、セッション変数に格納するなど、サーバーサイド側で対応したほうがよろしいのではないでしょうか? 最後になりますが、初回ログイン時パスワードの変更画面が表示されますが、旧パスワードと新パスワードが同じ物でも登録できてしまいます。パスワード変更を促しているのに、新旧同じパスワードが登録できてしまうのは意味が無いのではないでしょうか? 上記3点ですが、対応と確認をしていただければと思います。 メールの内容が言葉足らずで、分かりにくいかも知れません。 以上、いきなりのメールですが、ご確認いただけたらと思います。 よろしくお願いいたします。 スロイス(実際には本名を記述) |
それに対してのナチュラムさんの返信の抜粋。
(※個人情報、セキュリティにかかわる部分は消してあります。)
> まず最初の件ですが、ナチュラムのソースコードがWeb上に公開されているようで、 > Googleの検索にも表示されてしまっています。 > aspファイルの拡張子をhtmlにしてしまっている為?)
|
なお、ここには載せませんでしたが、メール本文は非常に親切丁寧な文章で書かれていました。
運営側の対応があまり良くないような噂は掲示板やブログなどで色々と見ましたが、このメールを書いた方、および素早い対応を取られたシステムとセキュリティ担当の方々には非常に好印象を抱きました。
これからが大変でしょうが、頑張っていただきたいと思います。
ナチュラムさんのメールの最後に以下のような一文がありました。
こうした皆様の意見は一つ一つが大変貴重なものです。 全社員一同、誠心誠意対応にあたって今後の信頼回復に努めて参ります。 |
そして、早速なのですが対応していただいた『1.パスワード変更画面の不可解な点。』を試してみました。
■パスワード変更画面で、新パスワードに旧パスワードと同じものを入力して『パスワードを変更する」ボタンを押下してみます。
ナチュラムさん、早速対応していただきありがとうございます。
それにしても眠かったとはいえ、私がナチュラムさんに送信したメールの日本語が酷い・・・(笑
[ http://www.google.com/search?q=site:http://www.naturum.co.jp(以下URLのクエリー部分はセキュリティー的に略)まだまだ危ないぞ、ナチュラムの個人情報漏洩
※こちらのエントリーと同内容です。
久しぶりにメールを受信したら、今話題のナチュラムから個人情報が漏洩したとのメールが。
ナチュラムを使ったのは、シマノのスコーピオン 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つの件について確認のメールをナチュラムに送ってみました。
NTPで時刻がずれた!?
今日会社に出たら、会社の常時起動してるマシンの時間がずれていました。
NTPで1日に数回時刻を合わせてるはずなんですが・・・。
とりあえずマシンのログとかを見ても特にエラー等は出ておらず、時刻がずれた理由がさっぱり分かりません。
で、NTPの参照先を見たら福岡大学のNTPサーバー(133.100.9.2)を指していました。
さらに福岡大学の情報処理センターを見たらこんなのが。
全学停電に伴う学内ネットワークおよび全システムの停止について
どうやら4月20日に全施設の停電を行ったようでコレが理由なのか?
ずれた後の時刻が2002年1月1日になっていたので、福岡大学の停電でNTPで時刻が取れなかったため、何かのハードの初期値の時刻を持ってきてしまっていたみたい。
勝手に利用してるので文句は無いですが、大学のシステムだからといってもこのようなことがあるのですね。