App Store 史上初の大規模なマルウェア汚染 XcodeGhost 事件について。アップルは App Store から汚染アプリを排除したことを明らかにしました。また中国市場を中心に5億ユーザーを公称するチャットアプリ WeChat など、感染の事実を認め更新版を公開した開発元も出ています。
一方、具体的に何種類の汚染アプリが発見され排除されたのか、影響を受けたユーザーはどの程度なのかなどの全貌はいまだに明らかになっていません。
アップルの App Store でマルウェアが見つかった事例はこれまでも数件ありました。しかし今回の XcodeGhost 事件では一気に数十、一部のセキュリティ研究者によれば数百のマルウェア感染アプリが配布されていたと考えられています。
原因はアップルのアプリ開発環境(コンパイラ) Xcode を改ざんした偽物が中国で出回っており、知らずにインストールした開発者のアプリに悪意のあるコードが追加されたこと。
iOSアプリをApp Storeに通すには開発者登録が必須で、Xcodeは開発者向けに無料で配布されています。それなのに出所の分からない「拾った」Xcodeを多くの開発者がインストールした理由のひとつとしては、中国では特有の事情からアップルを含め海外へのネットワーク接続が非常に遅いため、利便性のためとして国内のファイル共有サービスに Xcode が置かれていることが挙げられます。
発見の経緯などについて詳しくはこちらの記事を参考にしてください。
App StoreのiPhoneアプリ多数にマルウェアが混入、パスワード盗難の危険。中国発の改竄コンパイラXcodeGhostが原因
XcodeGhost に汚染されたマルウェアの挙動としては、第三者の外部サーバにアプリ名や端末の識別子などを送る挙動が報告されています(これ自体はそれほど悪質ではありません)。また外部サーバからの指令により偽のダイアログを表示し iCloud などのパスワード入力を求めるフィッシング動作も確認したとの報告がありましたが(上記リンク参照)、こちらは検証中とするセキュリティ企業もあり、少なくとも大規模なフィッシング被害は確認されていません。
感染経路からの一般論でいえば、XcodeGhost は特定アプリの動作を狙い撃ちして設計されたものではないと考えられるため、さまざまなアプリで使われるアカウント情報などを盗んで外部送信しているとは限りません。
一方で、アプリそのものの挙動が改竄されているため、アプリに渡した権限の範囲ではすべての情報にアクセス可能です。アプリのアカウント情報は言うに及ばず、送受信したテキストや情報、アプリ内でログインした別のサービスのアカウント、アクセスを許したカメラや連絡先情報なども原理的には漏洩できていた可能性があります。
こうした報告について、アップルは複数の報道機関からの照会に答えて、 App Store から汚染アプリを排除したうえ、開発者が純正のソフトウェアを使うよう取り組んでいるとしています。
一方 XcodeGhost の影響を受けるアプリを何件排除したのか、すべて発見・排除できたのか、影響を受けたと思われるユーザー数、などについては回答がありません。
セキュリティ企業パロアルトネットワークスによる最初期の報告で名前が挙がったアプリのひとつ、中国産チャットアプリ WeChat は公式のBlog で「外部が起因のマルウェアに被害を受けたが、情報漏洩は確認できた範囲では起きていない、すでに排除しており最新版では安全」と宣言しています。(「報道されている件」と XcodeGhost であることを言外に認めつつ、そもそもなぜ感染したのかの説明や、その点への謝罪などはありません)。
感染アプリの本数についてはパロアルトネットワークスが約40を挙げたほか、別の報告では数百の名が挙がっていました。アップルは感染アプリを排除したとするものの、リストに挙がったアプリの多くはいまだにバージョン番号も上がらないままApp Store に掲載されています。こちらが「まだ」排除されていないのか、そもそもの名指しが十分な検証を経ていなかった無実のアプリなのかは不明。
自分の使用している端末に感染アプリがあるか否かは、ネットワーク接続をFireWall等で監視して、XcodeGhost で使われる既知の外部サーバとの通信を見つける方法があります。が、ネットワークに詳しくない一般ユーザーが誰でも試せる方法ではありません。
今回の XcodeGhost 事件については、アップルが認め対策に着手しており、アプリの提供元も少なくとも大手については、純正Xcodeでの再ビルドを始めています。しかし今回の感染が除去できたとしても、攻撃の経路としての開発者PCは、PCであるだけにアップルの管理が及ばず、守るのが非常に難しい弱点です。
App Store の審査はコードそのもののレビューと、悪質なアプリについては提供元を追放することで対応してきました。今回のように開発元すら気づかないうちにコードが改竄され、アプリ本来の挙動として外部への情報送信などがおこなわれる状況では、ひとつの開発者を追放しても根本から解決はできず、今後の App Store の安全性への課題が実例を以って示されたといえます。
[トップ画像のクレジットは: Flickr/Sinchen.Lin。汚染されていたWeChatのプロモイベント写真ですが、特に本文とは関係ありません]