ビジネスコンサルティングの現場から

各種ビジネス・コンサルティングに携わる担当者が、日頃、「考えている事」や「気が付いた事」を不定期に発信します。

多要素認証も破られる事あり!Pass-the-cookie攻撃の怖さと対策

パス・ザ・クッキー(Pass-the-cookie)攻撃

まだ報告されている被害自体は多くないのですが、

・IDもパスワードも盗まれていない

・多要素認証(MFA)を設定していた

といった場合でも、

「インターネット上のサービスに不正ログインされてしまい、第三者に勝手にサービスを利用されてしまう」

という事件(被害)が発生しています。

それが「パス・ザ・クッキー(Pass-the-cookie)」と呼ばれる攻撃によるものです。


パス・ザ・クッキー(Pass-the-cookie)について詳しくご紹介する前に、インターネットサービスにおける「認証」の基本を確認しておきたいと思います。

インターネットサービスにおける「認証」としてはIDとパスワードが広く採用されています。

しかし、実は、IDとパスワードだけに頼った認証は攻撃に弱いと言われています。

なぜならば、IDとパスワードを第三者に知られてしまうと、不正ログインされてしまうからです。

そして、それはIDとパスワードをどれだけ厳重に管理していたとしても変わりません。

なぜならば、攻撃する側には、「パスワードを全パターン(総当たりで)試す事で、パスワードを判明させる」という攻撃手段があるからです。

もちろん、IDとパスワードが複雑であれば、そのリスクを軽減させる事は可能です。

しかし、パスワードが判明してしまう可能性をゼロには出来ません。


そこで、この問題に対応する為に生まれたのが「多要素認証(MFA)」という認証方式です。

この方式では、ログインに「自分しか提供する事の出来ない情報」が必要となります。

例えば、

「登録してあるスマホに使い捨てのパスワードが通知され、そのパスワードを入力しないとログイン出来ない」

といった仕組みにする事で、

「そのスマホが盗まれない限り、ログインは出来ない」

という事を実現させているのです。

※多要素認証には、スマホの代わりにハードウェアトークン(パスワードが表示される専用の機械)や生体情報(指紋など)を組み合わせる方式もあります。これらの場合も、考え方は同じです。

この為、「多要素認証であれば、不正利用される事はないだろう」と考えている人は多いはずです。

例えば、スマホを使った多要素認証を設定した利用者は、

「このスマホを攻撃者が手に入れて、かつ、スマホのロックまで解除して、サービスから送られてくる使い捨てパスワードを見るような事がない限り、不正ログインは出来ない。だから、不正利用はあり得ないはずだ。また、スマホが盗まれたらすぐに解るから、自分が知らない間に不正利用されるような事はあり得ないはずだ。」

と考えてしまうはずです。

その認識は基本的には正しいですし、だからこそ、多要素認証は重要視されてきました。


しかし、です。

その多要素認証すら無効化し、不正利用を成立させてしまうのが、今回取り上げる「パス・ザ・クッキー(Pass-the-cookie)」という攻撃なのです。

パス・ザ・クッキー(Pass-the-cookie)攻撃では、

・多要素認証に必要な機器など(例えば、スマホ)が盗まれていないのにも関わらず、

・自分が知らない間に、

・攻撃者が自分のアカウントを利用してしまう

という事が発生するのです。

怖いですね。


では、なぜ、そのような事が発生するのか。

理屈は、それほど複雑ではありません。

この攻撃では、攻撃者は、「認証に必要な情報」を盗むのではなく、「貴方が認証を終えた後の状態」を盗むのです。

始めて読まれた方は良く解らないと思いますが、こういう事です。

貴方が、あるサービスに正規にログインした場合、そのサービス側では、貴方の端末(パソコンやスマホなど)の事を、

「この端末は、正規にログインしたユーザーが使っている」

と判断します。

そう判断する事によって、その端末から行われる操作については、正規ユーザーが操作している有効な操作として扱うのです。

そして、その判定の為に、貴方の端末の中(厳密には、インターネットブラウザが情報を格納する場所)に、「貴方の端末である事が解るような情報」を保存する事があります。

その情報がないと、インターネットサービス側では、多くのアクセスがある中で、貴方の端末を見分ける事が困難になるからです。

この時、貴方の端末に保存される情報の事を、クッキー(cookie)と呼びます。

そして、多くのサービスでは、ユーザーが明示的に「ログアウト」をするまで、そのクッキーが登録された端末からのアクセスは、「正当なユーザーからのアクセスである」とみなして操作を受け付ける仕組みになっています。

