移动安全开发指南-防止SSL降级攻击

释放双眼,带上耳机,听听看~!
移动爱情开发指南-https://static.secshi.com/secshi/2019/10/10d1d8db5c5605.jpg

详细描述

使用这种形式的中间人攻击,攻击者可以通过透明地劫持网络上的HTTP流量,监控HTTPS请求,然后消除SSL / TLS来绕过SSL / TLS,从而在客户端和服务器之间创建不安全的连接。 这种攻击在移动网络应用上尤其难以预防(移动网络应用本质上是一个看起来像应用的网页)。

建议

通过TLS提供所有流量,甚至非敏感流量。 这防止了任何可能的降级/剥离攻击,因为攻击者需要初始明文“入口点”来完成所述攻击。

验证SSL / TLS是否处于活动状态。 在完全本机应用程序中验证SSL / TLS是相对简单的。 移动网络应用可以通过JavaScript验证SSL / TLS,以便如果未检测到HTTPS连接,则客户端将重定向到HTTPS。 要求SSL / TLS的更可靠的手段是HTTP严格传输安全(HSTS)头。 HSTS标头强制与该域的所有后续连接使用TLS和原始证书。 浏览器只是开始实现HSTS头而移动浏览器总是滞后。

在应用程序中使用图标或语言,以确保用户在所述连接不依赖于经过验证的HTTPS会话时知道并进行安全连接。 教育用户是降低SSL / TLS降级攻击风险的重要组成部分。 在应用程式内使用弹出提示和文字提示,强化使用者使用HTTPS保护网路流量的重要性。

最近在Android和iOS中实施的另一种缓解措施是将非TLS /纯文本流量视为开发人员错误。Android最近添加 android:usesCleartextTraffic (Android M and the War on Cleartext Traffic,而iOS 9及更高版本要求您手动添加明文流量的例外。 替换Web协议HTTP / 2是另一个未来的解决方案,因为它仅使用TLS(并且包括其他功能).

参考

  • Moxie Marlinspike’s sslstrip exploitation tool – https://moxie.org/software/sslstrip/

CWE/OWASP

  • OWASP Mobile Top 10: M3- Insufficient Transport Layer Protection
  • CWE: CWE-757: Selection of Less-Secure Algorithm During Negotiation (‘Algorithm Downgrade’)

人已赞赏
安全工具

移动安全开发指南-完全验证SSL / TLS

2019-10-24 16:21:49

安全工具安全教程

移动安全开发指南-限制使用UUID

2019-10-24 16:36:43

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索