2010年05月26日

危険?!UNIQLO のTwitter 連動イベント

ユニクロ、26周年「誕生感謝祭」でTwitter連動型サイト公開:ニュース - CNET Japan

と言うわけで、ユニクロでツイッター連動イベントやってるのですが、どうもやばそうなので調べてみました。

初心者向けに後半に 簡単な説明と分かりやすい例をあげておきます。

* 5/26 21:30 UNIQLO様から SSL対応を担当部署に依頼したのでお待ちくださいと回答いただきました。
* 5/28 結局対応に言及されなかったみたいなので、追加記事を書きました。



uniq2
まずためしにUser test ID 12345で送信してみます。

basic
本来出るはずの、こういう認証画面が出ない!

fe5a648c.png


これがネットに流れるキャプチャデータです。クリックすると拡大できます。

どういうことかと言うと、http://uniqlo-happy-line.s2factory.co.jp/system/stand_in_line.php へ username=test&status=UNIQLO%20LUCKY%20LINE%E3%81%AB%E8%A1%8C%E5%88%97%E3%81%AA%E3%81%86%E3%80%82&password=12345&char%5Ftype=arm%3D20%26body%3D20%26border%3D4%26face%3D1%26foot%3D11%26hair%3D59%26kutsu%3D1%26type%3D2R
と言う情報をHTTP(暗号化なし)で送ってるわけです。

stand_in_line.php が LOGでフォーム情報を記録していれば、UNIQLOはTwitterのIDとPASSWORDを収集することも出来るわけです。

仮に保存されていると仮定して、悪意が無かったとしても、
IDとパスワードが閲覧できちゃうわけですから、ハッキングされた場合、大量にIDとパスワードが漏洩する危険があります。

S2Factory *2と言うのはどうやら外注っぽい

追記:S2FactoryさんはサーバーをUNIQLOさんに用意してるだけと言う事が分かりました。Hiroshi D. James様/コメントの方 ありがとうございます。(参考: Hiroyuki Hanai様のTwitter / quanta様のTwitter)

Googleにあるデータを確認してみたところ、

http://uniqlo-happy-line.s2factory.co.jp/system/data/heads400_tails400.txt
http://uniqlo-happy-line.s2factory.co.jp/system/data/all_line.txt
http://uniqlo-happy-line.s2factory.co.jp/system/data/all_line_tweets.txt
と言うデータが見える模様(後ろ2つはなぜかすぐ削除、最初のも後日削除されました*1)


と言うわけで、キャッシュデータから確認してみました。

all_line.txt の方はheads400_tails400.txt に出てる表示用のデータとほぼ同じフォーマットで 1〜5カラムと7,10カラム目のデータが全ユーザに対して保存されているみたいです。
all_line_tweets.txt の方もheads400_tails400.txt に出てる表示用のデータとほぼ同じフォーマットで 1、2,6カラムと8〜10カラム目のデータが全ユーザに対して保存されているみたいです。


簡単な説明

・5/26 15:00の時点で個人情報が流出したわけではない
・非常にまずいPHPの実装をしたので、S2Factory内に悪意のある人がいれば、簡単にIDとパスワードを取得できる
・もしフォームの内容を記録していれば、S2Factoryへ外部からのハッキングでIDとパスワードが取得される可能性がある
・従来(TwitPicやゲームのように)のTwitter のIDとPasswordを使うサイトと違って、*3BASIC認証/OAuthすら経由せず、S2Factoryのサイトへ*4生のIDとパスワードを送ってから処理してるのが問題。


今回の問題点の分かりやすい例

*実例

あなたが良く利用しているお店でクレジットカードを使います。
ヨドバシカメラのELIOやJRのクレジットカード対応発券機を想像すれば分かりやすいと思います。

通常は、カードをお店の人に渡して、暗証番号を自分で入力して決済します。
しかし、今回は、お店の人にカードを渡したところ、暗証番号を入れる機械が無いので、暗証番号を教えてくださいと言われたので、仕方なくお店の人に告げました。

お店の人はコンピュータに買物の内容を打ち込んでいますが、そのコンピュータには液晶モニタが付いていて、現在入力している内容が表示されていて、お店の人が、不正な入力をしていないか全ての入力内容がお客さんにも分かるようになっていて安心なんだそうです。

