Appleのコードレビューでも発見されない、マルウェアに感染したiOSアプリを生成するXcodeの改造版が見つかったそうだ(
Palo Alto Networksの記事[1]、
[2]、
Neowinの記事、
Softpediaの記事)。
「XcodeGhost」と名付けられたXcodeの改造版は中国のiOS開発者によって発見され、Palo Alto Networksが詳細を確認した。XcodeGhostは悪意のあるコードを仕込んだMach-OオブジェクトファイルをXcodeに追加し、XcodeのインストーラーにリパッケージしてBaiduのファイル共有サービスにアップロードされていたという。Palo Alto Networksの報告を受けて、BaiduではXcodeGhostを削除している。Xcodeのインストーラーは3GB近くあり、中国ではAppleのサーバーへの接続速度が遅いため、他のソースからのダウンロードがよく行われているそうだ。
悪意のあるコードが仕込まれているのはCoreServices用のオブジェクトファイル。XcodeGhostでiOSアプリをコンパイルすると、開発者に知られることなく悪意のあるCoreServicesファイルが追加される。悪意のあるコードに感染したiOSアプリは実行時にシステムやアプリの情報を収集してC&Cサーバーに送信する。また、ユーザーの認証情報をだまし取るために偽のアラートダイアログを表示するほか、特定のURLを乗っ取ってiOSやiOSアプリの脆弱性を攻撃したり、クリップボードのデータを読み書きしたりすることも可能だという。
感染したiOSアプリはAppleのコードレビューでも発見されず、
少なくとも39本がApp Storeで公開されていたという。多くは中国向けのアプリだが、インスタントメッセンジャー「WeChat」のように中国以外でも使われているアプリも含まれる。このほか、「Mercury」「WinZip」「Musical.ly」といったアプリもリストアップされている。なお、WeChatに関しては、既に悪意のあるコードを除去した更新版に差し替えられているとのことだ。
なお、XcodeGhostは正規のXcodeに悪意のあるオブジェクトファイルを追加しただけのものだ。そのため、マルウェアが直接Xcodeのディレクトリーにオブジェクトファイルをドロップする可能性もある。悪意のあるコードはAppleのコードレビューを通るほど深く隠されているため、ユーザーや開発者が感染したアプリを識別することは困難だ。アプリ開発者は常にAppleから直接入手したXcodeを使用するだけでなく、怪しいファイルが追加されていないか定期的に確認する必要があるとのことだ。