メッセサンオーの顧客情報漏洩、原因は化石級の杜撰なCGI 124
ストーリー by hylom
世の中の技術・セキュリティレベルはこんなもんです 部門より
世の中の技術・セキュリティレベルはこんなもんです 部門より
Anonymous Toward 曰く、
INTERNET Watchの記事が伝えているように、4月2日、ゲームや同人誌などを販売するメッセサンオーの顧客情報がGoogleにキャッシュされ、誰でも閲覧できる状態になっていたことが発覚した。現在はキャッシュが見えないよう対策されているが、m-birdの日記などによると、使われていたショッピングカートの管理画面が、URLにパスワードを含む仕様になっていたのが原因らしい。INTERNET Watchの記事は「追記」として、これがWEBインベンターが提供するCGIスクリプトだとし、開発元が対策を呼びかけていると伝えている。
しかし、その対策元の呼びかけは、「管理プログラムがGoogleにインデックスされないようにする」というもので、
- 「パスワード付きのURLが検索エンジンに拾われないようにするために気をつけてください」という注意喚起
- metaタグ(noindex,nofollow,noarchive)の挿入とUser-Agentによるクローラの排除を導入した最新バージョンへのアップデートの呼びかけ
- 「検索エンジンにインデックスされてしまったときの対処」
の3点であり、そんなのでは対策にならないという指摘がはてなブックマークで大量にコメントされている。
開発元は、従前から「ショッピングカートCGI設置方法(Q&A)」の「管理画面の呼び出し方法」として次の注意書きをしており、問題がいずれ起き得ることは認識していたことがうかがわれる。
管理画面を呼び出し、パスワードを入力すると、パスワードがアドレスバーに表示される場合があります。これはパスワードをCGIで受け渡ししているためです。それを表示したくないときはフレームを使うことをお勧めいたします。
その後、開発元からの呼びかけに、「現在、フォームの送信にGETを使うという脆弱性を改善すべく急いでおります。(中略)完成次第、お知らせいたします。」という追記がなされたが、はたしていったいどんな改良版が登場するのだろうか。
webのログイン管理的なもの (スコア:3, 参考になる)
携帯対応・変なファイヤーウォールを無視できるとして、今回の件では関係ないものもありますが、対策はこんな感じでしょうか。
専門家の方もxxはyyが悪いというばかりで、対策をまとめてくれないのでよくわからんのですよね。
ベーシック認証、クライアント証明は考慮外です。
step0: ログインIDとパスワードをURLに含めて持ち歩くのをやめる
step1: パスワード送信をPOSTにしてPOSTのみ受け付ける
step2: ログイン画面以外は、パスワードを利用せずにcookieを使う
step3: 全コンテンツでTLS・有効で信頼済みの認証局発行のサーバー証明書を使う
step4: cookieにはsecureフラグを立てる
step5: cookieには基本的にセッションIDのみを保存する
step6: セッションIDをjsessionidやphpsessionidなどでURIに含めない。受け付けない。(NG例:ぐぐる)
step7: セッションIDには推測されない一時的に生成されるIDのみを使う(NG例:JVN#07468800)
step8: ログイン前後でセッションIDを共有しない
step9: パスワードを変更したら、サーバー側で古いセッションIDを無効にする(NG例:twitterのidのっとり事件)
step10: パスワード再確認などを併用してセッションIDのサーバ側有効期間を短くする(例:yahoo)
step11: ログインIDとユーザーIDを分離する(例:mixi/ねとげ)
step12: ログイン追跡機能をつける(例:unixのlast login/yahooの履歴)
その他1: サーバー側のDBでのパスワード保存は、saltつきのハッシュ値などにする
その他2: CSSXSS/CSRF/XSS対策、正しいエスケープ処理をする
その他3: 簡単ログインを実装しない
その他4: メールでのパスワードリセット・確認はメールアドレスの生存期間を考慮した仕様にする(NG例:iTunes)
その他5: 脆弱性が公表されているバージョンのソフトウェアを使わない
Re:webのログイン管理的なもの (スコア:5, 参考になる)
# これはがくっときてしまう人多そう…。
たとえば、IPAではこんなのを用意しています。これで完全だとは言いませんが、指針として目を通しておいたほうがよいでしょう。
安全なウェブサイトの作り方 [ipa.go.jp]
Re:webのログイン管理的なもの (スコア:1)
># これはがくっときてしまう人多そう…。
確かにIPAの存在も忘れてましたが、法人ではなくて個人を想像したコメントでした。
IPAがまとめてくれているので、個人でまとめる必要はないわけですね。
プログラミングガイドとかも、そういえばIPAでした。
脆弱性でデータ流出とかは話題になって(個人的には)記憶に残りやすいです。
一方「IPAが仕事しました」というのは、内容がおかしかったら話題になるけど、内容がまともすぎて、話題・記憶に残りにくいのかもしれません。
blogとかで紹介するときも、「IPAがまとめています→リンク。参考になります。」という感じで触れられるだけですから、
後で読もうと思ってリンクをたどらず、つい読み飛ばしてそのうち忘れます。
現場で、「IPAのこれ読んで」とか上に言われて渡されたりするのか、もしくは上の人は、渡したり確認したりしているんでしょうか。
#ここはひとつ、萌えキャラで擬人化してみんなに覚えてもらうというのはどうだろう。
Re:webのログイン管理的なもの (スコア:1)
オレオレ証明書を使うと暗号化の意味がないと思いますよ。
管理画面にアクセスするPCを制限できるのであれば、意味が無いこともないと思いますよ。アクセスする前にオレオレサーバ証明書なりオレオレCA証明書をそれらのPCにインストールしたり、フィンガープリントで確認する手順を徹底したりできるでしょうから。
Re:webのログイン管理的なもの (スコア:1)
パスワードを使わずTLSなんかでクライアント認証
TLS(SSL)クライアント認証は、技術的には理想的な解だと思うんだけど、実用上は問題があるんだよね。
まず、仕組みが一般人には理解しにくいこと。なぜそれで安全と言えるのか、ということが理解できないと、正しい利用も難しい。
次に、パスワードみたいにこっちのPCでもあっちのPCでも使える、と言うわけにはいかないところ。これは技術的な問題でもあるんだけど。
これを解決するために、あっちのPCにもこっちのPCにもクライアント証明書をインストールして回る、という手も無くはないけど、それだと、
パスワードめんどくさい
から、パスワードをあちこちのPC(の認証情報マネージャ)に保存して回る、というのと変わらないんだよね。
Re:webのログイン管理的なもの (スコア:1)
2000円程度で標準仕様な簡易スマートキーが量販店で売ってれば良い。
仕組みの理解できないものに、2000円も払うだろうか?
電子マネーですら、いろんなポイント優遇なんてものがあって普及が進んだことを考えれば、初期投資2000円で目に見えた(理解できる)メリットが無い、というのはいかにも高い気がする。
しかも、数年に一回程度の更新が必要だし、そのための認証局の運用だってコストがかかる。例えば、VeriSignのBMS証明書・クライアントのが14,385円/3年間。まあ、VeriSignはオーバースペックだろうと思うけど、半分だったとしても、素直にコストをスマートキーに載せれば、2000円/年すら不可能ってことがわかるね。
よほど巧く考えられたビジネスモデルがないと実現不可能なんじゃないかな?
GETとか関係ねぇ (スコア:2, 興味深い)
開発元の中の人はアホですか・・・?
どのメソッドを使うかとかそういう問題じゃないってのがわかってないんだろうか。
わかってないんだろうな。
屍体メモ [windy.cx]
Re:GETとか関係ねぇ (スコア:4, おもしろおかしい)
どのメソッドを使うかとかそういう問題じゃないってのがわかってないんだろうか。
わかってないんだろうな。
GetからPutに変更しました!
という修正になる予感がしました。
Re:GETとか関係ねぇ (スコア:2)
PUTが通っちゃったらそっちの方が大問題です。POSTだよPOST。
言ってないことに反論するなよ
Re:GETとか関係ねぇ (スコア:2)
そうなんだけどね。
<form method="put"
でも(見かけ上)動いてしまう罠があるので…
Re:GETとか関係ねぇ (スコア:1, おもしろおかしい)
Re:GETとか関係ねぇ (スコア:2, おもしろおかしい)
セツコそれは出銭や
Re:GETとか関係ねぇ (スコア:1, 興味深い)
あまり理解してないので、誤解があったら指摘していただきたいのですが。
google AnalyticsやリファラなどでIDやパスワード情報をURLに含んで渡っていた事が
管理画面までクロールされてしまう原因となったので、とりあえずURLにIDやパスワー
ドを含まないようにするというのは、対策の一つとして必要なのでは?
勿論、そもそも不特定多数がアクセス出来るような場所に管理画面を置いておくんじゃ
ないよ!とか。ボットにクロールされるようにしとくな!とか、色々あるとは思いますけど。
サーバはお客さんの自主管理で、汎用的なネットショップスクリプトみたいなものを
売るとしたら、意外と厄介だと思うんですけどね。
Re:GETとか関係ねぇ (スコア:2)
パスワードを平文で送受信してた所もお忘れなく。
Re:GETとか関係ねぇ (スコア:2)
ブログやTwitterの改ざん/なりすましより、エロゲやエロビデオの購買履歴漏洩の方が、
社会的仕事的精神的恋人的ダメージの大きさは計り知れないものがある気がします。
成り上がり (スコア:1, おもしろおかしい)
http://example.com/hoge/menu.cgi?admin=1
まあ、すぐ対策されましたが
Re:成り上がり (スコア:1)
menu.cgi?admin=password に修正されたのですね。
1を聞いて0を知れ!
Re:GETとか関係ねぇ (スコア:2)
そこまで杜撰ではないですが、Cookieに平文でID・パスワードを保存しているサイト、なんていうのも、時々見かけますね。それだけでは問題が顕在化しにくいのですが、XSSやCSRFの影響をもろに受けるので非常に危険かな、とは思います。
(何度かIPA経由で指摘はしましたが、修正されてないサイトのほうが多いですね……。)
Re:GETとか関係ねぇ (スコア:1, 興味深い)
話題のWEBインベンターさんのところにはサンプルがあって、管理機能とか一通り試せるんですが、会員管理でユーザ一覧を表示してユーザのリンクにフォーカスを合わせてURLを見ると
(略)/member.cgi?entry_no=22&ID_NAME=zzzza&PASS_W=zzzza&mode=renew1
( ゚д゚) ・・・
(つд⊂)ゴシゴシ
Re:GETとか関係ねぇ (スコア:1, 参考になる)
> 中小企業では無く超大企業が納入
<導入側の(ユーザーの)言い分>
そのくらいのセキュリティは言われなくてもやるのが当然だろ!
常識考えろ!
<納入側の言い分>
要件書にないものがあるわけないだろ常識考えろ!
コンサルまでやってほしけりゃ、その分金出せ!
・・・ではないでしょうか?
水と安全と技術力が無料と思われてるウツクシイ國 (スコア:2, すばらしい洞察)
四月馬鹿としか思えない杜撰な実装に、間の抜けた修正。
しかし、それ以上に悲しくなるのは、値段もそれ相応だったらしいということ。
そりゃその価格じゃこの品質も妥当だろう。賞味期限を1週間過ぎたコンビニ弁当を
50円で買ったようなもんじゃ。
しかし世間じゃこのくらいの価格でも、優れたUIと最新のセキュリティが
オマケでもれなく付いてくると思われていたり。orz
Re:水と安全と技術力が無料と思われてるウツクシイ國 (スコア:4, すばらしい洞察)
「安かろう悪かろう」と「しっかりしてるけど高い」、これが選択できることが重要だと思うんだよね
ちょっとかじった人はすぐに手抜き実装を責めるんだけどさ。
俺、普通に外注に出すとき、管理画面は手を抜いていいよって言うよ。
そんなところで頑張ってもらって工数使われてももったいないし。
そのぶん、アクセス元制限等でのセキュリティ対策はするけどね。
自己責任で安いものをうまく使う、技術力が必要なら高い金を払わせる。
そう主張した方が現実的だったりしないか? 技術に値段をつけるという意味で。
# mishimaは本田透先生を熱烈に応援しています
Re:水と安全と技術力が無料と思われてるウツクシイ國 (スコア:1, 参考になる)
日本は「安いが低品質」を選べない国なのです。そもそも違法だったり。
バンコクで「物価」の意味を知る [hatena.ne.jp]
Re:日本はオーバースペック (スコア:2)
ちょっとオフトビ気味だけど……
リンク先についていえば、例えば、東南~北東アジア諸国だと、野犬や放し飼いのイヌが多いわけで、年に数十人が狂犬病で亡くなる。治療方法は確立されておらず、罹患すれば確実に亡くなる。日本は国内で感染した患者は40年以上いない。(東京オリンピックの前に、野犬対策を徹底した)
衛生管理のコストについては、自分自身や身内に悲劇が訪れた瞬間を想像できないと議論が出来ない。
道路についていえば、一般に保守の軽視が問題にされている。有料の高速道路や国道であれば予算も豊富だが、距離で考えればほとんどの道路が市町村の管理で、保守費用が捻出できない。舗装道や橋を車で走行しているドライバーが、その道路の状態をどれだけ認識、把握できているだろうか。余程の段差、大穴でもない限り、ほとんど認識できないだろう。
すでに、山村や離島でも車が走るような道路は舗装されている。明らかに新設ではなく、保守に重点を移すべきだ。
Re:日本はオーバースペック (スコア:1)
正しくは「発症すれば」確実に亡くなるですね. 犬(だけじゃなく哺乳類全般. 吸血コウモリなんてのもあり)にかまれてヤバイと思ったら, 直ちにワクチン接種すれば助かる可能性が高い, というかほぼ助かります.
ちなみに狂犬病を発症して助かった例は, 正確な記録として残っているものは全世界で1例 [kusuri-jouhou.com]だけあるそうです.
エロゲー屋がそんな事考えるわけありません! (スコア:1, おもしろおかしい)
Re:水と安全と技術力が無料と思われてるウツクシイ國 (スコア:1, 興味深い)
WEBインベンターって聞いたことない会社なんですが、ここの値段って破格にお安いもんなんですか?
http://shakediary.blog93.fc2.com/blog-entry-2476.html [fc2.com]
によると、賠償金額は63万円(一人当たり)になる試算だとか。
懲罰的賠償とは言わないけど、今後ネット通販業界がセキュリティに敏感になるんだったら
メッセサンオーが潰れるくらいの賠償を課せられてもそれはそれでしょうがないんじゃね?とはおもう。
#あれ?ここってPCパーツも商ってなかったっけ?と思ってwikiみたら、かつてのオーバートップをココが経営してたのね。
#メッセサンオーの袋に入れてくれたので、PCパーツ買ったつもりがなんとなく同人誌買って帰るように見えて気恥ずかしかったのを覚えてる。
それだけじゃない・・・ (スコア:1)
CGIの脆弱性については先日のBlog メッセサンオーの個人情報流出とWEBインベンダーのカートの脆弱性 [livedoor.jp] では書いたんですが、その後の対応が個人的には許せないなと思ったり。
4/7 8:30公開予定のBlog記事 [livedoor.jp]に詳しく書いてますが、管理情報漏れたサイトってメッセサンオーだけじゃないのに、他のShopに連絡したのってメッセサンオーさんへの修正プログラムができた更に、翌日なんですよね。
自分ところのプログラムに問題があったと言う意識がまったく無いのが問題。
ここ [wb-i.net]なんか、謝罪じゃなくて、どうみても第三者的なお知らせだし・・・。
Re:水と安全と技術力が無料と思われてるウツクシイ國 (スコア:2)
はぁ? こんな短い文なのにものすごいカオスなにおい。まじ痺れる。
Re:水と安全と技術力が無料と思われてるウツクシイ國 (スコア:1)
どんな用途だろう……
Re:水と安全と技術力が無料と思われてるウツクシイ國 (スコア:1)
いくつか航空機に持ち込むとか~
大量の電池だとさすがにセキュリティゲートで止められるそうですが
電電公社では… (スコア:2, おもしろおかしい)
docomo IDを作ると生でパスワードを保管されてしまう [takagi-hiromitsu.jp]
これはないわ。パスワードは照合さえできればよいのであって、不可逆変換して持っておけば十分。生で持つ*1必然性がない。パスワード忘れの場合は、再発行すれば済むこと。特にここの場合、登録時と同様に、初期パスワードを生成して画面に出せばよいのであって、何ら不都合がない。
相変わらず理解できない文章を書く人ですね。IDとパスワードは大事なんだし、オリジナルを保存しておいて照合する人が大多数なのに(笑)
Re:電電公社では… (スコア:1)
エイプリルフールは過ぎていますよ。
Re: (スコア:0)
そのコメント、いくらなんでもネタですよね?
Re:電電公社では… (スコア:1)
高木センセはそうだろうけど
#1744273はちょっとウケ狙いにしても酷いでしょw
Re:電電公社では… (スコア:2)
きっと舶来信仰ですよ。日本人なら平文で!
# リカバリの問い合わせするとメールで送ってくれるサービスというのはたまに見かけることも事実ですけど
# パスワードはハッシュを照合すべし、って当たり前だと思ってました
Re:電電公社では… (スコア:1)
実際問題として「パスワードのハッシュ」を保存する方法の場合
利用者がパスワードを忘れた場合、サーバ側に生パスワードはありませんから、
新たなパスワードを作りなおすことしかできません。
無難に行くならワンタイムのパスワード再設定ページのURLをメールするとか、
ランダムなパスワードを生成して、そのパスワードをメールするとか、
そんなところでしょうか。
#パスワードをメールで送るのはどうよ、って意見もありそうですが、
#この際、生パスワードをメールするとかには目を瞑ってます。
#そもそも、オンライン登録ではメール以外に有効な確認手段が無いし…
#「パスワード忘れました。メールアドレス変わってます」なんてときには途方にくれますが…
ところが、そういうのは不便だっていう利用者が多いんですよ。
そのせいか、「パスワードを忘れた場合は」ってのをクリックすると、
現在設定しているパスワードがメールで送られてくるサイトも結構あります。
そういう利用者側のセキュリティを無視した利用者の要求を揶揄したのが元コメントでしょう。(笑)って付いてるし。
Cookieいらない? (スコア:1)
ワンクリック不正アクセス (スコア:1, 興味深い)
友達のだったのでクリックしたらそのままログイン出来てしまったぜ。
その友達にリファラーもどうにかしないとヤバイと教えてやった。
世の中こんなもの (スコア:0)
大手企業サイトでもいまだにFTPとパスワード認証で更新してるところが驚くほど多いってGumblarが実証してくれたわけだし。
日本人ってどうして自分の中だけにある完璧な理想を周囲に押し付けたがるんだろうね。
Re:世の中こんなもの (スコア:1, すばらしい洞察)
こういう馬鹿ってどうして日本人に限定したがるんだろうね。
どこの国でも一緒ですよ。
Re:世の中こんなもの (スコア:1)
専門にしていらっしゃる方であるなら、#1744265・#1744560 の AC だけでなく #1744410 の AC にも
他の国の実情・具体例をいくつか書いていただきたいな。日本特有なのか他国も同じなのかを
実例で知りたく存じます。
他力本願ですみません。
Re:世の中こんなもの (スコア:2)
Gumblarが流行ったのは日本だけの現象でしたか?
それ以前に (スコア:0)
実名出して通信販売を使うって神経がわからん。
Re:それ以前に (スコア:1)
通販=流出するなんて前提がないわけですし。
直接店で買う、通販で買う、人に知られたら恥ずかしい商品なんてものは、
人それぞれ違うと思いますよ。
実際自分も、自己啓発の本をAmazonで結構買ってますが、知られたらちょっと恥ずかしい(笑)
そもそも今回の件では間違いなく開発元、運用先が悪いわけなんですから
被害者を責めるのは筋違いでは?
#誤解なきように言っておきますが、
#別に私が被害に遭ったわけではありません(笑)
Re:それ以前に (スコア:1)
Re:それ以前に (スコア:1)
>人に知られたら恥ずかしい
店頭は一時の恥、通販は一生の恥
といううまいコメントを見かけたw
なんどめだナウシカ (スコア:0)
タカギちゃんを国のセキュリティ大臣にして何とかしようぜこれ
Re:気になるのは (スコア:1, 参考になる)
ありそうなのはブラウザのバグで漏れたリファラが、どこかのアクセス解析に残ったというシナリオかなぁ。
Internet Explorer 4.0, 4.01, 5.0, 5.01のバグ [ryukoku.ac.jp]
EZwebブラウザに不正なReferer送出を行う不具合 [srad.jp]
Refererを誤送信するブラウザが最近も存在する [takagi-hiromitsu.jp]
それと Firefox の Tabbrowser Preferences という拡張に、直前に開いていたタブのリファラが新規タブで開いたページに渡る [uec.ac.jp]というバグが以前ありました。
ブラウザのリファラ漏れバグって、使っている本人からは見えにくいので怖いですよね。
Re:業界の恥 (スコア:1)
送られてきた情報はすべて疑え
掲示板にURLが貼られても笑って過ごせる実装を
てなことは気にしてます。
ええ、おかげで思い通りにクロールしてくれないことがしょっちゅうありますよ...
ログ見ながらどこでぶっちぎれてるのか確認するのが悲しいです。