後で分かったことですが、その店員さんは、正社員ではなく、臨時で雇われた、アルバイトだったそうです。

赤字で書いた3つの問題点を今回の事例に置き換えてみると・・・・。

・暗証番号をお知えて下さい→通常はTwitterのAPIを使います。
・全ての入力内容がお客さんにも分かる→つまり、ほかのお客さんにも丸見えですね。今回の送信データは httpsで暗号化されて無かったのです。
・正社員ではなく、臨時のアルバイト→ 今回パスワードを預かったのは、Twitterでも、UNIQLOでもなく S2 Factoryと言うところでした

5/26 23:55 追記:S2 Factoryさんは、単にサーバーを貸してただけと言うことなので、そのコンピュータが人から借りた物だったと言ったところでしょうか?

ただ、今回は、クレジットカードの暗証番号の様にお金が絡むような、重大な話ではありませんが、例え話のような状況が起こりました。


IDとパスワードを暗号化して送信しなかったせいで事故が起こった事例としては、先日も記事に書いた、ウェブインベンターとメッセサンオーの顧客情報漏洩が記憶に新しいと思います。


実行してしまった場合&どうしても参加したい場合は?

類推で居ないパスワードに変更すればOKです。
IDとパスワードが誰かの手に渡って、悪戯されたり、パスワードを変更される前ならば・・・ですが。
不安だけど、UNIQLOに並んでみたいと言う方は、捨てアカウントを作ってアクセスすると良いかもしれません。

*1 Passwordは、現在Googleキャッシュにもれてるファイル中には含まれていませんでした
*2 2007年創立で、1998年創立のIMG SRC Group の子会社らしい。結構、メジャーな企業のサイトを手がけている。
*3 BASIC認証/OAuth と 生パスワードの違い について、OAuthで承認すると、相手はTwitterユーザーがログインして出来ることが全て出来るようになります。パスワードを変えても、権限は変わりませんが、後で取り消すことができます。 生のパスワードがもれた場合、そのパスワードで他のサービスのパスワードも類推することが出来るかもしれませんが相手が勝手にログインしてパスワードを変更する前に変えてしまえば大丈夫だと言うのが違いますね。
*4 通常、パスワードやIDを送信するサイトはURLの頭に、httpsが付き、データが暗号化されて送信されています。だから、目的のホスト以外では復号することはできないので、心配ありません。しかし、http の場合 生でIDとパスワードを送信しているので、例えば、会社から送信した場合、以下の可能性があります。
・社内のネットワーク管理者にパスワードとIDが丸見えになる。
・社内のネットワークログにTwitter ID/Password が保存される。
・途中経路のプロクシやプロバイダなどにID/Passwordがもれる。
・S2 Factoryのターゲットのサーバ以外の管理サーバーのログにIDとPasswordが保存される。

関連記事:
メッセサンオーの個人情報流出とWEBインベンダーのカートの脆弱性
【続報】メッセサンオー顧客情報流出のWEBインベンダーの対応について
UNIQLOのプレスリリースでの公式発表について

関連サイト:
ユニクロトップ - UNIQLO ユニクロ
ユニクロ、26周年「誕生感謝祭」でTwitter連動型サイト公開:ニュース - CNET Japanhttp://cms.blog.livedoor.com/cms/article/add?blog_id=2914225
S2 Factory | About



blackwingcat at 15:00│Comments(19)TrackBack(0) | トピックイットに投稿する | 時事NEWS 

Twitter Feedback

トラックバックURL

この記事へのコメント

1. Posted by うにくろ   2010年05月26日 16:38
>S2Factory内に悪意のある人がいれば、簡単にIDとパスワードを取得できる。
そんなこと言ったら銀行のシステム子会社とかも同じじゃね?
2. Posted by blackwingcat   2010年05月26日 17:08
> そんなこと言ったら銀行のシステム子会社とかも同じじゃね?

セキュリティを扱う会社の場合、限られた人しか、アクセス出来ず、情報を閲覧する場合、誰がどのデータを見たかなどが厳密に管理されています。

しかし、この場合、中継するコンピュータ上全てに生のデータが流れてしまう上に、誰が閲覧したかも特定することは出来ません。
だから、社外秘の上のランクの極秘資料を扱うのと社内報を扱うのとの違いくらいの差があります。
3. Posted by     2010年05月26日 17:45
>中継するコンピュータ上全てに生のデータが流れてしまう

