Help us understand the problem. What is going on with this article?

JoeSandboxでマルウェアの動的解析をする方法

はじめに

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箇所になると思います。

image.png
https://www.joesecurity.org/joe-security-products#overview から抜粋

Joe Sandboxの利用登録(無料)

Cloud Basicでマルウェア解析するには以下のページから利用登録をする必要があります。
なお他人の解析結果を閲覧するだけでしたら利用登録は不要です。
https://www.joesandbox.com/register

登録は会社のメールアドレスを利用する必要があるようです。
有名どころのフリーメールアドレスでは登録できませんでした。

image.png

Joe Sandboxの機能説明

概要

大きく分けて3種類の機能(画面)があります。

  1. Analysis(分析対象のマルウェアの指定、分析方法の指定)
  2. Results(分析結果の表示)
  3. Editors(分析のサポートツール的なものの作成)

マルウェア解析の基本的な流れは、[Analysis]画面でマルウェアを指定し、[Results]で解析結果を見るだけという、非常にシンプルで使いやすいです。

ここから先では上記3つの機能について説明します。

1. Analysis画面

https://www.joesandbox.com にアクセスすると以下のようなAnalysis画面が表示されます。
ここで諸々設定をして解析を開始します。

image.png

解析時に利用するプラットフォームの指定

Windows, macOS, Android, Linux, iOSから選択します。
なおCloud Basicで利用できるのはWindows, Android, Linuxのみです。

image.png

Windowsが一番機能が多いようですので、ここからはWindowsを指定した際に表示される画面の説明をします。

解析対象の指定

解析対象の指定には4つの方法があります。

指定方法 内容
Upload Sample ローカルPC上のファイルをアップロードして解析する
Browse URL (IE) 指定したURLにアクセスして解析する
Download & Execute File 指定したURLからファイルをダウンロードして解析する
Command Line コマンドラインを入力して解析する

image.png

コメントの入力

メモ用にコメントを入力できるようですが、Cloud Basicでは利用できません。

image.png

解析結果の暗号化

解析結果レポートにパスワードをつけて暗号化することができるようですが、Cloud Basicでは利用できません。

image.png

マルウェアの実行時間の指定

マルウェアの実行時間(何秒間、解析環境を起動しておくか)を指定します。
30〜500秒の間で指定できます。
あまり時間が短いとマルウェアが動作しきらない可能性がありますので、500秒を指定するのが無難かと思います。

image.png

静的解析のみにするかの指定

実はJoe Sandboxは動的解析だけではなく静的解析もできるようで、静的解析のみにしたい場合はここにチェックを入れます。
Cloud Basicでは利用できません。

image.png

解析環境の指定

マルウェアを解析する環境を指定します。
[Auto Analysis System Selection]にチェックを入れると解析環境が自動選択されます。

image.png

チェックを外すと自分で解析環境を選択できます。
Cloud BasicだとVM SystemsのWindows10とWindows7 SP1から選択できます。
両方選択することも可能です。

image.png

参考までにCloud Basic以外だとVM Systems以外に、HBI (Hypervisor based Inspection) Systems、Native Systemsなどを選択できるようです。
Native Systemsは名前の通り実機のようです。
VM環境で動かないマルウェアの場合、実機上で実行すれば動くかもしれません。

image.png
image.png

オンプレ版の場合は自身で用意したイメージも使用可能なようです。

image.png

タグ付け

タグ付けができるようですが、Cloud Basicでは利用できません。

image.png

解析環境の操作

解析環境をリモートで操作する機能です。
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」と組み合わせることでアップロードしたファイルの操作が可能になる

image.png

ネットワーク関連の設定

インターネットアクセスをするか、HTTPS通信を解析するか、トラフィックを特定の国経由にするか、インターネットのシミュレーションをするか(擬似インターネット環境を利用するか)、が指定できます。
Cloud Basicではどれも設定変更できません。

image.png

コード解析の設定

コード解析、デコンパイル、VBAの解析、Javascriptの解析、Java JARファイルのトレース、.NETを使用してトレース、Microsoft Antimalware Scan Interfaceの利用、について設定をすることができます。
Cloud Basicではどれも設定変更できません。

