Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
セキュリティ・キャンプ全国大会2018
Search
Daiki Yamakawa
October 10, 2018
0
320
セキュリティ・キャンプ全国大会2018
集中開発コースのZトラック(アンチウイルス実装ゼミ)に参加したまとめです。
Daiki Yamakawa
October 10, 2018
Tweet
Share
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1362
200k
Pencils Down: Stop Designing & Start Developing
hursman
118
11k
The Straight Up "How To Draw Better" Workshop
denniskardys
229
130k
Robots, Beer and Maslow
schacon
PRO
157
8.1k
Why Our Code Smells
bkeepers
PRO
332
56k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
52k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
662
120k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
26
2.1k
KATA
mclloyd
20
13k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
16
1.6k
How STYLIGHT went responsive
nonsquared
93
5k
Fashionably flexible responsive web design (full day workshop)
malarkey
399
65k
Transcript
セキュリティ・キャンプ 全国大会2018 ~Zトラック参加記~ 山川 大貴 @dai_shopper3
目次 Zトラックの概要 Zトラック(Z2コース)でやったこと まとめ 2
Zトラックの概要 このセクションのみ忠鉢先生のスライドを許可を得て、引用・編集して使用しています https://speakerdeck.com/yuzuhara/wrapup-z-2018 3
4
Zトラックのコース紹介 Z1:高品質なELFマルウェアシグネチャ(yara)の作成 Z2:高精度なELFマルウェア分類・検知 Z3:yaraシグネチャマッチングの高速化 Z4:圧倒的高速なIDS(パケットフィルタ)の実装 5
Zトラックの最強講師陣 Z1:アンドリアン ヘンドリック (@unixfreaxjp) 株式会社ラック Z1:丑丸 逸人(@ucq) 株式会社サイバーディフェンス研究所
Z2:大居 司(@a4lg) リサーチエンジニア Z2:忠鉢 洋輔(@ybachi) 株式会社アクティブディフェンス研究所/筑波大学 Z3:新屋 良磨 (@sinya8282) 秋田大学 助教 Z4:浅田 拓也(@syuu1228) ScyllaDB Z4 : 城倉 弘樹(@slankdev) NTTコミュニケーションズ株式会社 6
Zトラックの流行語 7
Zトラックの流行語 8
Z2コースで学んだこと 9
Z2コースの到達目標 ELFマルウェアの検出・分類 特徴量の抽出・分類器の作成 決定木アルゴリズムの利用 ELFファイルの完全理解 10
事前課題 (キャンプ初日までの課題) ELFファイル構造の勉強 ELFのセクション名を読み取るプログラムの作成 11
特徴量の抽出 課題1:ELFファイルから動的リンクヘッダの文字列テーブルを読んでみる 課題2:VirusTotalの結果を用いてベンダーごとに検知できた個数を表示する VirusTotalから取得したjsonファイルの加工 マルウェア検体の総数(3704個)
Fussy Hashingの勉強 ssdeepコマンド:類似度を出力してくれる 課題3:特徴量の取得をするプログラムを作成 12
Fuzzy Hashingについて 元のファイルのFuzzy Hashing値 12:RxRvIcAQhAYIeaPvS1QWf7eVSsliCwoUjQlWoUjlJLGoXdFloqUkMN1YTPt4B:RnAcAQhA YoS1QMeVSslWooQlWoolhGtV 編集済みファイルのFuzzy Hashing値 12:RxRvIcAQhAYIeaPvS1LaVSsliCwoUjQlWoUjlJLGoXdFloqUkMN1YTPt4B:RnAcAQhAYoS1 2VSslWooQlWoolhGtqU3
→マルウェアの亜種検知に使える 少し編集を加える 13
動的リンクヘッダとFuzzy Hashing 動的リンクヘッダの文字列テーブルを抽出する意味 共有ライブラリ名が書かれている 抽出した文字列テーブルをFuzzy Hashingを取って比較 似たような共有ライブラリを使っているマルウェアの亜種を検知できる
14
判定器の作成 特徴量からマルウェアの判定器を作る ELFファイル(マルウェア)の分析 ソースコードを読む(今回はたまたまソースコードがあった) 特徴的な文字列を発見する
Fuzzy Hashingを比較 15
発見した怪しげな文字列 エラーメッセージが固まって検出されている ‘/bin/sh’ ‘/etc/passwd’ ‘/proc/self/exe’ などなど…
ちなみにこんな文字列もありました Got root!(← 挑発されてる) 16
作成した判定器 Fuzzy Hashing・特徴的な文字列で13種類作成した 13種類の判定器 17
実験・評価 良性データセットの作成 Web上のdebファイルを落としてくるプログラムの作成 →http://ftp.riken.jp/Linux/debian/debian/pool/ 3日目で作成した13種類の判定器を用いて「マルウェアかどうか」を判断する 講師の用意した決定木を利用(アルゴリズムはC4.5)
クロスバリデーションで評価 18
決定木の出力結果 一番マルウェア分類に寄与しているのは‘/bin/sh’の判定器 出力結果の抜粋 解析木の全体図 :判定器 :判定結果 19
分類結果 評価データの総数:3719個 評価データの中で正常なデータ:1870個 評価データの中でマルウェアの総数:1849個 正常にマルウェアを検出できた数:875個(約47.32%) 誤検知:1個(約0.05%) C4.5 Good Bad Good
1869 1 Bad 974 875 分類結果 評 価 デ ー タ の ラ ベ ル 20
まとめ ~セキュリティキャンプ全国大会2018に参加してみて~ 21
まとめ(感想と参加するメリット) とにかく一日中頭をフル回転した 今後の学習に関するモチベーションが上がる セキュリティキャンプ全国大会に行かなければ会えない数多くの人 様々な分野の最強講師陣
意識の高い参加者やチューターの方々 →会ってお話して仲良くなるチャンス!!! 集中開発コース 講師と1 on 1で様々なものを学習・開発できる 期間中ずっと指導していただけるのでより仲良くなれる アンチウイルスに興味ある人はZトラックへ是非応募してみてください! 22
23