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

2019-05-07 15:39:19 +08:00
 ihciah

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

官方的说法是:

Capabilities and restrictions

Privacy considerations

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

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

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

3056 次点击
所在节点    信息安全
4 条回复
laoyur
2019-05-07 16:06:34 +08:00
URL Scheme 传参来偷数据?有点搞笑哦。
首先能携带多少信息?
其次,调用这个是会打开搜狗 App 的,那么它就只能在用户主动通过 URL Scheme 唤醒 App 的时候偷数据,这也太费事了吧,能偷多少数据,多少人有通过键盘唤醒搜狗 App 的习惯?

我没做过键盘相关的开发,但上面的限制里没提到联网权限,应该不会限制的(比如升级词库啥的),那么如果可以通过 URL Scheme 偷数据,为啥它不直接走网络去泄露?
qq73666
2019-05-07 16:09:59 +08:00
这是正常的传参方式,苹果允许的
ihciah
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
2019-05-08 01:44:59 +08:00
URL Scheme 是白名单机制,在 Info.plist 中声明最多 50 条记录,超过的你想跳转都不行,不是说我给你一个 wechat://chat?,在任何 App 就可以跳转微信的……所以这没办法用来黑产。
第二,键盘不开始完全访问,禁止所有网络请求和外部写入,你觉得还能做什么……

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/561844

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX