当前位置: 首页 > 编程日记 > 正文

刚发现的 Wi-Fi 安全漏洞,可能危及全球所有设备!

作者 | Carol

出品 | CSDN(ID:CSDNnews)

近日,纽约大学阿布扎比分校的安全研究员 Mathy Vanhoef (马蒂·范霍夫)发现了一组可能会影响到数百万设备的 Wi-Fi漏洞。

可怕的是,其中部分漏洞甚至可以追溯到1997年的初代 Wi-Fi 设备,也就是说,这 24 年来销售出去的 Wi-Fi 设备都有可能受到影响。

Mathy Vanhoef 发现的这些漏洞被称为 FragAttacks(破片和聚合攻击),与其他 Wi-Fi 产品中编程错误导致的漏洞有区别,这次的漏洞属于 Wi-Fi 802.11标准帧聚合和帧分段功能中的设计缺陷。

Mathy Vanhoef  针对 FragAttacks 漏洞的研究论文,完整报告:https://papers.mathyvanhoef.com/usenix2021.pdf

攻击者只要在目标设备的 Wi-Fi 信号范围内,就能利用 FragAttacks 漏洞窃取该用户的数据,并执行恶意代码,甚至可以接管整个设备,包括计算机和智能手机在内都有可能受到此攻击。

Mathy Vanhoef 表示:“ FragAttacks 漏洞会影响所有 Wi-Fi 设备的现代安全协议,包括最新的 WPA3 规范。甚至连最古老的,已经因为安全原因被弃用的 Wi-Fi 原始安全协议 WEP 也受到影响。”

Wi-Fi 标准设计存在缺陷,是历史遗留问题

Mathy Vanhoef 称,即使是激活了 Wi-Fi 标准的安全协议(如 WEP 和 WPA)的设备,也难以逃脱 FragAttacks 漏洞。

Mathy Vanhoef 表示,这次发现的3个漏洞是因为 Wi-Fi 标准的设计本身存在缺陷,因此大多数设备都会受到影响。实验发现,每个 Wi-Fi 产品都至少受到一个漏洞的影响,而且大多数产品都受到多个漏洞的影响。

在过去几年,Wi-Fi ( WLAN 无线局域网设备)的网络协议安全性其实有了显著的改善,但那些在最初网络安全意识淡漠的年代所遗留的设计缺陷,却依然让如今这个互联网时代防不胜防。

不过幸运的是,Mathy Vanhoef 在进一步调查后发现,导致 FragAttacks 漏洞的设计缺陷比较难被滥用,因为需要用户交互,或只有在使用不常见的网络设置的时候才有可能实现。但在某些 FragAttacks 漏洞背后的编程错误很容易被利用,未打补丁的 Wi-Fi 产品将会很容易被攻击。

与 Wi-Fi 设计缺陷相关的 FragAttacks CVE 漏洞包括:

  • CVE-2020-24588:聚合攻击(接受非SPP A-MSDU帧);

  • CVE-2020-24587:混合密钥攻击(重组使用不同密钥加密的片段);

  • CVE-2020-24586:片段缓存攻击((重新)连接到网络时不从内存中清除片段)。

Wi-Fi 实现漏洞被分配了以下 CVE:

  • CVE-2020-26145:接受纯文本广播片段作为完整帧(在加密网络中);

  • CVE-2020-26144:接受以EtherType EAPOL(在加密网络中)以RFC1042标头开头的纯文本A-MSDU帧;

  • CVE-2020-26140:在受保护的网络中接受纯文本数据帧;

  • CVE-2020-26143:在受保护的网络中接受分段的纯文本数据帧。

Mathy Vanhoef 发现的其他实现漏洞还包括:

  • CVE-2020-26139:即使发件人尚未通过身份验证,也要转发EAPOL帧(应仅影响AP);

  • CVE-2020-26146:重新组合具有非连续数据包编号的加密片段;

  • CVE-2020-26147:重新组合混合的加密/纯文本片段;

  • CVE-2020-26142:将片段帧作为完整帧进行处理;

  • CVE-2020-26141:不验证分段帧的TKIP MIC。

另一方面,Mathy Vanhoef 也向 Wi-Fi 联盟报告了这个漏洞。

Wi-Fi 联盟在过去也一直努力地修改和完善 Wi-Fi 标准,并与设备供应商合作发布固件修补程序。因此用户可以检查设备的固件更改日志,通过查找相关的 CVE 标识符,来检查自己的设备是否收到了解决 FragAttacks 的修补程序。

如果用户无法判断他们的设备是否受到修补,那么用户一定要确保:自己的设备是通过 HTTPS 连接访问站点。以此作为最基础的保护手段,避免 FragAttacks 的攻击。

