TikTokがコード挿入でウェブ遷移後のキーボード入力とタップを監視か
Photo by Solen Feyissa on Unsplash

TikTokがコード挿入でウェブ遷移後のキーボード入力とタップを監視か

プライバシー研究者のFelix Krause(フェリックス・クラウス)が独自に行ったプライバシー調査の結果、TikTokのiOSアプリがウェブサイト遷移後すべてのキーボード入力とタップを監視できるコードを注入していることが判明した。

吉田拓史

プライバシー研究者のFelix Krause(フェリックス・クラウス)が独自に行ったプライバシー調査の結果、TikTokのiOSアプリがウェブサイト遷移後すべてのキーボード入力とタップを監視できるコードを注入していることが判明した。

「TikTok iOSは、TikTokアプリ内に表示される第三者のウェブサイトで発生するすべてのキーストローク(テキスト入力)を購読しています。これには、パスワード、クレジットカード情報およびその他の機密ユーザーデータが含まれている可能性がある」とクラウスは、調査結果の詳細を説明するブログ投稿で警告している。

「技術的な観点から、これはサードパーティのWebサイトにキーロガー(キーボードの操作の内容を記録する悪質なソフトウェア)をインストールすることと同等です」

先週、クラウスはMetaのFacebookとInstagramのiOSアプリがウェブサイトへ遷移した後のユーザーの行動を追跡する可能性を指摘した。それを実現するコード挿入はアプリ内ブラウザの仕様を活用したものだったTikTokもアプリ内ブラウザの仕様を使い、ウェブサイトに無断でJavaScriptコードを挿入し、トラッキングを行っていることをクラウスは発見した。

アプリ内ブラウザは、WebViewによってAndroidおよびiOSに実装されており、この仕様はFacebookやInstagramのアプリのユーザーが、アプリを終了してブラウザを開くことなくウェブサイトを操作できるようにするものだ。

FBとInstagram、他社ウェブサイトに無断でコード挿入しユーザーを追跡
iOSデバイス上のInstagramおよびFacebookアプリが、ユーザーがアプリ内のリンクをクリックした後、ユーザーが訪れたウェブサイトを書き換え、ウェブでの行動をトラッキング(追跡)していたことが、元Googleエンジニアの調査により明らかになった。

クラウスはアプリ内ブラウザがJavaScriptの挿入をしているかを調査するサイトである「InAppBrowser.com」を作成した。クラウスはInAppBrowser.comをオープンソース化しGitHubで公開している。

クラウスは、このツールを使って、いくつかの主要なアプリの簡単な比較分析を行った。その結果、アプリ内ブラウザに対する挙動に関して、TikTokは、購読していると確認された入力の範囲、および、Webリンクを開くためにデフォルトのモバイルブラウザ(アプリ内ブラウザではなく)を使用するというオプションをユーザに提供していないという理由から、トップになったという。

TikTokは「JavaScriptのコードが私たちのアプリが悪意のあることをしていることを意味しない」「このコードを通じてキーストロークやテキスト入力を収集しておらず、デバッグ、トラブルシューティング、パフォーマンス監視のためにのみ使用している」と反論している。

これを裏付けるために、広報担当者はGitHubにあるTikTok以外の同じコードを指摘したようだ。このコードは、不適切なデータ収集の証拠として研究によって引用されたのと全く同じ反応を引き起こすが、むしろ、TikTokでは「StopListening」コマンドを引き起こすために使用されており、特にアプリケーションが入力されたものをキャプチャするのを防ぐ、とTech Crunchに対して主張している。

さらに、Tech Crunchによると、研究によって取り上げられたJavaScriptコードは、純粋にデバッグ、トラブルシューティング、アプリ内ブラウザのパフォーマンス監視に使用され、ページの読み込み速度やクラッシュの有無などを確認するなど、ユーザー体験を最適化するために使用されると主張した。

そして、問題のJavaScriptは、同社が使用しているSDKの一部でもあるとし、さらに、特定のコードが存在するからといって、同社がそれを使用しているわけではないと主張している。

また広報担当者は、アプリがユーザーのデバイス上の特定のカテゴリの情報にアクセスすることを許可することと、アプリストアのポリシーに従ってデータを収集または処理することの違いを強調し、問題の情報のカテゴリに関連する多くの要素が、情報自体がTikTokによって収集されることなくデバイス上でローカルに分析される可能性を示唆したという。