什么是DNS?
域名系统(DNS)是一套把域名(比如 website.com)翻译成 IP 地址(比如 208.38.05.149)的协议。当用户在浏览器里输入域名 website.com 时,DNS 解析器(操作系统里的一个组件)会去查找对应的数字 IP 地址。它的运作流程如下:
DNS 解析器先在本地缓存里搜索 IP 地址。假如缓存中没有找到,它就会向 DNS 服务器发起查询。DNS 服务器具备递归特性,能够互相检索,最终定位到拥有正确 IP 地址的 DNS 服务器,或是找到保存域名与 IP 地址标准映射关系的权威 DNS 服务器。解析器获取到 IP 地址之后,会把结果返回给发起请求的程序,同时把该地址缓存起来供后续使用。
为何要对DNS发起攻击?
DNS 是 IP 网络与互联网的一项基础服务。这表明绝大多数通信过程中都离不开 DNS。数据交互通常以 DNS 解析作为起点。一旦解析服务不可用,大部分应用程序将无法继续运转。
攻击者常常企图通过规避协议的标准机制,或是利用漏洞与缺陷,来使 DNS 服务不可用。DNS 被各类安全工具所信赖,但对协议本身或使用方式的校验十分有限。这可能为隧道通信、数据外泄以及其他借助隐蔽通道实施的攻击敞开通道。
常见的DNS攻击手法有哪些?
01 DNS隧道
DNS 隧道是指将其他程序或协议的数据编码进 DNS 查询与响应当中。它往往携带能够劫持 DNS 服务器、让攻击者远程操控服务器与应用程序的数据载荷。DNS 隧道一般依赖被感染主机的外网连接,由此提供了一条经由网络访问渗透内部 DNS 服务器的途径。同时还需要掌控充当数据载荷执行端以及服务端隧道的权威服务器的服务器与域名。
02 DNS放大攻击
DNS 放大攻击针对目标服务器实施分布式拒绝服务(DDoS)。其核心是利用公开可访问的开放 DNS 服务器,用 DNS 响应流量把目标淹没。通常,攻击从威胁者向开放 DNS 服务器发送 DNS 查询请求开始,并将源地址伪造为目标地址。当 DNS 服务器返回 DNS 记录响应时,这些流量会被导向攻击者所控制的新目标。
03 DNS泛洪攻击
DNS 泛洪攻击是指利用 DNS 协议实施用户数据报协议(UDP)泛洪。威胁者以极高的报文速率发送大量合法(但经过伪造)的 DNS 请求包,同时构造大量不同的源 IP 地址。由于这些请求看起来均为合法请求,目标的 DNS 服务器会逐一做出响应。随后,DNS 服务器可能被海量请求所淹没。DNS 攻击消耗大量网络资源,会让目标 DNS 基础设施不堪重负直至下线。最终,目标的网络连接也随之中断。
04 DNS欺骗
DNS 欺骗即 DNS 缓存投毒,指的是通过篡改 DNS 记录,把在线流量引导至伪装成预期目的地的虚假站点。当用户抵达虚假站点后,系统会诱导他们登录自己的账户。一旦他们输入了信息,实际上就把访问凭据以及在伪造登录表单中填写的全部敏感数据交给了威胁者。此外,这些恶意站点常被用来在终端用户的计算机上植入病毒或蠕虫,使威胁者能够长期控制该计算机及其存储的所有数据。
05 NXDOMAIN攻击
DNS NXDOMAIN 泛洪 DDoS 攻击企图通过对无效或不存在的记录发送海量请求来压垮 DNS 服务器。这类攻击通常由 DNS 代理服务器承接,代理服务器会耗尽其大部分(乃至全部)资源去向 DNS 权威服务器查询。这导致 DNS 权威服务器与 DNS 代理服务器把所有时间都花在处理错误请求上。结果,正常请求的响应速度逐渐变慢,直至彻底停滞。
温馨提示!
互联网已深入我们生活的各个层面,网络安全与每个人都密切相关。每个人都应增强网络安全意识,共同营造清朗的网络空间。
原创文章,作者:余初云,如若转载,请注明出处:https://blog.jidcy.com/jsjc/2868.html
