什么是DNS缓存中毒

DNS缓存中毒是一种网络攻击,它使您的计算机误以为它会到达正确的地址,但事实并非如此。攻击者使用DNS缓存中毒来劫持互联网流量并窃取用户凭据或个人数据。DNS缓存中毒攻击也称为DNS欺骗,它试图诱骗用户将其私人数据输入不安全的网站。

什么是DNS缓存

在讨论攻击之前,我们需要重新了解DNS和DNS缓存。DNS是IP地址和域名的全球目录。DNS缓存是将这些地址存储在世界各地的DNS服务器中的系统。

为了保持您的DNS请求快速,原始开发人员创建了一个分布式DNS系统。每个服务器都存储一个它知道的DNS记录列表–这称为缓存。如果离您最近的DNS服务器不知道您需要的IP地址,它将询问其他DNS服务器,直到找到您要访问的网站的IP地址。然后,您的DNS服务器将该新条目保存到缓存中。

DNS缓存中毒攻击如何工作

DNS缓存中毒通过欺骗DNS服务器保存伪造的DNS条目来起作用。伪造的DNS条目的流量流向选择窃取数据的攻击者的服务器。

攻击者植入假的地址到DNS;

服务器缓存假地址;

流量被牵引到攻击者服务器。

常用技术手段如下:

(1) Birthday Attack

DNS不会验证对递归查询的响应,因此第一个响应存储在缓存中。攻击者使用“Birthday Attack”来尝试预测伪造的响应并将其发送给请求者。BirthdayAttack使用数学和概率论进行猜测。在这种情况下,攻击者试图猜测您的DNS请求的事务ID,因此带有伪造的DNS条目的伪造响应会在真正响应之前到达您。

Birthday Attack不一定能成功,但最终,攻击者会将伪造的响应偷偷溜进缓存。一旦攻击确实成功,攻击者将看到来自伪造的DNS条目的流量,直到生存时间(TTL)到期为止。

(2) Kaminsky漏洞

Kaminsky漏洞利用是BlackHat 2008上提出的Birthday Attack的一种变体。首先,攻击者向目标解析器发送不存在域的DNS查询,例如“fake.dingxinsec.com.cn”。然后,解析程序将查询转发到权威名称服务器,以获取错误子域的IP地址。此时,攻击者向解析器注入了大量伪造的响应,希望这些伪造之一与原始查询的事务ID相匹配。

如果攻击成功,则攻击者已使用http://dingxinsec.com.cn的伪造IP地址毒害了目标解析器的DNS缓存。直到TTL为止,请求http://dingxinsec.com.cn的人都将获得伪造的IP地址。

(3) 窃听

攻击者如果有足够的网络访问权限,就可以监视本地DNS流量并使用多种技术手段破坏缓存。

如何检测DNS缓存中毒

那么,如何检测DNS缓存中毒攻击?监视DNS服务器以获取可能的攻击指示,将数据安全分析应用于您的DNS监视,以识别正常的DNS行为免受攻击。

来自单个来源的有关单个域的DNS活动突然增加表示潜在的Birthday Attack。

从单一来源查询DNS服务器以获取多个域名而不进行递归的DNS活动的增加表示尝试查找用于中毒的条目。

除了监视DNS之外,还监视Active Directory事件和文件系统行为是否存在异常活动。甚至更好的是,使用分析来关联所有三个媒介之间的活动,从而为您的网络安全策略添加有价值的环境。

如何防止

除了监视和分析之外,您还可以在DNS服务器上进行配置更改。

限制递归查询以防止潜在的有针对性的中毒攻击

仅存储与请求域相关的数据

限制响应以仅提供有关请求域的响应

强制客户端使用HTTPS

请确保您使用的是BIND和DNS软件的最新版本,以便您具有最新的安全修复程序。

最后,DNSSEC是一种新的DNS协议,可对DNS请求进行加密以防止伪造。该协议尚未得到广泛采用,因为它确实会减慢DNS进程。HTTPS上的DNS(DoH)是下一版本DNS的竞争规范,可以在不牺牲DNSSEC之类的速度的情况下确保DNS请求的安全。

www.tobmw.com​www.tobmw.com

