风险名称 危害 解决方案
App防止反编译 被反编译的暴露客户端逻辑,加密算法,密钥,等等 加固
Java层代码源代码反编译风险 被反编译的暴露客户端逻辑,加密算法,密钥,等等 加固 ,混淆
so文件破解风险 导致核心代码泄漏 so文件加固
篡改和二次打包风险 修改文件资源等,二次打包的添加病毒,广告,或者窃取支付密码,拦截短信等 资源文件混淆和校验签名的hash值
资源文件泄露风险 获取图片,js文件等文件,通过植入病毒,钓鱼页面获取用户敏感信息 资源混淆,加固等等
应用签名未校验风险 反编译或者二次打包,添加病毒代码,恶意代码,上传盗版App 对App进行签名证书校验
代码未混淆风险 被反编译的暴露客户端逻辑,加密算法,密钥,等等 混淆
webview明文存储密码风险 用户使用webview默认存储密码到databases/webview.db root的手机可以产看webview数据库,获取用户敏感信息 关闭wenview存储密码功能
明文数字证书风险 APK使用的数字证书用来校验服务器的合法性,保证数据的保密性和完整性。明文存储的证书被篡改可造成数据被获取等 客户端校验服务器域名和数字证书等
调试日志函数调用风险 日志信息里面含有用户敏感信息等 关闭调试日志函数,删除打印的日志信息
AES/DES加密方法不安全使用风险 在使用AES/DES加密使用了ECB或者OFB工作模式,加密数据被选择明文攻击破解等 使用CBC和CFB工作模式等
RSA加密算法不安全风险 密数据被选择明文攻击破解和中间人攻击等导致用户敏感信息泄露 密码不要太短,使用正确的工作模式
密钥硬编码风险 用户使用加密算法的密钥设置成一个固定值导致密钥泄漏 动态生成加密密钥或者将密钥进程分段存储
动态调试攻击风险 攻击者使用GDB,IDA调试追踪目标程序,获取用户敏感信息等 在so文件里面实现对调试进程的监听
应用数据任意备份风险 AndroidMainfest中allowBackup=true 攻击者可以使用adb命令对APP应用数据进行备份造成用户数据泄露 allowBackup=false
全局可读写内部文件风险 实现不同软件之间数据共享,设置内部文件全局可读写造成其他应用也可以读取或者修改文件等 (1)使用MODE_PRIVATE模式创建内部存储文件(2) 加密存储敏感数据 (3) 避免在文件中存储明文和敏感信息
SharedPrefs全局可读写内部文件风险 被其他应用读取或者修改文件等 使用正确的权限
Internal Storage数据全局可读写风险 当设置MODE_WORLD_READBLE或者设置android:sharedUserId导致敏感信息被其他应用程序读取等 设置正确的模式等
getDir数据全局可读写风险 当设置MODE_WORLD_READBLE或者设置android:sharedUserId导致敏感信息被其他应用程序读取等当设置MODE_WORLD_READBLE或者设置android:sharedUserId导致敏感信息被其他应用程序读取等 设置正确的模式等
JAVA层动态调试风险 AndroidManifest中调试的标记可以使用jdb进行调试,窃取用户敏感信息。 android:debuggable=“false”
内网测试信息残留风险 通过测试的Url,测试账号等对正式服务器进行攻击等 将测试内网的日志清除,或者测试服务器和生产服务器不要使用同一个
随机数不安全使用风险 在使用SecureRandom类来生成随机数,其实并不是随机,导致使用的随机数和加密算法被破解。 (1)不使用setSeed方法(2)使用/dev/urandom或者/dev/random来初始化伪随机数生成器
Http传输数据风险 未加密的数据被第三方获取,造成数据泄露 使用Https
Htpps未校验服务器证书风险,Https未校验主机名风险,Https允许任意主机名风险 客户端没有对服务器进行身份完整性校验,造成中间人攻击 (1).在X509TrustManager中的checkServerTrusted方法对服务器进行校验(2).判断证书是否过期(3).使用HostnameVerifier类检查证书中的主机名与使用证书的主机名是否一致
webview绕过证书校验风险 webview使用https协议加密的url没有校验服务器导致中间人攻击 校验服务器证书时候正确
界面劫持风险 用户输入密码的时候被一个假冒的页面遮挡获取用户信息等 (1).使用第三方专业防界面劫持SDK(2).校验当前是否是自己的页面
输入监听风险 用户输入的信息被监听或者按键位置被监听造成用户信息泄露等 自定义键盘
截屏攻击风险 对APP运行中的界面进行截图或者录制来获取用户信息 添加属性getWindow().setFlags(FLAG_SECURE)不让用户截图和录屏
动态注册Receiver风险 当动态注册Receiver默认生命周期是可以导出的可以被任意应用访问 使用带权限检验的registerReceiver API进行动态广播的注册
Content Provider数据泄露风险 权限设置不当导致用户信息 正确的使用权限
Service ,Activity,Broadcast,content provider组件导出风险 Activity被第三方应用访问导致被任意应用恶意调用 自定义权限
PendingIntent错误使用Intent风险 使用PendingIntent的时候,如果使用了一个空Intent,会导致恶意用户劫持修改Intent的内容 禁止使用一个空Intent去构造PendingIntent
Intent组件隐式调用风险 使用隐式Intent没有对接收端进行限制导致敏感信息被劫持 1.对接收端进行限制 2.建议使用显示调用方式发送Intent
Intent Scheme URL攻击风险 webview恶意调用App 对Intent做安全限制
webview远程代码执行风险 风险:WebView.addJavascriptInterface方法注册可供JavaScript调用的Java对象,通过反射调用其他java类等 建议不使用addJavascriptInterface接口,对于Android API Level为17或者以上的Android系统,Google规定允许被调用的函数,必须在Java的远程方法上面声明一个@JavascriptInterface注解
zip文件解压目录遍历风险 Java代码在解压ZIP文件时,会使用到ZipEntry类的getName()方法,如果ZIP文件中包含“…/”的字符串,该方法返回值里面原样返回,如果没有过滤掉getName()返回值中的“…/”字符串,继续解压缩操作,就会在其他目录中创建解压的文件 (1). 对重要的ZIP压缩包文件进行数字签名校验,校验通过才进行解压。 (2). 检查Zip压缩包中使用ZipEntry.getName()获取的文件名中是否包含”…/”或者”…”,检查”…/”的时候不必进行URI Decode(以防通过URI编码”…%2F”来进行绕过),测试发现ZipEntry.getName()对于Zip包中有“…%2F”的文件路径不会进行处理。
Root设备运行风险 已经root的手机通过获取应用的敏感信息等 检测是否是root的手机禁止应用启动
模拟器运行风险 刷单,模拟虚拟位置等 禁止在虚拟器上运行
从sdcard加载Dex和so风险 未对Dex和So文件进行安全,完整性及校验,导致被替换,造成用户敏感信息泄露 (1).放在APP的私有目录 (2).对文件进行完成性校验。

