はてな認証APIで tDiary にログイン (2)
昨日の日記の続き。 tDiary 外部認証機能において、セキュリティ面で気になっているところをリストアップしておく(ToDoリストとも言う)。
- 無条件ですべてのパラメータに署名するようにしているので、任意のパラメータに対する署名を第三者が入手できる(参考: Kazuho@Cybozu Labs)。
- ログイン前からセッションを発行しているので、Session Fixation の危険性がある(参考: @IT:Webアプリケーションに潜むセキュリティホール)
Ruby の CGI::Session の仕様によるけど、 URL へのセッション ID 埋め込みに対応していなければ、(XSS 脆弱性がない限りは)後者の問題は大丈夫なはず。
Ruby のセッション管理の仕様については、ruby-list の議論を読むとよさそう。
追記
Cookie Monsterという、同一ドメインの別サーバから任意の Cookie データを送り込む攻撃もあるとの指摘をいただいた。 やはりログイン後に Cookie を発行するように対策しないとダメだ。