CN107018156A - 域名劫持的防御保障方法 - Google Patents

域名劫持的防御保障方法 Download PDF

Info

Publication number
CN107018156A
CN107018156A CN201710405045.0A CN201710405045A CN107018156A CN 107018156 A CN107018156 A CN 107018156A CN 201710405045 A CN201710405045 A CN 201710405045A CN 107018156 A CN107018156 A CN 107018156A
Authority
CN
China
Prior art keywords
client request
request
server
server end
request end
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.)
Pending
Application number
CN201710405045.0A
Other languages
English (en)
Inventor
秦永涛
刘晓光
汪志武
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Wisdom Cloud Technology Co Ltd
Original Assignee
Beijing Wisdom Cloud Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Wisdom Cloud Technology Co Ltd filed Critical Beijing Wisdom Cloud Technology Co Ltd
Priority to CN201710405045.0A priority Critical patent/CN107018156A/zh
Publication of CN107018156A publication Critical patent/CN107018156A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network 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)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种域名劫持的防御保障方法,在http请求过程中进行防范,在客户请求端向服务器端发送GET/POST请求、服务器端与客户请求端开始交互数据中增加校验机制,结构简单,部署方便,既不增加服务器等硬件条件的成本,又能够有效确保DNS解析结果的正确性,确保服务器端的可靠性,并且为后续的防劫持处理提供数据支撑,十分利于推广应用,本发明还提供上述技术方案的加密方法,客户请求端在发起请求时将URL、请求头信息进行加密,由于客户请求端和服务器端约定了对URL、host、扩展名、特定的头信息加解密处理,因此劫持者无法通过常规的方式获取上述信息,因而大大降低了域名被劫持的可能性。

Description

