Home
Explore
Submit Search
Upload
Login
Signup
Advertisement
Jubatusでマルウェア分類
Report
Shuzo Kashihara
Follow
Software Engineer at Preferred Networks Inc
May. 11, 2012
•
0 likes
18 likes
×
Be the first to like this
Show More
•
5,415 views
views
×
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Check these out next
前回のCasual Talkでいただいたご要望に対する進捗状況
JubatusOfficial
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
Miki Shimogai
SensorBeeの紹介
Shuzo Kashihara
Rユーザのためのspark入門
Shintaro Fukushima
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Kotaro Nakayama
データ圧縮アルゴリズムを用いたマルウェア感染通信ログの判定
JubatusOfficial
Kerasで深層学習を実践する
Kazuaki Tanida
「深層学習」の本に出てきたデータセット達
Hiromasa Ohashi
1
of
32
Top clipped slide
Jubatusでマルウェア分類
May. 11, 2012
•
0 likes
18 likes
×
Be the first to like this
Show More
•
5,415 views
views
×
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Download Now
Download to read offline
Report
Technology
機械学習×プログラミング勉強会 2012年5月11日
Shuzo Kashihara
Follow
Software Engineer at Preferred Networks Inc
Advertisement
Advertisement
Advertisement
Recommended
Jubatus使ってみた 作ってみたJubatus
JubatusOfficial
11.2K views
•
26 slides
Jubaanomalyについて
JubatusOfficial
12.7K views
•
17 slides
Jubatus分類器の活用テクニック
JubatusOfficial
11.9K views
•
28 slides
Jubakit の紹介
kmaehashi
13.6K views
•
20 slides
Jubatus 1.0 の紹介
JubatusOfficial
10.8K views
•
13 slides
SensorBeeでChainerをプラグインとして使う
Daisuke Tanaka
3.2K views
•
19 slides
More Related Content
Slideshows for you
(20)
前回のCasual Talkでいただいたご要望に対する進捗状況
JubatusOfficial
•
15.3K views
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
Miki Shimogai
•
114.4K views
SensorBeeの紹介
Shuzo Kashihara
•
2.1K views
Rユーザのためのspark入門
Shintaro Fukushima
•
9.9K views
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Kotaro Nakayama
•
2.9K views
データ圧縮アルゴリズムを用いたマルウェア感染通信ログの判定
JubatusOfficial
•
12.1K views
Kerasで深層学習を実践する
Kazuaki Tanida
•
4.2K views
「深層学習」の本に出てきたデータセット達
Hiromasa Ohashi
•
1.6K views
ストリーム処理とSensorBee
Daisuke Tanaka
•
3.2K views
2013.07.15 はじパタlt scikit-learnで始める機械学習
Motoya Wakiyama
•
23.3K views
Lt ingaoho-jsonb+postgeres fdw
Toshi Harada
•
1.3K views
PostgreSQL:行数推定を読み解く
Hiroya Kabata
•
31K views
使ってみませんか?pg hint_plan
Masao Fujii
•
20.1K views
問合せ最適化インサイド
Takahiro Itagaki
•
37K views
SQLチューニング入門 入門編
Miki Shimogai
•
11.3K views
Pgunconf 20121212-postgeres fdw
Toshi Harada
•
2.1K views
より深く知るオプティマイザとそのチューニング
Yuto Hayamizu
•
22.5K views
Jubakitの解説
JubatusOfficial
•
10.2K views
Introduction to Chainer and CuPy
Kenta Oono
•
3.1K views
mmapパッケージを使ってお手軽オブジェクト管理
Shintaro Fukushima
•
1.5K views
Similar to Jubatusでマルウェア分類
(20)
大規模なギョームシステムにHaxeを採用してみた話
terurou
•
11.3K views
地方企業がソーシャルゲーム開発を成功させるための10のポイント
Kentaro Matsui
•
4.8K views
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
Kazumi IWANAGA
•
6.6K views
EmbulkとDigdagとデータ分析基盤と
Toru Takahashi
•
22.4K views
EmbulkとDigdagとデータ分析基盤と
Toru Takahashi
•
910 views
ElasticSearch勉強会 第6回
Naoyuki Yamada
•
21.1K views
JAWSDAYS 2014 ACEに聞け! EMR編
陽平 山口
•
3.2K views
Software Development with Symfony
Atsuhiro Kubo
•
1.1K views
PHPフレームワーク入門
Sho A
•
2K views
BPStudy20121221
Shinichiro Takezaki
•
2.6K views
A Tour of PostgreSQL
EDB
•
316 views
企業におけるSpring@日本springユーザー会20090624
Yusuke Suzuki
•
1.9K views
ドメイン駆動で開発する ラフスケッチから実装まで
増田 亨
•
15.4K views
CodeIgniter入門
Sho A
•
13.1K views
2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門
Daiyu Hatakeyama
•
514 views
Ossで作成するチーム開発環境
Tadahiro Ishisaka
•
3.9K views
利用者主体で行う分析のための分析基盤
Sotaro Kimura
•
1.1K views
Jjug springセッション
Yuichi Hasegawa
•
2.6K views
フロント作業の効率化
Yuto Yoshinari
•
30K views
PHP開発者のためのNoSQL入門
じゅん なかざ
•
6.3K views
Advertisement
More from Shuzo Kashihara
(7)
gRPCをちょこっと調べた話
Shuzo Kashihara
•
9.4K views
論文輪読会のススメ
Shuzo Kashihara
•
4.1K views
Reading “Unikernels: Rise of the Virtual Library Operating System”
Shuzo Kashihara
•
1.6K views
The Google File System
Shuzo Kashihara
•
1.5K views
Jubatus Casual Talks #2 Jubatus開発者入門
Shuzo Kashihara
•
13K views
PFIインターン最終発表
Shuzo Kashihara
•
2.1K views
VC++プロジェクト向け難読化ツールの開発
Shuzo Kashihara
•
4.7K views
Recently uploaded
(20)
Oracle Cloud Infrastructure:2023年5月度サービス・アップデート
オラクルエンジニア通信
•
25 views
JSTQB_テストマネジメントとレビュープロセス.pdf
akipii Oga
•
15 views
①【威斯康星大学麦迪逊分校毕业证文凭学位证书|工艺完美复刻】
C25lokh12
•
3 views
ペンタエリスリトール市場.pdf
HinaMiyazu
•
3 views
UAV写真・レーザー測量test.pptx
ssuserb48d2b1
•
13 views
①【阳光海岸大学毕业证文凭学位证书|工艺完美复刻】
vgh215w
•
2 views
20230516 @Mix Leap Hirohiko_Suwa
Masashi Nakagawa
•
82 views
☀️【中央兰开夏大学毕业证成绩单留学生首选】
25mjhd12
•
4 views
①【戴尔豪斯大学毕业证文凭学位证书|工艺完美复刻】
love445ds
•
2 views
統計学の攻略_推測統計学の考え方.pdf
akipii Oga
•
28 views
ヘッドレス化したbaserCMS5とその機能
Ryuji Egashira
•
10 views
TestSIP (1).pdf
DeependraSingh712859
•
2 views
JSTQB_テストプロセスの概念モデル.pdf
akipii Oga
•
28 views
点群SegmentationのためのTransformerサーベイ
Takuya Minagawa
•
12 views
【2023年5月】平成生まれのためのUNIX&IT歴史講座
法林浩之
•
16 views
20230523_IoTLT_vol99_kitazaki_v1.pdf
Ayachika Kitazaki
•
99 views
Üslup ve tercüme.pdf
1Hmmtks
•
2 views
Kubernetes超入門
Takashi Suzuki
•
0 views
シン3次元表示装置 ーその1ー
Takashi Yamanoue
•
126 views
☀️【麦吉尔大学毕业证成绩单留学生首选】
15sad
•
3 views
Advertisement
Jubatusでマルウェア分類
Jubatusでマルウェア分類 2012年5月11日@機械学習 プログラミング勉強会
株式会社Preferred Infrastructure 柏原秀蔵(@suma90h)
Agenda • Jubatusとは • Jubatusでマルウェア分類してみる •
Jubatusを使う時に気を付けること • まとめ
Jubatusとは
Jubatusとは • 機械学習フレームワーク •
分散・並列実行できるオンライン機械学習 • サーバ/クライアント • 無料です! • OSS(LGPL)
話さないこと • Jubatusの詳細 •
分散処理の仕組み • オンライン学習 • 内部のモジュール構成 • 機械学習のアルゴリズム
Jubatusの提供する機能 •
機械学習(オンライン学習)のフレームワーク • classifier 多クラス分類器(Perceptron, AROW, NHERD, etc) • recommender レコメンド(Inverted Index, LSH) • regression 回帰 • fv_converter 特徴抽出、フィルタ、プラグイン機能
詳しくは • search Jubatus •
http://www.slideshare.net/JubatusOfficial • http://www.slideshare.net/pfi
Jubatus利用法 • 依存ライブラリの解決、ビルド、インストール • サーバを起動する •
クライアントを書き、サーバのRPCを叩く
Jubatusを使おう
悩んだ • Jubatusで何ができるの? • 機械学習の理論がよくわからない •
どんなアプリが作れるだろうか?
機械学習を使う前に •
機械学習で分類させるには、ラベル付きデータが必要 • 卵が先か、鶏が先か... • 学習させるデータを特徴ベクトルに落とし込む必要がある • fv_converterが何とかしてくれる? • Jubatusは基本的には以下のデータ型を入力する • ペア<string, string> • ペア<string, double>
そうだ、マルウェア を解析しよう
ひらめきよりむしろ、 ラベル付きデータを発見!
マルウェア分類を始めよう •
なぜJubatus? • 勉強会のネタ! 開発者としてJubatusに慣れるため...! • 実験に使ったデータを公開している論文を発見 • "Automatic Analysis of Malware Behavior using Machine Learning" [09 Konrad Rieck et al] • http://www.mlsec.org/malheur/ • A novel tool for malware analysis
Malheurの手法 •
マルウェアの動的解析結果(CWSandbox)を用意 • 結果をMIST(数値)形式へ変換 • 数値の列を得る • MISTの結果をn-gramして特徴ベクトルとする
MISTの中身 Figure.3 (p5) "Automatic
Analysis of Malware Behavior using Machine Learning" [09 Konrad Rieck et al]
CWSandboxの XMLとMISTを見よう
Jubatusで分類してみる •
Jubatusの分類器 • 多クラス分類 (スパム判定といった0/1も可能) • 公開されているデータ(Reference Datasets) • マルウェアの解析結果(XML, MIST) • ラベル, ファイルサイズ, ハッシュ • 論文はMISTのn-gramを特徴ベクトルとして分類していた
クライアントを書く •
Rubyでclassifierクライアントを書く • 現状のクライアントはあまり使わないほうがいい, C++をオ ススメ • 型チェックがクライアント側にない • 使うRPC, やること • set_config:特徴ベクトルを設計して準備する • train:学習させる • classify:分類させる
設定を書く •
アルゴリズムの選択(今回はAROW) • 特徴ベクトルの抽出方法を記述 • Jubatusで入力可能な特徴ベクトルはタプル • 海野さん(@unnonouno)さんに相談したらword単位で のn-gramするプラグインが社内にあった • これでMISTをn-gramできる!
分類させてみる •
公開されているReference Datasetsを試した • ラベル数 24(のみ) • ラベル付きデータ 3133件 • 学習:300件 • 分類を試した数:2833件 • ラベルの一致:2719件
精度と再現率 •
精度:分類器がどれくらい正しいかを示す値 • 予測(分類結果)して一致した数 / 全体の数 • 2719/2833 = 0.95 • 再現率:実際にラベルをカバーできているか示す値 • 予測して一致した数 /実際に存在する分類の数 • なるほどー(計測できていません)
精度は大丈夫か? •
評価として大丈夫か? • Jubatusとの格闘で力尽きました • F値? 交差検定(Cross validation)? • λ.. 出直してきます 論文ではF値は載ってました • 論文ではReferenceDatasetで学習して、他に30,000件程度で実験していた • Known malware/Unknown malware の件数を数えたり • クラスタリングと分類
以上作ってみた •
論文とラベル付きデータを利用しただけ • 特徴ベクトル等々は論文を参照して頂きたい • recommenderも試したかった • マルウェアのレコメンドとは...! 熱い!! • 分散もさせたかった...
Jubatusハマりポイント (2012/05/11時点)
ビルドでハマるポイント •
wafを使ったビルド時のリンクエラー • ./build/c4che/_cache.pyのLINKFLAGS = [ -lhogehoge ]とすれば直 る • CXXFLAGS= -I LIBRARY_PATH= ./waf configure • pficommon on Mac OS X • pkg-configの設定情報がバグっていてリンクフラグに何も指定されない • Mac OS XでJubatusをビルドする際にリンクエラーが発生する • 修正(pull requestをマージ予定)予定です
クライアント開発時のポイント •
set_configすると謎のエラー • 設定情報が間違っていてもサーバ, クライアントはエ ラー箇所を指摘してくれない • コピペ駆動、サンプル駆動が望ましい • Ruby, Pythonクライアントなどで型を間違えるとエラー • C++を使う(それでもset_config問題は残る) • ライブラリの成熟を待つ(開発中です...)
ライブラリはどこ? •
C++クライアント • include/jubatus/clientにヘッダ有り • Java, Ruby, Pythonなどが • https://github.com/jubatus/jubatus/downloads • 自動生成されたコードで、エラー処理は不親切かも
まとめ •
マルウェア分類がJubatus(classifier)で出来た • 機械学習よくわからなくても、わかったこと • 特徴ベクトル抽出で第一歩 • ラベル付きデータ神 これがなければどうなっていたか • 実験・評価方法も勉強すべし(勉強会が終わってからが本番) • Jubatus • ハマり所の発見。持ち帰ってフィードバックします • クライアントライブラリは今後に期待 • 分散処理も実験したい
Advertisement