DNS风险分析及防护研究(五):常见的DNS威胁与防御(中科三方)
DNS是互联网运行重要的基础设施,在全球互联网运转中扮演重要作用。互联网中的每一次访问都开始于一次DNS查询,从而将人们更好辨识的域名转换为数字化的IP地址。随着互联网的快速发展以及网络技术的快速发展,DNS固有的缺陷逐步暴露出来,并引发越来越多的网络安全问题。本文重点讨论目前DNS所面临的典型威胁,包括基于DNS的分布式拒绝攻击、DNS缓存投毒等,分析了不同攻击的原理和危害,并提出相应的防护建议。
1.DNS攻击类型
1.1DNS缓存投毒
缓存投毒是最常见的一种DNS攻击类型,其主要基于DNS缓存进行攻击。DNS缓存是DNS系统为了节省DNS查询时间而引入的一种机制,DNS缓存广泛存在于全球各地开放的DNS服务器中。当用户对某个域名发起请求时,DNS服务器首先会在自身DNS缓存中查看是否有对应的结果,如果命中结果,会直接告知客户主机,而无需进行全球解析查询。
这种机制虽然提升了解析查询的效率,但是为攻击者利用DNS缓存发动攻击提供了条件。如果攻击者冒充权威服务器,在权威服务器之前,将应答数据包发送给递归服务器,就能够成功污染DNS缓存,将错误的解析数据传递给客户主机,从而将客户机的访问引导至攻击者控制的服务器上。
1.2 DNS DDoS攻击
DNS DDoS攻击根据攻击目标可以分为DNS查询攻击和DNS反射放大攻击两种。DNS查询攻击目标是DNS服务器,可以是递归服务器也可能是权威服务器,攻击者通过控制大量的僵尸网络对DNS服务器发起解析请求,导致DNS服务器资源耗尽,无法响应正常的解析请求。
DNS反射放大攻击目标是web服务器或客户主机,攻击者伪造受攻击者的IP,控制僵尸网络对DNS服务器发起解析请求,DNS服务器不会验证解析来源的真实性,而是会对所有解析请求进行应答。而DNS应答数据包往往是请求包的数十倍甚至是数百倍,因此被攻击目标就可能承受来自DNS服务器数百倍的攻击流量,从而形成反射放大攻击,耗尽被攻击目标的网络资源。
1.3随机子域/非存在域名攻击
随机子域名攻击是指攻击者通过递归服务器查询合法域名的随机子域名或者根本不存在的子域名来进行攻击。攻击者通过控制僵尸网络发送大量的此类请求,以此来耗尽权威服务器的带宽和资源,从而导致权威服务器无法提供正常的解析服务。
非存在域名攻击类似随机子域名攻击,攻击者向递归服务器发送大量非存在的域名请求,这些域名解析缓慢或者不能解析,以此让DNS服务器一直等待解析响应,从而达到消耗DNS服务器资源,实现拒绝服务攻击的目的。
1.4DNS劫持
从结果上来看,DNS劫持与缓存投毒十分类似,也是将用户劫持到受攻击者控制的IP地址。但与缓存投毒不同的是,DNS劫持通常是通过直接修改域名解析记录达成,主要有两种方式,一种是直接控制域名管理平台权限,修改域名解析记录,另一种是直接攻击权威域名服务器,修改区域文件内的资源记录。DNS劫持对于企业和机构客户而言影响非常严重,它会导致失去对域名的控制,造成客户的流失,业务的严重受损。
2.防御及缓解措施
2.1 DNSSEC
从目前来看,DNSSEC是解决DNS安全问题最有效的方式之一。DNSSEC是指通过数字签名和公钥来实现DNS数据的完整性和可靠性。权威域名服务器用自身的私钥来签名资源记录,然后递归服务器用权威服务器的公钥来认证应答数据,如果认证成功,则表明接收到的数据确实来自权威服务器,如果认证失败,则表明接收到的数据是伪造的,就会抛弃数据。由中科三方自研的二代云解析系统已经具备DNSSEC功能,能够有效应对DNS缓存投毒、DNS劫持等攻击手段,确保DNS解析数据的准确性。
2.2 Anycast
Anycast是一种网络路由方式,通过部署anycast,提供相同服务的一组服务器可以使用相当的IP地址,客户请求的数据将会被转发到这组服务器中路由拓扑结构最近的一台主机,因而可以起到有效抵御DDoS攻击的效果。如果攻击者利用僵尸网络对DNS服务器发动DDoS攻击,这些巨量的网络信息会通过anycast转发到不同DNS服务器上,进而缓解单一服务器的运行压力。
2.3响应速率限制
响应速率限制是指权威服务器可以统计来自相同DNS查询所对应的DNS响应频次,并设置发送次数的阈值。如果某一时间段内,发送响应的频次超过设定的阈值,权威服务器就会停止发送响应。如果在一段时间内,权威服务器没有收到高于阈值的查询,则取消限制。这样就有效保护了权威服务器远离DDoS攻击。
但这种方式同样具有一些局限性,一方面它只对权威服务器有效,无法应用于递归服务器,另一方面,攻击者可以通过发送一组不同的查询绕过限制规则。
2.4设置递归服务器查询权限
利用DNS实现反射放大攻击的关键点在于,大部分开放式的递归服务器可以让任何人执行DNS查询请求,因此DNS递归服务器设置一定的接入权限,保证授权的用户才能执行DNS查询请求,能够有效降低DNS反射放大攻击的危害。
综上所述,DNS由于其自身设计方面的缺陷以及其在互联网中的基础地位,导致针对DNS的攻击事件愈发显著,DNS的可靠性和稳定性下降,严重影响网络的稳定运行,因此加强DNS安全风险防控能力至关重要,可以通过采用DNSSEC技术、Anycast技术等多种网络安全技术提升DNS的安全性能,为用户提供更加安全可靠的DNS服务。
相关文章:
DNS风险分析及防护研究(五):常见的DNS威胁与防御(中科三方)
DNS是互联网运行重要的基础设施,在全球互联网运转中扮演重要作用。互联网中的每一次访问都开始于一次DNS查询,从而将人们更好辨识的域名转换为数字化的IP地址。随着互联网的快速发展以及网络技术的快速发展,DNS固有的缺陷逐步暴露出来&#x…...

使用geoserver发布shp和tiff数据
一、安装并启动geoserver服务 1.1 下载geoserver 进入官网下载 由于geoserver是使用Java语言开发的,所以运行需要java的环境,不同geoserver的版本号对java的版本要求不同,所以选择版本时需注意对应java的版本要求,由于我本地安…...

谷歌周彦祺:LLM浪潮中的女性科学家多面手丨智源大会嘉宾风采
导读 大模型研发竞赛如火如荼,谷歌紧随OpenAI其后推出PalM2、Gemini等系列模型。Scaling Law是否仍然适用于当下的大模型发展?科技巨头与初创企业在竞争中各有哪些优势和劣势?模型研究者应秉持哪些社会责任? 2023智源大会「基础模…...

Burp模块
Target模块 记录流量 1.Target按主机或域名分类记录 2.HTTP History 按时间顺序记录且会记录很多次 3.Target模块的作用 (1)把握网站的整体情况 (2)对一次工作的域进行分析 (3)分析网站存在的攻击面 …...
sql笔记:SQL SERVER字符串填充(标量值函数创建、标量值函数调用)
/*字符串填充 ,如果返回 -1 说明输入参数有错误*/ CREATE FUNCTION [dbo].[uf_pad_string] ( @string_unpadded VARCHAR(100), --123填充前字符串 @pad_char VARCHAR(1), --0 填充的字符串 @pad_count tinyint, --10 填充后字符串长度 @pad_p…...
python使用hTTP方法
Python中可以使用requests库来发送HTTP请求,其中包括GET、POST、PUT、DELETE等方法。下面是一个使用requests库发送HTTP请求的示例: python import requests # 发送GET请求 response requests.get(Example Domain) # 发送POST请求 data {key1: valu…...
JavaSE常用API
1. Math.round(11.5)等于多少?Math.round(- 11.5) 又等于多少? Math.round(11.5)的返回值是 12,Math.round(-11.5)的返回值是-11。四舍五入的原理是在参数上加 0.5然后进行取整。 2. switch 是否能作用在 byte 上,是否能作用在 long 上…...

华为OD机试之模拟商场优惠打折(Java源码)
模拟商场优惠打折 题目描述 模拟商场优惠打折,有三种优惠券可以用,满减券、打折券和无门槛券。 满减券:满100减10,满200减20,满300减30,满400减40,以此类推不限制使用; 打折券&…...

5月VR大数据:Quest 2下跌超1%,其它变化不大
Hello大家好,每月一期的VR内容/硬件大数据统计又和大家见面了。 想了解VR软硬件行情么?关注这里就对了。我们会统计Steam平台的用户及内容等数据,每月初准时为你推送,不要错过喔! 本数据报告包含:Steam VR硬…...

CW32系列模数转换器(ADC)
模数转换器(ADC)的主要功能是将模拟量转换为数字量,方便MCU进行处理。下面以CW32L083为例介绍CW系列的模数转换器的特点和功能,并提供演示实例。 一、概述 CW32L083 内部集成一个 12 位精度、最高 1M SPS 转换速度的逐次逼近型模…...
电动力学专题:电磁场规范不变性与规范自由度
对称性,不变性,相对性,协变形 在现代物理学中常常被认为具有相同的含义(好拗口) 规范与规范的自由度 保证电磁场物理量不改变的情况下,有多组势可供选择,而每组势可以称为一个规范 规范不变性…...
max delay的应用场景与常见问题
max delay与min delay用来约束start points到endpoints点对点的路径长度,set_max_delay约束最大值,set_min_delay约束最小值。 max delay的-from和-to并不局限在get_pins,get_cells和get_clocks同样可以。 set_max_delay 5 -from UFF0/Q -to UFF1/D set_max_delay -from …...
非阻塞队列
非阻塞队列 首先我们要简单的理解下什么是非阻塞队列: 与阻塞队列相反,非阻塞队列的执行并不会被阻塞,无论是消费者的出队,还是生产者的入队。 在底层,非阻塞队列使用的是CAS(compare and swap)来实现线程执行的非阻塞…...

动力电池管理系统(BMS)
BMS技术 目录 BMS技术 一、BMS简介 二、BMS主要功能 1、参数检测 2、剩余电量(SOC)估计 3、充放电控制 4、热管理 5、均衡控制 6、故障诊断 7、信息监控 8、参数标定 9、CAN总线接口 三、BMS架构组成 1、BMS的拓扑架构 1、1集中式架构的B…...

ChatGPT桌面客户端支持gpt4模型,附使用说明
#软件核心功能: 1、支持OpenAI官方秘钥及API2D双秘钥使用;如果全局魔法,可以自己用官方秘钥;没魔法国内可直接使用API2D秘钥; 2、内置GPT4模型选项,如果你的官方秘钥支持可直接使用;你也可以注册…...

Vivado下时序逻辑模块的仿真
文章目录 D触发器两级D触发器带异步复位的D触发器带异步复位和同步置数的D触发器移位寄存器单口RAM伪双口RAM真双口RAM单口ROM 组合逻辑电路在逻辑功能上特点是任意时刻的输出仅仅取决于当前时刻的输入,与电路原来的状态无关。 时序逻辑在逻辑功能上的特点是任意时刻…...
ThreadLocal的使用方式
1. ThreadLocal的使用方式 (1) 在关联数据类中创建private static ThreadLocal 在下面的类中,私有静态 ThreadLocal 实例(serialNum)为调用该类的静态 SerialNum.get() 方法的每个 线程维护了一个“序列号”,该方法将返回当前…...
全面理解:C++中的指针和迭代器,以及解引用操作符(*)和箭头操作符(->)的用法
指针与迭代器的基础概念 指针: 指针是一种变量,其值为另一种类型的对象在计算机内存中的地址。你可以使用指针来直接访问和操作它指向的对象。指针的使用非常强大,但也很危险,因为你有可能错误地操作内存,这可能会导致…...
Vite 使用学习指南
Vite 的基本概念和特点 Vite 是什么,它的主要特点是什么 Vite 是一个基于 ES modules 的前端构建工具,它的主要特点包括: 快速的冷启动:Vite 采用了基于浏览器原生 ES 模块的开发模式,可以在开发时快速启动应用&…...
【算法训练(day6)】双指针模板
一.双指针算法的由来和使用场景 通常情况下我们可能会遇到在某些可遍历的集合中寻找满足某种性质的字串或元素。这时候我们采取暴力的思路就会面临多重循环。我们可以利用题目中所给的集合并利用其性质将多重循环降成一重循环。光用语言描述可能不太好理解。接下来看几个双指针…...

IDEA运行Tomcat出现乱码问题解决汇总
最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...

【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...

iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版分享
平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...