Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
Search
gree_tech
PRO
November 11, 2021
Technology
880
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
840
長期運営で肥大化したExcelマスターデータの解消に向けた移行事例
gree_tech
PRO
0
860
ゲームにおけるメディアミックス展開との向き合い方 -ヘブンバーンズレッドのメディアミックス企画の立て方-
gree_tech
PRO
0
880
課題発見から始めるプロダクト密着型TA組織立ち上げ 〜小規模TAチームが3Dアセットの生産性を倍にした方法〜
gree_tech
PRO
0
900
属人化を叩き割れ!「制作加速」と「安定化」の矛盾を打破する:8年目プロダクトが辿り着いた「ミスが起こり得ない」アセット制作フローの全貌
gree_tech
PRO
0
840
20年続く長寿タイトルが、15年目にして売上を伸ばせた理由
gree_tech
PRO
0
1.4k
我々はどう生きるか
gree_tech
PRO
2
1k
変わるもの、変わらないもの :OSSアーキテクチャで実現する持続可能なシステム
gree_tech
PRO
0
5.5k
マネジメントに役立つ Google Cloud
gree_tech
PRO
0
110
Other Decks in Technology
See All in Technology
10分で知る最近のOmarchy
komagata
0
250
Sigmaで作る業務アプリ
kazushiro_honma
0
110
2026/09/10 Spring Bootから Jakarta EE/MicroProfileへの移行
megascus
0
300
Redmine 7.0で私が開発した新機能の狙いと背景
vividtone
1
160
synctest時代のhttptest Go 1.27で変わるHTTPサーバテストの裏側 / go conference2026 synctest and httptest
budougumi0617
1
2.6k
家のリアーキテクト・リファクタリング
suguruooki
0
110
アプリをもっと"iOSアプリっぽく"する小さな工夫 / Small Touches That Make Your App Feel More Like an iOS App
matsuji
1
460
AI時代に顧客へ最速で価値を 届けるための試行錯誤 〜「AI × マネジメント」領域におけるmentoのケース〜
posterkeisuke
0
110
AIで実装は速くなった。なのにプロダクトは速くならない。職能の壁を越えて価値のフローを設計する
nwiizo
8
7.8k
目の前の楽しいが人生を変える - コミュニティの螺旋の歩き方と楽しむコツ / change your life
soudai
PRO
4
390
Adaptive Warehouse を今すぐ導入すべき理由と迷ったときの判断基準
__allllllllez__
0
170
Slack上でインフラをトラブルシュートする! Agentic Platform Engineeringの第一歩
teru0x1
2
400
Featured
See All Featured
First, design no harm
axbom
PRO
2
1.3k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
300
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
190
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
270
Deep Space Network (abreviated)
tonyrice
0
300
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
270
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Unsuck your backbone
ammeep
672
58k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
GraphQLとの向き合い方2022年版
quramy
50
15k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.2k
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