Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ペパコンナイト:セキュリティWG成果報告 / pepacon night: security working group report

ペパコンナイト:セキュリティWG成果報告 / pepacon night: security working group report

Komei Nomura

May 13, 2019
Tweet

More Decks by Komei Nomura

Other Decks in Research

Transcript

  1. ໺ଜ޸໋ / Pepabo R&D institute, GMO pepabo, inc.
    2019.05.13 ϖύίϯφΠτ
    ηΩϡϦςΟWG੒Ռใࠂ
    ʙͳΊΒ͔ͳηΩϡϦςΟΛ໨ࢦͯ͠ʙ

    View Slide

  2. 2
    ΤϯδχΞ
    ໺ଜ޸໋!,PNFJ
    (.0ϖύϘגࣜձࣾɹϖύϘݚڀॴ

    View Slide

  3. 1. ηΩϡϦςΟWGͱͳΊΒ͔ͳηΩϡϦςΟ
    2. ݚڀͷ঺հ
    3. ·ͱΊͱࠓޙ
    3
    ໨࣍

    View Slide

  4. 1.
    ηΩϡϦςΟWGͱͳΊΒ͔ͳηΩϡϦςΟ

    View Slide

  5. • ݚڀର৅
    • ిࢠূ໌ॻͷར׆༻
    • TLS1.3ରԠ
    • TLS/SSLͷ҆શੑͱػձଛࣦ
    • WebηΩϡϦςΟ
    • ߴػೳ҉߸Ԡ༻
    5
    ηΩϡϦςΟWG

    View Slide

  6. 6
    ͳΊΒ͔ͳηΩϡϦςΟʹ͓͚ΔηΩϡϦςΟWG
    ηΩϡϦςΟ8(͸ɼηΩϡϦςΟࢪࡦΛ࣮ݱ͢ΔϚΠΫϩίϯϙʔωϯτΛ࡞Γग़͢͜ͱʹ୲౰
    ͜ͷࡍॏཁͳͷ͸ɼηΩϡϦςΟରࡦಋೖʹΑΔརศੑͷ௿ԼʢΰπΰπʣΛൃੜͤ͞ͳ͍͜ͱ

    View Slide

  7. 7
    ηΩϡϦςΟࢪࡦಋೖʹ͓͚Δΰπΰπ
    Ϣʔβ ӡ༻։ൃऀ
    ίΞαʔϏε
    ӡ༻։ൃऀଆͷΰπΰπ
    Ϣʔβଆͷΰπΰπ
    ͳΊΒ͔ͳηΩϡϦςΟʹ͓͍ͯɼ&EHF͸ར༻ऀʹӨڹΛ༩͑ͣʹ࣮ݱ͢Δ͜ͱ͕ॏཁ
    &EHF
    w ࢪࡦಋೖʹΑΔγεςϜߏ੒ͷมߋ
    w ηΩϡϦςΟ੡඼ͷϝϯςφϯε
    ʜ
    w ਖ਼ৗͳϦΫΤετΛޡݕ஌
    w Ϩεϙϯε଎౓ͷ௿Լ
    ʜ
    &EHF
    ৘ใγεςϜ

    View Slide

  8. • ͳΊΒ͔ͳηΩϡϦςΟ࣮ݱʹ޲͚ͨɼηΩϡϦςΟWGͷݚڀࣄྫͱOSSͷ
    ঺հ
    • ݚڀࣄྫɿ
    • ʮWebΞϓϦέʔγϣϯςετΛ༻͍ͨSQLΫΤϦͷϗϫΠτϦετࣗಈ
    ੜ੒ख๏ʯ
    • OSSɿ
    • tcpdp : TCPύέοτΛղੳͯ͠ߏ଄ԽϩάΛग़ྗ͢Δπʔϧ
    • sqd : SQLͷϗϫΠτϦετ࡞੒ͱෆਖ਼ΫΤϦݕ஌πʔϧ
    8
    ຊ೔ͷ͓࿩

    View Slide

  9. 2.
    ݚڀͷ঺հ

    View Slide

  10. • WebαʔϏεʹ͓͍ͯσʔλϕʔε্ͷػີ৘ใͷอޢ͸ॏཁ
    • ߈ܸऀ͸WebΞϓϦέʔγϣϯͷ੬ऑੑΛ͸͡Ίͱ༷ͯ͠ʑͳखஈͰػີ৘
    ใΛ઄औ
    • ߈ܸͷྫɿSQLΠϯδΣΫγϣϯɼOSίϚϯυΠϯδΣΫγϣϯͳͲ
    • σʔλϕʔε΁ͷ߈ܸ͸։ൃऀͷ૝ఆ֎ͷΫΤϦʢෆਖ਼ΫΤϦʣΛσʔλϕʔ
    εʹൃߦ͢Δ͜ͱͰ࣮ࢪ
    • σʔλϕʔεʹൃߦ͞ΕΔΫΤϦΛ؂ࢹ͠ෆਖ਼ΫΤϦΛݕ஌͢Δ࢓૊Έ͕ඞཁ
    10
    ݚڀͷഎܠ

    View Slide

  11. • ϒϥοΫϦετํࣜ
    • ෆਖ਼ͳΫΤϦύλʔϯΛϦετʹఆٛ͠ɼύλʔϯͱ߹க͢Δ΋ͷΛݕ஌͢Δ
    • ϗϫΠτϦετํࣜ
    • ਖ਼ৗͳΫΤϦύλʔϯΛϦετʹఆٛ͠ɼύλʔϯͱ߹க͠ͳ͍΋ͷΛݕ஌͢Δ
    ϒϥοΫϦετͷΈར༻Ͱ͸ط஌ͷύλʔϯ͔͠ݕ஌Ͱ͖ͳ͍͕ɼෆਖ਼ΫΤϦʹ͸ະ
    ஌ͷύλʔϯ΋͋ΓಘΔ
    ະ஌ͷύλʔϯͷݕ஌ʹ͸ϗϫΠτϦετ͕ඞཁͱͳΔ
    11
    ෆਖ਼ΫΤϦͷݕ஌ํ๏

    View Slide

  12. • WebΞϓϦέʔγϣϯ͕ൃߦ͢ΔΫΤϦΛखಈͰϗϫΠτϦετʹొ࿥
    • େن໛ͳWebΞϓϦέʔγϣϯͰ͸ൃߦΫΤϦ͕๲େ
    → શͯͷΫΤϦΛϗϫΠτϦετʹొ࿥͢Δ͜ͱ͕ࠔ೉
    • WebΞϓϦέʔγϣϯͷվमʹΑͬͯൃߦΫΤϦ͸มԽ
    → ϗϫΠτϦετͷߋ৽͕ඞཁ
    12
    ϗϫΠτϦετ࡞੒ͱͦͷ՝୊
    ӡ༻ऀ΁ͷෛՙ͕ߴ͍
    ӡ༻ऀͱ৘ใγεςϜ͕ؒΰπΰπͨ͠ঢ়ଶ

    View Slide

  13. • ։ൃӡ༻ऀ͕ϗϫΠτϦετͷ࡞੒Λҙࣝ͢Δ͜ͱͳ͘࡞੒Ͱ͖ɼϗϫΠτϦ
    ετΛ༻͍ͯෆਖ਼ΫΤϦΛݕ஌͢Δ࢓૊Έͷ࣮ݱ
    • ϗϫΠτϦετ͸WebΞϓϦέʔγϣϯͷൃߦΫΤϦͷมߋʹ௥ै͠ͳ͕
    ΒࣗಈͰ࡞੒͢Δඞཁ͕͋Δ
    13
    ݚڀͷ໨త

    View Slide

  14. • WebΞϓϦέʔγϣϯͷςετ࣌ʹൃߦ͞ΕͨΫΤϦ͔ΒϗϫΠτϦετΛ
    ࡞੒͢Δ
    • ࣗಈςετΛ༻͍ͨ։ൃϓϩηεʹϗϫΠτϦετ࡞੒Λ૊ΈࠐΉ
    • ΫΤϦͷऩू͸σʔλϕʔεϓϩΩγͰߦ͍ɼऩूͨ͠ΫΤϦ͔ΒϗϫΠτ
    ϦετΛ࡞੒͢Δ
    14
    ఏҊख๏ͷ֓ཁ

    View Slide

  15. 15
    ࣗಈςετΛ༻͍ͨ։ൃϓϩηε
    w ৽ػೳͷ௥Ճ
    w طଘػೳͷमਖ਼
    w 8FCΞϓϦέʔγϣϯͷಈ࡞खॱͱಈ࡞ͷ݁ՌΛهड़
    w ςετίʔυΛݩʹࣗಈͰςετΛ࣮ߦ
    w 8FCΞϓϦͷಈ࡞͕࢓༷௨Γ͔Λ֬ೝ
    w ςετࣦഊɿ8FCΞϓϦέʔγϣϯͷιʔείʔυ΋
    ͘͠͸ςετίʔυʹ໰୊͋Γ
    w ςετ੒ޭɿ8FCΞϓϦέʔγϣϯ͕࢓༷௨Γʹಈ࡞
    w 8FCΞϓϦέʔγϣϯͷιʔείʔυΛαʔόʹ഑ஔ
    w 8FCΞϓϦέʔγϣϯΛՔಇ

    ։ൃ

    ςετίʔυͷهड़

    αʔόʔʹ഑ஔ

    ࣗಈςετ࣮ߦ
    /P
    :FT

    ΞϓϦέʔγϣϯՔಇ
    ςετ੒ޭʁ

    View Slide

  16. 16
    w ςετ࣌ʹൃߦ͞ΕͨΫΤϦ͔ΒϗϫΠτϦετΛ

    ࡞੒
    w ҎԼΛͦΕͧΕαʔόʹ഑ஔ
    w 8FCΞϓϦέʔγϣϯͷιʔείʔυ
    w ϗϫΠτϦετ
    ։ൃϓϩηεʹ͓͚ΔఏҊख๏ͷҐஔ෇͚
    w 8FCΞϓϦέʔγϣϯͷมߋʹ௥ैͯ͠ςετίʔυ
    ΋มߋ
    ˠൃߦΫΤϦͷมԽʹ௥ैͯ͠ϗϫΠτϦετΛߋ৽
    w 8FCΞϓϦέʔγϣϯՔಈલʹϗϫΠτϦετ࡞੒
    ˠՔಈޙɼଈ࠲ʹෆਖ਼ΫΤϦΛݕ஌Մೳ

    ։ൃ

    ςετίʔυͷهड़

    αʔόʔʹ഑ஔ
    /P
    :FT

    ΞϓϦέʔγϣϯՔಇ
    ςετ੒ޭʁ
    ΫΤϦͷऩू

    `ࣗಈςετ࣮ߦ
    ϗϫΠτϦετ࡞੒

    View Slide

  17. 17
    ఏҊख๏ͷઃܭ
    • σʔλϕʔεͷલஈʹσʔλϕʔεϓϩΩγΛ഑ஔ͠ɼςετ࣮ߦதʹൃߦ͞Ε
    ͨΫΤϦΛऩू
    • ΫΤϦ͔ΒϗϫΠτϦετΛ࡞Δ͜ͱͰɼWebΞϓϦέʔγϣϯͷ࣮૷ʹґଘͤ
    ͣɼϗϫΠτϦετΛ࡞੒Մೳ
    ςετ࣮ߦத
    σʔλϕʔε
    8FCΞϓϦέʔγϣϯ σʔλϕʔεϓϩΩγ
    ϗϫΠτϦετ
    ΫΤϦͷऩूͱ
    ϗϫΠτϦετͷग़ྗ
    ΫΤϦ ΫΤϦ

    View Slide

  18. 18
    ఏҊख๏ͷઃܭ
    • WebΞϓϦέʔγϣϯՔಇத͸ൃߦΫΤϦͱϗϫΠτϦετΛর߹͠ɼෆਖ਼ΫΤ
    ϦΛݕ஌
    σʔλϕʔε
    8FCΞϓϦέʔγϣϯ
    σʔλϕʔεϓϩΩγ
    8FCΞϓϦέʔγϣϯՔಇத
    ΫΤϦ ΫΤϦ
    ΫΤϦΛϗϫΠτϦετͱর߹
    ෆਖ਼ΫΤϦ
    ग़ྗ
    ϗϫΠτϦετ

    View Slide

  19. OSSͷ঺հ

    View Slide

  20. • TCPύέοτΛΩϟϓνϟɾղੳͯ͠ɼߏ଄Խϩάͱͯ͠ग़ྗ͢Δπʔϧ
    • MySQL, PostgreSQLͷϓϩτίϧʹରԠ
    • σʔλϕʔεϓϩΩγͱͯ͠ར༻ʢtcpdumpͷΑ͏ʹ΋ར༻Մೳʣ
    20
    tcpdp
    UDQEQ σʔλϕʔε
    ΫϥΠΞϯτ
    ΫΤϦ
    UDQEQIUUQTHJUIVCDPNL-P8UDQEQ
    ΫΤϦ
    ߏ଄Խϩά
    \
    RVFSZl4&-&$5'30.VTFST8)&3&JEz
    [email protected]
    VTFSOBNFlBQQz
    ʜ
    ^

    View Slide

  21. • 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
    ΫΤϦߏ଄ϕʔεͰͷൺֱ
    ෆਖ਼ΫΤϦ

    View Slide

  22. • ςετ࣌͸tcpdpͰऩूͨ͠ΫΤϦ͔Βsqd͕ϗϫΠτϦετΛग़ྗ
    • WebΞϓϦέʔγϣϯՔಇ࣌͸tcpdp͕ऩूͨ͠ΫΤϦ͔Βෆਖ਼ΫΤϦΛग़ྗ
    22
    tcpdp + sqdΛ༻͍ͨఏҊख๏ͷ࣮૷
    UDQEQ σʔλϕʔε
    8FCΞϓϦέʔγϣϯ
    ΫΤϦ
    TRE
    ΫΤϦϩά
    ϗϫΠτϦετ
    ςετ࣌
    8FCΞϓϦέʔγϣϯՔಈ࣌
    ෆਖ਼ΫΤϦ
    ΫΤϦ
    ςετ࣌ͱ8FCΞϓϦέʔγϣϯՔಇ࣌Ͱ
    TREͷಈ࡞Λ੾Γସ͑

    View Slide

  23. ධՁ

    View Slide

  24. • ఏҊख๏ʹΑͬͯෆਖ਼ΫΤϦΛݕ஌Ͱ͖Δ͔ɼWebΞϓϦέʔγϣϯ͕ൃߦ
    ͢Δਖ਼ৗͳΫΤϦΛޡݕ஌͠ͳ͍͔ɼΛ࣮ݧʹΑΓ֬ೝ͢Δ
    • ҎԼͷ2ͭͷධՁࢦඪΛఆٛ͢Δ
    • False positive: WebΞϓϦέʔγϣϯ͕ൃߦ͢Δਖ਼ৗͳΫΤϦΛޡͬͯෆਖ਼
    ͱ൑அ͢Δ͜ͱ
    • False negative: ߈ܸʹΑͬͯൃੜ͢Δෆਖ਼ΫΤϦΛޡͬͯਖ਼ৗͱ൑அ͢Δ
    ͜ͱ
    24
    ධՁํ๏

    View Slide

  25. 25
    ࣮ݧํ๏
    8FC
    "QQMJDBUJPO
    %BUBCBTF
    ϒϥ΢β
    TRMNBQ
    ʢ42-ΠϯδΣΫγϣϯ߈ܸΛߦ͏πʔϧʣ
    ϖʔδΛ໢ཏతʹૢ࡞͠
    )551ϦΫΤετ
    42-ΠϯδΣΫγϣϯ߈ܸΛؚΜͩ
    )551ϦΫΤετ
    ਖ਼ৗͳΫΤϦʢݸʣ
    ෆਖ਼ͳΫΤϦʢݸʣ
    ݕ஌͞Εͨਖ਼ৗͳΫΤϦ
    ΛΧ΢ϯτ
    ʢ'BMTFQPTJUJWFʣ
    ݕ஌Ͱ͖ͳ͔ͬͨ
    ෆਖ਼ͳΫΤϦΛΧ΢ϯτ
    ʢ'BMTFOFHBUJWFʣ
    ˞8FCΞϓϦέʔγϣϯʹ͸42-ΠϯδΣΫγϣϯͷ੬ऑੑ͕͋Γɼશͯͷ࣮૷ϝιουʹςετ͕هड़ͯ͋͠Δ
    ϗϫΠτϦετ
    ϗϫΠτϦετ
    র߹
    র߹

    View Slide

  26. • ਖ਼ৗͳΫΤϦͷҰ෦Λޡݕ஌
    • SQLΠϯδΣΫγϣϯʹΑΔෆਖ਼ΫΤϦΛશͯݕ஌
    26
    ࣮ݧ݁Ռ
    σʔληοτ ΫΤϦ਺ 'BMTFQPTJUJWF 'BMTFOFHBUJWF
    ਖ਼ৗͳΫΤϦ

    ෆਖ਼ΫΤϦ
    ʢ42-ΠϯδΣΫγϣϯʣ


    View Slide

  27. 3.
    ·ͱΊͱࠓޙ

    View Slide

  28. • ͳΊΒ͔ͳηΩϡϦςΟʹ޲͚ͨηΩϡϦςΟWGͷऔΓ૊ΈΛ঺հ
    • Edgeʹ഑ஔ͢ΔϚΠΫϩίϯϙʔωϯτͱͯ͠ɼʮWebΞϓϦέʔγϣϯς
    ετΛ༻͍ͨSQLΫΤϦͷϗϫΠτϦετͷࣗಈ࡞੒ख๏ʯΛ঺հ
    • ࠓޙ͸ɼϢʔβͷଐੑʹΑͬͯར༻͢ΔϗϫΠτϦετΛ੾Γସ͑ɼΑΓύʔ
    ιφϥΠζԽ͞ΕͨίϯϙʔωϯτΛ໨ࢦ͢
    28
    ·ͱΊͱࠓޙ

    View Slide

  29. ݚڀһɺੵۃతʹืूதʂ
    http://rand.pepabo.com/

    View Slide