いやいやw
TCP/IP 通信とは何かから勉強し直してくださいよw
4. Posted by blackwingcat   2010年05月26日 18:02
> TCP/IP 通信とは何かから勉強し直してくださいよw

あー、一応ネットワークのプログラムも仕事にしてる人なのでそこら辺は多分大丈夫です(^^;
わたしの書き方が悪かったのかもしれませんが、中級者にも分かりやすい例を挙げると、

・社外、集合住宅から出るためのProxy、コンテンツ規制サーバーなどが通信内容を処理する。
・DeleGateサーバーがHTTPのリクエストの通信内容を丸々保存する。
・TCP/IPの通信では目的のPCでは無くても、ルータなどの枝に当たるPCの通信を解析すると、近縁のPCへ向けたデータが物理層には到達していることがある。

等も通信経路で漏洩する例です。
5. Posted by     2010年05月26日 18:50
そらゲートウェイで盗聴することだって、経路上で「たまたま」平文の該当部分がチラ見えすることだってあるでしょうよ。
悪意を持った人間がそれを狙ってやることが現実的なのか?
一体どれだけの人間にそれが可能なのか。
そもそも、その場合の守秘義務ってのはユニクロじゃなくネットワーク管理者やらにかかってくるんだと思うんですがね。
6. Posted by blackwingcat   2010年05月26日 19:36
> そらゲートウェイで盗聴することだって、経路上で「たまたま」平文の該当部分がチラ見えすることだってあるでしょうよ。
> 悪意を持った人間がそれを狙ってやることが現実的なのか?

確かに、特定の人をターゲットにすると言う目的ではおっしゃる通りです。

では、少し見方を変えてみましよう
今回は1万人を超えるひとが、何度も、家や学校、職場と場所を変えて応募します。
つまり、その中には野良プロクシを利用している方もいて、
その中には、悪意のあるサーバがある可能性もある訳で、

SSLじゃなかったせいで、twitterのid PASSが盗まれた人が居る可能性が
否定出来ないのです

ユニクロの守秘義務などの問題をクリアしたとしても、
今時、暗号化もせず平文でパスワードを送るのは、webインベンダー位でしょう

#ちなみにハックは狭義の侵入するという意味以外に、
以外にコンピュータやネットワークの動作を解析するという意味
があるので参考までに。
7. Posted by ユニクロさん   2010年05月26日 20:13
野良プロクシを使ってる人とかまで仮定に入れちゃうんですか…
内部犯行があれば、外部からのハッキングがあれば、という仮定で危機感を煽ってみたり。

このサイトの設計がお粗末であることは事実かもしれませんが、ちょっとこの記事もどうなのかという気がします。

あと、BASIC認証なら大丈夫だったんでしょうか。駄目ですよね?

非常にまずいphpの実装、というのも謎です。まずいのは根本的な設計じゃないですかね。
8. Posted by blackwingcat   2010年05月26日 20:25
> このサイトの設計がお粗末であることは事実かもしれませんが、ちょっとこの記事もどうなのかという気がします。

確かに、不安を煽るだけで、対策とか根本的なこと書くの忘れてました(^^;
ありがとうございます。

仰る通り、サイトの根本的な設計に問題があると思います。
9. Posted by     2010年05月26日 20:38
SSLじゃなかったせいでパスワードが盗まれたんですかね?
その場合、俺としては野良サーバ踏んじゃったせいだと思うんですけどね
個人情報保護を謳うなら当然SSLを使うべきというのは同意見です
使うなとか使っても意味ないなんて思ってないですよ

>・非常にまずいPHPの実装をしたので、S2Factory内に悪意のある人がいれば、簡単にIDとパスワードを取得できる。
-> 外部にデータ委託していると免責事項で言っている以上、当然ですね。SSL使ってようが内部犯がいれば同じです。

>・もしフォームの内容を記録していれば、S2Factoryへ外部からのハッキングでIDとパスワードが取得される可能性がある。
-> これはSSL実装とは無関係ですね。そもそもユニクロは記録してないって言ってますね。

> stand_in_line.php が LOGでフォーム情報を記録していれば、UNIQLOはTwitterのIDとPASSWORDを収集することも出来るわけです。
-> 免責事項で、得た情報をどのように使うか明記していますね。

> 仮に保存されていると仮定して、悪意が無かったとしても、
IDとパスワードが閲覧できちゃうわけですから、ハッキングされた場合、大量にIDとパスワードが漏洩する危険があります。
-> だからパスワードは保持していないと言ってますね。そもそもSSL使ってようが、内部にデータ保持してればハッキングで漏洩は当たり前に起きますね。

なんだか、叩かれるべき点は暗号化されてないって点だけだと思うんですが、それ以上のことまでユニクロのせいにしてません?
ユニクロは、外部業者にデータ委託することもある、パスワードは保持してないと当初から明記していますよ?
10. Posted by     2010年05月26日 20:38
それと、暗号化されてない点については、ユニクロやIPAに直接報告すればいいんじゃないでしょうか。
公開して喧伝する必要ってなんです?
パスワードが悪意のある第三者に盗聴される危険があったって事ならそう書けば宜しいのでは。
言ってしまえば、「初めから何も漏洩していない」わけですよ。
予め悪意を持って経路上に機器を置いて初めて「盗聴が可能だった」今回と、さながらXSSでDBの中身すっぱ抜かれるような「漏洩」とを同義に叩くのはさすがに乱暴じゃないですか?

長文ですみませんね。
どうもむやみに祭りを加速させたがっておられたように見受けたもので。
純粋に「未だ見ぬ被害者たち」に注意喚起されたかったのであれば謝ります。

#ハックの意味はどうでもいいんですけどね、ハッククラック談義なんて今更ですし
(つか該当のツイート消えてますね。。。w)
SSL通信じゃない以上、手元でキャプればそりゃ何でも見れます
そんなのは当たり前なんです、裏をとるまでも無いことです
11. Posted by     2010年05月26日 20:43
コメント書いてる間に元記事変わってたw
ユニクロさんが端的に書いておられることを長文で書いてしまい申し訳ないです

メッセサンオーの件とは全然問題の内容が違うと思いますがね〜〜・・・
まぁ何事にもリスクは有ると言うことを人々がもっと気づくといいですね
12. Posted by のら   2010年05月26日 20:44
記事よみました。
問題なのはあなたのようにこういった問題の不安をあおって
ツイッターやサイトで一方的に発信する人でしょうね。
これはユニクロにこの内容を伝えて直してもらうっていうのをやればいい話ですよね。落ち着いてからまとめたりする良識のある大人対応が必要なのでは?
火事場で騒いで写真とってる人とかわりませんよ。

あと例えは極端すぎなのと分かりにくいですね。
お金が絡んでくる内容を例えに出すと問題の本筋が伝わりませんよ。
13. Posted by blackwingcat   2010年05月26日 21:12
>問題なのはあなたのようにこういった問題の不安をあおって

UNIQLOのイベントでパスワードなどの個人情報が晒されていると
書いたわけではなく、実際の処理などを考察した上で、何が起こっている
かを分かりやすく書いたつもりです。
今回のケースは、ユニクロさんや、S2 Factoryさんに進言して、
対応を求めるのは当然ですが(勿論、私からはメール済みです)、
自分で調査した上で、正しい事実を記事にしました。

のらさんのように私の記事が過剰に書きすぎていると思われる方の
気持ちも分からなくは無いのですが、今回のケースでは、記事に
書いたような理由で、個別の対策をする必要があり、安全だと言い
切ってしまう方がまずいと思いました。
(確かに、パスワードがネット上に公開されていると言う噂はデマ
でしたが、他のルートでパスワードが漏洩した人が居る可能性が
あるわけで、IDとPASSWORDを変更する方がよいと思います)
14. Posted by ひろ坊   2010年05月26日 21:42
量は少ないでしょうが・・・
ラインを共有しているネカフェ、無線LANスポット辺りで
盗聴していたら漏れるんではないでしょうか。

見えない損害を知ろうとするのは煽りでは無いと思いますね。
15. Posted by blackwingcat   2010年05月26日 22:11
まとめてレスです。
きりが無いので割愛していますが、どうしても回答がほしい方は、
Twitterへお願いします|・ω・)ノ

>#ハックの意味はどうでもいいんですけどね、
>つか該当のツイート消えてますね。。。w

いあ、消してないです。単に、TLに埋もれただけでしょうw
Tween使ってるなら、何度かSHIFT +F5を押してみてください。
http://twitter.com/BlackWingCat/status/14745651250 ←該当


> なんだか、叩かれるべき点は暗号化されてないって点だけだと思うんですが、それ以上のことまでユニクロのせいにしてません?
> ユニクロは、外部業者にデータ委託することもある、パスワードは保持してないと当初から明記していますよ?

TwitterのユーザーPasswordを直接扱わなくてもいい方法があるのに、わざわざユーザのIDとPasswordを自サイト(実際は委託サイトですが)に入力させたのも問題です。そのせいでSSLの問題も引き起こしてるわけですから、ちょっと無責任でしたよね。
PHPの処理ではパスワードを含むデータを保存して無いかもしれませんが、SSLを通していない以上、記事内で書いたようにユーザーの意図しないところで生のデータが保存されている可能性が高いです。
16. Posted by a   2010年05月26日 22:40
http://twitter.com/hanai/status/14751577423

とのことです。
17. Posted by     2010年05月28日 11:37
> @norahmodel S2 FactoryはLUCKY LINEの実装には関わっておりません。

あらま風評被害もいいとこだ
18. Posted by 通りすがり   2010年05月28日 21:02
しかしお粗末な実装ですな。SSL以前に平文で送信してるのは論外です。
必死に書き込んでたのはS2 Factoryの関係者ですか?
19. Posted by blackwingcat   2010年05月28日 22:18
記事にも書きましたが、S2F様はホスティングだけで、実装には関わって無いですよ



この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔   
 
 
 
livedoor プロフィール
My PC
SNOWSTORM(P5E3 Premium)
OS:Win2000AdvancedSv
CPU:Xeon(4Core) 2.83G
Memory:8G
VGA:NVIDIA GTX 780Ti
HDD:SSD(32G)
    +SATA(540G+180G)
Crystal SCR:244765
SNOWFOX2(W860CU)
CPU:Core i5-540M(2.53G)
OS:Win2000Pro
Memory:4G
VGA:Geforce GTX285M
HDD:SSD(160G)
Crystal SCR:176460
SNOWMOBILE3(CF-J10S)
CPU:Core i5-2410M(2.3G)
VGA:Intel HD Graphics
HDD:SSD(128G)
Windows2000
Memory:6G
Crystal SCR:133495
SNOWMOBILE(N10Jc/故障)
Windows2000/XP Home
Crystal SCR:38316
SNOWLEO(MA206J/A/休止)
OS:OSX 10.4 +
Windows2000Pro(Solo動作)
Crystal SCR:24061
Windows 2000の セキュリティ対策について
FFR yarai(脆弱性防御)
SymantecEndpointSecurity 11 MR7
Windows Defender
記事検索
訪問者数

    今週のアクセス数

    Win2000お勧め
    お勧め記事
    Twitter Client Mo-Footer
    .NET FrameworkのUninstall
    lolifox 0.3.8.x
    WindowsのシャットダウンTips
    Fox Launcher
    ウィルス感染を手動で見つける方法
    Unknown Hard Errorとサルベージ
    Dependency Walker 日本語化
    Ultra VNC 1.0.6/1.0.8 を日本語化
    IME補完計画
    BSoD(ブルースクリーン)特集
    デフラグ時の4つの心得
    不明なデバイス探し
    SETUPAPI/NTDLLBugFix
    DNSデボルブ用更新[KB957579]
    最新 update.sys!
    4Thread以上のCPU最適化
    Win2000マルチコアで最適化
    Windows 2000の通信速度改善1
    Windows 2000の通信速度改善2
    内蔵簡易FireWallを使う
    ワームに感染しないインストール
    Remote Desktop Client
    IME 辞書 Tips
    Win2000用セキュリティSOFT
    不要なファイルの削除
    Win2000カスタマイズ
    便利なキーボードショートカット
    6月末まで使える体験版セキュリティ

    非対応ハード動作編
    HTC NDIS Driver
    Intel HD Graphic Driver
    VMWare Player 3.1.x
    Conexant HD Audio Driver
    NVIDIA WHQL Driver
    Intel Chipset 最新 INF
    Sentelic Finger Pad Driver
    ATI Legacy Driver 10.2
    AMD Radeon Driver 8〜11
    ATI Ahci/Raid Driver
    Intel SATA AHCI Driver
    D21LC(eMobile)
    USB-WSIM
    UVC カメラ
    Logicool Webcam
    Logicool ゲームパッド
    XBOX360用コントローラー
    Logicool Mouse
    Microsoft IntelliPoint
    iPod Touch/iPhone Driver

    非対応アプリ動作編
    Flash Player 10.3
    Java 6 JRE
    Java 7.0 JRE
    ティルズウィーバー
    Natal Online
    コンチェルトゲートフォルテ
    シルクロードオンライン
    東方幻想麻雀
    IME2010 Installer
    Adobe Reader X for Win2000
    Baidu IME 2.x
    MMORPG ドルアーガーの塔
    Adobe Air for Windows 2000
    Baidu IME
    iTunes 10.x installer
    Evernote 4
    Janetter
    Second Life
    雀龍門
    Media Manager for PSP 2.5a
    .NET Framework 3.5SP1
    ATOK 月額版(2010/2011)
    Leaf 愛佳でいくの!!
    VistaのScreenSaver
    会計ソフト弥生シリーズ 10
    Vegas Movie Studio 9
    EyeBall Chat
    ・CanonPowerShot[Soft/DPP]
    Google SketchUp Pro 7
    dance mixer
    Lismo Port
    DivX
    SONY ScreenSaver
    mixi アプリ
    DivX v7.x
    ニコニコムービーメーカー(動画)
    RC-S330 PaSoRi
    Finale 2009
    ZoneAlarm 8.0
    ルナティア Online
    ストリートギアーズ
    xfy Blog Editor
    Photoshop Elements 7
    Premiere Elements 7
    PowerShell 1.0
    ai sp@ce
    電脳フィギュアARis
    VOCALOID2 ミク・リンレン
    Google Chrome/SRW Iron
    Media Player 10
    ・iTunes 7.6.2を使う方法
    QuickTime 7.5x/7.6x
    foobar2000 9.5.x/9.6.x
    RealPlayer11
    Safari3/4.0
    ShockwavePlayer10/11
    Windows Live Writer
    Live Messenger
    Veoh Web Player / Web TV
    Level-R

    追加機能・カスタマイズ編
    W2K Kernel32 改造計画【BM】
    W2K Update Rollup v2
    XNA/SlimDX
    CPU Core数リミット解除
    OutLook Express 6SP3
    MDAC 2.8 SP2
    GIF/PNGを使えるMSPAINT
    IE5でWindowsUpdate
    MSXML 4.0SP3
    DirectX9.0c(2010/Feb)+拡張
    MS09-062(Gdiplus.dll)更新
    Unicode 制御文字
    Internet Explorer6 Bonus Pack
    夏時間(DaylightSavingTime)
    レジストリバックアップを取る
    IME2007
    Windows Media Bonus Pack
    XPSファイルビューア
    Windows Defender
    文字化け対策(FontLink)
    Meirio(KB927489)
    msconfig
    圧縮フォルダ
    Windows Movie Maker
    IE5.01/5.5/6タブ化
    MediaTypeChanger(EISA構成)
    Win2000 SP4 Support Tool
    kill/tlist with Debugging Tools
    sc.exe with Resource kit
    reg.exe
    TaskTray 256色化
    ISO仮想CD/DVDドライバ
    IE6高速化とWSH 5.7/5.8
    MS Baseline Security Analyzer
    音声認識 API 5.1
    Text Service

    Win2000インストール編
    CF-J10S
    N10Jc
    ThinkPad X200(7454)
    Quad Core/X48/P5E3
    VAIO VGN Type S
    E6850搭載 サポートPC
    Let'snote CF-R6
    MacMini
    Dell LATITUDE D630
    Core i7 + X58 +ICH10R
    790FX + SB750
    Clevo W860CU
    最新コメント
    Categories
    アーカイブ
    Information
    Google広告




    Translate


    このサイトはIE5.x/IE6
    IE5.x Internet Explorer 6.x

    Firefox Firefox ブラウザ無料ダウンロード
    で最適化されています。
    Technorati
    Add to iGoogle
    Amazon GIFTでカンパ

    Donation