贾浩楠 发自 凹非寺
量子位 报道 | 公众号 QbitAI

你正在用的WiFi,被发现了重大漏洞!

下至账号密码,上至设备权限,没有一个是安全的。

而且,漏洞波及所有连接WiFi的设备。

WiFi本来已经是和阳光空气一样普遍的东西,已经是当代人生存必要条件之一

但这次被发现的漏洞,却在WiFi最底层的协议中,“潜伏”了24年。

漏洞有多严重?

毫不夸张地说,手机、电脑,还是智能音箱、手表这类AI设备,无一幸免。

最先发现漏洞的比利时荷语鲁汶大学Mathy Vanhoef教授,实况演示了这些漏洞会造成怎样的严重后果。

首先是通过WiFi截取关键的账号和密码。

利用漏洞,黑客锁定目标WiFi,然后“克隆”一个特征完全相同的网络。

然后,给受害者发一封链接WiFi的认证邮件或短信,其中包含一张“人畜无害”的图片,受害者在加载时,会自动收到一个TCP包。

而这个TCP包,会在原有的WiFi协议框架里注入新的帧,受害者下一次打开WiFi连接时,就会自动连上假WiFi。

接着,黑客只需要使用Wireshark这种抓包工具,就能截取使用者在网络上收发的信息。

基本上,你在网络上输入账号密码这类操作,相当于“实况直播”给了黑客。

当然,这种手段最适合机场、酒店这种公共场合WiFi。

但是,攻击者也可以多花一些功夫,伪装成网络运营商给家庭WiFi用户发邮件。

第二种威胁,是攻击者直接利用WiFi远程获取设备使用权限,比如电脑、智能音响,监控摄像等等。

演示中,Vanhoef以一个可以连接WiFi进行远程控制的智能台灯为例。

首先,他先通过使用同一WiFi的苹果Mac电脑追踪到目标IP地址,由于WiFi协议中的漏洞,甚至不用知道WiFi密码,就能远程操控设备:

试想一下,如果黑客操控的是家中的智能家居、或智能音箱这类带有摄像录音功能的设备,会有多么可怕的后果。

最后,利用这些漏洞,攻击者还可以实现非常复杂的黑客操作。

因为这些漏洞存在于协议底层,意味着即使不接入公共网络,仅在局域网的设备也面临风险。

比如演示中的目标是一台隔绝于外网的Win7系统电脑。

攻击者只要同样接入这个局域网,就能利用漏洞直接击穿路由防火墙,把程序植入目标电脑。

接下来,在受害者电脑上的一举一动,都被实时直播:

而且,攻击者还能远程夺取控制权,或者悄悄植入程序。

演示中远程打开了系统的计算器

如此危险的漏洞,到底是怎么出现的呢?

“潜伏”24年的漏洞

这次发现的漏洞,涉及基本所有的WiFi安全协议,包括最新的WPA3规范。

甚至WiFi的原始安全协议,即WEP,也在其中。

这意味着,这几个设计缺陷自1997年发布以来一直“潜伏”在WiFi中。

但幸运的是,这些缺陷并不是那么容易被利用,因为这样做需要用户互动,或者在不常见的网络设置时才可能。

所以这也是为什么这些漏洞能潜伏24年之久。

所以,在实践中,最大的隐患来自WiFi产品中设计缺陷。

纯文本注入漏洞

黑客可以轻松地将帧注入到受保护的Wi-Fi网络中。

攻击者通常会精心构建一个框架来注入未加密的WiFi。

针对路由器,也可以被滥用来绕过防火墙。

而在实际中,某些Wi-Fi设备允许接受任何未加密的帧,即使连接的是受保护的WiFi网络。

这意味着攻击者不需要做任何特别的事情。此外,许多Windows上的WiFi加密在被分割成几个(明文)片段时,也会错误地接受明文帧。

帧聚合漏洞

帧聚合功能本来是将小帧合并成一个较大的聚合帧来提高网络的速度和吞吐量。

为了实现这一功能,每个帧都包含一个标志,表示加密传输的数据是否包含一个单一的或聚合的帧。

‍但这个 “聚合 “标志没有经过验证,可以被对手修改,这意味着受害者可以被欺骗,以一种非预期的方式处理加密传输的数据。

帧碎片功能漏洞

第二个缺陷是Wi-Fi的帧碎片功能。

该功能通过将大的帧分割成较小的片段来增加连接的可靠性。‍

‍当这样做时,属于同一帧的每个片段都使用相同的密钥进行加密。

然而,接收者并不需要检查这一点,他们会重新组合使用不同密钥解密的片段。在极少数情况下,这可以被滥用来渗出数据。

路由器端验证信息缺失

一些路由器会将握手帧转发给终端,即使来源还没有任何认证。

这个漏洞允许对手进行聚合攻击,并注入任意的帧,而无需用户互动。

此外,还有另一个极其常见的漏洞,接收端也从不检查收到的所有的片段是否属于同一个框架,这意味着对手可以通过混合两个不同框架的手段来伪造信息。

最后,市面上还有一些设备将碎片帧作为全帧处理,这样的缺陷可以被滥用来注入数据包。

怎么办?

WiFi底层协议带着一身漏洞狂奔了24年,如今无数设备都在使用。

再想从底层协议开始改,要付出的成本和工作量不可想象。

Mathy Vanhoef专门开发出了测试工具,可以检验设备是否存在前面所说的漏洞。

还在Github上贴出了所有漏洞标识符。

