前回に引き続きWeb関係のセキュリティ脆弱性がどのように攻撃されるのか解説した記事がThinkITに掲載されています。
今回はRuby on Railsの脆弱性が対象です。Ruby on Railsにもいくつかのセキュリティ脆弱性が報告されていますが、URLベースのセッションがいかに脆弱であるか解説しています。
解説対象の脆弱性
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-5380
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-6077
Railsのセッション管理機構にはSession Adoption脆弱性は無いのに何故攻撃できるのか?と思った方は読んでみてください。記事を読んで頂くと脆弱性を実際の攻撃に利用するのはそれほど難しくない事が解ると思います。
PHPにもURLベースのセッション管理機能があります。PHPユーザの方にも参考になります。PHPのセッション管理機構はSession Adoption脆弱性を持っています。その意味ではRailsよりも脆弱と言えます。現在のPHPではRails同様、URLベースのセッション管理(transid)はデフォルトでは無効に設定され、クッキーによるセッション管理のみが有効に設定されています。
Railsのセッション管理機構がPHPのセッションモジュールより優れているか?というとそうでもありません。前述の通りPHPのセッション管理機構はSession Adoptionに脆弱ですが、どっちもどっち、といった所です。この点については記事の目的と異なる事もあり解説していません。そのうちこのブログで書くかも知れません。