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
ペパコンナイト:セキュリティWG成果報告 / pepacon night: security ...
Search
Komei Nomura
May 13, 2019
Research
2
1.7k
ペパコンナイト:セキュリティWG成果報告 / pepacon night: security working group report
ペパコンナイト :
https://pepabo.connpass.com/event/128486/
Komei Nomura
May 13, 2019
Tweet
Share
More Decks by Komei Nomura
See All by Komei Nomura
さくらのクラウドでのcloud-initの実装と利用例の紹介 / Implementation of cloud-init in SAKURA Cloud and introduction of usage examples
komei22
2
860
Kerasによるモデル構築 / Model-building-with-Keras
komei22
0
6.8k
ハンドメイド作品を対象としたECサイトにおける単語の出現頻度を用いた稀覯品の検出 / Detection of Rare Works Using Term Frequency on Electronic Commerce Site for Trading Handmade Works
komei22
1
870
Automatic Whitelist Generation for SQL Queries Using Web Application Tests
komei22
3
1.3k
Webアプリケーションテストを用いたSQLクエリのホワイトリスト自動作成手法 / Automatic whitelist generation for SQL queries using web application tests
komei22
2
1k
不正クエリを検知するsqdを作った
komei22
1
800
Webアプリケーションテストを用いたSQLクエリのホワイトリスト自動作成手法
komei22
0
5.8k
Webアプリケーションテストを用いたSQLクエリのホワイトリスト自動作成手法
komei22
0
1.4k
新卒研究員の研究開発 〜セキュアなWebサービスを目指して〜
komei22
0
1.8k
Other Decks in Research
See All in Research
Leveraging LLMs for Unsupervised Dense Retriever Ranking (SIGIR 2024)
kampersanda
2
310
Weekly AI Agents News! 12月号 論文のアーカイブ
masatoto
0
190
한국어 오픈소스 거대 언어 모델의 가능성: 새로운 시대의 언어 이해와 생성
inureyes
PRO
0
220
ECCV2024読み会: Minimalist Vision with Freeform Pixels
hsmtta
1
410
The Economics of Platforms 輪読会 第1章
tomonatu8
0
140
Building Height Estimation Using Shadow Length in Satellite Imagery
satai
2
190
アプリケーションから知るモデルマージ
maguro27
0
260
文書画像のデータ化における VLM活用 / Use of VLM in document image data conversion
sansan_randd
2
510
Weekly AI Agents News! 11月号 論文のアーカイブ
masatoto
0
290
TransformerによるBEV Perception
hf149
1
690
複数データセットを用いた動作認識
yuyay
0
110
第79回 産総研人工知能セミナー 発表資料
agiats
3
200
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.3k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
133
33k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
What's in a price? How to price your products and services
michaelherold
244
12k
Side Projects
sachag
452
42k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
630
Code Review Best Practice
trishagee
67
18k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
Transcript
ଜ໋ / Pepabo R&D institute, GMO pepabo, inc. 2019.05.13 ϖύίϯφΠτ
ηΩϡϦςΟWGՌใࠂ ʙͳΊΒ͔ͳηΩϡϦςΟΛࢦͯ͠ʙ
2 ΤϯδχΞ ଜ໋!,PNFJ (.0ϖύϘגࣜձࣾɹϖύϘݚڀॴ
1. ηΩϡϦςΟWGͱͳΊΒ͔ͳηΩϡϦςΟ 2. ݚڀͷհ 3. ·ͱΊͱࠓޙ 3 ࣍
1. ηΩϡϦςΟWGͱͳΊΒ͔ͳηΩϡϦςΟ
• ݚڀର • ిࢠূ໌ॻͷར׆༻ • TLS1.3ରԠ • TLS/SSLͷ҆શੑͱػձଛࣦ • WebηΩϡϦςΟ
• ߴػೳ҉߸Ԡ༻ 5 ηΩϡϦςΟWG
6 ͳΊΒ͔ͳηΩϡϦςΟʹ͓͚ΔηΩϡϦςΟWG ηΩϡϦςΟ8(ɼηΩϡϦςΟࢪࡦΛ࣮ݱ͢ΔϚΠΫϩίϯϙʔωϯτΛ࡞Γग़͢͜ͱʹ୲ ͜ͷࡍॏཁͳͷɼηΩϡϦςΟରࡦಋೖʹΑΔརศੑͷԼʢΰπΰπʣΛൃੜͤ͞ͳ͍͜ͱ
7 ηΩϡϦςΟࢪࡦಋೖʹ͓͚Δΰπΰπ Ϣʔβ ӡ༻։ൃऀ ίΞαʔϏε ӡ༻։ൃऀଆͷΰπΰπ Ϣʔβଆͷΰπΰπ ͳΊΒ͔ͳηΩϡϦςΟʹ͓͍ͯɼ&EHFར༻ऀʹӨڹΛ༩͑ͣʹ࣮ݱ͢Δ͜ͱ͕ॏཁ &EHF w
ࢪࡦಋೖʹΑΔγεςϜߏͷมߋ w ηΩϡϦςΟͷϝϯςφϯε ʜ w ਖ਼ৗͳϦΫΤετΛޡݕ w ϨεϙϯεͷԼ ʜ &EHF ใγεςϜ
• ͳΊΒ͔ͳηΩϡϦςΟ࣮ݱʹ͚ͨɼηΩϡϦςΟWGͷݚڀࣄྫͱOSSͷ հ • ݚڀࣄྫɿ • ʮWebΞϓϦέʔγϣϯςετΛ༻͍ͨSQLΫΤϦͷϗϫΠτϦετࣗಈ ੜख๏ʯ • OSSɿ
• tcpdp : TCPύέοτΛղੳͯ͠ߏԽϩάΛग़ྗ͢Δπʔϧ • sqd : SQLͷϗϫΠτϦετ࡞ͱෆਖ਼ΫΤϦݕπʔϧ 8 ຊͷ͓
2. ݚڀͷհ
• WebαʔϏεʹ͓͍ͯσʔλϕʔε্ͷػີใͷอޢॏཁ • ߈ܸऀWebΞϓϦέʔγϣϯͷ੬ऑੑΛ͡Ίͱ༷ͯ͠ʑͳखஈͰػີ ใΛऔ • ߈ܸͷྫɿSQLΠϯδΣΫγϣϯɼOSίϚϯυΠϯδΣΫγϣϯͳͲ • σʔλϕʔεͷ߈ܸ։ൃऀͷఆ֎ͷΫΤϦʢෆਖ਼ΫΤϦʣΛσʔλϕʔ εʹൃߦ͢Δ͜ͱͰ࣮ࢪ
• σʔλϕʔεʹൃߦ͞ΕΔΫΤϦΛࢹ͠ෆਖ਼ΫΤϦΛݕ͢ΔΈ͕ඞཁ 10 ݚڀͷഎܠ
• ϒϥοΫϦετํࣜ • ෆਖ਼ͳΫΤϦύλʔϯΛϦετʹఆٛ͠ɼύλʔϯͱ߹க͢ΔͷΛݕ͢Δ • ϗϫΠτϦετํࣜ • ਖ਼ৗͳΫΤϦύλʔϯΛϦετʹఆٛ͠ɼύλʔϯͱ߹க͠ͳ͍ͷΛݕ͢Δ ϒϥοΫϦετͷΈར༻Ͱطͷύλʔϯ͔͠ݕͰ͖ͳ͍͕ɼෆਖ਼ΫΤϦʹະ ͷύλʔϯ͋ΓಘΔ
ະͷύλʔϯͷݕʹϗϫΠτϦετ͕ඞཁͱͳΔ 11 ෆਖ਼ΫΤϦͷݕํ๏
• WebΞϓϦέʔγϣϯ͕ൃߦ͢ΔΫΤϦΛखಈͰϗϫΠτϦετʹొ • େنͳWebΞϓϦέʔγϣϯͰൃߦΫΤϦ͕େ → શͯͷΫΤϦΛϗϫΠτϦετʹొ͢Δ͜ͱ͕ࠔ • WebΞϓϦέʔγϣϯͷվमʹΑͬͯൃߦΫΤϦมԽ → ϗϫΠτϦετͷߋ৽͕ඞཁ
12 ϗϫΠτϦετ࡞ͱͦͷ՝ ӡ༻ऀͷෛՙ͕ߴ͍ ӡ༻ऀͱใγεςϜ͕ؒΰπΰπͨ͠ঢ়ଶ
• ։ൃӡ༻ऀ͕ϗϫΠτϦετͷ࡞Λҙࣝ͢Δ͜ͱͳ͘࡞Ͱ͖ɼϗϫΠτϦ ετΛ༻͍ͯෆਖ਼ΫΤϦΛݕ͢ΔΈͷ࣮ݱ • ϗϫΠτϦετWebΞϓϦέʔγϣϯͷൃߦΫΤϦͷมߋʹै͠ͳ͕ ΒࣗಈͰ࡞͢Δඞཁ͕͋Δ 13 ݚڀͷత
• WebΞϓϦέʔγϣϯͷςετ࣌ʹൃߦ͞ΕͨΫΤϦ͔ΒϗϫΠτϦετΛ ࡞͢Δ • ࣗಈςετΛ༻͍ͨ։ൃϓϩηεʹϗϫΠτϦετ࡞ΛΈࠐΉ • ΫΤϦͷऩूσʔλϕʔεϓϩΩγͰߦ͍ɼऩूͨ͠ΫΤϦ͔ΒϗϫΠτ ϦετΛ࡞͢Δ 14 ఏҊख๏ͷ֓ཁ
15 ࣗಈςετΛ༻͍ͨ։ൃϓϩηε w ৽ػೳͷՃ w طଘػೳͷमਖ਼ w 8FCΞϓϦέʔγϣϯͷಈ࡞खॱͱಈ࡞ͷ݁ՌΛهड़ w ςετίʔυΛݩʹࣗಈͰςετΛ࣮ߦ
w 8FCΞϓϦͷಈ࡞͕༷௨Γ͔Λ֬ೝ w ςετࣦഊɿ8FCΞϓϦέʔγϣϯͷιʔείʔυ ͘͠ςετίʔυʹ͋Γ w ςετޭɿ8FCΞϓϦέʔγϣϯ͕༷௨Γʹಈ࡞ w 8FCΞϓϦέʔγϣϯͷιʔείʔυΛαʔόʹஔ w 8FCΞϓϦέʔγϣϯΛՔಇ ։ൃ ςετίʔυͷهड़ αʔόʔʹஔ ࣗಈςετ࣮ߦ /P :FT ΞϓϦέʔγϣϯՔಇ ςετޭʁ
16 w ςετ࣌ʹൃߦ͞ΕͨΫΤϦ͔ΒϗϫΠτϦετΛ ࡞ w ҎԼΛͦΕͧΕαʔόʹஔ w 8FCΞϓϦέʔγϣϯͷιʔείʔυ w ϗϫΠτϦετ
։ൃϓϩηεʹ͓͚ΔఏҊख๏ͷҐஔ͚ w 8FCΞϓϦέʔγϣϯͷมߋʹैͯ͠ςετίʔυ มߋ ˠൃߦΫΤϦͷมԽʹैͯ͠ϗϫΠτϦετΛߋ৽ w 8FCΞϓϦέʔγϣϯՔಈલʹϗϫΠτϦετ࡞ ˠՔಈޙɼଈ࠲ʹෆਖ਼ΫΤϦΛݕՄೳ ։ൃ ςετίʔυͷهड़ αʔόʔʹஔ /P :FT ΞϓϦέʔγϣϯՔಇ ςετޭʁ ΫΤϦͷऩू `ࣗಈςετ࣮ߦ ϗϫΠτϦετ࡞
17 ఏҊख๏ͷઃܭ • σʔλϕʔεͷલஈʹσʔλϕʔεϓϩΩγΛஔ͠ɼςετ࣮ߦதʹൃߦ͞Ε ͨΫΤϦΛऩू • ΫΤϦ͔ΒϗϫΠτϦετΛ࡞Δ͜ͱͰɼWebΞϓϦέʔγϣϯͷ࣮ʹґଘͤ ͣɼϗϫΠτϦετΛ࡞Մೳ ςετ࣮ߦத σʔλϕʔε
8FCΞϓϦέʔγϣϯ σʔλϕʔεϓϩΩγ ϗϫΠτϦετ ΫΤϦͷऩूͱ ϗϫΠτϦετͷग़ྗ ΫΤϦ ΫΤϦ
18 ఏҊख๏ͷઃܭ • WebΞϓϦέʔγϣϯՔಇதൃߦΫΤϦͱϗϫΠτϦετΛর߹͠ɼෆਖ਼ΫΤ ϦΛݕ σʔλϕʔε 8FCΞϓϦέʔγϣϯ σʔλϕʔεϓϩΩγ 8FCΞϓϦέʔγϣϯՔಇத ΫΤϦ
ΫΤϦ ΫΤϦΛϗϫΠτϦετͱর߹ ෆਖ਼ΫΤϦ ग़ྗ ϗϫΠτϦετ
OSSͷհ
• TCPύέοτΛΩϟϓνϟɾղੳͯ͠ɼߏԽϩάͱͯ͠ग़ྗ͢Δπʔϧ • MySQL, PostgreSQLͷϓϩτίϧʹରԠ • σʔλϕʔεϓϩΩγͱͯ͠ར༻ʢtcpdumpͷΑ͏ʹར༻Մೳʣ 20 tcpdp UDQEQ
σʔλϕʔε ΫϥΠΞϯτ ΫΤϦ UDQEQIUUQTHJUIVCDPNL-P8UDQEQ ΫΤϦ ߏԽϩά \ RVFSZl4&-&$5 '30.VTFST8)&3&JEz DMJFOU@BEESl VTFSOBNFlBQQz ʜ ^
• SQLͷϗϫΠτϦετ࡞ͱෆਖ਼ΫΤϦͷݕΛߦ͏πʔϧ 21 sqd ΫΤϦϩά ϗϫΠτϦετͷ࡞ ෆਖ਼ΫΤϦͷݕ TRE ϗϫΠτϦετ 4&-&$5
'30.VTFST8)&3&JE 4&-&$5 '30.VTFST8)&3&OBNF %&-&5&'30.VTFST8)&3&OBNF ʜ ΫΤϦͷϦςϥϧΛ ϓϨʔεϗϧμʔʹஔ͖͑ͨ ΫΤϦߏʹม 4&-&$5 '30.VTFST8)&3&JE 4&-&$5 '30.VTFST8)&3&JE ΫΤϦϩά TRE ϗϫΠτϦετ TREIUUQTHJUIVCDPN,PNFJTRE ΫΤϦߏϕʔεͰͷൺֱ ෆਖ਼ΫΤϦ
• ςετ࣌tcpdpͰऩूͨ͠ΫΤϦ͔Βsqd͕ϗϫΠτϦετΛग़ྗ • WebΞϓϦέʔγϣϯՔಇ࣌tcpdp͕ऩूͨ͠ΫΤϦ͔Βෆਖ਼ΫΤϦΛग़ྗ 22 tcpdp + sqdΛ༻͍ͨఏҊख๏ͷ࣮ UDQEQ σʔλϕʔε
8FCΞϓϦέʔγϣϯ ΫΤϦ TRE ΫΤϦϩά ϗϫΠτϦετ ςετ࣌ 8FCΞϓϦέʔγϣϯՔಈ࣌ ෆਖ਼ΫΤϦ ΫΤϦ ςετ࣌ͱ8FCΞϓϦέʔγϣϯՔಇ࣌Ͱ TREͷಈ࡞ΛΓସ͑
ධՁ
• ఏҊख๏ʹΑͬͯෆਖ਼ΫΤϦΛݕͰ͖Δ͔ɼWebΞϓϦέʔγϣϯ͕ൃߦ ͢Δਖ਼ৗͳΫΤϦΛޡݕ͠ͳ͍͔ɼΛ࣮ݧʹΑΓ֬ೝ͢Δ • ҎԼͷ2ͭͷධՁࢦඪΛఆٛ͢Δ • False positive: WebΞϓϦέʔγϣϯ͕ൃߦ͢Δਖ਼ৗͳΫΤϦΛޡͬͯෆਖ਼ ͱஅ͢Δ͜ͱ
• False negative: ߈ܸʹΑͬͯൃੜ͢Δෆਖ਼ΫΤϦΛޡͬͯਖ਼ৗͱஅ͢Δ ͜ͱ 24 ධՁํ๏
25 ࣮ݧํ๏ 8FC "QQMJDBUJPO %BUBCBTF ϒϥβ TRMNBQ ʢ42-ΠϯδΣΫγϣϯ߈ܸΛߦ͏πʔϧʣ ϖʔδΛཏతʹૢ࡞͠ )551ϦΫΤετ
42-ΠϯδΣΫγϣϯ߈ܸΛؚΜͩ )551ϦΫΤετ ਖ਼ৗͳΫΤϦʢݸʣ ෆਖ਼ͳΫΤϦʢݸʣ ݕ͞Εͨਖ਼ৗͳΫΤϦ ΛΧϯτ ʢ'BMTFQPTJUJWFʣ ݕͰ͖ͳ͔ͬͨ ෆਖ਼ͳΫΤϦΛΧϯτ ʢ'BMTFOFHBUJWFʣ ˞8FCΞϓϦέʔγϣϯʹ42-ΠϯδΣΫγϣϯͷ੬ऑੑ͕͋Γɼશͯͷ࣮ϝιουʹςετ͕هड़ͯ͋͠Δ ϗϫΠτϦετ ϗϫΠτϦετ র߹ র߹
• ਖ਼ৗͳΫΤϦͷҰ෦Λޡݕ • SQLΠϯδΣΫγϣϯʹΑΔෆਖ਼ΫΤϦΛશͯݕ 26 ࣮ݧ݁Ռ σʔληοτ ΫΤϦ 'BMTFQPTJUJWF 'BMTFOFHBUJWF
ਖ਼ৗͳΫΤϦ ෆਖ਼ΫΤϦ ʢ42-ΠϯδΣΫγϣϯʣ
3. ·ͱΊͱࠓޙ
• ͳΊΒ͔ͳηΩϡϦςΟʹ͚ͨηΩϡϦςΟWGͷऔΓΈΛհ • Edgeʹஔ͢ΔϚΠΫϩίϯϙʔωϯτͱͯ͠ɼʮWebΞϓϦέʔγϣϯς ετΛ༻͍ͨSQLΫΤϦͷϗϫΠτϦετͷࣗಈ࡞ख๏ʯΛհ • ࠓޙɼϢʔβͷଐੑʹΑͬͯར༻͢ΔϗϫΠτϦετΛΓସ͑ɼΑΓύʔ ιφϥΠζԽ͞ΕͨίϯϙʔωϯτΛࢦ͢ 28 ·ͱΊͱࠓޙ
ݚڀһɺੵۃతʹืूதʂ http://rand.pepabo.com/