Scribble at 2023-08-19 01:15:45 Last modified: unmodified

添付画像

When logged into a web application, the session does not remain valid forever. Typically, the session expires after a fixed time after login, or after the user has been idle for some time. How long should these times be?

Short session expiration does not help security

僕がこれまで利用してきたオンライン・サービスのウェブ・アプリケーションの中では、おそらく SAKURA インターネットの会員サイトのセッションが非常に長い有効期間を設定してあった。確か、明示的にログアウトしなくても1年くらいはセッションが維持されていた筈だ。それも、何年か前までのことだ。いまはセッションの有効期間がもっと短く設定してあるらしいし、もちろん MFA を設定して使えばセッションがどうであろうとログインの手続きは避けられない。

まず、著者が指摘するようにセッションをハイジャックするなんてことは闇雲になるような攻撃ではないため、標的型、つまりあなた自身を敢えて狙った攻撃である。よって、あなたのセッションを奪った瞬間に、あなたがログアウトしようとも、既に奪われたセッションを保つ regeneration を自動処理で行っていると考えてよく、それは標準的なセッションの有効期限である15分などという悠長な長さでは何の対策にもなっていない。仮にそれを1分にしても同じことだろう。

また、セッションの有効期限を短くすると、かつて「パスワードの定期変更」という古代伝説による原始人の宗教が情報セキュリティ業界にも流行していたのだが(ちなみに弊社では ISMS の認証を受けていたあいだもパスワードの定期変更には意味がないとして、セキュリティ対策にはしなかった)、これと同じような事情でパスワードを簡単にしたり、あるいはブラウザにパスワードを記録させて自動入力させるようなことになってしまい、逆にセキュリティが低下するという著者の指摘もわかる。

とは言え、アイデンティティを奪われるきっかけや手法はセッションを奪われることだけが全てではないし、セッションのセキュリティだけで対応できるものでもなく、更にはセッションの有効期間を短くしても無意味であるかと言えば、それが対策として有効になるような攻撃もありえる。たとえば、著者はセッションの盗難が起きる可能性として、自分のパソコンなりブラウザを他人が操作する事例を出しているが、これなどは標的型の攻撃でなくとも他人がパソコンにアクセスするなんてことはいくらでもあるわけだ。たとえば、最近では会社のマシンに自宅からアクセスして作業するために、AnyDesk などのリモート・デスクトップを利用したりするから、会社のマシンは起動したままだったりする。すると、執務室に入ってくる清掃会社のスタッフや、あるいは同僚が勝手に画面を眺めて、悪意があろうとなかろうとパソコンを操作する可能性だってある。そういう場合に、セッションが長すぎると簡単にウェブ・アプリケーションを使われてしまうおそれはあろう。

ということで、セッションを短くしても無駄であるというのは、簡単に言えば極論だろうと思う。

  1. もっと新しいノート <<
  2. >> もっと古いノート

冒頭に戻る


※ 以下の SNS 共有ボタンは JavaScript を使っておらず、ボタンを押すまでは SNS サイトと全く通信しません。

Twitter Facebook