天生一对:通配符SSL证书与网络钓鱼
随着免费和自动化的SSL证书被不断普及,钓鱼网站使用SSL证书的数量激增。这一事实一度成为业内最热门的争论话题之一,反对声连绵不断。
明年起,Let's Encrypt将开始支持通配符证书。这将在关于网络钓鱼的争论中产生一个新的角度,因为通配符证书的独特能力掩盖了它们的预期用途:犯罪分子和钓鱼者很可能将会使用通配符证书来加强他们隐藏主机名的能力,使这种能力更加通用。通配符证书甚至可以取代单域证书作为首选工具。
使用传统的SSL证书,完整的主机名被列在证书中。客户端检查这些主机名,以确保在访问这些站点时只使用该证书——如果使用其他主机名,则将其视为无效。
对于单域证书,只能包含一个主机名,例如:“
通配符证书的工作原理不同。使用通配符证书,域名中最左边的标签将被一个星号替换。这是字面意义上的“通配符”字符,它告诉客户端证书对于该标签的每个可能的名称都是有效的。对于通配符证书,证书中包含的主机名将是“
如果你想要通过单域或多域证书来对Paypal、苹果公司或巴克莱银行进行钓鱼,那么你会得到这样的证书:
而如果你想要通过通配符证书为那些同样这些公司创建钓鱼网站的话,那么域名看起来是这样的:
当客户端接收到该证书时,它会将其视为“
这一属性使得通配符证书可以将我们称之为“钓鱼位”的东西,这是域名中最容易识别出钓鱼目标的部分。
对通配符是有所约束的,它们可以使用的场景受到一定的限制。只能有一个“
这也就意味着“钓鱼位”也必须处于最左的位置。下面的主机名与真实世界的钓鱼网站相似,但它们无法利用通配符证书进行钓鱼:
自从通配符证书被发明以来,使用这种证书来隐藏一个钓鱼网站已经成为可能。你可以从任何证书颁发机构购买一个通配符证书,而且它们几乎没有任何方法可以阻止你使用它来实现任何你想要的目的。他们通常用来阻止向一个钓鱼网站颁发证书的方法需要知道主机名。
多年来,网络钓鱼者一直在使用通配符证书。然而,由于网络钓鱼证书花费的成本通常是单域证书的5倍以上,对于大多数网络钓鱼来说,它们在经济上是不可行的。绝大多数使用SSL证书的钓鱼网站使用的都是单域证书,因为它们是廉价或免费的。
SSL世界中另一个最新的发展是证书透明机制,或称为CT。
CT是一个在集中的列表中公开记录(“日志”)SSL证书的系统。它允许对证书颁发机构进行监督,并检测不适当颁发或未经授权的证书。通过监视这些日志,我们可以获得证书颁发机构正在颁发的证书的实时更新情况,这些日志可以用于发现各种问题,包括证书颁发机构受到的威胁——比如2011年DigiNotar发生的事情。
这些日志的另一个好处是,它们可以被用作发现新的钓鱼网站的检测系统。通过定期查询可能用于钓鱼的术语,比如“paypal”,你可以快速找到新的钓鱼网站的主机名,并屏蔽或标记它们。
日志可以在证书发布后30分钟内更新,这使它成为发现潜在恶意站点的主机名的最快方法之一。我们知道至少有那么几个机构使用日志来达到这个目的。
通过将日志作为钓鱼检测系统,想要使用SSL证书来让他们的网站看起来更合法的网络钓鱼者实际上更容易被抓获。
但是,只有当整个主机名被包含在证书中时,该方法才能起作用,而通配符证书则不是这样。对于通配符证书,我们将只能看到“
如果大多数的钓鱼站点开始使用通配符证书而不是单域或多域证书,那么CT日志将成为一种无效的检测系统。
除了主动使用日志作为一个网络钓鱼检测系统外,搜索这些证书的能力对研究也很有用。今年早些时候,我们使用SSL证书对“paypal”钓鱼网站的数量进行了量化——如果通配符证书被网络钓鱼者广泛使用的话,这样做将会变得更加困难。
尽管通配符证书让网络钓鱼者的生活变得更轻松,而使研究人员的工作更加困难了,但它们仍然起到了重要的作用。
有一些用例,单域或多域证书不容易适用。例如,如果你想为每个注册你的服务的用户分配一个唯一的子域:如
当所有证书颁发机构(在2018年中期)都强制要求证书透明系统时,一些用户将希望使用通配符“隐藏”子域,因为他们担心将自己的主机名公开列出将产生一个漏洞,或者使他们本来希望不被了解的服务被识别出来。
研究人员Hanno Bock通过搜索CT记录来发现和入侵未经认证的web应用程序,证实了这一属性。虽然依赖“黑箱”安全模型来隐藏你的域并不是解决这个问题的正确方法,但它确实展示了另一个使用通配符的示例。
因此,“杀死”通配符证书并不是一个实际的解决方案。相反,我们只是需要意识到并适应这种新的行为,我相信,在Let’s Encrypt明年年初开始提供免费通配符证书之后,这种新行为将变得很普遍。对于需要免费证书的网站和用户来说,这将是一个巨大的利好——大大超过由此带来的网络钓鱼对他们的损害
通配符证书×钓鱼者
www.example.com
”。多域证书可以允许多达数百个主机名。每一个都被独立地列出,例如——www.example.com
、mail.example.com
、cpanel.example.com
等。*.example.com
”,对于我们在上一个示例中列出的所有名称,它都是有效的。paypal.support-com
”或“apple id.support-com.com
”或任何其他字母和数字的组合。根据你的根域的通用程度,你可以使用这样一个证书来进行所有的钓鱼诈骗。*
”号,而且该符号必须处于最左边。因此,“www.*.secure.com
”是不允许的。它也不能在TLD之后直接使用。所以“*.com
”也是不允许的。
祸从何起
*.online-account.us
”,而无法通过搜索日志看到“paypal.online-account.us
”。
利大于弊
cpanel-01.example.com,cpanel-02.example
等。必须不断地为这些主机名颁发新的证书,这对于许多站点来说,是无法实现的工程学挑战。有时,软件对它能提供多少证书有限制,如果用户被多域证书所困扰,而不得不将所有的主机名全部列出,那么这可能会产生一个限制。
从昨天跟大家分享金网科技原创手把手Docker java web 应用hellowor...
常见的 SSL 错误解决办法 为了保障用户的隐私信息安全,减少信...
对最常见的开源协议做下总结分享 Mozilla Public License MPLLicense,允...
代码签名证书简介及其许多好处 今天,几乎所有东西都是电脑。...
最后甚至会从Chrome的UI中取消挂锁图标。。。 谷歌爸爸在上周四...
什么是API API是Application Programming Interface的简写。 实现了两个或...
任何运行思科支持的虚拟专用网络(VPN)的人都可能需要安装更...
Google Chrome 66 Beta将于3月15日,即本周四发布。 虽然谷歌和赛门铁...
全面的日志管理和分析策略是关键任务,使组织能够理解运营...
PFS概览 众所周知,若服务器的私钥泄漏,任何可以访问私钥的人...