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)】双指针模板
一.双指针算法的由来和使用场景 通常情况下我们可能会遇到在某些可遍历的集合中寻找满足某种性质的字串或元素。这时候我们采取暴力的思路就会面临多重循环。我们可以利用题目中所给的集合并利用其性质将多重循环降成一重循环。光用语言描述可能不太好理解。接下来看几个双指针…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...

Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

如何更改默认 Crontab 编辑器 ?
在 Linux 领域中,crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用,用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益,允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...

解读《网络安全法》最新修订,把握网络安全新趋势
《网络安全法》自2017年施行以来,在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂,网络攻击、数据泄露等事件频发,现行法律已难以完全适应新的风险挑战。 2025年3月28日,国家网信办会同相关部门起草了《网络安全…...

AxureRP-Pro-Beta-Setup_114413.exe (6.0.0.2887)
Name:3ddown Serial:FiCGEezgdGoYILo8U/2MFyCWj0jZoJc/sziRRj2/ENvtEq7w1RH97k5MWctqVHA 注册用户名:Axure 序列号:8t3Yk/zu4cX601/seX6wBZgYRVj/lkC2PICCdO4sFKCCLx8mcCnccoylVb40lP...

【java面试】微服务篇
【java面试】微服务篇 一、总体框架二、Springcloud(一)Springcloud五大组件(二)服务注册和发现1、Eureka2、Nacos (三)负载均衡1、Ribbon负载均衡流程2、Ribbon负载均衡策略3、自定义负载均衡策略4、总结 …...