HTTPS如何防止DNS欺骗?

举报
沃通WoTrus 发表于 2019/03/05 10:54:05 2019/03/05
【摘要】 HTTPS加密 可以有效帮助服务器应对DNS欺骗、DNS劫持、ARP攻击等安全威胁。DNS是什么?DNS如何被利用?HTTPS如何防止DNS欺骗?

HTTPS加密 可以有效帮助服务器应对DNS欺骗、DNS劫持、ARP攻击等安全威胁。DNS是什么?DNS如何被利用?HTTPS如何防止DNS欺骗

DNS如何工作?

如果您想访问www.example.com,您的浏览器需要找到该特定Web服务器的IP地址。它首先要查询系统的hosts文件,这是一个文本文件,其中包含任何域名的IP地址,这些域名被有效地“硬编码”到该系统中。但是,大多数时候该网址不在系统的hosts文件中,那您的浏览器将询问DNS服务器(可能是一个在您组织网络上的解析器,也可能是由ISP运营或由Google、OpenDNS等组织运营的外部公共解析器)。

简而言之,如果解析器最近被要求提供该域名的IP地址,它将在其缓存中包含该信息,并将直接提供该信息。但是如果它没有在缓存中(或者因为它之前从未被要求提供该信息,或者因为信息已“过期”并从缓存中删除),那么它会将请求引用到根服务器,可以告诉解析器在哪里获取有关.com顶级域的信息。

然后它会询问服务器从哪里获取有关example.com的信息,然后转到称为权威服务器的服务器上,该服务器将为其提供example.com域中任何服务器的IP地址(例如Web和电子邮件服务器)。

0d89734770ea59b206293f88727b4bbb798.jpg

 

什么是DNS欺骗

DNS欺骗就是攻击者冒充域名服务器的一种欺骗行为。原理:如果可以冒充域名服务器,然后将查询的IP地址设为攻击者的IP地址,这样的话用户上网就只能看到攻击者的主页,而想要取得的example.com网站主页了,这就是DNS欺骗的基本原理。

DNS欺骗就是利用DNS协议设计时的一个非常重要的安全缺陷。首先欺骗者向目标机器发送构造的APR应答包,ARP欺骗成功后,嗅探到对方发出的DNS请求数据包,分析数据包取得ID和端口号后,向目标发送自己构造后的一个DNS返回包,对方收到DNS应答包,发现ID和端口号全部正确,即把返回数据包中的额域名和对应的IP地址保存近DNS缓存表中,而后来当真实的DNS应答包返回时则被丢弃。

2dbe9b0183b7d3f732a6da3062e3f7da607.jpg

HTTPS如何防止DNS欺骗?

有效的HTTPS证书表示,该服务器在获取证书时就已经由受信任的证书颁发机构(如:沃通CA)验证域名所有权。为了确保攻击者无法使用DNS欺骗将用户引导到http://可以截获流量的普通连接,网站可以使用HTTP严格传输安全(HSTS)来指示浏览器始终要求其域的HTTPS连接。这意味着想要成功欺骗DNS解析的攻击者,还必须创建有效的HTTPS连接。这使得DNS欺骗与攻击HTTPS一样具有挑战性和昂贵性。

如果攻击者欺骗DNS但不破坏HTTPS,则用户将从其浏览器收到明显的警告消息,以防止他们访问可能的恶意站点。如果该站点使用HSTS,则访问者将无法选择忽略并单击警告。

HTTPS和HSTS协同工作以保护域免受DNS欺骗。

攻击HTTPS连接有多难?

HTTPS连接的攻击通常分为3类:

  • 通过密码分析或其他协议弱点来破坏HTTPS连接的质量。

  • 攻破客户端计算机,例如将恶意根证书安装到系统或浏览器信任库中。

  • 通常通过操纵或破坏证书颁发机构来获取主要浏览器信任的“流氓”证书。

这些都是可能的,但对于大多数攻击者而言,这些攻击都非常困难并且需要大量费用。重要的是,它们都是有针对性的攻击,并且不能随时对任何连接到任何网站的用户执行。相比之下,普通的HTTP连接可以被网络连接中涉及的任何人轻易拦截和修改,因此攻击可以大规模且低成本地进行。

 

沃通CA提供HTTPS证书,支持Windows、安卓、iOS、JDK以及Firefox、Chrome等各类浏览器、操作系统和移动终端,为用户与服务器之间建立加密连接,保护数据传输安全、防止中间人攻击的同时,帮助服务器更有效地防止DNS欺骗等安全威胁。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。