
多要素認証(MFA)は、多くの場合、優れたセキュリティ対策です。例えば、企業は社内VPNにセキュリティレイヤーを追加できます。ユーザーは、(できれば)強力なパスワードに加えて、別のデバイスからアクセスできる別のコードを入力する必要があります。このコードは、SMS経由でスマートフォンからアクセスすることも、DuoやGoogle Authenticatorなどの認証アプリ、あるいはYubikeyなどのハードウェアデバイスからアクセスすることも可能です。
最近ではウェブ上の多くのオンライン サービスでもこのテクノロジが使用されており、今後ますます多くのサービスが MFA を採用することになりますが、これは当然良いことです。
しかし、ユーザーがそのようなウェブサイトへのアクセスを認証すると、何が起こるのでしょうか?サーバー側ではセッションはどのように処理されるのでしょうか?答えは「Cookie」というシンプルな言葉です。
セッションクッキー
ほとんどのウェブサイトは、ブラウザに保存される小さなファイルであるCookieを介して認証を処理します。認証されると、セッションCookieがセッション状態を維持し、ユーザーのブラウジングセッションは認証されたままになります(図A)。
図A

ブラウザのデータベースに保存される各 Cookie には、パラメータと値のリストが含まれており、場合によっては、認証が検証されると Web サービスによって提供される一意のトークンも含まれます。
セッション クッキーは、その名前が示すとおり、セッションが開かれている限り存続します。
参照: モバイルデバイスのセキュリティポリシー(TechRepublic Premium)
脅威
Sophos の最近の発表で明らかにされた脅威は、非常に単純です。「Web サービスへの認証に関連付けられた Cookie は、攻撃者が「pass the Cookie」攻撃に使用することができ、Cookie が最初に発行された正当なユーザーになりすまして、ログイン チャレンジなしで Web サービスにアクセスしようとする可能性があります」(図 B)。
図B

このようなCookieを盗む最も一般的な方法は、マルウェアです。マルウェアはセッションCookieの正確なコピーを攻撃者に送信します。現在、認証情報を窃取するマルウェアの中にはCookie窃取機能を備えたものもいくつかあります。MFAの導入と利用が拡大するにつれ、今後はほぼすべての種類のマルウェアにこの機能が搭載されるようになると予想されます。
認証情報と同様に、Cookieも販売可能です。セッションCookieは販売できるほど長くは保存されないと考える人もいるかもしれませんが、そうではありません。クライアントとサーバーの設定によっては、セッションCookieは数日、数週間、あるいは数ヶ月も保存される可能性があります。ユーザーは複数回の認証を避けたいと考える傾向があるため、ウェブサイトが提供するセッション延長オプションをクリックすることがよくあります。セッション延長オプションをクリックすると、ブラウザを閉じて再度開いた場合でも、セッションが長期間閉じられることはありません。
認証情報の販売で知られる「Genesis」と呼ばれるサイバー犯罪者のマーケットプレイスは、Cookieも販売しています。Lapsus$拡張機能グループのメンバーは、盗まれたCookieを購入したと主張し、そのCookieによってElectronic Artsへのアクセスが可能になったと述べています。これにより、脅威アクターは約780GBのデータを盗み出し、Electronic Artsから脅迫を試みることができました。
クッキースティーラー感染
ユーザーのコンピュータは、他の種類のマルウェアと同じように、Cookie を盗むマルウェアに感染する可能性があります。
Sophos は、マルウェア操作者は、できるだけ多くの被害者の Cookie を収集するために、有料ダウンロード サービスやその他の非標的型アプローチを使用することが多いと報告しています。
効率的なアプローチの 1 つは、マルウェアを大きな ISO または ZIP アーカイブに保存し、悪意のある Web サイトを通じて海賊版/クラックされた商用ソフトウェアのインストーラーとして宣伝することです。
ピアツーピア ネットワーク経由でも利用できる可能性があります。
Cookie スティーラーは、マルウェアの悪意のあるダウンローダーまたはドロッパーを含むアーカイブ ファイルとして電子メール経由で届く場合もあります。
最後に、Cookieは標的型攻撃にとって強力なリソースとなります。攻撃者がコンピュータへの侵入に成功すると、有効な認証情報に加えてCookieを積極的に探すようになります。Cookieが発見され盗まれた場合、攻撃者はネットワーク内に侵入するための手段を増やすためにCookieを利用する可能性があります。また、MetasploitやCobalt Strikeなどの正規のセキュリティツールを悪用してセッションCookieを利用する可能性もあります。
参照:パスワード侵害:ポップカルチャーとパスワードが混ざらない理由(無料PDF)(TechRepublic)
ウェブサイトはどうすればユーザーに対してよりよい保護を提供できるでしょうか?
多くのWebベースアプリケーションは、Cookieセッションハイジャックに対する追加のチェックを実装しています。特に、リクエストのIPアドレスとセッション開始時に使用されたIPアドレスを照合することは効果的です。しかし、デスクトップとモバイルの両方での使用を想定して構築されたアプリケーションでは、この方法は難しいようです。また、内部ネットワーク内に既に侵入している攻撃者が、ユーザーのCookieをハイジャックできる可能性もあります。
クッキーの有効期間を短くすることもセキュリティ対策として有効ですが、ユーザーはより頻繁に認証を行う必要があるため、望ましくない結果になる場合があります。
ネットワーク上では、Cookieは決して平文で送信されるべきではありません。必ずSSL(Secure Sockets Layer)を使用して送信する必要があります。これは、ウェブサイトをHTTPではなくHTTPSプロトコルで完全に動作させるというセキュリティ推奨事項に沿ったものです。Cookieは双方向アルゴリズムを使用して暗号化することもできます。
エンドユーザーはどのようにして Cookie の盗難から身を守ることができますか?
クッキーが盗まれる可能性があるのは、エンドユーザーのコンピューター経由、または Web ベースのアプリケーションとのネットワーク通信経由の 2 つの方法のみです。
ユーザーは可能な限り暗号化を強制し、HTTPではなくHTTPSを優先する必要があります。また、セッションCookieを定期的に削除する必要がありますが、その場合、再認証が必要になります。
しかし、依然として最大のリスクは、Cookieを盗むマルウェアにコンピュータが感染することです。これは、一般的なコンピュータセキュリティ対策を講じることで防ぐことができます。一般的な脆弱性による侵害を避けるため、オペレーティングシステムとソフトウェアは常に最新の状態に更新し、パッチを適用する必要があります。
また、電子メール経由でダウンロードまたは受信されるマルウェアを検出するために、セキュリティ ソリューションを導入する必要があります。
開示:私はトレンドマイクロに勤務していますが、この記事で述べられている意見は私自身のものです。