SaaS

MDATPをM1チップのMacにインストールして脅威を検知させてみた

はじめに

どーもみなさんこんにちは。ねもてぃです。
macOS 11 Big Surの対応だけでも阿鼻叫喚なのにM1チップ搭載モデルまで発売・・・
やれあれが動かない、あれは動いたなどなど悪戦苦闘しているかと思います・・・(私もその一人です・・・)
そんな中、Microsoft Defender for Endpoint(旧名:Microsoft Defender ATP、以下MDATP)がM1チップを搭載したMacでどのように動くのかを検証してみました。

注意書き

あくまで正式にサポートされているわけではなく、独自で動かしてみた結果なので動作を保証するものではございません。ご留意ください!(2021/02/12時点)

使用環境

  • MacBook Pro M1チップ(macOS 11.2 Big Sur)
  • Microsoft Defender for Endpoint(MDATP) Ver.101.19.48
  • Jamf Pro 10.26.0
  • EICARテストファイル

とりあえず何か検知させてみたいなーと思い、「アンチウィルス テスト」で調べたところ、各メーカーのWebサイトにEICARテストファイルというものについての記述がありました。各社が共通で使うテスト用ファイルのようだったので私もこれを使ってテストをすることにしました。

EICARテストファイル is 何?

EICAR(European Institute for Computer Antivirus Research)が開発したウィルスの検知テスト用のファイルです。以下、Wikipediaより引用します。

EICARテストファイル (EICAR Standard Anti-Virus Test File) とは EICAR が開発したアンチウイルス (AV) ソフトウェアの応答をテストするためのファイルである。

Macの準備

Rosetta2のインストール

MDATPに限った話ではありませんが、M1チップのMac上でIntelプロセッサ用に開発された各種アプリケーションを動作させるためにはRosetta2のインストールが必要となります。

(参考)Mac に Rosetta をインストールする必要がある場合

ドキュメントの通り、Rosetta2が必要なアプリケーションの初回起動時にインストールを促すメッセージが表示されますが、可能であればMDMなどから処理しておくのが良いと思います。

方法としては、ターミナルまたはJamf Proから下記コマンドを実行します。

/usr/sbin/softwareupdate --install-rosetta --agree-to-license

一行コマンドなのでJamf Proのポリシー > ファイルとプロセス > コマンドを実行に上記コマンドを入力することで各端末で実行させることができます。

ちなみに私はJamf Nationのディスカッションを参考に、こんなスクリプトを使って全体に投げてます。

このスクリプトはMacのアーキテクチャタイプを参照してM1チップのMacだった場合にRosetta2のインストールを実行する、というものになります。

#!/bin/bash
arch=$(/usr/bin/arch)
if [ "$arch" == "arm64" ]; then
    echo "Apple Silicon - Installing Rosetta"
    /usr/sbin/softwareupdate --install-rosetta --agree-to-license
elif [ "$arch" == "i386" ]; then
    echo "Intel - Skipping Rosetta"
else
    echo "Unknown Architecture"
fi

MDATPの準備

基本的なMDATPの配布設定は下記公式ドキュメントなどを参考に設定しておいてください。

Jamf Pro で macOS 用 Microsoft Defender for Endpoint ポリシーをセットアップする
macOS Catalina および macOS の新しいバージョンの新しい構成プロファイル

ただし、今回検知テストに使用するEICARテストファイルがデフォルトで許可された脅威に設定されているため、その設定を無効にする必要があります。

こちら手順3において、EICAR-Test-File (not a virus) がallowedThreats として設定されております。検出テストを行う場合はこちらの行を削除して設定する必要がある点、ご注意ください。

 <key>allowedThreats</key>
        <array>
            <string>EICAR-Test-File (not a virus)</string>
        </array>

Jamf Proに設定している場合は、ドキュメントの手順3で作成した構成プロファイルの “アプリケーションとカスタム設定” > “アップロード” から下記4行を削除したものを配布します。

いざ検証!

それでは実際にMacにてテストファイルを動かしてみます。

今回テストに使用したEICARテストファイルはMicrosoftのドキュメントに記載のあるコマンドラインによるダウンロード、およびファイル生成と、トレンドマイクロ社のWebサイトからダウンロードしたものを利用しました。

EICARテストファイルをMacへ・・・

