Capsule Neural Networkに基づくマルウェア分類手法
Malware classification method based on Capsule NeuralNetwork

学籍番号 : 5595503
氏 名 : 加藤 秀記

1. マルウェアの現状
2019年時点で、マルウェアの数は10億を突破！
近年はIoT機器をターゲットにしたマルウェアも出現してきた。

今後も増加傾向https://www.av-test.org/en/statistics/malware/12. 既存マルウェア対策の課題
マルウェア対策に不可欠なこと
マルウェアを解析し、詳細な情報を収集すること→得た情報から、その適切な処置・行動を決定することが可能

主なマルウェアの解析方法
・ 静的解析
・ 動的解析
実際には、両者を組み合わせて、人手でマルウェアについて解析を実施

既存マルウェア解析の問題点
1. 高い技術力、経験などが必要
2. 人手のため、解析に時間がかかる増加し続けるマルウェアの解析に、人手のみでは限界がある！

マルウェアの解析を効率化する方法が求められている！！
2

3. マルウェアの分類についてマルウェアを解析する中で、どのような種類に属するかの情報は重要！
WHY?
・ 種類が特定できれば、同じ種類に属する既存マルウェアとの比較→ノウハウからより効率的な解析が可能になる。

高精度・短時間でのマルウェア分類手法の確立はマルウェア解析の効率化に重要な役割を持つ！

3

4. マルウェア分類研究
マルウェアの分類については多くの手法が提案されてきた。
マルウェアの画像化による分類する手法 (参考論文[1])Why 画像?
・ バイナリの異なるセクションを画像化することで簡単に見分けられる。
・ マルウェアのコーディングでは、0から作成するより、既存のマルウェアの一部を変更して亜種を作成することが多い。
→亜種と原種では似たコードであることが推測される。画像化によってそれを簡単に判別できる。

How 画像?

バイナリファイルからPNGファイルへの変換方法(参考論文[1]より引用)
44. マルウェア分類研究セクションごとに画像パターンが異なる

上3つは、Fakereanに分類されるマルウェア

下3つは、Dontovo.Aに分類されるマルウェ
ア

左 : 画像によるマルウェアのセクションの可視化
右 : 種類の違いによるマルウェアの画像パターンの違い(参考論文[1]より引用)
5

4. マルウェア分類研究
画像に見られるパターンを畳み込みニューラルネットワーク(CNN)を使って学習させる研究がある。
CNNには欠点もある！

1. 精度向上のためには学習データの指数的増加が必要
2. 学習を進める中で、貴重な情報(画像の空間情報)の損失がある(特にプーリング層)。
そこで、G. E. Hinton氏は、CNNから上記の欠点を改善した

Capsule Neural Network(CapsNet)(参考論文[2])を考案

6

5. Capsule Neural NetworkとはCapsNetは、neuronをまとめてベクトル化したCapsuleという概念を導入。
neuronによるニューラルネットワーク

一般的なCNNの構造(参考URL[1]より引用)

学習はこの枠内で進む
もっとも単純なCapsNetの概要図(参考論文[2]より引用)

Capsuleによるニューラルネットワーク
7

5. Capsule Neural Networkとは学習で、保持する情報が増加(スカラー→ベクトル)したため、CapsNetは従来のCNNと比較して、以下のような強みがあるといわれている。
・ 高精度・高汎用性を実現するにあたっての、学習用のデータセットの指数関数的な増強が不要。
→限られたデータでも高い精度を維持できるといわれている。
近年、CapsNetも徐々に研究事例が報告され、マルウェア分類に利用した研究もある

8

6. 先行研究
A Novel Malware Detection and Classification Method Based on Capsule Network
Shu-wei Wang, Gang Zhou, Ji-cang Lu and Feng-juan Zhang

Springer Nature Switzerland AG 2019
X. Sun et al. (Eds.): ICAIS 2019, LNCS 11632, pp. 573–584, 2019.

9

6. 先行研究
Random CapsNet Forest Model for Imbalanced Malware Type Classification Task
Aykut C¸ ayır, Ug˘ur U¨ nal, Hasan Dag˘
Preprint submitted to Computers & Security December 24, 2019

2つの先行研究からともに高いAccuracyを実現。
→しかし、CNNでも同程度のAccuracyは既に実現済
10

7. 先行研究からの課題
課題1
Accuracyの比較だけでは、CapsNetの利点が少ない。
・ CNNと比べ、複雑なアルゴリズム(Dynamic Routing)・ コーディングが複雑→同程度のAccuracyであれば、CNNを選択
Dynamic Routing

