您的位置 首页 动态

你认为USB真的安全?大错特错!

你以为USB真的安全?大错特错!-总的说来,我们要谈所谓的USB安全,并不是USB在数据传输过程中存在安全问题,或者某类USB接口规格(如Type-C)某个针脚存在设计缺陷,而是USB接口或总线作为恶

  在正式开谈USB安全之前,仍是按例来共享一个很有意思的事例:2014年年底,来自Reddit的报导,某大公司高管电脑感染了歹意程序。公司的安全研讨人员就查询歹意程序来历,但查看了一切传统或许的感染途经都一无所得。所以他们开端考虑其他突破口,从这位高管的饮食起居下手,辗转反侧地查,终究发现问题竟然出在高管的电子烟身上。

  “这是一款我国造的电子烟,充电设备部分包含了硬件编码的歹意程序。”而这款电子烟是经过USB口充电的,这名高管为了充电,随手会将其刺进到公司的电脑上,所以电脑就感染了歹意程序。

  在这一例中,假如歹意程序做得愈加隐秘,那么整个进犯进程乃至可以到达神不知鬼不觉。这其间的传达中心,便是咱们要谈的“USB安全”。

  

  USB安全?这是什么意思?

  咱们擅自提“USB安全”这个词汇,其实是不精确的。由于USB本质上仅仅一种通用串行总线——总线有许多啊,SATA总线、PCIe总线等等,这有什么样的安全论题可谈呢?或许USB充其量可作为歹意程序传达的途经。咱们说“USB安全”,和说“网线安全”是不是感觉差不多荒唐?

  不过大约是由于USB作为代替古代各种接口的明星级统一规范,并且USB又不像Thunderbolt之类的接口相同需求昂扬的授权费用,今世国际的海量设备选用USB接口也是种必定。风趣的是,咱们经常将选用USB接口的设备称作USB设备(却没有人将PC内置的硬盘称作SATA设备或许PCIe设备),这也是咱们这儿谈USB安全的根底。

  

  由于USB今世的运用如此广泛,所以USB设备也就成为了歹意程序传达的重要载体。但假如只说USB设备作为歹意程序的传达途径,那么任何接口实际上也都存在这种传达的可行性。比方说U盘可以传达病毒,Thunderbolt移动硬盘也行,连光盘都可以。

  总的说来,咱们要谈所谓的USB安全,并不是USB在数据传输进程中存在安全问题,或许某类USB接口规范(如Type-C)某个针脚存在规划缺点,而是USB接口或总线作为歹意程序的一个重要途经,存在安全问题,以及USB协议、驱动存在的安全问题。

  因而针对USB安全,有3点可谈。

  其一,USB是个具有适当遍及性的规范,鼠标、键盘、电子烟、外置声卡都用USB接口,且即插即用。所以在物理接口中,它对歹意程序的传达大约是除了网络适配器接口之外,功率最高的。

  其二,USB协议可被进犯者运用,这也将是本文要谈到的要点。

  其三,第一流的USB 0day缝隙进犯。

  

  autorun.inf年代!U盘病毒?

  在网络还不像现在这么盛行的年代,可移动存储设备是传达病毒的重要办法。便是将歹意程序放在U盘,或许移动硬盘,乃至软盘中——在不同的PC交流数据的进程中,就可以到达传达病毒的作用。再高超的歹意程序也需求人类去翻开才干运转,巧在像Windows这类操作体系,为了加强运用体会,体系中有个针对移动存储介质的AutoPlay/AutoRun主动播映功用。

  本来主动播映的功用是,针对CD/DVD多媒体光盘可完成刺进即播映,而针对Windows装置介质,刺进就能当即弹出装置程序。绝大部分同学应该都知道移动存储介质的根目录下的autorun.inf文件就担任主动播映功用,翻开形如以下款式:

  

  相较光盘,U盘的可读写方便性显着更胜一筹,假如这儿的setup.exe是个病毒,那么设备刺进U盘,体系就会主动运转该病毒。所以病毒经过autorun.inf文件完成U盘刺进即发动歹意程序的功用,真实是太方便了。搭档间交流数据,咱们的电脑都插一遍带毒U盘,天然就都感染上了。现已被感染的设备,再感染刺进设备的新U盘,以此到达分散的意图。

  这是U盘传达歹意程序的惯例办法,也因而有些人将autorun.inf称作“U盘病毒”,尽管这东西其实是很无辜的。实际上,要根绝这种办法的病毒传达也并不困难,一方面是在体系中禁用移动存储介质的主动播映或主动发动功用,另一方面也可以制止程序在U盘中创立autorun.inf文件,到达U盘不会传达病毒的意图。

  可以说,autorun.inf是曩昔在民间最广为流传的U盘病毒传达办法。许多U盘病毒查杀东西都首要针对autorun.inf进行围歼。特别从Windows XP SP2开端,体系针对“USB大容量存储设备”和ZIP驱动器,主动播映功用是默许敞开的。微软目睹局势不妙,从Windows Vista和Windows Server 2008开端,针对刺进U盘的的体系默许行为,已改为问询用户是否履行主动运转指令。现如今autorun.inf的年代简直现已曩昔。

  用U盘来垂钓会不会成功?

  如前文所述,其实上面谈到的U盘安全问题并不是USB设备的专属,任何移动存储设备(乃至连内置硬盘)都存在这样的问题。所以严厉意义上,这种安全问题底子就怪不到USB头上,假如一定要怪,就如前文所述,仅仅由于USB真实是太遍及了。

  

  前不久刚刚完毕的Black Hat USA 2016黑客大会上,谷歌反诈骗研讨团队担任人Elie Bursztein共享了一个议题,名为“Does dropping USB drives really work?”(丢U盘进行社工进犯真的有用吗?)他测验在伊利诺伊大学校园里遍地丢掉297个U盘,看看有没有猎奇心重的人会捡回去看U盘里终究有什么。假如说Bursztein丢的是297块SATA3硬盘(Lol),进犯办法理论上是相同的,但进犯作用有多么糟糕是可想而知的。可见USB的普及性,是咱们在此评论其安全性的根据。

  美国核算机行业协会上一年从前建议过一项查询,成果显现17%的人在捡到USB设备后会直连续电脑——这个数据或许还过于保存。Bursztein的查询成果显着更急进:135个U盘(也便是45%)被人捡走后都连接了电脑,这些人还翻开了其间的文件,其上的“歹意程序”给Bursztein回传了数据。

  好在这还仅仅个试验,并不存在真的“歹意”。Bursztein的研讨团队是这么做的:他们没有用autorun.inf,由于现在的操作体系底子就不吃这套,Mac连主动运转功用都不支撑,他们的办法是:垂钓。

  

  研讨团队给这297个U盘别离贴了些标签,乃至还清晰写上了U盘一切者(以及偿还地址),即使在这种状况下仍是有135个U盘被猎奇心重的同学翻开了。U盘里面的文件利诱性地写上了“期末考试”“秘要”等字样,实际上这些文件都是HTML格局的,文件中有张图片,调用了研讨团队服务器的地址——这样一来研讨团队就知道,有人翻开了文件。

  除此之外,HTML文件翻开后有个问卷查询,问询这些猎奇心宝宝:你们为啥要插人家的U盘呀!确实也有20%的人参加了查询,超2/3的人表明他们其实是想偿还U盘的(Really?),18%的人供认他们是猎奇,14%的人给出了其他解说。

  就这一个比方,咱们就不难看出U盘垂钓的成功率仍是适当高的。假如这些HTML文件都换成歹意程序,或许查问询卷改成问询用户名暗码的“垂钓问卷”,又有多少人会栽在其间呢!美剧《黑客军团(Mr Robot)》中就呈现了用U盘垂钓的桥段,看样子这底子就不只仅个传说!

  

  U盘进犯绝杀:假装成HID设备

  仍是那句话,上面两部分谈的实际上都仍是将USB设备作为传达歹意程序的载体,就好像U盘垂钓,其本质和丢个软盘来垂钓(Lol),以及邮件垂钓是没不同的,原罪不在USB设备身上。假如用这种办法来谈USB安全,实际上还有许多内容可说,比方说USB接口是侵略ATM机的重要途径,还有USB Key这类作为数据解密的安全手法,都不过是将USB作为东西。

  那么有没有USB自身的原罪可谈呢?有!可以从USB的协议下手。USB不止MSC(大容量存储)设备这一种,现在的USB接口支撑这么多功用,协议其实也形形色色,天然不但有相关MSC的协议,什么USB Power Delivery(USB快速充电规范)、USB OTG(SRP、HNP协议,两个外设间传输)等等,还有一个USB HID设备类协议。这儿的USB HID,近两年来现已成为USB设备进犯的绝杀了。

  HID也便是Human Interface Device,是与人交互的设备。其实USB-HID设备现如今现已适当遍及了,比方USB键盘、鼠标、手柄等等。这要怎样运用呢?在2014年的Black Hat黑客大会上,安全研讨人员Karsten Nohl和Jakob Lell宣布了讲演,说到一个有些惊世骇俗意味的USB进犯手法,名叫BadUSB,部分运用了HID的特色。

  

  上面说的好玄乎,所以下面再来举个栗子:键盘都用过吧?有没有试过不必鼠标,朴实用键盘来进行各项体系操作呢?有经历的同学应该知道,其实也不难。那么假如有这么一个U盘,它可以假装成键盘,经过脚本履行一系列键盘敲击操作,是不是感觉就能操控你的体系了?这其实便是BadUSB进犯运用USB协议的示例。被BadUSB感染过的U盘不只可以假装成USB键盘,还能假装成USB网卡——篡改DNS,这样一来一切的DNS查询就能发往进犯者的服务器,可进行重定向进犯。

  一旦这种进犯得以完成,那么进犯办法天然也就变得形形色色了,只需想不到没有做不到,最重要的是跨渠道——由于各体系渠道遵从共同的USB规范。  

  说到底,这种HID模仿进犯不便是当年黑客们很爱的USB橡皮鸭(USB Rubber Ducky)吗?问题是橡皮鸭的内部硬件很彪悍,有个60MHz主频的处理器、microSD扩展插槽。一般U盘何故完成这样的进犯手法?这个问题其实才是Karsten Nohl和Jakob Lell这两位研讨人员的高超之处,也是这些U盘在感染BadUSB之后的可怕之处。

  一般U盘的构成除了咱们需求用到的存储数据的闪存部分,还有主控芯片,或许叫操控芯片。主控芯片一般会指定某些部分的单元用于存储固件驱动(似也有主控芯片自身就包含了固件闪存)。这儿的固件就类似于操作体系,操控软硬件交互。Nohl和Lell花了好几个月的时刻进行逆向工程,他们发现许多U盘都可以对固件部分进行从头编程(特别是PHISON群联的主控芯片)。用户底子就看不到固件部分,要躲藏进犯代码天然就十分简略了。

  

  这便是BadUSB得以成型的中心地点。另一方面今世操作体系为了给USB设备供给最大的兼容性,USB规范是答应一个USB设备具有多种输入输出设备的特征的。这样一来,经过重写U盘固件,就能让它假装成USB键盘、网卡乃至显现器。经过这个假的键盘,输入U盘固件中的歹意指令和代码,还可以合作闪存中的歹意程序进行进犯。

  说白了,BadUSB是令一般U盘都变身为橡皮鸭,乃至进犯性更强。这其间的加强体现在BadUSB的假装和传达性方面。假装!很简略了解,看起来仅仅个一般U盘,并且即使格局化U盘也无法铲除歹意代码,由于歹意代码在固件中;传达!当年Nohl和Lell在研讨报告中有特别说到,BadUSB理论上最大的要挟在于,经过一个BadUSB设备给核算机感染歹意程序之后,核算机也可以将BadUSB传到达其他刺进核算机的U盘:某个U盘在刺进这台核算机之后,核算机上的歹意程序就可以对U盘固件进行从头编写,U盘主人底子就不会察觉到。

  这么一来,全国际的U盘都能经过这种办法被BadUSB感染,全国际没有任何一个U盘是可被信赖的,由于底子就没有反病毒软件可以查到。由此乃至可以引发一个问题:USB设备是否现已到了底子就没有安全性可言的境地?

  

  其实也不尽然,针对U盘固件,引进不行假造加密签名机制便是种计划,根绝歹意程序的从头编写。这就首要取决于闪存主控芯片制造商了。由于有人责备Nohl说,他从前在Black Hat上的讲演其实只针对台湾群联的闪存主控芯片——所以2014年年底,Nohl还抽样了8大首要芯片制造商的主控芯片:群联、Alcor、瑞萨、祥硕(华硕的子公司)、创惟、FTDI、微芯、Cypress。

  成果发现状况异常杂乱。确实有部分USB主控芯片对BadUSB免疫——即无法对固件做从头编程,免疫的芯片占到抽样总数的一半,但每个品牌的体现都是很不安稳的。比方说,选用群联主控芯片的U盘都存在被BadUSB感染的危险,而祥硕则完全对BadUSB免疫,创惟的USB 2.0芯片没问题,但更新的USB 3.0芯片就有问题。其他USB Hub、键盘、摄像头、鼠标等所用的操控芯片状况更是形形色色。并且实际上,即使是一个USB设备制造商的相同类型的产品,他们也会在不同批次中选用不相同的主控芯片,比方金士顿所用的USB操控芯片就有五六种之多。

  难不成今后咱们要用U盘之前,都得先把U盘拆开看看主控芯片的类型不成?

  只需是USB接口就都不安全!

  不知道许多小伙伴有没有留心过,斯诺登当年揭穿NSA的文档中说到了一款偷听设备名为Cottonmouth(如下图所示)。这便是个USB设备,听说可以偷偷地往方针设备中装置歹意程序。尽管文档中并未胪陈其具体机制,但斯诺登说:“假如Nohl和Lell发现的这种东西早就为NSA所用了,我也不会感到古怪。”或许好久之前,NSA就现已在这么干了,那么咱们手里的U盘…。。。

  

  但这还不是悉数。已然USB规范是答应一个USB设备具有多种输入输出设备特征的,那么USB设备的假装实际上也就不只限于仅针对U盘的BadUSB了,各种USB设备都或许呈现假装的状况。从你的USB鼠标、键盘,到摄像头、电子烟、充电宝。

  除了文章最初说到的电子烟,2014年年底央视曝光“改装充电宝盗取隐私”:看起来仅仅个充电宝,但实际上却有存储数据的才干,特别针对其时加密机制还没有现在这么完善的iPhone进行数据盗取。这么想来,咱们周围凡是用USB接口的东西好像都有带毒带马的或许性,这国际真是太严酷了——说不定你现已被NSA确定,你的鼠标就带APT木马…。。。

  

  

  本年的Black Hat USA 2016大会上,共享丢U盘是否有用的Elie Bursztein不只做了丢U盘的试验,并且还教育人们怎么才干做个完整版的、假装起来的U盘,那具体程度,从选购芯片到终究U盘外部资料成型一条龙,所用的都是本钱很低的现成资料(点击这儿)。

  FreeBuf从前也宣布过一篇题为《运用Arduino快速制造Tennsy BadUSB》的文章,用ArduinoLeonardo单片机(似本钱稍高),合作Arduino IDE简略的代码编写,就做成了一个可假装成一般U盘的USB进犯设备。今后要黑谁,送他个U盘或充电宝,比邮件垂钓大约有用多了。

  USB进犯的究极形状

  Bursztein在Black Hat USA 2016大会大将USB进犯分成了3大类,别离是社会工程(丢U盘),HID假装和0-day缝隙运用。前两种咱们都现已在前文做了简略的剖析,终究一种0-day缝隙运用,他只稍作了解说,首要运用的是USB驱动的0-day缝隙,只需核算机插上USB设备,就能马上对核算机进行操控。

  

  在他看来,0-day缝隙乃是USB进犯的究级形状,无论是杂乱程度、可靠性仍是隐蔽性都到达了至高境地(尽管由于针对性强,所以跨渠道特点欠安)。咱们可以罗列的此类事例真实稀有,由于这简直没有被广规模讨论过。之前名噪一时的Stuxnet震网病毒,就运用了USB(但似并非USB驱动的0-day缝隙)传达——Windows体系中,.lnk文件担任烘托U盘中的文件图标,刺进U盘的时分,资源管理器就会扫描其间的.lnk文件来显现各种格局的文件,震网病毒便是将歹意程序刺进到.lnk文件中——整个进程是刺进就履行的,所以其隐蔽性天然可见一斑。

  

  不过这种比方真实稀有,大约需求投入很多时刻和精力,极具针对性地进行进犯研讨。对一般人来说,U盘垂钓和HID假装确实才是最需求防备的。但在咱们谈了这么多今后,是否还要说说USB安全的注意事项呢?

  像Nohl说的,防备USB进犯的最佳计划便是不要用USB设备。为了这个方针,就请封死设备上的一切USB接口吧…。。。说正经的,因噎废食当然欠好,但来路不明的U盘乃至充电宝、电子烟都不要用,马路上呈现U盘,也请疏忽之;自己的USB设备也不要去插不受信赖的主机设备。用户能做的,大约也只需这些了吧。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/dongtai/178917.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部