跳转到主要内容

域名抢注

本文约需 2 分钟阅读

域名仿冒 (Typosquatting) 是指攻击者注册与正规网站域名相似、容易混淆的域名,利用用户的输入错误将其诱导至假冒网站的攻击手法。如同针对 “google.com” 的 “gogle.com” “googel.com” 那样,通过替换、缺失或添加一个字符来制作假冒域名。输入错误的影响在浏览器和软件包管理器之间差别很大。输错网址时,只要用户不在假冒网站上输入任何内容就不会造成损害;而输错依赖项名称时,被引入的软件包代码会在构建或运行过程中直接执行,因此一个字符之差就可能导致无需用户判断的代码执行。

辨别相似名称所需的材料

在考虑相似名称造成的危害时,作为前提的问题是辨别所需的材料在哪里。第一,错误的名称并非只由打字失误产生。一旦错误被写在某处,它就会通过操作手册、内部共享的备忘、从说明文章中的转抄、以及作为输入候选留下的历史记录被一再抄写。打字失误到此为止,而被抄写的错误会以相同形式反复使用。修正被引入的那一处,并不能阻止同一名称从仍保留原始写法的地方再次进入,因此修正的单位不是引入的目的地,而是写有该名称的各个位置。第二,接收一方能用于判断的材料只有名称的外观。判定相似只有在知道正确名称的情况下才成立,若没有正确名称的清单,就无法区分陌生的名称与初次使用的正确名称。即使发现了相似名称的组合,哪一个才是原本的,也无法仅凭名称比较来确定,而要依据使用的广度或注册的时间等其他材料来判断。第三,在察觉的时点上留下的并不只有名称。在引入过程中会运行处理的机制下,把名称从清单中删除,与清除该处理留下的东西,是两项不同的作业。保存的副本、被复制到别处的分发物、作为引入记录写出的内容,各自独立地留存下来,因此清除的范围无法仅靠追溯名称来确定。

攻击手法与目的

域名仿冒的目的多种多样。其中包括伪装成钓鱼网站以窃取登录信息的情形、为获取广告收入而显示停放页面的情形,以及分发恶意软件的情形等。在编程语言的软件包管理器 (npm、PyPI) 中发布名称与热门软件包相似的恶意软件包,即“软件包域名仿冒”,也已成为一个问题。

应对方法

个人用户可以通过善用书签、确认 URL 栏、利用浏览器的自动补全功能来防止受害。对企业而言,有效的措施包括抢先注册与自有品牌相似的域名 (防御性注册),并利用域名监控服务检测新注册的相似域名。通过设置 DMARC、SPF、DKIM 防止邮件假冒,并强化DNS 安全也很重要。请用强随机密码保护域名管理账户,防止域名被非法转移。

相关术语

这篇文章对您有帮助吗?