はじめに
毎々お世話になっております。基礎技術研究部リサーチエンジニアの茂木です。
今回は FFRI Dataset 2022 についてご紹介します。
FFRI Dataset
まずは FFRI Dataset についてご説明いたします。といってもこれは毎年書いておりますので、ご存知の方は飛ばしてください。
FFRI Dataset についてご説明するためには、マルウェア対策研究人材育成ワークショップ (MWS) について触れる必要があります。MWS は、研究者コミュニティからマルウェア研究用データ(セット)を MWS Datasets として提供してもらい、活用するワークショップです。
マルウェアに関する専門知識を備えた研究者/実務者を育成していくことを目的として以下の 3 つの活動をしています。
- 研究用データセットの提供
- 研究成果の共有
- 切磋琢磨する環境の提供
MWS Datasets はいくつかのデータセットから構成されていますが、FFRIセキュリティ1ではうち 1 種類のデータセットを 2013 年より毎年提供しています。これが FFRI Dataset です。 2017 年以前は Cuckoo Sandbox で実行したマルウェアの動的解析ログを、2018 年以降はマルウェア及び良性ファイル (クリーンウェア) の表層情報を提供しています。
過去のデータセットについては以下の記事や資料をご覧ください。
FFRI Dataset 2022
実際のところ、FFRI Dataset 2022 は FFRI Dataset 2021 と大きく変わった点はありません。主要な表層情報解析ツールの出力を一通り取り込んだため、今回は新規ツールの追加はしておらず、生成したデータのバリデーションプロセスを改善し、ツールの出力結果の質の向上に注力しています。皆様に見えるところでは、データを取得した検体が新しくなった点と、使用しているツールやライブラリのバージョンをアップデートした点が変更点です。
アップデートにより、データセットのスキーマの一部に変更があります。詳細はスキーマをご覧ください。
(1) LIEF はバージョンアップにより Delay Import に対応しています。これによりスキーマに追加があります。
その他 Data Directories の properties の type に "RESERVED" が追加されたり、TLS の Data Directory に "Out of range" と "RESERVED" が追加されています。
(2) Detect-It-Easy はバージョンアップにより出力形式が変更されています。
FFRI Dataset 2021 のときは
{ arch: hoge, detects: [...], type: hoge, ... }
という形式でしたが、FFRI Dataset 2022 では
{ detects: [ { filetype: hoge, ... } ] }
という形式になっていますので、注意が必要です。
また、FFRI Dataset 2022 の作成には Detect-It-Easy を改変したものを使用しています。このバイナリは後述する ffridataset-scripts のリポジトリで提供しております。
FFRI Dataset を活用するためのツール群
さて、データセットそのものの話からは少し道を逸れ、データセットを活用するためのツール群について(過去記事にした事柄も含め)改めてご紹介します。
FFRIセキュリティでは、FFRI Dataset に関連するツールを複数提供しています。
最も利用しやすいのは、FEXRD ではないでしょうか。これは、FFRI Dataset から特徴ベクトルを作成するライブラリです。デモ にあるように、データセットがあれば簡単にマルウェア検知モデルが作成できます。例えばマルウェア検知の研究におけるベースラインとしてお使いいただけます。
ffridataset-scripts は FFRI Dataset と同形式のデータが検体から作成できるツールです。
お手元の検体を用いてデータセットの拡張ができます。また検体からデータがどのように生成されたかを確認できます。
また今回から、PE ファイル以外でも ffridataset-scripts は使用可能になりました。これについて説明するためには、別のデータセットにふれる必要があります。それは Soliton Dataset です。
Soliton Dataset は株式会社ソリトンシステムズ様によって提供されているデータセットであり、MWS Datasets に含まれているものの 1 つです。詳細は資料をご覧いただきたいのですが、マルウェアの動的解析ログから構成されています。その一方で、検体の表層情報も同梱されています。この表層情報は、ffridataset-scripts で取得したものです。 これまで ffridataset-scripts は PE ファイルにしか対応しておりませんでした。そのため、PE ファイル以外も存在する Soliton Dataset の検体に適用する際は、改変したスクリプトを用いていました。
今回、正式に ffridataset-scripts を PE ファイル以外にも対応させました2。 ハッシュ値の計算など可能な限り算出し、適用できない項目については出力しない形としています。将来的にはファイル形式に応じて専用のツールを追加するかもしれません。
pypeid は、PEiD の Python による実装であり、ffridataset-scripts において使用されております。
FFRI Dataset の活用例
ここでは FFRI Dataset の活用例をいくつかあげさせていただきます。実際どのように使用されているかを知ることで、FFRI Dataset 活用のヒントとなると考えます。
FFRI Dataset 2022 と同様表層情報を提供し始めた 2018 年以降のデータセットを利用したものかつ国際誌にあるものをピックアップしました。包括的なリストでないことはご容赦ください。
Robust Detection Model for Portable Execution Malware
使用データセット
FFRI Dataset 2018
URL
https://ieeexplore.ieee.org/document/9500440
Citation
W. Zheng and K. Omote, "Robust Detection Model for Portable Execution Malware," ICC 2021 - IEEE International Conference on Communications, 2021, pp. 1-6, doi: 10.1109/ICC42927.2021.9500440.
Evaluation of printable character-based malicious PE file-detection method
使用データセット
FFRI Dataset 2019~2021
URL
https://www.sciencedirect.com/science/article/pii/S2542660522000245
Citation
Mamoru Mimura, Evaluation of printable character-based malicious PE file-detection method, Internet of Things, Volume 19, 2022, 100521, ISSN 2542-6605, https://doi.org/10.1016/j.iot.2022.100521. (https://www.sciencedirect.com/science/article/pii/S2542660522000245)
Malware Detection Method using Tree-based Machine Learning Algorithms
使用データセット
FFRI Dataset 2018
URL
https://ieeexplore.ieee.org/document/9673497
Citation
S. Okada, M. Fujimoto, W. Matsuda and T. Mitsunaga, "Malware Detection Method using Tree-based Machine Learning Algorithms," 2021 IEEE International Conference on Computing (ICOCO), 2021, pp. 103-108, doi: 10.1109/ICOCO53166.2021.9673497.
Malware Detection Using Gradient Boosting Decision Trees with Customized Log Loss Function
使用データセット
FFRI Dataset 2019
URL
https://ieeexplore.ieee.org/document/9333999
Citation
S. Okada, M. Fujimoto, W. Matsuda and T. Mitsunaga, "Malware Detection Method using Tree-based Machine Learning Algorithms," 2021 IEEE International Conference on Computing (ICOCO), 2021, pp. 103-108, doi: 10.1109/ICOCO53166.2021.9673497.
Improved MalGAN: Avoiding Malware Detector by Leaning Cleanware Features
使用データセット
FFRI Dataset 2018
URL
https://ieeexplore.ieee.org/document/8669079
Citation
M. Kawai, K. Ota and M. Dong, "Improved MalGAN: Avoiding Malware Detector by Leaning Cleanware Features," 2019 International Conference on Artificial Intelligence in Information and Communication (ICAIIC), 2019, pp. 040-045, doi: 10.1109/ICAIIC.2019.8669079.
おわりに
今回は FFRI Dataset 2022 を解説し、FFRI Dataset を利用した研究をご紹介しました。
共同研究にご興味あれば MWS の Slack や research-feedback のメール3までご連絡ください。
採用にご興味あればリクルートページまで!
-
社名のFFRIは全角ですが、データセットの方は論文等での利便性のため半角英数です。↩
-
Soliton Dataset 2022 の表層情報の取得時に使用したスクリプトと、最終的に PE ファイルに対応した ffridataset-scripts としてリリースされたスクリプトは別です。前者は dataset.py で、後者は main.py です。再現性の担保のため dataset.py も提供していますが、単にスクリプトを利用する場合は main.py を使用してください。↩
-
フルのメールアドレスは CODE BLUE のスライドの最後のページなどにあります。↩