Skip to content

認証のその先へ ― MFA・パスキー時代に考える「認証後」のリスク ―

認証のその先へ ― MFA・パスキー時代に考える「認証後」のリスク ―

目次

MFA・パスキーの普及で変わる攻撃者の狙い

これまで、オンラインサービスへの不正アクセスでは、フィッシングなどによってID・パスワードを窃取し、窃取したID・パスワードを悪用して不正にログインする手法が広く使われてきました。
こうした手法への対策として、多要素認証(MFA)の導入が進んでいます。皆さんも経験していると思いますが、ID・パスワードに加えEメールやSMSに送信されたワンタイムパスワードの入力が必要な認証がその一例です。さらに最近では、パスワードを使用しないパスキーの利用も広がりつつあります。特にパスキーは、従来のパスワードやワンタイムパスワードと比較してフィッシングへの高い耐性を持っています。
MFAやパスキーの導入は、アカウントを保護するうえで非常に重要です。しかし、認証を強化すれば、不正ログインのリスクがすべて解決するわけではありません。認証そのものを突破することが難しくなれば、攻撃者は別の方法を考えます。
その一つが、正規ユーザが認証を終えた後の「セッション」を狙う手法です。
この手口では、MFAやパスキーを突破する必要はありません。正規ユーザが認証を終えた後の状態を奪うことができれば、そのユーザになりすましてサービスを利用できるからです。

Webサービスと「セッション」

このリスクを理解するためには、まずWebサービスにログインした後、どのように「ログイン済み」の状態が維持されているのかを理解する必要があります。
私たちがWebサービスを利用するとき、画面を移動したり、データを参照したりするたびに、パスワードやパスキーによる認証を行っているわけではありませんよね。一度認証すれば、その後は認証操作を繰り返すことなく、さまざまな機能を利用しています。
ところが、HTTP通信はひとつのリクエストとレスポンスで完結するステートレスなプロトコルです。他のリクエスト/レスポンスのことはわかりません。そのため、HTTPの仕組みそのものでは、ログイン後のリクエストが「さっきログインした人から来た次のリクエスト」かどうかを判別できません。全ユーザが同じURLにアクセスするホームページのようなサービスであれば問題ありませんが、ログインさせユーザに応じたサービスを提供するには一工夫必要なのです。

その工夫が「セッション」です。

例えばWebブラウザを利用するサービスでは、認証に成功するとセッションを識別するための情報がCookieとしてブラウザに保存されます。
その後、ブラウザはサービスへアクセスするたびにこの情報を送信します。サービス側はその情報を確認することで、ユーザーに毎回パスワードやパスキーを要求することなく、認証済みのユーザとして処理を継続できるのです。

Webサービスと「セッション」

これは利便性の高い仕組みですが、同時にセキュリティ上の重要な意味を持ちます。
もし攻撃者が、認証済みであることを示すセッションCookieを何らかの方法で窃取できれば、正規ユーザになりすましてアクセスできる場合があるからです。実際、そのようなことを可能とする手法が観測されています。

代表的な手法の一つが、マルウェアで窃取する方法です。Infostealerと呼ばれるマルウェアを聞いたことがあるかもしれませんが、Infostealerは端末内に保存された認証情報だけでなく、ブラウザに保存されたCookieなどを窃取する機能を持つものがあります。窃取したセッション情報がまだ有効であれば、攻撃者がそれを利用して認証済みの状態を再現できる可能性があります。

もう一つの代表的な手法が、Adversary-in-the-Middle(AiTM)と呼ばれるフィッシングです。この手法では、攻撃者がユーザと正規サービスの通信の間に入り、ユーザに正規サービスにログインさせ、認証後に発行されるセッション情報を窃取します。MFAを導入していても、その直後のセッションを攻撃者に奪われれば、MFAによる保護を回避される可能性があります。ちなみに、パスキーでは認証情報が正規サービスのドメインに紐づいているため、AiTM型のフィッシングサイトでは認証が成立せず、このような手法に対して高い耐性があります。

