跳过内容

MASTG-TEST-0209: 密钥大小不足

概述

在此测试用例中,我们将查找 iOS 应用中使用不足密钥长度的情况。为此,我们需要重点关注 iOS 中可用的加密框架和库,以及用于生成加密密钥的方法。

由于您通常不会在 CryptoKit 中直接生成密钥(该库会自动为您生成),因此我们将在此测试中重点关注 CommonCrypto 和 Security 库。

步骤

  1. 在应用二进制文件上运行静态分析工具,例如 radare2 for iOS,或使用动态分析工具,例如 Frida for iOS,并查找生成密钥的加密函数的使用情况。

观察

输出应包含使用 CCCrypt 或其他加密函数的函数的反汇编代码。

评估

如果在源代码中发现使用了不足的密钥长度,则测试用例失败。例如,考虑到量子计算攻击,1024 位密钥长度被认为对于 RSA 加密是不够的,而 128 位密钥长度对于 AES 加密是不够的。

演示

MASTG-DEMO-0011: 在 SecKeyCreateRandomKey 中使用不足的密钥大小与 r2