你的USB设备还安全吗?USB的安全性已从根本上被打破!
前言:
USB设备使用方便,但也可能被用来携带恶意软件、病毒,感染计算机系统。通过禁用自动播放功能、杀毒软件查杀、不定期的对设备进行格式化等操作可以确保它是干净的。但它存在的安全问题要比我们想象的更深,问题不仅在于它携带了什么,还在于通过它的工作方式就能产生安全隐患。
USB隐藏的危险:
安全研究员Karsten Nohl 和Jakob Lell 发现了从根本上颠覆USB安全性的方法。他们创建的恶意软件,暂且称为BadUSB,可以被安装到USB设备中完全控制PC,无形中修改内存中的文件,甚至重定向用户的互联网流量。由于BadUSB不是存储在USB设备的闪存中,而在于可以控制其基本功能的固件中,攻击代码在设备内存被用户删除后仍可以隐藏很久。两位研究者表示修复这一问题并不容易,除非禁止USB设备的传播或将USB端口封起来。
‘IN THIS NEW WAY OF THINKING, YOU HAVE TO CONSIDER A USB INFECTED AND THROW IT AWAY AS SOON AS IT TOUCHES A NON-TRUSTED COMPUTER.’
Nohl和Lell并不是第一个之处USB设备可以存储和传播恶意软件的人,但他们并没有止步于仅仅将自己的代码复制到USB设备的内存中。他们花了几个月的时间对USB的固件进行逆向工程,而固件决定着USB的基本通信功能——控制芯片让设备能和PC通信,用户可以移动和修改文件。他们最重要的发现是USB设备中的固件可以被二次编程已隐藏攻击代码。你可以把它给那些做安全研究的人,他们会扫描并删除一些文件,然后告诉你设备室"干净"的。但除非他们具备逆向工程的能力并对固件进行分析,前面描述的"清洗"过程根本不会碰到BadUSB。
所有形式的有固件的的USB设备,从键盘到鼠标再到智能手机都可以被重新编程。除了常见的USB设备,Android手机连接到PC上同样会遭受攻击,一旦受感染设备连接到PC,BadUSB可以做的事情就像变戏法一样,它可以将安装的软件替换为损坏的或者有后门的版本,甚至还可以模拟USB键盘突然就输入命令,通过键盘能做的都可以做到 —— 基本电脑能做到的一切。
该恶意软件也可以悄悄地劫持互联网流量,改变计算机的DNS设置以将流量牵引到它设置的服务器。如果代码用于手机和其他连接到互联网的设备,它还可以扮演中间人,秘密地监听通信。
我们大多数人都学会了不要随便运行USB上的可执行文件,但这并不能阻止新的感染方式,即便用户意识到可能会遭受攻击,确认USB设备未被攻击也基本上是不可能的。这些设备并没有"代码签名"的设置—— 确保新加入的代码都有设备制造商不可伪造的签名机制,甚至没有任何可以信的USB固件可以用来对比。
任何时候将Upan插到电脑上,其固件就会被那台电脑上的恶意软件再编程,U盘的主人很难检测到它。同样的,USB设备也可以悄悄地感染用户的计算机。这其实是双向的,任何人都不可信。
BadUSB传播过程中无法被检测到的能力引起了一个疑问:是否能安全地使用USB设备。当我们把USB端口给人访问时,人们可以再上面做点坏事,但现在又有了一种新的可能的方向,这意味着一个受感染的USB设备是一个非常严重的实际问题。
Blaze推测USB攻击实际上早已成为NSA的普遍做法,他提到了早些时候斯诺登泄露的被称为Cottonmouth的间谍设备。该设备据说隐藏在一个USB外设中,为秘密地安装恶意软件到目标机器上收集NSA需要的信息。
THE ALTERNATIVE IS TO TREAT USB DEVICES LIKE HYPODERMIC NEEDLES. [皮下注射器的针]
Nohl说他们将他们的研究告知过一个台湾的USB设备制造商,一系列的邮件交流后,该公司不承认这种攻击存在的可能[换做是我估计也不愿意承认呢]。Nohl认为短期内无法通过技术手段给该问题打上补丁,为避免该问题,你只能不让USB设备和电脑相连[谁知道还有没其他办法绕过呢,USB终归是要拿来用的]。信息安全的本质问题是信任,但在这种情况下一切都变得不可信。当USB接触到不受信的电脑后,你最好是当它已经被感染了,并将它扔了[太严重了吧!不过政府部门及一些信息比较敏感的地方还是需要提高警惕啊]。这两名研究者将在今年的黑帽大会上公布他们的发现,但还没有决定发行哪一个BadUSB设备攻击,因为这可能会导致USB的恶意固件会快速传播。
要实行一项新的安全模式,首先需要让设备制造商相信威胁真的存在,同时用户也需要提高自己的安全意识,因为说不定哪一天我们就碰到了一个这样的BadUSB!
参考:
http://www.wired.com/2014/07/usb-security/
https://www.blackhat.com/us-14/briefings.html#badusb-on-accessories-that-turn-evil
你的USB设备还安全吗?USB的安全性已从根本上被打破!的更多相关文章
- USB 设备类协议入门【转】
		
本文转载自:http://www.cnblogs.com/xidongs/archive/2011/09/26/2191616.html 一.应用场合 USB HID类是比较大的一个类,HID类设备属 ...
 - USB设备的基本概念
		
在终端用户看来,USB设备为主机提供了多种多样的附加功能,如文件传输,声音播放等,但对USB主机来说,它与所有USB设备的接口都是一致的.一个USB设备由3个功能模块组成:USB总线接口.USB逻辑设 ...
 - KVM客户机使用主机USB设备
		
有些时候KVM客户机还是要使用USB设备,比如USB密钥等 KVM命令行参数 -usb 打开usb驱动程序,启动客户机usb支持 -usbdevice devname 为客户机增加usb设备,devn ...
 - Linux下usb设备驱动详解
		
USB驱动分为两块,一块是USB的bus驱动,这个东西,Linux内核已经做好了,我们可以不管,我们只需要了解它的功能.形象的说,USB的bus驱动相当于铺出一条路来,让所有的信息都可以通过这条USB ...
 - kvm云主机使用宿主机usb设备
		
有些时候KVM客户机还是要使用USB设备,比如USB密钥等 KVM命令行参数 -usb 打开usb驱动程序,启动客户机usb支持-usbdevice devname 为客户机增加usb设备,devna ...
 - USB设备驱动程序学习笔记(一)
		
现象:把USB设备接到PC1. 右下角弹出"发现android phone"2. 跳出一个对话框,提示你安装驱动程序 问1. 既然还没有"驱动程序",为何能知道 ...
 - USB设备---URB请求块
		
1.urb 结构体 USB 请求块(USB request block,urb)是USB 设备驱动中用来描述与USB 设备通信所用的基本载体和核心数据结构,非常类似于网络设备驱动中的sk_buff 结 ...
 - USB设备驱动总结
		
现象:把USB设备接到PC (韦老师总结) 1. 右下角弹出"发现android phone" 2. 跳出一个对话框,提示你安装驱动程序 问1. 既然还没有" ...
 - 12、USB设备驱动程序
		
linux-3.4.2\driver\hid\usbhid\usbmouse.c 内核只带USB驱动程序 (hub和usb是两个不同的设备,hub在内核上电的过程中在usb_hub_init函数中调用 ...
 
随机推荐
- JS动态生成的元素,其对应的方法不响应(比如单击事件,鼠标移动事件等)
			
主要原因:在页面给元素注册点击事件的时候[ $(function () { XXX }); ],JS动态生成的元素还尚未生成,所以click事件就没有生效 解决方法: 方案一:js动态生成元素后再给 ...
 - lua解释执行脚本流程
			
#include "lua.hpp" #include <iostream> using namespace std; #pragma comment(lib, &qu ...
 - 2014 年最热门的国人开发开源软件 TOP 100 - 开源中国社区
			
不知道从什么时候开始,很多一说起国产好像就非常愤慨,其实大可不必.做开源中国六年有余,这六年时间国内的开源蓬勃发展,从一开始的使用到贡献,到推出自己很多的开源软件,而且还有很多软件被国外的认可.中国是 ...
 - [汇编与C语言关系]4. 结构体和联合体
			
用反汇编的方法研究一下C语言的结构体: #include <stdio.h> int main(int argc, char ** argv) { struct { char a; sho ...
 - vue实例属性(vm.$els)
			
不需要表达式 参数: id(必需) 用法: 为 DOM 元素注册一个索引,方便通过所属实例的 $els 访问这个元素. 注意: 因为 HTML 不区分大小写,camelCase 名字比如 v-el:s ...
 - MySQL参数
			
1. sql_safe_updates 官方解释如下: , MySQL aborts . 默认为0,如果设置为1,则delete操作和update操作必须带有where子句,且where子句中的列必须 ...
 - 小菜学习Winform(六)剪切板和拖放复制
			
前言 在做winform项目的时候有时候会用到复制粘贴,在.net中提供了Clipboard类来操作剪切板,我们来看下. clipbrd.exe clipbrd是系统剪切板程序,但是在vista及以上 ...
 - 奇葩bug笔记
			
一.Filemanager-master (jsp) 1.上传的html文件需要保证带外链的<script src="..."></script>标签在&l ...
 - 【JUC】JDK1.8源码分析之ConcurrentSkipListSet(八)
			
一.前言 分析完了CopyOnWriteArraySet后,继续分析Set集合在JUC框架下的另一个集合,ConcurrentSkipListSet,ConcurrentSkipListSet一个基于 ...
 - 深入理解javascript原型和闭包系列
			
从下面目录中可以看到,本系列有16篇文章,外加两篇后补的,一共18篇文章.写了半个月,从9月17号开始写的.每篇文章更新时,读者的反馈还是可以的,虽然不至于上头条,但是也算是中规中矩,有看的人,也有评 ...