更新日:2019/04/25

    ソーシャルウェブサービスにおける
    新たなプライバシー脅威「Silhouette(シルエット)」NTTセキュアプラットフォーム研究所

    ※記事本文中の研究所名が、執筆・取材時の旧研究所名の場合がございます。

    皆さんは、SNS(ソーシャル・ネットワーキング・サービス)や動画共有サイトを利用していますか。ほとんどの方が、一つ以上のサービスアカウントを保有しているのではないでしょうか。ユーザが投稿したコンテンツや、ユーザ同士のコミュニケーションに基づいて形成されるウェブサービスを、ソーシャルウェブサービス(※1、以下「SWS」)と呼びますが、このSWSに対する新たなプライバシー脅威が発見されました。その名も「Silhouette(シルエット)」です。Silhouetteは、SWSのユーザが悪意ある第三者のウェブサイトに訪問した際に、当該ユーザが所有するSWSのアカウントが、特定されうるものです。特定されたアカウントは、プライバシー情報の漏洩やストーキング、脅迫、詐欺といったサイバー攻撃に悪用される可能性があります。NTTセキュアプラットフォーム研究所は、Silhouetteという新たなプライバシー脅威を発見し、リスクの評価手法と対策を開発しました。脅威の特徴や具体的な対策方法について、Silhouetteの発見者である渡邉氏に詳しく伺いました。

    話し手

    渡邉 卓弥 氏
    渡邉 卓弥 氏わたなべ たくや

    プロジェクトの背景

    私たちは、インターネット上のサイバーセキュリティについて研究しています。ウイルスやサイバー攻撃の痕跡、ログを分析し、既知の攻撃を対策するというのが従来研究のあり方でした。しかし私は「未知の脅威」を発見し、攻撃に先回りして対策を講じるという研究を行っています。

    「未知の脅威」とは、その名の通り攻撃の痕跡はないけれど、今後、攻撃される可能性がある脅威を指します。既知の脅威などは、セキュリティの脆弱性を診断するツールで発見することができますが、サイバー攻撃者は、時事刻々と新たな攻撃方法を企んでいます。ですから私たちは、最先端の攻撃方法を世界中から集めて、研究対象となるサービスを利用しながら、新しい攻撃の可能性を模索しているのです。「攻撃者はこのサイトからどんな情報をほしがっているのか?」、「ユーザがどのくらいの時間サイトに滞在したら攻撃できるか?」など、攻撃者の視点に立って検討する場合もあります。

    インタビューの様子

    産業向けのウェブサービスやIoTなど、さまざまなものを研究対象としていますが、私はすべてのインターネットユーザが利用するSWSに対する脅威の発見に注力しています。SWSは、SNSや動画共有サイトだけでなく、オンラインゲームなども該当します。「一人あたり平均5つ以上のSWSアカウントを保有している」というデータが出るほど、世界中のインターネットユーザが身近に接しているサービスを対象にすることで、多くの人をサイバー攻撃から救いたいと考えています。

    Silhouette(シルエット)の特徴と対策について

    Silhouetteとは?

    我々が発見したSilhouetteという脅威は、ユーザが所有するSWSのアカウントが第三者へ特定されうるというものです。例えば、検索エンジン経由や一般的なウェブサイトに含まれる広告、またはメールに記載されているリンクによって、悪意ある第三者が設置したウェブサイトを訪問してしまったとします。するとその悪意あるサイトは、ユーザが利用しているであろうSWSへの通信を、ユーザには分からないように裏で行います。その間にユーザのアカウントを特定してしまうのです。

    本脅威によってアカウントが特定される条件は、パソコンやモバイル端末のウェブブラウザが、本脅威に対して脆弱なSWSのログイン状態を保持していて、悪意ある第三者が設置したウェブサイトに訪問してしまった場合です。一般的なSWSでは、自動的にログイン状態を保持する仕組みになっています。過去に一度でも、脅威の対象となるSWSを利用した経験のあるユーザは、アカウント特定の標的になる可能性があります。

    図

    未知の脅威を発見したこと自体がひとつの成果といえますが、それだけでなく、私たちは、今まさに多くのユーザが利用しているブラウザやサービスがSilhouette の脅威に脆弱であるかどうかを評価する手法を確立しました。そして、世界でもユーザ数の多い複数のSWSとの連携によって、本脅威によってアカウントが特定されうる状態にあることを証明することができました。Twitter社は、本脅威に対して早急に仕様変更を行い、セキュリティ機構を向上させたことで、アカウント特定の脅威を未然に防ぐ対策を行いました。また、本脅威を問題であると認識したFirefoxやMicrosoft Edge、Internet Exploreといったブラウザも対策を講じてくれました。一般的なSWSでは、ログアウトを明示的に実施する操作によって、ブラウザのCookieが削除されるまで、自動的にログイン状態を保持する仕組みになっていますが、ブラウザは、CookieにSameSite(※2)属性を搭載することで、アカウント特定の脅威を防いでくれたのです。

    ■対策を実施したサービス事業者とブラウザベンダ
    ※掲載の許可が出た事業者のみ掲載

    対策を実施したサービス事業者とブラウザベンダの表
    本脅威が成立する原理について

    本脅威を発見するにあたって、「SWSに広く採用されているユーザブロック機能がサイトへ通信している際の応答時間が悪用できるかもしれない」という点に着目したことで、未知の脅威の姿が浮かび上がってきました。「あるユーザからブロックされているか否か」というアカウントの状態が、アカウントを特定する上で重要な情報となり、通信の応答時間の差異がアカウント特定の決め手になることを発見しました。例えばですが「攻撃者が用意したアカウントで、あらかじめあるユーザのアカウントAのみをブロックした場合、サイトを訪問した標的がブロック状態だと推定できれば、ブロックしていないユーザBと比べて応答速度が異なるため、標的のアカウントはAであると特定できる」というロジックです。

    さらに詳しく解説します。まず、通信の応答時間の計測についてですが、ある「訪問ユーザ」が、アカウントを特定するためのスクリプトを設置した「悪意ある第三者のウェブサイト」を訪問したとします。すると、訪問ユーザに対して「攻撃者が用意したSWS上のアカウントページ」へのリクエストが強制的に送信されてしまいます。このとき、訪問ユーザのコンテンツの内容は、Same-Origin Policyというものによって保護されているため、コンテンツの内容を第三者が取得することはできません。しかし、応答時間だけは計測できてしまいます。

    ■Same-Origin Policyによる応答内容の保護

    図

    「SWS上の任意のページにリクエストが送信される」と言いましたが、この「SWS上の任意のページ」こそ、悪意ある第三者が用意したものです。悪意ある第三者は、SWS内にプロフィールページなどのアカウントを作成します。ここで、前述した「ユーザブロック機能」と「通信の応答時間」が関係してきます。実は「ブロックしているページを閲覧している際の応答時間」と、「ブロックしていないページを閲覧している際の応答時間」では差異が発生することが分かったのです。下図において、訪問ユーザがPage A、Page B、Page C、Page Dを閲覧している際の応答時間には、極端な差異が生じていることが分かります。この差異によって、攻撃者は訪問ユーザのアカウントを特定できてしまうのです。

    図

    しかし、攻撃者は標的の数だけブロック用のアカウントを準備しなければならないため、この方法は非効率です。ブロック用のアカウントをn個用意することで、2^nの標的をカバーできる効率的な方法が存在します。あらかじめリストアップした標的ユーザ群に対して、攻撃者が用意したアカウント(以下、「特定補助アカウント」)を複数用意して、ユーザを計画的にブロック/非ブロックすることで、さまざまな閲覧可/閲覧不可の組み合わせパターンを構築できるパターンの表を作成することができるのです。「ユーザブロック機能」に着目し、こうしたパターンの表を作成することで、本脅威は大きな影響力を持つこととなります。もし、攻撃者がアカウントを33個用意できたとしたら、全人口を網羅できる標的をカバーできることになりますから。

    ■ユーザアカウントを一意に特定するためのブロック/非ブロック設定例

    図
    対策手法について

    最後に、本脅威に対して、SWSのサービス事業者やユーザが実施可能な対策手法をご紹介します。本脅威は、クロスサイトリクエストフォージェリ(※3以下「CSRF」)とサイドチャネル攻撃(※4)を組み合わせた攻撃であるため、これらのいずれかを防御することで対策が実現します。まず、サービス事業者が実施できるCSRFの対策に主眼を置いた対策方法について説明します。大きく分けて2つあります。

    1つめは「リクエスト検証」による対策方法です。CSRFでは、JavaScriptによってユーザおよびサービスが意図しないHTTPリクエストが発生してしまいます。このとき、サーバー側でリファラやリクエストパラメータを検証することで、正当なリクエストであるかどうかを判別し、不正なリクエストを棄却するという対策方法が知られています。

    2つめは「SameSite属性」による対策方法です。SameSite属性が付与されたCookieは、JavaScript等での異なるサイトへのリクエスト時に送信されなくなります。ログイン状態を管理するCookieにSameSite属性を指定することで、本脅威を含むCSRFに広く対抗が可能となるのです。ただし、SameSite属性を利用するためには、ユーザの用いるウェブブラウザがSameSiteに対応している上で、SWSがHTTPヘッダでSameSiteの利用を宣言する必要があります。
    私たちとサービス事業者の呼びかけによって、現在では多くのブラウザベンダがSameSiteを実装してくれています。

    次に、ユーザが実施できる対策についてです。対策方法は2つあります。
    1つめは「プライベートブラウジングの利用」です。主要なウェブブラウザでは、プライベートブラウジング機能が備わっています。この機能を有効にしている間は、今までのCookie情報を引き継ぐことなく、また、終了時には新たに保持したCookieを破棄するようになります。プライベートブラウジングを有効にしてから第三者のウェブサイトに訪問することで、本脅威によるアカウントの特定を防ぐことができます。

    2つめは「SWSからのログアウト」です。本脅威では、ユーザがSWSにログインしているという状態で、アカウントの特定が実現します。ですから、SWSにログインして利用した際には、終了時に毎回、ログアウトを行うなどの手段によってログイン状態を破棄すれば、対策することができます。

    インタビューの様子

    今後の展望

    自らの手で脅威を発見するという研究手法は、攻撃者の視点に回るといった意味で、アグレッシブであると思います。人によっては、攻撃者を助長しているのではないかと捉える方もいます。しかし、私たちは事業者との連携を徹底することで、さまざまなサービスのセキュリティ強化のために、研究に励んでいるのです。あくまでも、ユーザの安全性の向上に貢献することを目的としています。そのことを知ってもらえたら嬉しいですね。本研究では、新たな脅威を発見しただけでなく、実際に、世界的なサービスやブラウザのセキュリティを強化できたことが大きな励みとなりました。ここで手を休めることなく、また新たな脅威を見つけて、攻撃者よりも先にセキュリティ対策を講じていきたいと思っています。

    ユーザのみなさまにお伝えしたいのは、サイバー攻撃者は思いもよらない方法で私たちの情報を盗もうとしているということです。個人情報は高値で売買されていて、それだけで十分、攻撃者のモチベーションになります。どこのだれの情報でも、十分に価値があるのです。少しずつ簡単に情報が盗めない世の中になってきてはいますが、油断は禁物です。「脅威がすぐそばにある」ということを念頭に置いてください。URLにアクセスするときは、細心の注意を払っていただきたいと思います。そして、SWSは世界中に無限に存在します。一つでも多くのサービス事業者さん、このような脅威が存在することを知っていただき、具体的に対策を講じていただきたいです。今後も、インターネットサービスの安全な利用を促進するために、脅威の発見とその対策手法を発信していきたいと思います。

    ※1
    ソーシャルウェブサービス(SWS)…ユーザが投稿したコンテンツや、ユーザ同士のコミュニケーションに基づいて形成されるウェブサービス。ソーシャルネットワークサービスや動画共有サイトのほか、ウェブフォーラム、マイクロブログ、オンラインゲーム、オークションサイト等が該当する。
    ※2
    SameSite属性−OWASP …https://www.owasp.org/index.php/SameSite
    ※3
    クロスサイトリクエストフォージェリ(CSRF)…現在通信しているサイトとは異なるサイトに対して、強制的に通信を発生されることで悪意のある動作を引き起こす攻撃
    ※4
    サイドチャネル攻撃 …ある装置の内部の重要な情報を、外部から動作状況などを観測することで推測する攻撃

    取材日:2019年3月7日
    インタビュアー:有限会社ハッテンボール 外山夏央

    【参考情報】

    攻撃原理の詳細、実験結果等をまとめた論文情報:
    Watanabe, T., Shioji, E., Akiyama, M., Sasaoka, K., Yagi, T., & Mori, T. (2018, April).
    User Blocking Considered Harmful? An Attacker-controllable Side Channel to Identify Social Accounts.
    In 2018 IEEE European Symposium on Security and Privacy (EuroS&P) (pp. 323-337). IEEE.

    本件に関する取り組みについて解説したTwitter社のブログ記事:
    https://blog.twitter.com/engineering/en_us/topics/insights/2018/twitter_silhouette.html

    関連するコンテンツ