[更新:Appleは速やかにセキュリティアップデート2017-001をリリースし、このバグを修正しました。最新の記事「Apple、ルート化脆弱性バグをブロックするためアップデートをリリース」(2017年11月30日)をご覧ください。]
macOS 10.13 High Sierraのアップデートまたはセキュリティアップデートは、今後数日以内にリリースされる予定です。開発者のLemi Orhan Ergin氏が、High Sierraに重大なセキュリティ脆弱性が存在することを明らかにしたためです。この脆弱性を悪用すれば、誰でもMacの完全な管理者権限を取得し、ルートアカウントにアクセスできるようになります。10.12 Sierraはこの脆弱性の影響を受けません。また、以前のバージョンのOS Xにも脆弱性はないと推測されます。
Ergin氏の発見は多くの人が確認しており、High Sierraをお使いの方はご自身でも確認できます。システム環境設定 > セキュリティとプライバシーを開き、ウィンドウ下部のロックボタンをクリックします。ユーザー名欄にパスワードを入力し、root
パスワード欄は空白のままにしておきます。Returnキーを押すか、ロック解除ボタンを数回クリックしてください。1回目の試行でロックが承認される場合もあれば、さらに数回試行する必要がある場合もありました。しかし、最終的にはロックが解除されます。
それだけではありません。Macのログインウィンドウにユーザー名とパスワードのフィールドが表示されている場合は、パスワードなしでMac全体にrootとしてログインすることもできます。その場合、High Sierraはすぐに「System Administrator」という新しいアカウントと、ホームフォルダを作成します/private/var/root
。これは完全なUnix rootアカウントであり、スーパーユーザー権限を持ち、どのアカウントのどのファイルでも閲覧・変更が可能です。
待ってください、もっとひどい状況です。システム環境設定 > 共有で画面共有(またはリモートマネージメント)が有効になっていると、誰かがローカルネットワーク経由で、あるいはインターネットの設定によっては外部ネットワーク経由であなたのMacに接続できることが確認されました。私はMacBook Airのゲストアカウントでこの操作を試したところ、iMacのログインウィンドウが表示されました。そこで「その他」ボタンをクリックし、該当するフィールドに「root」とパスワードなしで入力すると、iMacにrootユーザーアカウントが作成されました。
実際のところ、Macにローカルまたはネットワークでアクセスできる人なら誰でもログインして、すべてのファイルに何の罰も受けずにアクセスできることになります。FileVaultを有効にしていれば、High Sierraのログインウィンドウでルートアカウントへのログインを阻止できるため、より安全です。
これが機能しない理由は、rootユーザーが有効化されていないためです。回避策としては、rootパスワードを変更することです。これにはいくつかの手順が必要です。
- メニュー バーの右隅にある虫眼鏡をクリックするか、Command キーとスペースキーを押して、Spotlight をアクティブにします。
-
Enter キー
Directory Utility
を押して Return キーを押すと起動します。(手動で移動したい場合は、 にあります/System/Library/CoreServices/Applications
。) -
ディレクトリユーティリティのウィンドウにある鍵アイコンをクリックして認証します。はい、パスワードなしのrootユーザーでも認証できます。
-
「編集」>「ルートパスワードを変更」を選択し、新しい、覚えやすいパスワードを入力してください。「ルートパスワードを変更」がグレー表示されている場合は、まず「編集」>「ルートユーザを有効にする」を選択する必要があるかもしれません。また、ディレクトリユーティリティではルートパスワードを空白に設定することもできます。両方のフィールドを空白のままにして「OK」をクリックするだけです。Appleは少なくともここで、本当に必要なパスワードなのか確認するプロンプトを表示すべきです。
-
リモート アクセスが必要ない場合は、共有環境設定パネルで画面共有またはリモート管理を無効にすることも検討してください。
Apple は修正に取り組んでいると述べているため、現時点ではルートパスワードを設定することで十分な保護が得られるはずだ。