※少し説明を簡略化しています。


もうお解りでしょうか。

今回のパス・ザ・クッキー(Pass-the-cookie)攻撃では、そのログインされた状態の証であるクッキー(cookie)を盗み出すのです。

先ほど説明させて頂いた通り、インターネットサービス側では、クッキー(cookie)をもとにアクセスしてきた端末を「正規のユーザーによるアクセスかどうか」を判断する事があります。

この為、このクッキー(cookie)が一致してしまうと、攻撃者の端末を、「認証が成功している端末からの操作である」と信じてしまう事があるのです。

これにより、どれだけ複雑な認証の仕組みがあったとしても、攻撃者は、それをすり抜ける事が出来るのです。

この「認証が成功した状態を盗む」という点が、パス・ザ・クッキー(Pass-the-cookie)攻撃の特徴です。


もちろん、攻撃者にとって、クッキー(cookie)を盗む事も簡単ではありません。

しかし、所詮は端末に保存された情報の一部です。

様々な方法によって、端末に保存された情報が盗まれる事があるのは、皆さまも良くご存じの通りだと思います(メールによるマルウェア攻撃など)。

それと同様に、このクッキー(cookie)も盗まれてしまう事があるのです。

※盗まれたクッキー(cookie)が売買されている闇サイトまで存在するそうです。


では、このパス・ザ・クッキー(Pass-the-cookie)攻撃には、どのように対応すれば良いのでしょうか。

利用者側として出来る対策として、3つの事を知っておいて頂きたいと思います。

まず、1つ目の対策は、「クッキー(cookie)を盗まれないようにする」という事。

説明した通り、クッキー(cookie)が盗まれない限り、パス・ザ・クッキー(Pass-the-cookie)攻撃は成立しません。

そして、クッキー(cookie)は端末に保存された情報の一部です。

ですから、情報を盗み出そうとする攻撃への一般的な対策(マルウェア対策)は有効です。

例えば、攻撃を防ぐ為のソフトウェアを導入したり、怪しいメールは開かないようにしたり、などの対策です。

従来から言われているような対策を徹底する事は、パス・ザ・クッキー(Pass-the-cookie)攻撃に対しても有効なのです。

2つ目の対策は、「有効なクッキー(cookie)を出来る限り端末に残さない」という事。

パス・ザ・クッキー(Pass-the-cookie)攻撃は、認証が成功した状態のクッキー(cookie)を盗む事で成立します。

ですから、認証が成功した状態のクッキー(cookie)が端末になければ、攻撃は成功しません。

ほとんどのサービスでは、明示的に利用を終了する作業(通常は、ログアウトやログオフと呼ばれる作業)をインターネットブラウザ上で行う事で、貴方の端末に保存されているクッキー(cookie)を「既に、認証済の状態ではない状態」」に変化させる事が出来ます。

複数人で同じパソコンを使うケースもある訳ですから、そのような仕組みがあるのは、本来、当然の事ですね(細かい仕様については、サービス毎に異なります)。

ですから、こまめに利用終了の作業を行う事で、一定の対策が可能となります。

最後の3つ目の対策は、「クッキー(cookie)に頼りすぎるサービスは利用しないようにする」という事です。

パス・ザ・クッキー(Pass-the-cookie)攻撃は、サービス側がクッキー(cookie)を信用するからこそ成立する攻撃です。

ですから、サービス側がクッキー(cookie)を信用し過ぎなければ、被害は最小限で済むのです。

実際、セキュリティ対策がしっかりとしているインターネットサービスでは、通常はクッキー(cookie)を使ってアクセスしてきた端末を「認証済の端末である」と認識していたとしても、重要な操作を行う前には、再度、「認証を行わせる」といった仕組みになっています。

このような仕組みになっているサービスであれば、その再度の認証の段階で攻撃者は進めなくなり、深刻な被害が避けられる事になります。

自分が使うサービスが、そのような仕組みになっているかどうかを確認して頂き、対策が不十分なサービスを使わないようにする事で、被害を防ぐ事は可能です。

もっとも、どうしても使わなければいけないサービスが、こうした問題に未対応の場合には、利用者側だけではどうしようもない場合もあります。

ただ、その場合でも、こまめにサービスにログインして、不正利用が発生していないか確認したり、といった対応をする事は検討して下さい。


以上、多要素認証さえ破られてしまうパス・ザ・クッキー(Pass-the-cookie)攻撃のご紹介と、利用者側で出来る対策についてでした。

皆さまも、くれぐれもお気を付け下さい。