image.png

フィルタリングとパフォーマンスの設定

高速モード、Yaraルール生成、Joe Sandboxによるクラス分類(Joe Sandboxで解析済みの結果と比較して分類)、キャッシュを確認(解析結果のキャッシュにヒットしたらその時点で解析終了)、について設定をすることができます。
Cloud Basicではどれも設定変更できません。

image.png

インテリジェントの設定

マルウェア実行時のコマンドラインの引数の指定、Office製品やPDFのパスワード指定、圧縮ファイルのパスワード指定、標準ユーザでの実行、システム日時を確認される場合にバイパス、解析環境のロケールとキーボードレイアウト指定、サードパーティーのURLレピュテーションの使用、について設定をすることができます。
Cloud Basicではどれも設定変更できません。

image.png

クックブックの設定

Windows用のプログラミング言語であるAutoItを記載して解析環境に適用することができます。
Cloud Basicでは利用できません。

image.png

コラボレーションの設定

Joe Sandbox ViewおよびJoe Sandbox Classにエクスポートするか(他の人がマルウェア解析した際に「類似した検体」として表示することを許可するか)、他のユーザに分析したマルウェアをダウンロードさせるか、の設定ができます。
Cloud Basicでは後者のみ設定が可能です。

image.png

分析結果の通知の設定

チェックを入れると解析完了時にメールが送付されます。

image.png

利用規約の確認

利用規約を確認し、問題がなければ[Analyze]をクリックします。
これで分析が開始します。

image.png

注意事項への同意

分析データは公開されるけど良いか、という旨の表示がでますので、問題なければ[I confirm]を選択してください。
有償版の場合は分析データを外部に公開しないという選択ができます。

image.png

これで解析が開始します。

2. Results画面

画面上部の[Results]を選択すると解析結果一覧が表示されます。

image.png

一番左の部分の[HTML]を選択すると解析結果の詳細が確認できます。
くるくる回っているのはまだ解析中ということです。

image.png

[Actions]の下の青いボタンを押すと解析結果の概要が確認できます。

image.png

[Reports]の下の青いボタンを押すとJoe Sandboxが作成したレポートやインテリジェンス情報の一覧を見ることができます。

image.png

[only for Cloud PRO]というアイコンが表示されているものはCloud Basicでは見れません。

image.png

ここから先は以下の分析結果を使って説明いたします。
https://www.joesandbox.com/analysis/199536/1/html

一般情報

解析環境の情報などといった解析の概要が記載されています。

image.png

解析結果

Detectionに検出結果(マルウェアか、クリーンかなど)、Confidenceに検出結果の信頼度合いが記されています。
MALICIOUSで99%となっていたら、Joe Sandboxがほぼマルウェアと判定したということです。
もちろん誤検知の場合もあります。

image.png

分類

マルウェアの種類(ランサムウェア、トロイの木馬など)を記しています。

image.png

分析アドバイス

今回の場合は「全てのドメイン解決ができなかったので、動作しない古いドロッパーである可能性が高い」とのことです。

image.png

Mitre Att&ck Matrixとの合致状況

背景が薄い赤色になっている部分が合致したところです。

image.png

例えば[Remote System Discovery]をクリックすると以下の画面が表示されます。
一番下に記載されているとおり「Reads the hosts file」が検知されたことがわかります。

image.png

次に[Reads the hosts file]をクリックすると詳細部分にジャンプします。
hostsファイルをReadしていることがわかります。

image.png

このような感じで気になる部分をクリックして詳細確認ができます。

検知概要

不審と判断した挙動の割合を示したグラフです。

image.png

グラフのすぐ下に詳細がカテゴリごとに記載されています。
解析結果レポートの全体に言えることですが、色が赤いほど重要な情報(マルウェアと判定した根拠)のようです。

image.png

例えば[Document exploit detected (creates forbidden files)]をクリックすると詳細が表示されます。
ワードファイルなのに拡張子が.cmdの妙なファイルを作成していることがわかります。

image.png

次に右側の[Jump to behavior]をクリックすると詳細部分にジャンプします。