FragAttacks 是在微软2021年5月的周二补丁日当天宣布的,而微软在近日已经为影响 Windows 系统的12个漏洞提供了其中3个补丁,思科、HPE/Aruba,和 Sierra Wireless 随后也发布了相应的补丁。

如果用户不知道自己的设备是否已打补丁,可以去 Mathy Vanhoef 的网站查看一些列缓解措施,以保护你免受这些漏洞的攻击。该网站上还包括一些常见问题的解答部分,感兴趣的小伙伴可以去看看。

FragAttacks 缓解措施:https://www.fragattacks.com/#notpatched

其实,这并不是 Mathy Vanhoef 第一次发现 Wi-Fi 标准存在漏洞了,早在2017年, Mathy Vanhoef 就披露了 Wi-Fi 的保护协议标准 WPA 中存在的高危漏洞:KRACK(Key Reinstallation Attack)攻击和 Dragonblood 攻击。

协议不靠谱,四次握手也不顶用

WPA 全名为 Wi-Fi Protected Access,有 WPA、WPA2和 WPA3三个标准,是一种保护无线网络 Wi-Fi 安全的协议。

一般来说,当用户需要新建一个无线网络时,必须在接入点手动设置网络名(SSID)和安全密钥,然后在客户端验证密钥以阻止“不速之客”的闯入。

在 WPA 和 WPA2 协议中,客户端(Station, STA)和接入点(Access Point, AP)通过四次握手相互验证和协商会话密钥。

而 KRACK 漏洞则发生在 WPA2 的协议中,被称为是一个“严重的缺陷”,WPA2 协议可以保护所有现代受保护的 Wi-Fi 网络。但被盯上的用户,攻击者只要在范围内可以利用这些弱点读取以前假定被安全加密的信息, 这可能被滥用来窃取用户敏感信息。比如信用卡号、密码、聊天记录、电子邮件、照片等。还可以根据网络配置注入和操作数据,比如,攻击者可能能会向网站注入勒索软件或其他恶意软件。

这当中的漏洞在于 Wi-Fi 标准本身。那么,这样的攻击是如何实现的呢?

攻击者在 Wi-Fi 覆盖范围内,对 WPA/WPA2 协议的四次握手交互验证的第三阶段(消息 3)发起攻击。

此时被攻击者已经安装了密钥,安装的密钥将用于使用加密协议加密正常数据帧。但是,由于消息可能会丢失或丢弃,如果访问点 (AP) 未收到适当的确认响应,则该访问点 (AP) 将重新传输消息 3。

因此,客户端可能会多次收到消息 3 。每次收到此消息时,它将重新安装相同的加密密钥,从而重置增量传输数据包编号(nonce),并接收加密协议使用的重播计数器。

攻击者则可以通过收集和重播四次握手中的消息 3 来强制 Nonce 重置。通过以这种方式强制 Nonce 重用,可以攻击加密协议,例如,可以重播、解密或伪造数据包。同样的技术也可用于攻击组键、对等键、TDLS 和快速 BSS 过渡握手等。

由于这是 WPA 协议本身存在问题,因此任何支持 Wi-Fi 的设备都有可能受到 KRACK 攻击的影响,为防止攻击,用户必须在安全更新可用后立即更新受影响的产品。同时,用户依然可以通过 CVE 标识符来跟踪受到 KRACK 攻击影响的设备。

总的来说,该攻击主要是对WPA2协议的实现过程进行攻击,因此能绕过安全监控设备,为了免受漏洞的影响,用户需要及时把智能手机、平板电脑和笔记本电脑等Wi-Fi设备升级到最新版本,并且尽可能更新路由器固件。平时在上网过程中,如果条件允许则优先使用蜂窝移动网络,尽量避免使用未知的公共Wi-Fi上网。

WPA3:更安全还是更高危?

在使用 WPA2 协议的14年后,Wi-Fi 联盟宣布了新的、更安全的WPA3协议。

据称,WPA3 由于其潜在的 Dragonfly 握手设计,几乎不可能被破解网络的密码。然而通过研究,Mathy Vanhoef 仍然发现其中存在安全漏洞,并将其命名为 Dragonblood 攻击。

Dragonblood 攻击共有五个,包括拒绝服务攻击、两个降级攻击和两个侧通道信息泄露攻击。

拒绝服务攻击指的是攻击者可以通过每秒生成多达 16 个伪造的提交帧来使得接入点 (AP)超载。这是一种资源消耗攻击,能导致 AP 上的 CPU 使用率很高,耗尽其电池,防止或延迟其他设备使用 WPA3 连接到 AP,并可能停止或减慢 AP 的其他功能。

