SlideShare a Scribd company logo
Who is the Mal-Gopher?
- Implementation and Evaluation of “gimpfuzzy” for Go Malware Classification
Yuta Sawabe / Nobuyuki Amakasu / Kazuya Nomura
NTT Security Holdings
© NTT Security Holdings All Rights Reserved
About Us
• 澤部 祐太 (Yuta Sawabe)
• 主にログ分析やマルウェア解析に従事
• 2019年情報処理学会JIP特選論文受賞、JSAC 2022、Botconf 2021/2022にて登壇
• 甘粕 伸幸 (Nobuyuki Amakasu)
• 主にEDRログ分析やマルウェア解析に従事
• 以前SEとしてシステム構築などを担当していたが、2018年より現職
• 野村 和也 (Kazuya Nomura)
• 主な業務はIPS/IDS/EDRでのアラート監視 / ログ分析
• MWS2020論文賞受賞、SecHack2020優秀修了生
2
2022
© NTT Security Holdings All Rights Reserved
Motivation & Goal
Goマルウェアの増加
• Goバイナリ特有の構造を持つために適切な分析手法を用いることが必要
• 高速に分類することへの需要が高まる
Goマルウェアを効率よく分類する「gimpfuzzy」の提案
• 手法の紹介
• データセットを利用した判別精度の評価
• gimpfuzzyを利用した分類の例
3
2022
© NTT Security Holdings All Rights Reserved
Go Malware
© NTT Security Holdings All Rights Reserved
2022

Recommended for you

[cb22] Hayabusa Threat Hunting and Fast Forensics in Windows environments fo...
[cb22] Hayabusa  Threat Hunting and Fast Forensics in Windows environments fo...[cb22] Hayabusa  Threat Hunting and Fast Forensics in Windows environments fo...
[cb22] Hayabusa Threat Hunting and Fast Forensics in Windows environments fo...

It started with computer hacking and Japanese linguistics as a kid. Zach Mathis has been based in Kobe, Japan, and has performed both red team services as well as blue team incident response and defense consultation for major Japanese global Japanese corporations since 2006. He is the founder of Yamato Security, one of the largest and most popular hands-on security communities in Japan, and has been providing free training since 2012 to help improve the local security community. Since 2016, he has been teaching security for the SANS institute and holds numerous GIAC certifications. Currently, he is working with other Yamato security members to provide free and open-source security tools to help security analysts with their work.

CTF for ビギナーズ バイナリ講習資料
CTF for ビギナーズ バイナリ講習資料CTF for ビギナーズ バイナリ講習資料
CTF for ビギナーズ バイナリ講習資料

CTF for ビギナーズのバイナリ講習で使用した資料です。 講習に使用したファイルは、以下のリンク先にあります。 https://onedrive.live.com/redir?resid=5EC2715BAF0C5F2B!10056&authkey=!ANE0wqC_trouhy0&ithint=folder%2czip

Csw2017 bazhaniuk exploring_yoursystemdeeper_updated
Csw2017 bazhaniuk exploring_yoursystemdeeper_updatedCsw2017 bazhaniuk exploring_yoursystemdeeper_updated
Csw2017 bazhaniuk exploring_yoursystemdeeper_updated

Chipsec is an open source framework for assessing platform security. It can be used to find vulnerabilities in system firmware like BIOS, UEFI and Mac EFI. Some examples shown include exploiting S3 resume boot script vulnerabilities to gain persistence, attacking hypervisors via SMM pointers, and checking for issues with MMIO BAR registers. The tool can also detect "problems" like unlocked firmware, missing hardware protections, and analyze real-world malware implants targeting firmware like DerStarke and HackingTeam UEFI rootkits.

© NTT Security Holdings All Rights Reserved
Go Malware
• Go / Golang
• 2007年にGoogleが設計したオープンソースのプログラミング言語
• 並行���、高速に動作、コードの記述が容易
• クロスプラットフォーム: 単一のコードをベースに複数の動作環境へのビルドが可能
• Goで書かれたマルウェアが増加
• 充実したライブラリを利用した Ransomware / RAT / Botnet
• クロスプラットフォームを生かした MaaS (Malware as a Service) / RaaS (Ransomware as a Service)
• 既存のマルウェアのダウンローダー、ドロッパーに活用される事例も存在
2022
The Go gopher was designed by Renee French. (http://reneefrench.blogspot.com/)
The design is licensed under the Creative Commons 3.0 Attributions license.
Read this article for more details: https://blog.golang.org/gopher
5
© NTT Security Holdings All Rights Reserved
Go Malware
2022
2012
Encriyoko RobbinHood
Zebrocy
(APT28)
WellMess
(APT29)
2018 2020
Blackrota
SNAKE
/ EKANS
ElectroRAT
PlugX Loader
(Mustang Panda
/ TA416)
ChaChi
Epsilon Red
2021
YamaBot
/ Kaos
2022
Chaos
Nerbian
Arid Gopher
2019
RAT
Ransomware
Party Ticket
Babuk Agenda
Snatch
Others
6
IPStorm
2016 2017
AthenaGo
Linux.Lady
Linux.Rex
© NTT Security Holdings All Rights Reserved
攻撃者 から見た Go Malware
• 単一のコードから複数のプラットフォームを標的とする検体が生成可能
• 高速に動作し、堅牢なコードが容易に記述できる
• ファイルサイズが大きいため、AV・サンドボックスによる検知を回避
2022
https://github.com/tiagorlampert/CHAOS
https://github.com/redcode-labs/Coldfire
7
© NTT Security Holdings All Rights Reserved
解析者 から見た Go Malware
(相対的に) リバースエンジニアリングが難しい
• ライブラリが静的にリンクされており、解析対象が大幅に増加
• 言語に対応した解析ツールが少ない
• 解析者がGoバイナリ特有の挙動に慣れていない
2022
高速に分類する手法が求められる
C hello world Go hello world
71
Functions
1443
Functions
8

Recommended for you

初心者向けCTFのWeb分野の強化法
初心者向けCTFのWeb分野の強化法初心者向けCTFのWeb分野の強化法
初心者向けCTFのWeb分野の強化法

2019/10/16 初心者向けCTFのWeb分野の強化法 CTFのweb分野を勉強しているものの本番でなかなか解けないと悩んでいないでしょうか?そんな悩みを持った方を対象に、私の経験からweb分野の強化法を解説します。 How to strengthen the CTF Web field for beginners !! Although you are studying the CTF web field, are you worried that you can't solve it in production? For those who have such problems, I will explain how to strengthen the web field based on my experience. (study group) https://yahoo-osaka.connpass.com/event/149524/

ctf
Learn C Programming Language by Using GDB
Learn C Programming Language by Using GDBLearn C Programming Language by Using GDB
Learn C Programming Language by Using GDB

This document discusses using GDB to relearn C programming. It provides background on using GDB to debug a simple embedded Ajax system called eServ. Key steps outlined include downloading and compiling eServ, using basic GDB commands like run, break, list, and next to observe the program's execution and set breakpoints. The goal is to analyze the system and gain skills in UNIX system programming development.

debuggergdbclang
PWNの超入門 大和セキュリティ神戸 2018-03-25
PWNの超入門 大和セキュリティ神戸 2018-03-25PWNの超入門 大和セキュリティ神戸 2018-03-25
PWNの超入門 大和セキュリティ神戸 2018-03-25

PWNの超入門 大和セキュリティ神戸 2018-03-25 microcorruption ctf

バイナリpwnエクスプロイト
© NTT Security Holdings All Rights Reserved
gimpfuzzy
© NTT Security Holdings All Rights Reserved
2022
© NTT Security Holdings All Rights Reserved
バイナリを識別する指標
2022
• ssdeep
• TLSH
• imphash
• impfuzzy
• gimphash https://www.virustotal.com/
https://bazaar.abuse.ch/
10
© NTT Security Holdings All Rights Reserved
gimphash
• Golangバイナリ版のimphash
• Golangバイナリはプラットフォームに拠らずpclntabと呼ばれる構造を持つ
• 依存するパッケージ名や関数名などを復元可能
• gimphashは復元したパッケージ名/関数名のうち、汎用的なものを削除した一部をSHA256でハッシュ化したもの
• マルウェアが依存する機能を一意に表現可能だが、異なるハッシュの比較は不可能
2022
github.com/example/ExampleFunction
github.com/example/Malicious
os.Getenv
Crypto/sha256/New
・・・
gimphash
pclntab
関数名でフィルタ
+
sha256
e3b0c44298・・・
11
© NTT Security Holdings All Rights Reserved
gimpfuzzy
• gimphashをFuzzy Hashに
• SHA256は入力が1bitでも違えば出力は大きく変化するので、バージョン違いなど「似ているもの」の比較が不可能
• Fuzzy Hashを利用することで検体間の類似度が測定可能に
2022
github.com/example/ExampleFunction
github.com/example/Malicious
os.Getenv
Crypto/sha256/New
・・・
gimpfuzzy
pclntab
github.com/example/AnotherFunction
github.com/example/Malicious
os.Getenv
Crypto/sha256/New
・・・
3:j4dwGIVWYvgxN4dw
GIV3MNWzYKKKvTKrs
:j4mGggximGCMcTjKrs
3:j4dwGIV++RSXzM9xN4d
wGIV3MNWzYKKKvTKrs:j4
mGduSXg9ximGCMcTjKrs
類似度を比較可能
12

Recommended for you

Use After Free 脆弱性攻撃を試す
Use After Free 脆弱性攻撃を試すUse After Free 脆弱性攻撃を試す
Use After Free 脆弱性攻撃を試す

Use After Free 脆弱性攻撃をコピペで試す セキュリティ初心者の備忘録ノート

冬のLock free祭り safe
冬のLock free祭り safe冬のLock free祭り safe
冬のLock free祭り safe
concurrentlockfreeprogramming
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpRSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp

2017/02/21 の #ssmjp で発表した際のスライドです。

cryptorsa暗号rsa
© NTT Security Holdings All Rights Reserved
検証方法
• Palo Alto Networksが公開しているGoマルウェア分類リストを利用
• 検体のSHA256
• ファミリの分類結果
• リストから約7900検体、 53ファミリを収集
• 判別精度を検証
2022
https://unit42.paloaltonetworks.jp/the-gopher-in-the-room-analysis-of-golang-malware-in-the-wild/
13
© NTT Security Holdings All Rights Reserved
検証方法:gimphash
2022
gimphashの判別率イメージ:ファミリ内の検体のスコアの組み合わせの例
A B C D E F
A 100 100 0 0 0 0
B 100 100 0 0 0 0
C 0 0 100 0 0 0
D 0 0 0 100 0 0
E 0 0 0 0 100 100
F 0 0 0 0 100 100
Τ
(2C2 + 2C2) 6C2
=
2
15
= 0.133
完全一致かそうでないか
(スコア=100 or 0)
のみ評価可能
自身のハッシュとは
必ず一致
2C2 =1
2C2 =1
14
© NTT Security Holdings All Rights Reserved
検証方法:gimphash
判別率:同一ファミリ内で2つの検体を取り出した場合に同じgimphashになる確率
例:
ファミリの検体数:45
Τ
(21C2 + 14C2) 45C2
2022
count gimphash
-------------------------------------------------------------------------------------------------------------------
21 a2d8e06ce26e22f787fd9a9b44651f9493a3eae26847aa5cdf82a40c8bbc0f28
14 a307414aea2e294e69b425c65409774ed1552351fa8af099c3a643c5320f4411
1 f7c31d1ed7aad92f725d48827f9764abac9edd3f7e0cf6dcdfb93aea5e832ebd
15
© NTT Security Holdings All Rights Reserved
検証方法:gimpfuzzy
判別率:同一ファミリ内で2つの検体を取り出した場合に類似度が閾値以上になる確率
gimpfuzzy類似度スコア算出方法
2022
$ cat sample1.bin.gimpfuzzy
ssdeep,1.1--blocksize:hash:hash,filename
1536:R1IUKvE0I5WsS4KmdZo9uihOQGMbH6gWx:R1KvIoj4KmdZo9ucGMbH6gWx,"sample1.bin"
$ cat sample2.bin.gimpfuzzy
ssdeep,1.1--blocksize:hash:hash,filename
1536:x/KKvOm0I5WsS4cm5Zo9uihOQGMbH6gW7:5KKQIoj4cm5Zo9ucGMbH6gW7,"sample2.bin"
$ ssdeep -a -k sample1.bin.gimpfuzzy sample2.bin.gimpfuzzy
sample2.bin.gimpfuzzy:sample2.bin matches sample1.bin.gimpfuzzy:sample1.bin (77)
スコア
16

Recommended for you

Understand more about C
Understand more about CUnderstand more about C
Understand more about C

The code compares pointers and arrays in C by printing their sizes and string lengths. When a string literal is assigned to a pointer, sizeof(pointer) returns the pointer size rather than the string length, while sizeof(array) returns the full array size including the null terminator. strlen(pointer) and strlen(array) both return the string length excluding the null terminator. When an array is passed to a function, it converts to a pointer and sizeof then returns the pointer size rather than full array size.

compilerarmc
[cb22] SMARTIAN: Enhancing Smart Contract Fuzzing with Static and Dynamic Da...
[cb22]  SMARTIAN: Enhancing Smart Contract Fuzzing with Static and Dynamic Da...[cb22]  SMARTIAN: Enhancing Smart Contract Fuzzing with Static and Dynamic Da...
[cb22] SMARTIAN: Enhancing Smart Contract Fuzzing with Static and Dynamic Da...

Smartian is a tool that enhances smart contract fuzzing with static and dynamic data-flow analyses. It integrates static analysis to identify promising sequences of function calls for generating initial fuzzing seeds. It then uses dynamic analysis to mutate function arguments to realize expected data flows across functions. Smartian implements bug oracles for 13 classes of smart contract bugs. Evaluation shows Smartian outperforms other fuzzers and symbolic executors on benchmarks with known bugs, demonstrating the effectiveness of integrating static and dynamic analyses for smart contract fuzzing.

Substitution cipher and Its Cryptanalysis
Substitution cipher and Its CryptanalysisSubstitution cipher and Its Cryptanalysis
Substitution cipher and Its Cryptanalysis

Substitution Cipher classical cipher and monoalphabetic and polyalphabetic cipher and its cryptanalysis . Correctness and security and learning analysis

cryptanalysissubstitution ciphermonoalphabetic cipher
© NTT Security Holdings All Rights Reserved
検証方法:gimpfuzzy
2022
gimpfuzzy (スコア閾値>60) の判別率イメージ:ファミリ内の検体のスコアの組み合わせ
A B C D E F
A 100 100 70 80 0 0
B 100 100 65 90 0 0
C 70 65 100 70 0 0
D 80 90 70 100 0 0
E 0 0 0 0 100 100
F 0 0 0 100 100
Τ
(4C2 + 2C2) 6C2
=
7
15
= 0.466
入力の類似度を基にした
評価が可能に
4C2 =6
2C2 =1
17
© NTT Security Holdings All Rights Reserved
検証結果:判別率
2022
gimphash gimpfuzzy(>=80) gimpfuzzy(>=70) gimpfuzzy(>=60)
平均判別率 7.32 47.85 67.37 79.98
(veil除外) 17.64 37.89 46.13 55.94
18
0
10
20
30
40
50
60
70
80
90
100
A B C D E F G H I J K L M N O P Q R S T U V W
判別率
© NTT Security Holdings All Rights Reserved
検証結果
• ファミリ内の検体とのスコア比較
• あるファミリの検体に��して、同一ファミリに属するすべての検体とのスコアを比較(重複は除去)
• ファミリ内の組み合わせのスコア分布を調査
2022
70
100
75
70
0
同一ファミリ内でも
ハッシュが全く異なる
スコア=0の検体の
組み合わせが存在
同一ファミリ内で
ハッシュが類似する
多くの検体の組み合わせが
スコア68以上に分布
※色はファミリを示す
19
© NTT Security Holdings All Rights Reserved
検証結果
• ファミリ外の検体とのスコア比較
• あるファミリの検体に対して、違うファミリに属するすべての検体とのスコアを比較(重複は除去)
• 75%の組み合わせは全く異なるハッシュ (スコア0) をもつが、25%の組み合わせはハッシュが類似
2022
20
50
60
スコア=0は省略
多くの検体で
スコア69未満
※色はファミリを示す
20

Recommended for you

Lockfree Queue
Lockfree QueueLockfree Queue
Lockfree Queue

Lockfree queue introduction in Japanese.

私とOSSの25年
私とOSSの25年私とOSSの25年
私とOSSの25年

早稲田大学情報理工学科講演会 20210515

ossxbyakpairing
© NTT Security Holdings All Rights Reserved
検証結果
• クラスタリングを行う閾値の決め方
• 過不足なくファミリ分類を行える閾値
• 閾値以上のものをファミリ内とみなし調査
• TP →閾値以上で実際にファミリ内である組み合わせ
• TN →閾値以下で実際にファミリ外である組み合わせ
• FP →閾値以上で実際はファミリ外である組み合わせ
• FN →閾値以下で実際はファミリ内である組み合わせ
• 単純な正解率での評価は困難
• ファミリ内の検体の個数<<ファミリ外の検体の個数
• TP/FP/FNの割合を平等に評価する必要性
2022
〇TP
実際にファミリ内
〇TN
実際にファミリ外
×FN
実際はファミリ内
×FP
実際はファミリ外
ファミリ外とみなす ファミリ内とみなす
正解
不正解
ファミリ内とみなす閾値を動かして精度を検証
21
© NTT Security Holdings All Rights Reserved
検証結果
• F-measureで評価
• 適合率:本当にファミリ内だった割合
• 再現率:取りこぼさなかった割合
• F-measure : 適合率と再現率の調和平均
• 閾値=68が最も妥当
• 直感的なグラフの分布とも一致
2022
〇TP
×FP
〇TP +
〇TP
×FN
〇TP +
閾値=68
スコア=0は省略
22
© NTT Security Holdings All Rights Reserved
Case Study
© NTT Security Holdings All Rights Reserved
2022
© NTT Security Holdings All Rights Reserved
Case Study 1: Cross Platform
2022
IPStorm
• 2019年5月に観測されたP2Pボットネット
• gimpfuzzyを利用することで、プラットフォームが異なる検体の類似性を確認
類似度 90
B
gimpfuzzy
gimphash
3072:qZosQIop4rzLYr62Xb+iwzh7RXn
ZWCy7IxXkzAEmZMpg1DtNg+rhHWP
vXvAYiMsP:bA/KT7439mV/Wrz
3072:lZosCIop4szLYr62Xb+iSzh7RXn
ZWCy7IxXyzAKmZMpg1DtNg+rhHWP
vXvAYiMs0:1AQT7439mV/WrOt
不一致
4e92f61bb61e08947f457e
73cbe72348c1dce312323a
652397c85731144a8088
37da5b52a7c1577b7e0f3c
fc99d059ffefe4def03ee840
a8b9becd192ca79291
A
24

Recommended for you

FridaによるAndroidアプリの動的解析とフッキングの基礎
FridaによるAndroidアプリの動的解析とフッキングの基礎FridaによるAndroidアプリの動的解析とフッキングの基礎
FridaによるAndroidアプリの動的解析とフッキングの基礎

DroidKaigi 2019講演資料

securityandroid
[JPCERT/CC POC Meeting] 研究紹介 + DLLハイジャックの脆弱性
[JPCERT/CC POC Meeting] 研究紹介 + DLLハイジャックの脆弱性[JPCERT/CC POC Meeting] 研究紹介 + DLLハイジャックの脆弱性
[JPCERT/CC POC Meeting] 研究紹介 + DLLハイジャックの脆弱性

[活動紹介] 研究紹介 + DLLハイジャックの脆弱性

dllvulnerabilityresearch
Ques12_自動テスト ✕ 機械学習 〜自動テスト結果分析は楽になるか?〜
Ques12_自動テスト ✕ 機械学習 〜自動テスト結果分析は楽になるか?〜Ques12_自動テスト ✕ 機械学習 〜自動テスト結果分析は楽になるか?〜
Ques12_自動テスト ✕ 機械学習 〜自動テスト結果分析は楽になるか?〜

第12回Quesの資料です。

ques12quesautomation
© NTT Security Holdings All Rights Reserved
Case Study 1: main関数の比較
2022
IPStormの特徴であるパッケージ「storm」の関数「starter」を呼び出す挙動が一致
A (Linux) B (Mac)
25
© NTT Security Holdings All Rights Reserved
Case Study 1: 抽出された関数
2022 26
プラットフォームの差異によらず分類が可能
B (Mac)
817
Common
5744
A (Linux)
194
© NTT Security Holdings All Rights Reserved
Case Study 2: gimpfuzzyが有効なファミリ
• マルウェア制作ツール「veil」で作成されたファミリ
• Metasploitのペイロードに対応
• バックドアなど様々な機能を指定してマルウェアに追加可能
• AV検出回避機能がある
• gimphashと比較し、gimpfuzzyの精度が非常に良い
2022 27
0.1
54.80936432
82.21532493
96.77106297
0
20
40
60
80
100
gimphash gimpfuzzy (閾値80) gimpfuzzy (閾値70) gimpfuzzy (閾値60)
© NTT Security Holdings All Rights Reserved
Case Study 2: gimpfuzzyが有効なファミリ
• 通常のHashと比較し、Fuzzy Hashの効果が大きい検体が多い
• 通常のHashの場合、一文字でも入力が違えば全く異なるハッシュが出力される
2022
Passed Function: 426
main.JeDKBXmMzyjP
main.TUsJXmXgumrHRF
bytes.Equal
bytes.IndexByte
strings.IndexByte
io/ioutil.ReadAll
io/ioutil.NopCloser
math/rand.NewSource
math/rand.New
math/rand.(*Rand).Seed
math/rand.(*Rand).Int63
…
Passed Function: 427
main.PdbjIQTndnFwQIr
main.UEeaLthPqHAvk
main.Redfkoe
bytes.Equal
bytes.IndexByte
strings.IndexByte
io/ioutil.ReadAll
io/ioutil.NopCloser
math/rand.NewSource
math/rand.New
math/rand.(*Rand).Seed
…
関数名の一部が
難読化
検体ごとに異なる
他の大部分の
関数名が一致
Fuzzy Hashingが
極めて有効
28

Recommended for you

0730 bp study#35発表資料
0730 bp study#35発表資料0730 bp study#35発表資料
0730 bp study#35発表資料
bpstudy
デブサミ2013【15-A-6】増加するセキュリティ脆弱性の解決策
デブサミ2013【15-A-6】増加するセキュリティ脆弱性の解決策デブサミ2013【15-A-6】増加するセキュリティ脆弱性の解決策
デブサミ2013【15-A-6】増加するセキュリティ脆弱性の解決策

近年、標的型攻撃によるサイトの改ざんや情報漏洩の被害が後を絶ちません。典型的な攻撃としてSQLインジェクションやクロスサイトスクリプティング(XSS)があげられますが、多くの企業で対策を施しているにもかかわらず、いまだに発生件数は増加傾向にあるようです。根本的な原因は何なのでしょうか?本セッションでは、ソフトウェア脆弱性の根本原因を洗い出すとともに、その解決策となる開発段階でのセキュリティ対策技術についてご紹介します。

devsumi2013devsumi
Jubatus: 分散協調をキーとした大規模リアルタイム機械学習プラットフォーム
Jubatus: 分散協調をキーとした大規模リアルタイム機械学習プラットフォームJubatus: 分散協調をキーとした大規模リアルタイム機械学習プラットフォーム
Jubatus: 分散協調をキーとした大規模リアルタイム機械学習プラットフォーム

2012/12/7にComSysで招待講演した際のプレゼン資料です。2013/1時点でのJubatusに関する全部入り資料になっています。 概要:Hadoopは非常に成功した大規模データの分散処理基盤である一方、データを貯めないリアルタイム処理や、統計的な手法で知見や予測モデルを得る機械学習技術のサポートは限定的である。Jubatusは、それらHadoopに足りない「分散・リアルタイム・機械学習」を実現するためのOSSフレームワークとして2011年にリリースされた。その技術的特徵は、オンライン学習アルゴリズムを分散化し、かつ分散環境でコストの高いデータ共有を排除してコンパクトな機械学習モデルのみを緩やかに共有するMix操作を中心とした計算アーキテクチャを採用していることにある。本講演ではその動��原理を中心にJubatusの裏側を紹介する。

jubatus
© NTT Security Holdings All Rights Reserved
Case Study 3: gimpfuzzyによるクラスタリング
WellMess
• 2018年にJPCERTやLACによって初観測
• 2020年にAPT29がCOVID-19ワクチン開発に関連したキャンペーンで利用
• 収集した15検体に対してgimphash / gimpfuzzy を計算
• gimphashによって 7 種類に分類された
2022 29
© NTT Security Holdings All Rights Reserved
Case Study 3: WellMess
2022
2018 2019 2020
B
A C E G
D F
30
© NTT Security Holdings All Rights Reserved
Case Study 3: 分類結果
gimpfuzzyを利用することでさらに判別率が向上する
2022
全15検体のクラスタリング
31
7
5
4
2
1
0
5
10
gimphash gimpfuzzy
(閾値90)
gimpfuzzy
(閾値85)
gimpfuzzy
(閾値80)
gimpfuzzy
(閾値70)
クラスタ数
© NTT Security Holdings All Rights Reserved
Case Study 3: 分類結果
2022
B
A C G
E
D F
90
88
93
82 82
75
32
時系列で近い検体から順に結合していく
Windows
Linux

Recommended for you

Icml2018読み会_overview&GANs
Icml2018読み会_overview&GANsIcml2018読み会_overview&GANs
Icml2018読み会_overview&GANs

ICML2018読み会の概要とGANsの資料です。 https://connpass.com/event/92705/

icmlgansgenerative adversarial networks
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る! | UNREAL FEST EXTREME 2020 WINTER
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る!  | UNREAL FEST EXTREME 2020 WINTERUE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る!  | UNREAL FEST EXTREME 2020 WINTER
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る! | UNREAL FEST EXTREME 2020 WINTER

講演アーカイブ:準備中 講演内容: 2020年6月にリリースされたNintendo Switch™向け対戦ニンジャガムアクションゲーム『ニンジャラ』は、UE4を使用して最大8人のマルチプレイを60fps駆動で実現しています。UE4の最適化ノウハウは数多く共有されていますが、本講演では実際にNintendo Switch™で60fpsを実現する為に、『ニンジャラ』で行った最適化、高速化手法を紹介いたします。 講演者: 角田 高宏 ( ガンホー・オンライン・エンターテイメント株式会社 チーフプログラマー) 江原 崇将 ( ガンホー・オンライン・エンターテイメント株式会社 チーフデザイナー) UNREAL FEST EXTREME 2020 WINTER 再生リスト https://www.youtube.com/playlist?list=PLr_Cbd4sUDTzxG9a4TrU0Rg6-ApCJBCsI https://unrealengine.jp/unrealfest/ #ue4fest

ue4unreal engine 4unreal fest extreme 2020 winter
RENAT - ネットワーク検証自動化
RENAT - ネットワーク検証自動化RENAT - ネットワーク検証自動化
RENAT - ネットワーク検証自動化

NTT Tech Conference #3(https://ntt-developers.github.io/ntt-tech-conference/03/) にて講演した資料です

automationnetworkvalidation
© NTT Security Holdings All Rights Reserved
Case Study 3: mainパッケージの関数 (Windows)
攻撃者が機能を拡張していることを確認
2022
C
A
E
G
33
© NTT Security Holdings All Rights Reserved
Case Study 3: mainパッケージの関数 (Linux)
2022
Linuxを標的とする検体のみ「getIP」という関数が存在する
B D
F
34
© NTT Security Holdings All Rights Reserved
Common
574
Windows
3
Linux
24
X
32
Y + Z
58
Z
54
G
45
Others
22
Case Study 3: 抽出された関数
35
2022
X Y Z
• 7割の関数が共通
• プラットフォームによる差異よりも、
検体の機能の差異の方が影響が大きい
© NTT Security Holdings All Rights Reserved
課題
© NTT Security Holdings All Rights Reserved
2022

Recommended for you

BGI Webinar Aug 28, 2014 "Genome wide methylation analysis and analytics"
BGI Webinar Aug 28, 2014 "Genome wide methylation analysis and analytics"BGI Webinar Aug 28, 2014 "Genome wide methylation analysis and analytics"
BGI Webinar Aug 28, 2014 "Genome wide methylation analysis and analytics"

These slides used for BGI Webinar on Aug 28, 2014.

analytics big data data mining genome bigdata data
NGS現場の会第2回_アメリエフ株式会社_RNAseq解析
NGS現場の会第2回_アメリエフ株式会社_RNAseq解析NGS現場の会第2回_アメリエフ株式会社_RNAseq解析
NGS現場の会第2回_アメリエフ株式会社_RNAseq解析
アメリエフ株式会社次世代シーケンシングデータ解析
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)

pgvectorを使ってChatGPTとPostgreSQLを連携してみよう! (PostgreSQL Conference Japan 2023 発表資料) 2023年11月24日(金) NTTデータグループ 技術開発本部 石井 愛弓

postgresqlchatgptpgvector
© NTT Security Holdings All Rights Reserved
1. Filterにより情報が減少する場合
多くの関数名が計算過程のフィルタによって削除される
2022
$ ~/enum_gimp_function 947b273069...
ALL Function: 1532
go.buildid
main.LfoJVuVXGK
main.main
main.init
type..hash.[100]string
type..eq.[100]string
runtime.memhash0
runtime.memhash8
runtime.memhash16
runtime.memhash32
runtime.memhash64
…
…
Passed Function: 6
main.LfoJVuVXGK
os.(*PathError).Error
os.(*File).Name
os.NewFile
os.Exit
errors.New
Filter
“internal/“ を含む
関数名の初めの文字が小文字
以下で始まる
“go.”,“type.”,“runtime”,etc... 検体固有の特徴が削除される可能性
37
© NTT Security Holdings All Rights Reserved
1. Filterにより情報が減少する場合
2022 38
https://github.com/NextronSystems/gimphash
© NTT Security Holdings All Rights Reserved
2. Fuzzy Hashingができない場合
Fuzzy Hash算出に必要な情報量が少ない
2022
$ ~/enum_gimp_function 947b273069105ff6a78e533cd6b8b0d9e8a35f4c9534fdf9d6…
All Function: 1532
…
Passed Function: 6
main.LfoJVuVXGK
os.(*PathError).Error
os.(*File).Name
os.NewFile
os.Exit
errors.New
Fuzzy Hashに入力するサイズが4096byte以下の場合エラーとなる
このサンプルの場合連結した関数文字列が短い
39
© NTT Security Holdings All Rights Reserved
3. 解析妨害がされている場合
関数名の復元が不可能
2022
$ file 0581c4953fda52c40f5d0911acdcfcb4dfdcbb9b64e3b0213a94477b991a7ec3
0581c4953fda52c40f5d0911acdcfcb4dfdcbb9b64e3b0213a94477b991a7ec3: PE32 executable (GUI) Intel
80386 (stripped to external PDB), for MS Windows, UPX compressed
$ upx -d 0581c4953fda52c40f5d0911acdcfcb4dfdcbb9b64e3b0213a94477b991a7ec3
Ultimate Packer for eXecutables
Copyright (C) 1996 - 2020
UPX 3.96 Markus Oberhumer, Laszlo Molnar & John Reiser Jan 23rd 2020
File size Ratio Format Name
-------------------- ------ ----------- -----------
upx: 0581c4953fda52c40f5d0911acdcfcb4dfdcbb9b64e3b0213a94477b991a7ec3: NotPackedException:
not packed by UPX
Unpacked 0 files.
セクションを確認するとUPXでpackされていると思われる
セクション名を含むが、unpack不可
40

Recommended for you

まだプログラム手で書いて消耗してるの?~入出力例からプログラムを自動生成する技術~(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019...
まだプログラム手で書いて消耗してるの?~入出力例からプログラムを自動生成する技術~(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019...まだプログラム手で書いて消耗してるの?~入出力例からプログラムを自動生成する技術~(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019...
まだプログラム手で書いて消耗してるの?~入出力例からプログラムを自動生成する技術~(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019...

まだプログラム手で書いて消耗してるの? ~入出力例からプログラムを自動生成する技術~ (NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05) NTTデータ システム技術本部 生産技術部 インテグレーション技術センタ 岡田 譲二

nttdatanttデータ
AVTOKYO2012 Android Malware Heuristics(jp)
AVTOKYO2012 Android Malware Heuristics(jp)AVTOKYO2012 Android Malware Heuristics(jp)
AVTOKYO2012 Android Malware Heuristics(jp)

English version is here: http://www.slideshare.net/MasataNishida/avtokyo2012-android-malware-heuristicsen

securityandroidmalware
Jubatusでマルウェア分類
Jubatusでマルウェア分類Jubatusでマルウェア分類
Jubatusでマルウェア分類

機械学習×プログラミング勉強会 2012年5月11日

© NTT Security Holdings All Rights Reserved
3. 解析妨害がされている場合
関数名がランダム文字列
2022
$ ~/enum_gimp_function 3ff830b8a9a1eb5cdf60d98c969e5d18a64c5a2fa6d430098…
…
Passed Function: 1026
main.NewCDITPPADBCZMNQ
main.(*CDITPPADBCZMNQ).MBMKXLZCVOHE
main.(*CDITPPADBCZMNQ).ERGJXOCYDQNL
main.(*CDITPPADBCZMNQ).DTSMCFPNHOPV
main.(*CDITPPADBCZMNQ).PDUPAPZYBDWJ
main.(*CDITPPADBCZMNQ).SKEKRXUKNVRZ
main.(*CDITPPADBCZMNQ).SXIFTMHNQIUP
…
検体ごとに異なるランダム文字列を含むことでFuzzy Hashの類似度
スコアが低下する要因となる
41
© NTT Security Holdings All Rights Reserved
3. 解析妨害がされている場合
難読化ツール適用
2022 42
https://github.com/unixpickle/gobfuscate
© NTT Security Holdings All Rights Reserved
まとめ
© NTT Security Holdings All Rights Reserved
2022
© NTT Security Holdings All Rights Reserved
まとめ
Goマルウェアを高速に分類する新たな指標「gimpfuzzy」を提案
• Fuzzy Hashを活用することで検体間の類似度を測定
• データセットを利用した検証で、2.6倍以上の精度向上を確認
gimpfuzzyを利用した分類の事例を紹介
• 機能が追加された検体を同一ファミリと判定
• クロスプラットフォームの検体の分類も可能
• gimpfuzzyの課題についても議論
2022 44

Recommended for you

DSF2018講演スライド
DSF2018講演スライドDSF2018講演スライド
DSF2018講演スライド

Design Solution Forum 2018の講演で使用したスライドです。

deep learningfpgacompression
How good is my GAN?
How good is my GAN?How good is my GAN?
How good is my GAN?

ECCV2018 勉強会 発表資料

neural networksgan
外部キー制約を考慮した特徴量削減手法
外部キー制約を考慮した特徴量削減手法外部キー制約を考慮した特徴量削減手法
外部キー制約を考慮した特徴量削減手法

マルチメディア、分散、協調とモバイル(DICOMO2019)シンポジウム 日本電信電話株式会社 ソフトウェアイノベーションセンタ 長 裕敏,山室 健,内山 寛之 ヤングリサーチャ賞受賞

dbms
© NTT Security Holdings All Rights Reserved
References
• https://github.com/NextronSystems/gimphash
• https://github.com/JPCERTCC/impfuzzy
• https://unit42.paloaltonetworks.jp/the-gopher-in-the-room-analysis-of-golang-malware-in-the-wild/
• https://www.intezer.com/blog/malware-analysis/year-of-the-gopher-2020-go-malware-round-up/
• https://www.paloaltonetworks.jp/company/in-the-news/2019/the-gopher-in-the-room-analysis-of-golang-malware-in-the-
wild
• https://www.darkreading.com/threat-intelligence/attackers-use-of-uncommon-programming-languages-continues-to-grow
• https://www.crowdstrike.com/blog/financial-motivation-drives-golang-malware-adoption/
• https://www.intezer.com/blog/research/operation-ElectroRAT-attacker-creates-fake-companies-to-drain-your-crypto-
wallets/
• https://blogs.jpcert.or.jp/ja/2018/06/wellmess.html
• https://www.ncsc.gov.uk/news/advisory-apt29-targets-covid-19-vaccine-development
2022 45
© NTT Security Holdings All Rights Reserved
Thank you!
2022
For questions / comments:
ntts.nsj-so-info@global.ntt
© NTT Security Holdings All Rights Reserved
Appendix
© NTT Security Holdings All Rights Reserved
2022
© NTT Security Holdings All Rights Reserved
Fuzzy Hashing (ssdeep)
• ssdeepのメインアイデア:CTPH (Context Triggered Piecewise Hashing)
• Piecewise Hashing : 分割した部分データのハッシュ
• Rolling Hash : 固定長の部分データに対するハッシュ
• Rolling Hashが一定の値になった時に、そこで分割してPiecewise Hashingを行う
• トリガーとなる値は入力データ長に応じて計算
2022
a b c d e f g h i j k l
Piecewise Hashing
Rolling Hash
a b c d e f g h i j k l 入力の類似度を
よく反映できる
入力データ
入力データ
48

Recommended for you

[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...

While hackers have known the importance of sharing research to improve security for years, the importance of coordinated vulnerability disclosure is increasingly recognized by governments around the world. The principals of disclosure an protecting security researchers are common across borders, but different countries have some key differences. This panel will present a global perspective that may in turn inform key public policy and company behavior. ENISA has published 'Coordinated Vulnerability Disclosure policies in the EU' in April 2022 . This report not only provides an objective introduction to the current state of coordinated vulnerability disclosure policies in the Member States of the European Union, but also introduces the operation of vulnerability disclosure in China, Japan and the USA. Based on these findings, the desirable and good practice elements of a coordinated vulnerability disclosure process are examined, followed by a discussion of the challenges and issues. This session aims to share the contents of this report and clarify the challenges and future direction of operations in Japan, as well as national security and vulnerability handling issues in the US, in a panel discussion with representatives from various jurisdictions. The panelists are involved in the practice of early warning partnership notified bodies in Japan, the authors of the above report in Europe and the contributors to the above report in the US. In Japan, the issues of system awareness, incentives, increase in the number of outstanding cases in handling and so-called triage in handling vulnerabilities will be introduced. From the United States, the Vulnerabilities Equities Process for National Security and the publication of a non-prosecution policy for vulnerability research will be introduced, as well as a historical background on the issue. The aim is that the panel discussion will enable the audience to understand the international situation surrounding CVD, as well as future trends, in particular the important role of vulnerability in cybersecurity and the challenges faced by society around it.

[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(4) by 板橋 博之
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(4) by 板橋 博之[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(4) by 板橋 博之
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(4) by 板橋 博之

ハッカーたちの間では、セキュリティ向上のために研究を共有することの重要性が何年も前から知られていた。一方、協調して脆弱性を開示することの重要性も、世界中の政府によってますます認識されるようになってきた。情報開示とセキュリティ研究者の保護という原則は国境を越えて共通であるものの、国によって重要な違いがある。本パネルでは、重要な公共政策や企業の行動に影響を与える可能性のあるグローバルな視点を提示する。 ENISAは、2022年4月に「EUにおける脆弱性開示政策の調整」を発表した。本報告書では、EU加盟国における脆弱性開示の協調政策の現状を客観的に紹介するだけでなく、中国、日本、米国における脆弱性開示の運用を紹介している。それらを踏まえて、協調的な脆弱性開示プロセスに望ましい要素やベストプラクティスの要素を検討し、その後、課題や問題点について議論する予定。 本報告書の内容を共有し、日本における運用の課題と今後の方向性、米国における国家安全保障と脆弱性対応の課題を、各法域の代表者とのパネルディスカッションで明らかにすることを目的としています。 パネリストは、日本では早期警戒パートナーシップ通知機関の実務に携わる方々、欧州では上記報告書の執筆者、米国では上記報告書の寄稿者 日本では、脆弱性対応における体制意識、インセンティブ、未処理案件の増加、いわゆるトリアージなどの課題が紹介される予定 米国からは、国家安全保障のための脆弱性情報の開示方針(Vulnerabilities Equities Process)、脆弱性研究の不起訴方針の公表などを紹介するとともに、この問題の歴史的背景を紹介する。 パネルディスカッションを通じて、脆弱性開示政策を取り巻く国際情勢や今後の動向、特にサイバーセキュリティにおける脆弱性の重要な役割とそれを取り巻く社会が抱える課題について参加者に理解していただくことを目的とする。

[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...

While hackers have known the importance of sharing research to improve security for years, the importance of coordinated vulnerability disclosure is increasingly recognized by governments around the world. The principals of disclosure an protecting security researchers are common across borders, but different countries have some key differences. This panel will present a global perspective that may in turn inform key public policy and company behavior. ENISA has published 'Coordinated Vulnerability Disclosure policies in the EU' in April 2022 . This report not only provides an objective introduction to the current state of coordinated vulnerability disclosure policies in the Member States of the European Union, but also introduces the operation of vulnerability disclosure in China, Japan and the USA. Based on these findings, the desirable and good practice elements of a coordinated vulnerability disclosure process are examined, followed by a discussion of the challenges and issues. This session aims to share the contents of this report and clarify the challenges and future direction of operations in Japan, as well as national security and vulnerability handling issues in the US, in a panel discussion with representatives from various jurisdictions. The panelists are involved in the practice of early warning partnership notified bodies in Japan, the authors of the above report in Europe and the contributors to the above report in the US. In Japan, the issues of system awareness, incentives, increase in the number of outstanding cases in handling and so-called triage in handling vulnerabilities will be introduced. From the United States, the Vulnerabilities Equities Process for National Security and the publication of a non-prosecution policy for vulnerability research will be introduced, as well as a historical background on the issue.

© NTT Security Holdings All Rights Reserved
組み合わせ
2022
• 組み合わせ
• 順番違いを考慮しない
• 𝑛C𝑟 =
𝑛!
𝑛−𝑟 !𝑟!
• 例:6個から2個取り出す
組み合わせ
• A-B
• A-C
• …
• 6C2 =15
A B C D E F
A A-A A-B A-C A-D A-E A-F
B B-A B-B B-C B-D B-E B-F
C C-A C-B C-C C-D C-E C-F
D D-A D-B D-C D-D D-E D-F
E E-A E-B E-C E-D E-E E-F
F F-A F-B F-C F-D F-E F-F
自身との組み合わせは
存在しない
順番違いは数えない
49
© NTT Security Holdings All Rights Reserved
Hashes
2022
Page Description SHA256
p.24 IPStorm (Linux) 4f0add8eadb24a134b5cab6052920f576eec1bb39232c9548286a66883dcab82
p.24 IPStorm (mac) 087f2ec8bbcee4091241e5ad30d449a1aecd0b9879338d072638c7d0ed6b30da
p.28 Veil 00cf1c62ffdd727bfe8514003c6c881a4c53820a010e6e5a4757123165481864
p.28 Veil 06b5cb2bc4fb1f08a223fb0bf5cc065adb6074b27a24e063bbc8a5ce7459ff5c
p.30 WellMess (A) bec1981e422c1e01c14511d384a33c9bcc66456c1274bbbac073da825a3f537d
p.30 WellMess (B) 0b8e6a11adaa3df120ec15846bb966d674724b6b92eae34d63b665e0698e0193
p.30 WellMess (C) d7e7182f498440945fc8351f0e82ad2d5844530ebdba39051d2205b730400381
p.30 WellMess (D) 7c39841ba409bce4c2c35437ecf043f22910984325c70b9530edf15d826147ee
p.30 WellMess (E) 8749c1495af4fd73ccfc84b32f56f5e78549d81feefb0c1d1c3475a74345f6a8
p.30 WellMess (F) 5ca4a9f6553fea64ad2c724bf71d0fac2b372f9e7ce2200814c98aac647172fb
p.30 WellMess (G) 4c8671411da91eb5967f408c2a6ff6baf25ff7c40c65ff45ee33b352a711bf9c
50

More Related Content

What's hot

[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...
[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...
[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...
CODE BLUE
 
CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)
Shota Shinogi
 
[cb22] Tales of 5G hacking by Karsten Nohl
[cb22] Tales of 5G hacking by Karsten Nohl[cb22] Tales of 5G hacking by Karsten Nohl
[cb22] Tales of 5G hacking by Karsten Nohl
CODE BLUE
 
[cb22] Hayabusa Threat Hunting and Fast Forensics in Windows environments fo...
[cb22] Hayabusa  Threat Hunting and Fast Forensics in Windows environments fo...[cb22] Hayabusa  Threat Hunting and Fast Forensics in Windows environments fo...
[cb22] Hayabusa Threat Hunting and Fast Forensics in Windows environments fo...
CODE BLUE
 
CTF for ビギナーズ バイナリ講習資料
CTF for ビギナーズ バイナリ講習資料CTF for ビギナーズ バイナリ講習資料
CTF for ビギナーズ バイナリ講習資料
SECCON Beginners
 
Csw2017 bazhaniuk exploring_yoursystemdeeper_updated
Csw2017 bazhaniuk exploring_yoursystemdeeper_updatedCsw2017 bazhaniuk exploring_yoursystemdeeper_updated
Csw2017 bazhaniuk exploring_yoursystemdeeper_updated
CanSecWest
 
初心者向けCTFのWeb分野の強化法
初心者向けCTFのWeb分野の強化法初心者向けCTFのWeb分野の強化法
初心者向けCTFのWeb分野の強化法
kazkiti
 
Learn C Programming Language by Using GDB
Learn C Programming Language by Using GDBLearn C Programming Language by Using GDB
Learn C Programming Language by Using GDB
National Cheng Kung University
 
PWNの超入門 大和セキュリティ神戸 2018-03-25
PWNの超入門 大和セキュリティ神戸 2018-03-25PWNの超入門 大和セキュリティ神戸 2018-03-25
PWNの超入門 大和セキュリティ神戸 2018-03-25
Isaac Mathis
 
Use After Free 脆弱性攻撃を試す
Use After Free 脆弱性攻撃を試すUse After Free 脆弱性攻撃を試す
Use After Free 脆弱性攻撃を試す
monochrojazz
 
冬のLock free祭り safe
冬のLock free祭り safe冬のLock free祭り safe
冬のLock free祭り safe
Kumazaki Hiroki
 
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpRSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp
sonickun
 
Understand more about C
Understand more about CUnderstand more about C
Understand more about C
Yi-Hsiu Hsu
 
[cb22] SMARTIAN: Enhancing Smart Contract Fuzzing with Static and Dynamic Da...
[cb22]  SMARTIAN: Enhancing Smart Contract Fuzzing with Static and Dynamic Da...[cb22]  SMARTIAN: Enhancing Smart Contract Fuzzing with Static and Dynamic Da...
[cb22] SMARTIAN: Enhancing Smart Contract Fuzzing with Static and Dynamic Da...
CODE BLUE
 
Substitution cipher and Its Cryptanalysis
Substitution cipher and Its CryptanalysisSubstitution cipher and Its Cryptanalysis
Substitution cipher and Its Cryptanalysis
Sunil Meena
 
Lockfree Queue
Lockfree QueueLockfree Queue
Lockfree Queue
Kumazaki Hiroki
 
私とOSSの25年
私とOSSの25年私とOSSの25年
私とOSSの25年
MITSUNARI Shigeo
 
FridaによるAndroidアプリの動的解析とフッキングの基礎
FridaによるAndroidアプリの動的解析とフッキングの基礎FridaによるAndroidアプリの動的解析とフッキングの基礎
FridaによるAndroidアプリの動的解析とフッキングの基礎
ken_kitahara
 
[JPCERT/CC POC Meeting] 研究紹介 + DLLハイジャックの脆弱性
[JPCERT/CC POC Meeting] 研究紹介 + DLLハイジャックの脆弱性[JPCERT/CC POC Meeting] 研究紹介 + DLLハイジャックの脆弱性
[JPCERT/CC POC Meeting] 研究紹介 + DLLハイジャックの脆弱性
Asuka Nakajima
 

What's hot (20)

[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...
[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...
[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...
 
CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)
 
[cb22] Tales of 5G hacking by Karsten Nohl
[cb22] Tales of 5G hacking by Karsten Nohl[cb22] Tales of 5G hacking by Karsten Nohl
[cb22] Tales of 5G hacking by Karsten Nohl
 
[cb22] Hayabusa Threat Hunting and Fast Forensics in Windows environments fo...
[cb22] Hayabusa  Threat Hunting and Fast Forensics in Windows environments fo...[cb22] Hayabusa  Threat Hunting and Fast Forensics in Windows environments fo...
[cb22] Hayabusa Threat Hunting and Fast Forensics in Windows environments fo...
 
CTF for ビギナーズ バイナリ講習資料
CTF for ビギナーズ バイナリ講習資料CTF for ビギナーズ バイナリ講習資料
CTF for ビギナーズ バイナリ講習資料
 
Csw2017 bazhaniuk exploring_yoursystemdeeper_updated
Csw2017 bazhaniuk exploring_yoursystemdeeper_updatedCsw2017 bazhaniuk exploring_yoursystemdeeper_updated
Csw2017 bazhaniuk exploring_yoursystemdeeper_updated
 
初心者向けCTFのWeb分野の強化法
初心者向けCTFのWeb分野の強化法初心者向けCTFのWeb分野の強化法
初心者向けCTFのWeb分野の強化法
 
Learn C Programming Language by Using GDB
Learn C Programming Language by Using GDBLearn C Programming Language by Using GDB
Learn C Programming Language by Using GDB
 
PWNの超入門 大和セキュリティ神戸 2018-03-25
PWNの超入門 大和セキュリティ神戸 2018-03-25PWNの超入門 大和セキュリティ神戸 2018-03-25
PWNの超入門 大和セキュリティ神戸 2018-03-25
 
Use After Free 脆弱性攻撃を試す
Use After Free 脆弱性攻撃を試すUse After Free 脆弱性攻撃を試す
Use After Free 脆弱性攻撃を試す
 
冬のLock free祭り safe
冬のLock free祭り safe冬のLock free祭り safe
冬のLock free祭り safe
 
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpRSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp
 
Understand more about C
Understand more about CUnderstand more about C
Understand more about C
 
[cb22] SMARTIAN: Enhancing Smart Contract Fuzzing with Static and Dynamic Da...
[cb22]  SMARTIAN: Enhancing Smart Contract Fuzzing with Static and Dynamic Da...[cb22]  SMARTIAN: Enhancing Smart Contract Fuzzing with Static and Dynamic Da...
[cb22] SMARTIAN: Enhancing Smart Contract Fuzzing with Static and Dynamic Da...
 
Substitution cipher and Its Cryptanalysis
Substitution cipher and Its CryptanalysisSubstitution cipher and Its Cryptanalysis
Substitution cipher and Its Cryptanalysis
 
Aio
AioAio
Aio
 
Lockfree Queue
Lockfree QueueLockfree Queue
Lockfree Queue
 
私とOSSの25年
私とOSSの25年私とOSSの25年
私とOSSの25年
 
FridaによるAndroidアプリの動的解析とフッキングの基礎
FridaによるAndroidアプリの動的解析とフッキングの基礎FridaによるAndroidアプリの動的解析とフッキングの基礎
FridaによるAndroidアプリの動的解析とフッキングの基礎
 
[JPCERT/CC POC Meeting] 研究紹介 + DLLハイジャックの脆弱性
[JPCERT/CC POC Meeting] 研究紹介 + DLLハイジャックの脆弱性[JPCERT/CC POC Meeting] 研究紹介 + DLLハイジャックの脆弱性
[JPCERT/CC POC Meeting] 研究紹介 + DLLハイジャックの脆弱性
 

Similar to [cb22] Mal-gopherとは?Go系マルウェアの分類のためのgimpfuzzy実装と評価 by 澤部 祐太, 甘粕 伸幸, 野村 和也

Ques12_自動テスト ✕ 機械学習 〜自動テスト結果分析は楽になるか?〜
Ques12_自動テスト ✕ 機械学習 〜自動テスト結果分析は楽になるか?〜Ques12_自動テスト ✕ 機械学習 〜自動テスト結果分析は楽になるか?〜
Ques12_自動テスト ✕ 機械学習 〜自動テスト結果分析は楽になるか?〜
Mao Yamaguchi
 
0730 bp study#35発表資料
0730 bp study#35発表資料0730 bp study#35発表資料
0730 bp study#35発表資料
Yasuhiro Horiuchi
 
デブサミ2013【15-A-6】増加するセキュリティ脆弱性の解決策
デブサミ2013【15-A-6】増加するセキュリティ脆弱性の解決策デブサミ2013【15-A-6】増加するセキュリティ脆弱性の解決策
デブサミ2013【15-A-6】増加するセキュリティ脆弱性の解決策
Developers Summit
 
Jubatus: 分散協調をキーとした大規模リアルタイム機械学習プラットフォーム
Jubatus: 分散協調をキーとした大規模リアルタイム機械学習プラットフォームJubatus: 分散協調をキーとした大規模リアルタイム機械学習プラットフォーム
Jubatus: 分散協調をキーとした大規模リアルタイム機械学習プラットフォーム
Preferred Networks
 
Icml2018読み会_overview&GANs
Icml2018読み会_overview&GANsIcml2018読み会_overview&GANs
Icml2018読み会_overview&GANs
Kentaro Tachibana
 
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る! | UNREAL FEST EXTREME 2020 WINTER
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る!  | UNREAL FEST EXTREME 2020 WINTERUE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る!  | UNREAL FEST EXTREME 2020 WINTER
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る! | UNREAL FEST EXTREME 2020 WINTER
エピック・ゲームズ・ジャパン Epic Games Japan
 
RENAT - ネットワーク検証自動化
RENAT - ネットワーク検証自動化RENAT - ネットワーク検証自動化
RENAT - ネットワーク検証自動化
HuuBachNguyen
 
BGI Webinar Aug 28, 2014 "Genome wide methylation analysis and analytics"
BGI Webinar Aug 28, 2014 "Genome wide methylation analysis and analytics"BGI Webinar Aug 28, 2014 "Genome wide methylation analysis and analytics"
BGI Webinar Aug 28, 2014 "Genome wide methylation analysis and analytics"
kazuoishii20
 
NGS現場の会第2回_アメリエフ株式会社_RNAseq解析
NGS現場の会第2回_アメリエフ株式会社_RNAseq解析NGS現場の会第2回_アメリエフ株式会社_RNAseq解析
NGS現場の会第2回_アメリエフ株式会社_RNAseq解析
Amelieff
 
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
NTT DATA Technology & Innovation
 
まだプログラム手で書いて消耗してるの?~入出力例からプログラムを自動生成する技術~(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019...
まだプログラム手で書いて消耗してるの?~入出力例からプログラムを自動生成する技術~(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019...まだプログラム手で書いて消耗してるの?~入出力例からプログラムを自動生成する技術~(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019...
まだプログラム手で書いて消耗してるの?~入出力例からプログラムを自動生成する技術~(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019...
NTT DATA Technology & Innovation
 
AVTOKYO2012 Android Malware Heuristics(jp)
AVTOKYO2012 Android Malware Heuristics(jp)AVTOKYO2012 Android Malware Heuristics(jp)
AVTOKYO2012 Android Malware Heuristics(jp)
雅太 西田
 
Jubatusでマルウェア分類
Jubatusでマルウェア分類Jubatusでマルウェア分類
Jubatusでマルウェア分類
Shuzo Kashihara
 
DSF2018講演スライド
DSF2018講演スライドDSF2018講演スライド
DSF2018講演スライド
Hiroki Nakahara
 
How good is my GAN?
How good is my GAN?How good is my GAN?
How good is my GAN?
Shunsuke NAKATSUKA
 
外部キー制約を考慮した特徴量削減手法
外部キー制約を考慮した特徴量削減手法外部キー制約を考慮した特徴量削減手法
外部キー制約を考慮した特徴量削減手法
NTT Software Innovation Center
 

Similar to [cb22] Mal-gopherとは?Go系マルウェアの分類のためのgimpfuzzy実装と評価 by 澤部 祐太, 甘粕 伸幸, 野村 和也 (16)

Ques12_自動テスト ✕ 機械学習 〜自動テスト結果分析は楽になるか?〜
Ques12_自動テスト ✕ 機械学習 〜自動テスト結果分析は楽になるか?〜Ques12_自動テスト ✕ 機械学習 〜自動テスト結果分析は楽になるか?〜
Ques12_自動テスト ✕ 機械学習 〜自動テスト結果分析は楽になるか?〜
 
0730 bp study#35発表資料
0730 bp study#35発表資料0730 bp study#35発表資料
0730 bp study#35発表資料
 
デブサミ2013【15-A-6】増加するセキュリティ脆弱性の解決策
デブサミ2013【15-A-6】増加するセキュリティ脆弱性の解決策デブサミ2013【15-A-6】増加するセキュリティ脆弱性の解決策
デブサミ2013【15-A-6】増加するセキュリティ脆弱性の解決策
 
Jubatus: 分散協調をキーとした大規模リアルタイム機械学習プラットフォーム
Jubatus: 分散協調をキーとした大規模リアルタイム機械学習プラットフォームJubatus: 分散協調をキーとした大規模リアルタイム機械学習プラットフォーム
Jubatus: 分散協調をキーとした大規模リアルタイム機械学習プラットフォーム
 
Icml2018読み会_overview&GANs
Icml2018読み会_overview&GANsIcml2018読み会_overview&GANs
Icml2018読み会_overview&GANs
 
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る! | UNREAL FEST EXTREME 2020 WINTER
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る!  | UNREAL FEST EXTREME 2020 WINTERUE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る!  | UNREAL FEST EXTREME 2020 WINTER
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る! | UNREAL FEST EXTREME 2020 WINTER
 
RENAT - ネットワーク検証自動化
RENAT - ネットワーク検証自動化RENAT - ネットワーク検証自動化
RENAT - ネットワーク検証自動化
 
BGI Webinar Aug 28, 2014 "Genome wide methylation analysis and analytics"
BGI Webinar Aug 28, 2014 "Genome wide methylation analysis and analytics"BGI Webinar Aug 28, 2014 "Genome wide methylation analysis and analytics"
BGI Webinar Aug 28, 2014 "Genome wide methylation analysis and analytics"
 
NGS現場の会第2回_アメリエフ株式会社_RNAseq解析
NGS現場の会第2回_アメリエフ株式会社_RNAseq解析NGS現場の会第2回_アメリエフ株式会社_RNAseq解析
NGS現場の会第2回_アメリエフ株式会社_RNAseq解析
 
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
 
まだプログラム手で書いて消耗してるの?~入出力例からプログラムを自動生成する技術~(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019...
まだプログラム手で書いて消耗してるの?~入出力例からプログラムを自動生成する技術~(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019...まだプログラム手で書いて消耗してるの?~入出力例からプログラムを自動生成する技術~(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019...
まだプログラム手で書いて消耗してるの?~入出力例からプログラムを自動生成する技術~(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019...
 
AVTOKYO2012 Android Malware Heuristics(jp)
AVTOKYO2012 Android Malware Heuristics(jp)AVTOKYO2012 Android Malware Heuristics(jp)
AVTOKYO2012 Android Malware Heuristics(jp)
 
Jubatusでマルウェア分類
Jubatusでマルウェア分類Jubatusでマルウェア分類
Jubatusでマルウェア分類
 
DSF2018講演スライド
DSF2018講演スライドDSF2018講演スライド
DSF2018講演スライド
 
How good is my GAN?
How good is my GAN?How good is my GAN?
How good is my GAN?
 
外部キー制約を考慮した特徴量削減手法
外部キー制約を考慮した特徴量削減手法外部キー制約を考慮した特徴量削減手法
外部キー制約を考慮した特徴量削減手法
 

More from CODE BLUE

[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
CODE BLUE
 
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(4) by 板橋 博之
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(4) by 板橋 博之[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(4) by 板橋 博之
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(4) by 板橋 博之
CODE BLUE
 
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
CODE BLUE
 
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(3) by Lorenzo Pupillo
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(3) by Lorenzo Pupillo[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(3) by Lorenzo Pupillo
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(3) by Lorenzo Pupillo
CODE BLUE
 
[cb22] ”The Present and Future of Coordinated Vulnerability Disclosure” Inte...
[cb22]  ”The Present and Future of Coordinated Vulnerability Disclosure” Inte...[cb22]  ”The Present and Future of Coordinated Vulnerability Disclosure” Inte...
[cb22] ”The Present and Future of Coordinated Vulnerability Disclosure” Inte...
CODE BLUE
 
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(2)by Allan Friedman
[cb22]  「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(2)by Allan Friedman [cb22]  「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(2)by Allan Friedman
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(2)by Allan Friedman
CODE BLUE
 
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
CODE BLUE
 
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション (1)by 高橋 郁夫
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション (1)by  高橋 郁夫[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション (1)by  高橋 郁夫
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション (1)by 高橋 郁夫
CODE BLUE
 
[cb22] Are Embedded Devices Ready for ROP Attacks? -ROP verification for low-...
[cb22] Are Embedded Devices Ready for ROP Attacks? -ROP verification for low-...[cb22] Are Embedded Devices Ready for ROP Attacks? -ROP verification for low-...
[cb22] Are Embedded Devices Ready for ROP Attacks? -ROP verification for low-...
CODE BLUE
 
[cb22] Wslinkのマルチレイヤーな仮想環境について by Vladislav Hrčka
[cb22] Wslinkのマルチレイヤーな仮想環境について by Vladislav Hrčka [cb22] Wslinkのマルチレイヤーな仮想環境について by Vladislav Hrčka
[cb22] Wslinkのマルチレイヤーな仮想環境について by Vladislav Hrčka
CODE BLUE
 
[cb22] Under the hood of Wslink’s multilayered virtual machine en by Vladisla...
[cb22] Under the hood of Wslink’s multilayered virtual machine en by Vladisla...[cb22] Under the hood of Wslink’s multilayered virtual machine en by Vladisla...
[cb22] Under the hood of Wslink’s multilayered virtual machine en by Vladisla...
CODE BLUE
 
[cb22] From Parroting to Echoing: The Evolution of China’s Bots-Driven Info...
[cb22]  From Parroting to Echoing:  The Evolution of China’s Bots-Driven Info...[cb22]  From Parroting to Echoing:  The Evolution of China’s Bots-Driven Info...
[cb22] From Parroting to Echoing: The Evolution of China’s Bots-Driven Info...
CODE BLUE
 
[cb22] Who is the Mal-Gopher? - Implementation and Evaluation of “gimpfuzzy”...
[cb22]  Who is the Mal-Gopher? - Implementation and Evaluation of “gimpfuzzy”...[cb22]  Who is the Mal-Gopher? - Implementation and Evaluation of “gimpfuzzy”...
[cb22] Who is the Mal-Gopher? - Implementation and Evaluation of “gimpfuzzy”...
CODE BLUE
 
[cb22] What I learned from the direct confrontation with the adversaries who ...
[cb22] What I learned from the direct confrontation with the adversaries who ...[cb22] What I learned from the direct confrontation with the adversaries who ...
[cb22] What I learned from the direct confrontation with the adversaries who ...
CODE BLUE
 
[cb22] Scaling the Security Researcher to Eliminate OSS Vulnerabilities Once ...
[cb22] Scaling the Security Researcher to Eliminate OSS Vulnerabilities Once ...[cb22] Scaling the Security Researcher to Eliminate OSS Vulnerabilities Once ...
[cb22] Scaling the Security Researcher to Eliminate OSS Vulnerabilities Once ...
CODE BLUE
 
[cb22] Lets Dance in the Cache Destabilizing Hash Table on Microsoft IIS by O...
[cb22] Lets Dance in the Cache Destabilizing Hash Table on Microsoft IIS by O...[cb22] Lets Dance in the Cache Destabilizing Hash Table on Microsoft IIS by O...
[cb22] Lets Dance in the Cache Destabilizing Hash Table on Microsoft IIS by O...
CODE BLUE
 
[cb22] Keynote: Underwhelmed: Making Sense of the Overwhelming Challenge of C...
[cb22] Keynote: Underwhelmed: Making Sense of the Overwhelming Challenge of C...[cb22] Keynote: Underwhelmed: Making Sense of the Overwhelming Challenge of C...
[cb22] Keynote: Underwhelmed: Making Sense of the Overwhelming Challenge of C...
CODE BLUE
 
[cb22] Understanding the Chinese underground card shop ecosystem and becoming...
[cb22] Understanding the Chinese underground card shop ecosystem and becoming...[cb22] Understanding the Chinese underground card shop ecosystem and becoming...
[cb22] Understanding the Chinese underground card shop ecosystem and becoming...
CODE BLUE
 
[CB21] Last Mile Problem: Third Party Scripts included by Web Marketers and t...
[CB21] Last Mile Problem: Third Party Scripts included by Web Marketers and t...[CB21] Last Mile Problem: Third Party Scripts included by Web Marketers and t...
[CB21] Last Mile Problem: Third Party Scripts included by Web Marketers and t...
CODE BLUE
 
[CB21] Non-Private Chat: Police investigation legislation in the flat world b...
[CB21] Non-Private Chat: Police investigation legislation in the flat world b...[CB21] Non-Private Chat: Police investigation legislation in the flat world b...
[CB21] Non-Private Chat: Police investigation legislation in the flat world b...
CODE BLUE
 

More from CODE BLUE (20)

[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
 
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(4) by 板橋 博之
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(4) by 板橋 博之[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(4) by 板橋 博之
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(4) by 板橋 博之
 
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
 
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(3) by Lorenzo Pupillo
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(3) by Lorenzo Pupillo[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(3) by Lorenzo Pupillo
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(3) by Lorenzo Pupillo
 
[cb22] ”The Present and Future of Coordinated Vulnerability Disclosure” Inte...
[cb22]  ”The Present and Future of Coordinated Vulnerability Disclosure” Inte...[cb22]  ”The Present and Future of Coordinated Vulnerability Disclosure” Inte...
[cb22] ”The Present and Future of Coordinated Vulnerability Disclosure” Inte...
 
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(2)by Allan Friedman
[cb22]  「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(2)by Allan Friedman [cb22]  「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(2)by Allan Friedman
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(2)by Allan Friedman
 
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
 
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション (1)by 高橋 郁夫
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション (1)by  高橋 郁夫[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション (1)by  高橋 郁夫
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション (1)by 高橋 郁夫
 
[cb22] Are Embedded Devices Ready for ROP Attacks? -ROP verification for low-...
[cb22] Are Embedded Devices Ready for ROP Attacks? -ROP verification for low-...[cb22] Are Embedded Devices Ready for ROP Attacks? -ROP verification for low-...
[cb22] Are Embedded Devices Ready for ROP Attacks? -ROP verification for low-...
 
[cb22] Wslinkのマルチレイヤーな仮想環境について by Vladislav Hrčka
[cb22] Wslinkのマルチレイヤーな仮想環境について by Vladislav Hrčka [cb22] Wslinkのマルチレイヤーな仮想環境について by Vladislav Hrčka
[cb22] Wslinkのマルチレイヤーな仮想環境について by Vladislav Hrčka
 
[cb22] Under the hood of Wslink’s multilayered virtual machine en by Vladisla...
[cb22] Under the hood of Wslink’s multilayered virtual machine en by Vladisla...[cb22] Under the hood of Wslink’s multilayered virtual machine en by Vladisla...
[cb22] Under the hood of Wslink’s multilayered virtual machine en by Vladisla...
 
[cb22] From Parroting to Echoing: The Evolution of China’s Bots-Driven Info...
[cb22]  From Parroting to Echoing:  The Evolution of China’s Bots-Driven Info...[cb22]  From Parroting to Echoing:  The Evolution of China’s Bots-Driven Info...
[cb22] From Parroting to Echoing: The Evolution of China’s Bots-Driven Info...
 
[cb22] Who is the Mal-Gopher? - Implementation and Evaluation of “gimpfuzzy”...
[cb22]  Who is the Mal-Gopher? - Implementation and Evaluation of “gimpfuzzy”...[cb22]  Who is the Mal-Gopher? - Implementation and Evaluation of “gimpfuzzy”...
[cb22] Who is the Mal-Gopher? - Implementation and Evaluation of “gimpfuzzy”...
 
[cb22] What I learned from the direct confrontation with the adversaries who ...
[cb22] What I learned from the direct confrontation with the adversaries who ...[cb22] What I learned from the direct confrontation with the adversaries who ...
[cb22] What I learned from the direct confrontation with the adversaries who ...
 
[cb22] Scaling the Security Researcher to Eliminate OSS Vulnerabilities Once ...
[cb22] Scaling the Security Researcher to Eliminate OSS Vulnerabilities Once ...[cb22] Scaling the Security Researcher to Eliminate OSS Vulnerabilities Once ...
[cb22] Scaling the Security Researcher to Eliminate OSS Vulnerabilities Once ...
 
[cb22] Lets Dance in the Cache Destabilizing Hash Table on Microsoft IIS by O...
[cb22] Lets Dance in the Cache Destabilizing Hash Table on Microsoft IIS by O...[cb22] Lets Dance in the Cache Destabilizing Hash Table on Microsoft IIS by O...
[cb22] Lets Dance in the Cache Destabilizing Hash Table on Microsoft IIS by O...
 
[cb22] Keynote: Underwhelmed: Making Sense of the Overwhelming Challenge of C...
[cb22] Keynote: Underwhelmed: Making Sense of the Overwhelming Challenge of C...[cb22] Keynote: Underwhelmed: Making Sense of the Overwhelming Challenge of C...
[cb22] Keynote: Underwhelmed: Making Sense of the Overwhelming Challenge of C...
 
[cb22] Understanding the Chinese underground card shop ecosystem and becoming...
[cb22] Understanding the Chinese underground card shop ecosystem and becoming...[cb22] Understanding the Chinese underground card shop ecosystem and becoming...
[cb22] Understanding the Chinese underground card shop ecosystem and becoming...
 
[CB21] Last Mile Problem: Third Party Scripts included by Web Marketers and t...
[CB21] Last Mile Problem: Third Party Scripts included by Web Marketers and t...[CB21] Last Mile Problem: Third Party Scripts included by Web Marketers and t...
[CB21] Last Mile Problem: Third Party Scripts included by Web Marketers and t...
 
[CB21] Non-Private Chat: Police investigation legislation in the flat world b...
[CB21] Non-Private Chat: Police investigation legislation in the flat world b...[CB21] Non-Private Chat: Police investigation legislation in the flat world b...
[CB21] Non-Private Chat: Police investigation legislation in the flat world b...
 

[cb22] Mal-gopherとは?Go系マルウェアの分類のためのgimpfuzzy実装と評価 by 澤部 祐太, 甘粕 伸幸, 野村 和也

  • 1. Who is the Mal-Gopher? - Implementation and Evaluation of “gimpfuzzy” for Go Malware Classification Yuta Sawabe / Nobuyuki Amakasu / Kazuya Nomura NTT Security Holdings
  • 2. © NTT Security Holdings All Rights Reserved About Us • 澤部 祐太 (Yuta Sawabe) • 主にログ分析やマルウェア解析に従事 • 2019年情報処理学会JIP特選論文受賞、JSAC 2022、Botconf 2021/2022にて登壇 • 甘粕 伸幸 (Nobuyuki Amakasu) • 主にEDRログ分析やマルウェア解析に従事 • 以前SEとしてシステム構築などを担当していたが、2018年より現職 • 野村 和也 (Kazuya Nomura) • 主な業務はIPS/IDS/EDRでのアラート監視 / ログ分析 • MWS2020論文賞受賞、SecHack2020優秀修了生 2 2022
  • 3. © NTT Security Holdings All Rights Reserved Motivation & Goal Goマルウェアの増加 • Goバイナリ特有の構造を持つために適切な分析手法を用いることが必要 • 高速に分類することへの需要が高まる Goマルウェアを効率よく分類する「gimpfuzzy」の提案 • 手法の紹介 • データセットを利用した判別精度の評価 • gimpfuzzyを利用した分類の例 3 2022
  • 4. © NTT Security Holdings All Rights Reserved Go Malware © NTT Security Holdings All Rights Reserved 2022
  • 5. © NTT Security Holdings All Rights Reserved Go Malware • Go / Golang • 2007年にGoogleが設計したオープンソースのプログラミング言語 • 並行性、高速に動作、コードの記述が容易 • クロスプラットフォーム: 単一のコードをベースに複数の動作環境へのビルドが可能 • Goで書かれたマルウェアが増加 • 充実したライブラリを利用した Ransomware / RAT / Botnet • クロスプラットフォームを生かした MaaS (Malware as a Service) / RaaS (Ransomware as a Service) • 既存のマルウェアのダウンローダー、ドロッパーに活用される事例も存在 2022 The Go gopher was designed by Renee French. (http://reneefrench.blogspot.com/) The design is licensed under the Creative Commons 3.0 Attributions license. Read this article for more details: https://blog.golang.org/gopher 5
  • 6. © NTT Security Holdings All Rights Reserved Go Malware 2022 2012 Encriyoko RobbinHood Zebrocy (APT28) WellMess (APT29) 2018 2020 Blackrota SNAKE / EKANS ElectroRAT PlugX Loader (Mustang Panda / TA416) ChaChi Epsilon Red 2021 YamaBot / Kaos 2022 Chaos Nerbian Arid Gopher 2019 RAT Ransomware Party Ticket Babuk Agenda Snatch Others 6 IPStorm 2016 2017 AthenaGo Linux.Lady Linux.Rex
  • 7. © NTT Security Holdings All Rights Reserved 攻撃者 から見た Go Malware • 単一のコードから複数のプラットフォームを標的とする検体が生成可能 • 高速に動作し、堅牢なコードが容易に記述できる • ファイルサイズが大きいため、AV・サンドボックスによる検知を回避 2022 https://github.com/tiagorlampert/CHAOS https://github.com/redcode-labs/Coldfire 7
  • 8. © NTT Security Holdings All Rights Reserved 解析者 から見た Go Malware (相対的に) リバースエンジニアリングが難しい • ライブラリが静的にリンクされており、解析対象が大幅に増加 • 言語に対応した解析ツールが少ない • 解析者がGoバイナリ特有の挙動に慣れていない 2022 高速に分類する手法が求められる C hello world Go hello world 71 Functions 1443 Functions 8
  • 9. © NTT Security Holdings All Rights Reserved gimpfuzzy © NTT Security Holdings All Rights Reserved 2022
  • 10. © NTT Security Holdings All Rights Reserved バイナリを識別する指標 2022 • ssdeep • TLSH • imphash • impfuzzy • gimphash https://www.virustotal.com/ https://bazaar.abuse.ch/ 10
  • 11. © NTT Security Holdings All Rights Reserved gimphash • Golangバイナリ版のimphash • Golangバイナリはプラットフォームに拠らずpclntabと呼ばれる構造を持つ • 依存するパッケージ名や関数名などを復元可能 • gimphashは復元したパッケージ名/関数名のうち、汎用的なものを削除した一部をSHA256でハッシュ化したもの • マルウェアが依存する機能を一意に表現可能だが、異なるハッシュの比較は不可能 2022 github.com/example/ExampleFunction github.com/example/Malicious os.Getenv Crypto/sha256/New ・・・ gimphash pclntab 関数名でフィルタ + sha256 e3b0c44298・・・ 11
  • 12. © NTT Security Holdings All Rights Reserved gimpfuzzy • gimphashをFuzzy Hashに • SHA256は入力が1bitでも違えば出力は大きく変化するので、バージョン違いなど「似ているもの」の比較が不可能 • Fuzzy Hashを利用することで検体間の類似度が測定可能に 2022 github.com/example/ExampleFunction github.com/example/Malicious os.Getenv Crypto/sha256/New ・・・ gimpfuzzy pclntab github.com/example/AnotherFunction github.com/example/Malicious os.Getenv Crypto/sha256/New ・・・ 3:j4dwGIVWYvgxN4dw GIV3MNWzYKKKvTKrs :j4mGggximGCMcTjKrs 3:j4dwGIV++RSXzM9xN4d wGIV3MNWzYKKKvTKrs:j4 mGduSXg9ximGCMcTjKrs 類似度を比較可能 12
  • 13. © NTT Security Holdings All Rights Reserved 検証方法 • Palo Alto Networksが公開しているGoマルウェア分類リストを利用 • 検体のSHA256 • ファミリの分類結果 • リストから約7900検体、 53ファミリを収集 • 判別精度を検証 2022 https://unit42.paloaltonetworks.jp/the-gopher-in-the-room-analysis-of-golang-malware-in-the-wild/ 13
  • 14. © NTT Security Holdings All Rights Reserved 検証方法:gimphash 2022 gimphashの判別率イメージ:ファミリ内の検体のスコアの組み合わせの例 A B C D E F A 100 100 0 0 0 0 B 100 100 0 0 0 0 C 0 0 100 0 0 0 D 0 0 0 100 0 0 E 0 0 0 0 100 100 F 0 0 0 0 100 100 Τ (2C2 + 2C2) 6C2 = 2 15 = 0.133 完全一致かそうでないか (スコア=100 or 0) のみ評価可能 自身のハッシュとは 必ず一致 2C2 =1 2C2 =1 14
  • 15. © NTT Security Holdings All Rights Reserved 検証方法:gimphash 判別率:同一ファミリ内で2つの検体を取り出した場合に同じgimphashになる確率 例: ファミリの検体数:45 Τ (21C2 + 14C2) 45C2 2022 count gimphash ------------------------------------------------------------------------------------------------------------------- 21 a2d8e06ce26e22f787fd9a9b44651f9493a3eae26847aa5cdf82a40c8bbc0f28 14 a307414aea2e294e69b425c65409774ed1552351fa8af099c3a643c5320f4411 1 f7c31d1ed7aad92f725d48827f9764abac9edd3f7e0cf6dcdfb93aea5e832ebd 15
  • 16. © NTT Security Holdings All Rights Reserved 検証方法:gimpfuzzy 判別率:同一ファミリ内で2つの検体を取り出した場合に類似度が閾値以上になる確率 gimpfuzzy類似度スコア算出方法 2022 $ cat sample1.bin.gimpfuzzy ssdeep,1.1--blocksize:hash:hash,filename 1536:R1IUKvE0I5WsS4KmdZo9uihOQGMbH6gWx:R1KvIoj4KmdZo9ucGMbH6gWx,"sample1.bin" $ cat sample2.bin.gimpfuzzy ssdeep,1.1--blocksize:hash:hash,filename 1536:x/KKvOm0I5WsS4cm5Zo9uihOQGMbH6gW7:5KKQIoj4cm5Zo9ucGMbH6gW7,"sample2.bin" $ ssdeep -a -k sample1.bin.gimpfuzzy sample2.bin.gimpfuzzy sample2.bin.gimpfuzzy:sample2.bin matches sample1.bin.gimpfuzzy:sample1.bin (77) スコア 16
  • 17. © NTT Security Holdings All Rights Reserved 検証方法:gimpfuzzy 2022 gimpfuzzy (スコア閾値>60) の判別率イメージ:ファミリ内の検体のスコアの組み合わせ A B C D E F A 100 100 70 80 0 0 B 100 100 65 90 0 0 C 70 65 100 70 0 0 D 80 90 70 100 0 0 E 0 0 0 0 100 100 F 0 0 0 100 100 Τ (4C2 + 2C2) 6C2 = 7 15 = 0.466 入力の類似度を基にした 評価が可能に 4C2 =6 2C2 =1 17
  • 18. © NTT Security Holdings All Rights Reserved 検証結果:判別率 2022 gimphash gimpfuzzy(>=80) gimpfuzzy(>=70) gimpfuzzy(>=60) 平均判別率 7.32 47.85 67.37 79.98 (veil除外) 17.64 37.89 46.13 55.94 18 0 10 20 30 40 50 60 70 80 90 100 A B C D E F G H I J K L M N O P Q R S T U V W 判別率
  • 19. © NTT Security Holdings All Rights Reserved 検証結果 • ファミリ内の検体とのスコア比較 • あるファミリの検体に対して、同一ファミリに属するすべての検体とのスコアを比較(重複は除去) • ファミリ内の組み合わせのスコア分布を調査 2022 70 100 75 70 0 同一ファミリ内でも ハッシュが全く異なる スコア=0の検体の 組み合わせが存在 同一ファミリ内で ハッシュが類似する 多くの検体の組み合わせが スコア68以上に分布 ※色はファミリを示す 19
  • 20. © NTT Security Holdings All Rights Reserved 検証結果 • ファミリ外の検体とのスコア比較 • あるファミリの検体に対して、違うファミリに属するすべての検体とのスコアを比較(重複は除去) • 75%の組み合わせは全く異なるハッシュ (スコア0) をもつが、25%の組み合わせはハッシュが類似 2022 20 50 60 スコア=0は省略 多くの検体で スコア69未満 ※色はファミリを示す 20
  • 21. © NTT Security Holdings All Rights Reserved 検証結果 • クラスタリングを行う閾値の決め方 • 過不足なくファミリ分類を行える閾値 • 閾値以上のものをファミリ内とみなし調査 • TP →閾値以上で実際にファミリ内である組み合わせ • TN →閾値以下で実際にファミリ外である組み合わせ • FP →閾値以上で実際はファミリ外である組み合わせ • FN →閾値以下で実際はファミリ内である組み合わせ • 単純な正解率での評価は困難 • ファミリ内の検体の個数<<ファミリ外の検体の個数 • TP/FP/FNの割合を平等に評価する必要性 2022 〇TP 実際にファ��リ内 〇TN 実際にファミリ外 ×FN 実際はファミリ内 ×FP 実際はファミリ外 ファミリ外とみなす ファミリ内とみなす 正解 不正解 ファミリ内とみなす閾値を動かして精度を検証 21
  • 22. © NTT Security Holdings All Rights Reserved 検証結果 • F-measureで評価 • 適合率:本当にファミリ内だった割合 • 再現率:取りこぼさなかった割合 • F-measure : 適合率と再現率の調和平均 • 閾値=68が最も妥当 • 直感的なグラフの分布とも一致 2022 〇TP ×FP 〇TP + 〇TP ×FN 〇TP + 閾値=68 スコア=0は省略 22
  • 23. © NTT Security Holdings All Rights Reserved Case Study © NTT Security Holdings All Rights Reserved 2022
  • 24. © NTT Security Holdings All Rights Reserved Case Study 1: Cross Platform 2022 IPStorm • 2019年5月に観測されたP2Pボットネット • gimpfuzzyを利用することで、プラットフォームが異なる検体の類似性を確認 類似度 90 B gimpfuzzy gimphash 3072:qZosQIop4rzLYr62Xb+iwzh7RXn ZWCy7IxXkzAEmZMpg1DtNg+rhHWP vXvAYiMsP:bA/KT7439mV/Wrz 3072:lZosCIop4szLYr62Xb+iSzh7RXn ZWCy7IxXyzAKmZMpg1DtNg+rhHWP vXvAYiMs0:1AQT7439mV/WrOt 不一致 4e92f61bb61e08947f457e 73cbe72348c1dce312323a 652397c85731144a8088 37da5b52a7c1577b7e0f3c fc99d059ffefe4def03ee840 a8b9becd192ca79291 A 24
  • 25. © NTT Security Holdings All Rights Reserved Case Study 1: main関数の比較 2022 IPStormの特徴であるパッケージ「storm」の関数「starter」を呼び出す挙動が一致 A (Linux) B (Mac) 25
  • 26. © NTT Security Holdings All Rights Reserved Case Study 1: 抽出された関数 2022 26 プラットフォームの差異によらず分類が可能 B (Mac) 817 Common 5744 A (Linux) 194
  • 27. © NTT Security Holdings All Rights Reserved Case Study 2: gimpfuzzyが有効なファミリ • マルウェア制作ツール「veil」で作成されたファミリ • Metasploitのペイロードに対応 • バックドアなど様々な機能を指定してマルウェアに追加可能 • AV検出回避機能がある • gimphashと比較し、gimpfuzzyの精度が非常に良い 2022 27 0.1 54.80936432 82.21532493 96.77106297 0 20 40 60 80 100 gimphash gimpfuzzy (閾値80) gimpfuzzy (閾値70) gimpfuzzy (閾値60)
  • 28. © NTT Security Holdings All Rights Reserved Case Study 2: gimpfuzzyが有効なファミリ • 通常のHashと比較し、Fuzzy Hashの効果が大きい検体が多い • 通常のHashの場合、一文字でも入力が違えば全く異なるハッシュが出力される 2022 Passed Function: 426 main.JeDKBXmMzyjP main.TUsJXmXgumrHRF bytes.Equal bytes.IndexByte strings.IndexByte io/ioutil.ReadAll io/ioutil.NopCloser math/rand.NewSource math/rand.New math/rand.(*Rand).Seed math/rand.(*Rand).Int63 … Passed Function: 427 main.PdbjIQTndnFwQIr main.UEeaLthPqHAvk main.Redfkoe bytes.Equal bytes.IndexByte strings.IndexByte io/ioutil.ReadAll io/ioutil.NopCloser math/rand.NewSource math/rand.New math/rand.(*Rand).Seed … 関数名の一部が 難読化 検体ごとに異なる 他の大部分の 関数名が一致 Fuzzy Hashingが 極めて有効 28
  • 29. © NTT Security Holdings All Rights Reserved Case Study 3: gimpfuzzyによるクラスタリング WellMess • 2018年にJPCERTやLACによって初観測 • 2020年にAPT29がCOVID-19ワクチン開発に関連したキャンペーンで利用 • 収集した15検体に対してgimphash / gimpfuzzy を計算 • gimphashによって 7 種類に分類された 2022 29
  • 30. © NTT Security Holdings All Rights Reserved Case Study 3: WellMess 2022 2018 2019 2020 B A C E G D F 30
  • 31. © NTT Security Holdings All Rights Reserved Case Study 3: 分類結果 gimpfuzzyを利用することでさらに判別率が向上する 2022 全15検体のクラスタリング 31 7 5 4 2 1 0 5 10 gimphash gimpfuzzy (閾値90) gimpfuzzy (閾値85) gimpfuzzy (閾値80) gimpfuzzy (閾値70) クラスタ数
  • 32. © NTT Security Holdings All Rights Reserved Case Study 3: 分類結果 2022 B A C G E D F 90 88 93 82 82 75 32 時系列で近い検体から順に結合していく Windows Linux
  • 33. © NTT Security Holdings All Rights Reserved Case Study 3: mainパッケージの関数 (Windows) 攻撃者が機能を拡張していることを確認 2022 C A E G 33
  • 34. © NTT Security Holdings All Rights Reserved Case Study 3: mainパッケージの関数 (Linux) 2022 Linuxを標的とする検体のみ「getIP」という関数が存在する B D F 34
  • 35. © NTT Security Holdings All Rights Reserved Common 574 Windows 3 Linux 24 X 32 Y + Z 58 Z 54 G 45 Others 22 Case Study 3: 抽出された関数 35 2022 X Y Z • 7割の関数が共通 • プラットフォームによる差異よりも、 検体の機能の差異の方が影響が大きい
  • 36. © NTT Security Holdings All Rights Reserved 課題 © NTT Security Holdings All Rights Reserved 2022
  • 37. © NTT Security Holdings All Rights Reserved 1. Filterにより情報が減少する場合 多くの関数名が計算過程のフィルタによって削除される 2022 $ ~/enum_gimp_function 947b273069... ALL Function: 1532 go.buildid main.LfoJVuVXGK main.main main.init type..hash.[100]string type..eq.[100]string runtime.memhash0 runtime.memhash8 runtime.memhash16 runtime.memhash32 runtime.memhash64 … … Passed Function: 6 main.LfoJVuVXGK os.(*PathError).Error os.(*File).Name os.NewFile os.Exit errors.New Filter “internal/“ を含む 関数名の初めの文字が小文字 以下で始まる “go.”,“type.”,“runtime”,etc... 検体固有の特徴が削除される可能性 37
  • 38. © NTT Security Holdings All Rights Reserved 1. Filterにより情報が減少する場合 2022 38 https://github.com/NextronSystems/gimphash
  • 39. © NTT Security Holdings All Rights Reserved 2. Fuzzy Hashingができない場合 Fuzzy Hash算出に必要な情報量が少ない 2022 $ ~/enum_gimp_function 947b273069105ff6a78e533cd6b8b0d9e8a35f4c9534fdf9d6… All Function: 1532 … Passed Function: 6 main.LfoJVuVXGK os.(*PathError).Error os.(*File).Name os.NewFile os.Exit errors.New Fuzzy Hashに入力するサイズが4096byte以下の場合エラーとなる このサンプルの場合連結した関数文字列が短い 39
  • 40. © NTT Security Holdings All Rights Reserved 3. 解析妨害がされている場合 関数名の復元が不可能 2022 $ file 0581c4953fda52c40f5d0911acdcfcb4dfdcbb9b64e3b0213a94477b991a7ec3 0581c4953fda52c40f5d0911acdcfcb4dfdcbb9b64e3b0213a94477b991a7ec3: PE32 executable (GUI) Intel 80386 (stripped to external PDB), for MS Windows, UPX compressed $ upx -d 0581c4953fda52c40f5d0911acdcfcb4dfdcbb9b64e3b0213a94477b991a7ec3 Ultimate Packer for eXecutables Copyright (C) 1996 - 2020 UPX 3.96 Markus Oberhumer, Laszlo Molnar & John Reiser Jan 23rd 2020 File size Ratio Format Name -------------------- ------ ----------- ----------- upx: 0581c4953fda52c40f5d0911acdcfcb4dfdcbb9b64e3b0213a94477b991a7ec3: NotPackedException: not packed by UPX Unpacked 0 files. セクションを確認するとUPXでpackされていると思われる セクション名を含むが、unpack不可 40
  • 41. © NTT Security Holdings All Rights Reserved 3. 解析妨害がされている場合 関数名がランダム文字列 2022 $ ~/enum_gimp_function 3ff830b8a9a1eb5cdf60d98c969e5d18a64c5a2fa6d430098… … Passed Function: 1026 main.NewCDITPPADBCZMNQ main.(*CDITPPADBCZMNQ).MBMKXLZCVOHE main.(*CDITPPADBCZMNQ).ERGJXOCYDQNL main.(*CDITPPADBCZMNQ).DTSMCFPNHOPV main.(*CDITPPADBCZMNQ).PDUPAPZYBDWJ main.(*CDITPPADBCZMNQ).SKEKRXUKNVRZ main.(*CDITPPADBCZMNQ).SXIFTMHNQIUP … 検体ごとに異なるランダム文字列を含むことでFuzzy Hashの類似度 スコアが低下する要因となる 41
  • 42. © NTT Security Holdings All Rights Reserved 3. 解析妨害がされている場合 難読化ツール適用 2022 42 https://github.com/unixpickle/gobfuscate
  • 43. © NTT Security Holdings All Rights Reserved まとめ © NTT Security Holdings All Rights Reserved 2022
  • 44. © NTT Security Holdings All Rights Reserved まとめ Goマルウェアを高速に分類する新たな指標「gimpfuzzy」を提案 • Fuzzy Hashを活用することで検体間の類似度を測定 • データセットを利用した検証で、2.6倍以上の精度向上を確認 gimpfuzzyを利用した分類の事例を紹介 • 機能が追加された検体を同一ファミリと判定 • クロスプラットフォームの検体の分類も可能 • gimpfuzzyの課題についても議論 2022 44
  • 45. © NTT Security Holdings All Rights Reserved References • https://github.com/NextronSystems/gimphash • https://github.com/JPCERTCC/impfuzzy • https://unit42.paloaltonetworks.jp/the-gopher-in-the-room-analysis-of-golang-malware-in-the-wild/ • https://www.intezer.com/blog/malware-analysis/year-of-the-gopher-2020-go-malware-round-up/ • https://www.paloaltonetworks.jp/company/in-the-news/2019/the-gopher-in-the-room-analysis-of-golang-malware-in-the- wild • https://www.darkreading.com/threat-intelligence/attackers-use-of-uncommon-programming-languages-continues-to-grow • https://www.crowdstrike.com/blog/financial-motivation-drives-golang-malware-adoption/ • https://www.intezer.com/blog/research/operation-ElectroRAT-attacker-creates-fake-companies-to-drain-your-crypto- wallets/ • https://blogs.jpcert.or.jp/ja/2018/06/wellmess.html • https://www.ncsc.gov.uk/news/advisory-apt29-targets-covid-19-vaccine-development 2022 45
  • 46. © NTT Security Holdings All Rights Reserved Thank you! 2022 For questions / comments: ntts.nsj-so-info@global.ntt
  • 47. © NTT Security Holdings All Rights Reserved Appendix © NTT Security Holdings All Rights Reserved 2022
  • 48. © NTT Security Holdings All Rights Reserved Fuzzy Hashing (ssdeep) • ssdeepのメインアイデア:CTPH (Context Triggered Piecewise Hashing) • Piecewise Hashing : 分割した部分データのハッシュ • Rolling Hash : 固定長の部分データに対するハッシュ • Rolling Hashが一定の値になった時に、そこで分割してPiecewise Hashingを行う • トリガーとなる値は入力データ長に応じて計算 2022 a b c d e f g h i j k l Piecewise Hashing Rolling Hash a b c d e f g h i j k l 入力の類似度を よく反映できる 入力データ 入力データ 48
  • 49. © NTT Security Holdings All Rights Reserved 組み合わせ 2022 • 組み合わせ • 順番違いを考慮しない • 𝑛C𝑟 = 𝑛! 𝑛−𝑟 !𝑟! • 例:6個から2個取り出す 組み合わせ • A-B • A-C • … • 6C2 =15 A B C D E F A A-A A-B A-C A-D A-E A-F B B-A B-B B-C B-D B-E B-F C C-A C-B C-C C-D C-E C-F D D-A D-B D-C D-D D-E D-F E E-A E-B E-C E-D E-E E-F F F-A F-B F-C F-D F-E F-F 自身との組み合わせは 存在しない 順番違いは数えない 49
  • 50. © NTT Security Holdings All Rights Reserved Hashes 2022 Page Description SHA256 p.24 IPStorm (Linux) 4f0add8eadb24a134b5cab6052920f576eec1bb39232c9548286a66883dcab82 p.24 IPStorm (mac) 087f2ec8bbcee4091241e5ad30d449a1aecd0b9879338d072638c7d0ed6b30da p.28 Veil 00cf1c62ffdd727bfe8514003c6c881a4c53820a010e6e5a4757123165481864 p.28 Veil 06b5cb2bc4fb1f08a223fb0bf5cc065adb6074b27a24e063bbc8a5ce7459ff5c p.30 WellMess (A) bec1981e422c1e01c14511d384a33c9bcc66456c1274bbbac073da825a3f537d p.30 WellMess (B) 0b8e6a11adaa3df120ec15846bb966d674724b6b92eae34d63b665e0698e0193 p.30 WellMess (C) d7e7182f498440945fc8351f0e82ad2d5844530ebdba39051d2205b730400381 p.30 WellMess (D) 7c39841ba409bce4c2c35437ecf043f22910984325c70b9530edf15d826147ee p.30 WellMess (E) 8749c1495af4fd73ccfc84b32f56f5e78549d81feefb0c1d1c3475a74345f6a8 p.30 WellMess (F) 5ca4a9f6553fea64ad2c724bf71d0fac2b372f9e7ce2200814c98aac647172fb p.30 WellMess (G) 4c8671411da91eb5967f408c2a6ff6baf25ff7c40c65ff45ee33b352a711bf9c 50