近日,Google宣布为Linux系统开发了一种安全工具,可通过识别可疑的击键速度来阻止恶意U盘设备的USB按键注入攻击(以下简称键入攻击)。U盘键入攻击是目前最难以防范的接触式攻击之一,谷歌的新工具使用启发式测试来一劳永逸地防御该威胁。
键入攻击可以通过运行模拟人类用户输入的代码来运行U盘中的恶意指令。
谷歌安全工程师Sebastian Neuner在谷歌开源博客上介绍,谷歌的工具使用两种启发式变量——KEYSTROKE_WINDOW和ABNORMAL_TYPING,来区分良性和恶意的USB输入信息。
具体来说,KEYSTROKE_WINDOW会监测两次击键之间的时间(是否过于短促)来告警,但这种方法对于超级键盘手,或者手大同时按下两个按键的用户来说,容易产生误报,不过谷歌表示监测的准确性会随着击键次数的增加而提高。
ABNORMAL_TYPING可以用于定义两次击键之间的“间隔时间”或间隔。
启发式方法之所以起作用,是因为除特殊因素外,程序自动击键输入通常比人类输入要快。
Neuner建议用户使用在线程序检测自己的键入速度,同时在“监控”模式下运行Google工具来重新校准默认参数。不过即便如此,用户还是需要几天甚至几周的时间,才能逐渐降低误报率,直到消除。
优点:简单,便宜,可广泛采用
Neuner指出:“U盘键入攻击工具相对便宜并且可以在线上广泛使用。”
渗透测试工具商店Hak5的创始人Darren Kitchen于2008年发明了USB键入攻击技术,并率先开发了模拟攻击的工具:USB Rubber Ducky,该软件在黑客电视连续剧Mr. Robot中出镜。
Hak5 Podcast创始人和主持人Kitchen指出:“键入攻击之所以流行是因为它们很简单,门槛非常低。我开发了事实上的语言Ducky Script,所以任何人都可以在一两分钟之内学习它。”
Neuner认为,键入攻击很难检测和预防,因为它们是通过使用最广泛的计算机外围设备连接器提供的:不起眼的USB。
Kitchen指出:“键入攻击可在一瞬间完成,而受害者却无法看到,USB Rubber Ducky可以每分钟输入1,000多个单词,而且准确性很高,不需要喝咖啡休息时间。”
不是USB安全的万灵药
Neuner解释说:“谷歌发布的安全工具并不是针对基于USB的攻击或按键注入攻击的灵丹妙药,因为如果用户未锁定计算机,可以访问用户机器的攻击者可以做出很多不可描述之事。细粒度的udev规则之类的Linux工具或诸如USBGuard之类的开源项目,可以帮助用户定义策略并在锁定屏幕时阻止特定或所有USB设备,从而可以提供进一步的保护。”
德国渗透测试公司SySS GmbH的研发负责人Matthias Deeg表示,Google工具的有效性还有待观察,因为尚不确定这种启发式防御方法能否通过调整击键参数绕过。
Google USB键入攻击防御工具介绍文档:https://github.com/google/ukip#installation-prerequisites