移动安全-APP安全加固相关推荐

  1. 解析移动互联网四大App云加固平台市场和质量对比

    对一个App的创业者来说,最烦恼的就是App被山寨和盗版,基于java开发的android应用其语言的特性,使得android开发的App更容易被破解.要应对安卓App被破解的风险,大多数中小开发者的 ...

  2. android安全检测工具,梆梆安全 - 防止反编译|APP安全加固|应用加固|盗版监测

    android安全检测工具,梆梆安全 - 防止反编译|APP安全加固|应用加固|盗版监测 https://dev.bangcle.com/ 业内专业的应用加固服务供应商 帮助数十万APP抵御破解风险, ...

  3. 安卓APP之加固技术

    在版本上线后为了防止APP版本被篡改,经常需要对App进行加固!这样可以防止APP被篡改和反编译. 那么问题来了怎样对App进行反编译呢! 1.首先我们可以下载一个加固工具: 然后只需要把要加密的文件 ...

  4. APP应用加固实战案例:公牛

    随着移动互联网的发展,App 使用的普遍性已不言而喻.但与此同时,App 的风险也成为企业的关注重点之一. 据<全国移动APP风险监测评估报告>显示,对约 318 万款安卓版本应用宝进行风 ...

  5. 【Android 教程系列第 30 篇】为什么要为 App 应用加固 ?如何为 App 应用加固 ?

    这是[Android 教程系列第 30 篇],如果觉得有用的话,欢迎关注专栏. 当我们开发的 App 准备做上架应用市场时,应用市场会要求上架的 App 做加固处理,这是为什么呢 ? 文章目录 一:为 ...

  6. APP应用加固实战案例:贪玩蓝月

    "我是渣渣辉,是兄弟就砍我!" 众所周知,<贪玩蓝月>是一款网页游戏,自2016年发行以来,其代言人也是大咖云集,除了古天乐外,山鸡哥陈小春.刘烨.张家辉.古力娜扎.冯 ...

  7. 华为android加固,app安全加固学习记录

    加固保学习 加固前的原包请先用签名工具对该apk进行签名,再加固,并重新签名,保证加固前后都用签名工具签一次名. 注:加固后不签名则可能安装不了. Q:如何查看应用的签名证书? A:目录下找到名为ME ...

  8. 甲方安全之安卓App第三方加固对比

    前段时间公司要给 Android 应用进行加固,由笔者来选一家加固产品.然后发现,加固产品何其之多,且鱼龙混杂.各种问题也是层出不穷,比如,有些加固时间非常久.有些加固会失败.有些运行会崩溃等等问题. ...

  9. app逆向(10)| APP的加固与脱壳

    文章目录 一.了解dex文件 二.APP加固 三.APP脱壳 1.脱壳本质 2.脱壳的方式 3.模拟器脱壳示例 4.frida脱壳 一.了解dex文件 什么是dex文件 他是Android系统的可执行 ...

  10. APP应用加固实战案例:飞凡汽车

    汽车App集展示.体验.交互.交易和远程服务于一身,已成为智能汽车的一部分.日前,飞凡汽车与顶象达成合作,为飞凡汽车App提供安全加固服务,为用户提供全方位的安全保障. 1.用户眼里的"宝藏 ...

最新文章

  1. linux vino vnc,vino-server和vncserver在教学环境中的典型应用
  2. VC++ 中ListCtrl经验总结
  3. Java中高级面试题 -- 数十道题含答案
  4. centos7进系统死机_电脑小白想学重装系统要怎么做?详细过程分享,学会远离电脑店...
  5. 计算机视觉——全卷积网络(FCN)的学习笔记
  6. 《设计模式》读懂UML类图
  7. 答非所问:产品质量怎样?发现了很多BUG
  8. 基于canoe的bootload刷写程序
  9. 浙大PAT甲级1001-1020题目详细代码解答|标准答案|C++语言|浙软机考
  10. 《Adobe Photoshop CS5中文版经典教程(全彩版)》—第1课1.1节开始在Adobe Photoshop中工作...
  11. JS 增加或减少时间(根据天、小时、分钟、秒)
  12. 手把手搭个vue的脚手架 - 2. 模板搭建
  13. 华为HCNA路由与交换eNSP实战(1)静态路由基础
  14. 16个最佳PSD文件下载网站
  15. [NLP]预处理--使用re正则化进行文本清理
  16. 灵敏度分享码显示服务器不可用,和平精英S11最稳灵敏度分享码有哪些?和平精英灵敏度设置分享码...
  17. 宁芝普拉姆键盘说明书
  18. Android开发中的日常积累
  19. ios 渐变透明背景_骚气渐变色的海报设计怎么做?
  20. 浅谈前端性能优化(九)——DNS解析优化

热门文章

  1. 别了,AlphaGo之魂——黄士杰
  2. Maxima 的基本微积分操作
  3. python微博_Python脚本实现自动发带图的微博
  4. MATLAB 使用GUI设计简单的计算器
  5. iOS 高仿《百思不得姐》
  6. c语言字母表输出大写字母,c语言输入一个大写字母,输出字母表中它前面的字母和后面的字母.如果...
  7. HPU图论专项(graph)【拓扑--二分图--最小生成树---树的直径---并查集--奇偶树---最小环---强联通】
  8. java calendar星期_作业-用Calendar获取今天是星期几
  9. cobaltstrike (cs 使用)初使用
  10. 网站建设方案书怎么写,有规范有固定结构吗?