随着网络安全防护技术的发展和实际部署的各种安全机制的逐步完善,以前通过网络连接进行的攻击负载的传播方式受到了很大限制,实现越来越困难,很容易被入侵检测系统等检测到。另外,当攻击者的攻击目标部署在一个相对封闭的内部网络环境时,例如工控系统、监控系统等,如何将攻击负载传输到目标所在的内网中就成为攻击者要解决的一个非常基础和关键的问题。
针对上述问题,随着USB设备的普遍运用,攻击者开始将目光转移到USB设备上,尤其是针对使用USB协议的移动存储设备,例如U盘、移动硬盘等,为了理清目前USB设备安全研究领域存在的问题和应对方式,本文整理了目前常见的USB攻击方式,并针对目前USB攻击手段给出一些防护建议,帮助企业减少USB攻击风险。
根据USB威胁研究报告,目前已知的USB威胁事件中,其中有11%是专门针对工业系统设计的,并且检测到的威胁事件中有59%可能对工业系统造成严重破坏。
震网事件就是最典型的一种USB威胁,其通过将带有Stuxnet的U盘插入ICS计算机,传染给控制系统网络西门子控制系统软件“WinCC”,后利用其漏洞,替换原有S7otbxdx.dll文件,借助WinCC软件,向西门子控制器PLC注入恶意控制程序DB890,WinCC通过PLC向离心机发送超速指令并向HMI发送的“正常”数据,最终摧毁了伊朗浓缩铀工厂五分之一的离心机。根据赛门铁克在2010年7月至10月监测的攻击数据,全球155个国家、超过20万台计算机被感染,其中约60%的受害主机位于伊朗境内。
另一种同样出名的USB威胁事件,是在2014年曝光的“棱镜门”事件中美国国家安全局研发的一种间谍工具“水腹蛇1号”,这是一种植入在USB接口的微型间谍设备。该设备连接到目标电脑后在攻击者的控制下植入恶意程序,同时通过无线芯片向外发送数据,这样即使计算机与互联网物理隔离,也可以通过这种方式获得敏感数据。这种隐蔽获取数据的方式是一款梦寐以求的中间人攻击工具,而由于它的高端精密性,“水腹蛇1号”在网络黑市叫卖到100万美元50条,折合单价2万美元每条。
USB接口是主机重要的外设接口,对应的USB设备种类也是多种多样,其中,USB存储设备是最常使用的USB设备。通过上面的USB威胁事件可以发现,USB设备是相关威胁事件的关键因素,攻击者可以利用USB设备进行传播恶意代码、隐蔽窃取信息、物理破坏设备等。USB设备由控制器、存储器及相关外设组成,攻击者可以采用技术手段对USB设备控制器进行改造,达到隐蔽攻击、破坏等目的,同样可以利用USB存储器作为恶意代码的传播载体。由于USB设备采用主从模式进行交互,所以一部分针对USB设备进行改造的攻击可以通过分析USB枚举过程信息进行发现,下面针对USB存储设备的结构及枚举过程进行详细介绍。
USB设备结构主要是由USB插头、主控芯片、稳压IC(LDO)、晶振、存储芯片、PCB板、帖片电阻、电容、发光二极管(LED)等组成。但一些攻击者为了窃取企业内部资料或者恶意破坏,会对USB设备进行内部改造如:嵌入窃听设备收集敏感信息、内置电压升压芯片破坏企业重要主机等。
USB设备通常有一个独立的主控芯片,以及一个大容量的可重写存储芯片用于存储实际数据。控制芯片是一种嵌入式芯片,它通过从片内Flash存储区加载基本的引导程序来启动,类似于笔记本电脑的硬盘驱动器包含一个隐藏的主引导记录(Master Boot Record)。存储芯片用于存储部分配置信息和数据信息。
USB枚举过程是主机从设备获取描述符信息的过程,通过描述符信息选择加载合适的驱动程序。攻击者可以通过对USB设备微控制器进行重新编程,把原USB设备描述符更改为键盘或者鼠标等来欺骗主机,从而达到攻击者的目的。通过对USB设备枚举过程的深度解析可以发现特种USB设备的接入行为,并对该设备进行拦截或处置。
当USB设备插入主机设备时,USB设备与主机间进行通信。主机为USB设备准备资源,建立主机和设备之间的数据传递机制。在设备枚举阶段,主机获取USB设备的具体配置信息(5大描述符),然后为其分配了资源(设置地址)。在设备枚举过程完成之后,USB设备就能与USB主机之间进行数据交换了。
USB安全风险,是指USB接口、协议、驱动和总线被恶意程序绑定而带来的安全隐患问题,由于USB是个普遍的物理接口,如鼠标、键盘、USB存储设备都使用了USB接口,即插即用的特点很容易被攻击者利用。
最常见的攻击方式是将恶意文件放到U盘、硬盘中,用U盘、硬盘接入主机时,实现传播病毒的目的。而Windows操作系统对CD/DVD多媒体有插入即播放的特点,而恶意程序利用这个特点实现插入即启动的目的,USB内部存储中的恶意程序,具有隐蔽性、针对性强的特点,只在特定环境进行运行,普通杀毒软件和木马查杀工具难以及时发现,对相关重要部门和涉密单位产生巨大的信息安全威胁。
还有一些方式,黑客通过对USB设备固件进行恶意编码,可以将我们常见的U盘伪装成USB键盘、鼠标和网卡。例如伪装成一个USB键盘,通过编码的方式让键盘执行一系列键盘输入操作,从而改变计算机的安全设置。还能伪装成一个USB网卡,截取计算机流量并通过无线网发送数据,泄露企业隐私。
无论是伪装成音频设备、HID 设备还是以太网适配器,出现此类案例的关键在于USB的设计缺陷,即选择了即插即用的方式。每当恶意设备通过USB接口连接到计算机时都会根据协议规范进行枚举,凡是符合 USB 设备类协议规范的设备,都会成功枚举并获得计算机的无条件信任,无论此设备以后出现怎样的数据交互,计算机都默认是该设备在执行职能内的工作,这也就为攻击者提供了窃取隐私的通道。
企业可以使用工业主机卫士减少USB带来的安全风险,工业主机卫士的外设管控模块采用了基于外设白名单防御恶意USB的手段,只有USB设备被管理员添加可信后,才能正常使用,否则无法接入操作系统。
可以通过智能扫描功能得到当前主机上外设设备的信息,并获取设备ID,一个设备对应唯一的设备ID:
再部署对应的外设管控策略,目前支持市面上常见的即插即用设备:U盘、鼠标键盘、网卡、软驱、光驱、红外、蓝牙。将这些设备设置为禁用后,只有在外设白名单内的设备才可以正常使用,负责无法接入到操作系统中。
开启外设防护后,当白名单外的设备试图接入到计算机时,工业卫士会拿到设备ID,并与白名单内的设备ID对比,如果不在白名单内,则拒绝接入,并且记录接入动作时间、设备类型等信息,帮助企业排查隐患:
另外,企业需加强工业企业安全管理,提升企业安全人员意识,拆除非必要USB、无线、串口等接口,禁止企业人员私人携带USB设备进入工业现场。如必须使用USB设备的情况下,要对其进行安全检测,确保其中不存在恶意程序。