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
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
gree_tech
PRO
November 11, 2021
Technology
860
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
GREE Tech Conference 2021 で発表された資料です。
https://techcon.gree.jp/2021/session/ShortSession-3
gree_tech
PRO
November 11, 2021
More Decks by gree_tech
See All by gree_tech
AI画像認識を活用したゲーム内決済処理検証の自動化
gree_tech
PRO
0
84
長期運営で肥大化したExcelマスターデータの解消に向けた移行事例
gree_tech
PRO
0
83
ゲームにおけるメディアミックス展開との向き合い方 -ヘブンバーンズレッドのメディアミックス企画の立て方-
gree_tech
PRO
0
89
課題発見から始めるプロダクト密着型TA組織立ち上げ 〜小規模TAチームが3Dアセットの生産性を倍にした方法〜
gree_tech
PRO
0
95
属人化を叩き割れ!「制作加速」と「安定化」の矛盾を打破する:8年目プロダクトが辿り着いた「ミスが起こり得ない」アセット制作フローの全貌
gree_tech
PRO
0
87
20年続く長寿タイトルが、15年目にして売上を伸ばせた理由
gree_tech
PRO
0
86
我々はどう生きるか
gree_tech
PRO
1
830
変わるもの、変わらないもの :OSSアーキテクチャで実現する持続可能なシステム
gree_tech
PRO
0
5.2k
マネジメントに役立つ Google Cloud
gree_tech
PRO
0
84
Other Decks in Technology
See All in Technology
Software Supply Chain Attackからクラウド環境を守るためにできること
lhazy
2
280
Data Hubグループ 紹介資料
sansan33
PRO
0
3.2k
TypeScript入門 2026
recruitengineers
PRO
3
680
AI-DLC実践録_フルサイクル開発への挑戦
miyuc
0
240
猫付きpingコマンドを自作
uyuki234
0
250
認知負荷をGemini で溶かす — GKE 基盤「Orbit」における AI エージェントの実践
sansantech
PRO
1
320
案件に一番詳しいAIを Amazon Bedrock AgentCore で作る ― 知見が知見を生むチームへ / Compounding Knowledge with AgentCore
yusukeshimizu
1
130
オートロックマンションなのに、各部屋は施錠なし!? 攻撃者が組織内ネットワークで大暴れする理由 / The Front Door Is Locked, but the Rooms Are Wide Open: Why Attackers Move Freely Inside Enterprise Networks
nttcom
1
6k
Kiro Crew入門 - 常駐エージェントの仕組みと使いどころ / Intro to Kiro Crew
k_adachi_01
1
370
Bits AI を制するものは Datadog を制す / The player that controls Bits AI, controls Datadog
kaminashi
0
120
Reference-Free Image Quality Assessment for Virtual Try-On via Human Feedback
zozotech
PRO
0
580
ブラウザ研修 2026
recruitengineers
PRO
6
1.1k
Featured
See All Featured
Producing Creativity
orderedlist
PRO
348
40k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
How GitHub (no longer) Works
holman
316
150k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
470
The SEO identity crisis: Don't let AI make you average
varn
0
530
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.2k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
870
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
How STYLIGHT went responsive
nonsquared
100
6.2k
The browser strikes back
jonoalderson
0
1.5k
Transcript
サーバーフレームワークに 潜んでる脆弱性の検知 グリー シニアセキュリティエンジニア 徐(ソ) 承賢
• 国際CTF入賞経験 • 元LINEセキュリティ担当 • グリー2012入社 • 海外のセキュリティカンファレンスで登壇(たまに) • 最近ハマってること
• solidity, geth, ganache, truffle • node.js, react, express セキュリティ部 / セキュリティ診断チーム 自己紹介 2
• メンバー • マネージャー含む3人 • やってること • プロダクト診断 • サーバーとクライアント
• ホワイトボックス&ブラックボックス • 静的、動的解析 (ソースコードレビュー&バイナリー解析も含む) • セキュリティコンサル • 海賊版アプリの解析&対策 • 不正ユーザー検知 • セキュリティ用のサンプルコードやモジュール提供 • 社内インシデント対応 セキュリティ診断チームの紹介 3
• 技術早い進化 • 特に言語やサーバーフレームワーク • 2012年 only php, ethna •
2021年 fuelphp, symfony, sliex, laravel, cakephp, django, rails, flask, golang, typescrypt, nodejs… いっぱいある • グリーの自由な開発環境と雰囲気 • セキュリティ的にはかなり辛い • 毎回診断の時はチャレンジ状態 https://github.com/truefinder/tonbi TONBIの開発経緯 4
• サーバーフレームワークの脆弱性検知ツール • ソースコード内で脆弱性の恐れがあるところを指摘 • python & yara(セキュリティ業界のパターンマッチングライブラリー) • 技術の早い進化に対応
• 現在言語5個&フレームワーク7個&ビュー5個 • laravel, codeigniter, django, flask, gorilla, ethna, nodejs • go, php, javascript, python, typescript • smarty, twig, blade, flexy, electron • グリーのような自由な開発環境で活躍 • セキュリティレビューの工数を減らせる • 大型プロダクトで、実際約90%くらい手間が省けた • 勘違いして欲しくないこと • 脆弱性の可能性を指摘=指摘されたところが100%脆弱性ではない • 脆弱性判定まで人の目を通して、コードを追っかける必要はある TONBIとは 5
• CLI • オプション • -d ソースコードのディレクトリー • -f フレームワーク
• -l 言語 • -v ビュー TONBIの使い方 #1 6 $python tonbi.py -d ./src -f laravel -l php -v blade
• configファイル設定 TONBIの使い方 #2 7 { "source_directory" : "../sample/codeigniter/src", "framework_name"
: "codeigniter", "language" : "php", "view_name" : "twig", "head_count" : 5, "tail_count" : 5, "output" : "output.txt", "plugins" : [ ], "ignore_files" : [ "jpg", "png", "jpeg", "ico", "gif", "tif" , "tiff" ], "ignore_dirs" : ["node_modules"], "exclude" : ["ssl_misconfiguration"] } $python tonbi.py -c config.json
• 検知パータン • yaraルール • 正規表現が使える • and/or/anyなど組み合わせ • セキュリティチームで作成
TONBIの検知パータン 8 rule sql_injection : codeigniter { strings : $sql1 = /$this->db->(query|simple_query)¥(/ condition : any of them } rule directory : codeigniter { strings : $dir1 = "sanitize_filename(" $false = /.*:.*false/ nocase condition : $dir1 and $false } framework/codeigniter.yar中から抜粋
• 検知結果 TONBIの結果画面 #1 9
TONBIの結果画面 #2 10
• 言語解析で正確さを追求 • 各言語パーサーを使って正確性を高める • 検知したところを追っかける機能を追加する • GUIを提供 • Webで見れるようなGUIを提供する
• 結果がCI/CDと連携 • Git方に飛べる 今後の課題 11
ご清聴ありがとうございました 12
13