はじめに
Joe Security社(https://www.joesecurity.org )が提供するJoe Sandbox(https://www.joesandbox.com )というマルウェアを動的解析してレポートを出力してくれるサービスがあります。
Joe Sandboxにはオンプレ版・クラウド版がありそれぞれに複数のバージョンが存在しますが、クラウド版のCloud Basicというバージョンであれば無料でマルウェア解析ができます。
さらにCloud Basicで解析されたレポートは公開されますので、他の人の分析結果レポートを見ることもできます。
今回はこのJoe SandboxのCloud Basicの説明をまとめました。
なお無償で利用できるCloud Basicは、有償で利用できるバージョンと比較すると多数の機能制限があります。
説明は不要だからまずは使ってみたいという方は「Joe Sandboxを用いたマルウェアの動的解析手順」の項目から読んでください。
Joe Sandboxの各種バージョン
参考までに各種バージョンの際を示した一覧表です。
- [Hosted]にチェックが入っているのは、クラウド版という意味です。
- [Hardware]にチェックが入っているのは、Joe Sandboxがインストールされたハードウェアの意味です。
- [Software]にチェックが入っているのは、ソフトウェアで提供されるものという意味です。
- [Windows][Android][Linux][Mac][iOS]は、解析環境の種類です。
- [MailMonitor]から先の項目はJoe Sandboxの機能です。
Cloud Basicの行はないですがチェックをつけるとすれば、[Hosted][Windows][Android][iOS]の4箇所になると思います。
https://www.joesecurity.org/joe-security-products#overview から抜粋
Joe Sandboxの利用登録(無料)
Cloud Basicでマルウェア解析するには以下のページから利用登録をする必要があります。
なお他人の解析結果を閲覧するだけでしたら利用登録は不要です。
https://www.joesandbox.com/register
登録は会社のメールアドレスを利用する必要があるようです。
有名どころのフリーメールアドレスでは登録できませんでした。
Joe Sandboxの機能説明
概要
大きく分けて3種類の機能(画面)があります。
- Analysis(分析対象のマルウェアの指定、分析方法の指定)
- Results(分析結果の表示)
- Editors(分析のサポートツール的なものの作成)
マルウェア解析の基本的な流れは、[Analysis]画面でマルウェアを指定し、[Results]で解析結果を見るだけという、非常にシンプルで使いやすいです。
ここから先では上記3つの機能について説明します。
1. Analysis画面
https://www.joesandbox.com にアクセスすると以下のようなAnalysis画面が表示されます。
ここで諸々設定をして解析を開始します。
解析時に利用するプラットフォームの指定
Windows, macOS, Android, Linux, iOSから選択します。
なおCloud Basicで利用できるのはWindows, Android, Linuxのみです。
Windowsが一番機能が多いようですので、ここからはWindowsを指定した際に表示される画面の説明をします。
解析対象の指定
解析対象の指定には4つの方法があります。
指定方法 | 内容 |
---|---|
Upload Sample | ローカルPC上のファイルをアップロードして解析する |
Browse URL (IE) | 指定したURLにアクセスして解析する |
Download & Execute File | 指定したURLからファイルをダウンロードして解析する |
Command Line | コマンドラインを入力して解析する |
コメントの入力
メモ用にコメントを入力できるようですが、Cloud Basicでは利用できません。
解析結果の暗号化
解析結果レポートにパスワードをつけて暗号化することができるようですが、Cloud Basicでは利用できません。
マルウェアの実行時間の指定
マルウェアの実行時間(何秒間、解析環境を起動しておくか)を指定します。
30〜500秒の間で指定できます。
あまり時間が短いとマルウェアが動作しきらない可能性がありますので、500秒を指定するのが無難かと思います。
静的解析のみにするかの指定
実はJoe Sandboxは動的解析だけではなく静的解析もできるようで、静的解析のみにしたい場合はここにチェックを入れます。
Cloud Basicでは利用できません。
解析環境の指定
マルウェアを解析する環境を指定します。
[Auto Analysis System Selection]にチェックを入れると解析環境が自動選択されます。
チェックを外すと自分で解析環境を選択できます。
Cloud BasicだとVM SystemsのWindows10とWindows7 SP1から選択できます。
両方選択することも可能です。
参考までにCloud Basic以外だとVM Systems以外に、HBI (Hypervisor based Inspection) Systems、Native Systemsなどを選択できるようです。
Native Systemsは名前の通り実機のようです。
VM環境で動かないマルウェアの場合、実機上で実行すれば動くかもしれません。
オンプレ版の場合は自身で用意したイメージも使用可能なようです。
タグ付け
タグ付けができるようですが、Cloud Basicでは利用できません。
解析環境の操作
解析環境をリモートで操作する機能です。
Cloud Basicでは「Provide Remote Assistance in view-only mode」という解析状況の閲覧だけがチェック可能です。
項目名 | 内容 |
---|---|
Provide Remote Assistance | チェックを入れると解析開始前の環境にログオンできる。何か設定変更したいものがあればここで操作が可能 |
Provide Remote Assistance in view-only mode | チェックを入れると解析環境にログオンできる。ただしview-only |
Disable archive unpacking | チェックを入れるとアーカイブの解凍をしない |
Disable behavior analysis (increased speed, less results) | チェックを入れると振る舞い分析を無効にする |
Upload Analyst Tools | ファイルを指定すると解析環境にアップロードされる。「Provide Remote Assistance」と組み合わせることでアップロードしたファイルの操作が可能になる |
ネットワーク関連の設定
インターネットアクセスをするか、HTTPS通信を解析するか、トラフィックを特定の国経由にするか、インターネットのシミュレーションをするか(擬似インターネット環境を利用するか)、が指定できます。
Cloud Basicではどれも設定変更できません。
コード解析の設定
コード解析、デコンパイル、VBAの解析、Javascriptの解析、Java JARファイルのトレース、.NETを使用してトレース、Microsoft Antimalware Scan Interfaceの利用、について設定をすることができます。
Cloud Basicではどれも設定変更できません。
フィルタリングとパフォーマンスの設定
高速モード、Yaraルール生成、Joe Sandboxによるクラス分類(Joe Sandboxで解析済みの結果と比較して分類)、キャッシュを確認(解析結果のキャッシュにヒットしたらその時点で解析終了)、について設定をすることができます。
Cloud Basicではどれも設定変更できません。
インテリジェントの設定
マルウェア実行時のコマンドラインの引数の指定、Office製品やPDFのパスワード指定、圧縮ファイルのパスワード指定、標準ユーザでの実行、システム日時を確認される場合にバイパス、解析環境のロケールとキーボードレイアウト指定、サードパーティーのURLレピュテーションの使用、について設定をすることができます。
Cloud Basicではどれも設定変更できません。
クックブックの設定
Windows用のプログラミング言語であるAutoItを記載して解析環境に適用することができます。
Cloud Basicでは利用できません。
コラボレーションの設定
Joe Sandbox ViewおよびJoe Sandbox Classにエクスポートするか(他の人がマルウェア解析した際に「類似した検体」として表示することを許可するか)、他のユーザに分析したマルウェアをダウンロードさせるか、の設定ができます。
Cloud Basicでは後者のみ設定が可能です。
分析結果の通知の設定
チェックを入れると解析完了時にメールが送付されます。
利用規約の確認
利用規約を確認し、問題がなければ[Analyze]をクリックします。
これで分析が開始します。
注意事項への同意
分析データは公開されるけど良いか、という旨の表示がでますので、問題なければ[I confirm]を選択してください。
有償版の場合は分析データを外部に公開しないという選択ができます。
これで解析が開始します。
2. Results画面
画面上部の[Results]を選択すると解析結果一覧が表示されます。
一番左の部分の[HTML]を選択すると解析結果の詳細が確認できます。
くるくる回っているのはまだ解析中ということです。
[Actions]の下の青いボタンを押すと解析結果の概要が確認できます。
[Reports]の下の青いボタンを押すとJoe Sandboxが作成したレポートやインテリジェンス情報の一覧を見ることができます。
[only for Cloud PRO]というアイコンが表示されているものはCloud Basicでは見れません。
ここから先は以下の分析結果を使って説明いたします。
https://www.joesandbox.com/analysis/199536/1/html
一般情報
解析環境の情報などといった解析の概要が記載されています。
解析結果
Detectionに検出結果(マルウェアか、クリーンかなど)、Confidenceに検出結果の信頼度合いが記されています。
MALICIOUSで99%となっていたら、Joe Sandboxがほぼマルウェアと判定したということです。
もちろん誤検知の場合もあります。
分類
マルウェアの種類(ランサムウェア、トロイの木馬など)を記しています。
分析アドバイス
今回の場合は「全てのドメイン解決ができなかったので、動作しない古いドロッパーである可能性が高い」とのことです。
Mitre Att&ck Matrixとの合致状況
背景が薄い赤色になっている部分が合致したところです。
例えば[Remote System Discovery]をクリックすると以下の画面が表示されます。
一番下に記載されているとおり「Reads the hosts file」が検知されたことがわかります。
次に[Reads the hosts file]をクリックすると詳細部分にジャンプします。
hostsファイルをReadしていることがわかります。
このような感じで気になる部分をクリックして詳細確認ができます。
検知概要
不審と判断した挙動の割合を示したグラフです。
グラフのすぐ下に詳細がカテゴリごとに記載されています。
解析結果レポートの全体に言えることですが、色が赤いほど重要な情報(マルウェアと判定した根拠)のようです。
例えば[Document exploit detected (creates forbidden files)]をクリックすると詳細が表示されます。
ワードファイルなのに拡張子が.cmd
の妙なファイルを作成していることがわかります。
次に右側の[Jump to behavior]をクリックすると詳細部分にジャンプします。
挙動のグラフ
マルウェアの挙動を示したグラフです。
WINWORD.EXEからcmd.exeが呼び出され、さらにwscript.exeが呼び出されていることがわかります。
他にもファイル作成やインターネット通信していることなどがわかります。
上記のグラフの文字をクリックすると詳細部分にジャンプします。
[cmd.exe]をクリックすると実行時のコマンドラインやハッシュ値などの情報が記載されているところにジャンプします。
次に[C:\cfgPath3\RandomData.cmd]をクリックして詳細部分にジャンプします。
詳細部分にはファイルの中身のプレビューやハッシュ値の情報が記載されています。
[Download File]を選択するとダウンロードできます。
アンチウイルスソフトや機械学習での検知状況
URLの情報や、Virustotalなどでの検知状況が記されています。
Yaraルールとの合致状況
事前にYaraルールを作成すれば、そのルールとの合致状況が記されます。
Cloud BasicですとYaraルールの作成はできないようです。
スクリーンショット
解析時のスクリーンショットが表示できます。
途中でWordファイルを開いていることがわかります。
プロセスツリー
プロセスツリーと共に、PID・コマンドライン・MD5が記されます。
作成されたファイル・ドロップされたファイル
作成されたファイルとドロップされたファイルの情報が記されます。
[Download File]からダウンロードすることも可能です。
解析対象ファイルの情報
解析対象ファイルの概要が記されます。
ネットワークの振る舞い
ネットワークの振る舞いが記されます。
解析時の解析環境の挙動
解析時の解析環境のCPU使用率やメモリ使用量といった情報が記されます。
プロセスごとの詳細な挙動
プロセスごとにどのファイルを開いたか、作成したか、削除したか、書き込んだか、などの情報が記されます。
コード分析
コード分析結果が記されます。
Cloud Basicではコード分析機能を利用できません。
3. Editors画面
Editorsでは、Cookbooks・Yara・Sigmaという3種類の作成/編集ができます。
どれもCloud Basicでは利用できないため概要だけ記載します。
Cookbooks
上の方でも記載している通り、Windows用のプログラミング言語であるAutoItを記載して解析環境に適用することができます。
サンプルには以下のようなものがありました。
Cookbooksに関してはJoe Security社がブログで解説しています。
The Power of Cookbooks - generic HTTPS Analysis
https://www.joesecurity.org/blog/3032572784220682797
Yara
Yaraルールの登録ができます。
Sigma
Sigmaルールの登録ができます。
Sigmaルールとはざっくり言うと、本来はログファイルなどからマルウェアの痕跡をみつけるために使用されますが、Joe Sandboxの場合はSysmonイベント、Windowsイベントログ、オペレーティングシステムプロセス作成イベントなどのイベントの脅威検出ルールを作成するために利用されているそうです。
参考:https://www.joesecurity.org/blog/8225577975210857708
Sigma is being used (among other things) to write threat detection rules for events such as Sysmon events, Windows event logs, and operating system process creation events.
Joe Sandboxを用いたマルウェアの動的解析手順
長々と紹介したのでややこしく感じるかもしれませんが、Joe Sandboxは簡単に利用できます。
ローカルPCに保存しているWindows向けのマルウェアを解析するためには、以下の流れでできます。
1. 解析対象ファイルの指定
[Windows]のタブを選択し、[Choose file..]から解析対象のファイルを指定します。
2. 解析実行ボタンのクリック
利用規約などに同意できる場合はチェックを入れて、[Analyze]をクリックします。
3. 注意事項への同意
分析データは公開されるけど良いか、という旨の表示がでますので、問題なければ[I confirm]を選択してください。
これで解析が開始します。
4. 解析完了まで待つ
解析中は以下の画面が表示されます。
「マルウェアの実行時間の指定」で指定した時間にもよりますが、5分くらいで解析が完了します。
解析完了したら以下の画面になります。
画面に一番下に以下の記載がありますが、これは1ヶ月で30個解析できて、残り29個解析できるという意味です。
ちなみに1日の解析上限数は10個のようです。
Remaining Analyses: 29 of 30
5. 解析結果を確認する
解析完了時の画面に表示されている[Reports]の下の青いボタンをクリックすると、以下の画面が表示されます。
[Full Reports]枠内の[HTML Report]をクリックすると完全なレポートが表示されます。(上の方で説明した画面と同じ画面が表示されます)
多くのものはCloud Basicでは見えませんが、例えば [Network PCAP]を選択するとpcapファイルをダウンロードできます。
関連
BeautifulSoup+Pythonで、マルウェア動的解析サイトからWebスクレイピング
https://qiita.com/hanzawak/items/0a8a26d1ebe62b84f847