相比起其他四个攻击,拒绝服务攻击带来的危害程度较低,只会导致使用WPA3的接入点崩溃。

其他四个漏洞则可用于获取用户密码。

两个降级攻击和两个侧通道信息泄露漏洞都是 WPA3 的 Dragonfly 密钥交换中的设计缺陷引起的。

如,基于缓存的侧通道攻击指的是,当攻击者在构建 Dragonfly 握手的提交框架时,能够观察被攻击者设备上的记忆访问模式时,这些内存访问模式会显示有关正在使用的密码的信息。

如果攻击者控制了被攻击者设备上的任何应用程序,则可以观察这些模式,甚至当攻击者控制了受害者浏览器中的 JavaScript 代码时,也有可能观察这些模式。

泄露的模式可用于执行字典攻击,通过模拟与猜到的密码相关的内存访问模式,并将此模式与测量的访问模式进行比较,从而获取用户密码。

在 Mathy Vanhoef 发布了相关的漏洞信息后,Wi-Fi 联盟表示 WPA3 标准已经添加了安全更新,修复了 Dragonblood 漏洞。

Mathy Vanhoef 发现了 KRACK 攻击和 Dragonblood 攻击,帮助 Wi-Fi 标准改善了其安全状态,但他最新发现的 FragAttacks 位于 Wi-Fi 协议的旧部分,没有因之前的发现而得到改进或修复,并且广泛存在于现实世界中部署了数十年的设备中。

在智能手机、笔记本电脑、物联网、车联网等设备、组件广泛被应用的当下,Wi-Fi 作为大部分互联网设备的入口,安全性的重要程度不言而喻,希望今后 Wi-Fi 当中的“历史遗留问题”能早日被发现和解决,为后续产业互联网时代打好安全、牢不可破的基石。

更多精彩推荐  美国燃油“动脉”被黑客切断,网络安全走向哪里?专访山石网科IBM 能靠 2nm 芯片翻身吗?无人机、IoT 设备都有漏洞?专访以色列老牌安全企业Check Point用 Python 实现隐身,我可以 | 文末福利AI 3D 传感器市场竞争白热化,中国掌握自主可控核心技术时不我待!小心!你家的 IoT 设备可能已成为僵尸网络“肉鸡”
点分享点收藏点点赞点在看

相关文章:

linux + ffmpeg + eclipse 调试

使用linux ffmpeg eclipse调试步骤OS : ubuntu 12.04Eclipse : 3.7.2 为Eclipse安装cdt插件,使其支持c/c导入ffmpeg项目File —-> Import —-> c / c —-> Existing Code as Makefile Project 输入 Project Name, 选择ffmpeg所在目录, Toolchain选择Linu…

在ASP.NET 2.0中使用样式、主题和皮肤

ASP.NET 2.0的主题和皮肤特性使你能够把样式和布局信息存放到一组独立的文件中,总称为主题(Theme)。接下来我们可以把这个主题应用到任何站点,用于改变该站点内的页面和控件的外观和感觉。通过改变主题的内容,而不用改…

C# 引用类型和值类型

1、引用类型 FCL(Framework)中的大多数类型都是引用类型,引用类型总是在托管堆中分配的,C#的new操作符会返回对象的内存地址,也就是指对象数据的内存地址。在使用引用类型时,存在以下性能问题,这是我们在开发中必须要注意的: a、内存必须从托管堆上分配(也就是说每new一个对象,…

dom4j读写xml文件

dom4j读写xml文件首先我们给出一段示例程序:import java.io.File;import java.io.FileWriter;import java.util.Iterator;import org.dom4j.Document;import org.dom4j.DocumentHelper;import org.dom4j.Element;import org.dom4j.io.OutputFormat;import org.dom4j…

图片、文件防盗链

关于图片盗链这个问题,毕竟是自己的劳动成功,很多人不希望别人就那么轻易地偷走了。 这个功能在很多的论坛上都具有,可能是因为盗链的行为太多了吧反盗链的程序其实很简单,熟悉ASP.NET 应用程序生命周期的话很容易就可以写一个&am…

脚本征集大赛开启啦!100%有奖!

对一个程序爱好者来说,最酷的事情莫非就是用你喜欢的语言一步步实现你的idea, 现在用 CSDN 浏览器助手插件, 不仅能提升浏览器效率,还能在上面开发黑科技脚本,帮助你实现各种 idea~

深入理解javascript中的立即执行函数(function(){…})()