域名劫持的防御保障方法
技术领域
本发明涉及互联网监控及防御技术领域,尤其涉及一种域名劫持的防御保障方法。
背景技术
在互联网技术飞速发展的今天,网络环境也呈现出多样化的趋势,传统的HTTP/HTTPS请求过程中,发起请求的一方需要完成的第一步操作就是DNS解析的过程,这个过程的目的是需要将访问的域名从DNS系统解析获取对应的服务器IP,然后请求发起方将通过DNS解析得到的IP作为服务器端IP,来发起后续的HTTP/HTTPS请求。
从上述过程来看,DNS解析过程是HTTP/HTTPS请求过程中不可或缺并且非常关键的一个组成部分,如果DNS解析环节出了差错,则会导致后续的HTTP/HTTPS请求全部异常,因此,确保DNS解析结果的正确性,就显得尤为重要。
目前影响DNS解析正确性的一个重要因素是DNS劫持(又称域名劫持),DNS劫持是指在劫持的网络范围内拦截域名解析的请求,分析请求的域名,把审查范围以外的请求放行,否则返回假的IP地址或者什么都不做使请求失去响应,其效果就是对特定的网络不能响应或访问的是假网址,如本发明说明书附图的图1所示。
目前的现有技术中,目前防范DNS劫持的措施主要包括如下几种:
1.在不同的网络上运行分离的域名服务器来取得冗余性,当其中一路网络的DNS服务被劫持时,可通过另外网络的域名服务器提供服务,以保持服务的连续性。缺点:在不同的网络上部署DNS服务器,无疑增加了DNS服务器的购置成本,同时也增加了DNS服务器维护成本。
2.删除运行在DNS服务器上的不必要服务,如FTP、telnet和HTTP,操作简单,不会增加硬件购置成本。缺点:以上服务均属于维护DNS服务器常用的服务,将这些服务删除将会给后续的维护工作带来诸多不方便的地方。
3.将外部和内部域名服务器从物理上分开并使用转发器(forwarders),可以限制特定的DNS服务器与Internet联系。缺点:需要增加额外的服务器成本开支。
发明内容
本发明的目的就在于为了解决上述问题和缺陷,提供一种域名劫持的防御保障方法,旨在确保DNS解析结果的正确性,确保服务器端的可靠性,为后续的防劫持处理提供支撑。
本发明通过以下技术方案来实现上述目的:
一种域名劫持的防御保障方法,其特征在于,在http请求过程中进行防范,在下述Q3、Q4步骤中增加校验机制,其具体为:
Q1:客户请求端通过浏览器输入服务器端的URL,并通过客户请求端的LOCAL DNS获取到服务器端的IP地址;
Q2:客户请求端在获取到服务器端的IP地址以后,尝试向服务器端IP发起TCP三次握手并建立连接;
Q3:连接建立起来以后,客户请求端向服务器端发起GET/POST请求;
Q4:服务器端接收到客户请求端的GET/POST请求以后,与客户请求端开始交互数据,
并校验是否有域名劫持现象,如有劫持现象将做丢弃和、或重试处理;
Q5:传输完毕后断开连接;
其中,
Q3步骤具体为:
客户请求端向服务器端发送GET/POST等请求,并携带一个全局唯一的认证字符串,客户请求端将请求和认证字符串一并发送给服务器端;
所述认证字符串由客户请求端和服务器端共同协商,其属性为一个特殊的header字段或字符串;每个字符串均由十六进制的时间戳和32位随机字符串组成,通过MD5算法计算得出;使得任何两个认证字符串之间都是不同的;
Q4步骤具体为:
服务器端与客户请求端开始交互数据,服务器端接收到认证字符串后,将该认证字符串增加到响应header中、并返回给客户请求端;客户请求端在得到认证字符串的字段值以后,和请求发起时的认证字符串的字段值进行比较,如果一致,则为合法,如果不一致,则为非法。
作为上述技术方案的优选,根据本发明技术方案发现劫持的请求,有如下几种处理措施:
仅记录Q5步骤中反应的劫持监测的结果,用来统计劫持发生的概率和影响范围;
对Q4步骤中发现劫持的响应做进一步的丢弃和、或重试处理,尝试获取正确的响应,提高可用性。
作为上述技术方案的优选,本发明还提供上述技术方案在Q3、Q4步骤时的加解密方法,步骤如下:
Q11:在Q3步骤客户请求端在发起请求时,在CDN内部传输的各节点之间,将URL、请求头信息以加密算法进行加密,加密后URL、请求头信息表现为一串无序的字符串;
Q12:客户请求端将加密后的请求信息发送给服务器端;
Q13:在Q4步骤中,服务器端在接收到请求后,先按照和客户请求端约定好的方式来解密这些字符串,得到原始的请求信息,然后根据自身策略处理请求;在没有相应解密算法的情况下,无法获取信息的正确内容;
Q14:在处理完成后,将响应头信息以同样的加密算法来加密后,将加密信息返回给客户请求端;
Q15:客户请求端在接收到响应内容后,通过约定好的解密算法,将响应头解密并进行后续的处理。
本发明的有益效果是:
本发明提供的一种域名劫持的防御保障方法,结构简单,部署方便,既不增加服务器等硬件条件的成本,又能够有效确保DNS解析结果的正确性,确保服务器端的可靠性,并且为后续的防劫持处理提供数据支撑,十分利于推广应用。
同时,本发明提供上述技术方案的加密方法,是将其引申到CDN内部系统防域名劫持方案,该方法能有效的避免针对URL、host、扩展名、特定的头信息例如:content-type、content-length等信息的过滤,由于客户请求端和服务器端约定了加密算法对URL、host、扩展名、特定的头信息例如:content-type、content-length等信息进行了加解密处理,因此劫持者无法通过常规的方式获取上述信息,因而大大降低了域名被劫持的可能性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本实用新型的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明技术背景中提及的现有技术中经常发生的域名劫持的示意图。
图2为本发明实施例提供的一种域名劫持的防御保障方法的Q1-Q6步骤的示意图。
图3为本发明实施例提供的一种域名劫持的防御保障方法的Q3、Q4步骤的示意图。
图4为本发明实施例提供的一种域名劫持的防御保障方法的加密方法的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
图2展示了本发明实施例所提供的一种域名劫持的防御保障方法的Q1-Q6步骤,在这个过程中,发起请求的一方需要完成的第一步操作就是DNS解析的过程,这个过程的目的是需要将访问的域名从DNS系统解析获取对应的服务器IP,然后请求发起方将通过DNS解析得到的IP作为服务器端IP,来发起后续的HTTP/HTTPS请求。
从上述过程来看,DNS解析过程是HTTP/HTTPS请求过程中不可或缺并且非常关键的一个组成部分,如果DNS解析环节出了差错,则会导致后续的HTTP/HTTPS请求全部异常,因此,确保DNS解析结果的正确性,特别是防范DNS劫持,就显得尤为重要。
请参阅图3所示,在第3、4步增加了一种校验机制,用来确保服务器端的可靠性,具体如下:
在第3步中,将请求过程进行优化。
(1)客户请求端向服务器端发送GET/POST等请求,并携带一个全局唯一的认证字符串。
这个认证字符串有如下3个特点:
由客户请求端和服务器端共同协商,其属性为一个特殊的header字段(字符串);该字符串由十六进制的时间戳和32位随机字符串组成,通过MD5算法计算得出。
因为时间戳和32位随机字符串每次请求都不一样,因此这个认证字符串全局唯一,所以任何两个请求的这个字符串都是不同的。
(2)客户请求端将请求和认证字符串一并发送给服务器端。
在第4步中,将请求过程进行优化。
(1)服务器端接收到认证字符串后,将该认证字符串增加到响应header中返回给客户请求端。
(2)客户请求端在得到字段值以后,和请求发起时的字段值进行比较,如果一致,则为合法,如果不一致,则为非法。
在图4中,展示了加密方法的示意图,客户请求端在发起请求时,将URL、请求头信息以某种固定的加密算法进行加密,加密后URL、请求头信息表现为一串无序的字符串。在没有相应加解密算法的情况下,无法获取信息的正确内容。
然后,客户请求端将加密后的请求信息发送给服务器端。
服务器端在接收到请求后,先按照和客户请求端约定好的加密方式来解密这些字符串,得到原始的请求信息,然后根据自身策略处理请求。
在处理完成后,将响应头信息以同样的加密算法来加密并发送给客户请求端。客户请
求端在接收到响应内容后,通过约定好的解密算法,将响应头解密并进行后续的处理。
该方法能有效的避免针对URL、host、扩展名、特定的头信息例如:content-type、content-length等信息的过滤,从而降低被劫持的风险。
客户请求端通过MD5算法将URL、请求头信息进行加密,在加密前URL、请求头信息是明文的,可以直接阅读;而当通过MD5算法加密以后,URL、请求头信息则变成密文,如果没有相应的解密算法,则无法对URL、请求头信息进行解密,也从而无法阅读URL、请求头信息。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

Claims (3)

1.一种域名劫持的防御保障方法,其特征在于,在http请求过程中进行防范,在下述Q3、Q4步骤中增加校验机制,其具体为:
Q1:客户请求端通过浏览器输入服务器端的URL,并通过客户请求端的LOCAL DNS获取到服务器端的IP地址;
Q2:客户请求端在获取到服务器端的IP地址以后,尝试向服务器端IP发起TCP三次握手并建立连接;
Q3:连接建立起来以后,客户请求端向服务器端发起GET/POST请求;
Q4:服务器端接收到客户请求端的GET/POST请求以后,与客户请求端开始交互数据,并校验是否有域名劫持现象,如有劫持现象将做丢弃和、或重试处理;
Q5:传输完毕后断开连接;
其中,
Q3步骤具体为:
客户请求端向服务器端发送GET/POST等请求,并携带一个全局唯一的认证字符串,客户请求端将请求和认证字符串一并发送给服务器端;
所述认证字符串由客户请求端和服务器端共同协商,其属性为一个特殊的header字段或字符串;每个字符串均由十六进制的时间戳和32位随机字符串组成,通过MD5算法计算得出;使得任何两个认证字符串之间都是不同的;
Q4步骤具体为:
服务器端与客户请求端开始交互数据,服务器端接收到认证字符串后,将该认证字符串增加到响应header中、并返回给客户请求端;客户请求端在得到认证字符串的字段值以后,和请求发起时的认证字符串的字段值进行比较,如果一致,则为合法,如果不一致,则为非法。
2.根据权利要求1所述的一种域名劫持的防御保障方法,其特征在于,根据本发明技术方案发现劫持的请求,有如下几种处理措施:
仅记录Q5步骤中反应的劫持监测的结果,用来统计劫持发生的概率和影响范围;
对Q4步骤中发现劫持的响应做进一步的丢弃和、或重试处理,尝试获取正确的响应,提高可用性。
3.根据权利要求1所述的一种域名劫持的防御保障方法,其特征在于,还提供上述技术方案在Q3、Q4步骤时的加解密方法,步骤如下:
Q11:在Q3步骤客户请求端在发起请求时,在CDN内部传输的各节点之间,将URL、请求头信息以加密算法进行加密,加密后URL、请求头信息表现为一串无序的字符串;
Q12:客户请求端将加密后的请求信息发送给服务器端;
Q13:在Q4步骤中,服务器端在接收到请求后,先按照和客户请求端约定好的方式来解密这些字符串,得到原始的请求信息,然后根据自身策略处理请求;在没有相应解密算法的情况下,无法获取信息的正确内容;
Q14:在处理完成后,将响应头信息以同样的加密算法来加密后,将加密信息返回给客户请求端;
Q15:客户请求端在接收到响应内容后,通过约定好的解密算法,将响应头解密并进行后续的处理。
CN201710405045.0A 2017-06-01 2017-06-01 域名劫持的防御保障方法 Pending CN107018156A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710405045.0A CN107018156A (zh) 2017-06-01 2017-06-01 域名劫持的防御保障方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710405045.0A CN107018156A (zh) 2017-06-01 2017-06-01 域名劫持的防御保障方法

Publications (1)

Publication Number Publication Date
CN107018156A true CN107018156A (zh) 2017-08-04

Family

ID=59451861

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710405045.0A Pending CN107018156A (zh) 2017-06-01 2017-06-01 域名劫持的防御保障方法

Country Status (1)