まずはcurlコマンドによるファイルのダウンロードです。こちらのコマンドはWebサイトからダウンロードする場合とほぼほぼ同じ挙動となります。Macのターミナルで「EICAR テスト ファイルを使った除外一覧の検証」の1つ目に記載されているコマンド(curlからはじまるもの)を実行します。

すると、本来はホームフォルダに”test.txt”が保存されるコマンドなのですが、なにも保存されていないことが確認できます。そこでメニューバーなどからMDATPを開き、”保護の履歴”を確認すると”EICAR-TEST-FILE(not a virus)”として”test.txt”が隔離されたことがわかります。
書き出し先のフォルダを開いた状態で実行すると隔離される様子も確認できるかと思います。

続いて、脅威として設定されている文字列が含まれたファイルを生成します。こちらもターミナルで「EICAR テスト ファイルを使った除外一覧の検証」の2つ目に記載されているコマンド(echoからはじまるもの)を実行します。

こちらも同じく、ホームフォルダに”test.txt”としてファイルが生成されるコマンドですが、生成と同時に隔離されたことが確認できます。

クイックスキャンによる検出テスト

続いて、クイックスキャンによる検出テストです。一度MDATPをアンインストールなどで無効化し、トレンドマイクロ社WebサイトよりEICARテストファイルをダウンロード、ファイルの準備ができた状態でMDATPを有効化しました。

こちらのWebサイトより、ファイル名:”eicer.com”をクリックしてダウンロードします。

MDATPが有効になっている場合はダウンロードと同時にフォルダから隔離されますが、今回はクイックスキャンのテストなのでダウンロード後に有効化し、クイックスキャンを実行します。すると、実行とほぼ同時にデスクトップ通知に”脅威が見つかりました”というアラートが表示されました。

もちろん有効化状態でダウンロードしようとしてもすぐに隔離されました。

Microsoft Defender Security Centerで確認

最後にMicrosoft Defender Security Centerにアラートがあがっているかを確認します。

まずは、Microsoft Defender Security Centerより”Incidents”にアクセスします。
「Microsoft Defender ATP detected ‘EICAR-Test-File (not a virus)’ malware」という表示とともに、きちんと脅威を検出したことが確認できます。

続いて、デバイス情報のアラートを確認します。対象のデバイス > Alertsタブを開きます。
こちらでも「’EICAR-Test-File (not a virus)’ malware was prevented」という表示とともに脅威のブロックが記録されていることを確認できました。

また、デバイスのインベントリをみてみると、Timeline上にてJamf Proの定期実行ポリシーが動いている様子について取得できていることが確認できました。

Security Recommendationsなど、Threat & Vulnerability Management機能もちゃんと利用できそうです。

(余談)Netskopeにもブロックされた話

Netskopeを有効にしている状態でテストすると、Webからのダウンロードや、curlコマンドによるダウンロードを実行する段階で管理者によりブロックされています、という旨のメッセージアラートが表示されました。

ダウンロードフォルダに”eicer.com”や”test.txt”というファイルはダウンロードされるものの、テキストエディットなどで中身をみてみると

HTTP/1.1 403 Forbidden
Server: Server
Content-Type: text/html;char

と、なっており、禁止されたステータスコードが記載されているのがわかります。先ほどご紹介した「EICAR テスト ファイルを使った除外一覧の検証」に記載されている2つ目のコマンドを実行した際にも同様にNetskopeによりブロックされました。

あと、たまたまこのコマンドをSlackに貼り付けようとしたのですが、その時にもブロックされました。

このブログを書いている時も上記コマンドの記述がひっかかって少しだけ更新に苦戦するという・・・笑

MDATP単体のテストを行う場合はNetskopeを外しておいた方が良いかもしれません。

おわりに

アンチウィルス系アプリは新しいOSがリリースされるたびにボロボロのイメージがあったので今回の検証はかなり驚きました・・・

正式対応のアナウンスはでていないものの、テストファイルの検知は問題なく動いているようだったので、M1チップのMacにインストールするAV/EDRソフトについて他に選択肢がない場合、暫定的な対処としてひとまずMDATPを利用する、という形でもよいかもしれませんね。それではまた!ノシ

ねもてぃ(nemotea)

2020年10月入社。デバイスチーム所属。
前職ではAppleデバイスとMDM周りのエンジニアをしていました。
漫画・アニメとお酒が好きなギタリストです。