【问题标题】:How to make sure an Android app was really compiled from said source code?如何确保 Android 应用程序真的是从所述源代码编译的?
【发布时间】:2010-06-24 05:54:35
【问题描述】:

很多 Android 应用程序都是开源的,但我们如何确保最终上传到 Google Market 的人在上传之前不包含一些间谍软件?

背景:移动应用程序的安全性似乎是a growing concern,我想向我的开源 Android 应用程序的用户保证。需要修改部署过程或应用程序内容的解决方案也是可以接受的。

2012 年更新: 这是正确的方向:http://f-droid.org/ 他们检查应用程序并将它们编译成他们分发的 APK。话虽如此,我会更信任他们 如果他们是 Mozilla 或 Apache...

【问题讨论】:

    标签: android security open-source toolchain spyware


    【解决方案1】:

    查看https://stackoverflow.com/questions/249106/how-can-you-give-users-confidence-that-your-application-has-no-malicious-intent 了解一些相关信息。

    您当然可以获取源代码并自己构建/编译它,并将生成的二进制文件与上传的二进制文件进行比较,但这在某种程度上违背了二进制分发的目的。如果源代码确实包含恶意代码,它仍然无济于事。或者可能构建一个安全的,即受信任的参考二进制文件,然后发布校验和以进行比较?

    除此之外,这个问题确实不是开源软件所特有的。归根结底,这一切都归结为信任。

    【讨论】:

    • 生成 APK 时会发生一些加密,所以我猜二进制比较不起作用。如何创建这个“受信任的参考二进制文件”?我能想象的唯一解决方案是一个大型开源基金会,它拥有一个系统,该系统具有 APK 打包密钥,从公共源代码库读取源代码,并输出签名的 APK。我不知道有任何基金会这样做。
    • 您的任何用户都要求过这样的事情吗?因为除非您的应用程序出于正当理由要求某些狡猾的权限,否则这似乎是一种巨大的矫枉过正。
    • @stealthcopter:没有用户抱怨,如果他们抱怨,我会理解的。软件安全永远不过分。在我的电脑上,我只安装我自己或一些可信来源编译的软件;没有理由对我的手机更加放纵。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多