image.png
image.png

挙動のグラフ

マルウェアの挙動を示したグラフです。
WINWORD.EXEからcmd.exeが呼び出され、さらにwscript.exeが呼び出されていることがわかります。
他にもファイル作成やインターネット通信していることなどがわかります。

image.png

上記のグラフの文字をクリックすると詳細部分にジャンプします。
[cmd.exe]をクリックすると実行時のコマンドラインやハッシュ値などの情報が記載されているところにジャンプします。

image.png

次に[C:\cfgPath3\RandomData.cmd]をクリックして詳細部分にジャンプします。
詳細部分にはファイルの中身のプレビューやハッシュ値の情報が記載されています。
[Download File]を選択するとダウンロードできます。

image.png

アンチウイルスソフトや機械学習での検知状況

URLの情報や、Virustotalなどでの検知状況が記されています。

image.png

Yaraルールとの合致状況

事前にYaraルールを作成すれば、そのルールとの合致状況が記されます。
Cloud BasicですとYaraルールの作成はできないようです。

image.png

スクリーンショット

解析時のスクリーンショットが表示できます。
途中でWordファイルを開いていることがわかります。

image.png

プロセスツリー

プロセスツリーと共に、PID・コマンドライン・MD5が記されます。

image.png

作成されたファイル・ドロップされたファイル

作成されたファイルとドロップされたファイルの情報が記されます。
[Download File]からダウンロードすることも可能です。

image.png

解析対象ファイルの情報

解析対象ファイルの概要が記されます。

image.png

ネットワークの振る舞い

ネットワークの振る舞いが記されます。

image.png

解析時の解析環境の挙動

解析時の解析環境のCPU使用率やメモリ使用量といった情報が記されます。

image.png

プロセスごとの詳細な挙動

プロセスごとにどのファイルを開いたか、作成したか、削除したか、書き込んだか、などの情報が記されます。

image.png

コード分析

コード分析結果が記されます。
Cloud Basicではコード分析機能を利用できません。

image.png

3. Editors画面

Editorsでは、Cookbooks・Yara・Sigmaという3種類の作成/編集ができます。
どれもCloud Basicでは利用できないため概要だけ記載します。

Cookbooks

上の方でも記載している通り、Windows用のプログラミング言語であるAutoItを記載して解析環境に適用することができます。
サンプルには以下のようなものがありました。

image.png
image.png

Cookbooksに関してはJoe Security社がブログで解説しています。

The Power of Cookbooks - generic HTTPS Analysis
https://www.joesecurity.org/blog/3032572784220682797

Yara

Yaraルールの登録ができます。

image.png

Sigma

Sigmaルールの登録ができます。

image.png

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..]から解析対象のファイルを指定します。

image.png

2. 解析実行ボタンのクリック

利用規約などに同意できる場合はチェックを入れて、[Analyze]をクリックします。

image.png

3. 注意事項への同意

分析データは公開されるけど良いか、という旨の表示がでますので、問題なければ[I confirm]を選択してください。

image.png

これで解析が開始します。

4. 解析完了まで待つ

解析中は以下の画面が表示されます。
「マルウェアの実行時間の指定」で指定した時間にもよりますが、5分くらいで解析が完了します。

image.png

解析完了したら以下の画面になります。

image.png

画面に一番下に以下の記載がありますが、これは1ヶ月で30個解析できて、残り29個解析できるという意味です。
ちなみに1日の解析上限数は10個のようです。

Remaining Analyses: 29 of 30

5. 解析結果を確認する

解析完了時の画面に表示されている[Reports]の下の青いボタンをクリックすると、以下の画面が表示されます。

image.png

[Full Reports]枠内の[HTML Report]をクリックすると完全なレポートが表示されます。(上の方で説明した画面と同じ画面が表示されます)

多くのものはCloud Basicでは見えませんが、例えば [Network PCAP]を選択するとpcapファイルをダウンロードできます。

関連

BeautifulSoup+Pythonで、マルウェア動的解析サイトからWebスクレイピング
https://qiita.com/hanzawak/items/0a8a26d1ebe62b84f847

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした