不安全的 HostnameVerifier

Android Developers

设计和规划

Security

指南

不安全的 HostnameVerifier

使用集合让一切井井有条

根据您的偏好保存内容并对其进行分类。

OWASP 类别:MASVS-CODE:代码质量

概览

HostnameVerifier 实现负责验证服务器证书中的主机名是否与客户端尝试连接的服务器的主机名相匹配。

Android 应用中的不安全 HostnameVerifier 实现是指实现无法正确验证与应用通信的服务器的主机名。这会使得攻击者能够冒充合法服务器,诱使应用向攻击者发送敏感数据。

之所以存在此漏洞,是因为 HostnameVerifier 类的函数调用可以跳过 X.509 证书的主机名验证,只验证该证书的哈希值。一个常见的误解是,SSLSession#isValid 函数会执行一项与安全相关的操作,但实际上,其目的只是检查会话是否有效且以及是否可以恢复或加入,这二者均不会验证会话的安全性。HostnameVerifier 类已被 NetworkSecurityConfig 所取代。

影响

不安全的 HostnameVerifier 实现可能会导致漏洞,攻击者可以利用这些漏洞对来自受害应用的网络流量实施 MiTM(中间人)攻击。利用此不安全代码的影响是,如果触发此代码,用户的应用网络数据可能会因为遭受(远程或本地)网络攻击而泄露。具体影响取决于无意中被泄露的网络流量的内容(个人身份信息、私密信息、敏感会话值、服务凭据等)。

缓解措施

使用 NetworkSecurityConfig.xml 功能来确保正确处理所有生产、测试、调试和开发阶段连接,而不是使用或实现自定义 TLS/SSL 证书验证代码。

资源

网络安全配置文档

有关 HostnameVerifier 类的开发者文档

本页面上的内容和代码示例受内容许可部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。

最后更新时间 (UTC):2023-12-13。

[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2023-12-13。"],[],[]]

Copyright © 2088 成都高校区网游活动站 All Rights Reserved.
友情链接