iOS 第三方键盘能不能利用 URL Scheme 绕过沙盒限制泄露数据? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ihciah
0.2D
0.03D
V2EX    信息安全

iOS 第三方键盘能不能利用 URL Scheme 绕过沙盒限制泄露数据?

  •  
  •   ihciah 2019-05-07 15:39:19 +08:00 3264 次点击
    这是一个创建于 2423 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天和同学聊起了 iOS 的第三方键盘沙盒,我一直以为,不开完全访问的话,应该没有什么信息泄露的渠道。

    官方的说法是:

    Capabilities and restrictions

    • Keyboard can perform all the normal duties expected of a basic keyboard
    • Access to a common words lexicon for autocorrect and text suggestion
    • Access to the text shortcuts list in Settings
    • No shared container with containing app
    • No access to file system apart from keyboard ’ s own container
    • No ability to participate directly or indirectly in iCloud, Game Center, or In-App Purchase

    Privacy considerations

    • Users know that keystrokes go only to the app that is using the keyboard

    但是留意了一下搜狗输入法,键盘里的一些按键是可以唤起 app 到指定的设置页面的,查了下 URL Scheme 好像的确可以拿来传参。

    所以,只要键盘唤起了 app,那么是不是就存在输入数据被泄露的可能性?那有没有什么办法可以把一段时间的 URL Scheme log 下来检查下呢?

    我没有做过 iOS 开发,概念理解上有什么问题还请大家指正!

    第 1 条附言    2019-05-07 16:38:54 +08:00
    虽然按照这个逻辑要唤起 App 才能完成泄露,但是这个行为完全是服务端可控的。所以如果这个可行,那么理论上讲 iOS 这个沙箱并不能给输入法一个很强的限制,是个有缺陷的设计。

    比如,在更新词库的时候获取服务端的某个开关或关键字列表并传递给键盘,那么完全可以做到在检测到用户输入指定关键字时自行唤醒 app 完成泄露,完成该过程后 app 可以自行退出造成闪退假象。

    在这里我想实验的目的有两个:
    1. 证明 iOS 键盘沙箱的缺陷。
    2. 尝试抓现行,如果的确存在这种利用还是要广而告之的。
    4 条回复    2019-05-08 01:44:59 +08:00
    laoyur
        1
    laoyur  
       2019-05-07 16:06:34 +08:00
    URL Scheme 传参来偷数据?有点搞笑哦。
    首先能携带多少信息?
    其次,调用这个是会打开搜狗 App 的,那么它就只能在用户主动通过 URL Scheme 唤醒 App 的时候偷数据,这也太费事了吧,能偷多少数据,多少人有通过键盘唤醒搜狗 App 的习惯?

    我没做过键盘相关的开发,但上面的限制里没提到联网权限,应该不会限制的(比如升级词库啥的),那么如果可以通过 URL Scheme 偷数据,为啥它不直接走网络去泄露?
    qq73666
        2
    qq73666  
       2019-05-07 16:09:59 +08:00
    这是正常的传参方式,苹果允许的
    ihciah
        3
    ihciah  
    OP
       2019-05-07 16:31:12 +08:00
    @laoyur
    1. iOS 的键盘沙箱设计了就是用来防止用户输入泄露的。在不开启完全访问的情况下是没有网络用的。https://developer.apple.com/library/archive/documentation/General/Conceptual/ExtensibilityPG/CustomKeyboard.html
    2. 关于长度好像没有一个明确的限制。https://stackoverflow.com/questions/11546582/custom-url-scheme-maximum-url-length
    lizhuoli
        4
    lizhuoli  
       2019-05-08 01:44:59 +08:00 via iPhone
    URL Scheme 是白名单机制,在 Info.plist 中声明最多 50 条记录,超过的你想跳转都不行,不是说我给你一个 wechat://chat?,在任何 App 就可以跳转微信的……所以这没办法用来黑产。
    第二,键盘不开始完全访问,禁止所有网络请求和外部写入,你觉得还能做什么……
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1047 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 18:36 PVG 02:36 LAX 10:36 JFK 13:36
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86