【赛迪网-IT技术报道】2010年1月12日晨7时起,网络上开始陆续出现百度出现无法访问的情况反馈, 12时左右基本恢复正常;18时许百度发布官方版本公告;对事故原因说明为:“因www.baidu.com的域名在美国域名注册商处被非法篡改,导致全球多处用户不能正常访问百度。”黑客所使用的方式就是DNS劫持,那么什么叫DNS,什么又是DNS劫持呢,下面我们就来一一解析。

什么是DNS呢?

网络节点能够被寻址访问的原因,是由于网络节点拥有一个独立身份证,这是由网卡物理地址、IP地址和网络端口组成的一个地址体系。对于以TCP/IP为基础协议的Internet来说,必须找到访问对象的IP地址,才能进行访问,但由于IP地址难于记忆,也不够灵活,Internet规则的制定者发明了一套域名体系与其对应,这就是DNS(域名解析服务)的基础体系。这时用户无需记忆大量的IP地址数字(如202.108.22.5),而能通过域名访问丰富多彩的互联网内容(如www.baidu.com),这给用户带来了极大的方便,但也产生了相关的安全隐患。

方式一:利用DNS服务器进行DDOS攻击

正常的DNS服务器递归询问过程可能被利用成DDOS攻击的。假设攻击者已知被攻击机器的IP地址,然后攻击者使用该地址作为发送解析命令的源地址。这样当使用DNS服务器递归查询后,DNS服务器响应给最初用户,而这个用户正是被攻击者。那么如果攻击者控制了足够多的肉鸡,反复的进行如上操作,那么被攻击者就会受到来自于DNS服务器的响应信息DDOS攻击。下图为攻击原理:

a)攻击者发送控制信号给肉鸡群机器。

b)肉鸡群机器针对这个递归DNS不断的执行这条记录的查询。

c)本地的DNS服务器首先在它的本地表(或缓存)中进行查找“www.antiy.com”,如果找到将其返回客户端,如果没有发现,那么DNS服务器发送一个查询给根服务器,来查询“www.antiy.com”的IP地址。

d)根服务器收到讯息(信息)后会回应“www.antiy.com”顶级域(TLD)服务器的地址。

e)然后由本地的DNS服务器联系顶级域名(TLD)服务器来确定“www.antiy.com”的IP地址。

f)顶级域(TLD)服务器会回应针对“www.antiy.com”的名称的服务器地址。

g)本地DNS服务器联系得到的“www.antiy.com”的名称服务器来确定它的IP地址。

h)递归DNS获得了某域名的IP地址后,把所有信息都回复给源地址,而此时的源地址就是被攻击者的IP地址了。

如果攻击者拥有着足够多的肉鸡群,那么就可以使被攻击者的网络被拖垮至发生中断。利用DNS服务器攻击的重要挑战是,攻击者由于没有直接与被攻击主机进行通讯,隐匿了自己行踪,让受害者难以追查原始的攻击来。相对比较好的解决办法就是可取消DNS服务器中允许人人查询网址的递回(recursive)功能。

方式二:DNS缓存感染

攻击者使用DNS请求,将数据放入一个具有漏洞的的DNS服务器的缓存当中。这些缓存信息会在客户进行DNS访问时返回给用户,从而把用户客户对正常域名的访问引导到入侵者所设置挂马、钓鱼等页面上,或者通过伪造的邮件和其他的server服务获取用户口令信息,导致客户遭遇进一步的侵害。

方式三:DNS信息劫持

原则上TCP/IP体系通过序列号等多种方式避免仿冒数据的插入,但入侵者如果通过监听客户端和DNS服务器的对话,就可以猜测服务器响应给客户端的DNS查询ID。每个DNS报文包括一个相关联的16位ID号,DNS服务器根据这个ID号获取请求源位置。攻击者在DNS服务器之前将虚假的响应交给用户,从而欺骗客户端去访问恶意的网站。假设当提交给某个域名服务器的域名解析请求的数据包被截获,然后按截获者的意图将一个虚假的IP地址作为应答信息返回给请求者。这时,原始请求者就会把这个虚假的IP地址作为它所要请求的域名而进行连接,显然它被欺骗到了别处而根本连接不上自己想要连接的那个域名。

方式四:DNS重定向

攻击者如果将DNS名称查询重定向到恶意DNS服务器。那么被劫持域名的解析就完全至于攻击者的控制之下。

方式五:ARP欺骗

ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。ARP攻击主要是存在于局域网网络中,局域网中若有一台计算机感染ARP木马,则感染该ARP 木马的系统将会试图通过“ARP欺骗”手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。

ARP欺骗通常是在用户局网中,造成用户访问域名的错误指向,但在IDC机房被入侵后,则也可能出现攻击者采用ARP包压制正常主机、或者压制DNS服务器,而李代桃僵,以使访问导向错误指向的情况。

方式六:本机劫持

在计算机系统被木马或流氓软件感染后可能会出现部分域名的访问异常,如访问挂马或者钓鱼站点、无法访问等情况,本机劫持有hosts文件篡改、本机DNS劫持、SPI链注入、BHO插件等方式,虽然并非都通过DNS环节完成,但都会造成无法按照用户意愿获得正确的地址或者内容的后果。

与DNS相关的一些攻击案例

事件1:百度遇DDOS攻击事件

2006年09月12日17点30分,有北京、重庆等地的网友反映百度无法正常使用,出现“请求超时”(Request timed out)的信息。这次攻击造成了百度搜索服务在全国各地出现了近30分钟的故障。随后,百度技术部门的员工们快速反应,将问题解决并恢复百度服务。9月12日晚上11时37分,百度空间发表了针对不明攻击事件的声明。“今天下午,百度遭受有史以来最大规模的不明身份黑客攻击,导致百度搜索服务在全国各地出现了近30分钟的故障。”

事件2:新网DNS服务器遭到攻击

2006年09月22日,新网对外做出证实DNS服务器遭到大规模黑客攻击,从21日下午4点多开始持续到凌晨12点。尽管目前服务已经恢复正常,但是技术人员正在追踪攻击来源,并分析攻击技术手段。新网是国内最大域名服务商之一,黑客持续8小时的攻击,导致在新网注册30%的网站无法正常访问。其中包括天空软件、艾瑞视点、中国网库等知名网站。

事件3:暴风影音事件

2009年5月18日晚上22点左右,DNSPod主站及多个DNS服务器遭受超过10G流量的恶意攻击。耗尽了整个机房约三分之一的带宽资源,为了不影响机房其他用户,最终导致DNS服务器被迫离线。该事件关联导致了使用DNSPod进行解析的暴风影音程序频繁的发生域名重新申请,产生请求风暴,大量积累的不断访问申请导致各地电信网络负担成倍增加,网络出现堵塞。于2009年5月19日晚21时左右开始,江苏、安徽、广西、海南、甘肃、浙江六省陆续出现大规模网络故障,很多互联网用户出现访问互联网速度变慢或者无法访问网站等情况。在零点以前,部分地区运营商将暴风影音服务器IP加入DNS缓存或者禁止其域名解析,网络情况陆续开始恢复。

总之,DNS劫持并不是什么新鲜事物,也并非无法预防,百度被黑事件的发生再次揭示了全球DNS体系的脆弱性,并说明互联网厂商如果仅有针对自身信息系统的安全预案,就不足以快速应对全面而复杂的威胁。因此,互联网公司应准备两个以上的域名,一旦黑客进行DNS攻击,用户还可以访问另一个域名。第二,互联网应该对应急预案进行进一步修正,强化对域名服务商的协调流程。另外,域名注册商和代理机构近期可能成为集中攻击目标,需要加以防范。最后,国内有关机构之间应该快速建立与境外有关机构的协调和沟通,协助国内企业实现对此事件的快速及时的处理。

DNS 攻击方式及攻击案例的更多相关文章

  1. 一文搞懂│XSS攻击、SQL注入、CSRF攻击、DDOS攻击、DNS劫持

    目录 XSS 攻击 SQL 注入 CSRF 攻击 DDOS 攻击 DNS 劫持 XSS 攻击 全称跨站脚本攻击 Cross Site Scripting 为了与重叠样式表 CSS 进行区分,所以换了另 ...

  2. DNS rebinging攻击方式

    一.什么是DNS rebinding? 在dns协议中,请求和响应完成一台机器对一个域名的查询,响应信息包含请求域名站点对应的IP地址.假设你向DNS服务器A请求域名youself.domain.co ...

  3. 无线安全: 通过伪AP进行DHCP+DNS劫持的钓鱼攻击

    有了之前学习802.11的数据帧格式.芯片硬件参数学习的基础后,我们接下来继续学习无线安全中黑客是怎样进行流量劫持攻击的 相关学习资料 http://www.freebuf.com/articles/ ...

  4. 物联网设备是如何被破解的?分析一种篡改IoT固件内容的攻击方式

    随着智能硬件进入到人们的生活,人们的生活质量开始有逐步的提高,人们与智能硬件之间的联系更加紧密.同时,智能硬件的安全问题也必须引起高度重视,因为其直接影响到人身安全.社会安全和国家安全.   大家是否 ...

  5. linux系统服务器可能被攻击的几种攻击方式

    linux系统随着Linux企业应用的扩展,有大量的网络服务器使用Linux操作系统.Linux服务器的安全性能受到越来越多的关注,这里根据Linux服务器受到攻击的深度以级别形式列出,并提出不同的解 ...

  6. DDOS SYN Flood攻击、DNS Query Flood, CC攻击简介——ddos攻击打死给钱。限网吧、黄网、博彩,,,好熟悉的感觉有木有

    摘自:https://zhuanlan.zhihu.com/p/22953451 首先我们说说ddos攻击方式,记住一句话,这是一个世界级的难题并没有解决办法只能缓解 DDoS(Distributed ...

  7. C#不用union,而是有更好的方式实现 .net自定义错误页面实现 .net自定义错误页面实现升级篇 .net捕捉全局未处理异常的3种方式 一款很不错的FLASH时种插件 关于c#中委托使用小结 WEB网站常见受攻击方式及解决办法 判断URL是否存在 提升高并发量服务器性能解决思路

    C#不用union,而是有更好的方式实现   用过C/C++的人都知道有个union,特别好用,似乎char数组到short,int,float等的转换无所不能,也确实是能,并且用起来十分方便.那C# ...

  8. web上常见的攻击方式及简单的防御方法

    SQL注入最常见的攻击方式,所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网站泄露VIP会员密码大 ...

  9. Dos拒绝服务攻击DNS、SNMP、NTP放大攻击和slowhttptest攻击工具(三)

    DNS放大攻击产生大流量的攻击方式 udpDNS放大效果-查询请求流量小,但响应流量可能非常巨大-dig ANY baidu.com @1.1.1.1 //向1.1.1.1的服务器查询域名解析,流量放 ...

随机推荐

  1. Python中使用gflags

    安装命令pip install python-gflags 使用示例: import gflags FLAGS = gflags.FLAGS gflags.DEFINE_string('name', ...

  2. Spring中使用到的设计模式

    1.工厂模式:Beanfactory和ApplicationContext 2.单例模式:bean的构建 3.代理模式:AOP 4.模板模式:jdbcTemplate,hibernateTemplat ...

  3. 字符串匹配dp+bitset,滚动数组优化——hdu5745(经典)

    bitset的经典优化,即把可行性01数组的转移代价降低 bitset的适用情况,当内层状态只和外层状态的上一个状态相关,并且内层状态的相关距离是一个固定的数,可用bitset,换言之,能用滚动数组是 ...

  4. Java语法清单-快速回顾(开发)

    Java CheatSheet 01.基础 hello,world! public static void main(String[] args) { System.out.println(" ...

  5. Delphi中任务栏状态区的编程

    在Windows桌面的任务栏上有一个凹陷的区域,其中显示着系统时钟以及一些图标,这个长方形的区域便是Windows的任务栏状态区(taskbar status area).本文将介绍使用Borland ...

  6. CApiHook__Api钩子类

    见过网上有很多ApiHook的类,但是都不尽入人意,要么就是写的不够好不够完善,要么就是跑不起来. 用别人写的代码总是有种不安心,所以自己就花了一晚上写了CApiHook类.已经尽量确保自己写的类是非 ...

  7. c++-文件分离

    实现文件分离 1.头文件中不要使用using namespace,由于c++编译的特性,由于初学还没深入了解,不做具体编译的解释 2.由于没有了命名空间,所以string定义要写成std::strin ...

  8. class12_pack_grid_place 放置位置

    其中的部分运行效果图(程序见序号1): #!/usr/bin/env python# -*- coding:utf-8 -*-# ----------------------------------- ...

  9. 牛客练习赛26 A 平面(结论题)

    题目链接:https://ac.nowcoder.com/acm/contest/907/A 思路:结论题,当做2n条直线,参考资料https://blog.csdn.net/qq_34131212/ ...

  10. codeforces round#524 D - Olya and magical square /// 大概算是数学规律题?

    题目大意: t 个测试用例  (1≤t≤103) 给定n k  (1≤n≤10^9,1≤k≤10^18) 表示有一个边长为2^n的正方形格子 每次操作只能将一个格子切割为左上左下右上右下的四等分格子 ...