アプリ開発したら知らぬうちにバックドア? Baiduの公式SDKで1万以上のアプリに影響海賊版XcodeやUnityでも同様の問題、SDKの信頼性確認が必要な時代に

開発者の意図しないところで、アプリにバックドア機能が組み込まれてしまうSDKの存在が相次いで発覚している。

» 2015年11月10日 09時28分 公開
[高橋睦美@IT]

 スマートフォンやPC向けにアプリを開発する際に利用するソフトウェア開発キット(SDK)は、開発者が書いた通りのコードを生成し、それ以外の動作は行わないことが前提だ。しかし、その大前提が崩れるような事態が相次いで発生している。開発者の意図しないところで、アプリにバックドア機能が組み込まれてしまうSDKの存在が発覚したからだ。

 トレンドマイクロは2015年11月6日、中国のバイドゥが提供しているAndroidアプリ向けSDK「Moplus」にバックドア機能が備わっていることをブログで指摘した。これを用いて開発されたアプリがインストールされたAndroid端末は、インターネット経由で外部の第三者による遠隔操作が可能になってしまう。具体的には、フィッシングサイトへの誘導や任意の連絡先の追加、偽のSMS送信に加え、個人情報の収集や特定のファイルのアップロード、さらには新たなアプリを端末にインストールさせることまで可能という。

 Moplus SDKのバックドアは、端末内部に勝手にHTTPサーバーを立ち上げ、外部からの接続を待ち受ける。インターネットに接続しているだけで、悪意ある攻撃者によるHTTPリクエストを受け付け、さまざまな不正な操作が行われる可能性がある。しかも、「sendintent」コマンドを用いてローカルのインテントを送信することも可能なため、ユーザーの同意を得ることなく、発信やメッセージ送信、アプリのインストールといった操作が可能になるという。

 トレンドマイクロによると、早速、Moplus SDKを利用した不正なプログラム「ANDROIDOS_WORMHOLE.HRXA」の拡散も確認された。この不正プログラムは、Moplus SDKを組み込み、ルート化された端末に対し、自動的かつ定期的に不要なアプリをインストールさせるものだという。

 同社の調査によると、Moplus SDKを組み込んだアプリは、公式ストアである「Google Play」で配布されているものも含め1万4112種類存在している。うち4014種は「Baidu Map」などのバイドゥの公式アプリだ。これらのアプリをインストールしている場合、インターネットからのさまざまな攻撃にさらされる恐れがある。

 この問題についてはグーグル並びにバイドゥに通報しており、バイドゥでは10月30日からこの脆弱性について対処しているという回答があったという。トレンドマイクロでは、SDKの不正操作が完全に削除されたと確認できるアップグレード版がない限り、感染したアプリをアンインストールするよう推奨している。

海賊版XcodeやUnityにも不正コード混入問題

 最近、アプリの開発環境自体を汚染することで、そのアプリをインストールした端末に悪意あるコードを仕込む手法が相次いで発覚している。

 これに先立つ9月18日には、iOSアプリの統合開発環境(IDE)「Xcode」のコピー版を用いて開発されたアプリに、「XcodeGhost」と呼ばれる不正なコードが混入していたことが明らかになっている。このケースでは、バイドゥのクラウドサービス「百度雲」で公開されていた海賊版IDEを用いて開発されたアプリに、個人情報を盗み取るコードが混入していた。中には「WeChat」のように人気の高いアプリが含まれ、公式のApp Storeで配布されていたが、通報によって削除されたという。

 また、人気の高い開発環境「Unity」についても同様の問題が発覚していた。トレンドマイクロは9月28日のブログで、XcodeGhostと同様に個人情報を盗み取る不正なコード「UnityGhost」を混入させる、海賊版のUnityプラットフォームが存在していることを指摘している。トレンドマイクロによると、幸いこのケースでは、UnityGhostに汚染されたアプリは確認されていないという。

 XcodeGhostやUnityGhostのような海賊版開発プラットフォームによるコード混在の場合、特に中国国内からは海外へのネットワーク接続速度が遅く、公式サイトからのダウンロードに時間がかかるためコピー版が好まれることや、ライセンス料金を支払いたくないといった理由が背景にあると思われる。従って、デベロッパーとしては「海賊版の開発環境は使わない」という当たり前のことを実践していれば、アプリへの不正コード混入は避けることができた。

 しかしMoplus SDKの場合、公式に配布されているSDKによってバックドアが仕込まれてしまう状態だった。トレンドマイクロではMoplus SDKを用いていた開発者に対し、「問題が解消された最新のMoplus SDKか、別の環境を利用してアプリを開発し直す」ことを推奨。さらに、「開発環境についての情報を定期的にチェック」すべきとしている。

 これまで開発環境を選択するポイントは、開発やデバッグのしやすさ、生産性の高さといった事柄だった。しかし今後は「信頼できる開発元による開発環境か」も確認する必要がある。一般的なアプリ利用者には、そのアプリがどういった開発環境で作成されたかを確認する術はなく、そもそも意識すらしない。不正コードを混入させるSDKを用いていると、せっかくのアプリユーザーを知らないうちに危険にさらしてしまう恐れがあるからだ。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。