Monday 2 May 2011

PSN 侵入

どうも、普通にアプリケーションサーバに既知のセキュリティホールから入られて、トンネルほられて、好き勝手にやられたらしいです。あーぁ。

「動かしながら直せるよ」みたいな感じで三日放置したら「大量の転送」が検知されたらしい。甘かったね。いや、でも、僕が当事者だったら同じことしたかも。

他のユーザのデータも見れるところまで入れたってことは、ユーザでデータアクセス権限を分離してなかったか、root に入られたかどちらか。root なら log には残るはずだが、被害特定に時間がかかったってことは、分離してなかったんじゃないかな...

カードの情報は「暗号化してあったから大丈夫なのではないか」ぐらい。ひどい。今ごろ、がりがり解読しているんじゃなかろうか。もっとも、番号漏れたからなんなのって思わなくもないです。最近は番号だけじゃなくて別に認証するのが普通だし。

パスワードは持ってかれたらしいが、Hash されてはいたらしい。いや、Hashでも辞書攻撃ぐらいで9割は突破されちゃうんじゃなかろうか。平文の格納とそれほど変わるわけでもないよ。強度のチェックなかったと思うし。

と言うわけなので、パスワードはサービス毎に別なものを使うのがお勧めです。面倒だが。

今月末には復旧ってことらしいですが、あと1ヵ月停めて何が改善されるのかは微妙。

 ちゃんとセキュリティホール埋める (意外に難しい)
 侵入検知する (言うのは簡単だがね)

妙に高度なHacking技術とか学会では問題にされたりするが、単純なセキュリティホールを潰すこと自体が難しいのが現状。いや、それをなんとかするのが僕達の仕事なんだが。(僕はセキュリティ自体に興味はないが:-p)

最近は Buffer overflow より Cross site scripting の方が多いんじゃないかな。初期の Perl には、taintperl っていう CSS 対策があったりしたんだけど、「あまりにうざいわりに使えない」のでなくなったみたいです。そんなもんです。

Database access や API のアクセスパターンを見て、通常と異なるのを検出するなんていうのも研究されているらしい。でもゲームトラフィックが乗っていると難しいだろう。それを認証と分離するぐらいはやっていたか? ゲームトラフィック側から侵入するのは難しいんじゃないかな。

サーバ抱えている人は、常にこの問題に対処しなければならない。まぁ、厳しいね。

ソニーは価値が高すぎるのでやられちゃうわけだけど。ちょっと喧嘩売過ぎだった説もある。むしろ侵入自体に懸賞をかけて、そこで何かいたずらするより賞金もらえる方が早いとかした方が良いかも。

いや、そこで通報して逮捕とかありがちか。通報したのに放置されたセキュリティホールを研究会でひけらかして逮捕とかあった。セキュリティホールを当事者に通報すると逆切れされるってのも良くある話だからな。Exploit 出したりする時は気をつけないと。

(時事は扱わないんじゃなかったのか〜)

No comments: