Turning USB peripherals into BadUSB

USB devices are connected to – and in many cases even built into – virtually all computers. The interface standard conquered the world over the past two decades thanks to its versatility: Almost any computer peripheral, from storage and input gadgets to healthcare devices, can connect over the ubiquitous technology. And many more device classes connect over USB to charge their batteries.

This versatility is also USB’s Achilles heel: Since different device classes can plug into the same connectors, one type of device can turn into a more capable or malicious type without the user noticing.

Reprogramming USB peripherals. To turn one device type into another, USB controller chips in peripherals need to be reprogrammed. Very widely spread USB controller chips, including those in thumb drives, have no protection from such reprogramming.

BadUSB – Turning devices evil. Once reprogrammed, benign devices can turn malicious in many ways, including:

  1. A device can emulate a keyboard and issue commands on behalf of the logged-in user, for example to exfiltrate files or install malware. Such malware, in turn, can infect the controller chips of other USB devices connected to the computer.
  2. The device can also spoof a network card and change the computer’s DNS setting to redirect traffic.
  3. A modified thumb drive or external hard disk can – when it detects that the computer is starting up – boot a small virus, which infects the computer’s operating system prior to boot.

Defenses?

No effective defenses from USB attacks are known. Malware scanners cannot access the firmware running on USB devices. Behavioral detection is difficult since behavior of an infected device may look as though a user has simply plugged in a new device. Blocking or allowing specific USB device classes and device IDs is possible, however generic lists can easily be bypassed. Pre-boot attacks may be prevented by use of a BIOS password and booting only to the hard drive.

To make matters worse, cleanup after an incident is hard: Simply reinstalling the operating system – the standard response to otherwise ineradicable malware – does not address BadUSB infections at their root. The USB thumb drive, from which the operating system is reinstalled, may already be infected, as may the hardwired webcam or other USB components inside the computer. A BadUSB device may even have replaced the computer’s BIOS – again by emulating a keyboard and unlocking a hidden file on the USB thumb drive.

Once infected, computers and their USB peripherals can never be trusted again.

More details are available in the slides of our talk at PacSec 2014. (An earlier version of the talk was presented at BlackHat 2014.) YouTube has a video of the BlackHat talk.

Proof-of-Concept. We are not yet releasing the modified USB controller firmwares. Instead we are providing a proof-of-concept for Android devices that you can use to test your defenses: BadAndroid-v0.2

Questions? – usb [you know what to put here] srlabs.de

本文转自 K1two2 博客园博客,原文链接:http://www.cnblogs.com/k1two2/p/5025037.html  ,如需转载请自行联系原作者

USB peripherals can turn against their users相关推荐

  1. linux设备驱动之USB主机控制器驱动分析

    http://www.cnblogs.com/sdphome/archive/2011/09/29/2195791.html 一:前言 Usb是一个很复杂的系统.在usb2.0规范中,将其定义成了一个 ...

  2. linux设备驱动之USB主机控制器驱动分析 【转】

    转自:http://blog.chinaunix.net/uid-20543183-id-1930831.html ------------------------------------------ ...

  3. USB基础书籍资料推荐

    中文参考书籍: 1. USB系统架构图解,陈乃塘,陆克文化事业有限公司. 2. USB2.0 设计应用全揽,廖惠如总编辑,陆克文化事业有限公司. 3. USB理论规范与设计,郭士秋编着,儒林出版社,9 ...

  4. 2.0双排针插座_您可以将USB 1.1集线器连接至墙上插座并为设备充电吗?

    2.0双排针插座 It is frustrating to have older hardware just sitting around collecting dust or getting in ...

  5. usb控制linux关机,linux设备驱动之USB主机控制器驱动分析

    一:前言 Usb是一个很复杂的系统.在usb2.0规范中,将其定义成了一个分层模型.linux中的代码也是按照这个分层模型来设计的.具体的分为 usb设备,hub和主机控制器三部份.在阅读代码的时候, ...

  6. 网络安全习惯_健康习惯,确保良好的网络安全

    网络安全习惯 In a similar fashion to everyone getting the flu now and again, the risk of catching a cybera ...

  7. MT7621_移植篇(3) uboot编译+配置项分析

    U-Boot("通用引导加载程序",通常简称为U-Boot)是一种开源的主引导加载程序,用于嵌入式设备中打包引导设备操作系统内核的指令.它可用于多种计算机架构,包括68k.ARM. ...

  8. Exynos4412-itop4412 uboot移植

    Exynos4412-itop4412 uboot移植 硬件:迅为4412全能板 u-boot:2017.11/2020.04 cp board/samsung/origen/ board/samsu ...

  9. Android-vold源码分析之连接电脑OTG(11)

    作者:gzshun. 原创作品,转载请标明出处! 来源:http://blog.csdn.net/gzshun OTG是on-the-go的简称,是2001年由USB Implementers For ...

最新文章

  1. 数据结构:O(nlogn)算法
  2. android ProgressBar 使用方法
  3. python int32 int8_python-使用numpy视图将int32转换为int8
  4. 线性代数第九版pdf英文_《Linear Algebra Done Right》线性代数复习及部分习题解答(3.C)...
  5. 2018 “百度之星”程序设计大赛 - 初赛(A)P1001度度熊拼三角(贪心)
  6. 浏览器静态资源的缓存机制(http强缓存 协商缓存)
  7. 《图解算法》学习笔记之选择排序
  8. linux合并ts文件吗,Linux 下使用 ffmpeg 大批量合并 ts 文件, mp4切割文件为m3u8
  9. RAID独立冗余磁盘列阵
  10. 智慧用电安全管理系统解决方案
  11. python打印小星星案例详解_音乐案例 《小星星》
  12. 中美跨境电商贸易投资云洽会成功举办;TT Shop和TTforBusiness将互通;PhonePe月破20亿...|洞悉跨境
  13. System.DllNotFoundException: Unable to load DLL 'XX.dll': 找不到指定的模块。 (Exception from HRESULT:
  14. C语言头文件路径相关问题总结说明
  15. 西部数码域名去掉html,怎样过户域名
  16. 我不知道如何使用这台计算机用英语怎么说,我不知道英文
  17. [转]客户和银行员工都说通存通兑“不合算”
  18. 生擒网络剪刀手(NetCut)
  19. 2012.2 今天是2012年4月12日星期四,编写程序,输入今天开始到12月31日之间的任意日期
  20. Java程序员修练之道

热门文章

  1. C语言实现动态顺序表
  2. vb mysql_VB连接MYSQL实例
  3. maya python 游戏与影视编程指南_《Maya Python游戏与影视编程指南》【价格 目录 书评 正版】_中国图书网...
  4. android 生成泛型对象,java android解析多层含有泛型对象的json数据获取不到泛型类型解析失败解决办法...
  5. python多线程爬取多个网页_python多线程爬取网页
  6. 30行python代码设计_30行Python代码实现3D数据可视化
  7. java is-a_java中 is - a和 has - a的区别
  8. lintcode循环数组之连续子数组求和
  9. ubuntu18安装python3.6.8_ubuntu 18.04 + Python 3.6.8 更换软件安装源
  10. 阿酷快捷键怎么使用_必须收藏!Linux用户必须知道的常用终端快捷键