2019独角兽企业重金招聘Python工程师标准>>> javascript和其他编程语言相比比较随意,所以javascript代码中充满各种奇葩的写法,有时雾里看花,当然,能理解各型各色的写法也是对javascript语言特性更进一步的深入理解。 …

Javascript学习7 - 脚本化浏览器窗口

原文:Javascript学习7 - 脚本化浏览器窗口本节讨论了文档对象模型、客户端Javascript下Window中的各项属性,包括计时器、Location对象、Histroy对象、窗口、浏览器等相关属性的讨论。 具体详细Window属性介绍可以参见:http://www.w3school.com.cn/htm…

ASP.Net 2.0 发送邮件的代码

这两天因为要做一个可以收集用户提交信息,然后发送邮件到指定邮箱的网页。在 asp.net 2.0 里面发送邮件可以使用 System.Net.Mail 下面的类。http://www.systemnetmail.com/faq/2.1.aspx 这个地址有 System.Net.Mail 的作者写的仿佛是 MSDN 类似的 Faq,看…

腾讯To B业务架构再升级,汤道生任云与智慧产业事业群CEO

5月14日,腾讯云与智慧产业事业群(CSIG)宣布新一轮架构升级,这是继2018年“930变革”后,腾讯To B业务的又一次重大进化。 在本轮战略升级中,腾讯公司高级执行副总裁汤道生担任云与智慧产业事业群CEO&#x…

一篇文章读懂阿里云负载均衡性能保障型实例

1. 什么是负载均衡性能保障型实例?2. 性能保障型实例如何收费?3. 性能保障型实例规格费的定价4. 如何选择性能保障型实例?5. 性能保障型实例的变配操作限制6. 性能保障型实例何时收费?7. 收费后性能共享型实例会收费吗?8. 为何有…

POJ 2135 Farm Tour 最小费用流

两条路不能有重边&#xff0c;既每条边的容量是1。求流量为2的最小费用即可。 //#pragma comment(linker, "/STACK:1024000000,1024000000") #include<cstdio> #include<cstring> #include<cstdlib> #include<algorithm> #include<iostre…

Linux动态库和静态库比较

Linux动态库和静态库比较文件预览 文件目录树如下&#xff0c;如你所见&#xff0c;非常简单。 1. libtest/ 2. |-- lt.c 3. |-- lt.h 4. -- test.c #lt.c 1. 4. 5. #include 6. 7. void myprint(void) 8. { 9. printf("Linux librar…

“一键”部署分布式训练,微软“群策MARO”上新集群管理助手

作者 | 李开琪、王金予 编者按&#xff1a;2020年&#xff0c;微软亚洲研究院发布并开源了多智能体资源优化平台“群策MARO”。为了帮助不同需求的用户进行更加便捷、高效的集群管理&#xff0c;也希望用户可以方便快捷地部署分布式训练任务&#xff0c;微软亚洲研究院的研究员…

1968年12月9日,恩格尔巴特公开演示了世界上第一个鼠标盒子

鼠标之父”道格拉斯恩格尔巴特 腾讯科技讯&#xff0c;肖华2013年12月19日编译 计算机的几次革命和大规模普及都是始于人机交互的改变&#xff0c;今年7月2日&#xff0c;“鼠标之父”道格拉斯恩格尔巴特溘然辞世。人们才发现&#xff0c;他的发明远不止鼠标。作为人机交互的先…

GPT-3模型为何难以复现?这也许是分布式AI框架的最优设计

作者 | 成诚头图 | 下载于视觉中国2020 年&#xff0c;最轰动的 AI 新闻莫过于 OpenAI 发布的 GPT-3 了。它的1750亿参数量及其在众多NLP任务上超过人类的出众表现让大家坚信&#xff1a;大模型才是未来。但与之带来的问题是&#xff0c;训练超大模型所需的算力、存储已不再是单…

c#中什么情况下用(int)什么情况下用Convert.ToInt32

1.c#中什么情况下用(int)什么情况下用Convert.ToInt32 ? 比如说有一个string型的3 ,要给它转换成int型的是用(int)3 ,还是用Convert.ToInt32(3); 还是两个都可以用&#xff0c;为什么&#xff1f; 解答&#xff1a;这两个都是转换成整型的&#xff0c;只是它们的长度不同。…

困扰多日的C#调用Haskell问题竟然是Windows的一个坑

最近一直被C#调用Haskell时的“尝试读取或写入受保护的内存”问题所困扰&#xff08;详见C#调用haskell遭遇Attempted to read or write protected memory&#xff0c;C#调用haskell时的“尝试读取或写入受保护的内存”问题&#xff09;&#xff0c;而且困在其中&#xff0c;越…