いずれにせよ、MFAやパスキーによって認証を強固にしても、その後に発行されるセッション情報が奪われれば、攻撃者は認証そのものを再度突破する必要がありません。
これまでの「認証情報を盗む」という攻撃に加えて、「認証済みであることを示す情報を盗む」という攻撃についても考える必要があります。

Webサービスと「セッション」

「一度認証したら信頼する」から継続的な信頼評価へ

こうしたリスクに対応するためには、認証をログイン時の一回限りのイベントとして捉えるのではなく、サービスを利用している間も継続的にアクセスの信頼性を評価するという考え方が重要になります。これが、Continuous Authentication(継続認証)やContinuous Access Evaluation(継続的アクセス評価)と呼ばれる考え方です。

例えば、認証時には通常使用している端末からアクセスしていたユーザが、短時間のうちに別の地域や未知の端末からアクセスを始めた場合、リスクが高まったと判断できます。
ほかにも、IPアドレス、端末の状態、アクセスする場所や時間帯、利用するアプリケーション、操作内容など、さまざまな情報をリスクシグナルとして利用できます。

もちろん、こうした変化があったからといって、直ちに攻撃だと判断できるわけではありません。出張やネットワークの切り替えなど、正当な理由によってアクセス環境が変化することもあります。そこで、リスクに応じて対応を変えることが重要になります。リスクが一定の水準を超えた場合には再認証や追加認証を要求する、アクセス可能な機能を制限する、明らかに異常な場合にはセッションを失効させる、といった対応が考えられます。
重要なのは、「一度認証したから、そのセッションが終了するまで無条件に信頼する」という考え方から離れることです。

認証後のリスクにどう備えるか

認証後のリスクへの対策は、一つの技術だけで実現するものではありません。認証からセッション終了までを一連のプロセスとして捉え、複数の対策を組み合わせる必要があります。

まず入口となる認証では、引き続きMFAやパスキーなどを活用し、第三者による不正なログインを防ぐことが重要です。特にフィッシング耐性の高い認証方式への移行は有効な対策となります。そのうえで、セッションCookieやトークンについても適切に保護し、有効期間や失効の仕組みを適切に設定する必要があります。

また、ユーザだけではなく、アクセスに使用している端末が組織によって管理されているか、端末が安全な状態にあるかといった情報をアクセス判断に利用することも有効です。
送金、機密情報へのアクセス、権限変更など、重要な操作を行う際には、ログイン時の認証だけに依存せず、改めて認証を行うことも重要です。

そして、認証後のアクセスについても継続的に監視し、通常とは異なるアクセスや操作を検知した場合には、再認証を要求したり、必要に応じてセッションを失効させたりする仕組みが必要になります。

このように、認証、端末、セッション、アクセス制御、監視を組み合わせることで、認証後のなりすましに対する防御を強化できます。

さいごに

MFAやパスキーの普及によって、認証の安全性は大きく向上しています。特にパスキーなどのフィッシング耐性の高い認証方式への移行は、今後も積極的に進めるべき重要な取り組みです。しかし、認証を強化することと、認証後のアクセスが安全であることは同じではありません。
攻撃者は、防御が強化されれば、それを正面から突破するのではなく、別の攻撃経路を探します。認証そのものを突破することが難しくなれば、認証済みのセッションやトークンを狙うことは自然な選択肢になります。
そのため、これからの認証では「ログインしたのは誰か」を確認するだけではなく、「今、このサービスを利用しているのは本当にそのユーザなのか」という視点が重要になります。認証を入口の一回だけの確認として捉えるのではなく、認証からセッション終了までを一連のセキュリティプロセスとして捉えることが、認証後のリスクに備えるために重要です。

DZ Security®
認証技術

DZ Security®

ログイン後も利用者が本人であることを継続的に確認する、新しい認証ソリューション

製品ページ:https://www.grcs.co.jp/products/dz-security


サイバーセキュリティコンサルタント。三菱UFJ銀行で12年間サイバーセキュリティに従事し、2022年4月にフリーランスとして独立。現在はサイバーセキュリティに関するコンサルティングやアドバイザー業務を行うとともに、国土交通省最高セキュリティアドバイザーや日本シーサート協議会専門委員、⾦融ISAC個⼈賛助会員として活動している。