0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

USB的攻击向量问题探讨

汽车玩家 来源:FreeBuf 作者:战争贩子 2020-03-15 17:09 次阅读

本文,我将主要通过上图的分类方式来探讨针对USB的攻击向量问题。最上层涉及到更多关于人类应用、业务的基本交互场景。传输层包括设备的固件、协议栈等。物理层则主要描述USB总线上的通信问题。

USB的攻击向量问题探讨

USB介质也为内部攻击者泄露机密信息提供了便利途径。2010年,二等兵Chelsea Manning违反《反间谍法》被捕,原因是泄露了美国军方的私人视频。曼宁使用了便携式存储设备,因为出口管制很松,为了突破军队网络的空挡,向外界泄露信息。Edward Snowden(斯诺登)使用类似的技术从位于夏威夷的军事基地窃取了美国国家安全局的绝密数据。当然国内的黄*事件也是很典型的案例(下图)。USB设备的普遍性和可移植性既是挑战也是机遇。一方面,它们的易用性极大地帮助了消费者和公司完成日常任务。另一方面,USB设备本身实际上是超越技术范畴的行政安全道德领域,可能会对组织造成巨大的影响。

二、应用层

应用层攻击涉及主机用户空间进程及其与设备功能的交互。这一层的攻击通常分为两类:代码注入攻击和数据过滤攻击。

1. 代码注入

USB存储已被多个恶意软件利用。据本人知道的案例,Duqu病毒使用应用层rootkit来隐藏USB存储设备上的恶意文件。Conficker、Flame病毒则使用了0day攻击和恶意autorun。当U盘连接到主机时,inf文件自动执行恶意软件。尽管自动运行功能在成为Windows平台的主要威胁之一后受到了限制,但由于操作系统的漏洞(Bad-USB等),类似的功能仍然可用。

2. 数据过滤

由于USB设备通常不会对主机上正在通信的应用程序进行身份验证,因此应用程序可能会对USB设备写入或者读取数据。例如,网络摄像头本地的数据的存储,USB设备本地日志的保存、usb应用层存在的各种安全漏洞都可能会成为关键的因素。

三、传输层

1. 协议伪造

