はじめに
AMP for Endpointsでは、ファイルのハッシュ値(SHA256)毎に、ファイルをMalicious/Unknown/Cleanと判定しています。しかしながら、お客様が正規の方法で取得して、マルウェアでないと考えられるファイルがAMPで誤検知としてMalicious判定されているケース(False Positive)は稀にございます。
また、逆に、Device Trajectory上怪しい動作をしているファイルがClean/Unknownと判定され、マルウェアを逃してしまうケース(False Negative)も考えられ、こちらもお客様にて判断が難しい場合がございます。
そういった場合に、「本当にMalwareであるか?」を判断するための材料として、AMP Consoleに備わっているSandbox機能(File Analysis)を使った分析が非常に有用です。また、参考情報として、他社様のAntiVirusエンジンでの検知確認する方法としてVirusTotalがございます。
本記事では、File Analysisへ検体をアップロードし、分析する複数の方法を中心に説明させていただき、また、弊社サービスではないため、あくまで参考情報ではございますが、VirusTotalを使った、他社AntiVirusエンジンの検知結果確認方法をご案内いたします。
前提条件として、本記事は、2018年3月26日現在のAMP Consoleの動作に基づいて、作成しております。将来的に変更される場合がございますのでご了承ください。
File Analysisの使用方法
File Analysisは、Sandbox上の小さな端末上で実際に、検体を実行し、その挙動を観察、レポート化さらに、発生した挙動の危険度/信頼度に応じて点数化をするため、お客様がMalwareであるかを判断するために非常に有効なツールです。
File Analysisの最も基本的な使用方法はAMP Console上からの直接ファイルアップロードになります。以下手順を説明いたします。
まず、AMP ConsoleにてAnalysis -> File Analysisへアクセスし、Submit Fileをクリックします。

File to Submitで対象となるファイルを選択し、実行するOSのImageを選択し、Uploadを実行します。

分析の状況は、Analysis -> File Analysisで確認可能です。分析が完了するまでPendingと表示されておりますが、

一定時間(5分程度)が経過すると、Reportと点数が以下の通り、表示されます。

Reportをクリックすると、実行結果の詳細となるレポートが表示されます。
こちらの例では、TORのノードに対してDNSの名前解決を実行していることから、高い確度でMalwareであると判定していることが確認できます。

具体的な表示されている内容として、Severityが危険度であり、Confidentialは、このEventが信頼出来る挙動であるかの度合いとなります。Confidentialityが低い挙動(Behavioral Indicators)は不確かな情報であるということになります。
Sandboxで検体を実行した結果、観察できた様々な挙動に対して、SeverityとConfidentialを掛け合わせたものの最大値を100で割ったものを点数として表示させており、この例では危険度100に対して信頼度も100なので、100点(最高点)という意味になり、ほぼMalwareで間違いがない、という判断をすることが出来ます。
隔離された/疑わしいファイルをFile Analysisへ送る方法
Windows Connectorによって、端末上でMalwareのファイルが隔離されてしまった場合、隔離されたファイルは無効化された状態で保存されているため、端末からファイルを取得して、AMP Consoleからアップロードするのは不可能となります(厳密に言えば一旦リストアすれば可能ですが、それでは再び悪影響が出ます)。また、仮にMalwareの情報源となったサーバ等から検体を取得できたとしても、Malwareを直接、業務端末にダウンロードすることは危険が伴い、組織のセキュリティポリシー上好ましくない場合がございます。
その場合、File Fetchを使って端末からRemoteでファイルを取得し、それをFile AnalysisにSubmitする方法が有用です。本項では、Analysis -> Eventsおよび、Device Trajectoryからの、検体のRemoteでの取得、および、Sandboxへ自動送信を行う方法を説明いたします。
まず、Analysis -> Eventsより、Maliciousなファイルとして端末から隔離されたEventの詳細情報を表示し、Analyzeのボタンがあることを確認します。

Analyzeをクリックし、File Analysisのための情報(どの端末からファイルを取得するのか、どの種類のOSで実行するのか)を入力して、Fetch and Send for Analysisをクリックします。

