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
3
1k
Kerasによるモデル構築 / Model-building-with-Keras
komei22
0
6.9k
ハンドメイド作品を対象としたECサイトにおける単語の出現頻度を用いた稀覯品の検出 / Detection of Rare Works Using Term Frequency on Electronic Commerce Site for Trading Handmade Works
komei22
1
920
Automatic Whitelist Generation for SQL Queries Using Web Application Tests
komei22
3
1.4k
Webアプリケーションテストを用いたSQLクエリのホワイトリスト自動作成手法 / Automatic whitelist generation for SQL queries using web application tests
komei22
2
1.1k
不正クエリを検知するsqdを作った
komei22
1
830
Webアプリケーションテストを用いたSQLクエリのホワイトリスト自動作成手法
komei22
0
6k
Webアプリケーションテストを用いたSQLクエリのホワイトリスト自動作成手法
komei22
0
1.5k
新卒研究員の研究開発 〜セキュアなWebサービスを目指して〜
komei22
0
1.8k
Other Decks in Research
See All in Research
【緊急警告】日本の未来設計図 ~沈没か、再生か。国民と断行するラストチャンス~
yuutakasan
0
140
A multimodal data fusion model for accurate and interpretable urban land use mapping with uncertainty analysis
satai
3
230
Pix2Poly: A Sequence Prediction Method for End-to-end Polygonal Building Footprint Extraction from Remote Sensing Imagery
satai
3
500
MGDSS:慣性式モーションキャプチャを用いたジェスチャによるドローンの操作 / ec75-yamauchi
yumulab
0
270
SSII2025 [SS1] レンズレスカメラ
ssii
PRO
2
990
Google Agent Development Kit (ADK) 入門 🚀
mickey_kubo
2
1.2k
A scalable, annual aboveground biomass product for monitoring carbon impacts of ecosystem restoration projects
satai
3
100
Collaborative Development of Foundation Models at Japanese Academia
odashi
2
560
NLP2025参加報告会 LT資料
hargon24
1
330
SkySense : A Multi-Modal Remote Sensing Foundation Model Towards Universal Interpretation for Earth Observation Imagery
satai
3
260
Self-supervised audiovisual representation learning for remote sensing data
satai
3
230
Type Theory as a Formal Basis of Natural Language Semantics
daikimatsuoka
1
260
Featured
See All Featured
A better future with KSS
kneath
238
17k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
The Language of Interfaces
destraynor
158
25k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.4k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
A Modern Web Designer's Workflow
chriscoyier
695
190k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.4k
Music & Morning Musume
bryan
46
6.7k
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/