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

iOSDC2018-MicroMDM.pdf

Atsuya Sato
August 28, 2018
5.5k

 iOSDC2018-MicroMDM.pdf

Atsuya Sato

August 28, 2018
Tweet

More Decks by Atsuya Sato

Transcript

  1. Φʔϓϯιʔε.%.ͷ.JDSP.%.Λ༻͍ͯ
    ݸਓͰσόΠε؅ཧΛ΍ͬͯΈΔ
    J04%$+BQBO
    !OBUNBSL "UTVZB4BUP

    View Slide

  2. ࣗݾ঺հ
    ࠤ౻ರ໵ "UTVZB4BUP

    ެཱ͸ͩͯ͜ະདྷେֶ೥
    [email protected]
    (JU)VC!OBUNBSL

    View Slide

  3. ProcessingίʔυΛiOS্Ͱ
    ར༻Մೳʹ͢ΔϥΠϒϥϦ
    Xcode File TemplateΛ؅ཧ
    Ͱ͖ΔCLIπʔϧ
    natmark/ProcessingKit natmark/Donut

    View Slide

  4. ΞδΣϯμ
    .%.ʹ͍ͭͯ
    .JDSP.%.ʹ͍ͭͯ
    .JDSP.%.Λαʔό্ʹߏங͢Δ
    "1*ܦ༝Ͱ.%.ίϚϯυΛୟ͍ͯΈΔ

    View Slide

  5. ηογϣϯͷΰʔϧ
    .%.ͷ࢓૊Έʹ͍ͭͯཧղͰ͖Δ
    .JDSP.%.Λࣗ਎ͷ؀ڥͰཱͯΔ͜ͱ͕Ͱ͖Δ
    ୺຤ʹରͯ͠.%.ίϚϯυΛൃߦͰ͖Δ
    .%.ίϚϯυܦ༝Ͱɼ୺຤৘ใΛऔಘ͢Δ͜ͱ͕Ͱ͖Δ

    View Slide

  6. .%.ʹ͍ͭͯ

    View Slide

  7. .%.ͰԿ͕Ͱ͖Δͷ͔
    ฆࣦɾ౪೉࣌ͷ
    ৘ใ࿙Ӯରࡦ
    ΞϓϦέʔγϣϯ
    ίϯςϯπ؅ཧ
    ୺຤৘ใͷऩू
    ϙϦγʔͷదԠ
    ϦϞʔτϩοΫ
    ϫΠϓ ޻৔ग़ՙ࣌ʹ໭͢

    ʜ౳
    ΞϓϦέʔγϣϯͷ഑෍
    ΞϓϦέʔγϣϯͷ࡟আ
    ʜ౳
    04όʔδϣϯͷऔಘ
    όοςϦʔঢ়ଶͷऔಘ
    04Ξοϓσʔτ
    ʜ౳
    ৄ͘͠஌Γ͍ͨํ͸ɼ"QQMFͷ.%.1SPUPDPM%PDVNFOUΛࢀর
    .PCJMF%FWJDF.BOBHFNFOU .%.
    1SPUPDPM"QQMF%FWFMPQFS

    View Slide

  8. .%.ʹ͓͚ΔσόΠε؅ཧͷϞʔυ
    .%.؅ཧԼͰ͋Ε͹ɼσόΠεʹରͯ͠ԿͰ΋ૢ࡞Ͱ͖Δ༁
    Ͱ͸ͳ͍
    ؂ࢹͳ͠ʔ/PO4VQFSWJTFE.PEF
    ΞϓϦέʔγϣϯͷ഑෍ μΠΞϩά༗Γ
    ɼσόΠεϩοΫͳͲ
    ؂ࢹϞʔυʔ4VQFSWJTFE.PEF
    ΞϓϦέʔγϣϯͷαΠϨϯτΠϯετʔϧɼ04ΞοϓσʔτͳͲ
    ฆࣦϞʔυʔ-PTU.PEF
    Ґஔ৘ใͷڧ੍औಘ
    ৄ͘͠͸.PCJMF%FWJDF.BOBHFNFOU .%.
    1SPUPDPM"QQMF%FWFMPQFS

    View Slide

  9. J04ʹ͓͚Δ.%.ͷ࢓૊Έ ֓ཁ

    .%.4FSWFS
    "1/T %FWJDF
    "1/T3FRVFTU
    1VTI/PUJpDBUJPO
    $BMMCBDL
    .%.$PNNBOE
    3FTQPOTF
    "1/T "QQMF1VTI/PUJpDBUJPO4FSWJDF

    View Slide

  10. J04ʹ͓͚Δ.%.ͷ࢓૊Έ ֓ཁ

    .%.αʔό͔Β"1/Tʹɼର৅σόΠεͷ
    66*%ɼαʔόΞυϨεͳͲΛૹΔ
    1VTIཁٻ
    .%.αʔό "1/T
    σόΠε

    View Slide

  11. J04ʹ͓͚Δ.%.ͷ࢓૊Έ ֓ཁ

    1VTIཁٻΛड͚औͬͨ"1/T͸ɼσόΠεʹର
    ͯ͠1VTI௨஌Λૹ৴͢Δ
    1VTI௨஌
    .%.αʔό "1/T
    σόΠε

    View Slide

  12. J04ʹ͓͚Δ.%.ͷ࢓૊Έ ֓ཁ

    1VTI௨஌Λड͚औͬͨσόΠε͸ɼ1VTI௨஌ͷϖΠϩʔυʹ
    ؚ·ΕΔ.%.αʔόͷΞυϨεʹ)551ϦΫΤετΛૹ৴͢Δ
    $BMMCBDL
    .%.αʔό "1/T
    σόΠε

    View Slide

  13. J04ʹ͓͚Δ.%.ͷ࢓૊Έ ֓ཁ

    σόΠε͔ΒͷίʔϧόοΫΛड͚औͬͨ.%.
    αʔό͸ɼ.%.ίϚϯυΛσόΠεʹૹ৴͢Δ
    .%.ίϚϯυ
    .%.αʔό "1/T
    σόΠε

    View Slide

  14. J04ʹ͓͚Δ.%.ͷ࢓૊Έ ֓ཁ

    σόΠε͸.%.ίϚϯυΛड͚෇͚ͨ݁ՌΛαʔ
    όʹฦ৴͢Δ
    Ϩεϙϯε
    .%.αʔό "1/T
    σόΠε

    View Slide

  15. J04͸.%.Λ࣮ݱ͢ΔͨΊʹɺNENE NEN
    EBFNPO
    ͕಺෦Ͱಈ࡞͓ͯ͠Γɺ͜ΕʹΑͬͯ.%.ί
    Ϛϯυ͕࣮ߦͰ͖Δ
    J04ʹ͓͚Δ.%.ͷ࢓૊Έ ֓ཁ

    Aug 28 17:31:30 testing mdmd(libdyld.dylib)[376] : mdmd starting...
    Aug 28 17:31:30 testing mdmd[376] : Starting power assertion: Start
    MCMDMServer
    ɾɾɾ
    Aug 28 17:31:31 testing mdmd[376] : Valid MDM configuration found.
    ɾɾɾ
    Aug 28 17:31:31 testing mdmd[376] : Polling MDM server https://iosdc-
    micromdm.tk/mdm/connect for next command.
    Aug 28 18:09:40 testing mdmd(CFNetwork)[429] : TIC Enabling TLS
    [1:0x100e47f70]
    Aug 28 18:09:40 testing mdmd(CFNetwork)[429] : TIC TCP Conn Start
    [1:0x100e47f70]
    ɾɾɾ

    View Slide

  16. J04ʹ͓͚Δ.%.ͷ࢓૊Έ ֓ཁ

    Aug 28 18:09:42 testing mdmd(libdispatch.dylib)[429] : Transaction completed. Status: 200
    ɾɾɾ
    Aug 28 17:31:31 testing mdmd[376] : Attempting to perform Supervised request: DeviceLock
    ɾɾɾ
    Aug 28 17:31:32 testing mdmd[376] : Command Status: Acknowledged
    ɾɾɾ
    Aug 28 17:31:32 testing mdmd[376] : Polling MDM server https://iosdc-micromdm.tk/mdm/
    connect for next command.
    ɾɾɾ
    Aug 28 17:31:33 testing mdmd(libdispatch.dylib)[376] : Server has no commands for this
    device.
    Aug 28 18:09:45 testing mdmd(libdyld.dylib)[429] : mdmd preparing to stop.

    View Slide

  17. .JDSP.%.ʹ͍ͭͯ

    View Slide

  18. .JDSP.%.ʹ͍ͭͯ
    IUUQTNJDSPNENJP

    View Slide

  19. .JDSP.%.ʹ͍ͭͯ
    .JDSP.%.
    Φʔϓϯιʔεͷ.%.αʔό
    (PMBOH੡
    .%.ίϚϯυίʔϧ༻ͷ"1*͕༻ҙ͞Ε͓ͯΓɼ"1*ܦ
    ༝Ͱ.%.ίϚϯυͷ࣮ߦ͕Մೳ
    (JU)VCNJDSPNENNJDSPNEN

    View Slide

  20. .JDSP.%.Λར༻͢Δ
    XHFUIUUQTHJUIVCDPNNJDSPNENNJDSPNENSFMFBTFT
    [email protected][JQ
    VO[[email protected][JQ
    USFF

    ᵓᴷᴷCVJME
    ᴹᵓᴷᴷEBSXJO
    ᴹᴹᵓᴷᴷNENDUM
    ᴹᴹᵋᴷᴷNJDSPNEN
    ᴹᵋᴷᴷMJOVY
    ᴹᵓᴷᴷNENDUM
    ᴹᵋᴷᴷNJDSPNEN
    ᵋᴷᴷ[email protected][JQ

    View Slide

  21. .JDSP.%.Λར༻͢Δ
    NENDUM
    .JDSP.%.αʔό΁ͷূ໌ॻΞοϓϩʔυ΍σόΠε
    ৘ใऔಘΛߦ͏ͨΊͷ΋ͷ
    NJDSPNEN
    .JDSP.%.αʔόΛىಈ͢ΔͨΊͷ΋ͷ

    View Slide

  22. .JDSP.%.Λར༻͢ΔͨΊʹ
    %FQFOEFODJFT
    .%.༻"1/T1VTIূ໌ॻ
    αʔό63-υϝΠϯ
    44-5-4ূ໌ॻ ಺෦Ͱ-FU`T&ODSZQUΛ༻͍ͯࣗಈੜ੒
    0QUJPOBM
    %&1BDDPVOU
    %&1%FWJDF&OSPMMNFOU1SPHSBNॳظઃఆ࣌ʹ.%.ͷొ࿥΍σόΠεͷ؂ࢹ͕ࣗಈԽ͞Εɼ
    ؅ཧऀ͕σόΠεʹ৮Εͣʹߏ੒Ͱ͖ΔΑ͏ʹͳΓॳظઃఆͷखॱ͕؆ૉԽͰ͖Δ΋ͷ

    View Slide

  23. .%.༻"1/T1VTIূ໌ॻ
    .%.ίϚϯυͷൃ෍ʹ"1/TΛհͨ͢Ί.%.༻ͷ
    "1/T1VTIূ໌ॻΛऔಘ͢Δඞཁ͕͋Δ
    1VTIཁٻ
    $BMMCBDL 1VTI௨஌
    .%.αʔό "1/T
    σόΠε

    View Slide

  24. .%.༻"1/T1VTIূ໌ॻ
    .%.༻"1/T1VTIূ໌ॻͷऔಘʹ͸
    .%.7FOEPS$FSUJpDBUF .%.$43
    $FSUJpDBUF
    ͕ඞཁ
    ͜ΕΛऔಘ͢ΔͨΊʹ͸ɼ"QQMF&OUFSQSJTF
    %FWFMPQFS"DDPVOUʔ64ZFBS͕ඞཁ

    View Slide

  25. .%.Λࢼͨ͢Ίʹɼ·ͣखݩʹ༻ҙ
    ͢Δඞཁ͕ɾɾɾ

    View Slide

  26. .%.Λࢼͨ͢Ίʹɼ·ͣखݩʹ༻ҙ
    ͢Δඞཁ͕ɾɾɾ
    ݸਓ։ൃऀʹ͸ݫ͍͠ʜ

    View Slide

  27. .%.$FSU
    ໰୊Λղܾͯ͘͠ΕΔιϦϡʔγϣϯ

    View Slide

  28. .%.$FSU
    IUUQTNENDFSUEPXOMPBE
    .D.VSUSJF$POTVMUJOH--$ͷఏڙͰӡӦ͞Ε͍ͯΔɼ
    ূ໌ॻൃߦ୅ཧαʔϏε
    Φʔϓϯιʔε.%.Λ࣮ߦɾ։ൃɾίϯτϦϏϡʔτͨ͠
    ͍͚Ͳɼ"QQMF%FWFMPQFS&OUFSQSJTF1SPHSBNʹՃ
    ೖͰ͖ͳ͍։ൃऀʹແྉͰ.%.$43ূ໌ॻΛൃߦͯ͘͠
    ΕΔ

    View Slide

  29. .%.$FSUͰূ໌ॻΛऔಘ͢Δ
    IUUQTNENDFSUEPXOMPBESFHJTUSBUJPO
    ্هʹΞΫηε͠ɼϑΥʔϜʹਃ੥ऀ৘ใΛೖྗ͢Δ

    View Slide

  30. .%.$FSUͰূ໌ॻΛऔಘ͢Δ
    ϑΥʔϜΛૹ৴͢Δͱɼొ࿥ͨ͠ϝʔϧΞυϨεѼʹϝʔ
    ϧ͕ಧ͘ͷͰɼ7FSJGZUIF<:063&."*-"%%3&44>
    ͷϦϯΫ͔ΒϝʔϧΞυϨεೝূ͢Δ

    View Slide

  31. .%.$FSUͰূ໌ॻΛऔಘ͢Δ
    NENDUM͔Β৽͍͠ॺ໊ࡁΈ$FSUJpDBUF3FRVFTUΛൃ
    ߦ͢Δ
    NENDUMNENDFSUEPXOMPBEOFXFNBJMBUTVZB!FYBNQMFDPN
    3FRVFTUTVDDFTTGVMMZTFOUUPNENDFSUEPXOMPBE:PVS$43TIPVMEOPXCFTJHOFE$IFDL
    ZPVSFNBJMGPSOFYUTUFQT5IFOVTFUIFEFDSZQUPQUJPOUPFYUSBDUUIF$43SFRVFTUXIJDIXJMM
    UIFOCFVQMPBEFEUP"QQMF

    View Slide

  32. .%.$FSUͰূ໌ॻΛऔಘ͢Δ
    ొ࿥ͨ͠ϝʔϧΞυϨεʹॺ໊ࡁΈͷ$FSUJpDBUF
    3FRVFTU͕ಧ͘

    View Slide

  33. .%.$FSUͰূ໌ॻΛऔಘ͢Δ
    NENDUMΛ༻͍ͯɼಧ͍ͨ4JHOFE3FRVFTUΛ෮߸͢Δ
    NENDUMNENDFSUEPXOMPBEEFDSZQU6TFSTBUTVZB%PXOMPBET
    [email protected]@[email protected]@QMJTUCQ
    4VDDFTTGVMMZBCMFUPEFDSZQUUIF.%.1VTI$FSUJpDBUFSFRVFTU1MFBTFVQMPBEUIFpMF
    NENDFSUEPXOMPBEQVTISFRUP"QQMFCZWJTJUJOHIUUQTJEFOUJUZBQQMFDPN0ODFZPVS
    1VTI$FSUJpDBUFJTTJHOFECZ"QQMFZPVDBOEPXOMPBEJUBOEJNQPSUJUJOUP.JDSP.%.
    VTJOHUIFANENDUMNENDFSUVQMPBEADPNNBOE
    EFDSZQUʹΑͬͯɼNENDFSUEPXOMPBEQVTIDTS͕औಘͰ͖Δ

    View Slide

  34. .%.$FSUͰূ໌ॻΛऔಘ͢Δ
    "QQMF1VTI$FSUJpDBUFT1PSUBMʹΞΫηε͠ɼ
    NENDFSUEPXOMPBEQVTIDTSΛΞοϓϩʔυ͢Δ
    .%.༻ͷ"1/T1VTIূ໌ॻ.%[email protected]$POTVMUJOH
    [email protected]$FSUJpDBUFQFN͕औಘͰ͖Δ

    View Slide

  35. .JDSP.%.Λαʔό্ʹߏங͢Δ

    View Slide

  36. .JDSP.%.Λαʔό্ʹߏங͢Δ
    ($&্ʹ.JDSP.%.Λߏங͢ΔͨΊɼԼͷΑ͏ͳ৚݅
    ͰΠϯελϯεΛཱͯ·͢
    ϚγϯλΠϓGNJDSP ڞ༗W$16Y
    ϝϞϦ(#
    046CVOUV-54
    σΟεΫ༰ྔ)%%(#
    ($1ͷແྉ࿮ͷൣғʹऩΊͯ·͢

    View Slide

  37. .JDSP.%.Λαʔό্ʹߏங͢Δ
    υϝΠϯʹؔͯ͠͸JPTEDNJDSPNENULͱ͍͏υϝ
    ΠϯΛ%PU5, XXXEPUUL
    Λ༻͍ͯແྉͰऔಘ͠·͠
    ͨ
    44-5-4ূ໌ॻʹؔͯ͠͸ɼ.JDSP.%.͕಺෦Ͱ-FU`T
    &ODSZQUΛ࢖༻ͯࣗ͠ಈతʹు͍ͯ͘ΕΔΑ͏ʹͳͬͯ·͢

    View Slide

  38. .JDSP.%.Λαʔό্ʹߏங͢Δ
    NJDSPNENNJDSPNENͷ2VJDLTUBSUʹԊͬͯαʔό
    Λىಈͤͯ͞ΈΔͱ
    TVEPNJDSPNENTFSWFTFSWFSVSMIUUQTJPTEDNJDSPNENULa
    BQJLFZ"1*@,&:pMFSFQPIPNF64&3NJDSPNEN
    MFWFMJOGPNTHTFSWJOH)5514VTJOH-FUT&ODSZQUDFSUJpDBUFTBEESIUUQTUT
    DBMMFSIUUQ5-4IBOETIBLFFSSPSGSPNNTHBDNFBVUPDFSU
    VOBCMFUPBVUIPSJ[FaJPTEDNJDSPNENULaUSJFEUT
    DBMMFSIUUQ5-4IBOETIBLFFSSPSGSPNNTHBDNFBVUPDFSU
    NJTTJOHDFSUJpDBUF
    ىಈͰ͖ͳ͍

    View Slide

  39. .JDSP.%.Λαʔό্ʹߏங͢Δ
    Ͳ͏΍Βɼ-FU`T&ODSZQUͷূ໌ॻ͕ੜ੒Ͱ͖ͣམͪͯ
    ͍Δʜʁ
    UTDBMMFSIUUQ5-4IBOETIBLFFSSPSGSPN
    NTHBDNFBVUPDFSUVOBCMFUPBVUIPSJ[FaJPTED
    NJDSPNENULaUSJFE

    View Slide

  40. NJDSPNEN͕-FU`T&ODSZQUΛ࢖͑ͳ͍໰୊
    υϝΠϯ໊ݕূํ๏ͱͯ͠-FU`T&ODSZQUͰ͸ݩʑ"$.&5-4
    4/* υϝΠϯॴ༗ͷ֬ೝํ๏ͷҰͭ
    Λར༻
    ଞਓͷυϝΠϯ໊Ͱαʔόূ໌ॻ͕औಘͰ͖ͯ͠·͏੬ऑੑ͕൑໌
    ͠ɼ-FU`T&ODSZQU͸UMTTOJɾUMTTOJͱ͍͏νϟϨϯδΛ
    ແޮԽ<>
    NJDSPNEN͕ґଘ͍ͯ͠ΔHPMBOHPSHYDSZQUPBVUPDFSUHP
    ͕5-44/*Λར༻͍ͯͨͨ͠Ίɼূ໌ॻ͕ు͖ग़͕ͤͣམ͍ͪͯͨ
    <>IUUQTMBCTEFUFDUJGZDPNIPXJFYQMPJUFEBDNFUMTTOJJTTVJOHMFUTFODSZQUTTM
    DFSUTGPSBOZEPNBJOVTJOHTIBSFEIPTUJOH

    View Slide

  41. .JDSP.%.Λαʔό্ʹߏங͢Δ
    IUUQTHJUIVCDPNNJDSPNENNJDSPNENJTTVFT

    View Slide

  42. .JDSP.%.Λαʔό্ʹߏங͢Δ
    ୅ΘΓʹUMTDFSUɼUMTLFZͱ͍͏ىಈ࣌Φϓγϣϯ
    Λ༻͍Ε͹ࣗ෼Ͱ༻ҙͨ͠44-5-4ূ໌Λ࢖ͬͯىಈͰ
    ͖Δͦ͏Ͱ͢

    View Slide

  43. .JDSP.%.Λαʔό্ʹߏங͢Δ
    ࣗ෼Ͱূ໌ॻΛ༻ҙ͢Δඞཁ͕͋ΔͷͰɼ$FSUCPUΛ༻
    ͍ͯ-FU`T&ODSZQUͷূ໌ॻΛखಈͰऔಘ͠·͢
    XHFUIUUQTEMF⒎PSHDFSUCPUBVUP
    DINPEBYDFSUCPUBVUP
    DFSUCPUBVUPDFSUPOMZTUBOEBMPOFEJPTEDNJDSPNENULa
    NBUTVZB!FYBNQMFDPNBHSFFUPTO
    $FSUCPUͰऔಘͨ͠ূ໌ॻҰࣜ͸FUDMFUTFODSZQUMJWFҎԼʹอଘ
    ͞Ε͍ͯ·͢

    View Slide

  44. .JDSP.%.Λαʔό্ʹߏங͢Δ
    վΊͯɼUMTDFSUɼUMTLFZͱ͍͏ΦϓγϣϯΛ෇༩͠
    ͯىಈͯ͠Έ·͢
    TVEPNJDSPNENTFSWFTFSWFSVSMIUUQTJPTEDNJDSPNENULa
    BQJLFZ"1*@,&:a
    pMFSFQPIPNF64&3NJDSPNENa
    UMTDFSUFUDMFUTFODSZQUMJWFJPTEDNJDSPNENULGVMMDIBJOQFNa
    UMTLFZFUDMFUTFODSZQUMJWFJPTEDNJDSPNENULQSJWLFZQFN

    View Slide

  45. .JDSP.%.Λαʔό্ʹߏங͢Δ
    αʔόΞυϨεʹΞΫηεͯ͠ɼʮ8FMDPNFUP
    .JDSP.%.ʯͷจࣈ͕ݟ͍͑ͯΕ͹੒ޭͰ͢

    View Slide

  46. NENDUM͔Β.JDSP.%.αʔόʹΞΫηε͢Δ
    ଓ͍ͯɼNENDUMΛ༻͍ͯ.JDSP.%.αʔόʹ.%.༻
    "1/T1VTIূ໌ॻΛΞοϓϩʔυ͠·͢
    NENDUMͷDPOpHʹαʔόΞυϨεɼNJDSPNENͷىಈ࣌Φϓγϣϯ
    Ͱઃఆͨ͠"1*ΩʔΛอଘ͠·͢
    NENDUMDPOpHTFUOBNFEFWFMPQa
    BQJUPLFO"1*@,&:a
    TFSWFSVSMIUUQTJPTEDNJDSPNENUL
    NENDUMDPOpHTXJUDIOBNFEFWFMPQ

    View Slide

  47. NENDUM͔Β.JDSP.%.αʔόʹΞΫηε͢Δ
    ଓ͍ͯɼNENDUMΛ༻͍ͯ.JDSP.%.αʔόʹ.%.༻
    "1/T1VTIূ໌ॻΛΞοϓϩʔυ͠·͢
    NENDUMNENDFSUVQMPBE
    DFSU.%[email protected][email protected]$FSUJpDBUFQFNza
    QSJWBUFLFZlNENDFSUEPXOMPBEQVTILFZ

    View Slide

  48. .JDSP.%.΁ͷσόΠεొ࿥
    ͜ΕͰ४උ͕੔ͬͨͷͰɼJ04୺຤ʹ.%.ϓϩϑΝΠϧ
    ΛΠϯετʔϧ͠·͢
    4BGBSJ͔ΒαʔόʹΞΫηεͯ͠ɼ
    &OSPMMBEFWJDFΛλοϓ͢Δ͜ͱͰɼ
    ϓϩϑΝΠϧͷΠϯετʔϧ͕Ͱ͖·͢

    View Slide

  49. .JDSP.%.΁ͷσόΠεͷొ࿥

    View Slide

  50. .JDSP.%.΁ͷσόΠεͷొ࿥
    NENDUMΛ༻͍ͯɼొ࿥ͨ͠σόΠεͷ৘ใΛऔಘͰ͖
    ·͢
    NENDUMHFUEFWJDFT
    6%*%4FSJBM/VNCFS&OSPMMNFOU4UBUVT-BTU4FFO
    FDFGGDEFDBGECCBEBE'-3:%''%3USVF
    65$

    View Slide

  51. "1*ܦ༝Ͱ.%.ίϚϯυΛୟ͍ͯΈΔ

    View Slide

  52. "1*ܦ༝Ͱ.%.ίϚϯυΛୟ͍ͯΈΔ
    ઌ΄Ͳऔಘͨ͠6%*%Λ࢖༻ͯ͠ɼσόΠεͷը໘Λϩο
    Ϋ͢ΔίϚϯυΛૹͬͯΈ·͢
    DVSMJ91045lIUUQTJPTEDNJDSPNENULWDPNNBOETla
    VNJDSPNEN"1*@,&:a
    Eb\
    [email protected]%FWJDF-PDL
    lVEJEzFDFGGDEFDBGECCBEBE
    ^

    View Slide

  53. "1*ܦ༝Ͱ.%.ίϚϯυΛୟ͍ͯΈΔ

    View Slide

  54. NENϨεϙϯεʹ͍ͭͯ

    View Slide

  55. NENϨεϙϯεʹ͍ͭͯ
    NJDSPNEN
    "1/T %FWJDF DMJFOU
    $BMM"1*
    "1/T3FRVFTU
    1VTI/PUJpDBUJPO
    $BMMCBDL
    .%.$PNNBOE
    3FTQPOTF
    8FCIPPL
    %FWJDF͔ΒͷϨεϙϯε
    ͸QMJTUܗࣜͰฦ٫͞ΕΔ
    .%.Ϩεϙϯε͸
    8FCIPPLΛ༻͍ͯ
    ड͚औΔ͜ͱ͕Ͱ͖Δ

    View Slide

  56. 8FCIPPLΛड͚औΕΔΑ͏ʹ͢Δ
    NJDSPNENαʔόىಈ࣌ʹDPNNBOEXFCIPPL
    VSMΦϓγϣϯΛ෇͚Δ͜ͱͰίʔϧόοΫઌͷΞυϨε
    ΛࢦఆͰ͖·͢
    TVEPNJDSPNENTFSWFTFSWFSVSMIUUQTJPTEDNJDSPNENULa
    BQJLFZ"1*@,&:a
    pMFSFQPIPNF64&3NJDSPNENa
    UMTDFSUFUDMFUTFODSZQUMJWFJPTEDNJDSENULGVMMDIBJOQFNa
    UMTLFZFUDMFUTFODSZQUMJWFJPTEDNJDSPNENULQSJWLFZQFNa
    DPNNBOEXFCIPPLVSM8)00,@63-

    View Slide

  57. 8FCIPPLΛड͚औΕΔΑ͏ʹ͢Δ
    {
    "topic": "mdm.Connect",
    "event_id": "3444be1d-bbf0-45dc-9da3-f707beeecf1b",
    "created_at": "2018-08-13T14:30:16.789541405Z",
    "acknowledge_event": {
    "udid": "A5EF1BA1-586D-4F29-B4F3-759DADAC2DDD",
    "status": "Acknowledged",
    "command_uuid": "41d35de3-a343-4146-ba4b-0069bae2a54f",
    "url_params": null,
    "raw_payload":
    "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8v
    QXBwbGUvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtM
    S4wLmR0ZCI+CjxwbGlzdCB2ZXJzaW9uPSIxLjAiPgo8ZGljdD4KCTxrZXk+Q29tbWFuZFVVSUQ8L2tleT4KCTxzdH
    Jpbmc+NDFkMzVkZTMtYTM0My00MTQ2LWJhNGItMDA2OWJhZTJhNTRmPC9zdHJpbmc+Cgk8a2V5PlN0YXR1czwva2V
    5PgoJPHN0cmluZz5BY2tub3dsZWRnZWQ8L3N0cmluZz4KCTxrZXk+VURJRDwva2V5PgoJPHN0cmluZz5BNUVGMUJB
    MS01ODZELTRGMjktQjRGMy03NTlEQURBQzJEREQ8L3N0cmluZz4KPC9kaWN0Pgo8L3BsaXN0Pgo="
    }
    }
    8FCIPPLͰड͚औΕΔϦΫΤετ͸্ͷΑ͏ͳܗʹͳ͓ͬͯΓɼ
    [email protected]@QBZMPBEʹ.%.ίϚϯυͷ݁Ռ QMJTUܗࣜ

    ͕#BTFΤϯίʔυ͞Εͨจࣈྻؚ͕·Ε͍ͯ·͢

    View Slide

  58. 8FCIPPLΛड͚औΕΔΑ͏ʹ͢Δ
    "raw_payload":
    "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8v
    QXBwbGUvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtM
    S4wLmR0ZCI+CjxwbGlzdCB2ZXJzaW9uPSIxLjAiPgo8ZGljdD4KCTxrZXk+Q29tbWFuZFVVSUQ8L2tleT4KCTxzdH
    Jpbmc+NDFkMzVkZTMtYTM0My00MTQ2LWJhNGItMDA2OWJhZTJhNTRmPC9zdHJpbmc+Cgk8a2V5PlN0YXR1czwva2V
    5PgoJPHN0cmluZz5BY2tub3dsZWRnZWQ8L3N0cmluZz4KCTxrZXk+VURJRDwva2V5PgoJPHN0cmluZz5BNUVGMUJB
    MS01ODZELTRGMjktQjRGMy03NTlEQURBQzJEREQ8L3N0cmluZz4KPC9kaWN0Pgo8L3BsaXN0Pgo="




    CommandUUID
    41d35de3-a343-4146-ba4b-0069bae2a54f
    Status
    Acknowledged
    UDID
    A5EF1BA1-586D-4F29-B4F3-759DADAC2DDD


    View Slide

  59. .%.ϨεϙϯεΛड͚औΔ
    ઌ΄Ͳऔಘͨ͠6%*%Λ࢖༻ͯ͠ɼ.PEFMͱ04όʔδϣ
    ϯΛऔಘ͢ΔίϚϯυΛൃߦͯ͠Έ·͢
    DVSMJ91045lIUUQTJPTEDNJDSPNENULWDPNNBOETla
    VNJDSPNEN"1*@,&:a
    Eb\
    [email protected]%FWJDF*OGPSNBUJPO
    lVEJEzFDFGGDEFDBGECCBEBE
    RVFSJFT<.PEFM l047FSTJPO>
    ^

    View Slide

  60. "1*ܦ༝Ͱ.%.ίϚϯυΛୟ͍ͯΈΔ




    CommandUUID
    2314e036-18e8-4854-9a9a-a21e8763ec28
    QueryResponses

    Model
    ME334J
    OSVersion
    11.3.1

    Status
    Acknowledged
    UDID
    e049c7ef3f354cde819caf2d2bbad73a490019d0


    σόΠε͔Β͸্ͷΑ͏ͳܗࣜͰ݁Ռ͕ฦ٫͞Ε͖ͯ·͢

    View Slide

  61. "1*ܦ༝Ͱ.%.ίϚϯυΛୟ͍ͯΈΔ
    {
    "CommandUUID": "2314e036-18e8-4854-9a9a-a21e8763ec28",
    "QueryResponses": {
    "Model": "ME334J",
    "OSVersion": "11.3.1"
    },
    "Status": "Acknowledged",
    "UDID": "e049c7ef3f354cde819caf2d2bbad73a490019d0"
    }
    +40/ܗࣜʹม׵ͨ͠΋ͷ
    2VFSZ3FTQPOTFTͷதʹ.PEFMɼ047FSTJPOؚ͕·Ε͍ͯΔͷ͕෼͔
    Δ

    View Slide

  62. ·ͱΊ
    σόΠε؅ཧΛߦ͏ͷʹ.%.͸ศར
    .JDSP.%.Λ࢖͏ͱɼݸਓͰ.%.αʔόཱ͕ͯΒΕΔ
    .%.$FSUΛ࢖͑͹ແྉͰ.%.༻"1/T1VTIূ໌ॻ
    ͕खʹೖΔ
    "1*ܦ༝ͰσόΠεΛૢ࡞ͨ͠ΓɼσόΠε৘ใΛऔಘͰ
    ͖Δ

    View Slide

  63. ิ଍
    (FUUJOH.JDSP.%.XPSLJOHBOEXPSLJOHXJUI.JDSP.%.
    !.BD"ENJOT$POGFSFODF
    IUUQTXXXZPVUVCFDPNXBUDI W8(,51Z)[*

    View Slide

  64. ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠

    View Slide