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

脆弱性管理のベストプラクティスとスレットモニタリング

 脆弱性管理のベストプラクティスとスレットモニタリング

Interlop Tokyo 2018での西村の講演資料です。

Recruit Technologies

June 13, 2018
Tweet

More Decks by Recruit Technologies

Other Decks in Technology

Transcript

  1. ੢ଜ फߊ גࣜձࣾϦΫϧʔτςΫϊϩδʔζ αΠόʔηΩϡϦςΟΤϯδχΞϦϯά෦ ηΩϡϦςΟΤϯδχΞϦϯάάϧʔϓ Ϛωʔδϟʔ ࠃ಺ܞଳి࿩ϝʔΧʔʹ͓͚ΔηΩϡϦςΟί ϯαϧλϯτͳͲΛܦͯɺ೥ΑΓݱ৬ɻ ϦΫϧʔτάϧʔϓʹ͓͚ΔηΩϡϦςΟࣄނ ͷະવ๷ࢭʹऔΓ૊Ήɻ೥݄ʹ͸ɺ

    Ϣ ʔ β ا ۀ Ͱ ࠃ ಺ ॳ ͱ ͳ Δ Ϩ ο υ ν ʔ Ϝ ʮ3&$36*5 3&% 5&".ʯΛࣾ಺ʹൃ଍ɻझ ຯ͸ϒϥ΢βͷ੬ऑੑΛ୳͠ग़͠ɺϕϯμʔ͔ Βಘͨใ঑ۚͰॅ୐ϩʔϯΛฦ͢͜ͱɻ ೥ʹՈΛݐͯɺ೥ޙʹ౔஍୅ͷฦࡁΛऴ͑ͨɻ ஶॻʹϒϥ΢βϋοΫʢ؂༁ʣɻओͳߨԋྺʹɺ $ 0 % & # - 6 &     ɺ 1 B D 4 F D    
  2. ࠓ͸ٕज़త߹ཧੑ͕ٻΊΒΕΔ ηΩϡϦςΟ૊৫ اըɾ؅ཧ ࣾһ ࣾһ ։ൃ ֎෦ҕୗ ࣾһʴ֎෦ҕୗ R R

    ͜Ε·Ͱ ݱࡏ ҙຯͳ͍͠໘౗ͳΜͰ͚͢Ͳ R R R Կނ͜Ε͕ϧʔϧͳͷ͔ આ໌ͯ͠ཉ͍͠ΜͰ͚͢Ͳ R
  3. ٕज़ίϯςϯπΛࣾ֎ల։͢Δ͜ͱͰղܾ • ݴޠʗ؀ڥผηΩϡϦςΟΨΠυ͸GitHub PagesͰ഑৴ • άάΕ͹ݟ͔ͭΔঢ়ଶΛ໨ࢦ͢ • Issue΍Pull RequestΛड͚෇͚Δ͜ͱͰ௠෗ԽΛ཈ࢭ •

    ಁ໌ੑ͋ΔରԠͱɺࢦఠΛ׮༰ʹड͚ೖΕΔۭؾ࡞Γ • ࡞੒ʹؔ༩ͨ͠ਓ͸READMEʹँࣙΛܝࡌ ϦΫϧʔτݻ༗ͷ ηΩϡϦςΟΨΠυ ݴޠʗ؀ڥผͷ ηΩϡϦςΟΨΠυ ࣾ಺αΠτ ࣾ಺֎ͷ ։ൃऀ
  4. • ৘ใ഑৴ͷλΠϜϥά • ։ൃݩʹΑΔ৘ใެ։͔Β਺೔ͷ஗Ԇ • ৘ใͷ໢ཏੑ • CVEͷׂΓ౰ͯΒΕ͍ͯͳ͍੬ऑੑͳͲʹൈ͚ • ࣗࣾ؀ڥͱҰக͠ͳ͍ਂࠁ౓ධՁ

    • ଟ͘ͷ৔߹ɺCVSS͸ࣗࣾʹ͓͚Δਂࠁ౓ͱҰக͠ͳ͍ ࠃ಺ͷ੬ऑੑ৘ใαʔϏεͷ՝୊ $744ͳΒଈ࣌ରԠͱ͍ͬͨ ࣾ಺ϧʔϧΛෑ͘ͱେมͳ͜ͱʹͳΔ
  5. • ৘ใల։ͷૣظԽ • ੬ऑੑͷҰ࣍৘ใΛపఈऩू • JPCERT/CCͷૣظܯռύʔτφʔγοϓΛ௨ͯ͡ ެදલͷ੬ऑੑ৘ใΛೖख • ໢ཏੑͷ޲্ •

    ࠃ಺֎ͷηΩϡϦςΟ৘ใൃ৴ऀΛTwitterͰϑΥϩʔ • JPCERT/CCͷૣظܯռ৘ใΛ༻͍ͯɺ৘ใͷऩू࿙ΕΛ௿ݮ • ࣗࣾ؀ڥʹج͍ͮͨ੬ऑੑධՁ • ੬ऑੑΛCSIRTͰղੳ͠ɺ߈ܸͷ೉қ౓΍ࣗࣾͰੜ͡͏Δඃ֐ΛධՁ ͦ͜ͰࣗࣾͰ੬ऑੑ৘ใͷऩूͱධՁ͕ඞཁͱͳΔ
  6. • ࣾ಺ͷ։ൃऀ͕SlackνϟϯωϧΛϑΥϩʔͯ͘͠ΕΔ • ϑΥϩʔ਺ 305໊ʢ2018೥5݄࣌఺ʣ • ηΩϡϦςΟνʔϜͱࣾ಺ΤϯδχΞͷަྲྀͷ৔ʹ • ϝϯόʔ͕੬ऑੑͷϓϩͱͯ͠ͷࣾ಺ೝ஌ΛಘΔ •

    ։ൃऀ͕Өڹௐࠪʹڠྗͯ͘͠ΕΔ • Ͳ͜ͰͲͷϞδϡʔϧ͕࢖ΘΕͯΔ͔ڭ͑ͯ͘ΕΔ • ·͍ͣ੬ऑੑ͕ग़Δͱɺೳಈతʹ֤ॴ΁ରԠΛಇ͖͔͚ͯ͘ΕΔ ZEITA͕͞Βʹଟ͘ͷ՝୊Λղܾͯ͘͠ΕΔΑ͏ʹ
  7. • ༵೔͝ͱʹ୲౰ऀΛܾΊͯɺ੬ऑੑͷௐࠪͱτϦΞʔδ • 300ਓҎ্ʹݟΒΕ͍ͯΔͷͰۓுײ͕ߴ·Δ • ৽ਓ͸ຖ೔1݅ɺ੬ऑੑΛௐࠪͯ͠Ϩϙʔτ • Өڹͷେ͖ͦ͏ͳ੬ऑੑ͸͔ͬ͠Γௐࠪ • ରࡦͷύον΍߈ܸίʔυ͔Β੬ऑੑͷࠜຊݪҼΛಛఆ

    • ϝϯόʔ͕ղੳͰ͖ΔΑ͏ʹDockerͰ࠶ݱ؀ڥΛߏங • IDEͷσόοΨͳͲΛར༻ͯ͠ɺ߈ܸ੒ཱͷϝΧχζϜΛݕূɻ ࣮࢖༻্ɺͦͷ੬ऑੑ͕ຊ౰ʹ໰୊ʹͳΔͷ͔ʁͳͲ ੬ऑੑௐֶ͕ࠪͼͷ৔ʹ
  8. • ίετΩϟοϓʹΑΔݕࠪείʔϓͷ੍ݶ • ϓϥοτϑΥʔϜ੬ऑੑݕࠪ • ೥ؒ150 IPΞυϨεΛબग़ͯ͠ݕࠪΛ࣮ࢪ • Web੬ऑੑݕࠪ •

    ৽ن or มߋ͞ΕͨαΠτʹରͯ͠4~8ը໘ͷൈ͖औΓݕࠪΛ࣮ࢪ • ݕࠪͰ͸ͳ͘఺ݕͱ͍͏Ґஔ෇͚ ͜Ε·Ͱͷ੬ऑੑݕࠪ͸׬શʹ֎෦ҕୗ
  9. • طଘͷηΩϡϦςΟαʔϏε͸SoRʹ࠷దԽ͞Ε͍ͯΔ • 1ϲ݄ؒͷ੬ऑੑݕࠪΛܦͯϦϦʔε à 1ϲ݄ؒͷCVʹӨڹ • ։ൃ଎౓Λམͱ͞ͳ͍ηΩϡϦςΟࢪࡦ͕ٻΊΒΕΔ • CIʹΑΔܧଓతͳ੬ऑੑݕࠪ

    • Deployͱ࿈ಈͨ͠ϓϥοτϑΥʔϜ੬ऑੑεΩϟϯ • Pull Requestͷ౎౓ߦ͏ηΩϡϦςΟϨϏϡʔ • ϨϏϡʔίϝϯτΛ௨ͯ͡։ൃऀڭҭ SoEͷ։ൃʹ૬ੑͷྑ͍ηΩϡϦςΟࢪࡦͷ໛ࡧ
  10. ։ൃϓϩηεʹ࠷దͳࢪࡦΛ໛ࡧ اը ઃܭ ։ൃ ςετ ӡ༻ɾվमɾଌఆ • ઃܭϦεΫϨϏϡʔ ʢڴҖ෼ੳʣ •

    ΞʔΩϨϏϡʔ • ίʔυϨϏϡʔ • ੬ऑੑͷमਖ਼ࢧԉ • ੬ऑੑεΩϟφ$*࿈ܞ • ։ൃऀҭ੒ʢ0+5ʣ • ੬ऑੑݕࠪ • ։ൃऀҭ੒ʢ0+5ʣ • ੬ऑੑͷૣظܯռ • ։ൃ૊৫Ͱͷࣗ཯తͳ %FW4FD0QTମ੍ߏஙࢧԉ Sprintʢ1~4िؒʣ কདྷతͳ։ൃମ੍ͷ มԽΛߟྀ
  11. ੢ଜ͕஫ࢹ͍ͯ͠ΔपғͷมԽ ΦϦϯϐοΫಛधΛऴ͑ɺηΩϡϦςΟۀքͷ ٸ଎ͳྫྷ͑ࠐΈɻ࠾༻ࢢ৔ʹηΩϡϦςΟ ΤϯδχΞ͕ྲྀग़͠ɺίϞσΟςΟԽ͕Ճ଎     ౦ژΦϦϯϐοΫεϙϯαʔΛૂͬͨ ߈ܸͷඪతʹͳΔڪΕ

    ϦΫϧʔτਓࡐྖҬੈք/PͱͳΓ ࣭ྔͱ΋ʹੈքΫϥεͷ߈ܸ͕དྷΔڪΕ ηΩϡϦςΟ஌ݟͷ͋Δࣾ಺ΤϯδχΞͷ૿Ճ ࣾ಺Ͱ࠾༻͞ΕΔٕज़ͷٸ଎ͳҠΓมΘΓ
  12. ͜ͷ2೥ؒͰʮมԽʯʹͲ͏උ͑Δ͔͕উෛ ΦϦϯϐοΫಛधΛऴ͑ɺηΩϡϦςΟۀքͷ ٸ଎ͳྫྷ͑ࠐΈɻ࠾༻ࢢ৔ʹηΩϡϦςΟ ΤϯδχΞ͕ྲྀग़͠ɺίϞσΟςΟԽ͕Ճ଎     ౦ژΦϦϯϐοΫεϙϯαʔΛૂͬͨ ߈ܸͷඪతʹͳΔڪΕ

    ϦΫϧʔτਓࡐྖҬੈք/PͱͳΓ ࣭ྔͱ΋ʹੈքΫϥεͷ߈ܸ͕དྷΔڪΕ ηΩϡϦςΟ஌ݟͷ͋Δࣾ಺ΤϯδχΞͷ૿Ճ ࣾ಺Ͱ࠾༻͞ΕΔٕज़ͷٸ଎ͳҠΓมΘΓ ͜͜ͰͲ͏උ͑Δ͔ʁ
  13. CVE-2014-0580 CVE-2015-2744 CVE-2015-5208 CVE-2016-1136 CVE-2016-2816 CVE-2017-5386 CVE-2014-1591 CVE-2015-2745 CVE-2015-5256 CVE-2016-1137

    CVE-2016-2817 CVE-2017-5463 CVE-2014-5318 CVE-2015-2951 CVE-2015-5667 CVE-2016-1138 CVE-2016-7599 CVE-2017-7788 CVE-2014-7257 CVE-2015-2964 CVE-2015-6759 CVE-2016-1139 CVE-2016-7844 CVE-2017-7789 CVE-2014-8638 CVE-2015-3750 CVE-2015-6762 CVE-2016-1140 CVE-2016-7845 CVE-2017-10815 CVE-2015-0799 CVE-2015-3751 CVE-2015-7094 CVE-2016-1141 CVE-2017-2240 CVE-2017-10816 CVE-2015-0807 CVE-2015-3752 CVE-2015-7190 CVE-2016-1782 CVE-2017-2241 CVE-2017-10817 CVE-2015-0832 CVE-2015-5204 CVE-2015-7191 CVE-2016-1940 CVE-2017-2376 CVE-2017-10818 CVE-2015-2714 CVE-2015-5207 CVE-2015-8510 CVE-2016-1955 CVE-2017-5385 CVE-2017-10819 ϝϯόʔ͕ใࠂͨ͠੬ऑੑʢൈਮʣ
  14. ϦΫϧʔτͷηΩϡϦςΟ૊৫੒ख़౓    $4*35ൃ଍ ٕज़ۀ຿͸ϕϯμʔҕୗ ٕज़ਓһͷొ༻ʹΑΔ Ұ෦ۀ຿ͷ಺੡Խ΍ ϕϯμʔ඼࣭؅ཧʹணख ͜͜ͷ࢟Λඳ͘΂͖

    ͕࣌དྷ͍ͯΔ ߴ౓ͳٕज़ਓࡐͷ࠾༻΍ ैདྷͷ࿮Λ௒͑Δ׆ಈΛػʹ Ұஈ্ͷεςʔδʹਐΉ ४උ͕੔͍ͭͭ͋Δ ࠃ಺ઌਐେاۀ ࠃ಺ઌਐ*5ϕϯνϟʔ ࠃ಺اۀฏۉ ੈք ੒ख़౓
  15. ϕϯμʔ͔Βͷਓࡐྲྀग़ʹΑΓ ೥Ҏ߱ʹίϞσΟςΟԽ͠͏ΔྖҬ ੢ଜ͕ߟ͑ΔࠓޙٻΊΒΕΔηΩϡϦςΟਓࡐ ܦӦͱͷڮ౉͠ਓࡐ ʴ ηΩϡϦςΟ؂ࠪਓࡐ ηΩϡϦςΟٕज़ͷ Θ͔Δίϯαϧਓࡐ ʴ গ਺ͷηΩϡϦςΟ

    ٕज़ઐ໳ਓࡐ رগੑͱۀքχʔζͷ ૒ํΛอͯΔྖҬ ΤϯδχΞϦϯάྗΛۦ࢖ͯ͠ ࣗΒͷखͰ͋ΒΏΔ ՝୊ղܾΛߦ͏ ηΩϡϦςΟˍΤϯδχΞਓࡐ ίϞσΟςΟԽͷ೾ ੒ख़౓
  16. • άϧʔϓͷϝϯόʔʹԿ͔͠Βͷ։ൃΛΞαΠϯ • ੬ऑੑݕࠪͷਐ௙؅ཧγεςϜʮ.0,6#"ʯ • ύονϚωδϝϯτγεςϜʮ3"''-&4*"ʯ • ϓϥοτϑΥʔϜ੬ऑੑݕࠪγεςϜ • ࣗ෼ͨͪͰ։ൃΛߦ͏͜ͱͰಘΒΕΔ஌ݟ͕͋Δ

    • ηΩϡϦςΟࢪࡦΛυοάϑʔσΟϯά • ٕज़બఆͷ৹ඒ؟ʢӡ༻ऀͷࢹ఺ͳͲʣ • ։ൃϓϩηεʹ߹ͬͨηΩϡϦςΟࢪࡦΛఏҊ ؇΍͔ͳγϑτ͸͢Ͱʹ࢝·͍ͬͯΔ
  17. • )BDL&WFSZUIJOH • ࢲୡ͕ӦΉ͜Ε·ͰͷηΩϡϦςΟࢪࡦΛ)BDL͠ • ߹ཧੑ͸ଛͳΘͳ͍··ʹ • ςΫχΧϧʹਖ਼͘͠ • ඒ͘͠εςΩʹ

    • ίεύྑ͘ • ࢖͍΍͘͢ • ԿΑΓࣗ෼͕ͨͪϫΫϫΫ͢Δ΋ͷʹຏ্͖͍͛ͯ͘ͱ͍͏͜ͱ γϑτ͸ڪΕΔͷͰ͸ͳָ͘͠Ή΋ͷ