WebSocket接続は現代のリアルタイムWebアプリケーションの基盤ですが、そのセキュリティモデルはしばしば誤解されています。クロスサイトWebSocketハイジャック(CSWSH)は、悪意のあるWebサイトが被害者の既存の認証Cookieを使用して脆弱なサーバーへのWebSocket接続を開始するときに発生します。従来のCSRFがHTTPリクエストを対象とするのに対し、CSWSHはWebSocketハンドシェイクがオリジン検証やCSRFトークンで保護されていないことが多いことを悪用します。接続が確立されると、攻撃者はメッセージを読み取り送信でき、機密データの窃取やユーザーに代わった操作が可能になります。対策には、サーバー側での厳格なオリジンチェック、Sec-WebSocket-Keyの検証、ブラウザが自動送信しないトークンなどの認証メカニズムの使用が必要です。このトピックは、チャット、ゲーム、コラボレーションツールでのWebSocket採用が続く限り、常に関連性があります。開発者はWebSocketエンドポイントを認証済みAPIと同じ厳格さで扱うべきです。
クロスサイトWebSocketハイジャック(CSWSH)は、認証済みユーザーに代わって悪意のあるサイトがWebSocket接続を確立できる、重要でありながら議論が不足しているWebセキュリティの欠陥です。このシグナルは攻撃の仕組みと、WebSocketハンドシェイクにおけるオリジンチェックやCSRF対策の必要性を強調します。リアルタイムアプリのWebSocket依存が高まる中、攻撃面が拡大しているため重要です。