Slide 1

Slide 1 text

໺ଜ޸໋(ϖύϘݚڀॴ), ྗ෢݈࣍(ྗ෢݈ٕ࣍ज़࢜ࣄ຿ॴ, ϖύϘݚڀॴ), দຊ྄հ(͘͞ΒΠϯλʔωοτגࣜձࣾ) 2019.06.14 IOT46 ୈ46ճΠϯλʔωοτͱӡ༻ٕज़ݚڀձ WebΞϓϦέʔγϣϯςετΛ༻͍ͨ
 SQLΫΤϦͷϗϫΠτϦετࣗಈ࡞੒ख๏

Slide 2

Slide 2 text

1. ݚڀͷഎܠͱ໨త 2. ैདྷͷϗϫΠτϦετࣗಈ࡞੒ख๏ 3. ఏҊख๏ 4. ࣮؀ڥͰͷ࣮ݧ 5. ·ͱΊͱࠓޙͷ՝୊ 2 ໨࣍

Slide 3

Slide 3 text

1. ݚڀͷഎܠͱ໨త

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

2. ैདྷͷϗϫΠτϦετࣗಈ࡞੒ख๏

Slide 9

Slide 9 text

• WebΞϓϦέʔγϣϯՔಈதʹൃߦ͞ΕͨΫΤϦ͔ΒϗϫΠτϦετΛ࡞੒ • ൃߦ͞ΕͨΫΤϦΛར༻͢ΔͷͰɼWebΞϓϦέʔγϣϯͷ࣮૷ʹґଘ͠ͳ͍ • ࣮૷ݴޠɼϑϨʔϜϫʔΫͳͲ 9 WebΞϓϦέʔγϣϯՔಈதͷΫΤϦΛ༻͍ͨख๏ σʔλϕʔε 8FCΞϓϦέʔγϣϯ ΫΤϦ ϗϫΠτϦετ 8FCΞϓϦέʔγϣϯՔಇத )551ϦΫΤετ

Slide 10

Slide 10 text

• WebΞϓϦέʔγϣϯՔಇޙɼଈ࠲ʹෆਖ਼ΫΤϦΛݕ஌Ͱ͖ͳ͍ • ϗϫΠτϦετΛ࡞੒͢ΔͨΊʹɼՔಇதʹΫΤϦΛऩू͢Δظ͕ؒඞཁ • ΫΤϦͷऩूظؒத͸ෆਖ਼ΫΤϦͷݕ஌Λߦ͑ͳ͍ • ෆਖ਼ΫΤϦΛݕ஌Ͱ͖ͳ͍ظ͕ؒଟൃ͢Δ • WebαʔϏεͷվमස౓͸ߴ͍ͨΊɼൃߦΫΤϦ͸සൟʹมԽ͢Δ 10 WebΞϓϦέʔγϣϯՔಈதͷΫΤϦΛ༻͍ͨख๏ ϗϫΠτϦετͷ࡞੒͸8FCΞϓϦέʔγϣϯՔಈલʹߦ͏ඞཁ͕͋Δ

Slide 11

Slide 11 text

• WebΞϓϦέʔγϣϯͷSQLจΛ૊ΈཱͯΔॲཧΛղੳ͠ɼൃߦ͞ΕΔΫΤ ϦͷύλʔϯΛྻڍ͢Δ • ιʔείʔυΛೖྗͱ͢Δ͜ͱͰɼWebΞϓϦέʔγϣϯՔಈલͷϗϫΠτ Ϧετ࡞੒ΛՄೳʹ͢Δ 11 ιʔείʔυղੳΛ༻͍ͨख๏ ղੳث ιʔείʔυ ϗϫΠτϦετ 8FCΞϓϦέʔγϣϯՔಈલ

Slide 12

Slide 12 text

