DNS劫持

安全咨询 0 305

DNS 的域名解析基于 UDP 协议实现,极易发生 DNS 劫持。


如何解决 DNS 劫持

传统 DNS 解析域名的最大弊端就是易被劫持,直接降低互联网用户的使用体验。比如你想访问 www.baidu.com,结果发生 DNS 劫持,得到了一个诈骗网站的 IP 或者空的地址,使你无法使用正常的服务(比如百度是搜索服务)。

HTTPDNS 利用 HTTP 协议与 DNS 服务器交互,代替了传统的基于 UDP 协议的 DNS 交互,绕开了运营商的 Local DNS(本地 DNS 服务器),有效防止了域名劫持,提高域名解析效率。另外,由于 DNS 服务器端获取的是真实客户端 IP 而非 Local DNS 的 IP,能够精确定位客户端地理位置、运营商信息,从而有效改进调度精确性。


同时https也可以解决DNS劫持的问题。

QQ截图20230508142413.png

由于我们在浏览器或webapp中与服务端的交互大多是通过协议+域名进行的,而对于域名映射到ip这个步骤要经过本机请求dns服务器的过程,因此除了受信任的dns根服务器,中间缓存的各种dns服务器都有可能被黑或者被运营商利用篡改。

比如www.baidu.com正常是映射到61.135.169.125这个公网ip,黑客或者恶意份子将dns服务器对于该域名的公网ip解析改成26.135.169.123,那么我们在某个地域访问www.baidu.com得到的结果就是26.135.169.123这台服务器返回的内容,并且在http协议访问的情况下毫无感知。


https的证书可以应对dns劫持

如test-h5.com被运营商或其他恶意份子将dns篡改至广告服务器地址F,浏览器使用https协议在与test-h5.com进行数据交互之前,需要获取域名对应证书,此时地址F的服务器返回一个假的证书,接着向CA或者本地跟证书验证对应域名证书合法性,浏览器必然会显示证书安全有问题,此时用户如果点击信任该证书并且继续浏览,则便进入了被劫持的h5页面

但是需要注意的是,如果,恶意份子直接伪造证书https还是无法解决DNS劫持问题。


http内容劫持

        相对dns劫持,http内容劫持就没有那么直接暴力了,单独的http内容劫持不会篡改对应网页的服务器ip地址,而是会对网页返回的内容进行篡改,如访问www.baidu.com,本来应该得到的就是正常的百度首页,但是却出现了广告弹窗,这就是webapp或者浏览器通过http协议访问后,被恶意份子在数据返回中增加了网页的弹窗数据导致,而我们当前遇到的就是这个问题,针对内容劫持,http协议由于缺少对于数据的完整性验证,也没有办法应对。


       两种劫持的结果,用通俗的话来说就是这样,我们想打车去超市买瓶可乐,dns劫持出租车将我们拉到了加油站;http内容劫持把我们拉到了超市,在我们拿到可乐前往里面添加了其他不想要的东西。


https对于劫持的效果

       对于http协议来说,根据我们前面的结论两种劫持方式都不能得到有效的应对方式,而如果我们对相应域名及服务上了https协议呢?如test-h5.com被运营商或其他恶意份子将dns篡改至广告服务器地址F,浏览器使用https协议在与test-h5.com进行数据交互之前,需要获取域名对应证书,此时地址F的服务器返回一个假的证书,接着向CA或者本地跟证书验证对应域名证书合法性,浏览器必然会显示证书安全有问题,此时用户如果点击信任该证书并且继续浏览,则便进入了被劫持的h5页面。但这个安全提示还是可以有效的抑制对https域名的dns劫持。

QQ截图20230508142613.png







也许您对下面的内容还感兴趣:

留言0

评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。