“移花接木”偷换广告:HTTPS劫匪木马每天打劫200万次网络访问

本文讲的是“移花接木”偷换广告&#xff1a;HTTPS劫匪木马每天打劫200万次网络访问&#xff0c;近年来&#xff0c;国内各大网站逐渐升级为HTTPS加密连接&#xff0c;以防止网站内容被篡改、用户数据被监听。但是一向被认为“安全可靠”的HTTPS加密传输&#xff0c;其实也可以…

Oracle之sqlpluse显示格式

SQL> show linesize; #设置每行显示的字符数 linesize 10000 SQL> show pagesize; #设置每页显示的行数 pagesize 1000 SQL> set linesize 100; SQL> set pagesize 300; SQL> show linesize; linesize 100 SQL> show pagesize; pagesize 300 col 列名 for …

ASP.Net中利用CSS实现多界面两法

通过使页面动态加载不同CSS实现多界面 方法一: <%page language"C#"%> <%import namespace"System.Data"%> <script language"c#" runat"server"> public void page_load(Object obj,EventArgs e) { //创建服务器…

面试90%都会翻车的高可用+高并发+负载均衡架构设计 !

很多人面试的时候被问到一个让人特别手足无措的问题&#xff1a;你的系统如何支撑高并发&#xff1f;对于一个公司而言&#xff0c;“为什么要高可用”关于负载均衡架构设计你了解多少&#xff1f;大多数同学被问到这个问题压根儿没什么思路去回答&#xff0c;不知道从什么地方…

Linux 如何通过命令查看一个文件的某几行(中间几行或最后几行)

linux 如何显示一个文件的某几行(中间几行) 【一】从第3000行开始&#xff0c;显示1000行。即显示3000~3999行 cat filename | tail -n 3000 | head -n 1000 【二】显示1000行到3000行 cat filename | head -n 3000 | tail -n 1000 *注意两种方法的顺序 分解&#xff1a; tail …

PHP更新数据库记录

//更新记录$query"insert into chinachaodai (name,theindex)values (公司,1)";$result$mysqli->query($query);if($result){ echo ("返回行数:".$mysqli->affected_rows);}else{ echo("失败了");}$mysqli->close();

MySQL 用户与授权管理详解

大纲一、前言二、创建用户并授权三、GRANT语句的种类四、撤权并删除用户一、前言做为Mysql数据库管理员管理用户账户&#xff0c;是一件很重要的事&#xff0c;指出哪个用户可以连接服务器&#xff0c;从哪里连接&#xff0c;连接后能做什么。Mysql从3.22.11开始引入两个语句来…

聚焦联机交易分析一体化,巨杉数据库湖仓一体云产品全线升级

2021年5月15日&#xff0c;领先的金融级分布式数据库厂商 SequoiaDB巨杉数据库 举行了2021年春季发布会。在本次发布会中&#xff0c;巨杉数据库基于「湖仓一体」架构&#xff0c;针对不同的业务需求场景细分出全新的产品线。同时进行了最新的SequoiaDB Cloud数据库云平台操作演…

css :after或:before写小三角形

2019独角兽企业重金招聘Python工程师标准>>> .type_form_tab:after {content: ;position: relative;border: 0.3rem solid #d8d8d8;border-color: #d8d8d8 transparent transparent;width: 0;height: 0;top: 0.7rem;left: 0.3rem; }转载于:https://my.oschina.net/d…

C#调用windows api的要点

在.Net Framework SDK文档中&#xff0c;关于调用Windows API的指示比较零散&#xff0c;并且其中稍全面一点的是针对Visual Basic .net讲述的。本文将C#中调用API的要点汇集如下&#xff0c;希望给未在C#中使用过API的朋友一点帮助。另外如果安装了Visual Studio .net的话&…

如何全面认识联邦学习

作者 | 王健宗 李泽远 何安珣来源 | 大数据DT头图 | 下载于视觉中国什么是联邦学习联邦学习是一种带有隐私保护、安全加密技术的分布式机器学习框架&#xff0c;旨在让分散的各参与方在满足不向其他参与者披露隐私数据的前提下&#xff0c;协作进行机器学习的模型训练。经典联邦…

android 各种控件颜色值的设置(使用Drawable,Color)

在Android中&#xff0c;如果需要改变控件默认的颜色&#xff0c;包括值的颜色&#xff0c;需要预先在strings.xml中设置&#xff0c;类似字符串&#xff0c;可以反复调用。Android中颜色可以使用drawable或是color来定义。本例中strings.xml内容&#xff1a;<a href"h…