今回は「OS Xのマルウェア対策」について。あまり知られてはいないが、ふだん利用しているシステムの安全がどのように維持されているかを知ることも大切だ。

マルウェア定義データベース「XProtect」

これまで、Macがマルウェアの標的となることはあまりなかった。しかし、それは"たまたまMacがターゲットにされなかった"だけのこと。Windowsに比べるとインストールベースで劣るため、マルウェア制作者の食指が動かないこともあるだろうが、市場シェアだけが判断基準でないことは、かつてMacよりマイナーだったAmigaではマルウェアが蔓延していたという事実をもって否定できる。

ともあれ、昔もいまもMacプラットフォームではマルウェアへの危機意識が低い。OS Xへの移行後も状況はほとんど変わらず、いわゆるセキュリティソフトを未導入のユーザも高い比率で存在する。

しかし、そのような牧歌的風景は、Appleの各種施策に負うところが大きい。たとえば、アプリケーションのサンドボックス化(関連記事)。Mac App Storeで販売されるアプリケーションは、2012年6月以降サンドボックス化が義務付けられ、安全性は格段に向上。Mountain Lionでは「GateKeeper」が導入され、結果としてマルウェア侵入の機会が大幅に減少した。

そしてもうひとつ、マルウェア定義データベース「XProtect.plist」および「XProtect.meta.plist」だ(それぞれ役割は違うが便宜上「XProtect」と呼ぶ)。このファイルは"OS X向けマルウェアのブラックリスト"であり、必要と判断したタイミングでAppleが更新している。/System/Library/CoreServicesディレクトリにある「CoreType.bundle」内部に保管されているため、ふだんユーザが意識することはない(それどころかAppleが公式に言及したことすらない)が、その役割は重要だ。

このXProtectには、OS Xを標的としたマルウェアの識別子が記載されている。初登場したSnow Leopardリリース直後の時点では、わずか2種のトロイの木馬に関するもののみだったが、2013年1月15日時点では22件に増加している。

逆にいえば、XProttectを常に最新の状態に保てば、Appleお墨付きの"安全なMac"を手に入れることができる。次項では、更新時期のチェックや手動更新など、XProtectとの付き合い方を伝授しよう。

「XProtect.plist」には、OS Xを標的としたマルウェアの識別子が記録されている

「XProttect」との付き合い方

  • 1 手動で更新

XProtectは、セキュリティアップデータとともにインストールされる以外にも、Appleのサーバからダウンロードする形で更新されている。その役割は「/usr/libexec/XProtectUpdater」というコマンドが担っており、実際にはlaunchdにより24時間サイクルで自動実行されている(設定ファイルは/System/Library/LaunchDaemons/com.apple.xprotectupdater.plist)。

最新のマルウェア情報を急いで反映させたい場合には、「/usr/libexec/XProtectUpdater」を手動で実行すればいい。実行には管理者権限が必要なため、以下のとおりsudoコマンドと組み合わせて利用すること。

$ sudo /usr/libexec/XProtectUpdater

マルウェア情報の更新タイミングを知る

XProtectの更新は24時間サイクルで実施されているが、最終更新日時やバージョンはわからない。これを確認する場合は、以下のコマンドラインをTerminalで実行してみよう。先日ニュースとなったJavaの脆弱性の問題(関連記事)のように、一刻を争う場面での更新チェックに役立つはずだ。

$ defaults read /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/XProtect.meta LastModification

Thu, 10 Jan 2013 22:48:02 GMT

または、

$ defaults read /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/XProtect.meta Version

2027

1月15日時点の「XProtect.meta.plist」を表示したところ。数日前にOracleのJavaアプレットプラグインが追加されたばかりだ