• ෳ਺ͷ࣮૷͕ҟͳΔWebΞϓϦέʔγϣϯͰ൚༻తʹར༻Ͱ͖ͳ͍ • ιʔείʔυͷղੳ͕WebΞϓϦέʔγϣϯͷ࣮૷ݴޠ΍ϑϨʔϜϫʔΫʹ ґଘ͢Δ • WebαʔϏε͕༷ʑͳݴޠ΍ϑϨʔϜϫʔΫͰߏ੒͞Ε͍ͯΔ৔߹ɼͦΕͧΕ ʹରͯ͠ղੳثΛ࣮૷͢Δ͜ͱ͸ɼ࣮૷ͷ޻਺͕ଟ͍ 12 ιʔείʔυղੳΛ༻͍ͨख๏ 8FCΞϓϦέʔγϣϯͷ࣮૷ʹґଘͤͣɼ౷Ұతʹ࣮ࢪͰ͖Δํ๏͕ඞཁ

Slide 13

Slide 13 text

3. ఏҊख๏

Slide 14

Slide 14 text

1. ϗϫΠτϦετͷ࡞੒ΛWebΞϓϦέʔγϣϯՔಈલʹߦ͏ • Քಈޙʹଈ࣌ʹݕ஌Λߦ͏ͨΊ 2. WebΞϓϦέʔγϣϯͷ࣮૷ʹґଘͤͣ౷Ұతʹ࣮ࢪͰ͖Δ • ద༻͢ΔWebΞϓϦέʔγϣϯ͝ͱͷ࣮૷ͷ޻਺Λ࡟ݮ͢ΔͨΊ 14 ఏҊख๏ͷཁ݅

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

