XcodeGhost、Appleのコードレビューでも発見されないマルウェア感染iOSアプリを生成 67
ストーリー by headless
巧妙 部門より
巧妙 部門より
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を使用するだけでなく、怪しいファイルが追加されていないか定期的に確認する必要があるとのことだ。
「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を使用するだけでなく、怪しいファイルが追加されていないか定期的に確認する必要があるとのことだ。
リアルな (スコア:3, すばらしい洞察)
Thompson hack(もどき)というかなんというか...
こーいう問題もあるから、中国の回線速度(ひいては金
的盾でのアクセス制御?)も問題だよなぁ...M-FalconSky (暑いか寒い)
面倒くせぇ時代になったね (スコア:1)
最近の IT って、利便性優先でリスク回避を疎かにしてませんかねぇ
他にない便利な機能を開発すれば利益になるんだろうけど
クラッキング対策は経験や洞察や地味だけど確かな技術力が必要なのに
利益一辺倒でリリースしちゃうからボロボロのアプリが増えてるような気がします
まぁそれでもAppleの関門があるからある程度は洗練されるんだろうけど
それでも被害を受けるのは利用者で、だからといってAppleは保証なんかしねぇんだろうし・・
アプリ作っている連中はそれなりに大変なんだろうけど、ユーザーの利益を損ねると次が無いから
それなりに頑張って作って下さいな
Re:面倒くせぇ時代になったね (スコア:2, 参考になる)
こんな意見もある [blogspot.jp]し、利便性優先によるリスクは結構深刻。
Re:面倒くせぇ時代になったね (スコア:1)
「かんたんログイン」とかも含めて過去に何度も出てる話題ですな
Re: (スコア:0)
一般人はセキュリティソフト入れてリスクを下げるんだろうけど、iOSのセキュリティソフトは果たしてどのくらい出てるんだろうかと思う。MacとWindowsの場合と同じで、Androidに比べると存在感無い。
この前ヨドバシでAndroinタブレット買った時は抱き合わせのセキュリティソフト買ったけど、3年で3600円ぐらいと割安に感じた。確か、1個で2台か3台まで行けたし。
Re:面倒くせぇ時代になったね (スコア:1)
iOSのセキュリティソフトはAppleが開発禁止しているので存在しません。逆らうと開発者アカウントごとBANされます。iOSは安全だからそんなもの必要ないのです(棒
Re:面倒くせぇ時代になったね (スコア:2)
いちおう無いわけではない [apple.com]ようです。
CPU100%持っていかれると嫌なのでわたしは使ったことはないですけど。
Re:面倒くせぇ時代になったね (スコア:3)
常駐アプリはiOSにはないですし、アプリごとに隔離されてるんだからただの飾りですよ。iOS版もありますよ、とベンダが誰かに説明するためだけのものです。
接続先を監視して遮断とか、ローカルの他アプリを覗いてスキャンとか、そういう動作はiOSでは認められません。やりたければJailbreakが必要になります。
Re:面倒くせぇ時代になったね (スコア:1)
Androidみたいな「入れたアプリを検査するツール」については通用する理屈だけど、
「iOS端末でマルウェア入り文書ファイルを受け取ってメールで転送」みたいな、
感染する側じゃなくて媒介するケースまで考えると無意味な主張なんですよね…
Re: (スコア:0)
禁止しているの?
単にファイルシステムにアクセスできないから、作れない(作っても意味がない、チェック出来るのが自分が作ったファイルのみとか?)のかも?
Androidでもルート取れないから、実際に触れるファイルに限りがあり、全てをチェックできないですけどね。
もちろんルートとってしまえば可能だろうけど、それはGoogleが許可してくれないんじゃなかってっけ?
Re:面倒くせぇ時代になったね (スコア:1)
明示的に禁止されています。さらに言うとAppleがマルウェアと認めた物以外をマルウェアと発表することも事実上できません。
http://security.srad.jp/comments.pl?sid=559373&cid=2093681 [security.srad.jp]
Re: (スコア:0)
選択肢が増えて自由度が高まったということさね
そりゃ面倒にもなるよ。
面倒なことは他人に任せるのが一番効率いいんだが、
自己責任教の人はそれもできないから大変だ。
Appleのコードレビュー (スコア:1)
そもそも大したことなかったんじゃないの?
GoogleやMSと比べるとAppleは技術的に格下な印象
Re:Appleのコードレビュー (スコア:2, 興味深い)
ここで言うコードレビューはストア掲載条件の方のやつで、
「レビューを通過しないと掲載されないからiOSアプリは安全だ」
みたいな主張(≠事実)の根拠になってた手続きのことです。
MSのほうは知りませんが、Googleはコレに該当する手続きはありません。
ただ、前々からコードレビューの実効性は疑問視されていたので、
レビュー回避自体は今更な話題ですね。
(テザリング禁止の頃にこっそりテザリング機能の有るアプリが掲載されたり、
電話帳を無断で盗むアプリや実は実質エロゲーになってるアプリが掲載されたり、
レビュー回避の意志すらない不安定なだけのアプリが品質チェック通過してたり)
この件で真新しいのは、機械的な手順でレビューをすり抜けられてしまった事と、
開発者を標的にした偽開発環境経由のマルウェアであることあたりですかね。
Re: (スコア:0)
Googleも機械的な検査はやってたと思うけど。それで安全だとか主張していないだけで。
Re: (スコア:0)
AppleStoreってコード提出必要なんですか?
Re:Appleのコードレビュー (スコア:4, おもしろおかしい)
App Storeはともかく(それもソースの提出ではない)、
Apple Storeにコードの提出義務はありません。売りたいのが電源コードとかでない限り。
Re: (スコア:0)
エロゲーはだめだけど、実質エロゲーは大目に見ろよ
Re:Appleのコードレビュー (スコア:1)
コードレビューなんてしてたの?
コードが不味くてリジェクトされたとかなかったのでやってないものかと。
明確にバグってて落ちるコードでも全然問題なかったりしますしね。
#提出後に発覚して直してる最中にレビュー通過w
名前が気に入らないとか広告の出方が気に入らないとかそういうチェックはしっかりしてましたがね
Re: (スコア:0)
結局は見た目が全ての企業だからね
Re:Appleのコードレビュー (スコア:1)
Appleの審査って、Appleの方針に沿わないアプリを排除するためであって、トロイの木馬でないことをAppleが保証する仕組みではないと思ってたんだけど。違うのか?
もちろん、セキュリティ上問題のあるアプリはAppleの方針にそぐわないだろうから、全くチェックしてないわけではないだろうけど。どういう方針のもとで、どこまでやってるんですかねぇ。
1を聞いて0を知れ!
Re: (スコア:0)
実験的にゴニョゴニョしたコードを審査に出したことありますけど通りましたし、そんなもんだと思いますよ
Re: (スコア:0)
マネタイズに関係する点はやたら細かかったり‥
平たく言うと? (スコア:1)
非正規な場所からXcodeダウンロードしたら、ビルドしたアプリに自動的にマルウェアが組み込まれて、Appleも審査で発見できてなかった。
こういこと?
トロイの木馬はMac名物だね。
Re: (スコア:0)
正規なXcodeも別のマルウェアに改竄されてないか気を付けろ。
ということみたい。
報道がないなぁ (スコア:1)
日本現在進行形で脅威に晒されてる人沢山いるのに
新型発売間際だからスポンサー気にして自粛中?
Re:報道がないなぁ (スコア:2)
報道したところで業界人以外にはほとんど誰にも利益がないんじゃないでしょうか。一般人は混乱するだけでしょう。
怪しいファイル (スコア:1)
そもそも (スコア:0)
なぜApple以外から入手したXcodeを使うの?
馬鹿なの?
まあiPhone使っていない俺からしたら対岸の火事だが、Android Studioも同様な現状だったら、中国製アプリはできないってことだな。
Re: (スコア:0)
コメントするなら記事を最初から最後まで読んでからにすれば?
署名は? なぜ国内にサーバーを置かない? (スコア:0)
開発者が一番の阿呆ですが、AppleもなぜXCodeに署名して検証しない?
インストーラーにリパッケージしてばれないのはおかしいでしょう。
なぜ中国かそれなりに近い国にサーバーを置かない?
こんな事ができるなら何のためにXCodeに限定する?
二番目に阿呆なのはAppleですね。
Re: (スコア:0)
なんでAppleがXCodeに署名してないと思ったの?
Re: (スコア:0)
署名されて検証されているなら、
「このXCodeには未署名のファイルが含まれています。あなたがインストールしたものですか。」と警告されたり、
インストールの段階でAppleによって署名していない事にすぐに気づくからです。
署名していなくとも警告されず、不正に改造されていても気付かない事があり得るでは(ストーリー参照)検証されているとは言えません。
Re:署名は? なぜ国内にサーバーを置かない? (スコア:2)
Appleが配布するものは署名等適切にされていても、妙なライブラリを組み合せて自称Xcodeのインストーラを構築し怪しげな認証局の妙な署名を付けて配れば十分な人がだまされる気がします。
署名済みアイコンは出ていても、それをわざわざクリックして署名を確認する人ばかりではないし
開発ツールやユーティリティなんか入れるような人はGatekeeperを切ってる可能性が高い(特にあの国だし)ので。
#最近のシステム/インストーラには触れていないので警告表示なんかは状況が違うかもしれません
Re: (スコア:0)
なんで中国のユーザーが警告を無視したり警告を回避する設定にしていないと思ったの?
Re:署名は? なぜ国内にサーバーを置かない? (スコア:1)
なぜなら、
Appleのサーバーへの接続速度が遅いため、他のソースからのダウンロード
であって、不正なアドインを利用した開発者によってマルウェアが普及したとか、構築済みのバージョンを利用して問題が発生したとかではないからです。
さらに言えばAppleはiPhoneアプリにXCodeを利用したものしか認めていないわけですから、そもそも警告を回避や無視できる時点でおかしいわけです。
適切な署名・検証あるいは十分強力なハッシュによる検証がなされているならどのような経路を用いても問題になりません。
アップデータをbittorrentで配布するゲームやディストリビューションもありますし、Windows Updateでもそのような技術が最近適用されました。
今回の件では被害を受けるのは開発者は二次的で第一にはユーザーなのですからそれなりに性悪説で設計する必要がある訳です。それはそこまで難しい話ではありません。
Re:署名は? なぜ国内にサーバーを置かない? (スコア:1)
さらに言えばAppleはiPhoneアプリにXCodeを利用したものしか認めていないわけですから、そもそも警告を回避や無視できる時点でおかしいわけです。
ここ、XCodeのパッケージの署名とXCode(またはそのクローン)で作成したアプリへの署名の話がごっちゃになってませんか?
XCode自体はiPhoneアプリじゃないので「警告の回避」はiPhoneにインストールするときの話ではありません。
XcodeGhostは純正XCodeにモジュールをこっそり追加したもののようなので、作成されるパッケージにつく署名は純正品と同等だと思われます。
かといってたとえばモジュールを追加すると署名がつかないような仕組みにすると、まっとうなサードパーティーのミドルウェアやライブラリまで使えなくなってしまいます。
うじゃうじゃ
Re:署名は? なぜ国内にサーバーを置かない? (スコア:1)
「XCodeのインストール時に警告を無視してるのでは?」というコメントからの流れです。
そこで無視すると、アプリ作成時に「インストール時にパッケージにこっそり含まれていたもの」と「あとから自分の意思で追加したライブラリ」を区別する方法はなさそうですよね。
うじゃうじゃ
Re: (スコア:0)
> 他のソースからのダウンロード
したバイナリにこっそり不正なコードが混入されていたと書いているのですが。それをGatekeeperが止められなかったということは、ダウンロードしたユーザーが警告を無視したか無効にしていたということにほかなりません。
> AppleはiPhoneアプリにXCodeを利用したものしか認めていないわけですから、
Appleのコードレビューで検出できなかったと書いているのですが。あとまさかとは思いますが、iOSアプリはiOS上でセルフ開発するのだと思っていませんか?
デタラメな妄想ふくらませる前にせめてタレコミくらい読まれてはいかがですか?
Re: (スコア:0)
何を言ってるんでしょうか。
開発者は正規のものと同等だと思ったからそのXCodeで開発したわけです。
いいですか。そんなに難しい話はしてません。
適切に署名が機能している場合。
XCode本体に手を加えられていたら警告される訳です。そこでXCodeに手を加えられていたと気付く。どんなアホでもその時に利用をやめるでしょう。
さらに何かのファイルが加えられていた場合。XCode本体なりOSがその旨を警告する。タレコミを読んでください。開発者はアドインを入れる手間を省くために別ソースから拾ったわけではない。よっておかしいと気付く。
ではなぜ気付かなかったのか
Re: (スコア:0)
> XCode自体に最低限の自己検証機能が備えられていれば相当手間をかけなければこういうことはできないわけです。
> それだけで防げたことだと私は思います。
ユーザの「とにかく俺は今ダウンロードしてきたこの(自称)XCodeが使いたいんだよ」という
意思がそんなんで防げるわけないでしょw
そんなアホなデベロッパーが存在するのが信じられないのかな。でも現実なんだなぁ。
Re: (スコア:0)
たぶんその前提認識がズレている。
開発さえできれば正規版でなくてもいいと思っている(ひょっとしたらXcodeですらなくてもいいと思ってるかも)開発者を想定しているからどんな警告だろうと無視された可能性を言っているんだよ。
Re: (スコア:0)
偽Xcodeを作成した人(あるいは組織)にはマルウェアを仕込みたいという「相当手間をかけて」でも
やりたい強烈な動機があったわけでしょ?
普通に考えればその手の警告はバイパスする様に手を加えられていると思いますが。
Re: (スコア:0)
> XCode本体に手を加えられていたら警告される訳です。そこでXCodeに手を加えられていたと気付く。どんなアホでもその時に利用をやめるでしょう。
だったらいいのにねぇ…
Re: (スコア:0)
ユーザーと言ってもアプリ開発者なんだからそのくらいはちゃんとして欲しいよね
最低限のアンチウィルス機能をビルトインで提供すべき (スコア:0)
最近のスマートフォンならそれくらいの余裕はある。
実際、BlackBerry Classic/Passport には BlackBerry Guardian
(トレンドマイクロベースのセキュリティ機能)がビルトインされている。
Re: (スコア:0)
iPhoneにもVirus Shield [gigazine.net]くらい安心感のあるアプリが欲しいですね。
Re: (スコア:0)
MS-IMEは安全ですよね。
Re:なぜ、中国でも開発している (スコア:1)
http://ascii.jp/elem/000/000/195/195021/ [ascii.jp]
そのデマいつまで信じてるんだ。
Re: (スコア:0)
IME チームのブログ
http://blogs.technet.com/b/ime/ [technet.com]
を発掘したのだが 3年前の日付で途絶えている...