Country Link
CN (1) CN107018156A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107623693A (zh) * 2017-09-30 2018-01-23 北京奇虎科技有限公司 域名解析防护方法及装置、系统、计算设备、存储介质
CN109413076A (zh) * 2018-11-06 2019-03-01 北京奇虎科技有限公司 域名解析方法及装置
CN111615820A (zh) * 2018-10-15 2020-09-01 华为技术有限公司 通过向grs服务器发送关键值进行域名解析的方法及设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120254402A1 (en) * 2011-04-01 2012-10-04 Verisign Systems, apparatus, and methods for mobile device detection
CN104239577A (zh) * 2014-10-09 2014-12-24 北京奇虎科技有限公司 检测网页数据真伪的方法和装置
CN105827594A (zh) * 2016-03-08 2016-08-03 北京航空航天大学 一种基于域名可读性及域名解析行为的可疑性检测方法
CN105933356A (zh) * 2016-07-07 2016-09-07 竞技世界(北京)网络技术有限公司 一种检测客户端dns劫持的方法及装置
CN106603464A (zh) * 2015-10-14 2017-04-26 北京国双科技有限公司 网络检测方法与系统、装置
CN106790083A (zh) * 2016-12-22 2017-05-31 掌阅科技股份有限公司 Dns劫持的检测方法、装置和移动终端

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120254402A1 (en) * 2011-04-01 2012-10-04 Verisign Systems, apparatus, and methods for mobile device detection
CN104239577A (zh) * 2014-10-09 2014-12-24 北京奇虎科技有限公司 检测网页数据真伪的方法和装置
CN106603464A (zh) * 2015-10-14 2017-04-26 北京国双科技有限公司 网络检测方法与系统、装置
CN105827594A (zh) * 2016-03-08 2016-08-03 北京航空航天大学 一种基于域名可读性及域名解析行为的可疑性检测方法
CN105933356A (zh) * 2016-07-07 2016-09-07 竞技世界(北京)网络技术有限公司 一种检测客户端dns劫持的方法及装置
CN106790083A (zh) * 2016-12-22 2017-05-31 掌阅科技股份有限公司 Dns劫持的检测方法、装置和移动终端

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107623693A (zh) * 2017-09-30 2018-01-23 北京奇虎科技有限公司 域名解析防护方法及装置、系统、计算设备、存储介质
CN107623693B (zh) * 2017-09-30 2021-03-19 北京奇虎科技有限公司 域名解析防护方法及装置、系统、计算设备、存储介质
CN111615820A (zh) * 2018-10-15 2020-09-01 华为技术有限公司 通过向grs服务器发送关键值进行域名解析的方法及设备
CN111615820B (zh) * 2018-10-15 2022-04-05 华为技术有限公司 通过向grs服务器发送关键值进行域名解析的方法及设备
CN109413076A (zh) * 2018-11-06 2019-03-01 北京奇虎科技有限公司 域名解析方法及装置
CN109413076B (zh) * 2018-11-06 2022-11-29 北京奇虎科技有限公司 域名解析方法及装置

Similar Documents

Publication Publication Date Title
CN1759564B (zh) 访问控制处理方法
CN109413076B (zh) 域名解析方法及装置
US9275257B2 (en) Secure communication architecture
WO2019062666A1 (zh) 一种实现安全访问内部网络的系统、方法和装置
US20180365395A1 (en) Multimedia data processing method, apparatus, system, and storage medium
CN109510802B (zh) 鉴权方法、装置及系统
US10257171B2 (en) Server public key pinning by URL
CN108156178A (zh) 一种ssl/tls数据监控系统和方法
CN104378379A (zh) 一种数字内容加密传输方法、设备和系统
CN109067739A (zh) 通信数据加密方法和装置
CN107070931A (zh) 云应用数据上传/访问方法、系统及云代理服务器
CN114143082B (zh) 一种加密通信方法、系统及装置
CN113225352A (zh) 一种数据传输方法、装置、电子设备及存储介质
CN107018156A (zh) 域名劫持的防御保障方法
CN105516169A (zh) 检测网站安全的方法及装置
CN104243452B (zh) 一种云计算访问控制方法及系统
CN106357601A (zh) 数据访问方法、装置及系统
US20170317836A1 (en) Service Processing Method and Apparatus
JP2001186122A (ja) 認証システム及び認証方法
CN105516066A (zh) 一种对中间人的存在进行辨识的方法及装置
CN106330968A (zh) 一种访问设备的身份认证方法及装置
CN107784209A (zh) 用于防止信息电器装置中安全漏洞的方法和信息电器装置
TWI422206B (zh) 包容式金鑰認證方法
CN111510288B (zh) 密钥管理方法、电子设备及存储介质
Arshad Evaluating security threats for each layers of IoT system

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170804