CN110785979B - 用于域名假冒检测的***、方法和域名令牌化 - Google Patents
用于域名假冒检测的***、方法和域名令牌化 Download PDFInfo
- Publication number
- CN110785979B CN110785979B CN201880041998.6A CN201880041998A CN110785979B CN 110785979 B CN110785979 B CN 110785979B CN 201880041998 A CN201880041998 A CN 201880041998A CN 110785979 B CN110785979 B CN 110785979B
- Authority
- CN
- China
- Prior art keywords
- labels
- candidate
- name string
- tags
- dns name
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0245—Filtering by information in the payload
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/018—Certifying business or products
- G06Q30/0185—Product, service or business identity fraud
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1483—Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Finance (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
描述了用于检测域名***(DNS)中的域名假冒的***和方法。不法方可以在所述DNS中注册假冒与公司相关联的域名的域名,以试图基于用户对该公司的信任将所述用户引诱到恶意目的地网络地址。由于所述公司的域与恶意活动相关联,因此这可能导致所述公司的在线形象被淡化。在实施例中,描述了一种从订户接收包括所述订户希望保护、忽略或给予特殊审查的域名的输入的***。所述***接收在所述DNS中注册的域名的实例,并且执行确定所述域名是否正在试图假冒所述订户的域名的方法。生成警报以使所述订户可以采取校正措施。
Description
技术领域
本领域大体上涉及域名***(DNS)和域名假冒。
背景技术
通信网络允许在两个不同位置之间传输数据。为了通过网络传输数据,通常将数据划分为多个片段,称为分组或块。每个分组或块可以具有目的地网络地址,诸如,指示分组的目的地的互联网协议(IP)地址以及应该路由分组的中间转发装置。这些地址通常是数字的,难以记住且可能会频繁地改变。由于这种困难,因此这些地址频繁地与“域名”、可读字符串相关联,该可读字符串通常与地址中的一个的所有者相关联。域名由称为“标签”的子字符串组成,这些子字符串由点分隔,诸如,“www.example.com.”,其中,“www”、“example”和“com”都是标签。域名在被键入诸如网络浏览器的网络应用中时转换为代表目的地网络地址的真实形式的IP地址。例如,谷歌搜索引擎与完全限定域名(FQDN)“www.***.com.”相关联,并且该域名在被键入网络浏览器中时可转换为数字IP地址,诸如,“192.168.1.0”。
DNS是启用此转换的***。DNS存储域名与其各自的IP地址之间的映射,追踪映射中的任何变化,其中,可以将域名重新映射到不同IP地址,反之亦然,并且执行域名到IP地址的转换。因此,DNS通常被称为互联网的“电话簿”,其中,存储了域名与其各自的IP地址。DNS在网络应用(诸如,网络浏览器)的命令下将域名转换为IP地址,使得网络应用的用户可以简单地记住域名而非数字IP地址。DNS可以将域空间划分为层级结构,其中,不同组织控制层级结构的不同部分。在层级结构的不同部分中,不同名称服务器可以存储将域名映射至网络地址的资源记录。
为了从域名中查找网络地址,DNS可以使用对不同名称服务器执行查询序列的解析器。例如,用于解析www.example.com的查询序列可以从根名称服务器开始,其指示gTLD“.com”的名称服务器的地址。然后,DNS解析器可以查询“.com”域的名称服务器以获取example.com的名称服务器的地址。然后,DNS解析器可以查询example.com的名称服务器以获取www.example.com的地址。实际上,为使解析器不需要针对每个请求遍历整个序列,解析器可以缓存各种名称服务器的地址。
由于DNS的年代以及不法方的独创性二者,DNS受到重大安全问题影响。具体地,在DNS中创建新条目是完全不受监管的。一方可以通过若干域名注册商服务来注册域名及其相应IP地址,这些域名注册商服务本质上是私有企业,其经认证为在DNS中创建映射IP地址和新域名的新记录。每天都注册许多新域名。出于恶意目的注册了一些域名。
这些恶意目的中的一个可以在广义上被称为“域名假冒”,其中,不法方可以注册新域名,以试图欺骗普通互联网用户相信新域名与某些知名公司和品牌名称相关联。此不法方可以通过假冒知名实体诱骗互联网用户将其流量引向不法方自己的网站或可以执行非法活动的其它服务器。当用户试图访问该域名时,DNS可以将该域名转换为用户完全无法预料并且可能出于不法目的而存在的网络地址(诸如,IP地址)。
不法目的可以包括:将恶意软件引入用户的计算机***中,或进行一种被称为“网络钓鱼”的基于互联网的诈骗。网络钓鱼网站可以提供合法公司的外观,以诱骗用户透露机密的个人信息,诸如,密码和信用***。这些不法动作可能削弱特定公司的品牌价值,因为其品牌名称和在线形象被视为是不可信的。
域名假冒可以采用被设计为用不同策略来欺骗用户的许多形式。例如,不法方可以注册新域名,该新域名包括其他知名的域名中的无关字符,诸如,破折号。例如,合法域名“www.coca-cola.com”可以被具有相同字母和额外破折号字符的另一域名(诸如,“www.co-ca-col-a.com”)假冒。不法方可以注册域名,该域名在被读出时具有与品牌名称相似的发音(例如,“www.koka-kola.com”)。在另一种情况下,可以注册域名,该域名用具有相似外观的不同字符替换字符,诸如,用数字“1”替换字母“I”的字符。该问题也因国际化域名(IDN)的最新发展而变得更加复杂,在该国际化域名中,非拉丁字母的字符也可以用于域名中并且可以由DNS进行转换。在所有情况下,这些域名可以转换为可对访问其的用户执行不法动作的IP地址。
因此,需要用于检测公司品牌和域名的域名假冒的潜在实例的***和方法。
发明内容
在实施例中,公开了一种确定向DNS新注册的域名是假冒订户品牌还是订户域名的***。过滤器模块首先确定域名是否与所允许的域名列表中的条目匹配。如果域名与列表中的条目不匹配,则将该域名传递给预处理模块,该预处理模块移除无关字符以生成处理后的域名字符串。然后,将处理后的域名字符串传递到令牌解析器模块,该令牌解析器模块基于处理后的域名字符串来生成候选字符串。然后,匹配引擎接收候选字符串,并且通过利用许多匹配算法中的一种处理两个字符串来确定候选字符串是否与订户品牌或域匹配。如果基于该处理来满足标准,那么候选字符串和订户品牌匹配,并且匹配引擎生成警报报告以发送给订户。
在实施例中,公开了一种根据DNS名称生成多个候选令牌的方法。首先,接收完全限定DNS名称字符串,并且处理该完全限定DNS名称字符串以生成处理后的DNS名称字符串。然后,解析处理后的DNS名称字符串以生成多个标签,其中,每个标签是处理后的DNS名称字符串的子字符串。然后,确定处理后的DNS名称字符串的总标签数量。然后,针对一与总标签数量之间的每个整数值,从多个标签获得等于整数值的标签子集,并且将标签子集中的标签级联在一起以形成候选令牌。将候选令牌添加至多个候选令牌。在生成了多个候选令牌之后,分析多个候选令牌中的每个候选以确定其是否与订户字符串匹配。
还公开了方法、装置和计算机程序产品实施例。元件首次出现的附图通常由对应附图标记中一个或多个最左边的数字指示。在附图中,类似的附图标记可以指示相同或功能上相似的元件。
附图说明
包含在本文中并且形成本说明书的部分的附图图示了本公开,并且与描述一起进一步用于解释本公开的原理且使得相关领域的技术人员能够做出并且使用本公开。
图1图示了根据实施例的DNS名称假冒。
图2A至图2B图示了根据实施例的用于检测DNS名称假冒的***。
图3是图示了根据实施例的用于检测DNS名称假冒的方法的流程图。
图4A至图4B是图示了根据实施例的DNS名称预处理和候选令牌生成的流程图。
图5图示了如何对一组字符串进行预处理的示例。
图6图示了如何对另一组字符串进行预处理的示例。
图7图示了根据实施例的用于匹配两个字符串的模块。
图8A至图8B图示了根据实施例的查找字符串之间的文字匹配的算法类别。
图9A至图9B图示了根据实施例的查找字符串之间的语音匹配的算法类别。
图10A至图10B图示了根据实施例的查找字符串之间的象形文字匹配的匹配算法类别。
元件首次出现的附图通常由对应附图标记中一个或多个最左边的数字指示。在附图中,类似的附图标记可以指示相同或功能上相似的元件。
具体实施方式
***允许公司(也被称为订户)发起服务,以检测不法方在DNS内查找可以模仿订户的知名品牌和域名的FQDN的任何尝试。在实施例中,订户可以输入与他们的品牌有关的相关信息,诸如,表示成字符串的品牌本身、订户可能拥有并且因此不希望监视的已知域名空间以及订户特别希望针对潜在品牌假冒监视的域空间。在检测到假冒时,***生成警报报告并且将其发送至订户,使得能够将潜在假冒通知给订户并使得用户能够采取任何校正步骤。
通知可以实时或近乎实时地发生。DNS传感器节点阵列传送实时地包含FQDN的DNS记录。DNS传感器节点被动地观察由DNS服务器和解析器解析的DNS查询和响应,并且记录它们。这些传感器节点可以放置在世界各地的各种网络中的战略观察点处。它们可以处于互联网服务提供商(ISP)、互联网交换、互联网云服务运营商、著名社交网络、大学以及大公司的产业网络中。由这些传感器节点观察到的DNS数据使得能够创建新观察到的DNS记录的馈送,该馈送在首次观察到DNS记录之后仅几秒钟就将DNS记录递送到各种目的地。由于此馈送,因此所公开的***可以实时地接收DNS记录并且可以处理这些记录以确定其是否代表在约几秒内的域名假冒尝试。按照这种方式,***可以实时或近乎实时地检测DNS假冒的任何实例。
不仅可以实时地发生检测,实施例还可以提高DNS假冒检测的广度和质量。为了提高检测质量,***采用了几种复杂的技术。***处理新接收到的FQDN以使其令牌化,从而获得大量候选令牌。令牌化过程可以移除由不法方引入的诱饵,并且所得候选令牌更充分地暴露FQDN内的子字符串,该子字符串可以诱骗互联网用户相信FQDN代表了订户品牌。通过更充分地暴露这些子字符串,预处理和令牌化可以提高***检测订户品牌假冒的能力。
***将大量算法应用于候选令牌以将其与一些标准匹配。这些算法将订户品牌与由预处理设备生成的各种候选字符串进行比较以确定FQDN是否正在试图假冒订户的品牌。将算法分组成三个单独分组,包括文字算法、语音算法以及象形文字算法。文字算法在与订户品牌匹配的FQDN内查找子字符串匹配或完整字符串匹配。语音算法查找可以与订户品牌以相似方式发音的候选令牌,从而诱骗互联网用户相信假冒的FQDN代表该品牌。象形文字算法查找在视觉上接近于订户品牌的字符串。
一种象形文字算法(尤其是国际化域名(IDN)同形异义字算法)通过采用具有与本地字符相似的外观的非拉丁字符(诸如,西里尔字母或希腊字符)来检测试图假冒订户品牌的国际化域名(IDN)。在一个实施例中,IDN象形文字算法基于订户品牌来生成用非拉丁字符替换订户品牌内的一些拉丁字符的替代字符串,并且使用这些替代字符串对基于接收到的IDN生成的候选令牌进行比较。
将详细描述划分为三个部分。首先,相对于图1以及图2A至图2B描述了用于接收、解析并且检测潜在DNS名称假冒的***的实施例。其次,相对于图4至图6描述了从单个DNS名称生成多个假冒候选的预处理***和方法的实施例。最后,相对于图7、图8A至图8B、图9A至图9B以及图10A至图10B描述了匹配引擎和匹配算法的实施例。
A.DNS假冒检测***
图1图示了DNS名称假冒的问题。如上所述,DNS名称假冒是不法方在DNS中注册域名的尝试,该域名可以被误认为是知名公司的域名或品牌,以试图以不法目的欺骗广大公众。这会对公司的品牌造成损害,因为这可能会导致公众对由该公司提供的网站和在线服务感到厌烦。
公司可能希望通过域名注册商保护其已向DNS注册的FQDN。在外观或发音上与那些FQDN相似的域名可能欺骗公众相信那些域名也与该公司相关联,实际上这些域名仅出于不法目的而存在,诸如,解析为托管恶意软件或电子邮件网络钓鱼诈骗的非法网站。同时,由于公司所使用的服务或品牌名称以及标语的相似性,公众可能将公司与公司尚未向DNS注册的一些FQDN相关联。例如,即使公司尚未在DNS中注册具有相似外观的域名,人们也可能将公司与同该公司的名字相似的缩写或该公司的广告中出现的标语相关联。无良方可以注册在外观或发音上与已注册FQDN和未注册但与公司相关联的名称和短语二者相似的域名,以试图欺骗没有戒心的人们相信公司与该域名相关联。在这种情况下,公司可能希望检测何时在DNS中注册了可以被误认为是其自身的域名。
图1图示了这种场景的示例。在图1中,一家名为“Farsight SecurityIncorporated”的公司可能具有与该公司相关联的品牌的列表以及代表这些品牌的面向互联网的FQDN的列表。图1图示了品牌列表101和FQDN列表102。将品牌列表101和FQDN列表102二者中的每个成员都表示成美国信息交换标准码(ASCII)字符串。出于此示意图的目的,这些列表中的成员都被称为条目。FQDN列表102的条目102A可以是代表公司的主要网站(在这种情况下为“www.farsightsecurity.com”)的FQDN。FQDN列表102可以包括条目102B至D,其包括公司已经向DNS注册的具有不同gTLD(诸如,“.com”、“.net”以及“.org”)的相似FQDN。FQDN 102还可以包括具有与公司相关联的缩写(诸如,“fsi”)的条目102E-F。最后,该列表可以包含代表公司感觉在公众眼中可能与其公司相关联的网站名称或电子邮件地址的相似条目102G-J。
列表104包含可能被误认为是FQDN列表102中的对应名称的FQDN。该列表仅旨在说明域名假冒的可能性并且不应被视为限制。列表104图示了域名假冒的各种方法,这些方法可能会成功地诱骗人们相信这些域名与公司相关联。虽然列表104中代表的情况主要代表骗子可以使用的单种技术,但这些技术通常结合在一起使用。
一种简单技术是用具有相似外观的不同字符替换字符。例如,条目104A用具有相似外观的数字字符替换字母字符(例如,用数字“1”替换字母“I”)以假冒FQDN列表102中的条目102A。
另一种技术可以添加由点分隔的无关子域,或者在子域内添加诸如破折号的无关字符,这些字符在被读取时似乎不会减损其作为域名的读取。例如,条目104B、104C以及104F向域名添加了句点和破折号,它们将以其它方式分别包含与公司希望保护的条目102B、102C以及102F近乎相同的字符。条目104C“www.fa-r-sig.ht.org”包含条目102C“www.farsight.org”的所有字母,但是其是向DNS注册的不同注册域名,且因此可以解析为不同且可能有害的IP地址。
又一技术是注册与合法域名以相似方式发音的域名。条目104D、104E、104G以及104I代表在被读的时候可能分别与条目102D、102E、102G以及102I相似方式发音的域名。例如,条目104D用字母组合“ph”替换字母“f”,以模仿词语“farsight”的发音,但是可以在DNS中进行注册以解析为不同IP地址。
最后,条目104H和104J包含来自外来文字(诸如,西里尔文)的字符,这些字符可能被误认为具有相似外观的拉丁字符,诸如,用西里尔字母“д”代替字母“a”。西里尔文和希腊文中的一些字符在外观上近乎相同,但DNS并未将其识别为象形文字。同样,这些域名可能诱骗没有戒心的人们访问具有潜在不法目的的目的地。应用中的国际化域名(IDNA)***允许包含这些字符的字符串在DNS中经由以ASCII形式对统一字符标准字形进行编码(称为“Punycode”)的***进行转换。
应注意,并非所有这些域名都可能与不法方相关联。合法实体可以注册同与公司相关联的那些域名相似的域名。同样,并非由本公开的实施例检测到的所有名称都会导致可行动警报。本公开中所描述的***和方法的目标是当***检测到对公司的域名和品牌的试图假冒时生成警报以发送给公司。向该服务注册的公司然后可以确定应采取什么动作(若存在)来防止对其品牌和域名的假冒。
图2A是用于检测域名假冒的***200的图。在实施例中,***200包括域名白名单数据库220、观察列表数据库225、品牌列表数据库240、匹配策略数据库230以及匹配检测***210。匹配检测***210包括几个功能模块,包括过滤器模块212、FQDN预处理器214、令牌解析器216以及匹配引擎218。预处理器214输出预处理后的候选FQDN215,令牌解析器216输出候选令牌217,且匹配引擎218输出警报报告250。
在实施例中,订户(诸如,公司或组织)订阅***200执行的域名假冒检测服务。订户输入其希望从***200接收的服务的一组参数,包括要保护的品牌名称、要监视的域空间、要忽略的域名和通配符、要用于检测DNS名称假冒的一组匹配算法以及在检测潜在域名假冒时的敏感度。在品牌列表242、白名单222、观察列表227以及算法列表232中表示了这些参数,分别将其存储在品牌列表数据库240、白名单数据库220、观察列表数据库225以及匹配策略数据库230中。数据库将这些参数馈送到匹配检测***210的各个模块中以执行所指定的服务。在实施例中,可以将若干不同配置应用于这些数据库:这些配置全部都可以包含在单个服务器装置或服务器装置集群上,它们可以包含在单独服务器装置上,或者它们可以与整个匹配检测***210一起包含在同一服务器装置或集群上。这些实施例是非限制性的,并且本领域的技术人员将认识到这些数据库的几种配置都是可能的。
在示例性实施例中,匹配检测***210使用来自白名单222、观察列表227、品牌列表242以及算法列表232的输入来执行检测针对订户的潜在域名假冒所需的步骤。在实施例中,匹配检测***210的各种模块可以在服务器装置或服务器装置集群上、在单独服务器装置上或者甚至在商业云数据中心(诸如,亚马逊网络服务(AWS))中实施。本领域的技术人员将认识到,这些实施方式中的任何一种(大多数都未在此处列举)都将适合于实施匹配检测***210。此处简要地描述了匹配检测***210的不同模块的功能,下文提供了更详细的论述。
可以从DNS传感器节点的阵列接收DNS资源记录。此数据提供了DNS配置和内容数据的快照,就如同其正在互联网上实时地使用一样。可以将DNS资源记录分解成多个资源记录集合(RRset)。RRset可以包括一个或多个DNS资源记录(RR)。RR可以是单个DNS记录,并且可以包括若干字段。这些字段包括:
·所有者名称字段,其可以指定生成DNS查询所针对的FQDN,诸如,www.example.com;
·生存时间(TTL)字段,其可以指示可以缓存RR的时间量(以秒为单位)。
·类别字段,其可以指示协议族或协议实例,诸如,互联网协议的“IN”。
·类型字段,其可以指示DNS记录的类型。RR类型的示例是类型“A”(“地址”),其指示DNS记录将FQDN映射到IPv4地址。作为另一示例,RR类型“AAAA”(“IPv6地址”)指示DNS记录将FQDN映射到IPv6地址。
·类型特定数据,诸如,映射至查询的FQDN的IP地址。
在示例中,DNS记录可以将FQDN映射至IP地址。RRset可以是给定域的给定类型的所有资源记录的集合。例如,多个RR可以将FQDN(诸如,“www.example.com.”)映射至多个不同IPv4地址。在此示例中,“www.example.com.”的RRset包含所有这些IPv4地址。
如上文所论述的,DNS传感器节点阵列观察到新DNS记录,并且所公开的***使用这些DNS记录来执行域名假冒检测。DNS传感器节点阵列的DNS传感器节点观察并且记录由DNS服务器和解析器解析的DNS查询。DNS传感器节点然后可以将DNS记录发送至各种目的地进行进一步处理。这些传感器节点放置在战略观察点(诸如,在互联网服务提供商(ISP)、互联网交换、互联网云服务运营商、著名社交网络、大学以及大公司的产业网络)处。这些传感器节点创建新观察到的DNS记录的馈送,该馈送可以在首次观察到DNS记录之后仅几秒钟就将DNS记录馈送到各种目的地。由于此馈送,因此所公开的***可以实时地接收DNS记录,并且处理这些记录以确定其是否代表在约几秒内的域名假冒尝试。
过滤器模块212是匹配检测***210中接收新DNS记录209的第一模块。在实施例中,过滤器模块212可以采用专用通信端口(诸如,通用数据报协议(UDP)端口)来监听可从上述DNS传感器节点阵列接收到的新DNS记录。过滤器模块212可以接收DNS记录209并且确定DNS记录是否为感兴趣的。当检测到域名假冒时,仅某些特定类型的DNS记录为感兴趣的,诸如,地址记录(A)、IPv6地址记录(AAAA)、指针记录(PTR)、规范名称记录(CNAME)以及邮件交换记录(MX)。所有这些记录可以用于不同类型的服务。下文将进一步更详细地讨论这些。在另一实施例中,在***200处仅接收DNS记录,已经将该DNS记录确定为感兴趣的。
观察列表数据库225存储订户的观察列表227,该观察列表指定了订户希望***200在确定潜在侵权域名时要考虑的域名。在实施例中,订户可能只希望考虑域名空间的部分,诸如,单个gTLD(诸如,“.com”)中的任何域名。在这种情况下,订户可以将“*.com”指定为其条目,使得***200能够仅考虑“.com”顶级域中的FQDN。可选地,订户可以不指定要观察的任何特定域名空间,并且该特定订户的观察列表数据库225中的条目默认为“*.”,从而表示应考虑任何FQDN 213。将这些字符串存储在观察列表227中,并且将观察列表馈送到过滤器模块212中,使得过滤器模块212可以检查FQDN 213。与白名单222相似,在实施例中,FQDN 213必须是针对在观察列表222中指定的完整FQDN中的一个的精确匹配或针对观察列表227中的通配符条目的匹配中的一者,以传递回匹配检测***210的其它元件。
如上文所论述的,白名单数据库220存储指定订户希望忽略的域名的白名单222。由于具有相似品牌名称或缩写的公司、具有也可以与某种常用短语相似的公司名称的订户等,因此在DNS中新注册的一些域名可以反映合法或无恶意域名。此外,订户可能仅拥有域名空间的大部分(例如,美国银行可以拥有以“bofa.com”结尾的任何域名),并且将不希望接收对公司本身正在向DNS注册的新域名的潜在域名假冒的警报。在实施例中,由订户输入的条目可以是代表订户想要***200忽视的域名、品牌或短语的FQDN、部分域名或者甚至通配符字符串的形式。将条目存储在白名单222中,将白名单馈送到匹配检测***210的过滤器模块212中。过滤器模块212然后可以检查以查看来自DNS记录209的FQDN 213是否与来自订户的任何白名单条目匹配,并且忽视产生匹配的任何记录。
为了被匹配检测***210忽略,在实施例中,FQDN 213必须是针对在白名单222中指定的完整FQDN中的一个的精确匹配或者针对白名单222中的通配符条目的完全格式化匹配。这是因为匹配检测***210的目标是检测与同订户相关联或订户所拥有的域名和品牌接近但不完全匹配的FQDN,这是由于这些域名和品牌是由一些不法方假冒订户的域名或品牌的最有可能的尝试。
因此,过滤器模块212分别从白名单数据库220和观察列表数据库225接收白名单222和观察列表227,并且确定存储在新DNS记录209中的FQDN 213是否与任一列表上的条目匹配。在示例性实施例中,过滤器模块212首先确定FQDN 213是否与观察列表227上的条目匹配,其中,如果未检测到匹配,那么舍弃FQDN 213。如果检测到匹配,那么过滤器模块212然后确定FQDN 213是否与白名单222上的条目匹配,其中,如果未检测到匹配,那么将FQDN213传递到FQDN预处理器214进行进一步调查,并且如果检测到匹配,那么舍弃FQDN 213。在其它实施例中,可以颠倒该匹配的顺序。
FQDN预处理器214对DNS记录209的FQDN 213进行预处理,并且生成预处理后的候选FQDN 215,将该预处理后的候选FQDN提交给令牌解析器216。FQDN预处理器214对FQDN213进行预处理以移除已知会使朴素模式匹配算法失效的特定字符。将预处理后的候选FQDN 215提交给令牌解析器216,该令牌解析器生成候选令牌217。下文将相对于图4至图6更详细地描述令牌解析器216。在实施例中,FQDN预处理器214移除破折号字符,该破折号字符是添加至FQDN以欺骗模式匹配器的最常用的诱饵字符。因此,“www.fars-1ghtsecyu.ritee.com.”的FQDN 213将转换为“www.fars1ghtsecyu.ritee.com.”的预处理后的候选FQDN 215。可以将候选令牌217以及预处理后的候选FQDN 215传递回匹配引擎218。匹配引擎218加载并且运行实施匹配算法的若干匹配引擎模块,该匹配算法将预处理后的候选FQDN 215以及候选令牌217与品牌列表242的条目进行比较。如果检测到任何候选与订户指定品牌之间的匹配,那么生成警报报告250并且将其发送给指定FQDN 213和与检测有关的其它信息的订户。下文相对于图7、图8A至图8B、图9A至图9B以及图10A至图10B更详细地描述匹配引擎218和匹配算法。
品牌列表数据库240存储品牌列表242,该品牌列表包含订户希望***200调查域名假冒的表示成ASCII字符串的订户品牌。在实施例中,订户可以指定存储在品牌列表240中并且馈送到匹配引擎218中的品牌。在获得预处理后的候选FQDN 215和任何候选令牌217之后,将它们传递给匹配引擎218以与品牌列表242中的条目进行比较。如果检测到匹配,那么生成警报报告250。
匹配策略数据库230存储算法列表232,该算法列表指定订户对匹配引擎218在确定匹配时应使用哪些匹配算法的选择。匹配引擎218能够运行几种不同类型的字符串匹配算法,这些字符串匹配算法试图将(存储在品牌列表数据库240中的)品牌列表242中的订户指定的条目与预处理后的候选FQDN 215和候选令牌217进行匹配。在发起服务后,订户可以指定要由匹配引擎218执行的可用匹配算法的子集,或者可以简单地选择所有算法,使得匹配引擎218能够运行整个可用匹配算法集合,以将品牌列表242中的条目与预处理后的候选FQDN 215和候选令牌217进行比较。
图2B图示了可以存储在***200的数据库中的订户偏好的示例。图2B图示了具有FQDN 213的新DNS记录209、预处理后的候选FQDN 215、观察列表227、白名单222、候选令牌217、品牌列表242以及算法列表232。
再次参考被称为“Farsight Security”的订户的示例,条目可以如下。观察列表227可以仅包含“*.”,以代表不应对要由匹配检测***210检查的FQDN施加任何限制。FQDN213(诸如,“www.fars-1ghtsecyu.ritee.com”)将由过滤器模块212传递给***200的下一级,该FQDN与白名单222中的任何条目不匹配且确实与白名单227中的“*.”条目匹配。如上所述,白名单222指定了***200应该忽略的域名和通配符的列表,可以包含由FarsightSecurity公司或在名称中具有词语“Farsight”的其它合法实体拥有的几个域名。因此,白名单222可以包含其主要网站FQDN,“www.farsighsecurity.com.”、通配符条目“*.farsight.com”和“*.farsightsecurity.com”,以及代表对公司而言已知的域名的一些其它条目。如果由匹配检测***210接收具有FQDN 213的新DNS记录209,那么过滤器模块将确定匹配引擎是否对DNS记录209感兴趣,提取FQDN 213,并且将其与白名单222进行比较。如果FQDN与白名单中的条目中的一个匹配(或由白名单中的通配符条目指示的模式),那么忽视记录209。
品牌列表242包括订户可能希望保护的品牌名称。在FQDN预处理器214生成预处理后的候选FQDN 215之后,令牌解析器216接收预处理后的候选FQDN 215并且生成候选令牌217,并且可以将预处理后的候选FQDN 215和候选令牌217二者与图2A中所描绘的匹配引擎218中的品牌列表242中的条目进行比较。品牌列表242应该包含ASCII字符串,诸如,“fsi”和“farsightsecurity”。
最后,算法列表232包含匹配引擎218在将预处理后的候选FQDN 215和候选令牌217与品牌列表242中的条目进行比较时使用的匹配算法。向订户提供其希望匹配引擎使用哪些匹配算法的选择。在图2B中所示的算法列表232中,即使存在更多可用算法,也可能仅指定四种算法。在一些实施例中,一些算法也可能需要特定于该算法的参数,也可以将这些参数存储在算法列表232中。下文将更详细地论述***200中可用的匹配引擎218和匹配算法。
图3是图示了由图2A的***200执行的用于检测域名假冒的方法300的流程图。在适当的情况下,将相对于***200的元件来描述流程图的步骤。相对于由***200提供的服务的单个订户描述了方法300。
方法300从步骤302中的新DNS记录的到达开始。可以从检测DNS中的新条目的大型DNS传感器节点阵列接收该记录。在实施例中,该域名记录可以是具有指定其功能的类型字段的完整DNS记录。在步骤304中,将步骤302中接收到的DNS记录提交给来自图2A的过滤器模块212,在该过滤器模块中,首先对照订户的观察列表(诸如,如图2A和图2B中所图示的观察列表227)来对其进行检查。在实施例中,从观察列表数据库(诸如,图2A中所图示的观察列表数据库225)获得观察列表227。如果候选FQDN与观察列表内的任何条目都不匹配,那么该方法结束,这是由于FQDN不是订户感兴趣的域名空间的部分。如上文所论述的,相对于图2A,可以将观察列表默认为仅包括具有“*.”的条目,从而表示匹配检测***210可能感兴趣的任何FQDN。在这种情况下,步骤304始终会产生匹配,并且控制继续进行至步骤306。
在步骤306中,检查DNS记录以确定其是否为图2A的匹配检测***210感兴趣的记录。该检查可以在过滤器模块212中发生,或者在一些实施例中,该检查可以在到达匹配检测***210之前发生,在这种情况下,可能不需要执行步骤306。如上所述,***200感兴趣的DNS记录类型包括记录类型“A”、“AAAA”、“CNAME”、“PTR”以及“MX”。在其它实施例中,可以将附加记录类型添加至感兴趣的记录。如果DNS记录类型是前述类型中的一种,那么方法300继续步骤308。如果不是,那么方法结束。
在步骤308中,从DNS记录中提取FQDN。在实施例中,这可以在步骤306中确定***200对记录感兴趣之后在过滤器模块212发生。FQDN的格式是简单字符串,例如,“www.fars-1ghtsecyu.ritee.com”。该FQDN可以是图2A中所图示的FQDN 213的实施例。
在步骤310中,针对订户的白名单(诸如,如图2A和图2B中所图示的白名单222)检查在步骤308中获得的FQDN。在实施例中,从白名单数据库220获得白名单222。如果FQDN与白名单内的任何条目匹配(包括与白名单的条目的精确匹配或与白名单中所列的通配符条目的模式匹配),那么该方法结束,这是由于FQDN是订户已指示匹配检测***210忽略的域名空间的部分。
在确定FQDN在步骤304中的订户的观察列表上而不在步骤310中的订户的白名单上之后,可以在步骤312中对FQDN进行预处理以移除无关字符。如上文所论述的,从新DNS记录提取的FQDN可以包含无关字符(尤其是破折号),这些字符旨在欺骗简单的模式匹配器。在步骤312中,移除那些字符以产生“预处理后的候选FQDN”,诸如,图2A的预处理后的候选FQDN 215。
在步骤313中,可以将在步骤312中获得的预处理后的候选FQDN提交至匹配引擎218并且将其与订户的品牌列表进行比较。步骤313的品牌列表可以是图2A中所图示的品牌列表242的实施例,并且可以将其存储在品牌列表数据库中,诸如,图2A中所图示的品牌列表数据库240。如上文所论述的,品牌列表包含表示成由订户指定的ASCII字符串的品牌的字符串。具体地,首先使用文字匹配算法将预处理后的候选FQDN与订户的品牌列表进行比较,该文字匹配算法力图在预处理后的候选FQDN与由订户指定的品牌之间执行字符串文字和子字符串匹配。下文更详细地论述了该算法。在一些实施例中,还可以使用这些文字匹配算法将原始的、未经处理的FQDN与品牌列表中的条目进行比较。如果品牌列表中的条目与预处理后的候选FQDN(或原始FQDN)之间的比较基于所使用的文字匹配算法的标准来产生匹配,那么在步骤314中检测到匹配。
如果在步骤314中检测到匹配,那么过程移动到步骤330,其中,生成警报报告并且将其发送到订户。在实施例中,警报报告可以包含与DNS记录有关的信息,包括FQDN、检测到记录的时间、正在假冒哪个品牌列表条目、哪种算法确定了假冒以及可能与订户有关的其它上下文数据。订户然后可以采取其认为合适的校正动作。在生成并且发送了警报报告之后,该过程结束。
如果在步骤314中未检测到匹配,那么过程移动到步骤315,其中,匹配检测***210确定其是否配置为运行任何象形文字或语音匹配算法。如果检测到匹配,那么过程结束,并且如果是这样,那么在步骤316中将在步骤312中生成的预处理后的候选FQDN字符串提交给令牌解析器以生成候选令牌。在步骤316中生成的候选令牌是图2A至图2B中所图示的候选令牌的实施例。在实施例中,这可以在单独软件模块(诸如,图2A中所图示的令牌解析器216)内发生。模块可以实施在与过滤器模块212相似的装置或与过滤器模块212分离的装置中。下文相对于图4A至图4B、图5以及图6更详细地描述了预处理步骤,包括预处理步骤312和令牌解析器步骤316。
在步骤320中,将在步骤316中生成的候选令牌以及在步骤312中生成的候选FQDN传递到匹配引擎(诸如,如图2A中所图示的匹配引擎218),以确定任何候选令牌是否代表假冒与订户相关联的品牌的尝试。匹配引擎218应用将每个候选令牌与订户的品牌列表进行比较的算法。在算法列表(诸如,图2A的算法列表232)中指定了所应用的算法,并且将这些算法存储在匹配策略数据库(诸如,图2A的匹配策略数据库230)中。在该步骤中,不同于在步骤313中,可以应用不同的算法集合,包括语音匹配算法和象形文字匹配算法。下文相对于图7、图8A至图8B、图9A至图9B以及图10A至图10B更详细地描述这些算法。
在步骤320期间,使用算法列表中的每种算法将候选令牌与来自品牌列表的字符串进行比较。算法基于特定于所使用的算法的一些标准来确定候选令牌是否正在假冒品牌列表条目(整体地或部分地)。如果满足标准,那么在步骤325中,检测到匹配并且方法移动到步骤330,其中,将警报报告发送至订户以向订户通知已向DNS注册了假冒的FQDN。警报报告将包含与DNS记录有关的信息,包括FQDN、检测到记录的时间、正在假冒哪个品牌列表条目、哪种算法确定了假冒以及可能与订户有关的其它上下文数据。订户然后可以采取其认为合适的校正动作。如果在通过所有不同的候选令牌、品牌列表条目以及算法进行循环之后未检测到匹配,那么该方法在不发送任何报告的情况下结束。
技术人员应认识到,可以存在用于循环品牌列表条目、候选令牌以及算法的可以产生各种速度改进或其它性能益处的许多不同方式。下文相对于图7、图8A至图8B、图9A至图9B以及图10A至图10B更详细地论述了可用的匹配引擎和匹配算法。
在实施例中,可以使用由订户在算法列表中指定的每种算法将每个候选令牌与订户的品牌列表中的每个条目进行比较,并且当检测到匹配时,生成警报报告并且将其发送给订户。每个列表如何循环的顺序可以改变。例如,在实施例中,对于正在调查的单个候选令牌,可以使用每个算法将每个品牌列表条目与候选令牌进行比较,此后,将下一个品牌列表条目与候选令牌进行比较。这在将品牌列表条目全部与候选令牌进行比较之前一直继续,此后,选择下一个候选令牌并且针对所有品牌列表条目和算法重复该过程。如果比较中的一个导致检测到匹配(其中,基于算法中的一种的标准将当前候选令牌和品牌列表条目确定为匹配),那么将包含所有必要信息的警报报告发送给订户,并且该过程在不循环任何其它候选令牌的情况下停止。在实施例中,警报报告可以包含在步骤308中获得的原始FQDN,已确定为匹配的候选令牌和品牌列表条目、所使用的算法、在步骤302中接收到的原始DNS记录的类型、由***接收的DNS记录的时间等。
在另一实施例中,品牌列表可以是最后一个循环的项目,其中,针对每个品牌列表条目,使用每种算法来比较每个候选令牌,此后,比较下一个候选令牌。在比较了所有候选令牌之后,选择下一个品牌列表条目,并且重复整个过程,直到找到匹配或者每个品牌列表条目与候选令牌之间的所有比较都已完成为止。如果检测到匹配,那么生成警报报告并且将其发送到订户,并且过程停止。
B.域名预处理和令牌化
在这部分中,描述了预处理和令牌化过程。对FQDN进行预处理的目的是获得嵌入在FQDN内的字符串,该字符串可以代表不法方模仿订户的域名或品牌的尝试。预处理和令牌化可以生成更容易被字符串匹配算法识别的字符串。例如,被称为“Farsight Security”的订户可以具有“www.farsightsecurity.com”的已注册FQDN。试图假冒该域名的不法方可以以FQDN“www.ww.far.s1-ght.sec.yu-rit.ee.com”注册DNS记录。可以清楚地看出,该第二FQDN嵌入了可以由没有戒心的互联网用户读取为“farsight security”的字符串,但由于存在无关句点(指示新子域)和破折号字符,因此简单的字符串匹配算法可能无法确定此新注册的FQDN是不法方的假冒尝试。因此,可能欺骗没有戒心的用户访问与该FQDN相关联的IP地址。预处理和令牌化过程旨在通过解析可疑FQDN并且呈现一组字符串(被称为候选令牌)来辅助匹配算法,以确定可疑FQDN与订户的品牌和域名之间的匹配,该字符串集由可疑FQDN的部分组成。
图4A至图4B图示了用于对FQDN进行预处理并且使FQDN令牌化以生成候选令牌的不同实施例。图4A是图示了用于对FQDN进行预处理以确定候选令牌的方法400的流程图。在实施例中,可以由FQDN预处理器和令牌解析器(诸如,图2A中呈现的FQDN预处理器214和令牌解析器216)执行方法400。方法400可以是图3中描绘的步骤312和316的实施例。
在步骤402中,从原始FQDN中移除无关字符。原始FQDN可以是图2A的FQDN 213的实施例。步骤402可以是图3中的步骤312的实施例。在实施例中,被移除的字符是破折号字符。如上文所论述的,通常将破折号字符添加到FQDN,以欺骗用以除去域名假冒的明显实例的简单字符串匹配算法。该步骤生成预处理后的候选FQDN,诸如,图2A中的预处理后的候选FQDN 215。在上面的示例中,可以将原始接收到的FQDN“www.ww.far.s1-ght.sec.yu-rit.ee.com”转换为预处理后的候选FQDN“www.ww.far.s1ght.sec.yurit.ee.com”。该预处理后的候选FQDN可以是图2A的预处理后的候选FQDN 215的实施例。
在步骤404中,令牌解析器的第一步骤通过获取在步骤402中生成的预处理后的候选FQDN并且提取每个DNS标签开始。在实施例中,分隔字符“.”是标记FQDN中的不同标签之间的边界的字符。例如,从预处理后的候选FQDN“www.ww.far.s1ght.sec.yurit.ee.com.”提取标签会产生8个标签,“www”、“ww”、“far”、“s1ght”、“sec”、“yurit”、“ee”以及“com”。这些标签可以以不同的左右相邻的组合进行组合,最终会产生可与存储在其品牌列表中的订户的品牌匹配的候选令牌。将标签本身添加为候选令牌。
在步骤406中,发生创建候选令牌的过程。计数器被初始化为1。计数器反映了在步骤404中生成的将被组合以形成单个候选令牌的标签数量。在步骤408中,通过将等于计数器的若干标签级联为一个字符串来生成候选令牌。形成单个候选令牌的标签必须在步骤402中生成的预处理后的候选FQDN中从左到右彼此连续出现。
作为示例,候选FQDN“www.ww.far.s1ght.sec.yurit.ee.com.”具有8个标签,“www”、“ww”、“far”、“s1ght”、“sec”、“yurit”、“ee”以及“com”。对于为6的计数器,候选令牌可能是“wwwwwfars1ghtsecyurit”,“wwfars1ghtsecyuriteecom”和“fars1ghtsecyuriteecom”,其中,每个候选令牌都由上文列举的级联成一个字符串的6个标签组成。第一候选令牌“wwwwwfars1ghtsecyurit”将上文列举的前6个标签“www”、“ww”、“far”、“s1ght”、“sec”以及“yurit”级联。候选令牌“fars1ghtsecyuriteecom”组合了上文列举的后6个标签,“far”、“s1ght”、“sec”、“yurit”、“ee”以及“com”。
级联标签以生成候选令牌的顺序必须与在从左向右读取时它们在候选FQDN字符串中出现的顺序相同,并且它们在仅由分隔字符隔开的候选FQDN字符串中必须彼此相邻地出现。因此,包含不在候选FQDN字符串中连续出现的放置在一起的两个标签的字符串将不是有效的候选令牌。再次参考候选FQDN“www.ww.far.s1ght.sec.yurit.ee.com.”,诸如“wwwwwfarsecyurit”的字符串将不是有效的候选令牌,这是由于该字符串将非连续标签“far”和“sec”放置为彼此相邻。字符串“wwwwws1ghtfar”也将不是有效的候选字符串,这是由于在与预处理后的候选FQDN相比时,其将标签“far”和“s1ght”以不正确的顺序放置。
因此,在步骤408中,对于给定计数器值,生成所有有效候选令牌并且将其添加至候选令牌的运行列表。对于为1的计数器,所有标签本身都被视为候选令牌。当计数器等于从预处理后的候选FQDN生成的总标签数量时,生成单个候选令牌,该候选令牌是按照在预处理后的候选FQDN中读取时的正确顺序对每个标签的级联。在步骤410中,检查计数器以确定其是否等于总标签数量。如果其不等于总标签数量,那么重复步骤406至410,直到已经生成了所有候选令牌为止。所得候选令牌可以是图2A中所图示的候选令牌217的实施例。
图4B图示了用于对FQDN进行预处理以确定候选令牌字符串的方法450的另一流程图。在实施例中,可以由FQDN预处理器令牌解析器(诸如,图2A中呈现的令牌解析器216)执行方法450。方法450可以是图3中所描绘的步骤312和316的实施例。
图4B的方法450通过从接收到的FQDN中移除无关字符以获得预处理后的候选FQDN,并且从预处理后的候选FQDN的标签获得候选令牌在步骤452中开始。这些步骤与方法400的步骤402和404相同。步骤456至460与来自方法400的步骤406至410不同,但产生相同的候选令牌集合。步骤406至410通过从预处理后的候选FQDN创建由特定数量的标签组成的每个可能的候选令牌来生成候选令牌。另一方面,步骤456至460在移动到下一个标签之前从预处理后的候选FQDN生成以标签开始的所有候选令牌。例如,对于“www.far.sight.com.”的预处理后的候选FQDN,在步骤454中,从预处理后的候选FQDN的标签生成第一候选令牌,在这种情况下,“www”、“far”、“sight”以及“com”。然后,步骤456生成以标签“www”开始的每个候选令牌:“wwwfarsightcom”、“wwwfarsight”以及“wwwfar”。然后,在步骤458中,该方法前进到在预处理后的候选FQDN中出现的下一个标签,在这情况下为标签“far”。步骤460将导致循环回到步骤456,这是因为该方法尚未遍历所有标签。然后,步骤456将重复生成以“far”开始的每个候选令牌:“farsightcom”和“farsight”,并且步骤450至460将再次重复生成候选令牌“sightcom”。
因此,图4A展示了方法400,且图4B展示了另一方法450,两者都将从相同的接收到的FQDN生成相同的候选令牌集合。技术人员将认识到,大量实施例对于生成候选令牌都是可能的。
图5图示了在预处理方法400的每个步骤中生成的字符串。在示意图中,接收原始FQDN 501“aa--aa--a.b-bbb-b-b.cc-cc-c-.dd-d”作为新DNS记录的部分。可以在图3中所描绘的步骤308期间确定该原始FQDN 501。该FQDN可以具有各种无关字符。在预处理步骤402之后,生成预处理后的候选FQDN 502。在实施例中,可以将预处理后的候选FQDN 502馈送到匹配引擎中,以与订户的品牌和域名进行比较,如在图3的步骤313中所示。
在步骤404中,通过基于分隔字符(在这种情况下为点)解析候选FQDN来创建标签504。在这种情况下,存在所创建的四个标签504A-D。尽管在该示例中已经将这四个标签概括为“aaaaa”、“bbbbbb”、“ccccc”以及“ddd”,但是通常这些字符串可以代表DNS的真实子域。
在步骤406至410期间,生成了候选令牌508。候选令牌可以是图2A中所图示的候选令牌217的实施例。在级别506A处,计数器等于1,并且生成由一个相邻标签组成的候选令牌,从而导致与四个标签504A-D相同的四个候选令牌508A-D。在506B处,计数器等于2,并且生成候选令牌508E-G,这些候选令牌是将来自预处理后的候选FQDN 502的两个连续标签级联在一起的结果。因此,候选令牌508E是标签504A与504B的级联,候选508F是标签504B与504C的级联,且508G是标签504C与504D的级联。应注意,对于预处理后的候选FQDN 502,这些是在计数器等于2时生成的唯一有效候选,这是由于在候选FQDN 502中不存在两个标签的其它连续组合。
在级别506C处,计数器等于3,并且生成了两个候选令牌508H-I,这两个候选令牌分别是标签504A-504C与504B-504D的级联。最后,在级别506D处,计数器等于4,并且仅生成一个候选令牌508J,该候选令牌是所有标签504A-D的级联。候选令牌508A-J反映了可以从原始FQDN 501生成的所有有效候选令牌。因此,候选令牌508以及两个FQDN 501和502是字符串,匹配引擎(诸如,图2A的匹配引擎218)将该字符串与订户的品牌和域名进行比较,以确定FQDN是否可以被视为不法方的域名假冒。
图6图示了可以由执行方法400的预处理模块生成的,但现在针对产生五个标签而非四个标签的FQDN的字符串的又一示例。字符串及其符号与图5的字符串及其符号相似——基于计数器的不同实例(描绘为级别606A-E)生成的原始FQDN 601、候选FQDN 602、标签604以及候选令牌608。由于原始FQDN 601现在产生由“.”字符分隔的五个标签,因此候选令牌608的数量大体上大于图5的候选令牌508的数量。
如上文提到的,存在生成与来自图5和图6的候选令牌508和608相同的一组候选令牌的若干实施例。例如,尽管不使用如相对于来自方法400的步骤406所描述的计数器,但图4中所描绘的方法450将生成相同的候选令牌集合508和608。本领域的技术人员将认识到,可能存在许多替代方法来生成候选令牌。
图6图示了对重要性的两个观察。首先,图6图示了由来自预处理后的候选FQDN的连续相邻的标签组成且这些标签以其在候选FQDN(诸如,预处理后的候选FQDN 602)中出现的顺序进行级联的候选令牌的重要性。由于域名假冒的目的是诱骗没有戒心的用户将假冒的域名与订户相关联,因此不法方可以向DNS注册的原始FQDN 601将试图模仿与该订户相关联的品牌和域名,这是由于这最有可能会诱骗到没有戒心的用户。因此,候选令牌(诸如,608H(“fars1ght”)和608L(“fars1ghtcom”))反映了接近订户的品牌名称“Farsight”的短语。另一方面,由乱序级联的预处理后的候选602FQDN的标签组成的字符串,比如“s1ghtfar”不太有可能会诱骗到用户,或者可以反映不同合法实体的品牌名称。因此,候选令牌由连续相邻且适当排序的令牌组成的要求用作针对域名假冒检测***的过度敏感性的基本过滤器。来自图4A和图4B的方法400和450分别均创建了将反映连续的候选令牌集合。
其次,候选令牌的数量是通过解析候选FQDN生成的标签数量的函数。具体地,候选令牌的数量是“三角形数量”,其基于来自预处理后的候选FQDN的标签数量:
N=来自预处理后的候选FQDN的标签数量
C.匹配引擎和算法
图7描绘了匹配引擎700。匹配引擎700可以是图2中出现的匹配引擎218的示例性实施例,并且可以执行图3所图示的方法300的步骤320。匹配引擎将候选字符串(诸如,图2A中所描绘的候选令牌217或FQDN 213和215中的一个)与可能出现在订户的品牌列表(诸如,图2A的品牌列表242)上的订户品牌进行比较。
在示例性实施例中,匹配引擎可以包含用于执行三种类别的匹配算法(文字算法710、语音算法720以及象形文字算法730)的软件指令。这些算法类别中的每一种遵循将候选令牌(或候选FQDN)与订户的品牌和域名(诸如,品牌列表242的条目)匹配的不同原理。通常,文字算法类别710试图查找候选令牌(或FQDN)与订户品牌之间的文字字符串匹配,语音算法类别720确定候选令牌(或FQDN)的发音是否与订户品牌相似,并且象形文字算法类别730确定候选令牌(或FQDN)是否具有与订户品牌或域名相似的文本外观。
文字算法类别710包括用于执行两种特定算法(即,Boyer-Moore匹配和所谓的“Leet Speak”匹配)的软件。语音算法类别720包括用于执行三种特定算法(DoubleMetaohone匹配、Metaphone 3匹配以及American Soundex匹配)的软件。最后,象形文字类别包括用于执行两个特定算法(莱温斯坦距离匹配和国际域名(IDN)同形异义字匹配)的软件。下文相对于图8A至图8B、图9A至图9B以及图10A至图10B更详细地描述了这些算法中的每一种。
图8A至图8B图示了图7中所描绘的文字算法类别710的算法。如上文所论述的,由图8A至图8B代表的文字算法类别力图确定字符串文字匹配是否存在于搜索字符串与目标字符串之间——换言之,这些算法确定搜索字符串是否作为目标字符串中的精确子字符串或近乎精确的子字符串而存在。如在图2A的域名假冒***200中所使用的,目的是确定原始FQDN、预处理后的FQDN或候选令牌内的子字符串是否为与订户品牌的精确匹配(例外情况如在下文中解释的),在这种情况下,原始FQDN的所有者可能正在尝试假冒订户品牌。
图8A图示了Boyer-Moore匹配算法。图8A显示订户品牌802、新DNS记录的FQDN804A、预处理后的FQDN 804B(其中,移除了所有破折号)以及基于预处理后的FQDN 804B的候选令牌806A-E。候选令牌806A-E可以由来自图2A的令牌解析器216生成,该令牌解析器执行来自图4A的方法400或来自图4B的方法450。候选令牌806A-E不代表基于FQDN 804B生成的候选令牌的整体。
Boyer-Moore算法是来自文字算法类别710的执行纯子字符串匹配的优化字符串匹配算法,其中,如果搜索字符串与目标字符串内的子字符串相同地匹配,那么该算法产生匹配。在示例性实施例中,匹配引擎700以搜索字符串作为订户品牌802并且以目标字符串作为FQDN 804A-B或候选令牌806A-E中的任何一个来执行该算法。在示例性实施例中,使用Boyer-Moore算法仅将FQDN 804A和804B与品牌802进行比较。在其它实施例中,也可以使用Boyer-Moore算法将候选令牌806A-E与品牌进行比较。可以看出,候选806A和806C二者都在Boyer-Moore算法中产生匹配,这是由于订户品牌802(“farsight”)恰好出现在候选806A和806C中。在实施例中,Boyer-Moore也是不区分大小写的,这意味着订户品牌802的每个字符都不需要按照字母大小写(大写或小写)进行匹配,仅需按照该字符代表的实际字母进行匹配(例如,“fArsIghtcom”仍将会根据搜索字符串“farsight”产生匹配)。然而,应注意,FQDN804A-B将不会在与Boyer-Moore算法中的订户品牌802进行比较时由于无关句点而产生匹配。
图8B图示了被称为“Leet Speak”匹配算法的另一算法。Leet Speak是来自文字算法类别710的与图8A的Boyer-Moore相似的另一算法,如果搜索字符串与目标字符串内的子字符串匹配,那么Leet Speak算法产生匹配。然而,在这些情况下,可以将搜索字符串表示成正则表达式,其中,搜索字符串内的特定字符可以由若干其它字符代表,这些字符对替代其它字符是已知的。
图8B图示了订户品牌822、新DNS记录的原始FQDN 824A,预处理后的FQDN 824B(其中,移除了所有破折号)以及基于预处理后的FQDN 824B的候选令牌826A-E。在示例性实施例中,使用Leet Speak算法仅将FQDN 804A和804B与品牌802进行比较。在其它实施例中,也可以使用Leet Speak算法将候选令牌806A-E与品牌进行比较。除了这些字符串之外,显示了修改的搜索字符串823。修改的搜索字符串823是格式化为正则表达式的字符串,其允许特定字符被看起来相似的其它字符替换。例如,在特定上下文(尤其是互联网聊天室、在线视频游戏等)中,通常用“4”字符替换字母“a”,而且在注册FQDN来假冒公司的品牌时,不法方也可能会利用这种做法。相似地,字母“i”可以被字母“l”或“1”数字字符替换。LeetSpeak算法允许搜索字符串涵盖那些常用字符替代的所有组合。
修改的搜索字符串823代表通过将可彼此代表的所有字符括在一起来搜索字符或其替代的能力。这种表示法通常被称为“字符类别”。例如,“[a4]”表示可以用“4”字符替换“a”字符,“[i1l]”表示可以用“1”或“l”替换“i”字符,“[s5]”表示可以用“5”字符替换“s”字符,依此类推。因此,修改的搜索字符串823代表订户品牌822,其中,这些字符中的任何一个(或没有一个字符)与其公共替代互换。因此,如从图8B中可以看出,候选826A包含“fars19htsecuri7y”作为子字符串并且生成匹配,这是由于修改的搜索字符串823允许将“g”字符被“9”字符替换,且允许“i”字符被“1”字符替换。相似地,候选826C还包含“fars19ht”字符串,并且还生成匹配。在Leet Speak算法中应该注意两件事:(i)候选中的字符串“farsight”的定期出现也会产生匹配,并且(ii)FQDN 824A和824B二者中的无关句点仍然阻止那些FQDN在Leet Speak算法中生成匹配。
如上文所论述的,在实施例中,文字算法(包括Boyer-Moore算法和Leet Speak算法)都可以应用于原始FQDN和预处理后的FQDN,以确定是否生成了匹配。
图9A至图9B图示了图7中所描绘的语音算法类别720的算法。如上文所论述的,由图9A至图9B代表的语音算法类别力图确定两个词语是否具有相似发音。如图2A的域名假冒***200中所使用的,目的是确定域名的一部分是否具有与订户品牌相似的发音,在这种情况下,域名可能试图假冒订户品牌。
图9A图示了“American Soundex”算法。American Soundex算法处理字符串以产生代表字符串的发音的代码。在图2A的匹配引擎218的上下文中,使用该算法来处理订户品牌和候选令牌二者,此时将其相应代码进行比较以查看它们是否相同。如果是这样,那么算法生成匹配,并且匹配引擎可以生成警报报告。图9A描绘了订户品牌902、原始FQDN 904A和预处理后的FQDN 904B(移除了破折号)以及候选令牌906。在通过American Soundex算法进行处理之后,订户品牌902和候选令牌906二者都具有相应代码903和907。由于这些代码匹配(两个代码均为“F622”),因此匹配引擎会生成匹配,并且可以由于匹配而发出警报报告。
American Soundex算法基于字符串的辅音来生成四字符代码。代码的第一字符是由算法处理的字符串的第一字母。在从左到右读取时,字符串中的特定字符的存在指示了代码中的后三个字符。例如,字母“b”、“f”、“v”以及“p”映射到值1,而字符“r”映射到值6。因此,对于出现的“b”、“f”、“v”或“p”的每个实例,将“1”字符添加到四字符代码。同样,对于字符串内的“r”字符的每个实例,将“6”字符添加到四位代码。根据字符串内的字符的重复,这些规则存在几个例外情况。一旦达到四字符,过程就停止,而不论剩余了多少字符。
图9B图示了Double Metaphone和Metaphone 3算法二者。原始算法(简称为“Metaphone算法”)与American Soundex算法的类似之处是基于词语的发音来生成代码。Metaphone算法明显比American Soundex算法更复杂。Double Metaphone和Metaphone 3算法二者都是对原始Metaphone算法的增强。具体地,Metaphone 3算法是Double Metaphone算法的优化形式,Double Metaphone算法又是Metaphone算法的增强形式。DoubleMetaphone和Metaphone 3算法二者都基于字符串来生成两个代码,而不是如同在AmericanSoundex和Metaphone算法中发生的那样生成一个代码。在图2A的匹配引擎218的上下文中,使用该算法来处理订户品牌和候选令牌二者,此时将其相应代码对进行比较以确定候选令牌是否正在假冒订户品牌。
图9B描绘了订户品牌922、原始FQDN 924A以及预处理后的FQDN 924B(移除了破折号)以及候选令牌926。订户品牌由Double Metaphone算法或Metaphone 3算法中任一者处理,以生成一对代码923A和923B,并且以类似方式对候选令牌926进行处理以生成一对代码927A和927B。在实施例中,订户品牌的每个代码必须与其候选令牌的对应代码匹配以生成匹配。在另一实施例中,订户品牌中仅有一个代码必须与其对应候选令牌代码匹配以生成匹配。在另一实施例中,订户品牌中的一个代码仅需要与候选令牌中的任一代码匹配以生成匹配。
图10A至图10B图示了图7中所描绘的象形文字算法类别730的算法。如上文所论述的,由图10A至图10B代表的象形文字算法类别的算法力图确定目标字符串是否看起来像搜索字符串。如在图2A的域名假冒***200中所使用的,目的是确定原始FQDN、预处理后的FQDN或候选令牌内的子字符串是否具有与订户品牌相似的外观,在这种情况下,原始FQDN的所有者可能正在尝试假冒订户品牌。
图10A图示了“莱温斯坦距离”算法。莱温斯坦距离算法接受两个字符串并且确定“距离”分数,该分数反映了两个字符串的相异程度。距离分数是大于或等于零的整数,并且反映了使其字符串输入彼此相同所需的编辑次数。为此,距离分数有时被称为“编辑距离”。例如,字符串“farsight”和“faarsight”的距离分数为1,且字符串“farsight”和“forsight”的距离分数也为1,这是由于两者都需要进行一次精确编辑才能使字符串相同(在前一种情况下,删除第二字符串中的“a”字符,且在后一种情况下,用“a”字符串替换第二字符串中的“o”字符)。在图2A的匹配引擎218的上下文中,使用该算法基于订户品牌和候选令牌来产生距离分数,此时将该分数与由订户指定的阈值进行比较。如果距离小于或等于阈值,那么算法生成匹配。
图10A描绘了订户品牌1002、FQDN 1004A、预处理后的FQDN1004B以及候选令牌1006。将订户品牌1002和候选令牌1006馈送到莱温斯坦距离计算器中,此时生成距离分数1010。如果莱温斯坦距离小于阈值,那么生成匹配,该匹配指示FQDN正在试图假冒订户品牌或域名。
图10B图示了国际域名(IDN)同形异义字算法。国际化域名(IDN)是可以使用代表诸如西里尔字母、希腊字母和亚美尼亚文的字母的非拉丁字母字符的域名。由于字符的数量比拉丁字符的数量大许多倍,因此这些字符以统一字符标准而非ASCII进行编码。尽管IDN具有域名的外观(使用以句点分隔的域标签进行格式化),但由于它们包含以统一字符标准编码的非拉丁字符,因此整个IDN字符串也必须使用统一字符标准进行编码。尽管DNS仅被设计为用于与以ASCII编码的字符串一起使用,但已经开发了应用基础设施并且将其广泛使用,该应用基础设施将统一字符标准域名转换成ASCII域名。这允许IDN如同FQDNS一样由DNS以对于普通互联网用户基本上透明的方式将其转换成网络地址。
在域名假冒的上下文中,来自非拉丁字母的字符通常类似于拉丁字符,并且可能由不法方用来创建具有与订户品牌相似的外观的域名。这些域名被编码为包括非拉丁字母字符的统一字符标准字符串。例如,可以使用西里尔字母“д”来替换拉丁字母“A”,可以使用希腊字符“τ”来替换拉丁字母“t”,依此类推。虽然对用户可用的应用(诸如,Web浏览器或电子邮件应用)将IDN呈现为常规字符串,诸如,“www.fдrsightsecuriτy.com”,但在DNS处,IDN将转换为ASCII Punycode字符串,这导致不同IP地址转换。因此,IDN同形异义字算法检测使用具有非拉丁字符的IDN假冒订户品牌的尝试。
在图10B中描绘了算法。具体地,图10B描绘了订户品牌1022、域名1024A、预处理后的域名1024B(移除了破折号)以及候选令牌1026。请注意,域名1024A包含西里尔字母“д”,因此域名1024A和1024B实际上是IDN。原始IDN的预处理和令牌化可以按与以ASCII编码的典型FQDN的预处理和令牌化相同的方式发生,其中,将任何操作调整为针对统一字符标准编码的字符串而不是ASCII字符串执行。原始IDN和预处理后的IDN 1024A-B是统一字符标准字符串,就如同候选令牌1026。匹配引擎218还将为订户品牌1022生成多个统一字符标准字符串1023A-D,其中,每个统一字符标准字符串1023A-D都会用非拉丁字符替换ASCII编码的订户品牌1022内的一个或多个字符。应注意,在该实施例中,统一字符标准字符串的数量是非限制性的——基于订户品牌1022,可以存在大量统一字符标准字符串。
将基于将拉丁字符映射到非拉丁字符的预定的大规模数据库来生成统一字符标准字符串1023A-D。可以使用光学字符识别(OCR)定期启动和更新该数据库,以基于非拉丁字符和拉丁字符出现的相似程度来获得非拉丁字符和拉丁字符之间的映射。
使用统一字符标准字符串1023A-D和候选令牌1024,可以产生大量比较类型。在一个实施例中,可以使用上述各种算法将针对统一字符标准字符串1023A-D和候选令牌1026二者的ASCII Punycode转换进行比较,以确定是否存在匹配。ASCII Punycode转换将统一字符标准字符串转换成ASCII编码的字符串,该字符串包括几个字符以代表单个非拉丁统一字符标准字符。
在其它实施例中,此处可以应用与如上文所论述的匹配算法相同或相似的匹配算法,但其适用于统一字符标准字符串。在一个实施例中,可以与Boyer-Moore相似的方式执行直接子字符串匹配,其中,可以使用Boyer-Moore的统一字符标准版本。在另一实施例中,可以按与对ASCII字符串所进行的几乎相同的方式来应用莱温斯坦距离算法,其中,如果统一字符标准字符串1023A-D中的一个与候选令牌1026之间的距离分数大于某个值,那么发生匹配并生成警报报告。例如,在图10B中,在任何这些算法下,统一字符标准字符串1023D将与候选令牌1024匹配。
在又一实施例中,并非从订户品牌1022生成一组统一字符标准字符串1023A-E,而是可以从候选令牌1026生成一组ASCII字符串。然后可以基于匹配引擎700中所描绘的其它算法(包括文字算法类别710、语音算法类别720或莱温斯坦距离算法(象形文字算法类别730)的算法)将那些ASCII字符串与订户品牌1022匹配。
D.结论
本文中所公开的数据库可以是任何所存储的类型的结构化存储器,包括持久性存储器。在示例中,该数据库可以实施为关系数据库或文件***。
图2A、图2B以及图7中的处理器和模块中的每一个可以利用在计算装置上实施的硬件、软件、固件或它们的任何组合来实施。计算装置可以包括但不限于具有处理器和存储器的装置,该存储器包括用于执行和存储指令的有形非暂时性存储器。存储器可以有形地体现数据和程序指令。软件可以包括一个或多个应用和操作***。硬件可以包括但不限于处理器、存储器和图形用户界面显示器。计算装置还可以具有多个处理器以及多个共享存储器部件或单独存储器部件。例如,计算装置可以是集群或分布式计算环境或服务器场的一部分或全部。
标识符(诸如,“(a)”、“(b)”、“(i)”、“(ii)”等)有时用于不同元件或步骤。这些标识符是出于清楚起见而使用的,并且不一定指定元件或步骤的顺序。
上文已经借助于图示了特定功能及其关系的实施方式的功能构建块描述了本发明。为了便于描述,在本文中已经任意地限定了这些功能构建块的边界。只有适当地执行指定功能及其关系,就可以限定替代边界。
对特定实施例的前述描述将充分地揭露本发明的一般性质,以使得其他人可以通过应用在本领域的技术内的知识在无需进行过度实验、在不脱离本发明的一般概念的情况下针对各种应用容易地修改和/或调整这些特定实施例。因此,基于本文中所提出的教导和指导,这种调整和修改旨在处于所公开的实施例的等同物的含义和范围内。应理解,本文中的措辞或术语是出于描述而非限制之目的,使得本说明书的术语或措辞将由技术人员鉴于教导和指导进行解释。
本发明的广度和范围不应该受到上述示例性实施例中的任一者限制,而是应该仅根据以下权利要求书及其等同物来进行限定。
Claims (27)
1.一种用于处理域名***DNS名称字符串以获得多个候选令牌来检测假冒的方法,所述方法包括:
(a)从DNS传感器阵列接收所述DNS名称字符串;
(b)处理所述DNS名称字符串以生成处理后的DNS名称字符串;
(c)基于分隔字符来解析所述处理后的DNS名称字符串以生成多个标签;
(d)确定从(c)中的解析生成的所述多个标签中的标签的总计数;
针对在一与(d)中确定的所述标签的总计数之间的每个整数值:
(e)从所述多个标签获得标签子集,所述标签子集由标签数量等于所述整数值的若干标签组成,以及
(f)根据在按顺序读取时所述标签在所述处理后的DNS名称字符串中出现的顺序将从在(e)中获得的所述标签子集的所述标签进行级联以生成候选令牌,其中,将所述候选令牌添加至所述多个候选令牌,以及
(g)针对所述多个候选令牌中的每个,分析所述候选令牌以确定所述候选令牌是否与来自多个订户字符串的订户字符串匹配。
2.根据权利要求1所述的方法,其中,所述处理(b)从所述DNS名称字符串移除破折号字符的实例,以生成所述处理后的DNS名称字符串。
3.根据权利要求1所述的方法,其中,所述多个标签中的每个标签与所述处理后的DNS名称字符串内的子字符串对应,其中,所述子字符串出现在所述处理后的DNS名称字符串内的所述分隔字符的连续实例之间。
4.根据权利要求3所述的方法,其中,在(e)中获得的所述标签子集包括在所述处理后的DNS名称字符串中连续出现的由所述分隔字符隔开的标签。
5.根据权利要求3所述的方法,针对在一与(d)中确定的所述标签的总计数之间的每个值,所述方法进一步包括:
(h)从所述多个标签获得第二标签子集,所述第二标签子集包括标签数量等于所述整数值的若干标签,其中,所述第二标签子集不同于所述标签子集;以及
(i)根据在按顺序读取时来自所述第二标签子集的所述标签在所述处理后的DNS名称字符串中出现的顺序,将所述标签进行级联以生成第二候选令牌,其中,将所述第二候选令牌添加至所述多个候选令牌。
6.根据权利要求5所述的方法,其中,所述第二标签子集包括来自所述多个标签的在所述处理后的DNS名称字符串中连续出现的由所述分隔字符隔开的标签。
7.根据权利要求1所述的方法,其中,所述分隔字符是句点字符。
8.根据权利要求1所述的方法,其中,所述DNS名称字符串采用美国信息交换标准码(ASCII)格式。
9.根据权利要求1所述的方法,其中,所述DNS名称字符串采用统一码格式。
10.一种包括存储器装置和处理器的装置,所述处理器处理域名***DNS名称字符串以获得多个候选令牌来检测假冒,所述存储器装置在其上存储有指令,当由所述处理器执行所述指令时使得所述处理器:
(a)从DNS传感器阵列接收所述DNS名称字符串;
(b)处理所述DNS名称字符串以生成处理后的DNS名称字符串;
(c)基于分隔字符来解析所述处理后的DNS名称字符串以生成多个标签;
(d)确定从(c)中的所述解析生成的所述多个标签中的标签的总计数;
针对在一与(d)中确定的所述标签的总计数之间的每个整数值:
(e)从所述多个标签获得标签子集,所述标签子集由标签数量等于所述整数值的若干标签组成,以及
(f)根据在按顺序读取时所述标签在所述处理后的DNS名称字符串中出现的顺序将从(e)中获得的所述标签子集的所述标签进行级联以生成候选令牌,其中,将所述候选令牌添加至所述多个候选令牌,以及
(g)针对所述多个候选令牌中的每个,分析所述候选令牌以确定所述候选令牌是否与来自多个订户字符串的订户字符串匹配。
11.根据权利要求10所述的装置,其中,针对处理(b),所述处理器被配置为从所述DNS名称字符串移除破折号字符的实例,以生成所述处理后的DNS名称字符串。
12.根据权利要求10所述的装置,其中,所述多个标签中的每个标签与所述处理后的DNS名称字符串内的子字符串对应,其中,所述子字符串出现在所述处理后的DNS名称字符串内的所述分隔字符的连续实例之间。
13.根据权利要求12所述的装置,其中,在(e)中获得的所述标签子集包括在所述处理后的DNS名称字符串中连续出现的由所述分隔字符隔开的标签。
14.根据权利要求12所述的装置,其中,所述处理器进一步被配置为针对在一与(d)中确定的所述标签的总计数之间的每个整数值:
(h)从所述多个标签获得第二标签子集,所述第二标签子集包括标签数量等于所述整数值的若干标签,其中,所述第二标签子集不同于所述标签子集;以及
(i)根据在按顺序读取时来自所述第二标签子集的所述标签在所述处理后的DNS名称字符串中出现的顺序,将所述标签进行级联以生成第二候选令牌,其中,将所述第二候选令牌添加至所述多个候选令牌。
15.根据权利要求14所述的装置,其中,所述第二标签子集包括在所述处理后的DNS名称字符串中连续出现的由所述分隔字符隔开的标签。
16.根据权利要求10所述的装置,其中,所述分隔字符是句点字符。
17.根据权利要求10所述的装置,其中,所述DNS名称字符串采用美国信息交换标准码(ASCII)格式。
18.根据权利要求10所述的装置,其中,所述DNS名称字符串采用统一码格式。
19.一种非暂时性计算机可读介质,所述非暂时性计算机可读介质上存储有指令,所述指令由至少一个计算装置执行时使所述至少一个计算装置执行用于确定来自域名***DNS名称字符串的多个候选令牌中的至少一个何时假冒多个订户字符串中的至少一个的方法,所述方法包括:
(a)从DNS传感器阵列接收所述DNS名称字符串;
(b)处理所述DNS名称字符串以生成处理后的DNS名称字符串;
(c)基于分隔字符来解析所述处理后的DNS名称字符串以生成多个标签;
(d)确定从(c)中的所述解析生成的所述多个标签中的标签的总计数;
针对在一与(d)中确定的所述标签的总计数之间的每个整数值:
(e)从所述多个标签获得标签子集,所述标签子集由标签数量等于所述整数值的若干标签组成,以及
(f)根据在按顺序读取时所述标签在所述处理后的DNS名称字符串中出现的顺序,将从(e)中获得的所述标签子集的所述标签进行级联以生成候选令牌,其中,将所述候选令牌添加至所述多个候选令牌,以及
(g)针对所述多个候选令牌中的每个,分析所述候选令牌以确定所述候选令牌是否与来自所述多个订户字符串的订户字符串匹配。
20.根据权利要求19所述的非暂时性计算机可读介质,其中,所述处理(b)从所述DNS名称字符串移除破折号字符的实例,以生成所述处理后的DNS名称字符串。
21.根据权利要求19所述的非暂时性计算机可读介质,其中,所述多个标签中的每个标签与所述处理后的DNS名称字符串内的子字符串对应,其中,所述子字符串出现在所述处理后的DNS名称字符串内的所述分隔字符的连续实例之间。
22.根据权利要求21所述的非暂时性计算机可读介质,其中,在(e)中获得的所述标签子集包括在所述处理后的DNS名称字符串中连续出现的由所述分隔字符隔开的标签。
23.根据权利要求21所述的非暂时性计算机可读介质,针对在一与(d)中确定的所述标签的总计数之间的每个整数值,所述方法进一步包括:
(h)从所述多个标签获得第二标签子集,所述第二标签子集包括标签数量等于所述整数值的若干标签,其中,所述第二标签子集不同于所述标签子集;以及
(i)根据在按顺序读取时来自所述第二标签子集的所述标签在所述处理后的DNS名称字符串中出现的顺序,将所述标签进行级联以生成第二候选令牌,其中,将所述第二候选令牌添加至所述多个候选令牌。
24.根据权利要求23所述的非暂时性计算机可读介质,其中,所述第二标签子集包括在所述处理后的DNS名称字符串中连续出现的由所述分隔字符隔开的标签。
25.根据权利要求19所述的非暂时性计算机可读介质,其中,所述分隔字符是句点字符。
26.根据权利要求19所述的非暂时性计算机可读介质,其中,所述DNS名称字符串采用美国信息交换标准码(ASCII)格式。
27.根据权利要求19所述的非暂时性计算机可读介质,其中,所述DNS名称字符串采用统一码格式。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/598,038 US9882933B1 (en) | 2017-05-17 | 2017-05-17 | Tokenization of domain names for domain name impersonation detection using matching |
US15/598,023 | 2017-05-17 | ||
US15/598,023 US9762612B1 (en) | 2017-05-17 | 2017-05-17 | System and method for near real time detection of domain name impersonation |
US15/598,038 | 2017-05-17 | ||
US15/692,980 US10200405B2 (en) | 2017-05-17 | 2017-08-31 | Tokenization of domain names for domain name impersonation detection using matching |
US15/692,980 | 2017-08-31 | ||
PCT/US2018/033181 WO2018213574A1 (en) | 2017-05-17 | 2018-05-17 | System, method and domain name tokenization for domain name impersonation detection |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110785979A CN110785979A (zh) | 2020-02-11 |
CN110785979B true CN110785979B (zh) | 2021-02-05 |
Family
ID=64274783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880041998.6A Active CN110785979B (zh) | 2017-05-17 | 2018-05-17 | 用于域名假冒检测的***、方法和域名令牌化 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3635938A4 (zh) |
CN (1) | CN110785979B (zh) |
WO (1) | WO2018213574A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110677384B (zh) * | 2019-08-26 | 2023-01-06 | 奇安信科技集团股份有限公司 | 钓鱼网站的检测方法及装置、存储介质、电子装置 |
US20210112060A1 (en) * | 2019-10-11 | 2021-04-15 | Appiota Inc. | Method and Apparatus to Control and Monitor Access to Web Domains using Networked Devices |
US11645566B2 (en) * | 2020-03-09 | 2023-05-09 | International Business Machines Corporation | Methods and systems for graph computing with hybrid reasoning |
CN113806752A (zh) * | 2021-09-28 | 2021-12-17 | 中汽创智科技有限公司 | 一种漏洞测试方法、装置及存储介质 |
CN114629875B (zh) * | 2022-02-10 | 2024-06-04 | 互联网域名***北京市工程研究中心有限公司 | 主动探测的域名品牌保护方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101221611A (zh) * | 2007-01-11 | 2008-07-16 | 国际商业机器公司 | 用于检测并补救误导超链接的方法和*** |
CN102708186A (zh) * | 2012-05-11 | 2012-10-03 | 上海交通大学 | 一种钓鱼网站的识别方法 |
CN106131071A (zh) * | 2016-08-26 | 2016-11-16 | 北京奇虎科技有限公司 | 一种Web异常检测方法和装置 |
CN106170002A (zh) * | 2016-09-08 | 2016-11-30 | 中国科学院信息工程研究所 | 一种中文仿冒域名检测方法及*** |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8869269B1 (en) * | 2008-05-28 | 2014-10-21 | Symantec Corporation | Method and apparatus for identifying domain name abuse |
US9342698B2 (en) * | 2011-12-30 | 2016-05-17 | Verisign, Inc. | Providing privacy enhanced resolution system in the domain name system |
US9178901B2 (en) * | 2013-03-26 | 2015-11-03 | Microsoft Technology Licensing, Llc | Malicious uniform resource locator detection |
US9332022B1 (en) * | 2014-07-07 | 2016-05-03 | Symantec Corporation | Systems and methods for detecting suspicious internet addresses |
US9479524B1 (en) * | 2015-04-06 | 2016-10-25 | Trend Micro Incorporated | Determining string similarity using syntactic edit distance |
US9979748B2 (en) * | 2015-05-27 | 2018-05-22 | Cisco Technology, Inc. | Domain classification and routing using lexical and semantic processing |
-
2018
- 2018-05-17 EP EP18802598.5A patent/EP3635938A4/en not_active Ceased
- 2018-05-17 WO PCT/US2018/033181 patent/WO2018213574A1/en unknown
- 2018-05-17 CN CN201880041998.6A patent/CN110785979B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101221611A (zh) * | 2007-01-11 | 2008-07-16 | 国际商业机器公司 | 用于检测并补救误导超链接的方法和*** |
CN102708186A (zh) * | 2012-05-11 | 2012-10-03 | 上海交通大学 | 一种钓鱼网站的识别方法 |
CN106131071A (zh) * | 2016-08-26 | 2016-11-16 | 北京奇虎科技有限公司 | 一种Web异常检测方法和装置 |
CN106170002A (zh) * | 2016-09-08 | 2016-11-30 | 中国科学院信息工程研究所 | 一种中文仿冒域名检测方法及*** |
Non-Patent Citations (1)
Title |
---|
基于词素特征的轻量级域名检测算法;张维维等;《软件学报》;20160930;第2348-2364页 * |
Also Published As
Publication number | Publication date |
---|---|
EP3635938A4 (en) | 2021-01-27 |
EP3635938A1 (en) | 2020-04-15 |
WO2018213574A1 (en) | 2018-11-22 |
CN110785979A (zh) | 2020-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9762612B1 (en) | System and method for near real time detection of domain name impersonation | |
CN110785979B (zh) | 用于域名假冒检测的***、方法和域名令牌化 | |
Ding et al. | A keyword-based combination approach for detecting phishing webpages | |
Mowbray et al. | Finding domain-generation algorithms by looking at length distribution | |
US9979748B2 (en) | Domain classification and routing using lexical and semantic processing | |
US10178107B2 (en) | Detection of malicious domains using recurring patterns in domain names | |
US20090089859A1 (en) | Method and apparatus for detecting phishing attempts solicited by electronic mail | |
US9882933B1 (en) | Tokenization of domain names for domain name impersonation detection using matching | |
US20090055928A1 (en) | Method and apparatus for providing phishing and pharming alerts | |
US11212313B2 (en) | Detection of domain name impersonation | |
US11757901B2 (en) | Malicious homoglyphic domain name detection and associated cyber security applications | |
US10911477B1 (en) | Early detection of risky domains via registration profiling | |
Deshpande et al. | Detection of phishing websites using Machine Learning | |
CN110572359A (zh) | 基于机器学习的钓鱼网页检测方法 | |
US8880611B1 (en) | Methods and apparatus for detecting spam messages in an email system | |
CN112948725A (zh) | 基于机器学习的钓鱼网站url检测方法及*** | |
Raja et al. | Mudhr: Malicious URL detection using heuristic rules based approach | |
KR20220152167A (ko) | 도메인 네임 시스템(dns) 레코드들의 세트에서 피싱-도메인들을 검출하기 위한 시스템 및 방법 | |
Sawabe et al. | Detection method of homograph internationalized domain names with OCR | |
US20230112092A1 (en) | Detecting visual similarity between dns fully qualified domain names | |
Koide et al. | PhishReplicant: A Language Model-based Approach to Detect Generated Squatting Domain Names | |
Almarzooqi et al. | Detecting Malicious Domains Using Statistical Internationalized Domain Name Features in Top Level Domains | |
CN114024701A (zh) | 域名检测方法、装置及通信*** | |
Upadhyay et al. | Feature extraction approach to unearth domain generating algorithms (DGAS) | |
Abhijith et al. | Detection of Malicious URLs in Twitter |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40015835 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |