Android Janus漏洞修复
Android Janus漏洞修复## 标题
什么是Janus漏洞
自诞生以来,Android就要求开发者对应用进行签名。在应用进行更新时,只有更新包的签名与现有的app的签名一致的情况下,Android运行时才允许更新包安装到系统。若app被恶意的攻击者修改,重新打包签名,由于攻击者无法获得原始开发者的私钥,其重打包的签名与原始签名不一致,系统会拒绝安装此更新。这样可以保证每次的更新一定来自原始的开发者。然而Google在2017年4日发布的Android安全公告中提到一个Android的漏洞,利用该漏洞的攻击者可修改app而不影响其原始签名。该漏洞产生的根源在于:一个文件可以同时是APK文件和DEX文件。由于这种同时为APK文件和DEX文件的二元性,联想到罗马的二元之神Janus,将该漏洞命名为:Janus漏洞。该漏洞仅影响基于 JAR 签名的方案(v1 方案)。不影响自Android 7.0 以来引入的 APK 签名方案 v2(v2 方案)。发现Janus漏洞
昨天我的领导突然发了一份文档给我并对我讲这是网信办对我们APP的检查报告,让我十万火急地去解决掉,我打开乍一眼看到Janus漏洞也是很懵逼的,这是什么鬼(第一次听说),没办法只能去某度上去科普了,查了很多资料觉得网上说的不够详细所以决定在解决这个问题后把自己踩的坑填起来。解决Janus漏洞
网上说产生这个漏洞的原因是因为APP在签名打包的只使用了V1(Jar Signature),
这就奇了怪了哈,我明明在用Android studio 打包的时候用的是V1+V2签名生成APK,怎么生成APK后就只
剩V1签名,V2签名就失效了呢? 正在纳闷的时候一个神奇的检查工具被我找到了(嘻嘻,心中难以抑制地窃喜),是一款在Github开源关于APK Signature 签名校验工具(https://github.com/bihe0832/AndroidGetAPKInfo);将这个开源Android项目克隆下来用Android Studio运行起来然后按照AndroidGetSignature项目里面的README.md文件指导获取你自己APP签名相关信息。
前面我说过我打包签名的时候明明勾上了V1+V2,怎么一检测V1和V2签名都失败了呢?但是签名打包完成我做了一件事情很值得我怀疑,那就是我使用了第三方梆梆加固对App进行了加固,后经过查询果然有相同的网友已经提前踩过这个坑了。那就是用第三方加固会破坏原有V1、V2的签名。后来为了验证下是否是加固导致签名失效,然后直接拿了一个用Android studio使用V1、V2签名的包直接测试。
我靠这是赤裸裸地对比啊! 就是加固搞的鬼,但是目前市场的APP基本上都要加固啊、混淆啊做一些列的防反编译保护措施。目前市场上的加密工具有梆梆加密、爱加密、腾讯云加密、360加密······
a.梆梆加固工具
b.腾讯云加固工具
c.360加固工具
经过加固后APP的V2签名基本上都被破坏导致失效,虽然梆梆、腾讯云都提供了加固后再签名打包,但是基本上都是使用的V1签名,这样打包出来的APK就出现了Janus漏洞,存在被攻击的风险,经过不断地查阅资料发现360加固工具在加固后可以提供V2签名;
彷佛在迷失的海洋中突然看到了一叶扁舟那个欣喜那个若狂真是能激动得出XIANG,然后赶紧打个包用360加固再签名用GetAPKInfo第三方开源工具检测,检测结果如下:
又是赤裸裸地对比,肉眼可见的区别哈,真是太感谢360加固助手了,完美地解决了APK加固的问题又解决了又解决了因为加固导致V2签名失效的问题。
总结一下吧!好久没写东西了,实在是不痛彻心扉也写不出什么东西,经过自己不断地折腾得出了几点经验觉得还是写下了比较能记得住,随着Android系统的不断升级,如果只是使用V1(Jar Signature)签名会有Janus漏洞存在被攻击的风险,但是如果只使用V2(Full APK Signature)会存在在Android7.0以下系统安装失败,亲测在Android5.1系统上安装失败(安装包解析失败);随着Android系统的升级我相信会有更多问题出现在低版本开发出来的APK上,以上如果有不正确的地方还请留言指出,相互学习共同进步。
Android Janus漏洞修复相关推荐
- [转]Android 常见安全漏洞修复理论与实践
前言 前段时间公司对应用在爱加密上进行了安全扫描,本文将基于爱加密的漏洞分析报告,针对部分内容,介绍理论修复实践 最小化特权准则概念介绍 最小化特权准则,即指组件只能供自身应用调用,尽可能禁止其他应用 ...
- android 9patch 漏洞,Android 9patch 图片解析堆溢出漏洞分析(CVE-2015-1532)
[前言] 日前谷歌公开了一个今年1月份更新的漏洞.这个漏洞修复了一个存在于Android 5.1版本以下图片渲染的问题,可以查看相关链接. 9patch是Android上特有的一种图片格式,就是在普通 ...
- android fastjson漏洞_【漏洞预警】Fastjson 远程代码执行漏洞(暂无PoC)
Fastjson简介 Fastjson是一个Java语言编写的高性能功能完善的JSON库.它采用一种"假定有序快速匹配"的算法,把JSON Parse的性能提升到极致,是目前Jav ...
- Android Binder漏洞挖掘技术与案例分享
本文由作者根据其在KCon 2016黑客大会上的演讲内容整理而成.演讲稿链接:Binder fuzzing based on drozer. 文章开始,先来看几个我在工作生活中发现的Android漏洞 ...
- Android常见漏洞
Android常见漏洞 漏洞名称: Log敏感信息泄露 漏洞描述: 程序运行期间打印了用户的敏感信息,造成泄露 修改建议: 建议禁止隐私信息的log 漏洞名称: web https校验错误忽略漏洞 漏 ...
- android 拒绝服务漏洞,Android 应用本地拒绝服务漏洞浅析
1.本地拒绝服务漏洞描述 Android 系统提供了 Activity.Service 和 Broadcast Receiver 等组件,并提供了 Intent 机制来协助应用间的交互与通讯,Inte ...
- Android应用漏洞及常见解决方案
文章目录 一. 基本信息 1.1 应用权限 1.2 应用行为 1.3 第三方SDK 1.4 恶意程序 1.5 越权行为 1.6 权限滥用风险 1.7 资源文件包含APK 二. 源文件安全 2.1 应用 ...
- Android 反序列化漏洞攻防史话
Java 在历史上出现过许多反序列化的漏洞,但大部分出自 J2EE 的组件.即便是 FastJSON 这种漏洞,似乎也很少看到在 Android 中被实际的触发和利用.本文即为对历史上曾出现过的 An ...
- Linux 之父恶评 Intel 漏洞修复补丁:完全就是垃圾!Intel:先别更新!
2018年1月2日,英特尔曝出的CPU设计漏洞事件: 详解 Intel 漏洞怎么拿到内核数据的(附视频演示) 事件一经曝光,就迅速引起业内硬件同行.操作系统厂商.云供应商的迅速反应.如果不能从硬件层面 ...
- 【阿里聚安全·安全周刊】阿里安全潘多拉实验室完美越狱iOS11.2.1|Janus漏洞修改安卓app而不影响签名
原文链接:点击打开链接 摘要: 关键词:阿里安全潘多拉实验室丨Janus漏洞丨御城河丨编程语言出现漏洞丨APP追踪定位丨银行APP存在漏洞丨安卓统一推送联盟|AhMyth RAT|HP笔记本 关键词: ...
最新文章
- Spring Initializr 构建Spring Boot/Cloud工程
- SELinux与强制访问控制系统应用
- Zend Studio出现 Some characters cannot be mapped using GBK character encoding 错误
- Java实用教程笔记 Java入门
- python打包成exe_Python打包文件为exe,PyInstaller应用
- 009_TreeSet对实现了Comparable接口的对象排序
- python棋盘放米问题_Python基于回溯法子集树模板解决马踏棋盘问题示例
- 使用DOM4J解析XML及采用Schema校验的方法
- ghost还原固态硬盘_最完整用GHOST安装UEFI(GPT)引导的系统请关注收藏
- Spring @Bean @Scope @Qualifier
- Linux下的虚拟机安装
- 输入3个数a,b,c,按大小顺序输出
- 开课吧:电商产品数据分析的核心目标是什么?
- 技术界中的虚拟机、容器和沙箱的关系
- 解决Flash弹窗广告
- Tomcat服务读取静态图片/静态资源
- 极客日报:腾讯《王者荣耀》禁止未满12周岁用户充值;B站发布16款新品游戏;华为注册姚安娜商标被驳回
- 80秒验证13亿个身份证号码,包含省市县验证
- 何谓SRIO——RapidIO之旅从这里开始
- w ndows7怎么设置桌面保护,Windows7屏幕保护功能失效了怎么办?