iOSアプリからVPN接続の検出をする

 iOSアプリからVPN接続の検出をする

3e66b3ccfa617b78c59d9dec865aa29f?s=128

noppefoxwolf

May 23, 2018
Tweet

Transcript

  1. App Protection potatotips #51 1 — ! @noppefoxwolf, 2018

  2. noppe @noppefoxwolf iOSΞϓϦσϕϩούʔ ! ͕޷͖Ͱ͢ʂ potatotipsॳࢀઓͰ͢ʂ 2 — ! @noppefoxwolf,

    2018
  3. 3 — ! @noppefoxwolf, 2018

  4. 4 — ! @noppefoxwolf, 2018

  5. Charles for iOS͕ൃച͞Ε·ͨ͠Ͷʂ → Charles͸iOS͔Βͷ HTTP ͱ HTTPS ͷτϥϑΟο ΫΛΩϟϓνϟͰ͖ΔΞϓϦ

    → ௨৴ܥͷσόοάʹͱͯ΋ศརͰ͢ΑͶʂ 5 — ! @noppefoxwolf, 2018
  6. ࣗ෼ͷΞϓϦͷ௨৴Λݟ͍ͯͨΒ… 6 — ! @noppefoxwolf, 2018

  7. ࣗ෼ͷΞϓϦͷ௨৴Λݟ͍ͯͨΒ… ۮવCharlesΛ͚ͭͬͺͳ͠ͰTwitterͷΞϓϦΛ։͍ ͯ͠·ͬͨɻ 7 — ! @noppefoxwolf, 2018

  8. λΠϜϥΠϯͷߋ৽͕ग़དྷ·ͤΜͰͨ͠ɻ 8 — ! @noppefoxwolf, 2018

  9. ࠓճ͸͜ͷಈ࡞Λ࣮૷͠·ͨ͠ɻ 9 — ! @noppefoxwolf, 2018

  10. Charlesͷ࣮૷ ·ͣCharlesͷ࣮૷Λ֬ೝ͠·͢ɻ try! Swift Tokyo 2018 - Introducing Charles for

    iOS1 1 https://www.youtube.com/watch?v=RWotEyTeJhc 10 — ! @noppefoxwolf, 2018
  11. Charlesͷ࣮૷ NetworkExtensionΛ࢖ͬͯɺVPN2ίωΫγϣϯΛ ష͍ͬͯΔɻ iOSͷVPNͷৗ࣌઀ଓػೳΛ࢖͑͹ΞϓϦ͔Β͢΂ͯ ͷIPτϥϑΟοΫ͕τϯωϦϯάग़དྷΔɻ3 3 https://developer.apple.com/documentation/networkextension 2 Virtual private

    network Ծ૝ϓϥΠϕʔτωοτϫʔΫ 11 — ! @noppefoxwolf, 2018
  12. ΞϓϦ͔ΒVPN͕షΒΕ͍ͯΔ͔νΣοΫग़དྷΕ͹OKͦ͏ 12 — ! @noppefoxwolf, 2018

  13. VPNݕग़ CFNetworking.frameworkΛ࢖͏͜ͱͰɺݕग़Ͱ͖Δɻ CFNetworkCopySystemProxySettings() ↑ͰγεςϜͷΠϯλʔωοτϓϩΩγઃఆΛऔಘग़ དྷ·͢ɻ 13 — ! @noppefoxwolf, 2018

  14. Swift.Unmanaged<__ObjC.CFDictionary>(_value: { "__SCOPED__" = { utun4 = { HTTPSPort =

    8080; HTTPSProxy = "10.78.2.43"; }; }; }) __SCOPED__ʹϓϩΩγઃఆ͕ೖ͍ͬͯΔ tunؚ͕·ΕΔઃఆ͸τϯωϧͳͷͰ஄͍ͯྑ͍…ʁ 14 — ! @noppefoxwolf, 2018
  15. VPNDetector https://github.com/noppefoxwolf/VPNDetector 15 — ! @noppefoxwolf, 2018

  16. ! Ҏ্Ͱ͢ʂ ͋Γ͕ͱ͏͍͟͝·ͨ͠ 16 — ! @noppefoxwolf, 2018