SlideShare a Scribd company logo
FFRI, Inc.

@PacSec 2013

Fighting advanced malware
Fourteenforty Research Institute, Inc.
using machine learning
村上純一
新技術開発部長
FFRI, Inc.
http://www.ffri.jp
FFRI, Inc.

自己紹介
• セキュリティ研究者@FFRI
– マルウェア解析、脆弱性解析
– Windows, Linuxでのデバイスドライバ開発等

• 各種テクニカルカンファレンスにて講演
– BlackHat USA/JP, RSA, PacSec, AVAR, etc.

• 機械学習の専門家ではない
– 機械学習の*ユーザー*

2
FFRI, Inc.

データサイエンスの定義(情報セキュリティ)

http://www.niemanlab.org/images/drew-conway-data-science-venn-diagram.jpg
3
FFRI, Inc.

データサイエンスの定義(情報セキュリティ)

http://www.niemanlab.org/images/drew-conway-data-science-venn-diagram.jpg
4
FFRI, Inc.

アジェンダ
• 背景
• 検出アプローチ
• コンピュータ vs. 人間
• リアルタイム検知への応用

• まとめ

5
FFRI, Inc.

背景 – マルウェアおよびその検出技術
生成ツール

難読化ツール

マルウェアの増加
標的型攻撃
(未知マルウェア)

パターン
マッチングの限界

他の検出手法
レピュテーション

ビッグデータ

ヒューリス
ティック

ビヘイビア

機械学習
6
FFRI, Inc.

パターンマッチングの限界
• Metascanを利用して11社の製品の検出力を評価
• 最新のマルウェアを利用
• 異なるソース・期間から2つのデータセットを用意
– test-1: 1,000 検体
– test-2: 900 検体

Pattern

Reputation
Huer.

Bhvr.

ML
7
test-1
test-2
test-1
test-2
test-1
test-2
test-1
test-2
test-1
test-2
test-1
test-2
test-1
test-2

A
B
C
D
E
F
G
H
I
J

test-1
test-2

test-1
test-2

TPR

test-1
test-2

test-1
test-2

FFRI, Inc.

パターンマッチングの限界
FNR

100%

80%

60%

40%
平均

20%

0%

K
8
FFRI, Inc.

レピュテーション検知の強み
• 基本的なコンセプトはパターンマッチングと同じ(blacklist)
• エンドポイントはパターンを持つ必要がない
• 新しいパターンの反映が容易(配信の必要がない)
2. check

1. query

3. response
Pattern

Reputation
Huer.

Bhvr.

ML
9
FFRI, Inc.

レピュテーションの弱み
• 「検知可能」 = 「既に誰かが攻撃されている」
• 自分達が初めての攻撃対象だった場合はどうか?
• 「真の標的型攻撃」に対してどの程度有効なのか?
2. check

1. query

3. response
Pattern

Reputation
Huer.

Bhvr.

ML
10
FFRI, Inc.

ヒューリスティック・ビヘイビア検知の強み
• 事前に定義した特徴、挙動に基づいて検知
– OpenProcess → WriteProcessMemory → CreateRemoteThread
– Runキー等の自動スタートポイントに自身を登録
– Windows Firewallの無効化等

• 汎用的な検知機能を提供可能
• パターンが不要
(定常的なスキャン、アップデートが不要)

Pattern

Reputation
Huer.

Bhvr.

ML
11
FFRI, Inc.

ヒューリスティック・ビヘイビア検知の弱み
• 完全な誤検知の回避が困難
• ユーザーに検出アクションを許可するか判断を仰ぐ場合も
(ユーザーの判断依存)

• 継続的なマルウェア解析、ロジックの見直しが必要
(人間よりもコンピュータに最適なタスク)

Pattern

Reputation
Huer.

Bhvr.

ML
12
FFRI, Inc.

Heuristic Behavioral Test - July 2012
• AV-comparativesが2012年よりテストを実施、結果を公開
• ビヘイビア検知は検知にほとんど寄与していない(平均:4.8%)

http://chart.av-comparatives.org/chart1.php
13
FFRI, Inc.

検出アプローチ
• 機械学習を利用したビヘイビア検出
• 既存アイディアだが産業界においてより実践的取り組み
• オープンソースを利用することで実現、自動化が容易

– Cuckoo Sandbox
– Jubatus

Pattern

Reputation
Huer.

Bhvr.

ML
14
FFRI, Inc.

機械学習による検知
Pattern

• 多くの研究が学術界で行われている
• 基本的には、分類に関する問題
• 下記の組み合わせに関する研究が主流

Reputation

Bhvr.

Huer.

ML

特徴

アルゴリズム

評価

静的情報

SVM

TPR/FRP

動的情報

ベイジアン

正確性、精度

ハイブリッド

パーセプトロン等

ROC曲線等

15
FFRI, Inc.

概要
データセット

マルウェア

動的解析
Cuckoo
Sandbox

正常系
学習セット

特徴
抽出

テストセット

加工
変換

学習

評価

Jubatus

Jubatus

TPR: X%
FPR: Y%
16
FFRI, Inc.

必要なサンプル数
• 信頼区間と呼ばれる概念

• どの程度誤差を許容するかに依存
• 下記はいずれも陽性率1%

– 1/100 (N=100)
– 10/1,000 (N=1,000)
– 100/10,000 (N=10,000)
• 1%と断定する確信が異なる
– それぞれ異なる誤差を持つ
17
FFRI, Inc.

必要なサンプル数

誤差を含んだ陽性率
(95%信頼区間)

用意したサンプル数に応じて推定誤差を計算可能

6.0%
5.0%
4.0%
3.0%
2.0%
1.0%
0.0%
100

1,000

10,000

100,000

1,000,000

(N)

18
FFRI, Inc.

マルウェア及び正常系データ
• 独自に収集している検体から無作為抽出
– マルウェア: 15,000(5,000 = 学習用, 10,000 = テスト用)
– 正常系: 15,000 (5,000 = 学習用, 10,000 = テスト用)
• ランダムであることが重要
– 異なる期間(毎日の収集データから少量ずつ抽出)
– 異なるソース
– 抽出時にファイルタイプ、マルウェア種別は考慮しない

19
FFRI, Inc.

Cuckoo Sandbox - http://www.cuckoosandbox.org/
• オープンソースのマルウェア自動解析システム
– 検体を仮想マシンにコピー
– 検体を仮想マシン内で実行
– 実行時の挙動をモニタリングし、データを記録
• APIコール, ネットワーク通信, VirusTotalの結果等

20
FFRI, Inc.

APIコール

21
FFRI, Inc.

APIコールの傾向

APIコールが完了した件数

• 多くの検体が1秒以内にAPIコールを完了する
(または呼び出し続ける) -> 5秒以内に完了したものを対象に
malware

goodware

10000
8000
6000
4000
2000
0
1s

5s

10s

15s

30s

45s

60s 60s+

経過時間
22
FFRI, Inc.

Jubatus - http://jubat.us/en/
• オンライン機械学習向け分散処理フレームワーク
– 分散処理: スケーラブル
– オンライン処理: 非バッチ処理、随時学習
• オープンソース, LGPL v2.1. 最新版0.4.5(22/07/2013)

• Preferred Infrastructure及びNTT Software Innovation Centerが開発
• 様々な機械学習をサポート
– 分類、回帰分析、推薦、異常検知等
• 利用が容易(様々な言語バインディング、特徴ベクトル変換器等)

23
FFRI, Inc.

特徴抽出及び加工

APIコールシーケンス

NtOpenFile
NtWriteFile
NtWriteFile

NtOpenFile
NtWriteFile
NtWriteFile

NtOpenFileNtWriteFileNtWriteFile
NtWriteFileNtWriteFileNtOpenFile

NtWriteFileNtOpenFileNtWriteFile

.
.
.
.
.

NtCreateProcess

24
FFRI, Inc.

特徴抽出及び加工

NtOpenFile NtWriteFile Nt
NtOpenFileNtWriteFileNtWriteFile
malware
malware
malware
label:malware

train
Jubatus

NtCreateProcess NtClose
NtCreateProcess NtClose
NtCreateProcessNtCloseNtClose
benign
NtClose
benign
NtClose
benign
label:benign

25
FFRI, Inc.

(イメージ) 学習の内部状態
出現回数、ラベルに基づいて各特徴の重みを計算、更新
malware

benign

0.0
0.25

0.75

NtClose NtClose NtClose

0.75

NtWriteFile LdrLoadDll NtDelayExecution

0.25

0.75

NtCreateProcess NtClose NtClose

0.25

0.5

NtAllocateVirtualMemory ... ...

0.5
26
FFRI, Inc.

評価結果
• N of N-gram
– 3~5-gram > 2-gram = 6-gram
• 最良値: 3-gram、log_tf-binによる重み付け
– TRP: 72.33% [71.58 ~ 73.07 % (95%信頼区間)]
– FPR: 0.77% [0.60 ~ 0.99% (95%信頼区間)]
• 上記はあくまで一つの結果
– 様々な特徴の組み合わせが存在する
(今回はAPI名とそのシーケンスのみ特徴化)
27
FFRI, Inc.

デモ

28
FFRI, Inc.

学習モデルのダンプ
• http://blog.jubat.us/2013/06/classifier.html

jubalocal_storage_dump.cpp
https://gist.github.com/t-abe/5746333
29
FFRI, Inc.

API 3-gramにおけるマルウェアらしさ
[foo@nolife classifier]$ ./dump --input model --label “malware”
0.181128
api_call$VirtualProtectEx_VirtualProtectEx_VirtualProtectEx@space#log_tf/bin
0.142254
api_call$RegOpenKeyExA_NtOpenKey_NtOpenKey@space#log_tf/bin
0.137144
api_call$NtReadFile_NtReadFile_NtFreeVirtualMemory@space#log_tf/bin
0.134443
api_call$LdrLoadDll_LdrGetProcedureAddress_VirtualProtectEx@space#log_tf/bin
0.130287
api_call$LdrLoadDll_RegOpenKeyExA_NtOpenKey@space#log_tf/bin
0.130287
api_call$DeviceIoControl_LdrLoadDll_RegOpenKeyExA@space#log_tf/bin
0.122363
api_call$VirtualProtectEx_LdrLoadDll_LdrGetProcedureAddress@space#log_tf/bin
0.102545
api_call$NtFreeVirtualMemory_LdrGetDllHandle_NtCreateFile@space#log_tf/bin
0.102485
api_call$RegCloseKey_RegCloseKey_RegCloseKey@space#log_tf/bin
0.0983165
api_call$NtReadFile_NtFreeVirtualMemory_LdrLoadDll@space#log_tf/bin
0.0966545
api_call$NtSetInformationFile_NtReadFile_NtFreeVirtualMemory@space#log_tf/bin
0.094639
api_call$NtMapViewOfSection_NtFreeVirtualMemory_NtOpenKey@space#log_tf/bin
0.0933827
api_call$NtFreeVirtualMemory_LdrLoadDll_LdrGetProcedureAddress@space#log_tf/bin
0.0905402
api_call$DeviceIoControl_DeviceIoControl_NtWriteFile@space#log_tf/bin
0.0903766
api_call$DeviceIoControl_NtWriteFile_NtWriteFile@space#log_tf/bin
0.0884724
api_call$RegOpenKeyExW_RegOpenKeyExW_LdrGetDllHandle@space#log_tf/bin
0.0853282
api_call$LdrLoadDll_LdrLoadDll_LdrLoadDll@space#log_tf/bin
...

30
FFRI, Inc.

API 3-gramにおける正常系らしさ
[foo@nolife classifier]$ ./dump --input model --label “goodware”
0.268353
api_call$LdrGetDllHandle_LdrGetDllHandle_ExitProcess@space#log_tf/bin
0.268353
api_call$LdrGetDllHandle_ExitProcess_NtTerminateProcess@space#log_tf/bin
0.259838
api_call$NtWriteFile_LdrGetDllHandle_LdrGetDllHandle@space#log_tf/bin
0.25887 api_call$NtWriteFile_NtWriteFile_LdrGetDllHandle@space#log_tf/bin
0.135514
api_call$NtOpenFile_NtOpenFile_NtCreateFile@space#log_tf/bin
0.122445
api_call$DeviceIoControl_LdrLoadDll_LdrGetProcedureAddress@space#log_tf/bin
0.12242 api_call$DeviceIoControl_DeviceIoControl_LdrGetDllHandle@space#log_tf/bin
0.119231
api_call$GetSystemMetrics_LdrLoadDll_NtCreateMutant@space#log_tf/bin
0.115319
api_call$DeviceIoControl_LdrGetDllHandle_LdrGetProcedureAddress@space#log_tf/bin
0.109306
api_call$LdrGetProcedureAddress_NtOpenKey_LdrLoadDll@space#log_tf/bin
0.105579
api_call$NtReadFile_NtReadFile_NtReadFile@space#log_tf/bin
0.104565
api_call$NtCreateFile_NtCreateFile_NtWriteFile@space#log_tf/bin
0.103304
api_call$RegOpenKeyExA_LdrGetDllHandle_LdrGetProcedureAddress@space#log_tf/bin
0.10306
api_call$VirtualProtectEx_RegOpenKeyExA_LdrGetDllHandle@space#log_tf/bin
0.100701
api_call$NtFreeVirtualMemory_NtFreeVirtualMemory_GetSystemMetrics@space#log_tf/bin
...

31
FFRI, Inc.

コンピュータ vs. 人間
• “VirtualProtectEx_VirtualProtectEx_VirtualProtectEx”
マルウェアらしさに関連しているように見える
• “RegOpenKeyExA_NtOpenKey_NtOpenKey”はどうか?

• コンピュータは人間が認識できないものを認識している
(非常に強力な左脳)
• コンピュータと協力してみてはどうか?

32
FFRI, Inc.

コンピュータを利用する
• 機械学習により学習モデルを生成する
• 人間がモデルをチェックし、新ロジックを開発
(人間の右脳を利用)

• 機械学習による検知は御し難い場合も
– 詳細な検出条件を指定できない
「コンピュータが悪と言ったから悪」(理由は不明)
• 機械学習とロジックベースの検出の掛け合わせ

33
FFRI, Inc.

リアルタイム検知への応用
• 静的情報を特徴に利用した場合
– プログラム実行前に検査可能
– パフォーマンスは選定した特徴次第
• 動的情報を特徴に利用した場合
– マルウェアは既に実行されている
– 検知が手遅れになる場合も
– この観点でも機械学習とロジックの掛け合わせは有効

34
FFRI, Inc.

まとめ
• 従来のパターンマッチングは限界を迎えている
• 現行のビヘイビア検知は検出にほとんど寄与していない
• ビヘイビア検知に機械学習を適用
– TPRが改善
– 人間には分からない特徴を発見(コンピュータが)
– これらを人間が利用することが重要

35
FFRI, Inc.

Thank you!

Contact: research-feedback@ffri.jp
Twitter: @FFRI_Research
36

More Related Content

PDF
システムコールフックを使用した攻撃検出
PDF
Exploring the x64
PDF
最新ポートスキャン対策
PDF
Android: 設計上の技術的な問題点
PDF
AVTokyo 2013.5 - China is a victim, too :-)
PDF
さらば、Stagefright 脆弱性
PDF
Report for S4x14 (SCADA Security Scientific Symposium 2014)
PPTX
面白いセキュリティツール その2
システムコールフックを使用した攻撃検出
Exploring the x64
最新ポートスキャン対策
Android: 設計上の技術的な問題点
AVTokyo 2013.5 - China is a victim, too :-)
さらば、Stagefright 脆弱性
Report for S4x14 (SCADA Security Scientific Symposium 2014)
面白いセキュリティツール その2

What's hot (6)

PPTX
Web applicationpenetrationtest その2
PDF
Appearances are deceiving: Novel offensive techniques in Windows 10/11 on ARM
PDF
ハニーポッター技術交流会
PDF
How security broken? - Androidの内部構造とマルウェア感染の可能性
PPTX
面白いセキュリティツール
PPTX
Web applicationpenetrationtest その1_解答
Web applicationpenetrationtest その2
Appearances are deceiving: Novel offensive techniques in Windows 10/11 on ARM
ハニーポッター技術交流会
How security broken? - Androidの内部構造とマルウェア感染の可能性
面白いセキュリティツール
Web applicationpenetrationtest その1_解答
Ad

Viewers also liked (7)

PDF
Jubatus Casual Talks #2 Jubatus開発者入門
PPTX
Jubatus Casual Talks #2: 大量映像・画像のための異常値検知とクラス分類
PDF
A use case of online machine learning using Jubatus
PDF
Jubatus Casual Talks #2 異常検知入門
PPTX
Jubatus Casual Talks #2 : 0.5.0の新機能(クラスタリング)の紹介
PPTX
前回のCasual Talkでいただいたご要望に対する進捗状況
PDF
機械学習チュートリアル@Jubatus Casual Talks
Jubatus Casual Talks #2 Jubatus開発者入門
Jubatus Casual Talks #2: 大量映像・画像のための異常値検知とクラス分類
A use case of online machine learning using Jubatus
Jubatus Casual Talks #2 異常検知入門
Jubatus Casual Talks #2 : 0.5.0の新機能(クラスタリング)の紹介
前回のCasual Talkでいただいたご要望に対する進捗状況
機械学習チュートリアル@Jubatus Casual Talks
Ad

Similar to Fighting advanced malware using machine learning (Japanese) (20)

PDF
Mr201306 機械学習のセキュリティ技術応用
PDF
類似度に基づいた評価データの選別によるマルウェア検知精度の向上
PDF
Mr201309 automated on-execute test using virtualbox jpn
PDF
[cb22] Mal-gopherとは?Go系マルウェアの分類のためのgimpfuzzy実装と評価 by 澤部 祐太, 甘粕 伸幸, 野村 和也
PPTX
機械学習、グラフ分析、SQLによるサイバー攻撃対策事例(金融業界)
PDF
クラウドセキュリティ
PDF
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
PDF
Microsoft Malware Classification Challenge 上位手法の紹介 (in Kaggle Study Meetup)
PPTX
これからのマルウェアの話をしよう
PPTX
MLOps NYC 2019 and Strata Data Conference NY 2019 report nttdata
PDF
Oracle Cloud Developers Meetup@東京
PDF
20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京
PDF
20160121 データサイエンティスト協会 木曜セミナー #5
PDF
2012-04-25 ASPLOS2012出張報告(公開版)
PPTX
機械学習応用システムの開発技術 (機械学習工学) の現状と今後の展望
PDF
スマートエスイーセミナー:機外学習応用システムパターンの例
PPTX
AI/ML開発・運用ワークフロー検討案(日本ソフトウェア科学会 機械学習工学研究会 本番適用のためのインフラと運用WG主催 討論会)
PPTX
Windows 10 IoT Coreの脅威分析と実施すべきセキュリティ対策 by 和栗直英 - CODE BLUE 2015
PDF
機械学習工学と機械学習応用システムの開発@SmartSEセミナー(2021/3/30)
PDF
サイバーエージェントにおけるMLOpsに関する取り組み at PyDataTokyo 23
Mr201306 機械学習のセキュリティ技術応用
類似度に基づいた評価データの選別によるマルウェア検知精度の向上
Mr201309 automated on-execute test using virtualbox jpn
[cb22] Mal-gopherとは?Go系マルウェアの分類のためのgimpfuzzy実装と評価 by 澤部 祐太, 甘粕 伸幸, 野村 和也
機械学習、グラフ分析、SQLによるサイバー攻撃対策事例(金融業界)
クラウドセキュリティ
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
Microsoft Malware Classification Challenge 上位手法の紹介 (in Kaggle Study Meetup)
これからのマルウェアの話をしよう
MLOps NYC 2019 and Strata Data Conference NY 2019 report nttdata
Oracle Cloud Developers Meetup@東京
20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京
20160121 データサイエンティスト協会 木曜セミナー #5
2012-04-25 ASPLOS2012出張報告(公開版)
機械学習応用システムの開発技術 (機械学習工学) の現状と今後の展望
スマートエスイーセミナー:機外学習応用システムパターンの例
AI/ML開発・運用ワークフロー検討案(日本ソフトウェア科学会 機械学習工学研究会 本番適用のためのインフラと運用WG主催 討論会)
Windows 10 IoT Coreの脅威分析と実施すべきセキュリティ対策 by 和栗直英 - CODE BLUE 2015
機械学習工学と機械学習応用システムの開発@SmartSEセミナー(2021/3/30)
サイバーエージェントにおけるMLOpsに関する取り組み at PyDataTokyo 23

More from FFRI, Inc. (20)

PDF
Appearances are deceiving: Novel offensive techniques in Windows 10/11 on ARM
PDF
TrustZone use case and trend (FFRI Monthly Research Mar 2017)
PDF
Android Things Security Research in Developer Preview 2 (FFRI Monthly Researc...
PDF
An Overview of the Android Things Security (FFRI Monthly Research Jan 2017)
PDF
Black Hat Europe 2016 Survey Report (FFRI Monthly Research Dec 2016)
PDF
An Example of use the Threat Modeling Tool (FFRI Monthly Research Nov 2016)
PDF
STRIDE Variants and Security Requirements-based Threat Analysis (FFRI Monthly...
PDF
Introduction of Threat Analysis Methods(FFRI Monthly Research 2016.9)
PDF
Black Hat USA 2016 Survey Report (FFRI Monthly Research 2016.8)
PDF
About security assessment framework “CHIPSEC” (FFRI Monthly Research 2016.7)
PDF
Black Hat USA 2016 Pre-Survey (FFRI Monthly Research 2016.6)
PDF
Black Hat Asia 2016 Survey Report (FFRI Monthly Research 2016.4)
PDF
ARMv8-M TrustZone: A New Security Feature for Embedded Systems (FFRI Monthly ...
PDF
CODE BLUE 2015 Report (FFRI Monthly Research 2015.11)
PDF
Latest Security Reports of Automobile and Vulnerability Assessment by CVSS v3...
PDF
Black Hat USA 2015 Survey Report (FFRI Monthly Research 201508)
PDF
A Survey of Threats in OS X and iOS(FFRI Monthly Research 201507)
PDF
Security of Windows 10 IoT Core(FFRI Monthly Research 201506)
PDF
Trend of Next-Gen In-Vehicle Network Standard and Current State of Security(F...
PDF
Malwarem armed with PowerShell
Appearances are deceiving: Novel offensive techniques in Windows 10/11 on ARM
TrustZone use case and trend (FFRI Monthly Research Mar 2017)
Android Things Security Research in Developer Preview 2 (FFRI Monthly Researc...
An Overview of the Android Things Security (FFRI Monthly Research Jan 2017)
Black Hat Europe 2016 Survey Report (FFRI Monthly Research Dec 2016)
An Example of use the Threat Modeling Tool (FFRI Monthly Research Nov 2016)
STRIDE Variants and Security Requirements-based Threat Analysis (FFRI Monthly...
Introduction of Threat Analysis Methods(FFRI Monthly Research 2016.9)
Black Hat USA 2016 Survey Report (FFRI Monthly Research 2016.8)
About security assessment framework “CHIPSEC” (FFRI Monthly Research 2016.7)
Black Hat USA 2016 Pre-Survey (FFRI Monthly Research 2016.6)
Black Hat Asia 2016 Survey Report (FFRI Monthly Research 2016.4)
ARMv8-M TrustZone: A New Security Feature for Embedded Systems (FFRI Monthly ...
CODE BLUE 2015 Report (FFRI Monthly Research 2015.11)
Latest Security Reports of Automobile and Vulnerability Assessment by CVSS v3...
Black Hat USA 2015 Survey Report (FFRI Monthly Research 201508)
A Survey of Threats in OS X and iOS(FFRI Monthly Research 201507)
Security of Windows 10 IoT Core(FFRI Monthly Research 201506)
Trend of Next-Gen In-Vehicle Network Standard and Current State of Security(F...
Malwarem armed with PowerShell

Fighting advanced malware using machine learning (Japanese)