V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
b1iy
V2EX  ›  问与答

为何开放的 Android 不支持 MIMT,反而封闭的 iOS 支持呢?

  •  
  •   b1iy · 2020-07-10 11:17:29 +08:00 · 3060 次点击
    这是一个创建于 1357 天前的主题,其中的信息可能已经有所发展或是发生改变。

    iOS 上,Surge 、QuanX 等借助 Man-in-the-middle attack(MITM) ,实现了一系列的骚操作。 反观 Android,却在 7.0 时推出了网络安全配置,基本是封堵了 Surge 一类的 App 。

    望大佬们不吝赐教

    参考: https://developer.android.com/training/articles/security-config

    22 条回复    2020-07-11 03:12:50 +08:00
    wellsc
        1
    wellsc  
       2020-07-10 11:18:48 +08:00
    这个开放不开放没关系,和技术选型有关系
    woodensail
        2
    woodensail  
       2020-07-10 11:19:56 +08:00
    所以安卓机做测试的时候就抓不了包。简直是智障一般的操作。
    celadevra
        3
    celadevra  
       2020-07-10 11:39:26 +08:00   ❤️ 13
    不考虑开发者和企业内部用 configurator 和自制证书装应用,iOS 只有 App Store 一条分发途径,恶意应用一被发现,换一套身份的成本高到可以阻止大部分有这个想法的人。有这个前提,不堵死开发者的路,不会影响系统的安全,说不定还能给自己的系统开发带来一些新的想法。

    Android 只要用户手指一抖给权限,随便一个 2048 小游戏都可以安装 apk 包。所以它选择了在系统层面以最坏的恶意想象尽可能多可能的攻击场景并且把它们堵住。

    也算是两家对开放 /安全这对矛盾的理解和实现的思路不同,不同的平台环境造就了不同的管理策略。

    为什么某一段时期英美银行可以只用 HTTPS 登录,国内银行就得什么安全证书什么 U 盾全装上,也是网络环境不同。HTTPS 简单优雅,经不住刚几个月网龄的用户为了看个擦边球就随手装根证书,更防不了 ISP 层面的劫持。也不能就说国内银行心态封闭或者技术力不行。
    warcraft1236
        4
    warcraft1236  
       2020-07-10 14:02:37 +08:00   ❤️ 1
    安卓可以,只不过是把控制权交给了 APP,你抓不了包应该找你的开发让他去添加设置,而不是说安卓垃圾
    Blanke
        5
    Blanke  
       2020-07-10 14:14:25 +08:00   ❤️ 3
    楼上说安卓机器抓不了包的,是在搞笑吗
    yukiww233
        6
    yukiww233  
       2020-07-10 14:21:13 +08:00
    mitm 的工具比较少,感觉是收益问题吧,开发成本不算低,目前生态下较难获得稳定的购买和订阅收入
    另外 说抓不了包的是什么鬼
    lshero
        7
    lshero  
       2020-07-10 14:21:47 +08:00
    @woodensail 自己的 APP 配置一下 network_security_config,别人的 APP root 一下手机挪动一下证书就好了
    woodensail
        8
    woodensail  
       2020-07-10 14:44:11 +08:00
    顺便一提
    @lshero 我是做网页的,没机会配置微信。而且测试的手机也不会同意给我 root 。
    woodensail
        9
    woodensail  
       2020-07-10 14:45:13 +08:00
    @warcraft1236 我没发要求第三方软件开发者为我开放证书。
    woodensail
        10
    woodensail  
       2020-07-10 14:47:40 +08:00
    其实问题也不大就是了,一般需要抓包的都不是兼容性问题。所以后来就要求测试只测 ios 。安卓只做兼容性回归即可。
    幸好 ios 能抓包。
    warcraft1236
        11
    warcraft1236  
       2020-07-10 15:01:45 +08:00
    @woodensail 没毛病,随随便便抓包第三方程序本来就不是合理需求。不能随随便便抓包才是正常的,这个事我站安卓
    lshero
        12
    lshero  
       2020-07-10 15:13:15 +08:00
    @woodensail 那直接用微信的那个调试工具看网页的请求不是更方便吗?
    woodensail
        13
    woodensail  
       2020-07-10 15:16:59 +08:00
    @warcraft1236 也是,所以 root 才是安卓测试机的正确使用方式
    woodensail
        14
    woodensail  
       2020-07-10 15:17:15 +08:00
    @lshero 哪个?
    woodensail
        16
    woodensail  
       2020-07-10 16:59:11 +08:00
    @lshero 这个是基于 weinre 的,我之前就一直在用 weinre,在大部分情况下能解决问题,但是不是所有请求都抓得到,毕竟这是通过页面内部 js 进行抓包的。
    charlie21
        17
    charlie21  
       2020-07-10 18:06:18 +08:00
    说好的技术改变世界呢.gif
    dingwen07
        18
    dingwen07  
       2020-07-10 18:47:19 +08:00 via Android
    如果可以 那国内某些 app 可能就会引导用户去安装自己的根证书 幸亏安卓根证书和 VPN 提示不像 iOS NE 那样能隐藏
    akira
        19
    akira  
       2020-07-10 19:20:36 +08:00
    Man-in-the-middle attack 对用户是好是坏
    VYSE
        20
    VYSE  
       2020-07-10 19:56:03 +08:00
    Android 上 Http Catcher 不就是改包的...
    只不过 iOS 生态还是大量 Trust 系统 CA 库, Android 生态早就各种内嵌 CA 了或用 network_security_config 禁用用户自添加 CA 了
    hpx9797
        21
    hpx9797  
       2020-07-10 19:56:41 +08:00 via iPhone
    ios 好像一直没找到 tcp 抓包软件 安卓上 tcp 能抓 安卓过滤软件广告方便一点
    billccn
        22
    billccn  
       2020-07-11 03:12:50 +08:00   ❤️ 1
    这个你不能从开发者角度去理解,你要从 Android 的拥有者 Google 这个世界上最大的广告公司的角度去考虑。

    之前有很多 Android 去广告软件利用 VPN 和系统证书接口把广告屏蔽的很完美,你觉得 Google 能忍吗?

    现在如果一个软件 xml 里面没有写支持系统的根证书,那 HTTPS 的广告就不能实现完美过滤,这对软件作者也是有好处的,所以如果不是客户有安装第三方证书的需求,就很少有软件有动力去添加这个,然后 Google 作为(墙外) Android 上最大的广告商就成功了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3045 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 12:48 · PVG 20:48 · LAX 05:48 · JFK 08:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.