Macにウイルス対策ソフトは必要か?管理人の対策

海外のフォーラムでよく議論に挙がる話題として「Mac(macOS)にアンチウイルスソフト(ウイルス対策ソフト)は必要なのか?」というものがある。

macOSはセキュリティアップデートが定期的にリリースされているものの、Windowsの「Windows Defender」のようにデフォルトでマルウェア対策のソフトウェアが付属しているといったことはなく、Appleとしてはユーザーの利便性が損なわれてもmacOS自体のプロテクトを強固にしていくというアプローチを取っている。

僕自身はMacにはいかなるウイルス対策ソフトウェアも導入していない。

ここではMacにアンチウイルス(ウイルス対策)ソフトは必要なのかという点と管理人が日頃行っている対策をまとめる。

Mac向けのウイルス対策ソフト

MacにはWindows向けほど充実はしていないが下記のようにいくつかのウイルス対策ソフトウェアが存在する(ほとんどが有料)。

中でも海外フォーラムや海外のmacOSユーザーの中で最も有名なのが「Malwarebytes」というソフトウェアだ。

Malwarebytesの製品版は年額3,990円の有料ソフトウェアであるが、無料版も存在し、機能は削られているものの無料版でも最低限のウイルススキャンは可能なため、海外フォーラム(MacRumorsやReddit)ではマルウェア感染が疑われる場合はこのMalwarebytesの無料版を使用してウイルススキャンを行うように勧める場合が非常に多い。

画像出典 MacRumors Forums

ただ、フォーラムは別として国内にしろ海外にしろウイルス対策ソフトウェアを勧めているWebサイトやブログはソフトウェア会社がスポンサーとなっていることもあるため、Webサイトやブログで絶賛されているからといって期待通りの動作をするかは怪しい部分もある。

海外ではウイルス対策ソフトウェアを利用するユーザーは少ない

ウイルス対策ソフトウェアを勧めるユーザーがいる一方で、海外ユーザーの多くはデベロッパーやパワーユーザーといったいわゆる「Mac上級者」の間でもウイルス対策ソフトウェアを使用しているユーザーは少ない。

Redditでは下記の「みんなどんなウイルス対策ソフトウェアを利用しているんだ?」というスレ主の質問に対して大半のユーザーが「Common sense(常識)」「Common sense.app」というジョークのような回答を行っており、ウイルス対策ソフトウェアを利用しているのは一部に止まっていた。

What anti-virus do you guys use if any? from r/MacOS
Antivirus? from r/MacOS

ウイルス対策ソフトウェアを利用しない主な理由として「Macに余計な負荷がかかる」、「Macのプロテクトは強固であり、ユーザーが適切な対応を取っていればマルウェアが問題になることは少ない」という点が挙がっていた。

こういった「ウイルス対策ソフトウェアは必要ない」という意見はRedditやMacRumorsだけではなく、様々な海外フォーラムで同様の意見が多数ある。

中には「2005年からMacを使っているが一度もウイルス対策ソフトウェアを使用したことがない」というユーザーもいた。

管理人の意見と行っている対策

僕個人としては前述の海外ユーザーの意見を鵜呑みにするわけではないが、Macにおいてはきちんと対策を行っていればマルウェアの被害に遭うことは少ないと考えている。

管理人が行っているマルウェア及びセキュリティ対策は以下の通り。

  • 管理者パスワードは複雑なものにする
  • 署名が入っていないアプリケーションは起動前にあらかじめ海外のサイトなどで情報を集め、安全と確認したもののみをインストールする
  • ポップアップウィンドウをブロックし、通知はクリックしない
  • パスワードを全てのWebサイト・アプリケーションで違うもの(20桁以上のランダムな英数字)に設定
  • 1 Passwordなどのパスワードマネージャーは使用しない
  • 利用可能な場合は2段階認証を設定する
  • 定期的にlaunchdに登録されているアプリケーションをチェック
  • 定期的に機能拡張(kext)をチェック
  • パスワードのリストは紙にメモして鍵付きの金庫などにしまい、Mac上には置かない
  • SSLで保護されていないWebサイトには訪問しない。またはそれらのWebサイトでユーザー情報を入力しない
  • インターネットバンキングにおいてフィッシング詐欺対策のセキュリティ拡張機能を導入
  • Little Snitchなどのネットワーク監視アプリで各プロセスの通信を監視

この中で個人で出来る対策として特に有効な点を解説していく。

管理者パスワードは複雑なものに設定する

Macに限らずコンピュータというものは管理者パスワードがわかってしまったらお終いである。

macOSなどのUNIXシステムでは管理者パスワードによりsuperuser(root)権限を用いてmacOSにダメージを与える操作すら可能になる。

更に管理者パスワードが悪意のある者に知られてしまった場合、キーチェーンへのアクセスも可能になるため、各種Webサイトへのログインパスワードなども見放題になってしまう。

そのため管理者パスワードは出来るだけ複雑なものを設定し、決して他のパスワードを使い回さないことが重要となる。

署名が入っていない(開発元が検証できない)アプリケーションは入念にリサーチする

Macでは署名が入っていないアプリケーションは「開発元が検証できない」という警告が表示され、右クリックの開くメニュー以外では開けない仕様になっている。

こういった警告が出るアプリケーションは起動前に悪意のあるソフトウェアかどうかを入念にチェックして利用するようにしよう。

マルウェア全般及びMacが影響を受けるマルウェアは下記のようなサイトでチェック可能だ。

参考 脅威データベーストレンドマイクロ 参考 Database of adware2-Spyware.com

