トップ 最新 追記
RSS feed

ただのにっき


2014-02-07(金) [長年日記]

数字6桁の暗証番号が危険なのは総当りで簡単に解かれてしまうから、というわけではない

JALマイレージバンクの不正アクセスが発覚して数日、いろんな人の意見を読んでいるのだけど「数字6桁の暗証番号*1は今どきのPCなら総当りでもすぐに解けてしまうから脆弱だ」という意見がみられて、それはまぁそうなんだけど、今回のような事件に関しては適切な表現ではないと思う。

ちなみに、'000000'から'999999'までバカ正直に順番にMD5を計算し、結果を別途計算してあった正解と比較するプログラムを実行すると、手元の環境ではたった1.5秒しかかからない*2。それでもJMBの会員2700万人分を計算すると450日余りかかることになるが、これだって今どきならクラウドで100コア分調達すれば4日ちょいで解ける計算だ*3

じゃあやっぱり総当りで解けちゃうから危ないじゃんと思うかも知れないが、この計算が成り立つには「別途計算してあった正解」が手元にあることが前提だ。つまりどういうことかというと暗証番号のハッシュを含めた会員データが漏洩しているということを意味する。これはもうとんでもない事件なわけで「暗証番号の変更を呼びかけ」なんてのんびりやってる場合じゃない、(JMB側で)漏洩ルートを閉じた上で即座に暗証番号を強制リセットすべき案件だ。類似の事件として最近ではAdobeの事件Yahoo! Japanの事件がある。いずれも漏洩が判明したのちすぐにパスワードを(サービス側で)リセットしている。これをやれば犯人の手元にあるデータは無効になるのでとりあえず安心できる*4

JMBがこれらの事例にならって暗証番号をリセットしていないのは、今回の事案がデータの漏洩を伴っているわけではないと判断しているからだ*5。犯人の手元に暗証番号のハッシュがないということは、CPUにものを言わせて力技で解くのではなく、1件ごとにJMBのWebサーバに問い合わせて、その暗証番号が正しいかどうかを確認しなければならない。ローカルでは100万分の1秒で試せた行為が、この状況では1秒近くかかってしまう。先ほどの数値をすべて100万倍すれば、この攻撃が現実的でないのはすぐにわかるだろう。

じゃあ実際にはどんな攻撃が行われたの? という解説をしようと思っていたんだけど、先に徳丸さんが解説を書いてくれたので、ぜひとも読んでもらいたい。これね、もう本当にすばらしくわかりやすいです。

というわけで、少なくとも今回の事件に関しては「総当たり攻撃に弱いから」数字6桁の暗証番号が危険というわけではないとわかったと思う。徳丸さんの記事にも出てきたが、数字6桁だと同じ暗証番号を持つ会員が2700万人のうち数十人いると期待できる*6、つまりオンラインのリバースブルートフォース攻撃がとても効率的になってしまう点が問題なのだ。

さらに言えば、ユーザ側の工夫でこれを避けることができない点が問題だ。例えば英数字と記号を使った数十文字からなるパスワードを使えるようになっていれば、ユーザが十分に複雑なパスワードを使うことでリバースブルートフォース攻撃を簡単に無効にできる。数字6桁という制約の中ではこういう工夫がほとんどできない*7。サービス提供者はこのようにユーザが自身の工夫でリスクを回避する手段を奪わないよう、気を配って欲しいものですね。

こちらからは以上です。

Tags: security

*1 パスワードと呼ぶにはあまりにアレなので暗証番号と呼ぶべきだろう。

*2 VirtualBox上のLinux、ruby 2.1を利用、並列実行なし。

*3 ちなみにANAは4桁なのでPC1台あれば十分である。

*4 言い換えると「オフラインの総当たり攻撃に対抗するにはパスワードリセットが有効」ということになる。

*5 もちろん調査が進むにつれてそういうことが判明する可能性はある。

*6 人は覚えやすい暗証番号をつけたがるはずなので実際はこの数倍から数十倍の率になるだろう。今回の被害者が数十人ということは、この事件の試行回数は想像以上に少ない可能性がある。

*7 逆に言えば十分に複雑なパスワードを指定可能な環境でわざわざクラックされやすい簡素なパスワードをつけていたら、それはユーザ側の責任だ。

本日のツッコミ(全2件) [ツッコミを入れる]

Shintani [>JMBがこれらの事例にならって暗証番号をリセットしていないのは、 >今回の事案がデータの漏洩を伴っているわけではな..]

ただただし [「こちらのblogでの考察」の何を指しているのかがよくわからないのですが……。暗証番号方式を変更することなく、低コス..]


2014-02-05(水) [長年日記]

劇場版『THE IDOLM@STER MOVIE 輝きの向こう側へ! 』オリジナル・サウンドトラック(通常盤)(音楽:高田龍一)

せっかく発売前日に買っても、帰宅が遅いと翌日まで聴けないという。もったいない(なにが?)。

すぐに映画の場面が思い浮かぶ印象的なBGMもあれば、「これ、どこに使われてたんだっけ?」みたいな曲もあって、やっぱ何回も観ないとダメだなぁと思う(けどこれがなかなか)。すばらしく気合の入ったレビューを見つけたので(→BGMから見るアイドルマスター劇場版【ネタバレ注意】*1)、これを読みながらふんふんと聴いているところ。

ところで、劇中で使われた順番に並べ替えたいんだけど、そういう情報ってどっかにないかな。

劇場版『THE IDOLM@STER MOVIE 輝きの向こう側へ! 』オリジナル・サウンドトラック(通常盤)
音楽:高田龍一
日本コロムビア
¥3,045

例によって初回限定のBlu-ray付きバージョンもあるが、リッピングできないメディアは買ってもしょうがないので(ry:

劇場版『THE IDOLM@STER MOVIE 輝きの向こう側へ! 』オリジナル・サウンドトラック(初回限定盤 CD+Blu-ray Audio 2枚組)
音楽:高田龍一
日本コロムビア
¥1,980


ところでSSAのテーマ曲「IDOL POWER RAINBOW」がやはり今日から販売を開始してるけど、iTunes限定とかバカじゃねーのとしか言いようがない。おれみたいに宗教上の理由なのはまだしも、PCを持ってないAndroidユーザとか、どうしろっつーの? まだ特定コンビニチェーン限定とかの方がましだろ。

*1 これ、サントラ入手前に書かれてるんだよな、すげーな。

本日のツッコミ(全2件) [ツッコミを入れる]

MAST [初めまして! ブログ記事を紹介していただき、ありがとうございました。 アイマスへの歌とBGMへの愛は記事の通りです..]

ただただし [うわー、わざわざありがとうございます! これでプレイリストが作れる! Blu-rayを買わないのは、ユーザにはリッピ..]


2014-02-04(火) [長年日記]

GitHubの「その場Pull Request」をようやく体験、これはいいものだ

「その場Pull Request」なんて用語はないわけだが。正式になんていうのか知らない、よそのリポジトリにあるテキストファイルを、ブラウザ上で編集して、それがその場でPull Requestになるやつ。人に聞かれて「あれはいいですよね、便利」とか言ってたくせに実は自分でやったことなかったという(笑)。

ことの発端はJALのマイレージクラブが不正侵入された事件を受けて、そういえば数字だけのパスワード(と呼ぶのもおこがましいが)を使ってるサイトって他にないかなーとKeePassで探していたら(けっこうある)、長いこと使ってないアカウントがゴロゴロ出てきて、その中にRuby Bug Tracking Systemのがあって、記入してあったURLが今は使えなくなっていたので正しいURLを探して公式サイトからたどったら、そこのリンクも間違ってたことなのだ(長い)。

@hsbtが苦労してruby-lang.orgをGitHub管理に移行していたのは知っていたので、リポジトリを探し出し、該当ファイルをたどったら、おもむろに「Edit」ボタンを押す:

[スクリーンショット]各ファイルのページにある「Edit」ボタン

ポップアップにあるように、これをEditすると自分のところにforkされていじれるようになる(正確には編集後、保存して初めてforkされるようだ)。なのでその場でおもむろにURLを修正:

[スクリーンショット]編集画面。自分の環境ではフォントの関係でうまくいじれなかったがテキストエディタにコピーして編集した

そしてコミットログとともに保存。するとシームレスにPull Request作成画面になるので、(コミットログが適切ならば)そのままアップストリームにPRが出せちゃった。こりゃ便利だなぁ、知ってたけど! 英語さえ障害にならなければ、コマンドラインに不慣れな人との共同作業もしやすいし、これは本当にいいデザインだ。

このPRはすぐにmakimotoさんがmergeしてくれた。(この日記を書いてる時点ではまだpublishされてないけど)めでたしめでたし。

で、数字だけのパスワードを確認するというもともとやってた作業のことをすっかり忘れてしまったのであった。途中で脱線するとすぐこうなる……。


トップ 最新 追記
RSS feed