セキュア クッキーは、Secure 属性が設定されているHTTP クッキーの一種で、クッキーのスコープが「セキュア」なチャネルに制限されます (「セキュア」はユーザー エージェント、通常は Web ブラウザーによって定義されます)。クッキーに Secure 属性が設定されている場合、ユーザー エージェントは、リクエストがセキュアなチャネル (通常は HTTPS) 経由で送信される場合にのみ、HTTP リクエストにクッキーを含めます。アクティブなネットワーク攻撃者からクッキーを保護するのに役立つように見えますが、Secure 属性で保護されるのはクッキーの機密性だけです。アクティブなネットワーク攻撃者は、セキュアでないチャネルからセキュア クッキーを上書きして、整合性を破壊できます。この問題は正式には「弱い整合性」と呼ばれます。ただし、Chrome 52 以降や Firefox 52 以降などの一部のブラウザーでは、セキュリティ強化のためにこの仕様を放棄し、安全でないサイト (HTTP) がディレクティブを使用してクッキーを設定することを禁止していますSecure。
があってもSecure、一部の情報源では、機密情報は本質的に安全ではなく、このフラグでは実際の保護を提供できないという前提で、機密情報をCookie に保存しないことを推奨しています。Secure 属性は Cookie の唯一の保護メカニズムではなく、HttpOnly 属性と SameSite 属性もあります。HttpOnly 属性は、たとえば JavaScript による Cookie へのアクセスを制限しますが、SameSite 属性は、リクエストが同じドメインから発信された場合にのみ、Cookie をアプリケーションに送信できるようにします。
背景
HTTP クッキーは、Web サーバーからユーザーの Web ブラウザーに送信される小さなデータ パケットです。クッキーには次の 2 種類があります。
- 永続的な Cookie - ユーザーのブラウザに情報を長期間保存する Cookie。
- 非永続的な Cookie - 通常はブラウザを閉じると期限切れになる Cookie。
クッキーには、パスワードやクレジットカード番号などの機密情報が含まれている可能性があり、HTTP 接続を介して送信され、プレーンテキストとして Web ブラウザに保存される可能性があります。攻撃者がこの情報を盗むのを防ぐために、クッキーは属性を使用して保護できます。
クッキーの盗難とハイジャック
クッキー ハイジャックの手法は多種多様です。これらの手法は実装が難しくなく、ユーザーや組織に重大な損害を与える可能性があります。ユーザー名、パスワード、セッション ID などの機密情報を含むクッキーは、サイトから Web ブラウザーにダウンロードされたり、コンピューターのハード ドライブからアクセスされたりすると、これらのツールを使用して取得できます。
ネットワークの脅威
暗号化されていないチャネルで送信される Cookie は盗聴される可能性があり、つまり Cookie の内容が攻撃者に読み取られる可能性があります。サーバーやインターネット ブラウザーで Secure Sockets Layer (SSL) プロトコルを使用することで、このような脅威を防ぐことができますが、これは Cookie がネットワーク上にある場合にのみ機能します。交換されるデータ ペイロード全体ではなく、機密情報のみを暗号化した Cookie を使用することもできます。
エンドシステムの脅威
クッキーはユーザーから盗まれたりコピーされたりする可能性があります。これにより、クッキー内の情報が明らかになったり、攻撃者がクッキーの内容を編集してユーザーになりすますことができる可能性があります。これは、ブラウザのエンド システムにあり、ローカル ドライブまたはメモリに平文で保存されているクッキーが、ユーザーの認識の有無にかかわらず、あるコンピューターから別のコンピューターにコピーされたり変更されたりした場合に発生します。
クッキーの収集
攻撃者は、ユーザーから Cookie を受け入れることで、Web サイトになりすまそうとします。Cookie を入手した攻撃者は、収集した Cookie をサードパーティ Cookie を受け入れる Web サイトで使用できます。この脅威の例としては、いわゆるクロスサイト スクリプティング攻撃があります。これは、悪意のあるユーザーから提供されたデータを表示する Web サイトの脆弱性を悪用するものです。たとえば、攻撃者は、ディスカッション フォーラム、メッセージ ボード、または電子メールに投稿した URL にスクリプトを埋め込み、ターゲットがハイパーリンクを開くとスクリプトがアクティブになるようにすることができます。
参照
- HTTP クッキー
- セッション(コンピュータサイエンス)
- 情報セキュリティ
