面对DNS劫持,只能坐以待毙吗?
简介: 借助 ARMS-云拨测,我们可实时对网站进行监控,实现分钟级别的监控,及时发现 DNS 劫持以及页面篡改。
作者:白玙
DNS 劫持作为最常见的网络攻击方式,是每个站长或者运维团队最为头疼的事情。苦心经营的网站受到 DNS 劫持后,不仅会影响网站流量、权重,还会让用户置身于危险之中,泄露隐私造成财产损失。
就是这样一个简单到不能再简单的攻击方式,在 2009 年制造了轰动全球的“银行劫持案”,导致巴西最大银行 Banco Bradesco 银行近 1% 客户受到攻击而导致账户被盗。黑客利用宽带路由器缺陷对用户 DNS 进行篡改——用户浏览黑客所制作的 Web 页面,其宽带路由器 DNS 就会被黑客篡改,由于该 Web 页面设有巧妙设计的恶意代码,成功躲过安全软件检测,导致大量用户被 DNS 钓鱼诈骗。
网站被黑、被歹意镜像、被植入垃圾代码,现象屡见不鲜,其危害还包括:
- 钓鱼诈骗网上购物,网上支付有可能会被恶意指向别的网站,更加加大了个人账户泄密的风险;
- 网站内出现恶意广告;
- 轻则影响网速,重则不能上网。
但面对DNS劫持时,只能束手就擒吗?
知己知彼,什么是 DNS?
DNS 即 Domain Name System 的缩写,域名系统以分布式数据库的形式将域名和 IP 地址相互映射。简单的说,DNS 是用来解析域名的,在正常环境下,用户的每一个上网请求会通过 DNS 解析指向到与之相匹配的 IP 地址,从而完成一次上网行为。DNS 作为应用层协议,主要是为其他应用层协议工作的,包括不限于 HTTP、SMTP、FTP,用于将用户提供的主机名解析为 IP 地址,具体过程如下:
(1)用户主机(PC 端或手机端)上运行着 DNS 的客户端;
(2)浏览器将接收到的 URL 中抽取出域名字段,即访问的主机名,比如 阿里云-上云就上阿里云 , 并将这个主机名传送给 DNS 应用的客户端;
(3)DNS 客户机端向 DNS 服务器端发送一份查询报文,报文中包含着要访问的主机名字段(中间包括一些列缓存查询以及分布式 DNS 集群的工作);
(4)该 DNS 客户机最终会收到一份回答报文,其中包含有该主机名对应的 IP 地址;
(5)一旦该浏览器收到来自 DNS 的 IP 地址,就可以向该 IP 地址定位的 HTTP 服务器发起 TCP 连接。
(图片源自网络,仅作示意)
可以看到想要获取目标网站 IP,除了在本机中查找行为,还需要第三方服务器(DNS)参与。但只要经过第三方服务,网络就不属于可控制范围,那么就有可能产生 DNS 挟持,比如获取的 IP 并不是实际想要的 IP,从而打开非目标网站。网站在经过本地 DNS 解析时,黑客将本地 DNS 缓存中的目标网站替换成其他网站的 IP 返回,而客户端并不知情,依旧按照正常流程寻址建并立连接。如果一些黑客想要盗取用户账号及密码时,黑客可以做跟目标网站一模一样的木马页面,让用户登录,当用户输入完密码提交的时候就中招了。
常见 DNS 劫持手段又有哪些?
(1)利用 DNS 服务器进行 DDoS 攻击
正常 DNS 服务器递归询问过程被利用,变成 DDoS 攻击。假设黑客知晓被攻击机器 IP 地址,攻击者使用该地址作为发送解析命令的源地址。当使用 DNS 服务器递归查询后会响应给最初用户。如果黑客控制了足够规模的肉鸡进行上述操作。那么,这个最初用户就会受到来自于 DNS 服务器的响应信息 DDoS 攻击,成为被攻击者。
(2)DNS 缓存感染
黑客使用 DNS 请求将数据注入具有漏洞的 DNS 服务器缓存中。这些缓存信息会在客户进行 DNS 访问时返回给用户,把用户对正常域名的访问引导到入侵者所设置挂马、钓鱼等页面上,或通过伪造邮件和其他服务获取用户口令信息,导致客户遭遇进一步侵害。
(3)DNS 信息劫持
原则上 TCP/IP 体系通过序列号等多种方式避免仿冒数据插入,但黑客通过监听客户端和 DNS 服务器对话,就可以解析服务器响应给客户端的 DNS 查询 ID。每个 DNS 报文包括一个相关联的 16 位 ID,DNS 服务器根据这个 ID 获取请求源位置。黑客在 DNS 服务器之前将虚假响应交给用户,欺骗客户端去访问恶意网站。假设当提交给某个域名服务器域名解析请求的数据包被截获,然后按黑客的意图将虚假 IP 地址作为应答信息返回给请求者。这时,原始请求者就会把这个虚假 IP 地址作为它所要请求的域名而进行连接,显然它被引导到了别处而根本连接不上自己想要连接的那个域名。
(4)ARP 欺骗
通过伪造 IP 地址和 MAC 地址实现 ARP 欺骗,在网络中产生大量 ARP 通信量使网络阻塞,黑客只要持续不断发出伪造的 ARP 响应包就能更改目标主机 ARP 缓存中的 IP-MAC 条目,造成网络中断或中间人攻击。ARP 攻击主要是存在于局域网网络中,局域网中若有一台计算机感染 ARP 木马,则感染该 ARP 木马的系统将会试图通过"ARP 欺骗”手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。ARP 欺骗通常是在用户局网中,造成用户访问域名的错误指向,但在 IDC 机房被入侵后,则也可能出现攻击者采用 ARP 包压制正常主机、或者压制 DNS 服务器,以使访问导向错误指向。
DNS 劫持对业务造成哪些影响?
一旦被劫持,相关用户查询就没办法获取到正确 IP 解析,这就很容易造成:
(1)很多用户习惯依赖书签或者易记域名进入,一旦被劫持会使这类用户无法打开网站,更换域名又没办法及时告知变更情况,导致用户大量流失。
(2)用户流量主要是通过搜索引擎 SEO 进入,DNS 被劫持后会导致搜索引擎蜘蛛抓取不到正确 IP,网站就可能会被百度 ban 掉。
(3)一些域名使用在手机应用 APP 调度上,这些域名不需要可以给客户访问,但这些域名的解析关系到应用 APP 访问,如果解析出现劫持就会导致应用 APP 无法访问。这时候更换域名就可能会导致 APP 的下架,重新上架需要审核并且不一定可以重新上架。这就会导致应用 APP 会有用户无法访问或者下载的空窗期。
可以看到,DNS 劫持对业务有着巨大影响,不仅仅是用户体验的损失,更是对用户资产安全、数据安全的造成潜在的巨大风险。
我们该如何监测网站是否被 DNS 劫持?
借助 ARMS-云拨测,我们实时对网站进行监控,实现分钟级别的监控,及时发现 DNS 劫持以及页面篡改。
劫持检测
- DNS 劫持监测
利用域名白名单、元素白名单,有效探测域名劫持以及元素篡改情况。在建立拨测任务时,我们可以设置 DNS 劫持白名单。比如,我们配置 DNS 劫持格式的文件内容为 www.aliyun.com:201.1.1.22|250.3.44.67。这代表 www.aliyun.com 域名下,除了 201.1.1.22 和 250.3.44.67 之外的都是被劫持的。
- 页面篡改监测
我们把原始页面的元素类型加入页面篡改白名单,在进行拨测时将加载元素与白名单对比,判断页面是否被篡改。比如,我们配置页面篡改的文件内容为 www.aliyun.com:|/cc/bb/a.gif|/vv/bb/cc.jpg,这代表着 www.aliyun.com 域名下,除了基础文档 、/cc/bb/a.gif 和 /vv/bb/cc.jpg 之外的元素都属于页面被篡改。再比如,我们配置页面篡改的文件内容为 www.aliyun.com:*,代表:www.aliyuyn.com 域名下所有的元素都不认为是被篡改。
劫持告警
在持续监测的同时,及时告警也至关重要。通过灵活配置劫持告警比例,当任务的劫持比例大于阈值,即迅速通知相关运维团队,对网站进行维护,确保用户的数据安全以及网站的正常浏览。
在提升用户体验的同时,确保网站以及用户资产安全对于企业而言同样至关重要。云拨测为你的网站安全与用户体验保驾护航!
关于云拨测
云拨测作为面向业务的非侵入式云原生监测产品,成为最佳的选择。通过阿里云遍布全球的服务网络,模拟真实用户行为,全天候持续监测网站及其网络、服务、API 端口可用性与性能。实现页面元素级、网络请求级、网络链路级细颗粒度问题定位。丰富的监测关联项与分析模型,帮助企业及时发现与定位性能瓶颈与体验暗点,压降运营风险,提升服务体验与效能。
原文链接
本文为阿里云原创内容,未经允许不得转载。
面对DNS劫持,只能坐以待毙吗?的更多相关文章
- openwrt-智能路由器hack技术(1)---"DNS劫持"
openwrt-智能路由器hack技术(1)---"DNS劫持" 1 导读 PS:之前写的一个文章,现在发现结构内容排版不是太好,导致阅读体验太差,影响传播和SEO,所以现在整 ...
- 无线安全: 通过伪AP进行DHCP+DNS劫持的钓鱼攻击
有了之前学习802.11的数据帧格式.芯片硬件参数学习的基础后,我们接下来继续学习无线安全中黑客是怎样进行流量劫持攻击的 相关学习资料 http://www.freebuf.com/articles/ ...
- 关于全站https必要性http流量劫持、dns劫持等相关技术
关于全站https必要性http流量劫持.dns劫持等相关技术 微信已经要求微信支付,申请退款功能必须12月7号之前必须使用https证书了(其他目前为建议使用https),IOS也是2017年1月1 ...
- DNS劫持(网页打不开的解决方法)
我们上网,必不可少的就是DNS,在这里先介绍下DNS的相关知识. DNS 是域名系统 (Domain NameSystem) 的缩写,它是由解析器和域名服务器组成的.域名服务器是指保存有该网络中所有主 ...
- dns劫持分析
最近在做dns解析,关注的重点在查询域名ns记录上,异常日志中捕获到一个域名,dig查询: 查询请求类型为ns,dig结果确只有一条A记录.处于好奇,查询类型改为a类型: 这个域名dig 查询A记录, ...
- DNS 劫持、HTTP 劫持与 DNS 污染
本文为本人的学习笔记,不保证正确. DNS 劫持 指DNS服务器被控制,查询DNS时,服务器直接返回给你它想让你看的信息.这种问题常为 ISP 所为. 由于一般的的电脑的 DNS 服务器 的配置都为自 ...
- 告别DNS劫持,一文读懂DoH
如果评选一个差评服务器榜单,除去育碧高居榜首外,一定也少不了 Nintendo Switch 让人头秃的联网服务.尽管任天堂已经架设了香港 CDN 服务器用于加速,但是更新安装的速度也没有什么大幅改变 ...
- 一文搞懂│XSS攻击、SQL注入、CSRF攻击、DDOS攻击、DNS劫持
目录 XSS 攻击 SQL 注入 CSRF 攻击 DDOS 攻击 DNS 劫持 XSS 攻击 全称跨站脚本攻击 Cross Site Scripting 为了与重叠样式表 CSS 进行区分,所以换了另 ...
- DNS劫持解决方法
刚在家上网,发自己的浏览器竟然还会弹出页面广告(我浏览器装了屏蔽广告的浏览器应用,理论上就不会出现什么弹出来的广告). 于是自己仔细研究了下,发现在易迅的页面竟然嵌套了一个iframe,首先易迅肯定不 ...
- DNS劫持和DNS污染的区别
我们知道,某些网络运营商为了某些目的,对DNS进行了某些操作,导致使用ISP的正常上网设置无法通过域名取得正确的IP地址.常用的手段有:DNS劫持和DNS污染. 什么是DNS劫持 DNS劫持就是通过劫 ...
随机推荐
- 【转】客户端软件GUI开发技术漫谈:原生与跨平台解决方案分析
原生开发应用开发 Microsoft阵营的 Winform WinForm是·Net开发平台中对Windows Form的一种称谓. 如果你想深入的美化UI,需要耗费很大的力气,对于目前主流的CSS样 ...
- 3DCAT携手华为,打造XR虚拟仿真实训实时云渲染解决方案
2023年5月8日-9日,以 ''因聚而生 众志有为'' 为主题的 ''华为中国合作伙伴大会2023'' 在深圳国际会展中心隆重举行.本次大会汇聚了ICT产业界的广大新老伙伴朋友,共同探讨数字化转型的 ...
- 记录--原生 canvas 如何实现大屏?
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前言 可视化大屏该如何做?有可能一天完成吗?废话不多说,直接看效果,线上 Demo 地址 lxfu1.github.io/large-sc ...
- 分享一个项目:go `file_line`,在编译器得到源码行号,减少运行期runtime消耗
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 file_line https://github.com/ ...
- Oracle ORA-09925
Error : 30: Read-only file system 造成这个问题的原因大多数是因为非正常关机后导致文件系统受损引起的,在系统重启之后,受损分区就会被Linux自动挂载为只读. 解决办法 ...
- 误删除系统超级用户(superuser)权限的恢复方式
在使用KingbaseES数据库的时候,系统默认存在一个跟系统初始化用户同名的Superuser(默认是system用户,可更改). 这个Superuser的存在其实对于权限的管控是很有用的,但是如果 ...
- scala入门输出hello world!
官网下载scala 2.12.11 版zip包,解压到自定义目录并配置环境变量.
- #SG函数,记忆化搜索#HDU 4111 Alice and Bob
题目 Alice和Bob两个好朋友又开始玩取石子了. 游戏开始时,有\(n\)堆石子排成一排,然后他们轮流操作(Alice先手),每次操作时从下面的规则中任选一个: ·从某堆石子中取走一个 ·合并任意 ...
- Python 元组完全指南2
更新元组 更改元组的值 元组是不可更改的,但有一种变通方法.您可以将元组转换为列表,更改列表,然后将列表转换回元组. 示例: x = ("apple", "banana& ...
- 【Kotlin】扩展属性、扩展函数
1 类的扩展 Kotlin 提供了扩展类或接口的操作,而无需通过类继承或使用装饰器等设计模式,来为某个类添加一些额外的属性或函数,我们只需要通过一个被称为扩展的特殊声明来完成.通过这种机制,我们可 ...