Dynamic Routingアルゴリズム(参考論文[2]より引用)
11

7. 先行研究からの課題
課題2
学習モデルを構築する際、画像サイズ、Capsuleの次元数の選定理由がなく、最適な学習条件はTry&Errorの繰り返しをするしかない。

12

8. 本研究について
研究目的
1. CapsNetとCNN(ResNet50(※))によるマルウェア分類で、Accuracy以外の優位性を明らかにする
2. CapsNetによるマルウェア分類で、高精度化や学習時間改善の条件を明確化して、ガイドラインを提案する※ResNetResNet50では、層の数が計50層
ResNetの概要図(参考論文[3]より引用)
13

9. 実験について
実験データ
・ Microsoft Malware Classification Challenge(以降BIG 2015)
・ Malimg
実験データ構成
データセット名

マルウェアの種類

データ数

構成ファイルBIG 2015

910868・ BYTEファイル(※)
・ ASMファイル

Malimg259339PNGファイル※ 実験では、BYTEファイルからPNGファイルを作成

14

9. 実験について
画像作成方法(a)
2桁の16進数を学習用に画像を圧縮1pixelとして色深度変換

BYTEファイル

PNGファイル(b)

圧縮後
PNGファイル

学習用に画像を圧縮
PNGファイル

圧縮後
PNGファイル(a) : BIG2015, (b) : Malimg

159. 実験について使用するCapsNetイメージ(BIG2015)
1層目
ReLU Conv1

2層目

3層目

256

Digit Caps

9x999x9

PrimaryCaps

8643216

Wij = [8 ×16]

56249||L2||

169. 実験について使用するCapsNetイメージ(Malimg)
1層目
ReLU Conv1

3層目

2層目
2569x9

Digit Caps
9x9

PrimaryCaps 82564325624
Wij = [8 ×16]

1625||L2||
179. 実験について
実験1
学習に使用するデータ数を制限し、過学習の傾向をResNet50と比較

過学習の発生は、検証におけるLoss曲線のoverfitting領域での増加で判別可能→Loss曲線のoverfitting領域における近似直線の傾きから判断

過学習発生の判断基準(参考論文[4]より引用)

18

9. 実験について
実験1では、データセットを学習用と検証用2種類に分割する際、それぞれのデータ数の割合を下表が示すように変化させた。
学習用データ : 検証用データ(データ数の割合)8:2
7:3
6:4
5:5
4:6

3:7
2:8

データの割合を変化させることで、少ないデータの学習からマルウェアを分類させる状況を発生
19

9. 実験について
実験2(※)
学習に使用する画像サイズ、第1層目のチャンネル数、第2層目のカプセル(PrimaryCaps)の奥行などを変化させ、Accuracy、Loss、学習時間の変化を計測(※) 実験2では、画像サイズの変化のみ、ResNet50との比較を行った。

20

10. 実験結果(実験1)
Accuracy比較(a) CapsNet(BIG2015)(b) CapsNet(Malimg),(c) ResNet50(BIG2015)(d) ResNet50(Malimg)

2110. 実験結果(実験1)Loss比較
(a) CapsNet(BIG2015)(b) CapsNet(Malimg),(c) ResNet50(BIG2015)(d) ResNet50(Malimg)

2210. 実験結果(実験1)
Loss 近似直線傾き比較
学習 : 検証

CapsNet(BIG2015)

ResNet50(BIG2015)

CapsNet(Malimg)

ResNet50(Malimg)

8 : 27 : 3
6 : 45 : 54 : 63 : 7
2 : 8
CapsNetの傾きがResNet50より小さい

CapsNetの傾きは常にマイナス
2310. 実験結果(実験2 : 画像サイズ)
Accuracy比較(a) CapsNet(BIG2015)(b) CapsNet(Malimg)(c) ResNet50(BIG2015)(d) ResNet50(Malimg)

2410. 実験結果(実験2 : 画像サイズ)
学習時間比較
(a) CapsNet(BIG2015)(b) CapsNet(Malimg)
2次の多項式によく近似(c) ResNet50(BIG2015)(d) ResNet50(Malimg)
1次の多項式(直線)によく近似

2510. 実験結果(実験2 : 第1層目チャンネル数)
Accuracy, Loss比較(a) Accuracy(BIG2015)(b) Accuracy(Malimg)(c) Loss(BIG2015)(d) Loss(Malimg)