USB设备利用主机对任何连接设备的完全信任,它们往往为终端操作系统提供附加的驱动层接口。像USB橡皮鸭或USBdriveby(http://samy.pl/usbdriveby/)这样的设备连接到主机系统时,它驱动层协议栈所有的回调接口(包括用户不知道的)都会被枚举。这种功能可以通过将恶意代码嵌入到其他正常的设备(例如,蓝牙耳机中的网络适配器)来隐藏。

TURNIPSCHOOL项目(http://www.nsaplayset.org/turnipschool)是一个改进的USB电缆,该设备具有4层PCB板、内置芯片的接口扩展 USB HUB、来自德州仪器的内置射频收发器单片机和一个3D打印的塑料模具。设备连接到主机后,主机上运行的软件可以通过RF接口提取数据或接收命令。使得USB传输层变成可二次编程,可以用于USB设备的安全过滤产品的开发。

识别和减轻这些恶意的接口在传统上是困难的。因为对手可以简单地重新编程任何USB基本数据(VID、PID)来规避操作系统中的设备白名单或黑名单规则。此外,由于恶意人员可以合理地使用了音频耳机等组合设备,攻击面广、隐藏率高,降低了攻击的成本。

2. 协议漏洞

主机的USB协议栈只要符合USB标准就可以了,第三方完全可以自由扩展,所以肯定会有大量的传输协议层漏洞。使用FaceDancer进行Fuzzing技术(笔者未来会写个Facedancer使用教程),我们会发现了许多内核层的任意代码执行漏洞,在2017年,谷歌研究员也在不同的Linux内核USB驱动中发现了超过40个漏洞。在某些情况下,这些漏洞可能在主机的设备枚举期间被利用。也可能作为一个中间人设备进行数据的嗅探。

四、物理层

物理层攻击包括对USB总线通信中的机密性和完整性的攻击。

1. 物理窃听

无论数据是否敏感,传输的过程中总是需要暴露在管道一段时间。排除透明加密的情况,大部分流量一定会满足USB底层传输标准,我们使用硬件键盘记录器,来进行一次大流量审计,提取USB存储、甚至USB键盘的重要信息。键盘记录器都是小型设备,放置在主机端口和外设间抓包。在usb3.0之前,恶意外设可以窃听所有连接设备的下行流量。

(A transparent defense againstUSB eavesdropping attacks)M.Neugschwandtner

我们甚至可以通过USB电流嗅探,示波器信道采集等方式进行攻击,从信道数据可以获得当前主机的重要特征信息,恶意智能手机可以使用该信息来组成攻击目标的提权shellcode。(Android安全研究综述)蒋绍林

Usb嗅探的另一种方法是使用USB协议分析仪提取总线状态的时序特征,并使用机器学习分类来推断主机的操作系统,获取具体信息。Betas提出了一种基于时间间隔的指纹打印方案,该方案可以从商用智能电话启动。他们表明,特定的操作系统版本和型号可以以高达90%的准确度通过设备之间发送数据包的间隔来检测。尽管基于时序的指纹显着提高了规避漏洞的门槛,但是经验丰富的木马设计者可以修改其时序特征来逃避检测。

USB的攻击向量问题探讨

2. 侧信道攻击(电磁、电源攻击)

近年来,研究人员研究攻击者如何使用植入射频发射器的从普通的终端中窃取数据。这种方法需要一个硬改的USB插头或设备,还要有一个专用嵌入式的射频发射机。USBee是一款作为射频发射器发射电磁辐射的设备,对敏感数据进行编码/抓取等操作。当然如果无法接触到目标机器的时候,黑客可以用一根普通的电线触摸目标机器暴露的金属部分,得到的信号可以用来提取重要的密钥信息。Oswald等人展示了如何基于功耗和电磁辐射从Yubikey 2中提取AES 128位密钥。(Side-channel attacks on the yubikey2one-time password generator) Oswald

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • usb
    usb
    +关注

    关注

    59

    文章

    7411

    浏览量

    257868
  • 总线
    +关注

    关注

    10

    文章

    2695

    浏览量

    87156
收藏 人收藏

    评论

    相关推荐

    探讨Type-C接口的发展历程及其与Micro USB的差异

    Type-C 接口在当今数字化生活中扮演着越来越重要的角色。相比之下,Micro USB作为其前身,在某些方面显得有些过时。本文将探讨Type-C接口的优点,并与Micro USB进行比较,以揭示其在现代科技领域的重要性和优越性
    的头像 发表于 03-15 10:24 135次阅读

    什么是中断向量偏移,为什么要做中断向量偏移?

    当MCU中有两段或以上程序的时候(第一个程序为用户BootLoader程序,其他的为APP程序,这个在前期视频《什么是ISP?什么是IAP》中有讲过),APP程序中都需要做中断向量偏移,那么什么是中断向量偏移,为什么要做中断向量
    的头像 发表于 01-30 09:47 441次阅读
    什么是中断<b class='flag-5'>向量</b>偏移,为什么要做中断<b class='flag-5'>向量</b>偏移?

    测试向量是什么意思

    测试向量及其生成 测试向量(Test Vector)的一个基本定义是:测试向量是每个时钟周期应用于器件管脚的用于测试或者操作的逻辑1和逻辑0数据。 这一定义听起来似乎很简单,但在真实应用中则复杂得多
    的头像 发表于 10-30 11:23 1343次阅读
    测试<b class='flag-5'>向量</b>是什么意思

    USB和两路CAN同时使用修改中断向量号吗?

    USB和两路CAN同时使用, USB 要修改中断向量号吗?
    发表于 10-20 06:33

    M2351常见的故障注入攻击方式及原理

    的方式运作,这样的特性,经常被恶意攻击者,运用做为寻找系统漏洞的工具,藉此绕过预设的安全机制或取得受保护的资料。这方法之所以被攻击者经常使用,其根本原因不外乎相关攻击设备简单、容易取得且成本低廉,并且其
    发表于 08-25 08:23

    GPU发起的Rowhammer攻击常见问题

    以下信息提供了有关GPU发起的“Rowhammer”攻击的一些常见问题的答案。 你能用外行的话解释这个问题吗? 安全研究人员已经证明了GPU通过WebGL程序发起的微体系结构攻击,使他们能够构建指向
    发表于 08-25 06:41

    什么是向量数据库?关系数据库和向量数据库之间的区别是什么?

    向量数据库是一种以向量嵌入(高维向量)方式存储和管理非结构化数据(如文本、图像或音频)的数据库,以便于快速查找和检索类似对象。
    的头像 发表于 08-16 10:13 1272次阅读
    什么是<b class='flag-5'>向量</b>数据库?关系数据库和<b class='flag-5'>向量</b>数据库之间的区别是什么?

    了解Web DDoS海啸攻击的4个维度

    和 WAAF解决方案无法做到这一点:因为这些威胁是动态的,以至于它们的频率无法预测,攻击向量是随机的,源IP和其他参数会发生变化,并且它们承受这些变化的能力可以长期保持。 只有具有自学习和自动调整功能的基于行为的算法才能检测和减轻这些攻击
    的头像 发表于 08-11 11:05 614次阅读

    什么是 DDoS 攻击及如何防护DDOS攻击

    什么是DDoS攻击?当多台机器一起攻击一个目标,通过大量互联网流量淹没目标或其周围基础设施,从而破坏目标服务器、服务或网络的正常流量时,就会发生分布式拒绝服务(DDoS)攻击。DDoS允许向目标发送
    的头像 发表于 07-31 23:58 768次阅读
    什么是 DDoS <b class='flag-5'>攻击</b>及如何防护DDOS<b class='flag-5'>攻击</b>

    支持向量机(多类问题之1类对另1类)

    假设测试样本需被分为三类,首先需构建三个支持向量机模型
    的头像 发表于 07-05 16:08 317次阅读
    支持<b class='flag-5'>向量</b>机(多类问题之1类对另1类)

    支持向量机(多类问题之1类对K-1类方式)

    支持向量机可求解二分类问题。当需要求解多分类问题时,支持向量机可将二分类问题的求解方式转化为多分类问题的求解方式
    的头像 发表于 06-30 16:07 292次阅读

    向量数据库是如何工作的?

    向量数据库和 Embedding 是当前 AI 领域的热门话题。
    的头像 发表于 06-18 11:06 560次阅读
    <b class='flag-5'>向量</b>数据库是如何工作的?

    能遵循instruction的句向量模型

    向量技术是将连续的文本转化为固定长度的稠密向量,将句子映射到同一个向量空间中
    的头像 发表于 06-13 14:56 638次阅读
    能遵循instruction的句<b class='flag-5'>向量</b>模型

    边缘计算和算力网络的主要技术挑战及展望

    边缘计算发展至今已取得巨大进步,但仍面临诸多技术挑战,目前仍有三大问题亟待解决。 首先是安全性的问题。边缘计算的分布式架构增加了攻击向量的维度,客户端越智能就越容易受到恶意软件感染和安全漏洞
    发表于 05-23 15:40 0次下载
    边缘计算和算力网络的主要技术挑战及展望

    支持向量机(核函数的定义)

    根据机器学习相关介绍(10)——支持向量机(低维到高维的映射),支持向量机可通过引入φ(x)函数,将低维线性不可分问题转换为高维线性可分问题。
    的头像 发表于 05-20 10:41 547次阅读
    支持<b class='flag-5'>向量</b>机(核函数的定义)