テレビ広告が携帯電話に密かにコマンドを送信する仕組み:SilverPushの巧妙なコードをリバースエンジニアリング

Table of Contents

テレビ広告が携帯電話に密かにコマンドを送信する仕組み:SilverPushの巧妙なコードをリバースエンジニアリング

今週初め、民主主義技術センター(CDT)は、シルバープッシュというインドの企業が、スマートフォンやタブレットに聞こえないコマンドを広告で送信できる技術を持っていると警告した。

今、誰かがそのコードをリバースエンジニアリングし、誰でも確認できるように公開しました。

SilverPushのソフトウェアキットはアプリに組み込むことができ、テレビ、ラジオ、ウェブブラウザの広告などに埋め込まれた超音波に近い音を拾うように設計されています。これらの信号は18kHzから19.95kHzの範囲にあり、ほとんどの人間には聞こえないほど高音ですが、ソフトウェアでデコードできます。

SilverPush のコードを使用するアプリケーションは、携帯電話やタブレットの内蔵マイクからこれらのメッセージを取得し、ハンドヘルドの IMEI 番号、場所、オペレーティング システムのバージョン、場合によっては所有者の ID などの情報をアプリケーションのバックエンド サーバーに送信するように指示できます。

テレビの前に座り、スマートフォンを手元に置いているところを想像してみてください。番組の途中で広告が流れ、そこにSilverPushの超音波メッセージが埋め込まれています。このメッセージはモバイルアプリで受信され、メディアネットワークにあなたの情報を送信します。さらに、スマートフォンにフォロー広告やリンクが表示されることもあります。

仕組み…テレビから電話、バックエンドサーバーに音声エンコードされた情報を転送する

「この種の技術は、同意を必要としないという点で根本的に秘密主義的です。もし同意が必要であれば、ユーザー数は減少するでしょう」と、CDTの主任技術者ジョー・ホール氏は木曜日にThe Register紙に語った。「消費者がこれを望まないと表明し、ソフトウェアとの関連付けを回避できる能力が欠けているのです。」

ホール氏は、SilverPush SDKを含むアプリケーションのうち、ユーザーにその旨を通知しているものがほとんどなく、インフォームド・コンセントが得られていないと指摘した。そのため、このようなソフトウェアは欧州、そしておそらく米国でも技術的に違法となる。

同様のシステムは既に運用されています。視聴率調査会社ニールセンは、ラジオ局の視聴者数を測定するためにまさに同様の音声システムを導入していますが、利用するには同意が必要で、報酬も支払われます。

さらに、こうした技術は広告に使われるだけではない。抑圧的な政権が反体制派の携帯電話を追跡するためにこれを利用しようとしたらどうなるだろうか、と彼は推測した。

もちろん、SilverPushの音を検知するアプリがなければ、これらはすべて意味がありません。しかし、初期の調査では、SilverPush SDKを使用しているアプリが約30種類あり、そのほとんどはインドや極東の企業が運営するショッピングアプリでした。

SilverPushに関するニュースが広まるにつれ、セキュリティコンサルティング会社Digital MunitionのKevin Finisterre氏は、そのコードを調査することにしました。彼はその後、調査結果をGitHubで公開しました。

彼は、ソフトウェアが高音にアルファベットの文字を割り当てていることを発見しました。例えば、18kHzの音は「A」、19.125kHzは「P」と認識されます。これらの文字の組み合わせはテレビ広告の識別に使われており、「AP」はGeicoの広告を認識し、画像と保険会社へのリンクを表示するのに使われているとのことです。音声再生型のオンライン広告では、5文字の指紋が使われているようです。

論理的に次のステップは、これらの信号を妨害できるかどうかを確認することです。フィニステレ氏は、アプリが探している音を偽装し、迷惑データを送信することを試みました。また、超音波音をランダムに送信するプログラムを作成してシステムを妨害することも可能ですが、「おそらく犬や他の動物を怒らせるでしょう」と、同氏はThe Regに語りました。

「ブラウザレベルではなく、オーディオドライバーレベルでこれをブロックしようとしています。他のアプリでも同じ技術を実装できます」と彼は述べた。

可能性はたくさんあります。それは、どのような側面から保護しようとしているかによって大きく異なります。例えば、可聴ビーコン自体がトリガーされるもの(オーディオドライバベースの保護、スプーフィングトーンなど)、データ収集プロセス(サーバーのIPアドレスをブロックするなど)、データ収集による収益化(バックエンドでランダムな無効なデータをスプーフィングするなど)などです。®

Discover More