セッションハイジャックとは?
攻撃者がユーザーの
セッションIDを盗むと、そのユーザーとしてWebアプリケーションを操作可能
になります。
cookieはWebアプリケーションに一時的な認証機能を提供するものなので、
他人のcookieを奪い取ると、そのユーザーの権限でWebアプリケーションを使える
ようになります。
セッションの情報を盗むことで他人がアクセスできるのか
セッションハイジャックの色々な手法
暗号化されていないと傍聴できてしまう
セキュリティに問題のあるネットワークを通過するcookieは盗聴可能
です。無線LANは、まさにそのようなネットワークの一例です。特に暗号化されていない無線LANでは、接続されているクライアントのすべてのトラフィックを簡単に傍聴
できてしまいます。Webアプリケーションの開発者にとっては、これはSSLによる安全な接続の提供が必要
であるということです。Rails 3.1以降では、アプリケーションの設定ファイルで以下のようにSSL接続を強制
することによって達成できます。config.force_ssl = true
暗号化されていないと簡単に傍聴できること、SSLによって安全な通信ができているのか。
- 暗号化されたLANの規格
- SSLとは
ログアウトボタンは目立つように表示させる
公共の端末での作業後にcookieを消去するような殊勝なユーザーはほとんどいません。最後のユーザーがWebアプリケーションからログアウトするのを忘れて立ち去っていたら、次のユーザーはそのWebアプリケーションをそのまま使えてしまいます。
ユーザーには必ずログアウトボタンを提供しなければなりません
。それもよく目立つボタン
をです。
ログアウトボタンを作るときは目立つように作成しよう。
XSS攻撃でcookieを盗む攻撃
クロスサイトスクリプティング(XSS)攻撃は、多くの場合、
ユーザーのcookieを手に入れるのが目的です
。XSSの詳細も参照してください。
- XSSとは?
セッションIDを固定する攻撃
攻撃者が自分の知らないcookieをわざわざ盗み取る代わりに、
標的のcookieを攻撃者が知っているcookieのセッションIDに固定
してしまうという攻撃方法もあります。詳しくは後述のセッション固定攻撃の記述を参照してください。
感想
セッションハイジャックに関して名前と内容が少し理解していたが、色々な手法があることを知らなかった。
SSLなどの言葉も出てきたのでぜひ調べてみたい