26

10. 実験結果(実験2 : 第1層目チャンネル数)
Loss 近似直線傾き比較

チャンネルサイズ(px)BIG2015

Malimg

16326412825627

10. 実験結果(実験2 : 第1層目チャンネル数)
学習時間比較
チャンネル数が増加することで、学習時間は直線的に増加する。
(a) BIG2015(b) Malimg

2810. 実験結果(実験2 :PrimaryCapsの奥行)
Accuracy, Loss比較(a) Accuracy(BIG2015)(b) Accuracy(Malimg)(c) Loss(BIG2015)(d) Loss(Malimg)

2910. 実験結果(実験2 :PrimaryCapsの奥行)
Loss 近似直線傾き比較
PrimaryCaps奥行

BIG2015Malimg

4816326430

10. 実験結果(実験2 :PrimaryCapsの奥行)
学習時間比較
学習時間はPrimaryCapsの奥行(次元数)の-0.4乗に比例して短縮(a) BIG2015(b) Malimg

3111. 考察(実験1)
過学習への耐性について
学習モデル

近似直線の傾きの傾向(BIG2015) 近似直線の傾きの傾向(Malimg)

CapsNet

すべての学習において負ResNet50

すべての学習において正CapsNetでCNNより高い過学習耐性が見られた。
過学習耐性の理由
情報がニューロンのスカラー値からCapsuleのベクトルになることで、保持できる情報量が増加したことが考えられる。

32

11. 考察(実験2)
学習条件による精度、Loss、学習時間の変化
条件

傾向が見られた
条件変化

傾向(Accuracy)

傾向(Loss)

傾向(学習時間)

画像サイズ

大きい

高くなる

-2次の多項式に近似して増加

第1層目 チャン
ネル数

多い

高くなる

-

直線に近似して増加

第2層目
Primary Caps
奥行多い--

画像サイズ、第1層目のチャンネル数の傾向について→より多くの特徴量を学習に使用できるためと考えられる
第2層目のPrimaryCapsの奥行増加で見られた傾向について→Dynamic Routingの試行回数の減少によるものと考えられる。
33

12. 結論
研究目的1の、Accuracy以外のCapsNetの優位性を明確化。
学習モデル
CNN
CapsNetAccuracy

過学習耐性

高い
高い

低い
高い

研究目的2の、学習における条件によるAccuracy、Loss、学習時間の変化の傾向を明確化し、結果に基づくガイドラインを提案できた。

34

13. 提案するガイドライン
データセット作成
CapsNetでは、画像から抽出できる特徴の数が多いほど、Accuracyの向上につながる。そのため、学習に使用する画像のサイズは大きいほどよい。
第1層目の畳み込みとReLUのチャンネル数
CapsNetでは、学習に使用できる特徴の量がAccuracyにおいて重要な要素となる。よって、第1層目の畳み込みとReLUのチャンネル数は多いほどAccuracyの向上につながる。

第2層目のPrimaryCapsの奥行(次元数)PrimaryCapsの奥行(次元数)は、増加させることである程度の学習時間の短縮が可能である。精度に影響なく学習時間を短縮したい場合は、次元数を増加させる。
35

14. 今後の研究
1. 本実験で得た傾向(過学習への耐性、条件の変化)の根拠を明確化
2. 過学習以外(F1値、Recallなど)の優位性の明確化
3. 学習の入力として、画像以外の方法の模索(※)(※)先行研究としてWord2vecとCNNを組み合わせたTextClassificationを実現する学習モデルが考案されている。
→CapsNetとの組み合わせを検討。

36

15. 付録(参考論文)[1] : Malware images: visualization and automatic classication, VizSec, p. 4 (2011).
Nataraj, L. et al.
[2] : Dynamic routing between capsules. Sara, S., Nicholas, F., Geoffrey, H.
Advances in Neural Information Processing Systems, pp. 3859–3869 (2017 )[3] : Deep Residual Learning for Image Recognition. Kaiming He, Xiangyu Zhang,Shaoqing Ren, Jian Sun. Microsoft Research[4] : Convolutional neural networks: an overview and application in radiology.
Rikiya Yamashita, Mizuho Nishio, Richard Kinh Gian Do & Kaori Togashi:Insights
into Imaging (2018) 9:611–629

37

15. 付録(参考URL)[1] : https://www.analyticsvidhya.com/blog/2020/10/what-is-the-convolutionalneural-network-architecture/38