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
難読化Bashの検知
Search
udon-yuya
November 28, 2020
Technology
0
190
難読化Bashの検知
udon-yuya
November 28, 2020
Tweet
Share
More Decks by udon-yuya
See All by udon-yuya
NTTコミュニケーションズ インターンシップレポート
udonyuya
1
980
Other Decks in Technology
See All in Technology
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1.6k
1,000 にも届く AWS Organizations 組織のポリシー運用をちゃんとしたい、という話
kazzpapa3
0
160
日本の85%が使う公共SaaSは、どう育ったのか
taketakekaho
1
240
OCI Database Management サービス詳細
oracle4engineer
PRO
1
7.4k
学生・新卒・ジュニアから目指すSRE
hiroyaonoe
2
760
Oracle AI Database移行・アップグレード勉強会 - RAT活用編
oracle4engineer
PRO
0
110
~Everything as Codeを諦めない~ 後からCDK
mu7889yoon
3
500
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
270
Tebiki Engineering Team Deck
tebiki
0
24k
SRE Enabling戦記 - 急成長する組織にSREを浸透させる戦いの歴史
markie1009
0
170
AIエージェントを開発しよう!-AgentCore活用の勘所-
yukiogawa
0
190
生成AIを活用した音声文字起こしシステムの2つの構築パターンについて
miu_crescent
PRO
3
220
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
240
Designing Experiences People Love
moore
144
24k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
460
Code Review Best Practice
trishagee
74
20k
Testing 201, or: Great Expectations
jmmastey
46
8.1k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
120
A Modern Web Designer's Workflow
chriscoyier
698
190k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.9k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
120
Designing for Timeless Needs
cassininazir
0
130
Scaling GitHub
holman
464
140k
Transcript
Z5. 難読化Bashの検知 セキュリティ・キャンプ2020 Z5トラック 田島 裕也
動機 ・攻撃者は隠蔽のために攻撃用のシェルスクリプトに難 読化処理を施すことがある. ・難読化されたスクリプトを自動で検知することで,攻撃 のバリエーションを減らすことが出来そう. 2
難読化の手法 ・自動で難読化処理を施すツール. ・https://github.com/Bashfuscator/Bashfuscator 3
難読化の手法 $ cat /etc/passwd $ $'\u0063a\x74' /e${@^^}tc/p${*%Frf\[4]}as\s'wd' ・上二つは同じ意味 ・$'\u0063a\x74' ->
cat (unicode, ascii) ・${@^^}, ${*%Frf\[4]} -> empty ・\ は無視される 4
検知するために考えたこと ・難読化されたスクリプトはかなり乱雑に見えるため,エントロピー が高そう. → テキストのエントロピーを計算したところ,正規のスクリプトと 難読化スクリプトであまり変わらない → 人間が見ると,意味のある文字列は乱雑には見えないが,実 際のエントロピーは高い 5
検知するために考えたこと ・難読化されたスクリプトは ‘$’や’{}’,’\’など特殊記号が多く 現れる. → 特殊記号が多く現れるスクリプトを検知 → かなり単純な考えだが,意外とうまくいった. 6
検知基準 ・特殊記号がファイル全体の25%より多く現れる場合,難読 化と検知する. ・閾値適当なの絶対よくない 7
実験・評価 ・難読化マルウェア → 114 / 133 (0.483s) ・正規スクリプト(/bin, /sbin, /usr, /etc, /var/lib)
→ 0 / 1656 (2.120s) ・TP rate = 0.857 ・FP rate = 0 ・Accuracy = (114 + 1656) / (133 + 1656) = 0.989 8
おまけ ・ランダムで追加される意味のない(empty)な部分をなるべく排除 することで,難読化スクリプトを見やすくする. ・無駄な部分が減って何となく見やすくなった... 9
まとめ・感想 ・特殊記号の出現比率を用いて,高い精度で難読化スクリプ トを検知することが出来た. ・正直,こんな難読化が出来ないように規約をもっと厳しいも のにしてもいいんじゃないかと思った. 10