app安全评估之客户端程序安全(应用完整性校验)

时间:2024-02-25 10:55:55

安全场景描述

由于Android系统固有的缺陷,Android应用分发渠道管理机制等问题,导致Android客户端程序很容易被反编译篡改/二次打包,经任意签名后可在各个渠道或论坛中发布,这不仅损害了开发者的知识产权,更可能威胁到用户的敏感信息及财产安全,因此对客户端自身进行完整性校验尤为必要.

威胁等级

中:无重打包校验

影响范围

Android所有版本

测试步骤

第一步:解压包。

java -jar apktool d xxx.apk -f

第二步:修改包里面的值。

如:

 

 我们修改一个值。

第二步:打包。

java -jar apktool b xxx(解压的目录) -o xxx-new.apk

第三步:制作证书

keytool -genkey -alias deft(自定义) -keyalg RSA -validity 2000 -keystore app.keystore

设置密码,然后一直空格,最后y。

jarsigner -verbose -keystore app.keystore -signedjar xxx-new.apk xxx-new.apk (自定义)

然后打开看是否修改成功,一般来说只要修改了,然后打包没报错的话。就可以证明存在漏洞了。

修复建议

  • 增加签名验证逻辑
  • 增加完整性校验逻辑