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

参考:

OWASP Top 10 2014 – M6

您可能还喜欢...