Android应用安全系列 part 12 – 破解加密
这一讲说破解加密。在owsp mobile 安全中排名第六。本篇会介绍此漏洞的实现,或者因为不安全的加密算法,或者通过不安全的加密方式。
根据owasp,应用会出现如下场景:
- 弱密钥管理过程
- 创建并使用自定义加密协议
- 使用不安全或废弃算法
弱密钥管理过程
当你不正确管理密钥时,再好的加密也是枉然。如下是应用创建时常见场景:
- 存放加密信息的密钥放在攻击者可读目录中
- 为攻击者提供其他可用密钥
- 避免在二进制代码中使用硬编码密钥
接下来使用HerdFinalcial app来演示
(1)apk文件到android killer中进行反编译
(2)查看.jar文件,在db文件夹下发现两个有用的文件
可以看到加密db文件的密码存储在HF应用中。密码分别是 hammer 和 havey0us33nb@seball
任何人都可以通过逆向HF应用来获取密码,并用它来解密。
创建并使用自定义加密协议
大多数应用开发者创建并使用自己的加密算法或协议,这样会造成漏洞风险。
开发者有合适的理由使用自创加密算法,比如使用ssl库会很慢很低效。
推荐Facebook开发的不错的类库Conceal,有效用于加密大文件。
使用不安全或不兼容算法
很多应用使用不安全或废弃算法,这些算法已被攻击者可证不安全并且不应当继续用于加密操作。这些算法包括:
- RC4
- MD4
- MD5
- SHA1
参考: