現在位置: ホーム / セキュリティ ブログ / XcodeGhostについて

XcodeGhostについて

OSSではありませんが、重大な問題となっているためiOSアプリのセキュリティ問題に関して触れてみます。

こんにちは。SIOS OSSエバンジェリスト/セキュリティ担当の面です。

今回は、OSSではありませんが話題が大きくなっているため、iOSアプリに混入されたマルウェアのXcodeGhostについて簡単に触れてみます。

 


XcodeGhostとは

そもそもXcodeとは、iOS/OS Xアプリを開発するためのAppleオフィシャルの統合開発環境(IDE)です。

このXcodeは開発を行う際にApp Storeから無料でダウンロードしてインストールするようになっています。

このXcodeにマルウェアが混入されたバージョン(XcodeGhost)が、Baidu(中国)のクラウドファイル共有サービスにアップロードされていました。これを数名の中国の開発者がダウンロードして使用したために、その開発環境で開発したアプリケーションにマルウェアが仕込まれ、App Storeを用いて更に拡散されるという結果となりました。

拡散元が中国のBaiduであったため、特に中国の開発者が関係しているアプリケーションが感染しています。その中でも、チャットサービスとして日本でも有名なWeChatが感染していたことから、一般的に騒がれるようなニュースとなっています


XcodeGhostに感染したアプリの動作

XcodeGhostに感染したiOSアプリは、デバイス(つまりiPhone)上の情報を収集して暗号化し、インターネット上にある他のC&CサーバーにHTTPプロトコルを用いて送信します。

この収集対象となっている情報には、下記のものが含まれています。

・現在時刻
・感染しているアプリの名前
・そのアプリのbundleIdentifier
・デバイスタイプ
・デバイス(つまりiPhone)の名前
・システム言語と国の設定
・デバイスのUUID(端末固有識別子)
・ネットワークタイプ

さらに、Palo Alto Networksによると、以下のような動作が行われると確認されているようです。

・ユーザ資格情報を集めるために、偽のアラートを出す
・特定のURLを開いた際にハイジャックを行う
・ユーザのクリップボード上のデータを盗聴する。これにより、ユーザがパスワード管理ツールなどからパスワードをコピーした場合に漏洩する可能性がある。

感染が確認されているアプリ

このリンクに、記事執筆時点(2015/09/18)で感染が確認されているアプリ/バージョンが公開されています。殆どのアプリは今回のマルウェアを取り除いたバージョンがアップデートとして公開されているため、iOSアプリのアップデートを行っていれば大丈夫です。情報が公開されていないアプリに関しては、念のためアンインストールしておくか、使用をしばらく差し控えておいたほうが良いと思われます。


対応方法と今回の教訓

今回騒動になったアプリの殆どは、最新バージョンで対応しているために、アプリの情報を確認し、最新バージョンが提供されているようであれば更新しておきましょう。また、今回の問題の情報がわからないアプリに関しては、可能であれば念の為削除しておいたほうが無難と思われます。

また、今回の教訓として、iPhoneにもどんどんアプリをインストールしてしまう傾向が有りますが、本当に自分のiPhoneに、そのアプリが必要なのかどうかを、再度考えて、不要なアプリは削除しておくなどを考えるべきです。これにより、感染のリスクを減らすことが出来ます。これは昔ながらのPC/サーバ系では原則だったのですが、iPhoneも小さいPC端末ですので、同じ原則が適用されるということになります。

[参考]
Palo Alto Networks

追加情報(2015/09/24)

XCodeGhostの手法ですが、過去にCIAで行われた類似の研究と似ているという情報も上がっています。

すでにApple社により AppStore に上がっているアプリの調査が行われ、感染しているアプリケーションはダウンロードできないようになっています。

また、騒ぎが大きくなっているため、今後は類似犯やデマなども増えてくると思われます。何か情報を入手した場合には、出来る限りメーカーの発表を待つか、一時情報源を確認しましょう。


追加情報2(2015/09/24)

XCodeGhostの手法と同様の手法で、iOSやAndroid、Windowsのゲームなどのアプリ開発キットであるUnityにも「UnityGhost」とよばれるマルウェアが仕込まれていたという情報も出てきています。こちらも引き続き、注意が必要と思われます。

OSSよろず相談室

サイオスOSSよろず相談室(2)

問い合わせボタン

最新の記事
linux kernelの脆弱性( CVE-2017-7261 ) 2017年03月25日
Sambaに共有以外のファイルにアクセスされる脆弱性(CVE-2017-2619) 2017年03月24日
Subscription-managerの脆弱性( CVE-2017-2663 ) 2017年03月22日
binutilsに複数の脆弱性( CVE-2017-6965, CVE-2017-6966, CVE-2017-6969, CVE-2017-7209 , CVE-2017-7210 , CVE-2017-7223, CVE-2017-7224, CVE-2017-7225, CVE-2017-7226, CVE-2017-7227 ) 2017年03月22日
linux kernelの脆弱性( CVE-2017-7187 ) 2017年03月21日
linux kernelの脆弱性( CVE-2017-6353 , CVE-2017-5986 ) 2017年03月21日
Ubuntu 16.10のkernelの脆弱性( CVE-2017-7184 ) 2017年03月20日
pcreの脆弱性( CVE-2017-7186 ) 2017年03月20日
binutilsの脆弱性( CVE-2017-6965 , CVE-2017-6966 , CVE-2017-6969 ) 2017年03月19日
MySQL(MariaDB) 5.5/5.6のmysql clientの脆弱性( Riddle : CVE-2017-3305 ) 2017年03月18日
linux kernelの脆弱性( CVE-2017-6951 ) 2017年03月17日
Apache Struts2の脆弱性 ( CVE-2017-5638 ) 2017年03月15日
linux kernelの脆弱性( CVE-2017-6874 ) 2017年03月15日
tomcatに情報漏えいの脆弱性( CVE-2016-8747 ) 2017年03月14日
QEMUの脆弱性( CVE-2016-9603 ) (Xen: XSA-211) 2017年03月14日
lxcの脆弱性(CVE-2017-5985) 2017年03月10日
wgetの脆弱性(CVE-2017-6508) 2017年03月08日
linux kernelに特権昇格の脆弱性( CVE-2017-2636 ) 2017年03月08日
( PoC ) linux kernel特権昇格脆弱性( CVE-2017-6074 ) の暫定回避策の確認 2017年03月06日
linux kernelの脆弱性( CVE-2016-9083 , CVE-2016-9084 ) 2017年03月03日
linux kernelに複数の脆弱性( CVE-2017-6345 , CVE-2017-6346 , CVE-2017-6347 , CVE-2017-6348 ) 2017年03月01日
Katello/Foremanによる運用管理 (Part4) 2017年02月28日
util-linux / coreutils の脆弱性(CVE-2017-2616) 2017年02月24日
linux kernelの脆弱性( CVE-2017-6214 ) 2017年02月24日
linux kernelに特権昇格の脆弱性( CVE-2017-6074 ) 2017年02月23日
curlの脆弱性 ( CVE-2017-2629 ) 2017年02月22日
QEMUの脆弱性( CVE-2017-2620 ) (Xen: XSA-209) 2017年02月22日
Tomcatの脆弱性 ( CVE-2017-6056 ) 2017年02月21日
Katello/Foremanによる運用管理 (Part3) 2017年02月21日
OpenSSLの脆弱性 ( CVE-2017-3733 ) 2017年02月16日
linux kernelの脆弱性( CVE-2017-6001 , (was CVE-2016-6786) ) 2017年02月16日
QEMUの脆弱性( CVE-2017-2630 ) 2017年02月15日
glibcの脆弱性(CVE-2015-8982, CVE-2015-8983, CVE-2015-8984) 2017年02月15日
vimの脆弱性 ( CVE-2017-5953 ) 2017年02月14日
Oracle Javaの脆弱性(Oracle Critical Patch Update Advisory - January 2017) 2017年02月14日
libxml2の脆弱性(CVE-2017-5969) 2017年02月13日
「linux kernel-4.9」でのLSMモジュールについて 2017年02月13日
linux kernelの脆弱性( CVE-2017-5970 ) 2017年02月13日
linux kernelの脆弱性( CVE-2016-8636 ) 2017年02月12日
bind 9 に設定依存の脆弱性 ( CVE-2017-3135 ) 2017年02月09日
bashの自動補完機能の脆弱性( CVE-2017-5932 ) 2017年02月08日
spiceの脆弱性( CVE-2016-9577 , CVE-2016-9578 ) 2017年02月08日
QEMUの脆弱性( CVE-2017-5898 ) 2017年02月08日
linux kernelの脆弱性( CVE-2017-5897 ) 2017年02月08日
linux kernelの脆弱性( CVE-2016-10208 ) 2017年02月06日
ntfs-3gの脆弱性(CVE-2017-0358) 2017年02月02日
QEMUの脆弱性( CVE-2017-2615 ) 2017年02月02日
tcpdumpに複数の脆弱性(CVE-2016-7922 等) 2017年01月30日
libgdに複数の脆弱性情報 (CVE-2016-9317, CVE-2016-6912, CVE-2016-10167, CVE-2016-10168, CVE-2016-10169) 2017年01月29日
OpenSSLに複数の脆弱性 ( CVE-2017-3730 , CVE-2017-3731 , CVE-2017-3732 ) 2017年01月27日
RunCに関しての脆弱性( CVE-2016-9962 )のPoCとSELinuxによるリスクの軽減 2017年01月26日
systemdの重要な脆弱性( CVE-2016-10156 ) 2017年01月25日
linux kernelの複数の脆弱性( CVE-2016-10153, CVE-2016-10154, CVE-2017-5547, CVE-2017-5548, CVE-2017-5549, CVE-2017-5550, CVE-2017-5551) 2017年01月25日
Katello/Foremanによる運用管理 (Part2) 2017年01月24日
linux kernel(KVMを有効にしている場合)で複数の脆弱性( CVE-2016-10150, CVE-2017-2583 ) 2017年01月21日
OpenSCAP 1.2.13のリリース情報 2017年01月16日
Oracle Javaの脆弱性(CVE-2016-5542, CVE-2016-5554, CVE-2016-5582, CVE-2016-5597, CVE-2016-5573) 2017年01月13日
bind に複数の脆弱性 ( CVE-2016-9131 , CVE-2016-9147 , CVE-2016-9444 , CVE-2016-9778 ) 2017年01月12日
Dockerに特権昇格の脆弱性 ( CVE-2016-9962 ) 2017年01月11日
GnuTLS の 脆弱性 (GNUTLS-SA-2017-1 : CVE-2017-5334 , GNUTLS-SA-2017-2 : CVE-2017-5335 , CVE-2017-5336 , CVE-2017-5337 ) 2017年01月11日
最新の記事 - もっと...