サブドメイン・テイクオーバー(Subdomain Takeover)の問題について 後編
前回の記事では、サブドメイン・テイクオーバー(Subdomain Takeover)とは何か?どのような仕組みで攻撃をするのか?といったポイントについて解説しました。
今回はさらに踏み込んで、サブドメイン・テイクオーバーがなぜこれほど警戒されているのか、その問題点ついて解説します。
サブドメイン・テイクオーバーの問題点とは?
サブドメイン・テイクオーバー(Subdomain Takeover)とは、Webサイトのサブドメインが乗っ取られるセキュリティ被害のことをいいます。
2020年7月現在で分かっているだけでも、大手企業を含む百数十件以上の被害が報告されるなど、被害の拡大が懸念されています。
Webサイトのセッションの仕組み
サブドメイン・テイクオーバーの問題を理解するには、Webサイトのセッションの仕組みを理解しておく必要があります。
ユーザーがサイトにログインすると、サーバーに対してセッション情報が送られます。サーバーは、この情報を元にユーザーが誰かを認識。具体的には、クッキー(cookie)という仕組みを利用しており、ユーザーからサーバーに対してのリクエストには、常にこのクッキーが送られます。
この仕組みを使うことで、ユーザーはサイト上でさまざまな処理を継続して実行することができます。ログイン状態が維持されるため、面倒なログイン作業をスキップすることが可能になる訳です。
サブドメインと同じサイトのドメインを利用するユーザーのセッションをハイジャックできる
さて、クッキーはブラウザの仕様から、同じドメインに対して、同一サイトのクッキーが送信されるようになっています。これはどういうことでしょうか?
例えば、Googleを例にすると、
これらはすべて同じ「google.com」というドメインを使用しています。そのため、どのサービスを利用しても、クッキーはすべて同じものが送信されます。どのサイトを利用しても、クッキーはすべて同じと認識される訳です。
この仕様は、すべてのサービスでID・パスワードが引き継がれるため、ユーザーにとって利便性の高い仕組みです。一度いずれかのサービスにログインしてしまえば、ログイン作業をスキップすることができます。
しかし今回は、この利便性を悪用されてしまいました。サブドメインが同一であれば、仮にそのサイトが攻撃者の用意した偽サイトであっても、ID・パスワードなしでログインできてしまいます。
つまり、サブドメインと同じサイトのドメインを利用するユーザーのセッションをハイジャックできるということ。これがサブドメイン・テイクオーバーの大きな問題点です。
これまでも本ブログではさまざまなセキュリティ攻撃について解説してきましたが、それらは同じドメインのサイト以外からのアクセスを排除することで防ぐことができました。
しかしサブドメイン・テイクオーバーは、同じドメインを利用しているユーザーがターゲットとなるため、この対策では防ぐことができません。このポイントも、今回の問題が深刻化している背景といえます。
サブドメイン・テイクオーバーの回避方法
では、サブドメイン・テイクオーバーを回避するにはどのような対策を取ればよいのでしょうか。
運営者側はサブドメインの管理を徹底すること
まず、被害者(ユーザー)側は何もできないというのが実情です。IDやパスワードを定期的に変更する方法や、利用していないサービスは退会するといった方法が挙げられますが、いずれも対処療法的な手法になってしまいます。
一方、運営者側の回避方法も、サブドメインの管理を徹底するという手段に限られてしまいます。サブドメインで運営していたサービスを終了する際は、サイトを閉鎖するだけでなく管理画面のCNAMEレコードの設定まで削除するなど、徹底した管理を実行する必要があります。
まとめ
今回は、サブドメイン・テイクオーバー(Subdomain Takeover)がなぜこれほど警戒されているのか、その問題点について解説しました。
サブドメイン・テイクオーバーへの対応は、現状では運営者側がサブドメインを徹底して管理するといった方法しかなく、被害者(ユーザー)側には根本的な回避方法がありません。それだけに、このセキュリティ攻撃の仕組みや問題点について、しっかり理解しておくことがより重要となってきます。