Pre-hijacking Attacksってなんでしょう。
いろいろなWebサービスがあります。
被害者がそういったターゲットサービスでアカウントを作成する前に、攻撃者が何らかのアクションを実行することです。
その後被害者が実際にそのサービスに関連する何かの行動をとった時、攻撃が完了します。
攻撃完了後は通常のアカウントハイジャッキングと同じ被害が想定されます。
5つのPre-hijacking Attacksパターンがあります。
- クラシック-フェデレーションマージ攻撃(Classic-Federated Merge Attack)
これは、アカウント作成のためのクラシックルートとフェデレーションルート間の相互作用の潜在的な弱点を悪用したものです。
クラシックルートとフェデレーションルートとはなんでしょう。
クラシックルートは、アカウントを登録しようとした人自身がユーザ名やパスワードなどを指定してアカウントを作成するという従来の方法でのアカウント作成です。
フェデレーションルートは、有名な他の認証プロバイダー(TwitterのアカウントやGoogleのアカウントなどがよく利用されます)による認証を利用して実施されるアカウント作成です。
攻撃者はあらかじめ被害者のメールアドレスを使ってターゲットのサービスでフェデレーションルートでアカウントを作成しておきます。
被害者がその後クラシックルートでアカウントを作成したとします。
そうすると同じメールアドレスを使用したアカウントとなりますので、この2つの異なる経路で作成されたアカウントはマージされます。
このとき、2つの異なる経路で作成されたアカウントは同じアカウントとして利用できてしまう場合があります。 - 非検証IdP攻撃(Non-Verifying IdP Attack)
これはクラシック-フェデレーションマージ攻撃の逆パターンです。
攻撃者はあらかじめクラシックルートでアカウントを作成します。
その後被害者がフェデレーションルートでアカウントを作成します。
あとは同じことになります。
ちなみにIdPはIdentify Providerです。 - 有効期限が切れていないセッション識別子攻撃
ユーザーがパスワードをリセットしたときに、認証されたユーザーがアカウントからサインアウトされないという脆弱性を悪用するものです。
攻撃者は、被害者の電子メールアドレスを使用してアカウントを作成し、そのときのセッションを長期間維持します。
被害者がアカウントを回復したときに、パスワードのリセットによって攻撃者のセッションが無効にならなければ、攻撃者は引き続きアクセスできる可能性があります。
気長に待つ作戦です。 - 有効期限が切れていないメールアドレス変更攻撃
攻撃者は被害者のメールアドレスでアカウントを作成し、攻撃者のメールアドレスに変更する処理を開始します。
開始はするのですが完了はさせません。
被害者が自身のメールアドレスでアカウントを有効化した後に攻撃者はメールアドレス変更を完了させます。
この操作の遅延によりアカウントを制御できるようにします。 - トロイの木馬識別子攻撃
クラシック-フェデレーションマージ攻撃と有効期限が切れていないセッション識別子攻撃との組み合わせで成り立つ攻撃です。
いろいろなパターンでPre-hijackingが成り立つ可能性があります。
想定する被害者が未来にどこのサービスでアカウントを作成することになるかなんてわかるわけがないじゃないか、とか思いますか?
そうでもないケースというものはありそうです。
被害者がすでに利用しているサービスの類似のものを利用開始するかもしれませんし、人気の高まってきているサービスを利用開始するかもしれません。
これらの脅威に対しての万能薬はまだなさそうです。
身に覚えのないパスワードリセットなどのメールへの対応に注意することはまずできそうです。
さまざまなサービスはIdPを使用してシングルサインオンをサービス開始しますので、自分のアカウントのあるIdPがサービス連携時に正しく所有権の確認を実施してくれるかを確認することも重要に思えます。
こういった脅威が成り立つということを利用者側だけでなくサービス提供側も含めて理解することで対策を進めていけるとよいと思います。
参考記事(外部リンク):New Research Paper: Pre-hijacking Attacks on Web User
Accounts
msrc-blog.microsoft.com/2022/05/23/pre-hijacking-attacks/
この記事をシェア |
---|