惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Secure Thoughts
罗磊的独立博客
T
The Blog of Author Tim Ferriss
人人都是产品经理
人人都是产品经理
博客园 - 叶小钗
Last Week in AI
Last Week in AI
美团技术团队
Google Online Security Blog
Google Online Security Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
D
Docker
G
Google Developers Blog
大猫的无限游戏
大猫的无限游戏
酷 壳 – CoolShell
酷 壳 – CoolShell
小众软件
小众软件
月光博客
月光博客
L
LINUX DO - 最新话题
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
W
WeLiveSecurity
H
Heimdal Security Blog
Vercel News
Vercel News
SecWiki News
SecWiki News
Forbes - Security
Forbes - Security
Blog — PlanetScale
Blog — PlanetScale
Google DeepMind News
Google DeepMind News
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
www.infosecurity-magazine.com
www.infosecurity-magazine.com
TaoSecurity Blog
TaoSecurity Blog
T
Troy Hunt's Blog
A
About on SuperTechFans
C
Check Point Blog
S
Security Affairs
Hacker News - Newest:
Hacker News - Newest: "LLM"
AI
AI
WordPress大学
WordPress大学
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Help Net Security
Help Net Security
博客园_首页
The Last Watchdog
The Last Watchdog
S
SegmentFault 最新的问题
Hugging Face - Blog
Hugging Face - Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
Engineering at Meta
Engineering at Meta
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
I
Intezer
K
Kaspersky official blog
M
MIT News - Artificial intelligence
J
Java Code Geeks
G
GRAHAM CLULEY
P
Palo Alto Networks Blog

蒲公英

蒲公英 502 了 - V2EX 为什么你的 App 不够完美 ——搜索&文本框篇 - V2EX 你的 App 与完美近在咫尺,相隔的只有这些问题 ——注册登录篇 - V2EX [Bug 管理云] 将你的项目和 Github / Bitbucket 的代码库关联起来! - V2EX 大选日来临!邮件门阴霾仍未散去,每个人都该检查自己的邮箱,和 APP - V2EX Android 开发 APP 端常见安全漏洞解读——敏感信息泄露漏洞 - V2EX 从单独应用扩散到整个行业,问题本质是金融类 APP 的安全 - V2EX 你的 Android HTTPS 真的安全吗? - V2EX 可能比炸机还恐怖, Android 系统 APP 的那些安全隐患你了解吗 - V2EX 蒲公英平台用法的最佳实践(Android 篇) - V2EX Ant 多渠到混淆打包 - V2EX
深入浅出 App 端安全漏洞之任意调试漏洞、中间人劫持漏洞及加密算法漏洞 - V2EX
ZCPgyer · 2016-11-16 · via 蒲公英

上周为大家介绍到了 APP 端的备份功能开启漏洞及本地拒绝服务漏洞,本周会为大家介绍完毕最后三个常见的 App 端漏洞:任意调试漏洞、中间人劫持漏洞及加密算法漏洞。

任意调试漏洞

说到任意调试漏洞,我们就要提到 AndroidManifest.xml ,它是每个 Android 程序中必须的文件。它位于整个项目的根目录,描述了 package 中暴露的组件( activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。 除了能声明程序中的 Activities, ContentProviders, Services, 和 Intent Receivers,还能指定 permissions 和 instrumentation (安全控制和测试)。

而在 AndroidManifest.xml 文件中, debuggable 属性值被设置为 true 时(默认为 false ),该程序可被任意调试 ,这就产生了任意调试漏洞。

任意调试漏洞的危害:

可被动态调试,增加了 apk 被破解、分析的风险。 目前动态调试器的功能都很强大,如果 debuggable 属性为 true ,则可轻易被调试,通常用于重要代码逻辑分析、破解付费功能等。

下图是 IDA 的调试界面,可以下断点、单步执行,调试过程中可以看到变量内容,即使没有 java 代码,反编译后的 smali 代码也比较容易阅读,加上动态调试,对 App 的逆向分析将变得容易的多。

HTTPS 中间人劫持漏洞

中间人攻击是指攻击者与通讯的两端分别创建独立的联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方直接对话,但事实上整个会话都被攻击者完全控制。在中间人攻击中,攻击者可以拦截通讯双方的通话并插入新的内容。

HTTPS 中间人攻击漏洞有以下来源:

  • 没有对 SSL 证书进行校验。
  • 没有对域名进行校验。
  • 证书颁发机构(Certification Authority)被攻击,导致私钥泄露等。

示例:

  • 实现的 X509TrustManager 接口的 Java 代码片段 [其中的 checkServerTrusted()方法实现为空,即不检查服务器是否可信] :

  • 接受任意域名的 Java 代码片段

攻击效果: 某 App 中添加收货地址,使用中间人劫持能获取到手机号、地址、姓名等敏感信息。

我们从上面的攻击效果可以看出来,利用中间人劫持漏洞,攻击者可通过中间人攻击(比如使用钓鱼 WiFi ),盗取账户密码明文、聊天内容、通讯地址、电话号码以及信用卡支付信息等敏感信息,甚至通过中间人劫持将原有信息替换成恶意链接或恶意代码程序,以达到远程控制、恶意扣费等攻击意图。

在各大漏洞平台上,有大量存在 HTTPS 证书不校验漏洞,例如国内绝大部分 Android APP 存在信任所有证书漏洞、亚马逊最新官方 Android 版存在一处信任所有证书漏洞、 Yahoo 雅虎在国内访问遭遇 SSL 中间人攻击、携程旅游网最新 Android 客户端 https 未校验证书导致 https 通信内容完全被捕获。

加密算法漏洞

以下几种行为会有产生加密算法漏洞的危险:

  • 使用 AES/DES/DESede 加密算法时,如果使用 ECB 模式,容易受到攻击风险,造成信息泄露。
  • 代码中生成秘钥时使用明文硬编码,易被轻易破解。
  • 使用不安全的 Hash 算法(MD5/SHA-1)加密信息,易被破解。
  • 生成的随机数具有确定性,存在被破解的风险。

而加密信息被破解后,产生的危害也就不言而喻了:加密信息被泄露。如果加密的是账号、密码、银行卡、身份证等信息,破解后可被不法分子用于诈骗、盗号、盗刷等。

相关案例:

  • 某互联网金融 APP 加密算法被破解导致敏感信息泄露

某 P2P 应用客户端,用来加密数据的 DES 算法的密钥硬编码在 Java 代码中,而 DES 算法是对称密码算法,既加密密钥和解密密钥相同。知道了密文和加密算法以及密钥,通过解密操作,可以从文件中恢复出原始的手势密码。

某租车 APP 与服务器通信的接口采用 http 传输数据,并且有对传输的部分参数进行了加密,加密算法采用 AES ,但是密钥硬编码在 java 代码中为“ shenzhoucar123123 ”,可被逆向分析出来,导致伪造请求,结合服务器端的漏洞,引起越权访问的风险,如越权查看其它用户的订单等。 攻击者完全可以做到使用其他脚本重新实现相同的加密功能并拼接出各个接口请求,批量的刷取订单信息和用户其他信息。

那么 APP 端的常见漏洞就介绍到这里,就像蒲公英之前所说的, APP 端本身的漏洞只占到了 Android 应用目前可发现漏洞的 21%,除了 5%通信层的漏洞,剩下的都是服务器端的漏洞,这里就留到下次说明了。