なお、当サイトで紹介してきたアプリやスクリプトは実際に管理人が実行して危険がないことを確認している。

ポップアップウィンドウをブロックし、ブラウザ内のいかなる通知もクリックしない

僕は海外のWebサイトを訪問することが多いが、Webサイトによってはブラウザのポップアップウィンドウをブロックしていても上記画像のようなmacOSの通知画面を装った怪しいウィンドウが表示されることがある。

これらの通知やウィンドウが全てマルウェアに繋がるわけではないが信用に値しないことには変わりないため、このような通知やウィンドウは決してクリックせず、ポップアップウィンドウのブロックの他に広告ブロッカーなどを用いて表示させないようにしよう。

macOSではフルスクリーンにしていない限り通知ペインがブラウザ内に表示されることは決してなく、更にmacOSのライトモードやダークモードとの色合いの比較で怪しい通知ペインを判別可能だ。

launchdのチェック

macOSは「launchd」という仕組みにより各プロセスやサービスの起動を行っているが、下記のようなコマンドをターミナルで実行するとlaunchdに登録されているプロセスやサービスをリストアップすることができる。

launchctl list
sudo launchctl list | grep --invert-match com.apple

一つ目のコマンドはlaunchdに登録されている全てのプロセスやサービスを表示し、二つ目のコマンドではサードパーティー(Apple製以外)のプロセスやサービスのみを表示できる。

Macを標的にしたマルウェアは自身をlaunchdに登録して自動起動を行う場合が多いため、前述のコマンドでlaunchdに登録されているプロセスやサービスをチェックし、身に覚えのないプロセス・サービスがあったらそれらをlaunchdからアンロード、もしくは削除するという対策を行っている。

launchdについては下記記事を参照して頂きたい。

Macでサードパーティーサービスをリストアップする

kextのチェック

マルウェアの中には機能拡張(kext)と呼ばれる独自のコンポーネントをMacにインストールするものも存在するため、下記コマンドでサードパーティーのkextをリストアップするのも有効だ。

kextstat | grep -v com.apple

ここでもし身に覚えのないkextが表示されるようであれば、そのkextを検索するなどしてどういった目的で使用されているのか調べた方がいいだろう。

なお、この「kext」の仕組みはmacOS Big Sur以降ではいくつかのkextが無効化され、将来的にはkextは廃止される予定である。

あまり知られていないmacOS Big Sur以降で利用不可になるkext

Little Snitchの導入

管理人はMac上のプロセスやサービスが行う通信を監視する有料アプリ「Little Snitch」を使用しており、常時プロセスやサービスの通信をモニタリングすることで悪意のあるソフトウェアによる通信が行われていないかチェックしている。

「Little Snitch」の購入と導入方法は下記記事で解説している。

Macの通信をマップ上で可視化する「Little Snitch」

ネットバンキングにおいてフィッシング詐欺対策ソフトウェア・拡張機能を使用する

ネットバンキングでの不正送金被害は特に日本国内において深刻な問題となっているが、「PhishWall」のように無料のフィッシング詐欺対策ソフトウェアに対応している銀行では、こういったソフトウェアやブラウザ拡張機能を利用することで現在ログインしているWebサイトが正規の安全なサイトであるかチェックすることが可能だ。

1 Passwordなどのパスワードマネージャーは使用しない

僕は以前、「1 Password」などのパスワードマネージャーを使用してパスワードを管理していたが、1 Password側の問題(サーバー)によりマスターパスワードのデータが吹き飛び、登録してた各種パスワードにアクセス不能になったことがある。

サポートに問い合わせたところ「こちら側で出来ることはないため、新たにパスワードを登録し直してほしい」と言われ、それ以降はこういったパスワードマネージャーは使用していない。

1 Passwordなどのパスワードマネージャーで問題となるのが「マスターパスワードが漏洩、もしくは失われた場合は全てのパスワードに影響が及ぶ」という点だ。

1 Passwordに代表されるパスワードマネージャーは確かに便利で優秀であるし僕に起きた問題は非常に稀ではあると思うが、僕の場合は自身でパスワードを管理した方が安全だと感じたため、それ以降はパスワードなどの情報は紙にメモして自宅の安全な場所に保管するという方法を取っている。

もちろん、1 Passwordを全く問題なく利用している人も多いだろうし、こういったパスワードマネージャーを一方的に「危険である」と非難するわけではないが、多少なりともリスクが生じることは念頭に置いた方がいいかと思う。

結論 対策が面倒あればウイルス対策ソフトウェアで自動化するのもあり

前述で挙げた対策のいくつかは手間がかかるものもあるため、前述の対策を手動で行うのが面倒であればウイルス対策ソフトウェアを購入して、全ての対策をウイルス対策ソフトウェアやファイアーウォールに丸投げして、いわゆる「自動化」していまう方が利便性は高い。

結論としてターミナルのコマンドの実行などの手動対策が苦ではなく、ウイルス対策ソフトウェアによるMacへの負荷が気になる場合は前述の対策を手動で行い、手動対策が面倒だと感じたり、Macへの負荷を気にしない場合はウイルス対策ソフトウェアを利用するのがいいだろう。

とはいえ、ウイルス対策ソフトウェアを導入するにしろ、しないにしろ、いずれの場合においても「何らかのアプリケーションをダウンロードする場合はそのアプリケーションが悪意のあるものでないか調べる」、「同じパスワードを使いまわさない・推測されやすいパスワードは使用しない」といったように最低限の対策は行うようにしよう。