随着苹果发布会的到来,我在网上最近找到了一篇《苹果无线生态系统安全性指南》的文章。
文章原作者Milan Stute,Alexander Heinrich,Jannik Lorenz,Matthias Hollick,文章来源:usenix.org
原文地址:https://www.usenix.org/system/files/sec21fall-stute.pdf

原文概要:
Apple公司拥有着世界上最大的移动生态系统之一,在全球拥有15亿台有源设备,并提供十二种专有的无线连续性服务。以往工作揭示了所涉及协议中的一些安全性和隐私性问题,这些工作对AirDrop进行了广泛的研究。为了简化繁琐的逆向工程过程,本研究提出了一个指南,指南介绍了如何使用macOS上的多个有利位置对所涉及协议进行结构化分析。此外还开发了一个工具包(https://github.com/seemoo-lab/apple-continuity-tools ),可以自动执行此手动过程的各个部分。基于此指南,本研究将分析涉及三个连续性服务的完整协议栈,特别是接力(HO,Handoff), 通用剪贴板(UC,Universal Clipboard)和Wi-Fi密码共享(PWS,Wi-Fi Password Sharing)。本研究发现了从蓝牙低功耗(BLE,Bluetooth Low Energy)到Apple专有的加密协议等多个漏洞。这些缺陷可以通过HO的mDNS响应,对HO和UC的拒绝服务(DoS)攻击,对PWS的DoS攻击(可阻止Wi-Fi密码输入)以及中间设备(MitM)进行设备跟踪。对将目标连接到攻击者控制的Wi-Fi网络的PWS进行攻击。本研究的PoC实施表明,可以使用价格适中的现成硬件(20美元的micro:bit和Wi-Fi卡)进行攻击。最后,建议采取切实可行的缓解措施,并与Apple分享我们的发现,Apple已开始通过iOS和macOS更新发布修复程序。

这里主要探讨对PWS的MitM攻击。

一、MiTM攻击简介
MiTM (Main-in-the-middle attack)中间人攻击,指攻击者与通讯的双方分别建立独立连接,并交换其所收到的数据,使通讯的双方认为他们正在通过一个私密的连接与对方直接交互数据,但事实上整个会话都被攻击者完全控制。在中间人攻击中,攻击者可以拦截通讯双方的通话并插入新的内容。
中间人攻击具有一定的局限性,中间人攻击用于局域网内。MiTM攻击能成功的前提条件是攻击者能将自己伪装成每一个参与会话的终端,并且不被其他终端识破。中间人攻击是一个(缺乏)相互认证的攻击。大多数的加密协议都专门加入了一些特殊的认证方法以阻止中间人攻击。例如,SSL协议可以验证参与通讯的一方或双方使用的证书是否是由权威的受信任的数字证书认证机构颁发,并且能执行双向身份认证。

二、苹果系统的问题
1.通过Wi-Fi密码自动填充的MitM
利用PWS协议中的单面身份验证为请求者自动填充Wi-Fi密码字段,从而使iOS或macOS目标连接到攻击者控制的Wi-Fi网络,并将攻击者提升到特权MitM位置。此位置允许进行辅助攻击,例如DNS欺骗或流量分析。此外,攻击者还可以通过触发Safari漏洞利用来破坏目标设备。

2.漏洞:单方身份验证
MitM攻击利用了PWS各方需要提供的信息不对称性:按照Apple的设计,请求者必须提供经过认证的联系信息,而授予者则不能提供经过认证的联系信息。在案例中,攻击者充当授予者,因此不需要掌握有关其目标的任何信息。
请求者使用由Apple签名的验证记录和Apple ID证书向授予者证明其身份。因此,授予者可以验证请求者在其广播中拥有联系人标识符。相反,请求者不检查授予者的身份。即使授予者的哈希联系人标识符包含在PWS3数据包中,也不会在请求者上使用它们。另外,PWS3消息不包含授予者的验证记录和Apple ID证书。通过扫描周围的Wi-Fi网络并将散列的名称与BLE广播中的字段进行比较,可以轻松获得PWS3中的强制性SSID。使用授予者缺少的验证,结合以下事实:在请求者上不需要用户交互就可以对请求者进行攻击。


当iOS和macOS设备连接到新的Wi-Fi网络时,此攻击以iOS和macOS设备为目标。目的是使目标设备以相同的SSID连接到受密码保护的Wi-Fi网络,但该网络由攻击者控制,进一步称为欺骗网络。在上图中显示了完整的协议流程和用户交互。然后,攻击者可以使用其MitM位置来分析受害者的流量或发起诸如DNS或NTP欺骗之类的二次攻击。此外,攻击者可以使用自动加载的强制门户网站网页来利用Safari Web浏览器中的漏洞,从而提取敏感的用户数据或访问用户的相机。
使用不同设置进行的实验表明,在打开密码对话框时,请求者将保存信号最强的BSSID,并且仅尝试连接到该BSSID。为了成功进行攻击,欺骗的网络必须是当时信号最强的网络。攻击者可以增加其接入点的发射功率,也可以使用定向天线来增加其机会。攻击者继续运行带有原始SSID和其欺骗网络的PSK的PWS客户端。受害者无需任何进一步的用户交互,一旦PWS完成,目标设备就连接到欺骗的网络。所提出攻击的一个问题是,仔细的用户可能会注意到他们无需输入任何密码即可自动连接到Wi-Fi网络。发现授予者可以在收到Pair-Verify M2数据包后使会话保持打开状态,等到受害者输入密码后再继续攻击,例如在受害者点击连接之前发送M3。如果在适当的时候继续,例如通过观察受害者,攻击很可能不会被察觉。

3.缓解措施:相互认证和明确同意
SSID复制攻击之所以起作用,是因为请求者上的无交互用户界面以及授予者缺少身份验证。因此提出了两步缓解措施。首先,建议在“配对验证”握手中引入相互认证。鉴于AirDrop的身份验证协议是以这种方式设计的,目前尚不清楚苹果为什么不首先实现这一点。使用相互身份验证,由于攻击者必须位于受害者的联系人列表中,因此实施攻击将更加困难。其次建议更改UI,以便请求者的用户可以决定是否接受授予者的密码。苹果再次在AirDrop中实现了类似的机制,要求用户接受传入的文件。

无线通信安全作业1-无线通信安全最新消息相关推荐

  1. 无线产品的多种无线加密方式及其区别

    无线产品的多种无线加密方式及其区别 0 前言     无线网络的安全性由认证和加密来保证.本文主要讨论的是无线加密,加密和认证的关系十分密切,文中出现相关无线认证方式的介绍,因此各位要注意区分这两个概 ...

  2. 外媒:下代iPad Pro将同时具备无线充电和反向无线充电功能

    6月4日消息,据国外媒体报道,下一代iPad Pro将同时具备无线充电和反向无线充电功能. 据悉,目前的iPad仍然使用USB-C或Lightning充电,但实现无线充电将使‌iPhone‌和iPad ...

  3. win7不能开启无线服务器,Win7建立无线Wi-Fi热点及常见问题解决办法——无线路由器功能实现...

    [本文部分来自网络,因不清楚具体源出处,故无法给出源地址,见谅!] Windows7本身就有无线路由器功能,传统的我们搭建的临时无线网(即Ad Hoc模式,也就是我上一篇博文-windows xp v ...

  4. 流集数据收集器最新消息

    最新消息 3.10.0 中的新增功能 数据收集器版本 3.10.0 包括以下新功能和增强功能: 起源 此版本包括以下新源: Groovy 脚本 - 运行 Groovy 脚本以创建数据收集器记录. 脚本 ...

  5. 荣耀手机现在是鸿蒙,荣耀适配鸿蒙最新消息出现,华为不会让大家失望的

    荣耀适配鸿蒙最新消息出现,华为不会让大家失望的 2021-05-11 20:55:23 0点赞 0收藏 0评论 从现在的信息看华为的机型下个月就要开始大面积适配鸿蒙2.0操作系统了,因此很多人想知道荣 ...

  6. 魔兽世界怀旧服最新服务器开发时间,怀旧服开70最新消息汇总 魔兽怀旧服TBC开放时间几个阶段?...

    很多玩家关心魔兽世界怀旧服开70最新消息进展的情况,到底魔兽怀旧服TBC开放时间几个阶段.在这里就做一个关于暴雪可能开TBC的时间. 最早的时候,暴雪已经向当今的许多玩家发送了一份有关70级的tbc怀 ...

  7. 带你了解无线网络渗透测试——无线网络嗅探工具Kismet

    如果要进行无线网络渗透测试,则必须先扫描所有有效的无线接入点.刚好在Kali Linux中,提供了一款嗅探无线网络工具Kismet.使用该工具可以测量周围的无线信号,并查看所有可用的无线接入点.本节将 ...

  8. linux 无线 网桥,基于Linux无线网桥及无线网络设备驱动分析与研究

    摘要: 综合了局域网,无线通信等相关技术的无线局域网(WLAN)是非常方便的数据传输系统,它利用射频技术遵循IEEE 802.11协议,具有传输速率高,成本低廉,兼容和扩展能力强等优点,是近些年来通信 ...

  9. ac ap方案 华为_华为无线_AC+AP小型无线网络配置实验_v1

    [如果在实验中有什么疑问,欢迎关注微信公众号"IT后院"给我留言,我会抽空回答你的问题] 华为无线-AC+AP小型无线网络配置实验_v1 网络结构图: 步骤一:配置网络连通性 SW ...

最新文章

  1. java游戏开发--连连看-让程序运行更稳定、更高效
  2. 单位四元数(unit quaternion)
  3. go语言的channel特性
  4. 排序算法有哪些_超强整理,科班算法岗的秋招之路
  5. SCCM 2007系列教程之三日志文件
  6. java 根据类名示例化类_Java类类getEnclosingClass()方法及示例
  7. 了解一下Elasticsearch的基本概念
  8. Nhibernate 3.0 Cookbook学习笔记 利用XML映射类
  9. GridViewObjectDataSource新特性小记 懒人篇(一) 分页上路
  10. 软件设计原则(三) 依赖倒置原则
  11. 基于BP神经网络的手写体识别
  12. 阿里高效沟通的秘密:向上沟通,跨部门沟通,PREP汇报...这5招绝了!
  13. lol大区服务器维护,LOL官宣“扩容升级”服务器,排队时间将大大减少,电一玩家喜大普奔!...
  14. Labview 2020 中文版安装教程
  15. iOS10 Siri开发介绍篇
  16. 芭蕉叶上无愁雨,自是多情听断肠
  17. linux cscope界面,Linux cscope代码阅读工具配置
  18. STM8S103F3P6自带LED灯驱动汇编
  19. 转 安装EBS前期检查工具 - RDA - Health Check / Validation Engine Guide
  20. LearnOpenGL学习笔记——泛光

热门文章

  1. 间隔层设备和过程层简介
  2. win7安装oracle 黑屏,苹果电脑装Windows7黑屏的原因和解决方案
  3. 【RISC-V】SiFive Unmatched开发板开发手记02
  4. FPGA 视频处理中外部SDRAM的作用
  5. 《开源软件开发导论》作业1
  6. GPU、GPU驱动、OpenGL、游戏引擎之间的关系
  7. android 相册png黑底,Android png透明图片转jpg时背景变黑的解决方法
  8. DIY官网可视化工具打造低代码可视化一键生成导出源码工具
  9. 协同过滤和关联规则分析的区别
  10. 【Python数据分析与可视化】Pandas统计分析-实训