最近の2つのセキュリティインシデント、WireLurkerとMasque Attackは、iOSにマルウェアを潜入させることの容易さと難しさを浮き彫りにしました。しかし同時に、Appleがユーザーを幼児化させ、真のセキュリティ上の欠陥に直面した際に適切な選択をできないように仕向けている可能性も示しています。
WireLurkerは、中国向けのサードパーティ製アプリストアで入手可能なMac OS Xプログラムにマルウェアを仕込み、USB経由でiOSデバイスにアプリをインストールしていました。ジェイルブレイクされたデバイスと通常のデバイスの両方にアプリを追加していました。Masque Attackの最も強力な手口は、ウェブサイト、メールなどからアプリをプッシュすることです。インストールされると、Gmailなどの人気アプリが上書きされ、そのアプリのキャッシュデータが抽出されます。WireLurkerは事実上、牙を抜かれました。AppleはMasque Attackの脅威を排除するために、さらなる取り組みを行う必要があります。
しかし、それぞれの具体的な欠陥を超えて、iOSとMac OS Xがアプリのセキュリティに関して異なる道を歩んできたことを示しています。Appleは、部分的には歴史に根ざした二重人格を持っています。
2つのアプローチ
Appleは当初、iOSでサードパーティ製アプリを許可する予定はなく、マーケットプレイスを開放した際には、マルウェアの蔓延を防ぎ、OSをクラッシュさせたりモバイルデータを浪費したりするような粗悪なソフトウェアを排除したいと考えていました。また、アプリやデジタル商品の金銭の流れをコントロールできるプラットフォームも求めていました。長年にわたる苦情にもかかわらず、Appleはそれを維持しており、Apple自身も擁護者も、厳格な管理を維持する主な理由としてセキュリティを挙げています。
Apple は Mac App Store に掲載されるものを厳しく管理しているが、少なくとも金銭的価値で言えば、ほとんどのソフトウェアは依然としてストア外から来ている。
対照的に、OS Xは30年前に誕生し、プロセッサ、アーキテクチャ、カーネルの変更を経て、誰でも外部からの許可なしに動作するソフトウェアを作成できるという概念を基盤として成熟してきました。Mac App Storeが初めて登場した際、Appleがそれを単なる選択肢から唯一の配布方法へと移行してしまうのではないかという懸念は当然ありました。しかし、今のところそのような事態は起きていません。その理由の一つは、Macで使用されているソフトウェアの大半が、金額ベースで見るとApp Store以外のソフトウェアから提供されていることにあります。
しかし、OS Xのオープンな性質とApp Store以外で入手可能なソフトウェアの広範な入手性にもかかわらず、多くの深刻な欠陥やマルウェアが実際に発見されているにもかかわらず、Macやそのソフトウェアを乗っ取るためのウイルス的に拡散されたり、広く悪用されたりした方法は存在しません。システム設計だけが唯一の解決策ではありません。Appleは良い決断を下してきましたが、必ずしも素晴らしい決断だったわけではありません。市場シェアや、大量のメール送信やメールの添付ファイルの自動実行をトリガーするメカニズムの欠如が、より大きな要因となっている可能性があります。
直感に反するゲートキーパー
Appleは、平均的なiOSユーザーほど洗練されていないMacユーザーを信頼しているようだ。Macユーザーは、Mountain Lionで追加された階層的なアプローチ、Gatekeeper(セキュリティ環境設定の一般タブの一部)を使って、あらゆるソフトウェアを起動できる。Gatekeeperは、ユーザー、またはユーザーのためにシステムを設定する人が、OS Xで起動できるアプリの種類を制御する3つのオプションから選択できるようにする。Mac App Storeからのアプリのみ、App Storeと特定開発者(Apple Developer認証情報を使用してアプリに署名した開発者)からのアプリのみ、そして「すべてのアプリ」だ。iOSにはこれと直接対応するものがない。
システム環境設定 > セキュリティの Gatekeeper オプション。
デフォルトの設定では、App Store と署名済みアプリが許可され、署名されていないアプリを開くための、よく文書化されているもののユーザーフレンドリーではない方法と表示が提供されます。「開発元が不明」のアプリをダブルクリックすると、開けないことを通知するダイアログが表示されますが、アプリを Control キーを押しながらクリックして「開く」項目を選択すると、セキュリティを回避できます。この微妙な仕組みは、ほとんどのユーザーには理解できないでしょう。(署名済みアプリであっても、改ざんされたり、開発者証明書が失効したりしている場合は、この方法ではインストールできません。)
Mac App Store 以外から入手したアプリ(この OmniFocus など)が署名されている場合は、このダイアログから「開く」をクリックできます。署名されていない場合は、アプリを Control キーを押しながらクリックし、コンテキストメニューから「開く」を選択する必要があります。
友人のケリー・ヒックス(ベアボーンズ創業者リッチ・シーゲルの配偶者)が最近、ある大学のウェブマネージャーをしていると教えてくれました。彼女はチームのメンバーから、ゲートキーパーのダイアログを見て困惑し、専門家である彼女に相談に来るそうです。ゲートキーパーのバイパスは直感的ではなく、一般ユーザーにバイパス方法を教えるのは難しいからです。私は署名のないアプリをめったに開きませんが、ケリーによると、彼女の分野では署名のないアプリはよくあるそうです。彼女の分野は無料、オープンソース、その他様々な形式のソフトウェアを扱うため、開発者はデジタル署名を付与してもらうために時間をかけたり、年間99ドルを支払ったり、Appleの面倒な手続きを踏んだりしたくないかもしれません。
iOSにも回避策はありますが、非常に限定的です。Appleは、一般開発者がアプリのテスト版を「アドホック」リリースとして、開発者アカウントに登録されている最大100台のデバイスに配布することを許可しています。年間299ドルを支払うエンタープライズユーザーは、Appleのプロセスを完全に遮断してアプリを配布できますが、その配布はアカウントを持つ企業の従業員に限定されるはずです。(ソフトウェアテストのもう1つの選択肢であるTestFlightは現在Appleが所有していますが、リリースの配布はAppleが行っています。)
アドホックアプリは、デバイス固有の制限があるため、非常に特殊な攻撃以外では実環境で発見されることはほとんどありません。iOSデバイスのUUIDがないと、アドホック証明書で署名されたアプリはインストールできません。エンタープライズ署名アプリはWireLurkerで使用され、Masque Attackの脅威の大部分を占めていますが、「スピアフィッシング」(高度に標的を絞った攻撃)でもアドホックプロビジョニングが利用される可能性があります。
しかし、どちらの場合も、ダウンロード時またはインストール時に、そのようなアプリはユーザーによる承認を必要とします。承認には1~2ステップの手順が必要で、表示される情報はほとんどなく、検証も行われていないプロンプトで「インストール」または「信頼」をタップするだけです。悪意のある開発者は、「New Flappy Bird」をインストールすると主張し、実際にはApple以外のアプリを上書きしてしまう可能性があります。(Appleはあらゆるエンタープライズ証明書を一元的に失効させることができるため、WireLurkerは機能を停止し、Masque Attack(マスクアタック)の実行は極めて困難になっています。不正または乗っ取られたエンタープライズ開発者アカウントは、一度発見されれば証明書とともに無効化されてしまうからです。)
ユーザーは賢い選択をするために助けを必要としている
いよいよ核心です。Mac OS Xは任意のアプリをインストールでき、蔓延するマルウェアへの耐性を備え、Appleの規制への準拠度合いに応じてセキュリティを選択的に設定できるパスを提供しています。しかし、ほとんどのユーザーは、Gatekeeperを完全に無効化しない限り、署名のないアプリをインストールするには説明が必要です。これは推奨されません。iOSはApp Storeにないアプリのインストールを拒否しますが、予期せぬプロンプトが表示された場合に適切な選択を行うための情報を、初心者ユーザーにほとんど提供していないようです。
AppleがTestFlightを買収した後、一部の開発者はiOS向けのアドホックソフトウェアの配布にHockey Appを採用しました。これらのアドホックアプリを必要とする人は多くありませんが、認証とインストールのプロセスが複雑になることがあります。
Appleは、アプリの意図やユーザーを損なうことなく、アプリのセキュリティを一度に強化したり緩めたりできるようです。アドホックアプリやエンタープライズアプリをインストールする必要のあるユーザーは比較的少ないため、iOSではより明確なガイダンスを提供するべきです。そして、追加のセキュリティハードルを越えることなく、そうしたインストールを無効にする方法も提供すべきでしょう。同様に、OS Xでは、必要に応じてGatekeeperを突破する方法をより簡単に、あるいは少なくともより明確に説明できるはずです。
しかし、OS Xとこれら2つのマルウェア攻撃の経験は、iOSの規制を緩める上でも指針となるはずです。これら2つのエクスプロイトは、エンタープライズ証明書の取得の難しさと、Appleがそのような暗号化文書を失効させやすいという理由により、完全に阻止されています。iOSをクラックし、検証済みの情報を持つ署名済みアプリのみにGatekeeperオプションを追加し、インストールと起動にユーザーの承認を求めるようにすれば、Appleはマルウェアを迅速に阻止する手段を得ることになるでしょう。
Apple が iOS に対する厳格な管理を放棄する可能性は低いが、皮肉なことに、マルウェアによって OS X がいかに整合性を管理しているか、そして iOS がいかに簡単に拡張されてユーザーと開発者の両方に利益をもたらすかが明らかになった。
グレン・フライシュマンは、The Magazineの編集者兼発行人であり、Boing BoingとEconomistの定期寄稿者、そしてMacworldのシニア寄稿者でもあります。彼は現在、Macworldの寄稿者数名によるストーリーを収録したアンソロジーのクラウドファンディングを行っています。