【问题标题】:What kind of downloaded code violates App Store Review Guideline?什么样的下载代码违反了 App Store 审核指南?
【发布时间】:2013-03-29 09:23:20
【问题描述】:

App Store 审核指南说:“以任何方式或形式下载代码的应用都将被拒绝。”

我想制作一个使用 Challenge-Response 进行身份验证的应用。该应用程序有一套基本算法,如SHA-1、SHA-256、MD5、DES、AES等。质询服务器包含一个随机排列的算法名称数组和一个字符串名称A。客户端使用质询指示的算法和序列来操作字符串A,并将其作为响应返回给服务器。

虽然我在服务器和客户端之间传输的只是一堆字符串,但它们确实改变了我的应用程序的行为。我应该将它们视为一种代码形式吗?如果不是,为什么Apple禁止下载shell代码执行?我的意思是,shell 代码也是一堆字符串,由运行环境解释。本质区别在哪里?

原谅我的英语:)

【问题讨论】:

    标签: iphone ios objective-c appstore-approval


    【解决方案1】:

    Apple 担心并希望阻止的是通过审批流程(伪装成良性的东西)然后改变其基本功能的应用程序。

    一个极端的例子是应用程序在用户设备上安装后下载新的恶意可执行代码。

    Apple 使用宽泛的措辞是为了能够拒绝任何试图以任何方式对用户造成伤害的应用。不可能具体描述这可能发生的每一种技术和具体方式,因此 Apple 保持措辞宽松。

    应用程序始终以某种形式“下载代码”,考虑一个访问返回 JSON 格式响应的 API 的应用程序。从技术上讲,这可以被认为是代码,它可以改变应用程序的行为(显示哪个视图,在某个视图上可以使用哪些选项等)。但是以这种方式访问​​ API 的应用肯定不会被拒绝。

    根据我从您的问题中收集到的信息,听起来您不必担心指南中的特定条款。

    【讨论】:

    • 据我所知,代码签名确保下载的任何内容都不会是可执行的(非越狱设备)。那我不明白苹果到底是在暗示哪一种代码?
    • 这是我的极端例子:我的应用程序基本上是一个“shell”代码解释引擎。引擎提供的所有元操作都不是恶意的。所以苹果批准了我的应用程序,并且代码经过签名可以在任何设备上执行。然后,我的应用程序下载了一个带有恶意目的的“shell”代码。它被解释,转换为一些可以做苹果不允许的事情的元操作。 Apple 可以对此做些什么?
    • 他们可以从商店中删除您的应用和/或将您踢出开发者计划。实际上没有任何技术方法可以防止执行您可能通过某些后门注入的解释代码。
    • 在我的拒绝案例中,我尝试在应用程序中下载 sql 子句。应用程序将执行这些子句并更新本地数据库。这是“真正”的违规行为吗?
    猜你喜欢
    • 2011-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多