97
プライベートI:App Storeの弱点と問題はすでに解決済み

パニックを煽るような見出しを書くのは世界で最も簡単です。しかし、何かがひどく間違っているが、それが起こる可能性は非常に低く、さらに低下し続けているという見出しを書くのははるかに困難です。先週発表された研究論文は、iOSおよびOSのApp Store承認ソフトウェアにおいて、アプリケーション内共有リソースを介してエクスプロイトが可能であることを示すもので、大きな注目を集めました。しかし、これを報道したメディアのほとんど(私たちも含め)は、ニュアンスを正しく捉えていました。

App Storeは侵害されておらず、インターネットで拡散するマルウェアがこれらの脆弱性を悪用する方法もありません。むしろ、ソフトウェアメーカーやAppleとの協議を含む長年の作業を経て、この論文が公開される前に脆弱性は大幅に軽減されていたようです。攻撃の媒介となり得る箇所を根絶するための、より綿密な対策が今後導入されるのは明らかです。

重大なセキュリティホールとなる可能性のある問題に対し、Appleが迅速かつ強力に対応してくれたのも嬉しいニュースです。この論文は水曜日に公開され、Appleはサーバー側の変更を行ったこと、そして研究者と協力してさらなる問題に取り組んでいることを確認しました。

アプリ購入者として何を気にすべきでしょうか?

どの欠陥とどのアプリ

要約すると、研究者らは4つのカテゴリーの深刻な脆弱性を発見しました。そのうち3つはMac App Storeで公開されているアプリにのみ影響し、4つ目の脆弱性はMacまたはiOS App Storeで公開されているマルウェアに悪用される可能性があります。攻撃者は、アプリを開発してAppleの承認を得た後、ユーザーにそのアプリを入手させる必要があります。

iOSユーザーはアプリの入手先を自由に選択できませんが、MacユーザーはApp Storeなどからアプリを入手できます。ベストセラーリストや、一部の大手開発者がMac App Storeから撤退、あるいは関心を失っていることを踏まえると、ダウンロードされるアプリのほとんどはAppleか、あるいは少数の有名企業によるものです。悪意のある開発者がユーザーにリーチするには、多くの条件が揃う必要があります。ハードルが高いため、犯罪者が試みる可能性は低いでしょう。ただし、特定のターゲットを念頭に置いて意図を隠蔽できれば、政府は試みるかもしれません。

4 つの脆弱性は、キーチェーンのパスワード エントリのスヌーピング、ユーザーが承認したコンジット (Evernote など) 経由でアプリに制限されているはずのアプリ固有のデータ ストレージの読み取り、ブラウザーとアプリ間の通信の傍受、および (iOS と OS X の両方において) アクセス トークンが含まれる可能性のある URL スキーマの乗っ取りに関連しています。

全てのエクスプロイトにはアプリの提出と承認が必要となるため、研究者らが悪意のあるアプリ間コンポーネントを含むアプリの提出と承認をテストした後、Appleは10月には審査プロセスを変更できたはずだ。(論文の著者らは、承認後直ちにこれらのアプリを削除した。)

Appleは、App Storeにあるすべてのアプリを、論文で言及されている特定の用途について再審査し、将来の承認に組み込むことも可能です。マルウェアが正当なユーザーとして登録され、他のアプリのエントリを読み取ることができるキーチェーンの脆弱性は、Appleが直接アプリをチェックできるはずですが、当然ながらシステムの再構築が必要になります。

同社が金曜日に発表した声明によると、同社はすでに1つの修正を実施済みとのことだ。「アプリデータを保護し、サンドボックス設定に問題のあるアプリをMac App Storeからブロックする、サーバー側アプリセキュリティアップデートを実装しました」。これは、前述の2つ目の脆弱性「コンテナクラッキング」に関連しており、これは、既に承認されている拡張機能であるかのように登録されたサブシステムによってアプリの個人データが盗まれる可能性があるというものだ。

URLスキーマの問題は単純明快で、アプリはOSに渡せる形式でURLスキーマを組み込む必要があります。Appleは両プラットフォームでこれを解析・テストできます。アプリはスキーマのリダイレクト先を制御することはできませんが(PinterestのFacebook認証リクエストでは、FacebookアプリのスキーマがFacebook側かマルウェア側かはわかりません)、リダイレクト元を特定することは可能です。開発者は不正を防ぐためにこの点に関するテストを実装できますが、Appleは両OSでこの必要性をなくすような変更を加える可能性があります。

研究者らは、一部のアプリは特定の選択によりすでに 1 つ以上のエクスプロイトに対して耐性があり、これらをベスト プラクティスや要件に変えることができることを発見しました。

他の人はアドバイスやツールで応答する

1Passwordの開発元であるAgileBitsは、論文で特に指摘されていますが、これは同社がミスを犯したからではなく、非常に便利なブラウザプラグインとの統合が原因です。研究者たちは、ユーザーが特定のウェブサイトで1Passwordを起動して値を入力する際に​​、App Storeのガイドラインで許可されているインターネットソケットを乗っ取り、パスワードなどのデータを読み取ることができることを発見しました。

1Password 5 Macアイコン

1Password の開発者である AgileBits は、このバグが悪用される(可能性は低いですが)事態に備えてユーザーが自分自身を守るためにできることについてブログに投稿しました。

AgileBitsは詳細なブログ記事で、この脆弱性が悪用される可能性のある状況が限られていることを説明し、具体的な回避策をいくつか示しました。具体的には、OS Xアプリの環境設定 > 一般で「1Password Miniを常に実行」にチェックを入れることを推奨しています。

そして月曜日、Facebookのセキュリティチームは、OS XとLinuxを監視するための開発者ツール「osquery」のアップデートをリリースしました。このツールには、3つの脆弱性に関連する変更をチェックする機能が追加されています。ただし、ソケットベースの通信は含まれていません。このツールは無料で、Facebookのコミュニティへの還元の一環であり、公開することでFacebookは一切の利益を得ていません(好意的な注目を集めること以外には)。ブログ記事では、セキュリティチームのエンジニアの1人が、組織がosqueryを活用して兆候のある変更を継続的に監視し、管理者に警告する方法を説明しています。

この研究論文に対する反応は非常に好意的でした。これは、研究者らがApple、AgileBits、その他の企業に数ヶ月にわたって事前に情報開示を行い、変更を実施し、問題の範囲を完全に把握できたことが一因です。Appleは金曜日、「追加の修正を進めており、研究者らと協力して論文の主張を調査中です」と述べました。

研究者、開発者、コミュニティ、そして影響を受ける関係者のこの相互作用は、特にゼロデイ脆弱性攻撃(瞬時に実行される可能性のある脆弱性)が発生した場合に、ほぼ完璧なケースと言えるでしょう。これが将来のセキュリティ問題のパターンとなることを願っています。