【サイバーインテリジェンス】狙われるRCS ― 次世代メッセージサービスが運び込んだ、新しくも古い脆弱性

次世代のメッセージサービス、台頭の予感

企業と一般消費者の取引であるB2C(Business to Customer)のコミュニケーションにおいては現在、ショートメッセージサービス(SMS)が最も普及しているツールとされています※1

一方で、近年このSMSの代替を目的とした高機能なサービスとして、新しいコミュニケーションツールであるRCS(Rich Communication Services)が世界的に活用され始めています。

従来のテキストメッセージのみならず、ビデオ通話やファイルの共有なども可能にするRCSの利用には電気通信事業者(通信キャリア)のサポートが必要ですが、2019年12月、米国では通信キャリアが未対応の場合でも国内でRCSを利用可能としました※2。既に英国やフランス、メキシコでは同様の仕組みで、RCSの提供が開始されています。

日本国内でも大手通信キャリア3社が『+メッセージ』としてRCSサービスを導入し、2018年の3社同時ローンチの時点から、3社間の完全な相互運用性を実現しています。

同3社は、2019年7月にユーザーが1,000万人を突破したことを発表しており※3、またある調査では、2020年の終わりまでに1,750万人にのぼり、2023年までには4,200万人を超えると予測されています※1。また、消費者は受信したRCSメッセージの85%以上を開封し、RCSメッセージからのクリックスルー率はSMSや電子メールの場合に比べて40%以上高くなっているとも言われています※1

2019年5月以降に発売されたAndroidスマートフォンには+メッセージアプリがあらかじめインストールされており、それ以前のAndroidやiOS向けにダウンロード可能なアプリも既に展開・利用されています※4。+メッセージはレストランや携帯電話販売店の予約といった企業と消費者のコミュニケーションに活用されており、今後は金銭の授受、例えばオンラインショップの決済、電気料金など生活インフラの決済、交通系ICカードのチャージなどに利用が拡大すると考えられます。

企業はRCS公式アカウントを開設することで、アプリの追加開発なしにパーソナライズされたメッセージを消費者に送信でき、インタラクティブにやり取りをすることができます。ユーザー数の増加と高い開封率により、今後、RCS利用企業による消費者とのコミュニケーションを主軸としたビジネス展開が加速すると予想されます。

RCSの出現・台頭によって、企業と消費者とのコミュニケーションの在り方が、大きく変わり始めています。しかし同時に考慮しなければならないことがあります。B2CにおいてRCS利用企業と不特定多数の消費者との金銭のやり取りをも担うであろうRCSは、サイバー攻撃の標的とされる可能性が高いとも考えられるのです。

RCS利用企業が実施を検討すべき、セキュリティ上の問題の軽減策

SRLabsが指摘した脆弱性はあくまで実装上の問題であり、RCSを展開している各国の通信キャリア全てが同じ脆弱性を持つとは言えません。しかし、実装の問題で同じ脆弱性が発生し得るのであれば、RCS利用企業は常にこの問題を念頭に置いて、サービスを開発・展開・運用する必要があります。

SRLabsは通信キャリア向けに、ベストプラクティスとして以下のリスク軽減策を提言しています。

  • SIMやセキュアエレメントを利用した認証、強力なパスワードの利用など、プロビジョニングプロセスの保護
  • 送信元IPアドレス、Cookieなどに基づいたSIPセッションの検証、通信データからの機微情報の削除、アップロード制限などのRCSサービス上の対策
  • 信頼できるドメイン/証明書のみ接続を許可し、信頼できる証明書の連鎖(Chain of Trust)を使用するなどの、RCS利用企業側の対策

RCSは今後も利用拡大が見込まれるため、サービスの普及と共に新たな脅威が明らかになる可能性があります。RCS利用企業は、こうした脅威動向、さらには国内の対応動向を認識した上で、RCSを利用したサービスを設計・運用していくことが重要となります。

今回のポイント

執筆者

名和 利男

PwC Japanグループ, サイバーセキュリティ最高技術顧問, PwC Japan

Email

岩井 博樹

PwC Japanグループ, スレットインテリジェンスアドバイザー, PwC Japan

Email

林 和洋

パートナー, PwCコンサルティング合同会社

Email

村上 純一

パートナー, PwCコンサルティング合同会社

Email

{{filterContent.facetedTitle}}

{{contentList.dataService.numberHits}} {{contentList.dataService.numberHits == 1 ? 'result' : 'results'}}
{{contentList.loadingText}}

{{filterContent.facetedTitle}}

{{contentList.dataService.numberHits}} {{contentList.dataService.numberHits == 1 ? 'result' : 'results'}}
{{contentList.loadingText}}