【问题标题】:Security issue in iOS app build: The binary may contain the following banned API(s) _memcpy, _alloca, _getsiOS 应用构建中的安全问题:二进制文件可能包含以下被禁止的 API _memcpy、_alloca、_gets
【发布时间】:2019-09-03 09:52:08
【问题描述】:

我的 iOS 应用是用 swift 开发的。它包含一些可可豆荚和其他受信任的第三方框架。构建稳定且处于运行模式。现在,当安全官员对应用程序进行安全评估时,他们提出了上述问题。该应用程序以可安装的形式共享,并且不知何故他们使用了一些工具来分析该应用程序(尽管 ipa 没有直接共享工具在应用程序 ipa 中提出了此问题,此处工具未知)。

现在,当我在整个项目中搜索上述 API 作为关键字时,我没有找到它的用法。任何人都可以在这方面提供帮助,如何跟踪我们的代码/其他库是否正在使用这些 API,如果使用,如何纠正其使用?

【问题讨论】:

  • 为什么memcpy被封禁了?它是标准 C 库的基本 C 函数,对于许多操作而言必不可少。您将很难找到不使用它的第三方应用程序。甚至 C/C++/Objective-C 编译器也会生成对 memcpy 的调用。
  • @Codo 你看到下划线了吗?
  • 你确定这是相关的吗?在链接器级别,memcpy 通常变为_memcpy。我认为这也适用于 iOS。还是检查的重点:用memcpy代替_memcpy
  • 如果安全评估是使用Mobile Security Framework 完成的,那么错误消息很可能是误报(请参阅github.com/MobSF/Mobile-Security-Framework-MobSF/issues/995)。而且您的安全官员很可能无法解释为什么memcpy 是一个问题,因为该工具的检查没有记录在案。

标签: ios swift security cocoapods


【解决方案1】:

项目中使用的一些或一个第 3 方 lib/s 很可能正在使用这些 API。请确保该应用程序使用的是最新版本的 lib/s,并且可能值得联系 lib 开发人员,以查看他们是否在任何版本中解决了此类问题。为了获得更好的视角,请阅读 Apple 关于Buffer Overflow / Underflow 的安全编码指南

【讨论】:

    猜你喜欢
    • 2021-06-03
    • 1970-01-01
    • 2021-11-28
    • 1970-01-01
    • 2018-06-29
    • 1970-01-01
    • 2017-12-01
    • 2021-10-05
    • 2021-12-28
    相关资源
    最近更新 更多