
昨年、AppleがキュレーションしたMac App Storeが登場しました。これはiOS App Storeによく似ています。多くの人が疑問に思いました。Appleが承認していないアプリが実行できない、ロックダウンされたMac OS Xのバージョンが、近い将来登場するのではないかと。
Appleは、今年の夏にリリース予定のMac OS Xのアップデート「Mountain Lion」で、確かに同様のことを実行できたはずです。しかし、そうはしませんでした。代わりに、開発者が自分の作品に署名するための新しい方法と、「セキュリティとプライバシー」環境設定パネルに新しいオプションを追加しました。Appleによると、これはすべてMacのセキュリティを向上させるための試みだそうです。新しいGatekeeper機能の仕組みは以下のとおりです。
初回起動前に確認する

少なくともバージョン10.5以降、OS Xには「ファイル隔離」と呼ばれる機能があり、アプリを初めて実行する前にチェックします。この機能は、アプリをダウンロードして初めて実行するときによく使用されます。インターネットからダウンロードしたファイルであることを通知するダイアログボックスが表示され、本当に実行してもよいか確認を求められます。(この機能は、ウェブブラウザやメールクライアントなど、特定のアプリでダウンロードするファイルに対してのみ機能します。USBドライブやネットワークボリュームからコピーされたファイルはチェックされません。)
Gatekeeperはこれと同じ機能を利用しています。Mountain Lionでは、アプリの初回起動時に許可を求めるだけでなく、セキュリティ設定をチェックして、どのようなアプリの起動が許可されているかを確認します。「セキュリティとプライバシー」環境設定の「一般」タブにある「ダウンロードしたアプリケーションの実行許可」という設定には、以下の3つのオプションがあります。
どこでも: この選択肢は、Mac OS X の以前のすべてのバージョンと同じ一連のルールを使用します。アプリが既知のマルウェアではなく、承認された場合は、アプリが開きます。
Mac App Store : この選択肢を選択すると、Mac App Store からダウンロードされていないアプリは起動時に拒否されます。
Mac App Storeと確認済みの開発元:これはMountain Lionの新しいデフォルト設定です。Mac App Storeアプリに加えて、確認済みの開発元によって署名されたサードパーティ製アプリも実行できるようになります。
特定された開発者
では、「識別された開発者」とは何でしょうか?基本的には、Appleに開発者登録し、個人用の証明書を受け取った開発者のことです。開発者は、その証明書を使用してアプリに暗号署名することができます。このようなアプリには、2つの重要な特徴があります。Appleは開発者を特定でき、Mountain Lionは開発者の手から離れた後に改ざんされていないかどうかを検出できます。
最初の部分は重要です。Appleによると、特定の開発者がマルウェアを配布していることが判明した場合、Appleはその開発者のライセンスを取り消し、ブラックリストに追加する権限を持つからです。Mountain Lionは、ブラックリストが更新されていないかどうかを1日に1回確認します。開発者がブラックリストに掲載されている場合、Mountain Lionはその開発者が署名したアプリの実行を許可しません。
このシステムを使ってアプリを起動しようとすると、MacはAppleのサーバーに問い合わせて、開発者の署名が最新かどうかを確認します。しかし、これは以前にインストールされたマルウェアが完全に削除されるという意味ではないようです。なぜなら、アプリがファイル検疫を通過して初めて正常に起動すると、基本的にAppleのスクリーニングシステムを逃れたことになるからです。
Mountain Lionが署名後に改変されたアプリを検出できるという事実は重要です。Macを標的としたマルウェアはそれほど多くありませんが、実際に存在するマルウェアの多くは、正規アプリにマルウェアを仕込むように改変され、海賊版サイトで再配布されているからです。この新しいモデルでは、アプリが改ざんされると起動できなくなります。
Apple が App Store 審査プロセスの一環としてアプリを厳しく審査していることを考えると、「特定開発者」プログラムが何を行わないかを知っておくことは重要です。
これは開発者の身元調査ではありません。開発者証明書の取得は、パスポートや運転免許証の取得とは違います。開発者はアカウントを登録して証明書を取得するだけです。それだけです。さらに、これらのアプリにはAppleの承認シールが貼られていません。Appleは承認シールを一切確認しません。開発者はアプリに署名する前にAppleに確認する必要もありません。Appleは、開発者がマルウェアを配布していると判断した場合、後から証明書を取り消すことができる証明書を提供する以外、一切関与していません。
ゲートキーパーの限界
Mountain Lion であらゆるアプリを実行したい場合は、設定を「Anywhere」に変更するだけです。(この設定を変更するには、管理者のユーザー名とパスワードを入力する必要があります。)
Gatekeeperの無効化も非常に簡単です。Finderでアプリを右クリックし、「開く」を選択すると、別のダイアログボックスが表示されます。このダイアログボックスでも、問題となっているアプリを開くかどうか尋ねられます。「開く」を選択すると、アプリは通常通り起動し、それで終わりです。
最後に、Gatekeeperはファイル隔離システムを使用しているため、アプリを初めて起動した時のみ機能し、その場合でも、ウェブブラウザやメールプログラムなど、Mac上のアプリからダウンロードされた場合にのみ機能します。また、アプリが一度起動されると、Gatekeeperの対象外となります。
これに「開く」コマンドを使ってGatekeeperを簡単に無効化できる点を合わせると、Mountain LionのGatekeeperが高セキュリティのアプリロックダウンを目的としたものではないことは明らかです。これは単に、ユーザーが信頼できないソフトウェアを実行しないように促すためのツールです。ユーザーが本当に、本当にアプリを実行したいのであれば、Mountain Lionはそれを止めることはできません。
[ Jason Snell は Macworld の編集ディレクターです。 ]