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

    文章

    8475

    浏览量

    285825
  • 总线
    +关注

    关注

    10

    文章

    3057

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    艾体宝方案|APT攻击USB安全风险解析及企业防御体系构建

    在当前企业安全建设中,网络边界防护体系已日趋完善,防火墙、EDR(终端检测与响应)、零信任等技术的部署,有效抵御了大部分远程网络攻击。但一个长期被忽视的薄弱环节——USB等可移动存储设备,正重新成为
    的头像 发表于 04-15 10:35 123次阅读

    AT43USB380:AT43USB370的USB 2.0 OTG升级方案

    AT43USB380:AT43USB370的USB 2.0 OTG升级方案 在电子设计领域,不断地对原有的产品进行升级和优化是推动技术进步的重要途径。今天我们要探讨的AT43
    的头像 发表于 04-07 09:45 123次阅读

    Oracle和NVIDIA合作加速向量搜索和企业数据处理

    Oracle 和 NVIDIA 正在与客户合作,将 GPU 加速的向量索引构建应用于实际工作负载。Oracle Private AI Services Container 初期支持 CPU 执行,现
    的头像 发表于 03-23 15:26 424次阅读

    开源项目USB协议分析仪总体介绍

    USB 开发、逆向工程总被工具功能单一卡壳,这款USB 多功能工具直接拿捏痛点,集协议分析、设备创建、MitM 攻击、安全研究于一体,赶紧码住!FPGA 可编程 + 全场景覆盖!
    的头像 发表于 02-05 10:19 511次阅读
    开源项目<b class='flag-5'>USB</b>协议分析仪总体介绍

    网络攻击形态持续升级,哪些云安全解决方案更能应对 DDoS 等复杂威胁?

    在云计算和数字化业务高度普及的今天,网络攻击早已不再是偶发事件,而成为企业运营中必须长期应对的现实风险。从最初的大规模 DDoS 攻击,到如今更加隐蔽、持续、自动化的攻击形态,安全威胁正在经历一场
    的头像 发表于 12-17 09:53 556次阅读

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

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

    Vector向量指令集简介(一)

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

    Vector向量指令集简介(四)

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

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

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

    在中断向量表中,数字较小的中断向量能否以 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 1226次阅读
    milvus<b class='flag-5'>向量</b>数据库的主要特性和应用场景

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

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

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

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

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

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