b1iy
V2EX  ›  问与答

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

  •  
  •   b1iy · Jul 10, 2020 · 5590 views
    This topic created in 2307 days ago, the information mentioned may be changed or developed.

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

    望大佬们不吝赐教

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

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

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

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

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

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

    现在如果一个软件 xml 里面没有写支持系统的根证书,那 HTTPS 的广告就不能实现完美过滤,这对软件作者也是有好处的,所以如果不是客户有安装第三方证书的需求,就很少有软件有动力去添加这个,然后 Google 作为(墙外) Android 上最大的广告商就成功了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5001 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 51ms · UTC 09:09 · PVG 17:09 · LAX 01:09 · JFK 04:09
    ♥ Do have faith in what you're doing.