关于Android增加伪API层的建议

@Android @Google @Apple @Microsoft @Copperhead OS @华为 @삼성

Suggestions on adding pseudo API layer and Application sandbox to Android

个人信息被肆意掠夺窃取的现状

越来越多的移动app加入了巧取豪夺或暗中窃取移动用户个人信息的行列。有店大欺客,强行“自愿”接受霸王条款的,也有暗中挂木马钩子的。

改变的可能途径理论上或许有几条

  1. 开发商自律。这一条基本可以放弃。
  2. 相关部门或行业组织监管。这个涉及立法等诸多环节,不便赘述。
  3. 应用分发渠道审核。全球性的有Google Play, Apple Store, 这两大平台还有一套严谨的审核规范和流程,虽然还是有不少漏网之鱼。 国内的有应用宝,华为应用市场,小米应用市场,每个大的手机品牌都有一个自己的应用分发市场,为了抢占市场占有率,审核几乎为零。
  4. 针对每个app的API开放由用户决定。个人认为从技术上是可行的。

伪API层与应用沙箱

现状是应用直接调用API,建议在每一个具体的API接口上层设置一个代理,应用对API的调用可以由该代理接管。当代理处于透传模式时,应用直接调用API。当代理处于接管(伪装)模式时,应用对API的调用被该代理拦截。举例,某恶意app想监控用户行踪,在代理接管模式时,该app对Location的调用就会被拦截,代理可以伪装一个位置,比如南大西洋的某小岛,返回给恶意app.

每一个API接口对应一个代理,众多的代理组成一个逻辑上的伪API层。

继续改进,为了实现每个app的API调用环境的个性化,这里引入作用域的概念,全局和局部。用户可以设置单个API代理在全局是透传模式还是接管模式,然后选择性地在单个app调用时取反。比如手机通讯录是非常重要的个人隐私信息,手机app对此垂涎不已。那么用户在全局就可以设置通讯录API代理为接管模式,恶意app拿到的就只是一份伪装的通讯录。而在局部对信任的app开启透传模式,可信app拿到的就是确信的通讯录。这样,由众多的API代理开关,以及作用域的引入就可以为单个app构造个性化的API调用环境,我们可以称此应用沙箱。

接管模式返回的数据

至于接管模式时返回什么样的数据,我们可以给出三个选项,

  • 预定义数据集
  • 随机数据集
  • 用户临时手动输入数据

这里只能给出一个粗浅的建议框架,具体的技术架构还需要Android社区,各系统开发商自行琢磨。

为您推荐