OSのセキュリティ、普段は意識しない。でも裏ではOSごとに全く違う仕組みで守られてる。ざっくり言うとWindowsは「確認」、macOSは「隔離」、Linuxは「制限」のアプローチ。
Windows:UAC(ユーザーアカウント制御) — 「このアプリ、管理者権限で実行していい?」ってダイアログを出すやつ。面倒でみんな「はい」を押しちゃう。でもこれがないと、悪意あるソフトが自由にシステムを書き換え放題。本質的には「ユーザーの判断に委ねる」モデル。
3大OSのセキュリティモデル:
| Windows | macOS | Linux | |
|---|---|---|---|
| 中核技術 | UAC, Windows Defender, TPM | SIP, Gatekeeper, Sandbox | SELinux/AppArmor, Capabilities |
| アプローチ | ユーザー確認+アンチウイルス | 署名検証+サンドボックス化 | 強制アクセス制御(MAC) |
| システム保護 | TPM + Secure Boot | SIP(システム整合性保護) | 読み取り専用rootfs(イミュータブル) |
| アプリ制限 | SmartScreen, WDAG | Gatekeeper, Notarization | SELinuxポリシー |
| 弱点 | ユーザーが「はい」を押しがち | Appleの審査を信じるしか | 設定が難しくて無効化されがち |
macOS:SIP(System Integrity Protection) — `/System`以下の重要ファイルはrootでも変更不可。Gatekeeperで未署名アプリはブロック。全部のアプリがサンドボックス化(App Store経由なら)。「ユーザーを信頼しない」設計。
Linux:SELinux / AppArmor — すべてのプロセス、ファイル、ネットワーク操作に「許可」か「拒否」かのラベルを貼って強制する。例えば「Webサーバーは /var/www だけ読める」「それ以外は全部拒否」。設定が難しくて、多くの人が無効化してしまうのが最大の弱点。
理想を言えばSELinuxレベルの強制アクセス制御を、macOSレベルの使いやすさで、Windowsレベルの互換性で——全部は無理。トレードオフなんだよね。