CN102577303B - 用于生成dns查询以提高抗dns攻击性的系统和方法 - Google Patents
用于生成dns查询以提高抗dns攻击性的系统和方法 Download PDFInfo
- Publication number
- CN102577303B CN102577303B CN201080026895.6A CN201080026895A CN102577303B CN 102577303 B CN102577303 B CN 102577303B CN 201080026895 A CN201080026895 A CN 201080026895A CN 102577303 B CN102577303 B CN 102577303B
- Authority
- CN
- China
- Prior art keywords
- dns
- domain name
- server
- transaction identifiers
- response
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 230000004044 response Effects 0.000 claims abstract description 110
- 230000008859 change Effects 0.000 claims description 4
- 230000001010 compromised effect Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 51
- 238000004364 calculation method Methods 0.000 description 30
- 238000012546 transfer Methods 0.000 description 26
- 230000005540 biological transmission Effects 0.000 description 17
- 230000008569 process Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 5
- 150000003839 salts Chemical class 0.000 description 4
- 230000000875 corresponding effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 241000501754 Astronotus ocellatus Species 0.000 description 1
- 101000666896 Homo sapiens V-type immunoglobulin domain-containing suppressor of T-cell activation Proteins 0.000 description 1
- 241000721662 Juniperus Species 0.000 description 1
- 102100038282 V-type immunoglobulin domain-containing suppressor of T-cell activation Human genes 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- IJJVMEJXYNJXOJ-UHFFFAOYSA-N fluquinconazole Chemical compound C=1C=C(Cl)C=C(Cl)C=1N1C(=O)C2=CC(F)=CC=C2N=C1N1C=NC=N1 IJJVMEJXYNJXOJ-UHFFFAOYSA-N 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
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)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本解决方案提供用于生成更抗攻击者危害的DNS查询的系统和方法。DNS解析器使用加密哈希函数来生成事务标识符。对该哈希函数的输入可包括预定的随机数、将要被查询的名称服务器的目的IP地址,和将要被查询的域名。由于在公式中包含了名称服务器的IP地址,所以对不同名称服务器的相同的域名查询可能有不同的事务标识符,以防止攻击者观察查询以及预测其他查询的标识符。通过将名称服务器的端口号和/或域名的一部分作为对哈希函数的输入来给生成事务标识符提供额外的加密。如果确定响应的服务器可在其响应中保留大写,那么可以对在域名中的大小写字符进行加盐以便在生成事务标识符的期间提供额外的加密。
Description
相关申请
本申请要求美国非临时专利申请N0.12/426,330的利益和优先权,该申请标题为“System and Methods for Generating A DNS Query To ImproveResistance Against A DNS Attack”,申请日为2009年4月20日,通过引用将该申请全部包含于此。
技术领域
本发明总的涉及数据通信网络。具体而言,本发明涉及用于生成域名系统[“DNS”]查询以提高抗DNS攻击性的系统和方法。
背景技术
域名系统[“DNS”]允许将对人类有意义的名称与客户机、服务器或互联网上其他资源的数字的互联网协议[“IP”]地址相关联。例如,域名www.example.com可以与208.77.188.166相关联。可以由名称服务器对域名进行映射和索引。每个名称服务器被授权用于或负责对在其授权区域内的客户机、服务器或其他资源进行索引。当用户通过域名请求资源时,DNS解析器识别该请求。如果在解析器的高速缓存中没有可用的所请求的资源的IP地址,那么该解析器向名称服务器发出查询。DNS解析器的查询包括事务标识符。名称服务器的答复也包括该事务(transaction)标识符以将该响应标识为来自由DNS解析器所查询的名称服务器。如果恶意的攻击者能在真正的服务器能响应之前对DNS解析器的请求进行响应,那么该恶意的攻击者可以将用户定向到不同于用户本来的目的地的客户机、服务器或资源。这开启了身份或数据偷窃或其他恶意行为的可能性。
发明内容
本解决方案提供用于生成更能抵抗攻击者的危害的DNS查询的系统和方法。DNS解析器使用加密哈希函数来生成事务标识符。对该哈希函数的输入可包括预定的随机数、将要被查询的名称服务器的目的IP地址,和将要被查询的域名。由于在公式中包含了名称服务器的IP地址,所以对不同名称服务器的、相同的域名查询可能有不同的事务标识符,以防止攻击者观察查询以及预测其他查询的标识符。通过将名称服务器的端口号和/或域名的一部分作为对哈希函数的输入来给生成事务标识符提供额外的加密。如果确定响应的服务器可在其响应中保留大写,那么可以对在域名中的大小写字符进行加盐(salt)以便在生成事务标识符的期间提供额外的加密。
在一个方面,本发明描绘了用于生成DNS查询以提高抗DNS攻击性的方法。该方法包括DNS解析器接收解析域名的请求。该方法也包括由该DNS解析器识别该域名和DNS服务器的互联网协议地址。该方法还包括通过将单向哈希函数应用于预定的随机数、DNS服务器的互联网协议地址和该域名的输入来为DNS查询生成事务标识符。该方法还包括由DNS解析器将对该域名的DNS查询传输到DNS服务器,所述DNS查询是由所生成的事务标识符标识的。
在一些实施例中,该方法包括DNS解析器识别DNS服务器的IP端口号。在进一步的实施例中,该方法包括通过将单向哈希函数应用于预定的随机数、DNS服务器的IP地址与端口和该域名的输入来为DNS查询生成事务标识符。在进一步的实施例中,对单向哈希函数的域名输入可以包括将要被解析的域名的一部分。
在一个实施例中,该方法包括以预定的频率改变输入到单向哈希函数的预定的随机数。在又一个实施例中,该方法包括响应于事件来改变预定的随机数。在其他实施例中,该方法包括为被传输到同一个域名服务器的、解析相同域名的DNS查询生成相同的事务标识符。在其他实施例中,该方法包括对DNS请求的一个或多个字段进行编码并且使用所编码的一个或多个字段作为对所述单向哈希函数的输入以生成事务标识符。在其他实施例中,该方法包括通过将域名的一个或多个字符大写来对该域名进行编码并且通过使用所编码的域名作为对所述单向哈希函数的域名输入来生成事务标识符。在其他实施例中,该方法还包括通过使用域名转码和RACE编码方案来对输入到单向哈希函数的域名进行编码。
在又一个实施例中,该方法还包括DNS解析器确定DNS服务器重写响应或规格化响应。响应于所述确定,DNS解析器可以不对DNS查询的一部分进行编码。在其他实施例中,该方法还包括DNS解析器确定目的地不重写响应。响应于所述确定,DNS解析器可以对DNS查询的一部分进行编码并且将所编码的部分包含在事务标识符中。在其他实施例中,该方法还包括DNS解析器将目的地的IP地址和所述域名的输入传送到事务标识符生成器。
在又一个方面,本发明描绘了用于生成DNS查询以提高抗DNS攻击性的系统。该系统包括DNS解析器和事务标识符生成器。DNS解析器接收解析域名的请求以及识别该域名和该请求的目的地的IP地址。事务标识符生成器通过将单向哈希函数应用于预定的随机数、目的地的IP地址以及该域名的输入来生成事务标识符。DNS解析器使用所生成的事务标识符来形成DNS查询并且将对该域名的DNS查询传输到所述目的地。
在一个实施例中,DNS解析器识别所述请求的目的地的端口。在进一步的实施例中,事务标识符生成器可以通过将单向哈希函数应用于预定的随机数、所述目的地的互联网协议地址与端口和所述域名的输入来生成事务标识符。在进一步的实施例中,对单向哈希函数的域名输入可以包括将要被解析的域名的一部分。
在又一个实施例中,事务标识符生成器以预定的频率改变预定的随机数。在又一个实施例中,事务标识符生成器响应于事件来改变预定的随机数。在又一个实施例中,事务标识符生成器为标识同一域名和同一目的地的输入生成相同的事务标识符。
在其他实施例中,DNS解析器对DNS请求的一个或多个字段进行编码并且将所编码的一个或多个字段作为输入传送给事务标识符生成器以生成事务标识符。在又一个实施例中,DNS解析器通过将所述域名的一个或多个字符大写来对所述域名进行编码并且将所编码的域名作为所述域名的输入传送给事务标识符生成器。在又一个实施例中,DNS解析器通过使用域名转码或RACE编码方案来对所述域名进行编码。在其他实施例中,DNS解析器可确定目的地重写或规格化响应,并且响应于所述确定,DNS解析器可以不对DNS查询的一部分进行编码。在其他实施例中,DNS解析器可确定所述目的地不重写响应,并且响应于所述确定,DNS解析器对DNS查询的一部分进行编码以及将所编码的部分作为输入传送到事务标识符生成器以生成事务标识符。在其他实施例中,DNS解析器可以驻留在客户机、服务器或中间设备上。
在下面的附图和描述中对本发明的各种实施例的细节进行了详细的阐述。
附图说明
前述和本发明的其它目的、方面、特征和优点,通过参考下述结合附图的描述将会更加明显并更易于理解,其中:
图1A是客户机通过设备访问服务器的网络环境的实施例的框图;
图1B是通过设备从服务器传送计算环境到客户机的环境的又一个实施例的框图;
图1C和图1D是计算装置的实施例的框图;
图2是域名解析器的实施例的框图;以及
图3是用于生成具有改善的抗DNS攻击性的DNS查询的方法的步骤的实施例的流程图。
从下面结合附图所阐述的详细描述,本发明的特征和优点将更明显,其中,同样的参考标记在全文中标识相应的元素。在附图中,同样的附图标记通常表示相同的、功能上相似的和/或结构上相似的元素。
具体实施方式
为了阅读下述各种具体实施例的描述,下述对于说明书的部分以及它们各自内容的描述是有用的:
-A部分描述有益于实施此处描述的实施例的网络环境和计算环境;
-B部分描述用于响应于DNS域名解析请求,向名称服务器传输请求、接收来自名称服务器的响应以及传输对DNS域名解析请求的响应的系统和方法的实施例;以及;
-C部分描述生成具有改善的抗DNS攻击性的DNS查询的系统和方法的实施例;
A.网络和计算环境
在讨论设备和/或客户机的系统和方法的实施例的细节之前,讨论可在其中部署这些实施例的网络和计算环境是有帮助的。现在参见图1A,描述了网络环境的实施例。概括来讲,网络环境包括经由一个或多个网络104、104’(总的称为网络104)与一个或多个服务器106a-106n(同样总的称为服务器106,或远程机器106)通信的一个或多个客户机102a-102n(同样总的称为本地机器102,或客户机102)。在一些实施例中,客户机102通过设备105与服务器106通信。
虽然图1A示出了在客户机102和服务器106之间的网络104和网络104’,客户机102和服务器106可以位于同一个的网络104上。网络104和104′可以是相同类型的网络或不同类型的网络。网络104和/或104′可为局域网(LAN)例如公司内网,城域网(MAN),或者广域网(WAN)例如因特网或万维网。在一个实施例中,网络104’可为专用网络并且网络104可为公网。在一些实施例中,网络104’可为专用网并且网络104’可为公网。在又一个实施例中,网络104和104’可都为专用网。在一些实施例中,客户机102可位于公司企业的分支机构中,通过网络104上的WAN连接与位于公司数据中心的服务器106通信。
网络104和/或104’可以是任何类型和/或形式的网络,并且可包括任何下述网络:点对点网络,广播网络,广域网,局域网,电信网络,数据通信网络,计算机网络,ATM(异步传输模式)网络,SONET(同步光纤网络)网络,SDH(同步数字体系)网络,无线网络和有线网络。在一些实施例中,网络104可以包括无线链路,诸如红外信道或者卫星频带。网络104和/或104’的拓扑可为总线型、星型或环型网络拓扑。网络104和/或104’以及网络拓扑可以是对于本领域普通技术人员所熟知的、可以支持此处描述的操作的任何这样的网络或网络拓扑。
如图1A所示,设备105被显示在网络104和104’之间,设备105也可被称为接口单元200或者网关200。在一些实施例中,设备105可位于网络104上。例如,公司的分支机构可在分支机构中部署设备105。在其它实施例中,设备105可以位于网络104′上。例如,设备105可位于公司的数据中心。在又一个实施例中,多个设备105可在网络104上部署。在一些实施例中,多个设备105可部署在网络104’上。在一个实施例中,第一设备105与第二设备105’通信。在其它实施例中,设备105可为位于与客户机102同一或不同网络104、104’的任一客户机102或服务器106的一部分。一个或多个设备105可位于客户机102和服务器106之间的网络或网络通信路径中的任一点。
在一些实施例中,设备105包括由位于佛罗里达州Ft.Lauderdale的Citrix Systems公司制造的被称为Citrix NetScaler设备的任何网络设备。在其它实施例中,设备105包括由位于华盛顿州西雅图的F5Networks公司制造的被称为WebAccelerator和BigIP的任何一个产品实施例。在又一个实施例中,设备205包括由位于加利福尼亚州Sunnyvale的JuniperNetworks公司制造的DX加速设备平台和/或诸如SA700、SA2000、SA4000和SA6000的SSL VPN系列设备中的任何一个。在又一个实施例中,设备105包括由位于加利福尼亚州San Jose的Cisco Systems公司制造的任何应用加速和/或安全相关的设备和/或软件,例如Cisco ACE应用控制引擎模块服务(Application Control Engine Module service)软件和网络模块以及Cisco AVS系列应用速度系统(Application Velocity System)。
在一个实施例中,系统可包括多个逻辑分组的服务器106。在这些实施例中,服务器的逻辑分组可以被称为服务器群38。在其中一些实施例中,服务器106可为地理上分散的。在一些情况中,群38可以作为单个实体被管理。在其它实施例中,服务器群38包括多个服务器群38。在一个实施例中,服务器群代表一个或多个客户机102执行一个或多个应用程序。
在每个群38中的服务器106可为不同种类。一个或多个服务器106可根据一种类型的操作系统平台(例如,由华盛顿州Redmond的Microsoft公司制造的WINDOWS NT)操作,而一个或多个其它服务器106可根据另一类型的操作系统平台(例如,Unix或Linux)操作。每个群38的服务器106不需要与同一群38内的另一个服务器106物理上接近。因此,被逻辑分组为群38的服务器106组可使用广域网(WAN)连接或城域网(MAN)连接互联。例如,群38可包括物理上位于不同大陆或大陆的不同区域、国家、州、城市、校园或房间的服务器106。如果使用局域网(LAN)连接或一些直连形式来连接服务器106,则可增加群38中的服务器106间的数据传送速度。
服务器106可指文件服务器、应用服务器、web服务器、代理服务器或者网关服务器。在一些实施例中,服务器106可以有作为应用服务器或者作为主应用服务器工作的能力。在一个实施例中,服务器106可包括活动目录。客户机102也可称为客户机节点或端点。在一些实施例中,客户机102可以有作为客户机节点寻求访问服务器上的应用的能力,也可以有作为应用服务器为其它客户机102a-102n提供对寄载的应用的访问的能力。
在一些实施例中,客户机102与服务器106通信。在一个实施例中,客户机102可与群38中的服务器106的其中一个直接通信。在又一个实施例中,客户机102执行程序邻近应用(program neighborhood application)以与群38内的服务器106通信。在又一个实施例中,服务器106提供主节点的功能。在一些实施例中,客户机102通过网络104与群38中的服务器106通信。通过网络104,客户机102例如可以请求执行群38中的服务器106a-106n寄载的各种应用,并接收应用执行结果的输出进行显示。在一些实施例中,只有主节点提供识别和提供与寄载所请求的应用的服务器106′相关的地址信息所需的功能。
在一个实施例中,服务器106提供web服务器的功能。在又一个实施例中,服务器106a接收来自客户机102的请求,将该请求转发到第二服务器106b,并使用来自服务器106b对该请求的响应来对客户机102的请求进行响应。在又一个实施例中,服务器106获得客户机102可用的应用的列举以及与由该应用的列举所识别的应用的服务器106相关的地址信息。在又一个实施例中,服务器106使用web接口将对请求的响应提供给客户机102。在一个实施例中,客户机102直接与服务器106通信以访问所识别的应用。在又一个实施例中,客户机102接收由执行服务器106上所识别的应用而产生的诸如显示数据的应用输出数据。
现在参考图1B,描述了用于传送和/或操作客户机102上的计算环境的网络环境。在一些实施例中,服务器106包括用于向一个或多个客户机102传送计算环境或应用和/或数据文件的应用传送系统190。总的来说,客户机10通过网络104、104’和设备105与服务器106通信。例如,客户机102可驻留在公司的远程办公室里,例如分支机构,并且服务器106可驻留在公司数据中心。客户机102包括客户机代理120以及计算环境15。计算环境15可执行或操作用于访问、处理或使用数据文件的应用。可经由设备105和/或服务器106传送计算环境15、应用和/或数据文件。
在一些实施例中,设备105加速计算环境15或者其任何部分到客户机102的传送。在一个实施例中,设备105通过应用传送系统190加速计算环境15的传送。例如,可使用此处描述的实施例来加速从公司中央数据中心到远程用户位置(例如公司的分支机构)的流应用(streaming application)及该应用可处理的数据文件的传送。在又一个实施例中,设备105加速客户机102和服务器106之间的传输层业务量。设备105可以提供用于加速从服务器106到客户机102的任何传输层有效载荷的加速技术,例如:1)传输层连接池,2)传输层连接多路复用,3)传输控制协议缓冲,4)压缩和5)高速缓存。在一些实施例中,设备105响应于来自客户机102的请求提供服务器106的负载平衡。在其它实施例中,设备105充当代理或者访问服务器来提供对一个或者多个服务器106的访问。在又一个实施例中,设备105提供从客户机102的第一网络104到服务器106的第二网络104’的安全虚拟专用网络连接,诸如SSL VPN连接。在又一些实施例中,设备105提供客户机102和服务器106之间的连接和通信的应用防火墙安全、控制和管理。
在一些实施例中,基于多个执行方法并且基于通过策略引擎195所应用的任一验证和授权策略,应用传送管理系统190提供将计算环境传送到远程的或者另外的用户的桌面的应用传送技术。使用这些技术,远程用户可以从任何网络连接装置100获取计算环境并且访问服务器所存储的应用和数据文件。在一个实施例中,应用传送系统190可驻留在服务器106上或在其上执行。在又一个实施例中,应用传送系统190可驻留在多个服务器106a-106n上或在其上执行。在一些实施例中,应用传送系统190可在服务器群38内执行。在一个实施例中,执行应用传送系统190的服务器106也可存储或提供应用和数据文件。在又一个实施例中,一个或多个服务器106的第一组可执行应用传送系统190,而不同的服务器106n可存储或提供应用和数据文件。在一些实施例中,应用传送系统190、应用和数据文件中的每一个可驻留或位于不同的服务器。在又一个实施例中,应用传送系统190的任何部分可驻留、执行、或被存储于或分发到设备200或多个设备。
客户机102可包括用于执行使用或处理数据文件的应用的计算环境15。客户机102可通过网络104、104’和设备105请求来自服务器106的应用和数据文件。在一个实施例中,设备105可以将来自客户机102的请求转发到服务器106。例如,客户机102可能不具有本地存储或者本地可访问的应用和数据文件。响应于请求,应用传送系统190和/或服务器106可以传送应用和数据文件到客户机102。例如,在一个实施例中,服务器106可以把应用作为应用流来传输,以在客户机102上的计算环境15中操作。
在一些实施例中,应用传送系统190包括Citrix Systems公司的CitrixAccess SuiteTM的任一部分(例如MetaFrame或Citrix PresentationServerTM);Citrix System公司的Citrix Delivery CenterTM的任一部分(XenDesktopTM、XenAppTM、XenServerTM或NetScalerTM);和/或微软公司出品的Windows终端服务中的任何一个。在一个实施例中,应用传送系统190可以通过远程显示协议或者以其它方式通过基于远程计算或者基于服务器计算来传送一个或者多个应用到客户机102或者用户。在又一个实施例中,应用传送系统190可以通过应用流来传送一个或者多个应用到客户机或者用户。
在一个实施例中,应用传送系统190包括策略引擎195,其用于控制和管理对应用的访问、应用执行方法的选择以及应用的传送。在一些实施例中,策略引擎195确定用户或者客户机102可以访问的一个或者多个应用。在又一个实施例中,策略引擎195确定应用应该如何被传送到用户或者客户机102,例如执行方法。在一些实施例中,应用传送系统190提供多个传送技术,从中选择应用执行的方法,例如基于服务器的计算、本地流式传输或传送应用给客户机120以用于本地执行。
在一个实施例中,客户机102请求应用程序的执行并且包括服务器106的应用传送系统190选择执行应用程序的方法。在一些实施例中,服务器106从客户机102接收证书。在又一个实施例中,服务器106从客户机102接收对于可用应用的列举的请求。在一个实施例中,响应该请求或者证书的接收,应用传送系统190列举对于客户机102可用的多个应用程序。应用传送系统190接收执行所列举的应用的请求。应用传送系统190选择预定数量的方法之一来执行所列举的应用,例如响应策略引擎的策略。应用传送系统190可以选择执行应用的方法,使得客户机102接收通过执行服务器106上的应用程序所产生的应用输出数据。应用传送系统190可以选择执行应用的方法,使得本地机器10在检索包括应用的多个应用文件之后本地执行应用程序。在又一个实施例中,应用传送系统190可以选择执行应用的方法,以通过网络104流式传输应用到客户机102。
客户机102可以执行、操作或者以其它方式提供应用,所述应用可为任何类型和/或形式的软件、程序或者可执行指令,例如任何类型和/或形式的web浏览器、基于web的客户机、客户机-服务器应用、瘦客户端计算客户机、ActiveX控件、或者Java程序、或者可以在客户机102上执行的任何其它类型和/或形式的可执行指令。在一些实施例中,应用可以是代表客户机102在服务器106上执行的基于服务器或者基于远程的应用。在一个实施例中,服务器106可以使用任何瘦-客户端或远程显示协议来显示输出到客户机102,所述瘦-客户端或远程显示协议例如由位于佛罗里达州Ft.Lauderdale的Citrix Systems公司出品的独立计算架构(ICA)协议或由位于华盛顿州Redmond的微软公司出品的远程桌面协议(RDP)。应用可使用任何类型的协议,并且它可为,例如,HTTP客户机、FTP客户机、Oscar客户机或Telnet客户机。在其它实施例中,应用包括和VoIP通信相关的任何类型的软件,例如软IP电话。在进一步的实施例中,应用包括涉及到实时数据通信的任一应用,例如用于流式传输视频和/或音频的应用。
在一些实施例中,服务器106或服务器群38可运行一个或多个应用,例如提供瘦客户端计算或远程显示表示应用的应用。在一个实施例中,服务器106或服务器群38作为一个应用来执行Citrix Systems公司的CitrixAccess SuiteTM的任一部分(例如MetaFrame或Citrix PresentationServerTM);Citrix System公司的Citrix Delivery CenterTM的任一部分(XenDesktopTM、XenAppTM、XenServerTM或NetScalerTM);和/或微软公司出品的Windows终端服务中的任何一个。在一个实施例中,该应用是位于佛罗里达州Fort Lauderdale的Citrix Systems Inc.开发的ICA客户机。在其它实施例中,该应用包括由位于华盛顿州Redmond的Microsoft公司开发的远程桌面(RDP)客户机。另外,服务器106可以运行一个应用,例如,其可以是提供电子邮件服务的应用服务器,例如由位于华盛顿州Redmond的Microsoft公司制造的Microsoft Exchange,web或Internet服务器,或者桌面共享服务器,或者协作服务器。在一些实施例中,任一应用可以包括任一类型的所寄载的服务或产品,例如位于加利福尼亚州SantaBarbara的Citrix Online Division公司提供的GoToMeetingTM、GoToWebinarTM、GoToMyPCTM或GoToAssistTM,位于加利福尼亚州Santa Clara的WebEx公司提供的WebExTM,或者位于华盛顿州Redmond的Microsoft公司提供的Microsoft Office Live Meeting。
客户机102、服务器106和设备105可以被部署为和/或执行在任何类型和形式的计算装置上,诸如能够在任何类型和形式的网络上通信并执行此处描述的操作的计算机、网络装置或者设备。图1C和1D描述了可用于实施客户机102、服务器106或设备105的实施例的计算装置100的框图。如图1C和1D所示,每个计算装置100包括中央处理单元101和主存储器单元122。如图1C所示,计算装置100可以包括可视显示装置124、键盘126和/或诸如鼠标的指示装置127。每个计算装置100也可包括其它可选元件,例如一个或多个输入/输出装置130a-130b(总的使用附图标记130表示),以及与中央处理单元101通信的高速缓存存储器140。
中央处理单元101是响应并处理从主存储器单元122取出的指令的任何逻辑电路。在许多实施例中,中央处理单元由微处理器单元提供,例如:由加利福尼亚州Mountain View的Intel公司制造的微处理器单元;由伊利诺伊州Schaumburg的Motorola公司制造的微处理器单元;由加利福尼亚州Santa Clara的Transmeta公司制造的微处理器单元;由纽约州White Plains的International Business Machines公司制造的RS/6000处理器;或者由加利福尼亚州Sunnyvale的Advanced Micro Device s公司制造的微处理器单元。计算装置100可以基于这些处理器中的任何一种,或者能够按照这里所说明的那样运行的任何其它处理器。
主存储器单元122可以是能够存储数据并允许微处理器101直接访问任何存储位置的一个或多个存储器芯片,例如静态随机存取存储器(SRAM)、突发SRAM或同步突发SRAM(BSRAM)、动态随机存取存储器DRAM、快速页模式DRAM(FPM DRAM)、增强型DRAM(EDRAM)、扩展数据输出RAM(EDO RAM)、扩展数据输出DRAM(EDO DRAM)、突发式扩展数据输出DRAM(BEDO DRAM)、增强型DRAM(EDRAM)、同步DRAM(SDRAM)、JEDEC SRAM、PC100SDRAM、双数据速率SDRAM(DDR SDRAM)、增强型SRAM(ESDRAM)、同步链路DRAM(SLDRAM)、直接Rambus DRAM(DRDRAM)或铁电RAM(FRAM)。主存储器122可以基于上述存储芯片的任何一种,或者能够像这里所说明的那样运行的任何其它可用存储芯片。在图1C中所示的实施例中,处理器101通过系统总线150(在下面进行更详细的描述)与主存储器122进行通信。图1C描述了在其中处理器通过存储器端口103直接与主存储器122通信的计算装置100的实施例。例如,在图1D中,主存储器122可以是DRDRAM。
图1D描述了在其中主处理器101通过第二总线与高速缓存存储器140直接通信的实施例,第二总线有时也称为背侧总线。其他实施例中,主处理器101使用系统总线150和高速缓存存储器140通信。高速缓存存储器140通常有比主存储器122更快的响应时间,并且通常由SRAM、BSRAM或EDRAM提供。在图1D中所示的实施例中,处理器101通过本地系统总线150与多个I/O装置130进行通信。可以使用各种不同的总线将中央处理单元101连接到任何I/O装置130,所述总线包括VESA VL总线、I SA总线、EI SA总线、微通道体系结构(MCA)总线、PC I总线、PCI-X总线、PCI-Expre s s总线或NuBus。对于I/O装置是视频显示器124的实施例,处理器101可以使用高级图形端口(AGP)与显示器124通信。图1D说明了主处理器101通过超传输(HyperTransport)、快速I/O或者InfiniBand直接与I/O装置130通信的计算机100的一个实施例。图1D还描述了在其中混合本地总线和直接通信的实施例:处理器101使用本地互连总线与I/O装置130进行通信,同时直接与I/O装置130进行通信。
计算装置100可以支持任何适当的安装装置116,例如用于接收像3.5英寸、5.25英寸磁盘或ZIP磁盘这样的软盘的软盘驱动器、CD-ROM驱动器、CD-R/RW驱动器、DVD-ROM驱动器、多种格式的磁带驱动器、USB装置、硬盘驱动器或适于安装像任何客户机代理120或其部分的软件和程序的任何其它装置。计算装置100还可以包括存储装置128,诸如一个或者多个硬盘驱动器或者独立磁盘冗余阵列,用于存储操作系统和其它相关软件,以及用于存储诸如涉及客户机代理120的任何程序的应用软件程序。或者,可以使用安装装置116的任何一种作为存储装置128。此外,操作系统和软件可从例如可引导CD的可引导介质运行,诸如一种用于GNU/Linux的可引导CD,该可引导CD可自knoppix.net作为GNU/Linux分发获得。
此外,计算装置100可以包括通过多种连接接口到局域网(LAN)、广域网(WAN)或因特网的网络接口118,所述多种连接包括但不限于标准电话线路、LAN或WAN链路(例如802.11,T1,T3、56kb、X.25)、宽带连接(如ISDN、帧中继、ATM)、无线连接、或上述任何或所有连接的一些组合。网络接口118可以包括内置网络适配器、网络接口卡、PCMCIA网络卡、卡总线网络适配器、无线网络适配器、USB网络适配器、调制解调器或适用于将计算装置100接口到能够通信并执行这里所说明的操作的任何类型的网络的任何其它设备。
计算装置100中可以包括各种I/O装置130a-130n。输入装置包括键盘、鼠标、触控板、轨迹球、麦克风和绘图板。输出装置包括视频显示器、扬声器、喷墨打印机、激光打印机和热升华打印机。如图1C所示,I/O装置130可以由I/O控制器123控制。I/O控制器可以控制一个或多个I/O装置,例如键盘126和指示装置127(如鼠标或光笔)。此外,I/O装置还可以为计算装置100提供存储装置128和/或安装介质116。在其它实施例中,计算装置100可以提供USB连接以接收手持USB存储装置,例如由位于加利福尼亚州Los Alamitos的Twintech Industry公司生产的设备的USB闪存驱动器线。
在一些实施例中,计算装置100可以包括多个显示装置124a-124n或与其相连,这些显示装置各自可以是相同或不同的类型和/或形式。因而,任何一种I/O装置130a-130n和/或I/O控制器123可以包括任一类型和/或形式的适当的硬件、软件或硬件和软件的组合,以支持、允许或提供通过计算装置100连接和使用多个显示装置124a-124n。例如,计算装置100可以包括任何类型和/或形式的视频适配器、视频卡、驱动器和/或库,以与显示装置124a-124n接口、通信、连接或以其他方式使用显示装置。在一个实施例中,视频适配器可以包括多个连接器以与多个显示装置124a-124n接口。在其它实施例中,计算装置100可以包括多个视频适配器,每个视频适配器与显示装置124a-124n中的一个或多个连接。在一些实施例中,计算装置100的操作系统的任一部分都可以被配置用于使用多个显示器124a-124n。在其它实施例中,显示装置124a-124n中的一个或多个可以由一个或多个其它计算装置提供,诸如例如通过网络与计算装置100连接的计算装置100a和100b。这些实施例可以包括被设计和构造为将另一个计算机的显示装置用作计算装置100的第二显示装置124a的任一类型的软件。本领域的普通技术人员会认识和理解可以将计算装置100配置成具有多个显示装置124a-124n的各种方法和实施例。
在进一步的实施例中,I/O装置130可以是系统总线150和外部通信总线之间的桥170,所述外部通信总线例如USB总线、Apple桌面总线、RS-232串行连接、SCSI总线、FireWire总线、FireWire800总线、以太网总线、AppleTalk总线、千兆位以太网总线、异步传输模式总线、HIPPI总线、超级HIPPI总线、SerialPlus总线、SCI/LAMP总线、光纤信道总线或串行SCSI总线。
图1C和1D中描述的那类计算装置100通常在控制任务的调度和对系统资源的访问的操作系统的控制下操作。计算装置100可以运行任何操作系统,如Windows操作系统,不同发行版本的Unix和Linux操作系统,用于Macintosh计算机的任何版本的MAC任何嵌入式操作系统,任何实时操作系统,任何开源操作系统,任何专有操作系统,任何用于移动计算装置的操作系统,或者任何其它能够在计算装置上运行并完成这里所述操作的操作系统。典型的操作系统包括:WINDOWS 3.x、WI NDOWS 95、WINDOWS 98、WINDOWS 2000、WINDOWS NT 3.51、WINDOWS NT 4.0、WINDOWS CE、WINDOWSXP、WINDOWS VISTA和WINDOWS 7,所有这些均由位于华盛顿州Redmond的微软公司出品;由位于加利福尼亚州Cupertino的苹果计算机出品的MacOS;由位于纽约州Armonk的国际商业机器公司出品的OS/2;以及由位于犹他州SaltLake City的Caldera公司发布的可免费使用的Linux操作系统或者任何类型和/或形式的Unix操作系统,以及其它。
在其它实施例中,计算装置100可以有符合该装置的不同的处理器、操作系统和输入设备。例如,在一个实施例中,计算机100是由Palm公司出品的Treo180、270、1060、600或650智能电话。在该实施例中,Treo智能电话在Pa lmOS操作系统的控制下操作,并包括指示笔输入装置以及五向导航装置。在又一个实施例中,计算机100是由苹果计算机公司出品的iPhone智能电话。在该实施例中,iPhone在iPhone OS操作系统的控制下操作,并包含多点触控屏接口。此外,计算装置100可以是任何工作站、桌面计算机、膝上型或笔记本计算机、服务器、手持计算机、移动电话、任何其它计算机、或能够通信并有足够的处理器能力和存储容量以执行此处所述的操作的其它形式的计算或者电信装置。
B.DNS解析器架构
在图2中描述了驻留在服务器、客户机或中间设备上的DNS解析器200的实施例。如图2所示,DNS解析器200包括DNS查询识别器(identifier)201、存储器高速缓存202、事务标识符生成器203、DNS查询生成器205、用于比较请求和响应的比较器206,以及DNS响应生成器207。DNS解析器200也可以接收来自随机数生成器204的输入数。DNS解析器200接收来自客户机、服务器或中间设备上的硬件或软件的DNS解析请求208,或者接收来自另一客户机、服务器或中间设备上的任何硬件或软件的DNS解析请求208。DNS解析器200将DNS查询消息209传输到DNS名称服务器,进而DNS接收响应消息210。DNS响应消息210也可以是从与名称服务器不同的源到达的。DNS解析器200也向与发送DNS解析请求208的相同或不同的客户机、服务器或中间设备上的硬件或软件传输DNS解析响应211。提供所显示的经简化的架构是为了说明的目的而不是意欲限制。
DNS解析器200包括解析域名的任何类型或形式的逻辑、操作或功能。DNS解析器200可包括软件和硬件的任一组合。DNS解析器200可包括库、服务、守护进程、进程、函数或子程序。尽管图2所示的随机数生成器204是在DNS解析器200的外部,但在一些实施例中,DNS解析器200也可以包含随机数生成器204。在其他实施例中,随机数生成器204可以是在另一个软件或硬件系统上。DNS解析器200可包括用于以任何格式或协议(例如互联网协议)传输和接收数据的功能。这样,在一些实施例中,DNS解析器200可包含能够执行该功能的硬件或者与能够执行该功能的硬件通信。在其他实施例中,DNS解析器200可在虚拟机中操作并且可包括虚拟硬件或与虚拟硬件通信。
DNS查询识别器201包括一个或多个程序、任务、服务、进程或可执行指令以提供用于接收和处理DNS解析请求208的逻辑、规则、功能或操作。DNS查询识别器201检查解析器高速缓存202来确定对应于该DNS解析请求208的之前接收的DNS响应消息是否已经被存储在解析器高速缓存202中。如果是,则DNS响应生成器201使用在解析器高速缓存202中的之前接收的DNS响应消息来向请求者传输DNS解析响应211。如果答案是未知的,则DNS查询识别器201检查DNS解析请求208是否是完全合格的域名查询或不合格的多标记域名查询。如果DNS查询识别器201确定DNS解析请求208不是完全合格的域名查询或不合格的多标记域名查询,则DNS查询识别器201向高速缓存202查询后缀搜索列表。如果后缀搜索列表未驻留在高速缓存202中,则DNS查询识别器201将全局DNS后缀附加到DNS解析请求208。如果后缀搜索列表确实驻留在高速缓存202中,则DNS查询识别器201将主DNS后缀附加到DNS解析请求208。DNS查询识别器201查询高速缓存202以确定从其请求答复的一个或多个域名服务器的一个或多个IP地址。在一些实施例中,DNS查询识别器201查询高速缓存202以确定该一个或多个域名服务器的一个或多个端口。
在一些实施例中,所请求的域名是ASCI I名称。在其他实施例中,所请求的域名是国际域名系统的部分并以基于行的ASCII兼容编码(RACE)或域名转码(punycode)来进行编码。国际域名可以由DNS解析器200进行编码,或者在被DNS查询识别器201收到时是已编码的。在一些实施例中,DNS查询识别器201查询高速缓存202以确定要联系的每个域名服务器是否与IETFRFC4343(域名系统大小写不敏感说明)相兼容。在一些实施例中,如果域名服务器是RFC4343兼容的,则DNS查询识别器201可以保留如在DNS解析请求208中接收的混合大写的域名。在其他实施例中,如果域名服务器是RFC4343兼容的,则DNS查询识别器201可以在域名中编码随机的大写。
高速缓存202可包括在硬件和软件的任一组合中实现的任何类型和形式的数据结构。在一些实施例中,高速缓存202可包括数据库、平面文件、字典、注册表、索引、查询表或能够以任何格式存储DNS资源记录的任何其他仓库。高速缓存202可包括用于记录和获得DNS资源记录的任何关联的逻辑和控制功能。一旦DNS资源记录被存储在高速缓存202中,DNS解析器202可使用所缓存的副本而不是重新传输对该资源的DNS查询消息,因此减少了访问时间和对网络带宽的使用。在一些实施例中,高速缓存202可以包括关联的存储器元件,包括RAM、闪存,或者磁盘驱动的一部分。在其他实施例中,高速缓存202可包括上文结合图1C和1D所讨论的主存储器单元122或高速缓存存储器140中的数据对象,或上述的任一组合。在其他实施例中,高速缓存202可包括任何类型的集成电路,例如现场可编程门阵列(FPGA)或可编程逻辑电路(PLD)。在一些实施例中,高速缓存202可以具有固定的最大尺寸。在其他实施例中,没有这样的限制。此外,高速缓存202可包括用于根据时间的到期或者在收到来自DNS解析器200的无效命令时无效或删除所缓存的DNS资源记录的逻辑或功能。该逻辑或功能可允许无效或删除在高速缓存202中驻留的单个记录、记录组或所有记录。
随机数生成器204可包括用于生成随机或伪随机数的任何类型和形式的软件或硬件,或软件和硬件的任一组合。在一些实施例中,随机数生成器204在DNS解析器200之内。在其他实施例中,随机数生成器204与DNS解析器200在同一客户机、服务器或中间设备中。在其他实施例中,随机数生成器204是与包含DNS解析器200的客户机、服务器或中间设备相分开的。在这些实施例中,随机数生成器204可通过任何类型和形式的网络或通信装置或协议来与DNS解析器通信。随机数生成器204生成随机或伪随机数并且将其传输到DNS解析器200中的事务标识符生成器203。随机或伪随机数可以为任何长度。在一些实施例中,该随机数的长度至少与所请求的域名的长度一样长。例如,在IETF RFC1034中,完全合格的域名的最大长度是255个八位位组或2040位。在其他实施例中,随机或伪随机数可以更短或更长。在一些实施例中,随机数生成器204为由DNS解析器200接收的每个新的DNS解析请求生成新的随机或伪随机数。在其他实施例中,相同的随机或伪随机数可以用于多个事务标识符,以减少对每个请求的新的随机或伪随机数的需求。在一些实施例中,随机数生成器204可以预定的频率生成新的随机或伪随机数。较高的频率可导致较高的计算代价,而较低的频率可导致较低的抗攻击性。在其他实施例中,随机数生成器204可响应于事件来生成新的随机或伪随机数。例如,随机数生成器204可以响应于DNS解析器200收到的每5或10个DNS解析请求208来生成新的随机数。又例如,随机数生成器204可以响应于高速缓存202中的每个无效DNS响应记录来生成新的随机数。在这些实施例中,致使随机数生成器204生成新的随机或伪随机数的事件可以是能够触发随机数生成器204中的这样的功能的任一事件,例如关闭或打开开关、改变存储寄存器中的值,执行功能调用或者访问存储单元。
事务标识符生成器203包括用于例如为DNS查询创建或提供事务标识符的进程、逻辑、功能、服务、任务、子程序或可执行指令。如IETF RFC1035定义的,DNS事务标识符是DNS查询消息209的头部中的16位的字段。然而,在其他协议中,事务标识符可以是不同的长度或格式。在一些实施例中,所查询的域名服务器用包含相同的DNS事务标识符的DNS响应消息210来对DNS查询消息209进行响应,以将响应与查询相关联。然而,在一些实施例中,在DNS响应消息被收到之前,DNS解析器200可以响应于多个DNS解析请求208来发送多个DNS查询消息209。事务标识符使DNS解析器能识别哪个未处理的请求与哪个响应相关联。通过响应/请求比较器206比较发送或接收的事务标识符,如果所接收的事务标识符不匹配任何未处理的DNS查询消息209,则DNS解析器200丢弃该DNS响应消息210。如果所接收的事务标识符的确匹配未处理的DNS查询消息209,则将该DNS响应消息210传递到DNS响应生成器207。为了生成事务标识符,事务标识符生成器203可以使用包含从随机数生成器204接收的随机或伪随机数、将要被查询的域名服务器的IP地址和所请求的域名或域名的一部分的输入来执行加密哈希函数。在一些实施例中,对事务标识符生成器203哈希函数的输入可以包括将要被查询的域名服务器的端口号。在进一步的实施例中,对哈希函数的输入可以包括用大写编码的域名。在进一步的实施例中,对哈希函数的输入可以包括用域名转码或RACE编码的域名。用于创建事务标识符的加密哈希函数可以是任何哈希函数,具有或不具有抗冲突性,例如MD5、SHA-1、SHA-256或任何其他已知或当前未知的哈希函数或哈希函数的组合。在一些实施例中,加密哈希函数的输出可以被压缩到16位。在其他实施例中,该输出可以通过任何其他方式被截短或缩短至16位。在其他实施例中,加密哈希函数的输出可以任何方式被缩短、截短或扩展以便获得DNS查询消息209的格式所需的事务标识符的长度。在进一步的实施例中,加密哈希函数可以是抗冲突或无冲突的。
DNS查询生成器205包括用于创建任何类型和形式的DNS查询消息209的进程、逻辑、功能、服务、任务、子程序或可执行指令。可以创建与在IETFRFC1035中定义的标准DNS查询消息格式兼容的DNS查询消息209,或者创建任何其他期望格式的DNS查询请求209。DNS查询消息209可包括从事务标识符生成器203接收的事务标识符。DNS查询消息209可包括自DNS查询识别器201接收的所查询的域名的询问条目。询问条目可包括如RFC1035中所描述的域名,类和类型,或者包含由查询消息格式所指定的更多或更少的信息。可以由DNS解析器200将DNS查询消息209传输到由DNS查询识别器201从高速缓存202选择的一个或多个域名服务器的地址。在一些实施例中,DNS查询消息209可以被存储在与响应/请求比较器206关联的存储器元件中。在其他实施例中,DNS查询消息209可以被存储在与DNS查询生成器205关联的存储器元件中、高速缓存202,或者任何与DNS解析器200关联的或由其可访问的任何其他存储器元件中。可以对所存储的DNS查询消息作标记、作标志(flag)或作记录以便将该查询标识为未处理的查询。在这样的实施例中,DNS解析器200可包括用于当所存储的DNS查询不再是未处理的时无效或者删除标记或标志或者删除该查询的功能。在一些实施例中,DNS查询消息209可以例如响应于生存时间到期而被DNS解析器200传输多次。
响应/请求比较器206包括用于将DNS响应消息210与DNS查询消息209相比较的进程、逻辑、功能、服务、任务、子程序或可执行指令。例如,响应/请求比较器206可将由DNS解析器200接收的DNS响应消息210与由DNS解析器200发送的DNS查询消息209相比较。在一些实施例中,响应/请求比较器206可将所接收的DNS响应消息210与如上述所讨论的被标记为未处理的查询的DNS查询消息相比较。响应/请求比较器206可检查DNS响应消息210是否明显地来自与曾向其发送DNS查询消息209的域名服务器的同一IP地址和端口。此外,在一些实施例中,响应/请求比较器206可以检查DNS响应消息210是否具有与已发送的DNS查询消息209相同的事务标识符。在这些实施例中,如果响应/请求比较器206确定DNS响应消息210不匹配DNS查询消息209,则比较器209忽略该DNS响应消息。在进一步的实施例中,当所查询的域名与RFC4343兼容时,响应/请求比较器206可以比较传输的DNS查询消息209和接收的DNS响应消息210中的域名的大写。在这些实施例中,响应/请求比较器206可以响应于大写不匹配的确定来指示DNS解析器200忽略DNS响应消息210。如果响应/请求比较器206将DNS响应消息210识别为匹配未处理的DNS查询消息209,则在一些实施例中,其可以将该DNS响应消息210作为有效的响应传递到DNS响应生成器207。响应/请求比较器206也可以无效或者删除标记或标志或者删除将DNS查询消息209标识为未处理的存储器条目,或者指示另一个进程来做这些工作。
DNS响应生成器207包括用于生成和/或发送DNS解析响应211的进程、逻辑、功能、服务、任务、子程序或可执行指令。DNS响应生成器207可以接收来自响应/请求比较器206的有效的DNS响应消息210。在一些实施例中,DNS响应生成器207可检查DNS响应消息210以确定其是否是完全响应于DNS解析请求208。完全响应的消息包含所寻找的最终地址。例如,对www.example.com的地址的请求可能返回域名www.example.com位于208.77.188.166的响应。对www.example.com的地址的查询的不完全响应消息可能返回example.com的域名服务器位于208.77.188.1的响应,但没有指出www.example.com的地址。在一些实施例中,如果DNS响应消息210是对DNS解析请求208的不完全响应,则DNS响应生成器207可在高速缓存202中记录任何部分的响应或额外的名称服务器信息。此外,DNS查询识别器201可使用该部分的响应或额外的名称服务器信息来创建新的反复查询。在一些实施例中,如果DNS响应消息210是对DNS解析请求208的完全响应,则DNS响应生成器207可在高速缓存202中记录该响应。DNS响应生成器207可以将DNS解析响应211发送到在相同或不同客户机、服务器或中间设备上的最初请求的软件或硬件。
DNS解析请求208为包括要解析的DNS名称的一个或多个数据分组。DNS解析请求208可包括完全合格的域名或域名的一部分;DNS查询类型和DNS查询类。在一些实施例中,DNS解析请求208来自同一客户机、服务器或中间设备上的软件或硬件系统。在其他实施例中,DNS解析请求208来自另一客户机、服务器或中间设备上的软件或硬件系统。
DNS查询消息209为包括对识别域名的名称服务器的请求的一个或多个数据分组。DNS查询消息209可包括如上文结合DNS查询生成器205所讨论的事务标识符和询问条目。DNS查询消息209可通过TCP、UDP或允许通过网络通信的任何其他已知或者当前未知的协议传输。
DNS响应消息210为包括对DNS查询消息210的响应的一个或多个数据分组。DNS响应消息210包括事务标识符。该事务标识符可以与未处理的DNS查询消息209的事务标识符相同、类似或不同。DNS响应消息210包括响应条目。该响应条目可包括如RFC1035中所描述的域名,类或类型,或者包含由查询消息格式所指定的更多或更少的信息。响应条目也可包括额外的信息,例如对于所请求的域名的权威名称服务器的地址。DNS响应消息210可通过TCP、UDP或允许通过网络通信的任何其他类型和形式的协议传输。
DNS解析响应211为包括对DNS解析请求208的响应的一个或多个数据分组。DNS解析响应211可包括在DNS解析请求208中所请求的域名和对应于该域名的IP地址。在一些实施例中,DNS解析响应211可包括不能定位域名的消息。
C、DNS查询生成
图3描述了为DNS查询消息生成事务标识符的方法的步骤的实施例。总的来说,在步骤300,接收到解析域名的请求。在步骤301,分析该请求,确定在其授权区域(zone of authority)或委托区域之内的域名服务器的IP地址和端口。在步骤302,查询高速缓存以确定将要被查询的域名服务器是否重写或规格化(normalize)混合大写的域名;如果域名服务器不这样做,则可以在所请求的域名的字符中进行大写转换。在步骤303,生成随机或伪随机数以用于对加密哈希函数的加盐输入(salt input)。在步骤304,创建事务标识符作为加密哈希函数的输出。在步骤305,创建DNS查询消息。在步骤306,将该DNS查询消息传输至将要被查询的域名服务器。在一些实施例中,对于查询多个域名服务器的同一请求,该过程可以被重复多次。在进一步的实施例中,在DNS的答复没有完整地回答DNS请求,但指示要查询的更权威的名称服务器时,可以循环地或递归地重复该过程。
在进一步的细节中,在步骤300,DNS解析器可接收解析域名的请求。在一些实施例中,该请求可来自Web浏览器或类似的应用。在其他实施例中,该请求可来自驻留在硬件、软件或硬件和软件的任一组合中的内核服务、函数、守护进程或其他可执行代码。在一些实施例中,该请求的来源可以与DNS解析器在同一客户机、服务器或中间设备上。在其他实施例中,该请求的来源可以是来自在相同或不同网络上的不同的客户机、服务器或中间设备。DNS请求可以针对完整的或部分的域名。DNS请求可以包括域类和域类型。在一些实施例中,DNS请求可在名称或类或类型中包含通配符,以表示请求与域名或部分域名或类或类型相关的所有记录。如果相关的完全响应DNS记录驻留在DNS解析器的高速缓存中,则可以将包含该DNS记录中的信息的响应返回给请求者。在这种情形下,可以不需要采取生成DNS查询的进一步的步骤。
在步骤301,DNS解析器从高速缓存中的名称服务器的索引选择要查询的域名服务器。在一些实施例中,DNS解析器可以选择优选的名称服务器。在其他实施例中,DNS解析器可选择在包含高速缓存中的名称服务器的索引中所列出的所请求的域的最窄的管辖区内选择名称服务器。在进一步的实施例中,DNS解析器可以选择根区域的名称服务器。当已经选择了要查询的名称服务器后,DNS解析器从高速缓存中的名称服务器的索引检索该名称服务器的IP地址和端口号。
在步骤302,DNS解析器可查询高速缓存以确定要查询的域名服务器是否重写或规格化响应。在一些实施例中,DNS解析器可以通过所缓存的资源记录中的其他数据字段的存在和内容来确定该名称服务器重写响应。在其他实施例中,DNS解析器可以通过将先前对该名称服务器的混合大写的域名查询与来自同一名称服务器的保留大写的响应相比较来确定名称服务器重写响应。如果将要被查询的域名服务器不重写或标准化响应,那么在一些实施例中,DNS解析器需要将域名的任何或所有字符在大小写之间进行转换。
在步骤303,随机数生成器生成随机或伪随机数。在一个实施例中,随机数生成器可将随机或伪随机数传递到事务标识符生成器。在其他实施例中,事务标识符生成器从与随机数生成器相关联的存储器元件获得或检索随机或伪随机数。在一些实施例中,对于每个新的DNS查询,将新的随机或伪随机数传递到加密哈希函数。在其他实施例中,对于多个DNS查询可以重用随机或伪随机数。在进一步的实施例中,可以以预定的频率来更新随机或伪随机数。在其他实施例中,如结合随机数生成器204和图2描述的,可以响应于事件来更新随机或伪随机数。
在步骤304,事务标识符生成器对包含随机或伪随机数、将要被查询的域名服务器的IP地址和所请求的域名或域名的一部分的输入执行加密哈希函数。加密哈希函数可以是任一哈希函数或哈希函数的任一组合,包括MD5、SHA-1、SHA-256或当前已知或未知的任何其他哈希函数。例如,在一个实施例中,事务标识符生成器可以附加随机数、域名服务器的IP地址和域名的输入位来创建位串。在这个示例实施例中,事务标识符生成器可以使用邻近的位或位组的加法、异或(XOR)和不断轮换来将该位串转换为由协议的事务标识符字段的大小所指定的长度的加密哈希。例如,IETF RFC1035标准为DNS查询指定了16位的事务标识符。然而,事务标识符生成器可以被配置为输出由所使用的网络协议所需的任意长度的哈希。尽管图示的示例描述了附加输入位来创建字符串,但事务标识符生成器可以使用附加、乘法、加法、减法、异或,或者对本领域技术人员所知的任何其他方法。
在步骤305,DNS查询生成器使用在步骤300接收的所请求的域名、域类和/或域类型和在步骤304生成的事务标识符来创建DNS查询。如在上文步骤300所提到的,DNS请求可以是针对完全的或部分的域名,并且可在名称或类或类型中出现通配符,以表示请求与域名或部分域名或类或类型相关的所有记录。在一个实施例中,DNS查询生成器可创建RFC1035标准的DNS查询,包括由问题跟随的头部。在该实施例中,头部可包括在步骤304所生成的事务标识符、查询标志、指定查询类型的操作码,以及递归标志。该问题可包括域名、域类型和域类。在一些实施例中,DNS查询生成器也可以创建与诸如TCP或UDP的相关协议兼容的消息,将DNS查询作为有效负荷。在其他实施例中,DNS查询生成器可将该查询作为有效负荷传递到在应用或传输层操作的另一个协议或进程。
在步骤306,DNS解析器将该DNS查询传输到在步骤301所选择的域名服务器。域名服务器可以与DNS解析器位于相同的网络或不同的网络上。在一些实施例中,DNS解析器直接传输DNS查询。在其他实施例中,DNS解析器将DNS查询传递到负责处理网络通信的另一个进程或服务,例如网络驱动。
尽管已经引用具体实施例详细地显示和描述了本发明,但本领域技术人员应理解,可以在不脱离由下列权利要求定义的本发明的精神和范围内进行形式或细节上的各种变换。
Claims (24)
1.一种用于生成域名服务(DNS)查询以提高抗DNS攻击性的方法,所述方法包括:
a)由DNS解析器接收解析域名的请求;
b)由DNS解析器识别所述域名和DNS服务器的互联网协议地址;
c)通过将单向哈希函数应用于包含预定的随机数、DNS服务器的互联网协议地址、所述域名或域名的一部分的输入来为DNS查询生成事务标识符;以及
d)由DNS解析器将对所述域名的DNS查询传输到DNS服务器,所述DNS查询是由所生成的事务标识符标识的。
2.根据权利要求1所述的方法,其中步骤(b)还包括由DNS解析器识别DNS服务器的端口。
3.根据权利要求2所述的方法,其中步骤(c)还包括通过将单向哈希函数应用于所述预定的随机数、DNS服务器的互联网协议地址与端口和所述域名的输入来为DNS查询生成事务标识符。
4.根据权利要求1所述的方法,其中步骤(c)还包括以预定的频率改变所述预定的随机数。
5.根据权利要求1所述的方法,其中步骤(c)还包括响应于事件来改变所述预定的随机数。
6.根据权利要求1所述的方法,其中步骤(c)还包括由所述单向哈希函数为传输到同一个DNS服务器的、解析同一个域名的DNS查询生成相同的事务标识符。
7.根据权利要求1所述的方法,其中步骤(c)还包括对DNS请求的一个或多个字段进行编码并且使用所编码的一个或多个字段作为对所述单向哈希函数的输入以生成事务标识符。
8.根据权利要求1所述的方法,其中步骤(c)还包括通过将所述域名的一个或多个字符大写来对所述域名进行编码并且通过用所编码的域名作为对所述单向哈希函数的域名输入来生成事务标识符。
9.根据权利要求1所述的方法,其中步骤(c)还包括通过使用域名转码或RACE编码方案的其中一个来对所述域名进行编码。
10.根据权利要求1所述的方法,还包括由DNS解析器确定DNS服务器会重写响应或规格化响应,以及响应于所述确定不对DNS查询的一部分进行编码。
11.根据权利要求1所述的方法,还包括由DNS解析器确定所述DNS服务器不重写响应,以及响应于所述确定来对DNS查询的一部分进行编码并将所编码的部分包含在事务标识符中。
12.根据权利要求1所述的方法,其中步骤(c)还包括由DNS解析器将所述DNS服务器的互联网协议地址和所述域名的输入传送到事务标识符生成器。
13.一种用于生成域名服务(DNS)查询以提高抗DNS攻击性的系统,所述系统包括:
DNS解析器,用于接收解析域名的请求以及识别所述域名和所述请求的目的地的互联网协议地址;
事务标识符生成器,用于通过将单向哈希函数应用于包含预定的随机数、所述目的地的互联网协议地址、所述域名或域名的一部分的输入来生成事务标识符;以及
其中DNS解析器使用所生成的事务标识符来形成DNS查询并且将对所述域名的DNS查询传输到所述目的地。
14.根据权利要求13所述的系统,其中DNS解析器识别所述请求的目的地的端口。
15.根据权利要求14所述的系统,其中事务标识符生成器通过将单向哈希函数应用于所述预定的随机数、目的地的互联网协议地址与端口和所述域名的输入来为DNS查询生成事务标识符。
16.根据权利要求13所述的系统,其中事务标识符生成器以预定的频率改变所述预定的随机数。
17.根据权利要求13所述的系统,其中事务标识符生成器响应于事件来改变所述预定的随机数。
18.根据权利要求13所述的系统,其中事务标识符生成器为标识同一域名和同一目的地的输入生成相同的事务标识符。
19.根据权利要求13所述的系统,其中DNS解析器对DNS请求的一个或多个字段进行编码并且将所编码的一个或多个字段作为输入传送给事务标识符生成器以生成事务标识符。
20.根据权利要求13所述的系统,其中DNS解析器通过将所述域名的一个或多个字符大写来对所述域名进行编码并且将所编码的域名作为所述域名的输入传送给事务标识符生成器。
21.根据权利要求13所述的系统,其中DNS解析器通过使用域名转码或RACE编码方案的其中一个来对所述域名进行编码。
22.根据权利要求13所述的系统,其中DNS解析器确定所述目的地会重写响应或规格化响应,以及响应于所述确定不对DNS查询的一部分进行编码。
23.根据权利要求13所述的系统,其中DNS解析器确定所述目的地不重写响应,以及响应于所述确定来对DNS查询的一部分进行编码并将所编码的部分作为输入传送到事务标识符生成器以生成事务标识符。
24.根据权利要求13所述的系统,其中DNS解析器驻留在客户机、服务器或中间设备的其中一个上。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/426330 | 2009-04-20 | ||
US12/426,330 US9270646B2 (en) | 2009-04-20 | 2009-04-20 | Systems and methods for generating a DNS query to improve resistance against a DNS attack |
US12/426,330 | 2009-04-20 | ||
PCT/US2010/027132 WO2010123632A2 (en) | 2009-04-20 | 2010-03-12 | Systems and methods for generating a dns query to improve resistance against a dns attack |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102577303A CN102577303A (zh) | 2012-07-11 |
CN102577303B true CN102577303B (zh) | 2015-02-04 |
Family
ID=42982012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080026895.6A Expired - Fee Related CN102577303B (zh) | 2009-04-20 | 2010-03-12 | 用于生成dns查询以提高抗dns攻击性的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9270646B2 (zh) |
EP (1) | EP2422092B1 (zh) |
CN (1) | CN102577303B (zh) |
WO (1) | WO2010123632A2 (zh) |
Families Citing this family (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9385988B2 (en) | 2009-11-04 | 2016-07-05 | Cedexis, Inc. | Internet infrastructure survey |
US9514243B2 (en) * | 2009-12-03 | 2016-12-06 | Microsoft Technology Licensing, Llc | Intelligent caching for requests with query strings |
US8321551B2 (en) * | 2010-02-02 | 2012-11-27 | Symantec Corporation | Using aggregated DNS information originating from multiple sources to detect anomalous DNS name resolutions |
US8103915B2 (en) | 2010-02-12 | 2012-01-24 | Verizon Patent And Licensing Inc. | Failure system for domain name system client |
US9891931B2 (en) * | 2010-06-15 | 2018-02-13 | Microsoft Technology Licensing, Llc | Techniques for efficient remote presentation session connectivity and routing |
US8407471B1 (en) * | 2010-08-24 | 2013-03-26 | Symantec Corporation | Selecting a network service for communicating with a server |
US9906488B2 (en) | 2010-10-26 | 2018-02-27 | Cedexis, Inc. | Surrogate name delivery network |
WO2012058238A2 (en) * | 2010-10-26 | 2012-05-03 | Martin Kagan | Surrogate name delivery network |
US8671221B2 (en) * | 2010-11-17 | 2014-03-11 | Hola Networks Ltd. | Method and system for increasing speed of domain name system resolution within a computing device |
US9313085B2 (en) * | 2010-12-16 | 2016-04-12 | Microsoft Technology Licensing, Llc | DNS-based determining whether a device is inside a network |
KR20130014226A (ko) * | 2011-07-29 | 2013-02-07 | 한국전자통신연구원 | 공격 트래픽 형태별 특성에 따른 dns 플러딩 공격 탐지 방법 |
CN102325132B (zh) * | 2011-08-23 | 2014-09-17 | 北京凝思科技有限公司 | 一种系统层安全dns防护方法 |
US9246882B2 (en) | 2011-08-30 | 2016-01-26 | Nokia Technologies Oy | Method and apparatus for providing a structured and partially regenerable identifier |
US9515988B2 (en) * | 2011-10-26 | 2016-12-06 | Aruba Networks, Inc. | Device and method for split DNS communications |
US9319377B2 (en) | 2011-10-26 | 2016-04-19 | Hewlett-Packard Development Company, L.P. | Auto-split DNS |
US8880686B2 (en) * | 2011-12-30 | 2014-11-04 | Verisign, Inc | Providing privacy enhanced resolution system in the domain name system |
US9342698B2 (en) * | 2011-12-30 | 2016-05-17 | Verisign, Inc. | Providing privacy enhanced resolution system in the domain name system |
EP2615772A1 (en) * | 2012-01-10 | 2013-07-17 | Thomson Licensing | Method and device for timestamping data and method and device for verification of a timestamp |
US20140059071A1 (en) * | 2012-01-11 | 2014-02-27 | Saguna Networks Ltd. | Methods, circuits, devices, systems and associated computer executable code for providing domain name resolution |
US20130290734A1 (en) * | 2012-04-26 | 2013-10-31 | Appsense Limited | Systems and methods for caching security information |
WO2014000303A1 (zh) * | 2012-06-30 | 2014-01-03 | 华为技术有限公司 | 一种报文接收方法、深度包检测设备及系统 |
CN103685213A (zh) * | 2012-09-26 | 2014-03-26 | 西门子公司 | 一种减少针对dns的攻击的装置、系统和方法 |
US9363288B2 (en) * | 2012-10-25 | 2016-06-07 | Verisign, Inc. | Privacy preserving registry browsing |
US10565394B2 (en) | 2012-10-25 | 2020-02-18 | Verisign, Inc. | Privacy—preserving data querying with authenticated denial of existence |
US9202079B2 (en) | 2012-10-25 | 2015-12-01 | Verisign, Inc. | Privacy preserving data querying |
CN103838753B (zh) * | 2012-11-23 | 2018-04-27 | 腾讯科技(北京)有限公司 | 一种兑换码的存储、验证方法和装置 |
US8560455B1 (en) * | 2012-12-13 | 2013-10-15 | Digiboo Llc | System and method for operating multiple rental domains within a single credit card domain |
US10320628B2 (en) | 2013-06-19 | 2019-06-11 | Citrix Systems, Inc. | Confidence scoring of device reputation based on characteristic network behavior |
US20150350153A1 (en) * | 2014-05-30 | 2015-12-03 | Vonage Business Solutions, Inc. | System and method for account-based dns routing |
US9544266B2 (en) * | 2014-06-27 | 2017-01-10 | Microsoft Technology Licensing, Llc | NSEC3 performance in DNSSEC |
US9426171B1 (en) * | 2014-09-29 | 2016-08-23 | Amazon Technologies, Inc. | Detecting network attacks based on network records |
US9756058B1 (en) | 2014-09-29 | 2017-09-05 | Amazon Technologies, Inc. | Detecting network attacks based on network requests |
US10021065B2 (en) | 2015-01-27 | 2018-07-10 | Anchorfree Inc. | System and method for suppressing DNS requests |
US11303604B2 (en) * | 2015-03-31 | 2022-04-12 | Conviva Inc. | Advanced resource selection |
CN106506322A (zh) * | 2015-09-08 | 2017-03-15 | 阿里巴巴集团控股有限公司 | 业务功能的实现方法和装置 |
KR101713191B1 (ko) * | 2015-10-27 | 2017-03-08 | 한국정보보호시스템(주) | 악성 데이터의 사전 검증을 통해 악성 행위를 차단하는 액세스 포인트 및 그 방법 |
US9935970B2 (en) | 2015-10-29 | 2018-04-03 | Duo Security, Inc. | Methods and systems for implementing a phishing assessment |
US10530758B2 (en) * | 2015-12-18 | 2020-01-07 | F5 Networks, Inc. | Methods of collaborative hardware and software DNS acceleration and DDOS protection |
US9979693B2 (en) * | 2016-01-28 | 2018-05-22 | Fiber Logic Communications, Inc. | IP allocation method for use in telecommunication network automatic construction |
GB201611948D0 (en) * | 2016-07-08 | 2016-08-24 | Kalypton Int Ltd | Distributed transcation processing and authentication system |
US10574674B2 (en) * | 2016-07-08 | 2020-02-25 | Nec Corporation | Host level detect mechanism for malicious DNS activities |
US10193923B2 (en) | 2016-07-20 | 2019-01-29 | Duo Security, Inc. | Methods for preventing cyber intrusions and phishing activity |
CN106357839B (zh) * | 2016-09-28 | 2019-11-19 | 中国互联网络信息中心 | 一种dns查询方法及装置 |
CN106533829B (zh) * | 2016-11-04 | 2019-04-30 | 东南大学 | 一种基于比特熵的dns流量识别方法 |
CN106790071B (zh) * | 2016-12-21 | 2020-04-03 | 北京奇虎测腾科技有限公司 | 一种dns全流量劫持风险的检测方法和装置 |
WO2018162087A1 (en) * | 2017-03-10 | 2018-09-13 | NEC Laboratories Europe GmbH | Explicit service function chaining (sfc) using dns extensions |
US10666602B2 (en) | 2017-05-05 | 2020-05-26 | Microsoft Technology Licensing, Llc | Edge caching in edge-origin DNS |
US10599836B2 (en) * | 2017-08-11 | 2020-03-24 | Verisign, Inc. | Identification of visual international domain name collisions |
US10375016B1 (en) * | 2018-04-02 | 2019-08-06 | Cloudflare, Inc. | Managing domain name system (DNS) record cache across multiple DNS servers using multicast communication |
US11677713B2 (en) * | 2018-10-05 | 2023-06-13 | Vmware, Inc. | Domain-name-based network-connection attestation |
US10922139B2 (en) | 2018-10-11 | 2021-02-16 | Visa International Service Association | System, method, and computer program product for processing large data sets by balancing entropy between distributed data segments |
US10963245B2 (en) | 2019-02-06 | 2021-03-30 | Arm Limited | Anchored data element conversion |
US11394746B2 (en) * | 2019-03-07 | 2022-07-19 | Lookout, Inc. | DNS prefetching based on triggers for increased security |
CN110674098B (zh) * | 2019-09-19 | 2022-04-22 | 浪潮电子信息产业股份有限公司 | 一种分布式文件系统中的域名解析方法 |
US11019022B1 (en) * | 2020-01-28 | 2021-05-25 | F5 Networks, Inc. | Processing packets with returnable values |
CN112954683B (zh) * | 2021-05-13 | 2021-08-17 | 中兴通讯股份有限公司 | 域名解析方法、装置、电子设备和存储介质 |
US11621963B2 (en) * | 2021-05-27 | 2023-04-04 | Western Digital Technologies, Inc. | Fleet health management corrective action communication exchange |
CN114006724B (zh) * | 2021-09-18 | 2023-08-29 | 中国互联网络信息中心 | 一种加密dns解析器发现及认证的方法与系统 |
CN113900460A (zh) * | 2021-10-25 | 2022-01-07 | 哈尔滨工大卫星技术有限公司 | 一种用于卫星平台的温度控制方法、系统及介质 |
CN114124887B (zh) * | 2021-11-29 | 2023-09-05 | 牙木科技股份有限公司 | Dns服务器的视图查询方法、dns服务器及可读存储介质 |
US11991291B1 (en) * | 2022-03-31 | 2024-05-21 | Amazon Technologies, Inc. | Content-based domain name enconding, encryption, and routing system |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1499396A (zh) * | 2002-10-24 | 2004-05-26 | �Ҵ���˾ | 维护Internet域名数据的方法和装置 |
CN101383830A (zh) * | 2008-10-28 | 2009-03-11 | 成都市华为赛门铁克科技有限公司 | 一种防护网络攻击的方法、系统及网关、域名系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7296155B1 (en) * | 2001-06-08 | 2007-11-13 | Cisco Technology, Inc. | Process and system providing internet protocol security without secure domain resolution |
JP4180279B2 (ja) * | 2002-01-11 | 2008-11-12 | Kddi株式会社 | 名前解決を用いたルーティング方法およびそのシステム |
US7058718B2 (en) * | 2002-01-15 | 2006-06-06 | International Business Machines Corporation | Blended SYN cookies |
KR20160078511A (ko) * | 2008-03-10 | 2016-07-04 | 아필리어스 리미티드 | 플랫폼 독립적인 idn 이메일 저장소 변환 |
CN101267313B (zh) * | 2008-04-23 | 2010-10-27 | 成都市华为赛门铁克科技有限公司 | 泛洪攻击检测方法及检测装置 |
US7930428B2 (en) * | 2008-11-11 | 2011-04-19 | Barracuda Networks Inc | Verification of DNS accuracy in cache poisoning |
-
2009
- 2009-04-20 US US12/426,330 patent/US9270646B2/en active Active
-
2010
- 2010-03-12 WO PCT/US2010/027132 patent/WO2010123632A2/en active Application Filing
- 2010-03-12 CN CN201080026895.6A patent/CN102577303B/zh not_active Expired - Fee Related
- 2010-03-12 EP EP10702228.7A patent/EP2422092B1/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1499396A (zh) * | 2002-10-24 | 2004-05-26 | �Ҵ���˾ | 维护Internet域名数据的方法和装置 |
CN101383830A (zh) * | 2008-10-28 | 2009-03-11 | 成都市华为赛门铁克科技有限公司 | 一种防护网络攻击的方法、系统及网关、域名系统 |
Non-Patent Citations (1)
Title |
---|
"Measures for Making DNS More Resilient against Forged Answers";A.Hubert Netherlabs Computer Consulting BV.R.Van Mook Equinix;《Network Working Group》;20090101;第4页第3章,第12页第9章第9.2节 * |
Also Published As
Publication number | Publication date |
---|---|
EP2422092A2 (en) | 2012-02-29 |
US20100269174A1 (en) | 2010-10-21 |
EP2422092B1 (en) | 2018-10-10 |
WO2010123632A3 (en) | 2012-03-22 |
WO2010123632A2 (en) | 2010-10-28 |
CN102577303A (zh) | 2012-07-11 |
US9270646B2 (en) | 2016-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102577303B (zh) | 用于生成dns查询以提高抗dns攻击性的系统和方法 | |
JP5587732B2 (ja) | ドメイン・ネーム・サービス(dns)データベースへのアクセスを管理するコンピュータ実施方法、コンピュータ・プログラム、およびシステム | |
US7558880B2 (en) | Dynamic DNS registration method, domain name solution method, DNS proxy server, and address translation device | |
US8214537B2 (en) | Domain name system using dynamic DNS and global address management method for dynamic DNS server | |
US20180227269A1 (en) | Correlating nameserver IPv6 and IPv4 addresses | |
US7516482B2 (en) | Secure hierarchical namespaces in peer-to-peer networks | |
CN101485174B (zh) | 用于有效传送先前存储内容的方法和系统 | |
US11824829B2 (en) | Methods and systems for domain name data networking | |
US7779158B2 (en) | Network device | |
US10645057B2 (en) | Domain name system identification and attribution | |
JP2008283670A (ja) | 機器およびサービスのアクセス、接続性および相互運用性 | |
US20110202678A1 (en) | Delegated Resource Use in a Content Based Routing Environment | |
CN114449363B (zh) | 一种基于IPv6的可编码可溯源的数字对象管控方法 | |
Yan et al. | Is DNS ready for ubiquitous Internet of Things? | |
KR20180047961A (ko) | 미래 인터넷 환경에서의 통합 식별 체계 구축장치 및 그 방법 | |
US11070513B2 (en) | DNS-based method of transmitting data | |
Vasiliadis et al. | A trusted network model using the lightweight directory access protocol | |
US20230122746A1 (en) | System and method for enabling secure web access | |
Lenhard et al. | How Computers Communicate with Each Other | |
JP6487870B2 (ja) | 名前解決装置、名前解決方法及び名前解決プログラム | |
CN101789914B (zh) | 运用点对点代理服务的点对点通信装置与方法 | |
WO2024050341A1 (en) | Runtime match domain configurations | |
Newton | Replacing the whois protocol: IRIS and the IETF's CRISP working group | |
Ahmed et al. | Service/Resource Naming a Comparative Study |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150204 |
|
CF01 | Termination of patent right due to non-payment of annual fee |