そうすることによって、ファイルは自動的に端末から収集され、最終的に、File Analysisにアップロードされ、Sandboxによる分析結果を確認することが可能です。
端末からのファイルの収集(Remote File Fetch)と、Sandboxでの実行時間のため、少々時間がかかります。特に、端末がネットワークに接続していないタイミングでは対象のファイルが取得出来ない場合がございます。
また、隔離されてはいなくても、疑わしいファイルがDevice Trajectory上にある場合に、直接管理者が取得することを避けたい場合は、Device Trajectory上からFile FetchにてCloudへアップロードすることが可能です。
Device Trajectoryの該当ファイルもしくはHash値を右クリックしてFile Fetch -> Fetch Fileを実行します。

その場合、自動的には、File AnalysisにはPostはされないため、一定時間経過後に、Analysis -> File Repositoryで該当ファイルがアップロードされたことを確認し、Analyzeをクリックすれば、Sandboxで分析することが可能です。

最後に重要な点ですが、Remote File fetchを実行するためには、Two-step Verificationによるワンタイムパスワードの認証を有効にする必要があります。File Analysis自体は、Two-step Verificationを設定する必要はありませんが、こちらの機能ではRemote File Fetchを使用するため、こちらの設定が必要となりますので、予め設定ください。
実行頻度の低い実行ファイルを自動的にFile Analysisへ送る方法
AMP for Endpointsでは、Low Prevalenceと呼ばれる機能があり、ある組織の中であまり実行されていないファイルはMalwareの疑いがあるという考えのもと、組織中(Business)の一つの端末でしか実行されていないファイルをリストアップし、必要に応じて、File Analysisへ送付させることが可能です。PrevalenceはDefalut設定では、該当ファイルがリストアップされるだけであり、File Analysisに送付させるためには、設定が必要となります。
まず、Analysis -> Prevalenceをアクセスすると、組織の中で1つの端末でしか実行されていないファイルがリストアップされて表示されます。

手動で、各FileのAnalyzeをクリックすると、Eventsの画面と同じようにSandboxへの送付をキックすることが可能です。
今回は、自動的に送付する設定を行いますので、Prevalenceのトップページより、Configure Automatic Analysisを設定します。

Automatic Analysisの対象となる端末が所属するGroupを指定し、Applyをクリックすれば、実行頻度の低いファイルを自動的にSandbox分析にかけることが可能です。

こちらの機能の注意点としては二点あります。
- 1日に実行可能なFile Analysisの合計カウント数に追加されることになりますため、数多くファイルがSubmitされる環境では注意が必要です。
- 先ほどと同様、PrevalenceからのAutomatic Analysisも、Remote File Fetchを実行するため、Two-step Verificationによるワンタイムパスワードの認証を有効にする必要があります。有効になっていない場合は、AnalyzeボタンとAutomatic Analysisボタンがグレーアウトされて実行できませんので、設定する場合は、事前に設定をお願いします。
VirusTotalの使用方法
VirusTotalは、弊社で提供しているサービスではないため、VirusTotalのWebサイトを、直接ご確認いただけたらと思います。また、あくまで参考情報ということで、当方へお問い合わせいただいてもお答え致しかねますのでその点はご了承ください。
VirusTotal
VirusTotalのトップページのSearchから、疑わしいファイルのハッシュ値(SHA256)を入力すれば、

以下のように、そのファイルに対する複数のAntiVirusソフトウェアによる判定結果を確認することが可能です。

こちらの例では60種類のAntiVirusのエンジンを使って確認したところ4つのエンジンでMalwareの判定となったことを示しております。
なお、VirusTotalに過去にアップロードされていない検体は、ハッシュ値からは判定を確認することが出来ません。ここは重要な点ですが、その場合に、検体をアップロードすることで判定結果を得ることは可能ですが、VirusTotalのSubscription契約をしている会員は、検体サンプルを直接ダウンロードが可能であるため、誤って社外秘の情報をアップロードしないよう、注意が必要です。
窓口へ削除を依頼すれば、VirusTotalから検体を削除することが、可能である模様ですが、手動での削除のため、時間が必要であり、どうしても必要な場合は、第三者に提供してしまっても問題ないファイルであるかをご判断の上でアップロードしていただけたらと思います。