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
    +关注

    关注

    60

    文章

    8372

    浏览量

    281667
  • 总线
    +关注

    关注

    10

    文章

    3014

    浏览量

    91301
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    攻击逃逸测试:深度验证网络安全设备的真实防护能力

    攻击逃逸测试通过主动模拟协议混淆、流量分割、时间延迟等高级规避技术,能够深度验证网络安全设备的真实防护能力。这种测试方法不仅能精准暴露检测引擎的解析盲区和策略缺陷,还能有效评估防御体系在面对隐蔽攻击
    发表于 11-17 16:17

    Vector向量指令集简介(一)

    RV32V将数据寄存器和长度与向量寄存器关联而不是指令操作码。程序在执行V指令之前会用数据类型和数据宽度来标记向量寄存器,因为每个V指令通常有8个整数版本和三个浮点版本。 这个编码一共5位,低
    发表于 10-23 08:28

    Vector向量指令集简介(三)

    首先是vl寄存器,这个寄存器保存一个无符号数,位宽为XLEN,表示向量指令的结果将要更新的元素的数量。这个寄存器通过vset{i}vl{i}指令来更新 vlenb寄存器是一个只读的寄存器,它记录
    发表于 10-23 06:23

    Vector向量指令集简介(二)

    上次我们讲vtype讲到一般,今天把剩下的部分给讲完。 Vma和vta表示的是向量尾部不可知与向量掩码不可知的设置位。 这两个位的值,都是在设置为0的时候表示未受干扰,设置为1的时候表示
    发表于 10-23 06:05

    Vector向量指令集简介(四)

    前面讲的都是状态寄存器的概念介绍,今天开始讲解Vector向量指令的指令格式。 对于load/store两类指令,它们都是对内存直接操作的指令。 比较值得说的是,rs1的值索引的是内存的基地
    发表于 10-22 06:06

    使用MATLAB的支持向量机解决方案

    支持向量机 (SVM) 是一种有监督机器学习算法,它能找到分离两个类的数据点的最佳超平面。
    的头像 发表于 10-21 15:00 304次阅读
    使用MATLAB的支持<b class='flag-5'>向量</b>机解决方案

    图解环路设计及控制技术探讨

    由于之前缺乏控制理论方面的知识在刚接触反馈环路的时候对其中的很多名词不是很明白,这次准备采用图解的方法逐一的搞清楚这些名词并且试图找出一种便捷的设置零、极点的方法。最后准备再探讨一下关于控制技术
    发表于 08-22 17:39

    在中断向量表中,数字较小的中断向量能否以 larg 中断中断向量

    在中断向量表中,数字较小的中断向量能否以 larg 中断中断向量
    发表于 08-21 08:17

    高速信号抗浪涌“神器”,适用于USB 2.0、USB 3.X(Gen1/Gen2)、HDMI

    usb
    jf_15747056
    发布于 :2025年07月23日 19:08:12

    milvus向量数据库的主要特性和应用场景

    Milvus 是一个开源的向量数据库,专门为处理和分析大规模向量数据而设计。它适用于需要高效存储、检索和管理向量数据的应用场景,如机器学习、人工智能、计算机视觉和自然语言处理等。
    的头像 发表于 07-04 11:36 729次阅读
    milvus<b class='flag-5'>向量</b>数据库的主要特性和应用场景

    TCP攻击是什么?有什么防护方式?

    随着网络的高速发展,越来越多的企业都将业务部署在线下机房或者云上。随之而来的就是各种各样的网络攻击,如DDoS攻击、CC攻击、TCP攻击等,这些攻击
    的头像 发表于 06-12 17:33 737次阅读

    RISC-V架构下的编译器自动向量

    进迭时空专注于研发基于RISC-V的高性能新AICPU,对于充分发挥CPU核的性能而言,编译器是不可或缺的一环,而在AI时代,毫无疑问向量算力将发挥越来越重要的作用。进迭时空非常重视RISC-V
    的头像 发表于 06-06 16:59 933次阅读
    RISC-V架构下的编译器自动<b class='flag-5'>向量</b>化

    Redis 8 向量搜索实测:轻松扩展至 10 亿向量

    艾体宝Redis 8 向量搜索实测轻松支持 10 亿向量,仍保持低延迟与高吞吐。中位延迟仅200毫秒,90%精确度;处理50并发搜索请求中位延迟仅1.3秒,95%精确度。
    的头像 发表于 05-13 14:00 561次阅读
    Redis 8 <b class='flag-5'>向量</b>搜索实测:轻松扩展至 10 亿<b class='flag-5'>向量</b>

    一文详解USB Type-C接口的水汽检测技术

    本文将探讨针对 USB Type-C 接口的水汽检测技术,分析其工作原理、实现方式及艾为的对应产品。
    的头像 发表于 02-25 15:34 2183次阅读
    一文详解<b class='flag-5'>USB</b> Type-C接口的水汽检测技术

    网络攻击中常见的掩盖真实IP的攻击方式

    在各类网络攻击中,掩盖真实IP进行攻击是常见的手段,因为攻击者会通过这样的手段来逃脱追踪和法律监管。我们需要对这类攻击做出判断,进而做出有效有力的防范措施。 虚假IP地址的替换 首先,
    的头像 发表于 12-12 10:24 764次阅读