Hacker Tackle 2016で発表した資料
73 "3 .3 ͬͯͳΜ͚ͩͬ 6OJUZͰ࡞ͬͯΈͨๆܚࡾ!,[P/BH+PMMZTUJDT*OD'.$/
View Slide
͡Ίʹw 73ݩͱ͔ϙέϞϯ(0ͱ͔)PMP-FOTͱ͔ 73"3.3ʹؔ͢Δ͕ଟ͍ؾ͕͠·͢w ҧ͍ϙΠϯτΛཧͰ͖ͯ·ͤΜͰͨ͠w ษڧͭͭ͠ߟ͑ͨͦΕͧΕͷϙΠϯτɺ ͦͷதͰ࡞ͬͯΈͨͷʹ͍ͭͯհ͠·͢w ࠓ̍ൃɺ४උӡಈ͕ͯΒ͓ฉ͖͍ͩ͘͞
͘͡w ࣗݾհw 73ʹ͍ͭͯw "3ʹ͍ͭͯw .3ʹ͍ͭͯw 6OJUZͰσϞΛ࡞Δw ࠓޙͷظɾໝ
ࣗݾհ
ࣗݾհw ๆܚࡾ !,[P/BHw ܦྺ‣ େֶେཧˠγεςϜใ‣ ίϯγϡʔϚܥήʔϜձࣾΛܦͯ‣ ࠓ+PMMZTUJDTw ίϛϡχςΟ‣ 'VLVPLB.PUJPO$POUSPM/FUXPSL '.$/‣ 6OJUZ'VLVPLB
+PMMZTUJDTw εϚʔτϑΥϯΞϓϦw ΠϯλϥΫςΟϒίϯςϯπw 6OJUZw 9BNBSJOw $$w 3% 7JWFͱ͔ͰεήʔͬͯݴͬͯΔ
+PMMZTUJDTΠϯλϥΫςΟϒίϯςϯπϖλϯτେؙɺΞΫϩεͰలࣔ
'VLVPLB.PUJPO$POUSPM/FUXPSL'.$/ԬͰ,JOFDUΒ-FBQ.PUJPOΒηϯαʔσόΠεͳͲʹڵຯ͕͋Δਓ͕ू·ΔίϛϡχςΟIUUQGVTJDDPKQEPJOHT
'VLVPLB.PUJPO$POUSPM/FUXPSL'.$/+BQBO73ϋοΧιϯԬձIUUQTUIFUBDPNTL$HZFX6G-*8(IXREG:4
73ʹ͍ͭͯ
࠷ۙΑ͘ฉ͘73σόΠεw 0DVMVT3JGUw )5$7JWFw 1MBZ4UBUJPO73w (FBS73w (PPHMF$BSECPBSEw ϋίεί
ΰʔάϧΈ͍ͨͳͭɾɾɾʁ
ΫΠζ
ͳΜͱಡΉͰ͠ΐ͏ʁ
ʔͪΌΔ
737JSUVBM3FBMJUZw όʔνϟϧϦΞϦςΟw Ծݱ࣮ʁw 7JSUVBM l ݶఆత ্໊·ͨද໘্Ͱͳ͘ɼྗɾޮՌɾޮྗͷͰ্࣮࣭ͷɼࣄ্࣮ͷɼ࣮ࡍ ্ͷz HPPࣙॻΑΓ IUUQEJDUJPOBSZHPPOFKQFKNFBOJOHNV
–ୈ10ճຊόʔνϟϧϦΞϦςΟֶձه೦େձɹେձใࠂʰୈ10ճΛه೦͢Δ৽ࣈʮɹʢʔͪΌΔʣʯͷఏҊʱؘ℥ 2005http://files.tachilab.org/publications/review/tachi200512JVRSJ.pdfl࣮ͷΤοηϯεɺػೳͱͯͦ͠ͷͷͰ͋Δɻͱ͍͏ҙຯΛɺ৺ͱ࣮Λ߹ΘͤͨࣈʹΑͬͯදݱ͓ͯ͠Γ·͢ɻz
73ͷϙΠϯτʰ·ΔͰݱ࣮ʱͷߟ͑Δ
).%ʹΑΔ73w ࢹ֮ͱௌ֮ͷใ͔Βݱ࣮ͱࡨ֮͢Δw ͕᱐͞ΕΔw ͍৮ײΛײ͡Δ͜ͱɾɾɾ‣ ւͷ͍͕͢Δ‣ खʹ৮ΕΒΕͯΔؾ͕͢Δ
).%ͰΘΕ͍ͯΔٕज़w ྆؟ࢹࠩʹΑΔཱମࢹw ࢹ֯ΛಘΔͨΊʹੜ͡Δऩࠩͷิਖ਼w ֤छηϯαʔʹΑΔϔουτϥοΩϯά‣ ࢟ʢճసʣ‣ Ґஔw ֤छηϯαʔʹΑΔϋϯυτϥοΩϯάw %ΦʔσΟΦ
྆؟ࢹࠩʹΑΔཱମࢹw ࠨӈͷ؟ͷݟ͑ํͷҧ͍ʹΑͬͯԞߦ͖Λ֮ࠨ ӈ
྆؟ࢹࠩʹΑΔཱମࢹࠨ ӈw ࠨӈͷ؟ͷݟ͑ํͷҧ͍ʹΑͬͯԞߦ͖Λ֮
w ϨϯζΛͬͯࢹ֯Λ࣮ݱˠऩ͕ࠩൃੜࢹ֯ΛಘΔͨΊʹੜ͡Δऩࠩͷิਖ਼ۂऩࠩ ৭ऩࠩ
w ऩࠩΛٵऩ͢ΔΑ͏ʹϨϯμϦϯά͢Δࢹ֯ΛಘΔͨΊʹੜ͡Δऩࠩͷิਖ਼
ϔουτϥοΩϯάᶃ࢟ʢճసʣw टΛৼ্ͬͯԼࠨӈΛݟճ͢w ՃɺδϟΠϩͰ).%ͷ࢟ΛτϥοΩϯά
ϔουτϥοΩϯάᶄҐஔw ͠Ό͕Ήɺา͖·ΘΔw ֎ઢΧϝϥΛར༻ͯ͠ҐஔΛτϥοΩϯάw 0DVMVT1473ਖ਼໘ʹ̍ͭw 7JWF෦ͷର֯ʹ̎ͭʢϧʔϜεέʔϧʣ
ϋϯυτϥοΩϯάw खͷ࢟ɺҐஔΛτϥοΩϯάw ΈϔουτϥοΩϯάͱಉ͡
%ΦʔσΟΦw ࠨӈͷࣖͰͷฉ͑͜ํͷҧ͍ɺۭؒͰͷڹw ޙΖ͔ΒԻ͕໐͍ͬͯΔΑ͏ʹฉ͑͜ΔͳͲ
6OJUZͰͷ73ͷ࡞Γ͔ͨw 0DVMVT3JGU (FBS73ϏϧτΠϯw )5$7JWF4UFBN73ϓϥάΠϯw (PPHMF$BSECPBSE(PPHMF734%,
"3ʹ͍ͭͯ
"3"VHNFOUFE3FBMJUZw ΦʔάϝϯςουϦΞϦςΟw ֦ுݱ࣮w ݱ࣮ʹใΛॏͶΔ
ϙέϞϯ(0w Χϝϥө૾ʹϙέϞϯΛॏͶͯදࣔw σόΠεͷ࢟Λݕͯ͠දࣔҐஔΛௐ
*,&"ΧλϩάΞϓϦw ΧλϩάΛϚʔΧʔͱͯ͠ೝࣝw ϚʔΧʔΛݪͱͯ͠Ո۩ͷϞσϧΛදࣔw αΠζ࣮େw Ҡಈɾճసૢ࡞
ηΧΠΧϝϥw (14ɾίϯύεΛར༻w ςΩετը૾Λొɾڞ༗IUUQKQUFDIDSVODIDPNUIF@FOE@PG@TFLBJ
"3ͷϙΠϯτʰݱ࣮Λཧղ͢Δʱͷߟ͑Δ
ݱ࣮Λཧղ͢Δw ԿΛݟ͍ͯΔͷ͔ ˠϚʔΧʔw ͲͬͪΛݟ͍ͯΔͷ͔ ˠϚʔΧʔɺՃɺδϟΠϩɺίϯύεw Ͳ͜ʹ͍Δͷ͔ ˠ(14ݱ࣮Λཧղͯ͠దͳใΛॏͶΔ
6OJUZͰͷ"3ͷ࡞Γ͔ͨw ͱΓ͋͑ͣ7VGPSJBw ϚʔΧʔϕʔεͷ"3ϥΠϒϥϦw ཱମͷϚʔΧʔΛ͏͜ͱ
.3ʹ͍ͭͯ
.3.JYFE3FBMJUZw ϛοΫευϦΞϦςΟʔw ෳ߹ݱ࣮w )PMP-FOTͱ͔.BHJD-FBQͱ͔
)PMP-FOT
)PMP-FOTw ಁ໌ͷσΟεϓϨΠ͕͍ͭͨΰʔάϧܕσόΠεw 8JOEPXTࡌʢ୯ಠͰಈ࡞ʣw *.6ɺ3(#ΧϝϥɺσϓεΧϝϥɺڥೝࣝΧϝϥͳͲෳͷηϯαʔྨw ϗϩάϥϜΛݱ࣮ۭؒʹදࣔʢཱମࢹʣw ΟϯυԽ͞Εͨ681ΞϓϦέʔγϣϯw ۭؒશମΛ͏ΞϓϦέʔγϣϯ
8JOEPX)PMPHSBQIJDw )PMP-FOT͕ಈ࡞͢ΔϓϥοτϑΥʔϜw αʔυύʔςΟʹ։์w ଞࣾͷ"373σόΠεͰಈ࡞͢ΔΑ͏ʹw )5$7JWFରԠʁ IUUQTXXXZPVUVCFDPNXBUDI W.R(S'+B0.w *OUFM1SPKFDU"MMPZ
4QBUJBM.BQQJOHw ෳͷηϯαʔͷใΛͱʹۭؒΛೝࣝw 1MBDFNFOUนʹஔ͢Δw 0DDMVTJPOςʔϒϧͰΩϟϥΫλʔ͕ӅΕΔw 1IZTJDTϘʔϧ͕ςʔϒϧͰͶฦΔw /BWJHBUJPOচͷ෦͚ͩา͔ͤΔ
*OQVUw (B[F ࢹઢw (FTUVSF δΣενϟʔ‣ "JS5BQ 1SFTT3FMFBTF‣ #MPPN‣ )PME‣ .BOJQVMBUJPO‣ /BWJHBUJPOw 7PJDF ԻίϚϯυ
"3ͱͲ͏ҧ͏ʁ
"3 .3 73"VHNFOUTUIFSFBMXPSMEXJUIIFMQGVMJOGPSNBUJPŐ ̋#MFOETIPMPHSBNTXJUIZPVSSFBMXPSME̋$BOUSBOTQPSUZPVUPBWJSUVBMXPSME̋ ̋3FQMBDFTUIFSFBMXPSME ̋IUUQTXXXNJDSPTPGUDPNNJDSPTPGUIPMPMFOTFOVTXIZIPMPMFOT)PMP-FOTެࣜΑΓ
l.JYFESFBMJUZ .3 TPNFUJNFTSFGFSSFEUPBTIZCSJESFBMJUZ JTUIFNFSHJOHPGSFBMBOEWJSUVBMXPSMETUPQSPEVDFOFXFOWJSPONFOUTBOEWJTVBMJ[BUJPOTXIFSFQIZTJDBMBOEEJHJUBMPCKFDUTDPFYJTUBOEJOUFSBDUJOSFBMUJNF.JYFESFBMJUZUBLFTQMBDFOPUPOMZJOUIFQIZTJDBMXPSMEPSUIFWJSUVBMXPSME CVUJTBNJYPGSFBMJUZBOEWJSUVBMSFBMJUZ FODPNQBTTJOHCPUIBVHNFOUFESFBMJUZBOEBVHNFOUFEWJSUVBMJUZzӳޠ൛8JLJQFEJBΑΓIUUQTFOXJLJQFEJBPSHXJLJ.JYFE@SFBMJUZ
IUUQTFOXJLJQFEJBPSHXJLJ.JYFE@SFBMJUZӳޠ൛8JLJQFEJBΑΓ
"VHNFOUFE7JSUVBMJUZ
"VHNFOUFE7JSUVBMJUZw ΦʔάϝϯςουόʔνϟϦςΟw όʔνϟϧͳੈքΛݱ࣮ͷใͰ֦ு͢Δ
.3ͷϙΠϯτʮ"3˱"7ʯˍʮ73ͷݱ࣮ײʯͷߟ͑Δ
)PMP-FOTͰͰ͖Δ͜ͱw ཱମࢹw ϔουτϥοΩϯάw ϋϯυτϥοΩϯάw %ΦʔσΟΦw ۭؒೝࣝw ϚʔΧʔೝࣝʢ7VGPSJB͕͑Δʣ
6OJUZͰͷ.3ͷ࡞Γ͔ͨw )PMP-FOT։ൃ༻ͷ5FDIOJDBM1SFWJFX൛w ΤϛϡϨʔλʔ
6OJUZͰσϞΛ࡞Δ
IUUQTFOXJLJQFEJBPSHXJLJ.JYFE@SFBMJUZӳޠ൛8JLJQFEJBΑΓ͜ΕΛମݧͰ͖ΔσϞ
։ൃڥw 6OJUZGw 7VGPSJBw /FYVT "OESPJEw ϋίεί%9ˡΧϝϥΛར༻Ͱ͖Δͷ
࣮ͷΞΠσΞᶃݱ࣮ΛͱʹΦϒδΣΫτΛஔͯ͠%δΦϥϚΛ༻ҙ͢Δ
࣮ͷΞΠσΞᶄݱ࣮ͱ̏%δΦϥϚͱͷҐஔΛ߹ΘͤΔʢΧϝϥͷҐஔ߹Θͤʣ
࣮ͷΞΠσΞᶅ̏%ΦϒδΣΫτͷදࣔɾඇදࣔΛΓସ͑Δ͚ͩ͜͜ඇදࣔ
ΧϝϥͷҐஔ߹Θͤw 7VGPSJBΛར༻w ϚʔΧʔͷҐஔΛج४ʹΧϝϥͷҐஔ߹Θͤw ʢ"3Ͱදࣔ͢ΔϞσϧΛ෦શମʹͯ͠Δ͚ͩʣ
ΧϝϥͷҐஔ߹ΘͤҰൠతͳ"3ͰϚʔΧʔ্ʹϞσϧදࣔ
ΧϝϥͷҐஔ߹Θͤࠓճ෦શମͷϞσϧΛදࣔ
ΧϝϥͷҐஔ߹Θͤ*NBHF5BSHFUͷࢠʹ͢Δ͚ͩ
ΦϒδΣΫτΛඇදࣔʹ͢Δw ΦϒδΣΫτΛඇදࣔʹͯ͠ԞͷΧϝϥө૾Λද͍ࣔͨ͠w ୯७ʹΦϒδΣΫτΛඇΞΫςΟϒʹ͢Δ͚ͩͰ࣮ݱͰ͖ͳ͍w %FQUI.BTLͷγΣʔμʔΛར༻͠Α͏
ΦϒδΣΫτΛඇදࣔʹ͢Δ͜Ε
ΦϒδΣΫτΛඇදࣔʹ͢ΔΦϒδΣΫτΛඇΞΫςΟϒʹ͢Δͱ͜͏ͳΔ
ΦϒδΣΫτΛඇදࣔʹ͢Δ%FQUI.BTLͷγΣʔμʔΛద༻
%FQUI.BTL
දࣔɾඇදࣔͷΓସ͑w 3FBMˠ"3ˠ"7ˠ7JSUVBMͷදݱw ΦϒδΣΫτ͝ͱʹදࣔɾඇදࣔΛΓସ͍͑ͨ
.3-FWFMύϥϝʔλΛ࣮w ΦϒδΣΫτ͝ͱʹ.3-FWFMΛઃఆ 0CK-Ww ϓϨΠதͷ.3-FWFMΛอ࣋ $VS-Ww JG $VS-W0CK-Wˠදࣔ༻ϚςϦΞϧ FMTFˠ%FQUI.BTLϚςϦΞϧw ॳظ$VS-Wʢͯ͢ඇදࣔɾݱ࣮ͷΈʣw ϓϨΠϠʔͷೖྗͰ$VS-WΛมߋ
ϓϨΠϠʔͷೖྗw ).%ͩͱλονૢ࡞Ͱ͖ͳ͍w ࢹઢͰͷೖྗʢ73)PMP-FOTͰΘΕ͍ͯΔʣw .3-FWFMΛબ͢ΔϘλϯΛஔ
ϓϨΠϠʔͷೖྗ
7VGPSJBͷ).%ରԠw ).%ͰݟΕΔΑ͏ʹ̎؟ରԠ͕ඞཁw ҎલࣗલͰ͍Ζ͍ΖରԠ͕ඞཁͩͬͨw 7VGPSJB ͔Β؆୯ʹͳͬͨw %JHJUBM&ZFXFBS#FIBWJPVS
7VGPSJBͷ).%ରԠ
7VGPSJBͷ).%ରԠ&ZFXFBS5ZQFΛ7JEFP4FF5ISPVHIʹ
%JHJUBM&ZFXFBS#FIBWJPVSw &ZFXFBS5ZQF‣ /POF‣ 0QUJDBM4FF5ISPVHI‣ 7JEFP4FF5ISPVHIw 4UFSFP$BNFSB$POpH‣ 7VGPSJB‣ $BSE#PBSE‣ (FBS73w 7JFXFS5ZQF‣ $BSECPBSEWͳͲʢϨϯζؒͷڑλονλΠϓͳͲΛࢦఆ͢ΔͨΊʣ
σϞಈըʢશը໘ʣIUUQTXXXZPVUVCFDPNXBUDI WBU$F3[K3
σϞಈըʢ̎؟ʣIUUQTXXXZPVUVCFDPNXBUDI W"UH/R"0L
ࠓޙͷظɾໝ
ᶃ͜Ε͔Βग़Δ).%
ᶃ͜Ε͔Βग़Δ).%IUUQTOFXTSPPNJOUFMDPNQSFTTLJUTQSPKFDUBMMPZQSPKFDUBMMPZ IUUQXXXTVMPODPNTFDUPOF*OUFM1SPKFDU"MMPZ".%4VMPO2
ᶃ͜Ε͔Βग़Δ).%w ϏσΦγʔεϧʔܕ73"3༻).%w ୯ମͰಈ࡞ʢ1$ɺεϚϗෆཁʣw "MMPZ3FBM4FOTFΧϝϥY w 4VMPO2ΧϝϥY લ̎ଆ໘̎w Χϝϥө૾ͷཱମࢹͰ͖Δͣw τϥοΩϯάɺۭؒೝࣝɺδΣενϟʔೝࣝw .FSHFE3FBMJUZ "MMPZ
ᶄ"*
l·ΔͰݱ࣮zͳৼΔ͍ɾԠw ΩϟϥΫλʔͷࢥߟw Իೝࣝɾࣗવݴޠॲཧ
ݱ࣮Λཧղ͢ΔͨΊͷ"*w 'BDFCPPL͕"*Λར༻ͨ͠ը૾ೝٕࣝज़Λެ։‣ %FFQ.BTL4IBSQ.BTL.VMUJ1BUI/FU‣ ΦϒδΣΫτͷநग़ɾೝࣝw "3.3ͰϦΞϧλΠϜͳମೝࣝʹར༻Ͱ͖ͦ͏
ᶅ*P5
lͷz͔ΒใΛΒ͏w ͍ΖΜͳlͷz͕Πϯλʔωοτʹͭͳ͕Δw lͷz͔ΒใΛൃ৴͢Δw ʮݱ࣮Λཧղ͢ΔʯͨΊʹlͷzͷใΛར༻͢Δw ྫʣԹܭ͔ΒใΛΒͬͯώʔτϚοϓw ྫʣࢹΧϝϥͷใ͔Βۭؒೝࣝ
όʔνϟϧˠݱ࣮ͷΠϯλϥΫγϣϯw ݱ࣮ˠόʔνϟϧͷΠϯλϥΫγϣϯͰ͖ͯΔw )PMP-FOTͰݱ࣮ͷςʔϒϧͰϘʔϧ͕ͶͨΓ ϋϯυτϥοΩϯάͰόʔνϟϧΛಈ͔ͨ͠Γw ٯʹɺόʔνϟϧ͔Βݱ࣮ΛมԽ͍ͤͨ͞w ྫʣΩϟϥΫλʔ͕ݱ࣮ͷͷΛ্࣋ͪ͛Δͱ͔
͋Γ͕ͱ͏͍͟͝·ͨ͠ʢ࠙ձ·ͰࢀՃ͠·͢ʂʣ