CN106453229B - 用于检测对域名系统记录系统的更新的方法、系统和介质 - Google Patents
用于检测对域名系统记录系统的更新的方法、系统和介质 Download PDFInfo
- Publication number
- CN106453229B CN106453229B CN201610630826.5A CN201610630826A CN106453229B CN 106453229 B CN106453229 B CN 106453229B CN 201610630826 A CN201610630826 A CN 201610630826A CN 106453229 B CN106453229 B CN 106453229B
- Authority
- CN
- China
- Prior art keywords
- record
- data point
- data
- domain name
- stream
- 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
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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- 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/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种用于检测对域名系统记录系统的更新的计算机实现的方法。在所述方法中,接收数据点的流,每个数据点描述域名系统的记录。针对各个数据点,从多个处理器中选择处理器。所述处理器各自被配置为将数据点应用于评估所述数据点是否在集合中的公共过滤器。在所述选择的处理器处,将所述各个数据点应用于所述公共过滤器以确定在所述集合中是否包括所述记录。当确定在所述集合中不包括所述记录时,提供指示所述域名系统包括新记录的消息,并且更新所述公共过滤器以将所述数据点包括在所述集合中。
Description
技术领域
本领域大体上涉及网络安全性,并且更具体地涉及收集并且处理域名系统(DNS)记录。
背景技术
例如,通信网络可以允许在两个地理位置上相距遥远的位置之间传输数据。为了通过网络发送数据,通常将数据分为片,称为数据包或者块。每个数据包或者块可以具有指示数据包的目的地以及数据包所应该路由的中间转发装置的目的地网络地址(诸如,IP地址)。这些地址常常为数值,很难被记住,并且可以经常变化。
为了识别目的地,经常使用域名。域名识别目的地主机或者服务器并且可以映射到对应的网络地址。例如,域名www.example.com可以映射到网络地址93.184.216.119。为了将域名映射到网络地址,可以使用域名系统(DNS)。DNS可以将命名空间分为层级,该层级具有控制该层级的不同部分的不同组织。在层级的不同部分中,不同的名称服务器可以存储资源记录,该资源记录将域名映射到网络地址。
为了从域名查找网络地址,DNS可以使用解析器,该解析器可以针对不同的名称服务器执行查询序列。例如,用于解析www.example.com的查询序列可以开始于根名称服务器,该根名称服务器指示针对.com的名称服务器的地址。然后,DNS解析器可以向用于.com的名称服务器查询用于example.com的名称服务器的地址。然后,DNS解析器可以向用于example.com的名称服务器查询www.example.com的地址。实际上,由于解析器不需要针对每个请求查阅整个序列,所以解析器可以缓存不同的名称服务器的地址。
每天都有许多新的域被注册。然而,并不是所有的域都是为了合法的目的而注册。一些域是为了恶意的目的而注册。一种恶意目的是影响网络服务。这些可以被称为拒绝服务攻击。拒绝服务攻击的一个示例是传输控制协议(TCP)泛洪攻击滥用。
其它网络滥用可能不试图影响服务,相反,出于其它不恰当的目的,可能会发出网络请求,包括应用级请求。在这些滥用中,自动化系统可能会发出应用请求,该应用请求例如设立假用户账户并且试图诱使用户移交机密信息,诸如,她的密码、信用卡信息或者社会保障号,或者运行其它骗局。可以注册域来支持这些滥用以及其它类型的网络滥用,包括:恶意软件、网络钓鱼或者垃圾邮件。
为了防止网络滥用,网络管理员可以将DNS解析器配置为阻塞或者重定向对被认为是恶意的域名的查找。例如,域名服务响应策略区(DNS RPZ)提供阻塞或者重定向指定域名查找的机制。
在这些网络滥用中,攻击者常常在注册之后立即使用他们的域名并且仅使用很短一段时间。相反,合法的网络服务可能不会在注册之后太快使用它们的域名并且会继续使用它们的域名很长一段时间。因此,可以将新观察到的域(NOD),例如,在特定时段(例如,过去5分钟、1小时、12小时或者甚至24小时)内已经注册的域,识别为潜在恶意的。服务可用于向DNS解析器提供这些新观察到的域,以在该时段内阻塞域名查找。但是大规模地追踪新观察到的域可能需要很大的计算量。
需要更加有效地检测新观察到的域的系统和方法。
发明内容
在实施例中,计算机实现的方法检测对域名系统记录系统的更新。在该方法中,接收数据点的流,每个数据点描述域名系统的记录。针对各个数据点,从多个处理器中选择处理器。处理器各自被配置为将数据点应用于评估所述数据点是否在集合中的公共过滤器。在选择的处理器处,将各个数据点应用于公共过滤器以确定在集合中是否包括记录。当确定在集合中不包括记录时,提供指示域名系统包括新记录的消息,并且更新公共过滤器以将数据点包括在集合中。
也公开了系统和计算机程序产品实施例。
下面参照附图详细地描述本发明的进一步实施例、特征和优点以及不同实施例的结构和操作。
附图说明
包括在本文中并且形成说明书的部分的附图示出了本公开并且连同本说明书进一步用于阐释本公开的原理并且使本领域的技术人员能够制作和使用本公开。
图1是图示了根据实施例的用于识别先前未观察到的新DNS记录的系统的示意图。
图2是更详细地图示了图1所示的更新器的示例架构的示意图。
图3是图示了在图1中的系统阻塞潜在恶意域名的示例应用的流程图。
图4是图示了根据实施例的用于识别先前未观察到的新DNS记录的方法的流程图。
元件第一次出现的附图通常由对应附图标记的最左边的一个或多个数字指示。在附图中,同样的附图标记可以指示相同的或者功能相似的元件。
具体实施方式
实施例通过使用共享公共过滤器的多个处理器加快了识别新域名记录的过程。过滤器被配置为确定域记录信息是否存在于先前检测到的信息集中。如果过滤器指示检测到的域名记录信息不存在于集合中,则将域识别为新观察到的。当新观察到域时,将域信息排队,以便写入至公共过滤器。处理器可以,例如,在分布式计算环境中的不同线程或甚至不同机器上并行地运行。相反,可以通过使用单个写入器线程将所有排队的新观察到的域都写入至公共过滤器,以提供一致性并且防止死锁。
通过使多个处理器并行地运行,实施例可以更加快速地并且有效地检测新域名记录。具体地,可能都不需要多个阅读器线程和写入器来在公共过滤器上获取锁定。这样,实施例允许可扩展性,从而使系统能够快速地处理大量数据。例如,本文所公开的技术可以用于检测对其它大分布式数据库的更新。
虽然为了说明起见针对域名数据对实施例进行了描述,但是本领域的技术人员要认识到,本公开的方面(诸如,具有将数据与公共过滤器进行比较的并行阅读器处理器)也适用于其它类型的数据。这样,实施例可以用于检测各种不同数据类型的变化。
将下述详细说明分为几个部分。第一部分参照图1描述了用于检测在来自DNS数据的流的大量DNS记录之中的新DNS记录的系统。第二部分参照图2描述了用于更新用于识别每个DNS记录的新颖性的公共过滤器的机制。第三部分参照图3描述了DNS数据处理系统针对网络安全性的应用。最后,第四部分参照图4描述了用于识别先前未观察到的新DNS记录的方法,该方法可以用在图1中的系统的操作中。
识别新DNS记录
图1是图示了DNS数据处理系统100的示意图。DNS数据处理系统100识别先前未被系统观察到的并且未被记录在DNS数据库中的新DNS记录。DNS数据处理系统100包括流接收器104、变化检测器120、布隆过滤器(Bloom filter)116、流输出器112、DNS数据库108、更新器118和时移复制器(time-shift duplicator)120。下面描述了这些部件中的每一个。
DNS数据处理系统100接收DNS数据记录102作为输入。DNS数据记录102可以是数据点的流,每个数据点描述域名系统的记录。可以从由DNS传感器节点阵列观察到的DNS记录中检测DNS响应记录102,如下面将参照图3所描述的。当该数据在互联网上被使用时,该数据实时提供DNS配置和内容数据的快照。
可以将DNS响应记录分解为多个资源记录集合(RRset)。RRset可以包括一个或者多个DNS资源记录(RR)。RR可以是单个DNS记录,并且可以包括多个字段。这些字段包括:
●所有者名称字段,该所有者名称字段可以指定完全合格的域名(FQDN),诸如,www.example.com,为该域名生成DNS查询;
●生存时间(TTL)字段,该TTL字段可以指示可以缓存RR的以秒计的时间量。
●类字段,该类字段可以指示协议族或者诸如针对互联网协议的“IN”的协议的实例。
●类型字段,该类型字段可以指示DNS记录的类型。RR类型的示例是指示DNS记录将FQDN映射到IPV4地址的类型“A”(答复)。作为另一示例,RR类型“AAAA”指示DNS记录将FQDN映射到IPV6地址。
●类型专用数据,诸如,映射到所查询的FQDN的IP地址。
在示例中,如上面所提及的,DNS记录可以将完全合格的域名(FQDN)映射到互联网协议(IP)地址。RRset可以是针对给定域的给定类型的所有资源记录的集合。例如,多个RR可以将诸如www.example.com的FQDN映射到多个不同的IPV4地址。在该示例中,针对www.example.com的RRset包含所有这些IPV4地址。
在实施例中,可以将DNS数据记录102重新格式化,从而使它们可以通过流接收器104来读取。另外,DNS数据记录102可以经过一些解复制以在将DNS数据记录102提供给流接收器104之前移除一些重复的DNS记录。
流接收器104是接收DNS数据记录102的通信信道。例如,可以通过使用侦听DNS数据记录的专用通信端口(诸如,UDP端口)来实现流接收器104。在另一示例中,可以通过使用VLAN信道来实现流接收器104。流接收器104将接收到的数据流转发至变化检测器120并且将其存储在DNS数据库108中。
变化检测器120包括打包器106和多个处理器110A…N。打包器106将接收到的DNS记录扇出至多个处理器110A…N。具体地,打包器106可以将从流接收器104接收到的DNS信息打包为数据包。在实施例中,可以将每个RR或者RRset打包为单个数据包。在其它实施例中,可以将多个RR或者RRset一起打包为单个数据包。在第三实施例中,可以使用混合的方法,其中,较大的RRset具有其自己的数据包,而较小的RRset可以一起组成数据包。在该实施例中,可以将数据包组装为具有相似的大小并且在多个处理器110A…N之间分配计算负担。这样,变化检测器120将DNS数据点组织为多个数据包。
在将DNS数据点组织为多个数据包之后,打包器106从多个处理器中选择处理器来发送每个数据包。为了选择处理器,打包器106可以使用轮询或者负载平衡方案。在为数据包选择处理器110之后,打包器106将数据包发送至选择的处理器110的通信端口。在示例中,通过使用用户数据报协议(UDP)来将DNS记录发送至处理器110A…N。也可以使用其它协议,包括其它传输层协议,诸如,传输控制协议(TCP)。
每个处理器110可以是虚拟处理器或者实体处理器。所有处理器110A…N可以都驻留在一个机器上,或者可替代地驻留在分开的机器上。每个处理器110可以具有彼此独立地运行的不同执行线程。每个处理器110可以分配有通信端口,在该通信端口上,该处理器110侦听可以从打包器106接收到的数据。
在接收到数据包时,处理器110对其进行解析以检索不同数据点(诸如,DNS资源记录的不同字段)。处理器110可以基于获得的信息来生成密钥。在示例实施例中,处理器110为每个RRset生成五种类型的密钥:
(1)从记录的派生基本域名(例如,“example.com”)生成D密钥,
(2)从记录的FQDN(例如,“www.example.com”)生成N密钥,
(3)通过使用FQDN和RRtype(例如“www.example.com”和“IPv4”)来生成T密钥,
(4)也通过使用FQDN和RRtype(例如,“IPv4”和“93.184.216.119”、“93.184.216.120”)来生成一个或者多个R密钥,为在RRset中的每个RR都生成一个R密钥,以及
(5)通过使用RRset、RRtype和FQDN来生成S密钥。
可以使用这五个密钥作为标准来描述域名。如果先前未接收到这些密钥中的任何一个或者全部,则可以将域名识别为新观察到的。
可以生成另外的或者替代的密钥或者使用RRset的不同特征的相似密钥以描述RRset。例如,可以从以下生成其它密钥:(1)RRset的第一次看到的时间戳和最后一次看到的时间戳、(2)RRset起源的服务器IP、(3)与RRset相关联的DNS辖区(授予记录所来自的服务器IP的域,例如,根服务器或者委托服务器等)。这些密钥也可以用于生成上述“S”密钥。可以通过使用不同的方法从来自DNS记录的检索到的信息生成密钥。在示例中,可以将哈希函数应用于从每个DNS记录获得的字符串以确定各自的密钥。
处理器110将为每个DNS记录生成的密钥应用于布隆过滤器116。布隆过滤器116是处理器110A…N共用的并且在该处理器110A…N之中共享的过滤器。过滤器可以根据数据的集合加以配置并且用于测试数据是否在该集合中。布隆过滤器116可以是空间高效的概率性数据结构。假阳性匹配也许是可能的,但是假阴性也许不可能。换言之,对布隆过滤器的查询返回“可能在集合中”或者“肯定不在集合中”。可以向集合添加元素,但是不能移除元素。添加至集合的元素越多,假阳性的概率越大。布隆过滤器是说明性的,可以使用其它类型的过滤器。
在实施例中,可以使用多个公共过滤器,上面识别到的每个类型的密钥都具有一个公共过滤器。在该实施例中,根据生成的该类型的密钥的集合,例如,从记录的FQDN生成的“N”密钥的集合,来配置每个过滤器。而且,处理器110在其对应的过滤器中查找每个密钥。
如果布隆过滤器116确定从DNS记录生成的所有密钥都已经与布隆过滤器116中的先前输入的密钥匹配,则处理器110终止记录。
否则,如果布隆过滤器116确定描述了域名记录的任何密钥都不在先前接收到的密钥的集合中,则处理器110确定域名记录是新观察到的。基于哪个密钥不在布隆过滤器116中,处理器110还可以确定域名记录的哪个字段已经被更新。处理器110可以向流输出器112提供识别新观察到的DNS资源记录的消息和认为DNS资源记录是新观察到的原因。
例如,在上述五个示例密钥中,处理器110提供给流输出器112的记录的新颖性的原因可以是识别五个密钥(“D”、“N”、“T”、“R”、“S”)的任何代码。例如,如果DNS记录包括新基本域名(例如,检测到“example.com”为新的),则所有五个密钥都会是新的,因此报告的原因可以是“DNTRS”。在第二示例中,如果识别到新的FQDN,但是基本域保持不变(例如,“www.example.com”是先前检测到的,但是“ftp.example.com”是新的),则原因会是“NTRS”。在第三示例中,如果针对相同的FQDN识别到新的RRtype(例如,针对www.example.com之前仅仅检测到IPv4地址,但是检测到IPv6地址),则将原因报告为“TRS”。在第四并且是最后一个示例中,如果识别到新的资源记录(例如,“www.example.com”具有映射到其的新IP地址),则原因会是“RS”,并且最后,如果识别到新的RRset,则原因会是“S”。
处理器110A…N将识别新观察到的域的消息发送给流输出器112。流输出器112将消息的流转发至更新器118和时移解复制器(time-shift de-duplicator)120。
更新器118可以基于识别为新的DNS记录和在DNS数据库108中存储的DNS记录来更新布隆过滤器116。具体地,其更新布隆过滤器116从而使其测试的集合包括新观察到的DNS记录。这样,如果变化检测器120再次接收到DNS记录,则布隆过滤器116将它们识别为在先前接收到的DNS记录的集合中并且将它们终止。更新器118也对DNS数据库108的新变化进行检索,并且根据这些变化来更新布隆过滤器116。下面参照图2更详细地描述更新器118的操作。
迟滞可能发生在更新器118更新布隆过滤器116之前。如果在更新器118获得将DNS记录输入到布隆过滤器116中的机会之前再次观察到该DNS记录,则可以将相同的记录识别为比第一次更为新。因此,副本可能存在于从流输出器112输出的DNS记录中。为了移除这种副本,将来自流输出器112的由此产生的DNS记录输入到进一步对这些记录进行解复制的时移解复制器模块120中。
例如,时移解复制器模块120可以在特定时段内通过存储由流输出器112接收到的所有消息来操作。在更新布隆过滤器116时可以根据更新器118的迟滞时间来选择该时段。当新消息到来时,时移解复制器模块120可以将该消息与其已经存储的消息进行比较。在一个示例中,时移解复制器模块120可以使用哈希表来表示消息。如果消息与时移解复制器模块120先前已经存储的消息匹配,则时移解复制器模块120可以终止副本数据包。否则,时移解复制器模块120可以转发消息作为DNS记录更新114。
这样,系统100接收DNS数据记录102,分析该记录,并且识别哪个记录是新观察到的。转发新观察到的记录作为DNS记录更新114。如下面参照图3更详细描述的,可以使用记录更新114来阻塞新观察到的域,从而提高安全性。
更新公共过滤器
图2是图示了更新过滤器的系统200的示意图。系统200可以是在图1中的系统的子系统。来自系统100,系统200包括流输出器112、DNS数据库108、布隆过滤器116和更新器118。更新器118包括多个模块:信道更新器202、多个数据库更新器204A…N、插入队列206和写入器208。下面描述这些模块中的每一个。
系统200开始于接收来自流输出器112的被识别为新观察到的DNS记录。如针对系统100所讨论的,流输出器112将作为消息的记录发送至更新器118。在更新器118中,这些消息由信道更新器202接收。
可以通过使用专用于侦听流输出器112的线程来实现信道更新器202。例如,信道更新器202可以在TCP或者UDP端口上侦听来自流输出器112的数据。一旦信道更新器202接收到来自流输出器的DNS更新,信道更新器202将更新插入到插入队列206中。信道更新器202将更新插入到插入队列206中,而不会导致对布隆过滤器116的锁定。
插入队列206可以是由在其上使项排队的多个进程(例如,信道更新器202和数据库更新器204A…N)和写入器208共享的多进程队列。写入器208重复地对插入队列206的项进行解排队并且更新布隆过滤器116,从而使布隆过滤器116测试的集合包括这些项。
通过接收来自信道更新器202的更新,将布隆过滤器116更新为随着其实时或者近乎实时地收集,反映新DNS数据。然而,也可能需要将布隆过滤器116更新为反映先前收集到的历史DNS数据。为此,系统200使用数据库更新器204A…N。
可以在分开的处理器上或者分开的机器上实现每个数据库更新器204A…N,或者该数据库更新器204A…N可以仅仅是在单个机器上的多个进程。在DNS数据库108中存储的每个DNS记录由数据库更新器204中的一个处理。与参照图1的变化检测器120所描述的机制相似,可以通过轮询机制或者其它负载分布机制来做出关于数据库更新器204应该处理下一个DNS记录的决定。
与图1的变化检测器120的操作相似,每个数据库更新器204为其处理的每个DNS记录生成多个密钥。数据库更新器204然后将布隆过滤器116应用于生成的密钥以确定它们是否在过滤器的先前接收到的密钥的集合中。如果从DNS记录生成的所有密钥已经与在布隆过滤器116中的先前输入的密钥匹配,则数据库更新器204可以不采取行动。
相反,如果从DNS记录生成的所有密钥与在布隆过滤器116中的先前输入的密钥不匹配,则可以将DNS记录识别为新观察到的,并且将密钥中的至少一个添加至插入队列(206)(仍然不会获得锁定)以被输入到布隆过滤器116中。
最后,写入器208可以(例如通过使用专用线程来实现)对来自插入队列206的DNS记录数据或者密钥逐个地解排队。写入器208可以为其解排队的每个DNS记录生成多个密钥,如前所述。而且,写入器208将密钥输入到布隆过滤器116中。写入器模块208可能不会获得用于更新布隆过滤器116的任何锁定。
这样,系统200利用来自DNS数据库108的历史DNS数据和来自流输出器112的新检测到的DNS数据来更新布隆过滤器116。
将DNS数据处理系统用于网络安全性
图3图示了根据实施例的DNS数据处理系统100的应用。具体地,图3图示了将新检测到的域通知给DNS解析器从而使它们可以阻塞新域一段时间的系统300。系统300包括DNS传感器节点302A…N、流成形器308、图1的DNS数据处理系统100、RPZ生成器304、和在网络310上的DNS解析器312A…N。
多个DNS传感器节点302A…N对由DNS服务器和解析器解析的DNS查询进行观察,并且记录这些DNS查询。可以将DNS传感器节点302A…N放置在世界各地的战略性观察点处。它们可以处于在互联网服务提供商(ISP)、互联网交易所、互联网云服务运营商、知名社交网络、大学和大型企业处的生产网络中。多个DNS传感器节点302A…N可以将收集到的DNS信息发送至流成形器308。
流成形器308可以对这些记录执行初始解复制过程并且移除重复的DNS记录。这样,流成形器308产生较小的DNS记录的集合,图示为DNS数据记录102。在示例实施例中,流成形器308也可以将DNS记录102从第一格式重新格式化为与DNS数据处理系统100的格式要求兼容的第二格式。在流成形器308处理记录之后,该流成形器308将这些记录提供给DNS数据处理系统100。
如上面针对图1所描述的,DNS数据处理系统100对DNS数据记录102执行诸如滤波和解复制的进一步处理。DNS数据处理系统100也识别在DNS记录102中的与NOD对应的DNS记录,并且更新其DNS记录数据库,如先前参照图1和图2所描述的。DNS数据处理系统100的输出是被净化和滤波的DNS记录更新114的列表,其被传递至响应策略区(RPZ)生成器304。
RPZ生成器304使用接收到的DNS记录更新114,并且将其转换为标准化的RPZ格式。RPZ生成器304可以进一步使用该数据来更新RPZ数据库(其包括列入黑名单的网站列表,该列入黑名单的网站包含恶意数据,诸如,垃圾邮件和恶意软件)。RPZ生成器304可以具有阻塞新观察到的域一段特定时间的策略。例如,网络管理员可以将RPZ生成器304配置为生成RPZ数据306,该RPZ数据306在第一次观察到域之后阻塞新观察到的域10分钟。在一个可能的实施例中,可以每隔10分钟发布RPZ数据306以阻塞在过去10分钟内第一次观察到的所有域名的列表。
RPZ数据306可以由DNS解析器(例如,在网络310上的DNS解析器312A…N)访问和使用。当诸如网络浏览器等应用需要特定域名的网络(例如,IP)地址时,其向DNS解析器312发送请求。在对请求作出响应之前,DNS解析器312可以检查其RPZ数据以确定该网站是否被列入黑名单。如果其没有被列入黑名单,则DNS解析器312可以执行递归查询以解析域名的对应网络地址。如果域名被列入黑名单,则DNS解析器312可能不会对请求作出响应或者可以利用网站的IP地址来对请求作出响应,该IP地址指示所请求的域已经被阻塞并且是潜在恶意的。
这样,系统300使用由系统100检测到的新观察到的域来阻塞潜在恶意的域名。
用于检测对DNS记录系统的更新的方法
图4是图示了用于检查在集合中存在DNS数据记录,并且每当DNS数据记录包含先前未通过使用多处理器方案而被输入到集合中的新数据时便更新该集合的方法400的流程图。可以在图1所示的系统100和图2所示的系统200的操作两者中使用该方法。
在该方法中,在步骤410中,接收一组DNS数据记录。为了加速对接收到的DNS数据的处理,在步骤420中,通过将处理每个接收到的DNS数据记录的任务分配给在多个可用处理器中的一个处理器,来使用并行处理。将新接收到的DNS数据记录分配至特定处理器可以基于多种方案。例如,可以使用轮询机制来在所有处理器中平均分配处理负荷。可替代地,该分配可以是基于应用于新接收到的DNS数据记录的哈希函数。
在步骤430中,所选择的处理器对DNS记录进行处理。例如,在实施例中,在步骤430中,所选择的处理器可以使用在该数据记录中的信息来生成多个密钥。因此,在步骤430中,将在数据记录中的信息应用于公共过滤器,以找出数据记录是否包含先前未存储在集合中的任何新信息。针对所选择的处理器基于每个DNS记录生成多个密钥的示例实施例,可以在包含当前集合的布隆过滤器中查找生成的密钥以确定密钥中的任何一个对于布隆过滤器而言是否是新的。
在步骤440中,基于在步骤430中执行的查找的结果来生成消息。在步骤450中,如果该消息指示步骤430的数据记录查找确实导致了新数据的识别(尚未在集合中),则将公共过滤器更新为将新DNS数据记录包括在集合中。
结论
DNS数据库108可以是任何存储类型的结构化存储器,包括永久存储器。在示例中,可以将该数据库实施为关系数据库或者文件系统。
在图1、图2和图3中的处理器和模块中的每一个,包括流接收器104、打包器106、处理器110A…N、流输出器112、布隆过滤器116、更新器118、流输出器112、时移解复制器120、信道更新器202、数据库更新器204A…N、写入器208、DNS传感器节点302A…N、流成形器308、RPZ生成器304和DNS解析器312A…N,都可以实施在硬件、软件、固件或者其任何组合中。
在图1、图2和图3中的处理器和模块中的每一个都可以实施在相同的或者不同的计算装置中。这种计算装置可以包括但是不限于个人计算机、诸如移动电话等移动装置、工作站、嵌入式系统、游戏机、电视机、机顶盒或者任何其它计算装置。进一步地,计算装置可以包括但是不限于具有处理器和存储器的装置,包括用于执行和存储指令的非暂时性存储器。存储器可以有形地包含数据和程序指令。软件可以包括一个或者多个应用和操作系统。硬件可以包括但是不限于处理器、存储器和图形用户界面显示器。计算装置也可以具有多个处理器和多个共享的或者分开的存储部件。例如,计算装置可以是集群或者分布式计算环境或者服务器群的部分或者整体。标识(诸如,“(a)”、“(b)”、“(i)”、“(ii)”等)有时用于不同的元件或者步骤。为了清楚起见,使用这些标识,并且这些标识并不一定表示元件或者步骤的顺序。
上面已经借助于功能创建框对本发明进行了描述,该功能创建框图示了特定功能及其关系的实现。为了方便说明起见,本文已经随意限定了这些功能创建框的边界。可以限定交替边界,只要恰当地执行该特定功能及其关系。
前文对特定实施例的说明将完全揭露本发明的一般性质,在不脱离本发明的一般构思的情况下,本领域的其他技术人员可以在不需要过度实验的情况下通过应用知识来容易地修改和/或适应这种特定实施例的不同应用。因此,基于本文所呈现的教导和指导,这种适应和修改旨在落入所公开的实施例的等效物的涵义和范围内。要理解,本文中的措辞或者术语是为了说明的图示,而不是为了限制,使得本领域的技术人员根据该教导和指导来阐释本说明书的术语或者措辞。
本发明的广度和范围不应该限于上述示例性实施例中的任何一个,而是应该仅仅根据以下权利要求书及其等效物来定义。
Claims (18)
1.一种用于检测对域名系统记录系统的更新的计算机实现的方法,所述方法包括:
接收数据点的流,每个所述数据点描述域名系统的记录;
针对在所述数据点的流中的各个数据点:
从多个处理器中选择处理器,所述多个处理器中的每个处理器被配置为将数据点应用于评估所述数据点是否在集合中的公共过滤器;
在所述选择的处理器处,将所述各个数据点应用于所述公共过滤器以确定在所述集合中是否包括所述记录;
当确定在所述集合中不包括所述记录时:
提供指示所述域名系统包括新记录的消息;并且
更新所述公共过滤器以将所述数据点包括在所述集合中,
其中,所述公共过滤器是布隆过滤器。
2.根据权利要求1所述的方法,进一步包括:
将所述数据点组织为多个数据包,其中,所述选择包括为在所述多个数据包中的各个数据包选择处理器;以及
将所述数据包发送至所述选择的处理器以将所述公共过滤器应用于在所述数据包中的每个数据点。
3.根据权利要求1所述的方法,进一步包括:
针对在所述数据点的流中的各个数据点,将所述记录存储在数据库中;以及
基于所述数据库来更新所述公共过滤器。
4.根据权利要求3所述的方法,进一步包括:
当确定在所述集合中不包括所述记录时,将来自所述数据库的所述记录和数据存储到队列中;以及
对来自所述队列的数据进行检索以更新所述公共过滤器。
5.根据权利要求1所述的方法,进一步包括:响应于所述消息,阻塞与所述记录相关联的域。
6.根据权利要求1所述的方法,其中,所述数据点的流包括:(i)来自所述域名系统的新基本域名、(ii)来自所述域名系统的完全合格的域名、(iii)指示DNS记录的类型的类型字段、(iv)指示协议族或者协议的实例的类字段、和(v)类型专用数据。
7.一种具有在其上存储的指令的非暂时性计算机可读介质,所述指令在由至少一个计算装置执行时使所述至少一个计算装置执行用于检测对域名系统记录系统的更新的方法,所述方法包括:
接收数据点的流,每个所述数据点描述域名系统的记录;
针对在所述数据点的流中的各个数据点:
从多个处理器中选择处理器,所述多个处理器中的每个处理器被配置为将数据点应用于评估所述数据点是否在集合中的公共过滤器;
在所述选择的处理器处,将所述各个数据点应用于所述公共过滤器以确定在所述集合中是否包括所述记录;
当确定在所述集合中不包括所述记录时:
提供指示所述域名系统包括新记录的消息;并且
更新所述公共过滤器以将所述数据点包括在所述集合中,
其中,所述公共过滤器是布隆过滤器。
8.根据权利要求7所述的非暂时性计算机可读介质,所述方法进一步包括:
将所述数据点组织为多个数据包,其中,所述选择包括为在所述多个数据包中的各个数据包选择处理器;以及
将所述数据包发送至所述选择的处理器以将所述公共过滤器应用于在所述数据包中的每个数据点。
9.根据权利要求7所述的非暂时性计算机可读介质,所述方法进一步包括:
针对在所述数据点的流中的各个数据点,将所述记录存储在数据库中;以及
基于所述数据库来更新所述公共过滤器。
10.根据权利要求9所述的非暂时性计算机可读介质,所述方法进一步包括:
当确定在所述集合中不包括所述记录时,将来自所述数据库的所述记录和数据存储到队列中;以及
对来自所述队列的数据进行检索以更新所述公共过滤器。
11.根据权利要求9所述的非暂时性计算机可读介质,所述方法进一步包括:响应于所述消息,阻塞与所述记录相关联的域。
12.根据权利要求9所述的非暂时性计算机可读介质,其中,所述数据点的流包括:(i)来自所述域名系统的新基本域名、(ii)来自所述域名系统的完全合格的域名、(iii)指示DNS记录的类型的类型字段、(iv)指示协议族或者协议的实例的类字段、和(v)类型专用数据。
13.一种用于检测对域名系统记录系统的更新的系统,所述系统包括:
计算装置;
流接收器,所述流接收器实现在所述计算装置上,所述流接收器接收数据点的流,每个所述数据点描述域名系统的记录;
多个处理器,每个处理器被配置为将数据点应用于评估所述数据点是否在集合中的公共过滤器;
变化检测器,所述变化检测器实现在所述计算装置上,针对在所述数据点的流中的各个数据点,所述变化检测器从所述多个处理器中选择处理器,其中,所述选择的处理器将所述各个数据点应用于所述公共过滤器以确定在所述集合中是否包括所述记录;
流输出器,所述流输出器实现在所述计算装置上,当确定在所述集合中不包括所述记录时,所述流输出器提供指示所述域名系统包括新记录的消息;以及
更新器,所述更新器实现在所述计算装置上,当确定在所述集合中不包括所述记录时,所述更新器更新所述公共过滤器以将所述数据点包括在所述集合中,
其中,所述公共过滤器是布隆过滤器。
14.根据权利要求13所述的系统,进一步包括:
打包器,所述打包器将所述数据点组织为多个数据包并且将所述数据包发送至所述选择的处理器,以将所述公共过滤器应用于在所述数据包中的每个数据点,其中,所述变化检测器为在所述多个数据包中的各个数据包选择处理器。
15.根据权利要求13所述的系统,进一步包括:
数据库,所述数据库将所述数据点存储在所述数据点的流中,其中,所述更新器基于所述数据库来更新所述公共过滤器。
16.根据权利要求15所述的系统,进一步包括:
队列,所述队列存储来自所述数据库的所述记录和数据;以及
写入器,所述写入器对来自所述队列的数据重复地进行解排队以更新所述公共过滤器。
17.根据权利要求13所述的系统,进一步包括:响应策略区生成器,所述响应策略区生成器响应于所述消息阻塞与所述记录相关联的域。
18.根据权利要求13所述的系统,其中,所述数据点的流包括:(i)来自所述域名系统的新基本域名、(ii)来自所述域名系统的完全合格的域名、(iii)指示DNS记录的类型的类型字段、(iv)指示协议族或者协议的实例的类字段、和(v)类型专用数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810481087.7A CN108616544B (zh) | 2015-08-04 | 2016-08-04 | 用于检测对域名系统记录系统的更新的方法、系统和介质 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/817,880 US9264440B1 (en) | 2015-08-04 | 2015-08-04 | Parallel detection of updates to a domain name system record system using a common filter |
US14/817,880 | 2015-08-04 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810481087.7A Division CN108616544B (zh) | 2015-08-04 | 2016-08-04 | 用于检测对域名系统记录系统的更新的方法、系统和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106453229A CN106453229A (zh) | 2017-02-22 |
CN106453229B true CN106453229B (zh) | 2018-06-19 |
Family
ID=55275563
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810481087.7A Active CN108616544B (zh) | 2015-08-04 | 2016-08-04 | 用于检测对域名系统记录系统的更新的方法、系统和介质 |
CN201610630826.5A Active CN106453229B (zh) | 2015-08-04 | 2016-08-04 | 用于检测对域名系统记录系统的更新的方法、系统和介质 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810481087.7A Active CN108616544B (zh) | 2015-08-04 | 2016-08-04 | 用于检测对域名系统记录系统的更新的方法、系统和介质 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9264440B1 (zh) |
CN (2) | CN108616544B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9264440B1 (en) * | 2015-08-04 | 2016-02-16 | Farsight Security, Inc. | Parallel detection of updates to a domain name system record system using a common filter |
US9762542B2 (en) * | 2015-08-04 | 2017-09-12 | Farsight Security, Inc. | Parallel detection of updates to a domain name system record system using a common filter |
US10521453B1 (en) | 2016-09-07 | 2019-12-31 | United Services Automobile Association (Usaa) | Selective DNS synchronization |
US10592307B2 (en) * | 2016-12-13 | 2020-03-17 | Salesforce.Com, Inc. | Multi user threaded executor |
CN112839113B (zh) * | 2019-11-22 | 2023-01-31 | 中国互联网络信息中心 | 域名存储与解析方法、装置、电子设备及存储介质 |
US10715484B1 (en) * | 2019-12-11 | 2020-07-14 | CallFire, Inc. | Domain management and synchronization system |
US11962618B2 (en) * | 2020-12-28 | 2024-04-16 | Citrix Systems, Inc. | Systems and methods for protection against theft of user credentials by email phishing attacks |
US11582247B1 (en) * | 2022-04-19 | 2023-02-14 | Palo Alto Networks, Inc. | Method and system for providing DNS security using process information |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7548908B2 (en) * | 2005-06-24 | 2009-06-16 | Yahoo! Inc. | Dynamic bloom filter for caching query results |
CN104601557A (zh) * | 2014-12-29 | 2015-05-06 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 一种基于软件定义网络的恶意网站防护方法及系统 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8849838B2 (en) * | 2008-01-15 | 2014-09-30 | Google Inc. | Bloom filter for storing file access history |
US20090300016A1 (en) * | 2008-06-02 | 2009-12-03 | Microsoft Corporation | Techniques for filtering data |
CN101567815B (zh) * | 2009-05-27 | 2011-05-11 | 清华大学 | 域名服务器dns放大攻击的有效检测与抵御方法 |
CN102118398B (zh) * | 2011-03-31 | 2014-04-23 | 北京星网锐捷网络技术有限公司 | 访问控制方法、装置及系统 |
CN102663058B (zh) * | 2012-03-30 | 2013-12-18 | 华中科技大学 | 一种分布式网络爬虫系统中的url去重方法 |
CN103888999B (zh) * | 2012-12-19 | 2018-06-05 | 中国移动通信集团公司 | 一种WebCache服务和CDN服务的融合方法和设备 |
CN104301311B (zh) * | 2014-09-28 | 2018-01-23 | 北京奇虎科技有限公司 | Dns过滤网络数据内容的方法及设备 |
CN104363252B (zh) * | 2014-12-12 | 2016-09-28 | 北京奇虎科技有限公司 | 网站安全检测方法与装置 |
CN104378389B (zh) * | 2014-12-12 | 2016-09-28 | 北京奇虎科技有限公司 | 网站安全检测方法与装置 |
US9264440B1 (en) * | 2015-08-04 | 2016-02-16 | Farsight Security, Inc. | Parallel detection of updates to a domain name system record system using a common filter |
CN105847281B (zh) * | 2016-05-12 | 2019-02-19 | 中国联合网络通信集团有限公司 | 一种dns防御攻击的方法及系统 |
-
2015
- 2015-08-04 US US14/817,880 patent/US9264440B1/en active Active
-
2016
- 2016-08-04 CN CN201810481087.7A patent/CN108616544B/zh active Active
- 2016-08-04 CN CN201610630826.5A patent/CN106453229B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7548908B2 (en) * | 2005-06-24 | 2009-06-16 | Yahoo! Inc. | Dynamic bloom filter for caching query results |
CN104601557A (zh) * | 2014-12-29 | 2015-05-06 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 一种基于软件定义网络的恶意网站防护方法及系统 |
Non-Patent Citations (1)
Title |
---|
Protecting against DNS Reflection Attacks with Bloom Filters;Sebastiano Di Paola等;《DMIVA 2011,LNCS 6739》;20111231;1-16 * |
Also Published As
Publication number | Publication date |
---|---|
US9264440B1 (en) | 2016-02-16 |
CN108616544B (zh) | 2021-06-01 |
CN106453229A (zh) | 2017-02-22 |
CN108616544A (zh) | 2018-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106453229B (zh) | 用于检测对域名系统记录系统的更新的方法、系统和介质 | |
CN111600856B (zh) | 数据中心运维的安全系统 | |
KR101010302B1 (ko) | Irc 및 http 봇넷 보안 관제를 위한 관리 시스템 및 그 방법 | |
Stone-Gross et al. | Your botnet is my botnet: analysis of a botnet takeover | |
US20160191549A1 (en) | Rich metadata-based network security monitoring and analysis | |
US9495420B2 (en) | Distributed feature collection and correlation engine | |
US8561187B1 (en) | System and method for prosecuting dangerous IP addresses on the internet | |
US8539577B1 (en) | System and method for fast flux detection | |
US7483972B2 (en) | Network security monitoring system | |
US20110153811A1 (en) | System and method for modeling activity patterns of network traffic to detect botnets | |
RU2634209C1 (ru) | Система и способ автогенерации решающих правил для систем обнаружения вторжений с обратной связью | |
US20140047543A1 (en) | Apparatus and method for detecting http botnet based on densities of web transactions | |
CN114145004A (zh) | 用于使用dns消息以选择性地收集计算机取证数据的系统及方法 | |
US10659335B1 (en) | Contextual analyses of network traffic | |
EP3332533B1 (en) | Parallel detection of updates to a domain name system record system using a common filter | |
CN111510463B (zh) | 异常行为识别系统 | |
CN110313161A (zh) | 对数据库上的放大攻击的基于ipfix的检测 | |
Ichise et al. | NS record history based abnormal DNS traffic detection considering adaptive botnet communication blocking | |
So et al. | Domains do change their spots: Quantifying potential abuse of residual trust | |
Spring | Large scale DNS traffic analysis of malicious Internet activity with a focus on evaluating the response time of blocking phishing sites | |
CN116827698B (zh) | 一种网络关口流量安全态势感知系统及方法 | |
Ennert et al. | Data Visualization of Network Security Systems | |
Alghfeli et al. | Bayyinah, A Log Analysis Forensics Tool | |
Félix | Unified cyber threat intelligence | |
Hajdarevic | Cyber Security Audit in Business Environments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |