硬编码加密密钥的安全漏洞分析

本文详细分析了Sogexia安卓应用中发现的硬编码加密密钥安全漏洞,包括通过静态分析和逆向工程发现漏洞的过程,以及厂商在SDK版本36中的修复方案。

信息泄露:硬编码加密密钥

在对Sogexia安卓应用进行常规安全评估期间,发现了一个涉及应用程序编译代码中硬编码加密密钥的漏洞。该问题影响针对SDK版本35(最大SDK:32)编译的构建版本,并在版本36中得到解决。

漏洞发现过程

该问题是通过对Sogexia安卓APK进行静态分析和逆向工程发现的。通过反编译Flutter二进制文件,研究人员可以识别名为encryption_helper.dart的文件,该文件包含直接嵌入代码库的Base64编码加密材料。

分析结果

分析揭示了类似AES加密密钥的序列和一些明文密钥,例如:

1
const String AES_KEY = "********"; // 为披露而截断

这些密钥以明文(或Base64编码)形式硬编码在应用程序逻辑中,而不是被安全管理或动态派生。

修复方案

供应商在SDK版本36中解决了该问题,加密材料不再被硬编码。密钥管理似乎经过了重构,可能使用了安全的密钥派生或远程密钥交换机制。

安全建议

如果您正在使用任何Flutter应用程序,请确保更新encryption_helper.dart库而不暴露加密密钥。

Bugbounty Writeup Bug Bounty Bugs

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计