17 w ςετ࣌ʹൃߦ͞ΕͨΫΤϦ͔ΒϗϫΠτϦετΛ
 ࡞੒ w ҎԼΛͦΕͧΕαʔόʹ഑ஔ w 8FCΞϓϦέʔγϣϯͷιʔείʔυ w ϗϫΠτϦετ ։ൃϓϩηεʹ͓͚ΔఏҊख๏ͷҐஔ෇͚ w 8FCΞϓϦέʔγϣϯͷมߋʹ௥ैͯ͠ςετίʔυ ΋มߋ ˠൃߦΫΤϦͷมԽʹ௥ैͯ͠ϗϫΠτϦετΛߋ৽ w 8FCΞϓϦέʔγϣϯՔಈલʹϗϫΠτϦετ࡞੒ ˠՔಈޙɼଈ࠲ʹෆਖ਼ΫΤϦΛݕ஌Մೳ ։ൃ ςετίʔυͷهड़ αʔόʔʹ഑ஔ /P :FT ΞϓϦέʔγϣϯՔಇ ςετ੒ޭʁ ΫΤϦͷऩू `ࣗಈςετ࣮ߦ ϗϫΠτϦετ࡞੒

Slide 18

Slide 18 text

18 ఏҊख๏ͷઃܭɿϗϫΠτϦετ࡞੒ • σʔλϕʔεϓϩΩγΛ഑ஔ͠ɼςετ࣮ߦதʹൃߦ͞ΕͨΫΤϦΛऩू • ऩूͨ͠ΫΤϦͷϦςϥϧ஋ΛϓϨʔεϗϧμʔʹஔ͖׵͑ͨΫΤϦߏ଄ʹม׵͠ɼϗ ϫΠτϦετʹొ࿥ • ΫΤϦ͔ΒϗϫΠτϦετΛ࡞Δ͜ͱͰɼWebΞϓϦέʔγϣϯͷ࣮૷ʹґଘͤͣɼϗ ϫΠτϦετΛ࡞੒Մೳ σʔλϕʔε 8FCΞϓϦέʔγϣϯ σʔλϕʔεϓϩΩγ ϗϫΠτϦετ ΫΤϦͷऩूͱ ΫΤϦߏ଄΁ͷม׵ ΫΤϦ ΫΤϦ 4&-&$5'30.VTFST8)&3&JE 4&-&$5'30.VTFST8)&3&JE ΫΤϦߏ଄΁ͷม׵ͷྫ

Slide 19

Slide 19 text

19 ఏҊख๏ͷઃܭɿՔಇ࣌ͷݕ஌ • ൃߦΫΤϦΛΫΤϦߏ଄ʹม׵͠ϗϫΠτϦετͱর߹͢Δ͜ͱͰɼෆਖ਼ΫΤϦ Λݕ஌ σʔλϕʔε 8FCΞϓϦέʔγϣϯ σʔλϕʔεϓϩΩγ 8FCΞϓϦέʔγϣϯՔಇத ΫΤϦ ΫΤϦ ൃߦΫΤϦΛΫΤϦߏ଄ʹม׵͠ ϗϫΠτϦετͱর߹ ෆਖ਼ΫΤϦ ग़ྗ ϗϫΠτϦετ

Slide 20

Slide 20 text

4. ࣮؀ڥͰͷ࣮ݧ

Slide 21

Slide 21 text

• ఏҊख๏ͷݕ஌ਫ਼౓ΛධՁ͢ΔͨΊʹɼҎԼͷ2ͭͷධՁࢦඪΛఆٛ͢Δ • False positive: ਖ਼ৗͳΫΤϦΛޡͬͯෆਖ਼ͱ൑அ͢Δ͜ͱ • ਖ਼ৗͳΫΤϦͱ͸ɼ։ൃऀ͕૝ఆ͢ΔೖྗʹΑͬͯWebΞϓϦέʔγϣ ϯ͕ൃߦ͢ΔΫΤϦ • False negative: ෆਖ਼ΫΤϦΛޡͬͯਖ਼ৗͱ൑அ͢Δ͜ͱ • ෆਖ਼ΫΤϦͱ͸ɼ߈ܸʹΑͬͯൃߦ͞ΕΔ։ൃऀͷ૝ఆ֎ͷΫΤϦ 21 ධՁࢦඪ

Slide 22

Slide 22 text

• ఏҊख๏͸ςετ࣌ͷΫΤϦ͔ΒϗϫΠτϦετΛ࡞੒͢ΔͷͰɼςετ࣌ͱՔಇ࣌ͷΫΤϦ ͷؔ܎͕ݕ஌ਫ਼౓ʹӨڹΛ༩͑Δ 22 False positive / negativeͷཁҼͱͳΔΫΤϦ Քಇ࣌ʹൃߦ͞ΕΔΫΤϦ ςετ࣌ʹൃߦ͞ΕΔΫΤϦ • ςετ࣌ʹ͔͠ൃߦ͞Εͳ͍ཧ༝ • ςετσʔλͷొ࿥ɼҰׅ࡟আ ͳͲͷૢ࡞Λߦ͏ΫΤϦ͕͋Δ • Քಇ࣌ʹ͔͠ൃߦ͞Εͳ͍ཧ༝ • ςετέʔε͸Քಇ࣌ͷ࣮ߦύ λʔϯͷҰ෦ͳͷͰɼՔಇ࣌ͷ ΫΤϦΛ໢ཏͰ͖ͳ͍ 'BMTFOFHBUJWFͷཁҼ 'BMTFQPTJUJWFͷཁҼ

Slide 23

Slide 23 text

• False positive / negativeͷཁҼͱͳΔΫΤϦ͕࣮؀ڥʹ͓͍ͯͲͷఔ౓ؚ· ΕΔ͔Λ֬ೝ͢Δ࣮ݧΛߦͬͨ • ࣮؀ڥͷΫΤϦϩά͸ٳ೔ͷ3೔෼Λऔಘͨ͠ • ٳ೔ͷΫΤϦϩάΛऔಘͨ͠ͷ͸ɼWebΞϓϦέʔγϣϯͷߋ৽ʹΑΔ ൃߦΫΤϦͷมԽΛഉআ͢ΔͨΊ • ςετ࣌ͷΫΤϦ͸ΫΤϦϩάͷظؒʹՔಇ͍ͯͨ͠WebΞϓϦέʔγϣ ϯΛར༻ͯ͠औಘͨ͠ 23 ࣮؀ڥͰͷ࣮ݧ

Slide 24

Slide 24 text

• ΫΤϦΛΫΤϦߏ଄ʹม׵ͯ͠ूܭ 24 ࣮؀ڥͰͷ࣮ݧ݁Ռ ࣮؀ڥͰൃߦ͞ΕͨΫΤϦߏ଄ʢΫΤϦϩάʣ ςετ࣌ʹൃߦ͞ΕͨΫΤϦߏ଄ ςετ࣌ͱ࣮؀ڥͰൃߦ͞ΕͨΫΤϦߏ଄ͷ૯਺ɿ 'BMTFQPTJUJWFͷཁҼͱͳΔ ΫΤϦ 'BMTFOFHBUJWFͷཁҼͱ ͳΔΫΤϦ

Slide 25

Slide 25 text

• શͯਖ਼ৗͳॲཧʹΑͬͯൃߦ͞Εͨ΋ͷ • ςετ࣌ʹൃߦ͞Εͳ͔ͬͨཧ༝ɿ ɹ ςετέʔεͷܽ೗ɼDB΁ͷΞΫηεলུ • ࠜຊతʹରॲ͢ΔͨΊʹ͸ɼ͜ΕΒͷΫΤϦΛϗϫΠτϦετ ʹิ͏ํ๏͕ඞཁ • ఏҊख๏Λద༻͢ΔςʔϒϧΛݶఆͯ͠ݕ஌ର৅ͷΫΤϦ਺Λ ݮΒ͢ • ػີ৘ใ͕อ؅͞Εͨςʔϒϧͷૢ࡞Λߦ͏ΫΤϦΛݕ஌ ର৅ͱ͢Δ 25 False positiveͷཁҼͱͳΔΫΤϦͷߟ࡯ ࣮؀ڥͰൃߦ͞ΕͨΫΤϦߏ଄ʢΫΤϦϩάʣ ςετ࣌ʹൃߦ͞ΕͨΫΤϦߏ଄

Slide 26

Slide 26 text

• ͜ͷྖҬʹ͸2छྨͷΫΤϦؚ͕·Ε͍ͯͨ 1. ࣮؀ڥͰൃߦ͞ΕΔ͕ΫΤϦϩάͷظؒͰ͸ൃߦ͞Εͳ ͔ͬͨΫΤϦ 2. ςετͰͷΈൃߦ͞ΕΔΫΤϦ • 2.ͷΫΤϦʹ͸ɼػີ৘ใ͕อ؅͞Εͨςʔϒϧͷશ࡟আͳͲͷ ૢ࡞Λߦ͏΋ͷ͕͋ͬͨ • ϒϥοΫϦετͱϗϫΠτϦετΛ૊Έ߹Θͤͯଟ૚తʹ๷͙ • Өڹൣғ͕େ͖͍ʢσʔλͷҰׅ࡟আͳͲʣΫΤϦ͸༧Ίϒ ϥοΫϦετʹఆ͓ٛͯ͘͠ 26 False negativeͷཁҼͱͳΔΫΤϦͷߟ࡯ ࣮؀ڥͰൃߦ͞ΕͨΫΤϦߏ଄ʢΫΤϦϩάʣ ςετ࣌ʹൃߦ͞ΕͨΫΤϦߏ଄

Slide 27

Slide 27 text

5. ·ͱΊͱࠓޙͷ՝୊

Slide 28

Slide 28 text

• ϗϫΠτϦετ࡞੒ͷෛՙΛܰݮ͢ΔͨΊʹɼςετ࣌ʹൃߦ͞ΕΔΫΤϦΛ ༻͍ͯϗϫΠτϦετΛ࡞੒͢Δख๏ΛఏҊͨ͠ • WebΞϓϦέʔγϣϯͷ࣮૷ʹґଘͤͣɼՔಇޙɼଈ࠲ʹෆਖ਼ΫΤϦΛݕ ஌Ͱ͖Δ • ࣮؀ڥͰͷ࣮ݧʹΑΓɼFalse positive / negativeཁҼͱͳΔΫΤϦ͕͋Δ͜ ͱ͕֬ೝ͞Εͨ 28 ·ͱΊ

Slide 29

Slide 29 text

• False positiveͷཁҼͱͳΔΫΤϦ΁ͷରॲ๏ͷݕ౼ • ख๏ͷద༻Λςʔϒϧ୯ҐͰ੍ݶͨ͠৔߹ͷFalse positiveΛධՁ • ϗϫΠτϦετʹෆ଍͍ͯ͠ΔΫΤϦΛิ׬͢Δํ๏ͷௐࠪ • False negativeͷཁҼͱͳΔΫΤϦ΁ͷରॲ๏ͷݕ౼ • ϒϥοΫϦετͱϗϫΠτϦετΛซ༻ͨ͠৔߹ͷFalse negativeΛධՁ 29 ࠓޙͷ՝୊