移动APP安全漏洞(原理/场景/修复)

待补充

反编译

0x01 漏洞描述

APK文件是安卓工程打包的最终形式,将apk安装到手机或者模拟器上就可以使用APP。反编译apk则是将该安卓工程的源码、资源文件等内容破解出来进行分析。

0x02 漏洞危害

攻击者通过反编译可获取应用安卓客户端应用的源代码,攻击者可根据源代码获取对应接口信息,加密算法、密钥,以及一些硬编码在代码中的其他敏感信息,从而进行进一步攻击。

0x03 修复意见

  • 使用市面上安卓加固的厂商对安卓APP进行加固,比如360、梆梆等。

安装包签名

0x01 漏洞描述

Android系统要求安装的应用必须用数字证书进行签名后才能安装,并且签名证书的私钥由应用开发者保存。签名证书的生成也由开发者自己生成。在应用安装时会校验包名(package name)和签名,如果系统中已经存在了一个相同的包名和签名的应用,将会用新安装的应用替换旧的;如果包名相同但是签名不同,则会安装失败。

应用签名完后在应用的META-INF目录下会有三个文件: CERT.RSA、CERT.SF和MANIFEST.MF。

 

MANIFEST.MF中保存了所有其他文件的SHA1摘要并base64编码后的值。

CERT.SF文件是对MANIFEST.MF文件中的每项中的每行加上“\r\n”后,再次SHA1摘要并base64编码后的值(这是为了防止通过篡改文件和其在MANIFEST.MF中对应的SHA1摘要值来篡改APK,要对MANIFEST的内容再进行一次数字摘要)。

CERT.RSA文件:包含了签名证书的公钥信息和发布机构信息。

 

0x02 漏洞危害

签名信息中包含的组织信息,将便于用户识别安装包的真伪。

0x03 修复意见

  • 在应用程序发布时使用企业签名对安装包进行签名。

应用完整性

0x01 漏洞描述

客户端若未进行应用完整性校验,经二次打包后的Android APP,破解后植入恶意代码重新打包。不管从性能、用户体验、外观它都跟正规APP一模一样但是背后它确悄悄运行着可怕的程序,它会在不知不觉中浪费手机电量、流量,恶意扣费、偷窥隐私等等行为。

0x02 漏洞危害

  • 插入自己广告或者删除原来广告;
  • 恶意代码,恶意扣费、木马等;
  • 修改原来支付逻辑;

0x03 修复意见

  • 在应用发布时使用360、梆梆等安全厂商进行安全加固。
  • 对签名文件中classes.dex哈希值的校验

可参考下列文章:

android APK安全性校验

Android防重签名和二次打包

Android 应用防止被二次打包指南

任意数据备份

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lefooter

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值