中国語話者が使用するキーボードアプリに脆弱性

スマホのキーボードアプリから入力した情報が、第三者に盗み見られてしまう可能性が指摘されています。

「ハッカーはインターネット経由でHonor、OPPO、Samsung、Vivo、Xiaomiのスマホのすべてのキー入力の内容を傍受できる」ここ最近、このような警戒すべき見出しの記事が出回っています。これは、カナダ・トロント大学の研究機関、The Citizen Lab(シチズンラボ)の研究チームが発表した、キーボードトラフィックの暗号化における脆弱性という報告書で指摘されています。たとえば何者かが、感染した家庭用Wi-Fiルーターを通じてネットワークトラフィックを監視していれば、キーボードに入力した内容がすべて盗み見られ、パスワードやプライベートな会話が全部筒抜けです。だからと言って、今すぐにAndroidからiPhoneにあわてて買い替える必要はありません。キー入力の内容が傍受される可能性があるのは、拼音(ピンイン)システムを使用する中国語入力を使用し、かつクラウドの予測変換機能を有効にしている場合のみです。とはいえ、他の言語や他のメーカーのキーボードの状況も調査してみる価値はあると当社は考えました。

ほとんどのキーボードアプリが盗聴に対して脆弱である理由

拼音表記体系は、中国の表音文字としても使用され、ユーザーがラテン文字と発音区分符号を使用して中国語の単語を書くのに使用されています。これは中国語の公式なローマ字表記で、国連などでも採用されています。スマホで中国語の文字を入力するのは不便なため、多くの中国語話者が拼音入力方式を使用しています。一部の推計によりますと、ユーザー数は10億人を超えるといわれています。他の言語とは異なり、中国語、特に拼音の単語予測は、スマホに直接実装するのが困難です。計算が複雑であるからです。そのため、ほとんどすべてのキーボード(より正確に言えば、入力方法であるIME)は、「クラウド予測」を使用しています。つまり、ユーザーが入力した拼音文字をクラウドサーバーに瞬時に送信し、単語を補完する候補を返信します。「クラウド」機能をオフにできる場合もありますが、その場合中国語入力の速度と品質が低下します。

拼音で入力されたテキストを予測するために、キーボードはデータをサーバーに送信する

拼音で入力されたテキストを予測するために、キーボードアプリは入力データをクラウドサーバーに送信する

「クラウド予測」システムにより、キーボードの開発者は入力されたすべての文字にアクセスできます。しかし、アクセスできるのは開発者だけではありません。文字単位のデータ交換には特別な暗号化が必要ですが、多くの開発者はこれを正しく実装していないのが現状です。その結果、すべてのキー入力とそれに対応する予測が、第三者に簡単に解読されてしまう可能性があります。

見つかった各エラーの詳細は、こちらの記事をお読みいただき確認していただます。ここではまずリサーチチームが分析した9つのキーボードアプリのうち、唯一TLS(トランスポート層セキュリティ)を正しく実装し、攻撃に抵抗できたのは、Huaweiのスマホの拼音IMEのみでした。Baidu、Honor、iFlytek、OPPO、Samsung、Tencent、Vivo、XiaomiのIMEは、程度の差こそあれすべてが脆弱で解読されてしまう可能性があることが判明しました。リサーチャーは、Honorの標準拼音キーボード(Baidu 3.1)とQQ拼音の開発者に報告しましたが、回答は得られていません。拼音を使用している場合、IMEを最新バージョンにアップデートするか、アップデートがない場合は別の拼音IMEをダウンロードすることを推奨します。

他のキーボードアプリも入力内容が送信されるのでしょうか?

技術的な観点から考えると、入力内容を送信する必要は全くないと言えます。ほとんどの言語で、単語や文の終わりをデバイス上で直接予測することができるため、一般的なキーボードアプリでは文字単位のデータ転送は必要ありません。しかし、入力されたテキストに関するデータは、デバイス間の個人辞書の同期、機械学習、または広告分析など、キーボードの主な機能とは直接関係のないその他の目的のためにサーバーに送信されることがあります。

このようなデータをGoogleやMicrosoftのサーバーに保存したいかどうかは個人の問題ですが、見知らぬ第三者とそのようなデータを共有したいと思う人はまずいないでしょう。2016年に少なくとも1件、こうしたケースに関連するインシデントが公表されました。SwiftKeyというキーボードアプリが、他のユーザーのメールアドレスやその他の個人的な辞書項目を予測していたことが判明したのです。このインシデントの発生後、Microsoftはサービスを一時的に無効にしましたが、これはおそらくエラーを修正するためでしょう。個人辞書をMicrosoftのサーバーに保存したくない場合は、SwiftKeyのアカウントを作成しないことを推奨します。既にアカウントがある場合は、この手順に従ってアカウントを停止し、クラウドに保存されたデータを削除しましょう。

これは、入力したテキスト内容が漏えいした事例で最も広く知られているケースです。しかし、一般的なキーボードが入力時のメタデータが積極的に監視されていることは、調査によって明らかになっています。たとえば、GoogleのGboardとMicrosoftのSwiftKeyは、入力されたすべての単語に関するデータを送信しています。言語、単語の長さ、正確な入力時間、単語が入力されたアプリなどです。SwiftKeyは、どれだけの労力が節約されたかに関する統計情報も送信します。完全に入力された単語の数、自動的に予測された単語の数、スワイプされた単語の数です。どちらのキーボードもユーザー独自の広告IDを「本社」に送信していることを考慮すると、これはプロファイリングを行うのに十分な機会を産み出していると言えます。たとえば、どんなユーザー同士が連絡を取り合っているのかを、どのメッセンジャーでも特定できるようになります。

SwiftKeyアカウントを作成し、オプション[Microsoftの改善にご協力ください]を無効にしない場合は、プライバシーポリシーによると、入力したテキストの「小さなサンプル」がサーバーに送信される場合があるとのことです。これがどのように機能するか、またこれらの「小さなサンプル」のサイズは不明です。

Microsoftが「改善」するものは何か?ユーザーデータの収集方法?

Googleは、Gboardのオプション[使用統計情報の共有]を無効にすることを可能にしています。これにより、送信される情報の量が大幅に減少し、単語の長さやキーボードが使用されたアプリが送信データから除外されます。

Gboardの[使用統計情報の共有]を無効にすると、収集されるデータの量が大幅に減少する

暗号化に関しては、GboardとSwiftKeyのデータ交換においてリサーチャーが懸念を抱くような点はありませんでした。どちらのアプリもOSの標準的なTLS実装に依存しており、一般的な暗号攻撃に対する耐性があるためです。したがって、これらのアプリでトラフィックが傍受される可能性は低いでしょう。

GboardとSwiftKeyに加えて、人気があるAnySoftKeyboardアプリも分析しました。このキーボードは、サーバーにテレメトリを送信しないという点において、プライバシーを重視する人のためのキーボードという評判に偽りはまったくありませんでした。

パスワードやその他の機密データがスマホから流出する可能性

機密データを傍受するアプリは、キーボードである必要はありません。たとえば、TikTokはクリップボードにコピーされたすべてのデータを監視しますが、この機能はSNSには不要に思えます。Android上のマルウェアは多くの場合、スマホのアクセシビリティ機能や管理者権限を有効にして、入力フィールドや「興味がある」アプリのファイルから直接データを取得します。

その一方で、Androidのキーボードアプリは入力したテキストだけでなく別の個人情報も「漏えいする」可能性があります。たとえば2017年、Ai.Typeというキーボードアプリの3,100万人のユーザーデータが流出しました。何らかの理由で、電話番号、正確な位置情報、さらにはアドレス帳の内容などのデータが収集されたのです。

キーボードや入力フィールドを盗み見されないために

  • 可能な限り、不要なデータをサーバーに送信しないキーボードアプリを使用しましょう。新しいアプリをインストールする前に、そのアプリに関する情報をWebで検索するようにしましょう。そのアプリに関連する何らかの不祥事があれば、すぐに目につくはずです。
  • キーボードのプライバシーよりも利便性を重視する場合は、設定を確認し、同期とデータ送信のオプションを可能な限り無効にしましょう。こうしたオプションは、さまざまな名目を隠れ蓑にしている場合があります。たとえば、「アカウント」「クラウド」「機能改善のサポート」、さらには「音声スニペットの提供」というオプションまであります。
  • キーボードに必要なAndroidの権限をチェックし、不要な権限を取り消しましょう。キーボードが連絡先やカメラへのアクセスを必要とすることは、絶対にありません。
  • 信頼できる提供元からのみアプリをインストールしましょう。アプリの評判もチェックし、過剰な権限を付与しないようにしてください。
  • お使いのAndroidまたはiOSのスマホはすべて、カスペルスキー プレミアムのような包括的な保護アプリを使用しましょう。
ヒント