@cacheable 是否缓存成功_DNS缓存中毒攻击相关推荐

  1. @cacheable 是否缓存成功_缓存策略:如何使用缓存来减少磁盘IO?

    现代的消息队列,都使用磁盘文件来存储消息.因为磁盘是一个持久化的存储,即使服务器掉电也不会丢失数据.绝大多数用于生产系统的服务器,都会使用多块儿磁盘组成磁盘阵列,这样不仅服务器掉电不会丢失数据,即使其 ...

  2. @cacheable 是否缓存成功_你了解缓存吗?缓存在SSD固态中起到什么样的作用?会正确使用吗...

    随着SSD固态硬盘的普及,如今带有缓存的SSD价格也逐渐被用户接受,虽然我们知道有缓存的SSD在价格上会比没有缓存的略贵一些,但是缓存究竟在SSD固态硬盘中发挥了怎样的作用并不是每个用户都了解.今天我 ...

  3. 16课:关于Springboot和@Cacheable注解拉去缓存,@CacheEvict清空缓存的原理

    16课:关于Springboot和@Cacheable注解拉去缓存,@CacheEvict清空缓存的原理 简介 代码展示 1.pox.xml 2.application.properties文件 3. ...

  4. redis的成功写入缓存但查不了

    最近在学习redis的简单应用并写出实例结果出现了一个非常奇怪的问题,每次查询都是从mysql中读入并且写入缓存成功但当我再次查询时仍然是从MySQL中读取数据并且再次写入缓存 这让我十分疑惑,实际上 ...

  5. 论微服务接入Redis缓存和本地缓存,提高性能并发第一步!

    一.缓存的概念 首先引入缓存还是有几个问题要问的 1.为什么要用缓存 2.项目中缓存是如何使用的 3.常见的缓存问题 带着这几个问题进行下面的学习 为什么需要缓存? 我们用缓存主要有两个原因 1,缓存 ...

  6. 缓存击穿、缓存穿透、缓存雪崩

    文章目录 多级缓存架构 缓存击穿 缓存穿透 缓存雪崩 多级缓存架构 在项目架构中,前端发送请求,服务器会先从缓存中获取数据,如果找到数据则直接返回,如果在缓存中没有找到则会去从数据库中获取,数据库取到 ...

  7. Redis 缓存击穿(失效)、缓存穿透、缓存雪崩怎么解决?

    欢迎关注方志朋的博客,回复"666"获面试宝典 原始数据存储在 DB 中(如 MySQL.Hbase 等),但 DB 的读写性能低.延迟高. 比如 MySQL 在 4 核 8G 上 ...

  8. 明白了缓存穿透和缓存雪崩,再了解一下缓存击穿!

    作者 l 会点代码的大叔(CodeDaShu) 在往期文章中,我们介绍了缓存穿透和缓存雪崩,其中缓存雪崩,是对于一些设置了过期时间的 key,在某个时间点集体失效后,有大量的请求落到数据库上导致被击垮 ...

  9. glide等图片缓存框架替换缓存图片解决方案

    2019独角兽企业重金招聘Python工程师标准>>> 应用场景: 手机app 用户的头像地址 在服务器上是固定的,比如有些服务器喜欢以 用户手机或者用户id 作为唯一标识,那么用户 ...

最新文章

  1. WINDOWS SERVER 2003 组策略应用
  2. 小程序不支持wx.request同步请求解决方法
  3. html egg mac os 10.7,HTML Egg
  4. re:Invent 大会第一天,看看AWS有哪些最新进展?\n
  5. WIN7下IIS的安装与配置
  6. 【c语言】小游戏程序——弹跳小球
  7. 《Go语言实战》学习笔记——包
  8. 更多数学趣题:走迷宫
  9. python 数据分析--数据处理工具Pandas(2)
  10. Git 学会git,探索GitHub,掌握新知识 (二)
  11. 机器学习——VC维问题
  12. java使用wordcloud生成词云
  13. Animate.css的使用(基本使用附css文件下载地址)
  14. TS2532: Object is possibly ‘undefined‘
  15. [视频改]Docker技术从0到1全覆盖 docker入门向 文字版
  16. 修改linux服务器nls_lang,Oracle下服务端字符集修改
  17. python屏幕取词getword_专业屏幕取词引擎-Getword
  18. 电脑不能上网页,但是能聊QQ,是怎么回事?
  19. 服务器不支持 tls 重新协商修正,OpenSSL安全重新协商失败
  20. Python数据分析——pandas数据结构(DataFrame)

热门文章

  1. tensorflow从入门到精通100讲(六)-在TensorFlow Serving/Docker中做keras 模型部署
  2. Python安装、配置图文详解
  3. Python入门100题 | 第011题
  4. 深度学习100例-卷积神经网络(AlexNet)手把手教学 | 第11天
  5. QT关于全局变量的申请以及使用,所有class可用同一个变量
  6. Python编程基础:第三十四节 文件移动Move a File
  7. 各个大厂的机器学习平台概述
  8. Java多线程编程模式实战指南(三):Two-phase Termination模式--转载
  9. 【科技金融】风控命门——第三届互联网金融风控大会会后复盘
  10. 百分点大数据技术团队:数据治理“PAI”实施方法论