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
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
760
長期運営で肥大化したExcelマスターデータの解消に向けた移行事例
gree_tech
PRO
0
770
ゲームにおけるメディアミックス展開との向き合い方 -ヘブンバーンズレッドのメディアミックス企画の立て方-
gree_tech
PRO
0
780
課題発見から始めるプロダクト密着型TA組織立ち上げ 〜小規模TAチームが3Dアセットの生産性を倍にした方法〜
gree_tech
PRO
0
790
属人化を叩き割れ!「制作加速」と「安定化」の矛盾を打破する:8年目プロダクトが辿り着いた「ミスが起こり得ない」アセット制作フローの全貌
gree_tech
PRO
0
750
20年続く長寿タイトルが、15年目にして売上を伸ばせた理由
gree_tech
PRO
0
1.2k
我々はどう生きるか
gree_tech
PRO
2
1k
変わるもの、変わらないもの :OSSアーキテクチャで実現する持続可能なシステム
gree_tech
PRO
0
5.4k
マネジメントに役立つ Google Cloud
gree_tech
PRO
0
110
Other Decks in Technology
See All in Technology
深夜のクラウド懺悔室 1:29:300 or 1:0:0
kazzpapa3
0
110
IDperturb: Enhancing Variation in Synthetic Face Generation via Angular Perturbation
sansantech
PRO
0
130
Bet AI Day 2026丨AIを「使う」から、AIが「働く」へ ― LayerXが進める「組織AI」の社会実装
layerx
PRO
2
2k
Benchmarking Vector Databases: pgvector vs. LanceDB
tsho
0
130
Genie Code ワークショップ 基礎編 / Genie-Code-Workshop-fundamental
databricksjapan
PRO
0
330
JAWS-UG初心者支部#88わいわい初心塾(夏休みの宿題やったかGit編)
otsuki
0
120
PfEingのアプローチで働こう
rindrics
0
160
データエンジニアの困りごとをDevinと一緒に解消する
10xinc
2
770
Azure App Service / Container Apps の組み込み認証
kuniteru
0
190
[RSJ26] NarrativeFlow: Flow-Based Vision-Language-Action Model Using Robot Velocity Fields
keio_smilab
PRO
0
150
Bet AI Day 2026丨バクラク Autopilot、業務システムの再設計
layerx
PRO
2
1.1k
Bet AI Day 2026丨How We Bet AI: AIとともに働く場をつくる
layerx
PRO
1
2.1k
Featured
See All Featured
Evolving SEO for Evolving Search Engines
ryanjones
0
280
Side Projects
sachag
455
43k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
4
560
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
310
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
sira's awesome portfolio website redesign presentation
elsirapls
0
390
We Are The Robots
honzajavorek
0
330
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
360
Technical Leadership for Architectural Decision Making
baasie
3
550
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Designing Powerful Visuals for Engaging Learning
tmiket
1
530
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