既然不能改WiFi协议,唯一的方法就是升级设备了。

目前升级程序还在制作中,不久就会放出来。

漏洞列表:
https://github.com/vanhoefm/fragattacks/blob/master/SUMMARY.md

漏洞测试工具:
https://github.com/vanhoefm/fragattacks

一身漏洞狂奔24年!人人都用的WiFi被曝重大漏洞,随时成为监控你的工具相关推荐

  1. 中国人新奋斗:行行都在卷,处处都很难,人人都在熬

    前言 01 从燃到熬 从自然轨迹看,一个国家的增长,总是先快后慢.从一马平川的奔,到愈高愈难.所见愈奇的登. 从精神轨迹看,一个民族的成长,往往是从燃到熬.在燃时代,机会遍地走,点一点星火就能燎原,胆 ...

  2. 人人都能成为安全防范的高手 ——《黑客新型攻击防范:深入剖析犯罪软件》

    人人都能成为安全防范的高手 --<黑客新型攻击防范:深入剖析犯罪软件> 过去,人们认为恶意软件是一种纯粹的技术威胁,它主要依靠技术漏洞实现感染.创作者开发它们往往是出于好奇心理,有时则是为 ...

  3. 2014 年编程语言排名,人人都爱 TypeScript

    前几年(2012版,2013版) 的排名缺少了 Andrew Binstock 的栏目 --"编程语言的起伏".这个在去年在已经闭刊的 Dr.Dobb Journal 上发表过了( ...

  4. 未来:万物皆互联、全民皆社交,人人都是马化腾

    自2013年起,受益于移动互联网时代以及各类"互联网+"创业的蓬勃发展,"APP+IM"已成为众多互联网应用标配.2015年,IM云服务开始引起了国内老牌互联网 ...

  5. 抢疯了!字节、美团《人人都要学的架构思维》完整版PDF开放下载!

    我的朋友"技术领导力"公号作者 老K,他出过两本技术畅销书,做过大型独角兽公司CTO,能文能武,被生活逼得一身才华,是位响当当的行业大佬. 据我所知,老K也是程序员出身,从小厂的J ...

  6. 未来客:人人都可以构建软件或系统

    01 背景 随着云计算.人工智能.大数据.5G等新兴技术的快速发展,催化了数字化认知的普及度,越来越多的企业希望借助技术的力量加速数智化转型. 通过更加敏捷和强大的应用系统推动企业的商业创新速度.后疫 ...

  7. HDOJ/HDU 2555 人人都能参加第30届校田径运动会了(判断加排序~)

    Problem Description 杭州师范大学第29届田径运动会圆满的闭幕了,本届运动会是我校规模最大,参赛人数最多的一次运动会.在两天半时间里,由学生.教工组成的61支代表队共2664名运动员 ...

  8. 人人都有发言权的新媒体时代 内容审核需亮剑

    "人人都有发言权"的新媒体打破了传统的新闻传播机构对新闻传播的垄断格局,完善了社会公共领域,但是在发展的过程中也存在着很多问题亟待解决. 1."某书APP推送未成年人身体 ...

  9. 人人都能成为闪电网络节点:第6章安装lnd

    决定安装lnd了,建议先烧柱香,拜拜中本聪,会减少些磨难和诡异. #C-lightning.LND和Éclair的关系和区别: 闪电网络驱动的基础技术区别在于编码语言.Éclair用的是Scala,L ...

最新文章

  1. linux内核中send与recv函数详解
  2. pom.xml中的artifactId是什么意思?
  3. SpringCloud Ribbon(五)之服务实例列表ServerList
  4. Dijkstra迪杰斯特拉算法 C++实现
  5. 服务器复制不进去文件等
  6. uni-app 打包App ,实现App更新提醒,并下载最新App
  7. oracle windows 优化工具,使用某Windows优化大师对Windows2000操作系统进行了优化,优化完成之后,oracle数据库便无法正常工作...
  8. Kali 2020 DHCP获取动态ip和静态IP设置方法
  9. 随笔之---java版本哲学家就餐问题【信号量的实现】
  10. 用pcdet跑deecamp20_liadr3-1
  11. Vue 数组/对象赋值,视图不更新问题
  12. Flutter 判断网络可用性
  13. NoteExpress的使用方法
  14. ORA-20003: ORU-10036: object XXX is invalid and cannot be described
  15. 动态规划实例--数组不连续取数问题(python 实现)
  16. 【阿里云总监课】存储系统设计——NVMe SSD性能影响因素一探究竟
  17. Java多线程 信号量和屏障实现控制并发线程数量,主线程等待所有线程执行完毕1
  18. 手机中Ram和Rom详解
  19. HTML5期末大作业:网站——响应式网络游戏官网HTML+CSS+JavaScript ~ 学生HTML个人网页作业作品下载 ~ web课程设计网页规划与设计 ~大学生个人网站作业模板 ~简单个人网页
  20. python缺少位置参数_缺少1个必需的位置参数

热门文章

  1. 如何获取mongodb中的最后N条记录?
  2. Python中的元类是什么?
  3. Python基础:第一个Python程序(2)
  4. 第七篇:SpringBoot 2.x集成Lombok
  5. 在使用 interface 声明一个接口时,只可以使用那个修饰符修饰该接口?
  6. java笔试题(3)
  7. 【Java学习笔记之四】java进制转化
  8. JPA使用原生SQL查询
  9. 基于SharePoint大型企业协同门户产品-永久免费
  10. 01-迭代开发的基本需求和Scrum标准