今天我们带来最后一个重磅内容,来自NXP首席安全技术专家Markus Hinkelmann 博⼠带来的——《Beyond logical attacks》。
首先什么是逻辑攻击?这很好理解,比如有一台设备,黑客可以通过特定的接口向设备发送任意数据,比如命令、安装程序以及任何支持的功能,在我的定义里这些就是“逻辑”。
beyond logical 的意思就是黑客对这个设备“做了点事”,但是一些与众不同的事。 在这个层面看看我们有什么。
这个图里有我们可以用的不同的技术/设备。 在最左边是最便宜的, 而右边是最贵的同时也往往是最难用的。 从左边开始说,比如拆开设备, 那么你可以逆向或修改这些PCB电路,读取flash等,做一些逆向工作这样你就可以支持下面要进行的“逻辑攻击”。 或者你想阻断什么东西短路什么东西, 你可以用像锡纸这样的工具。如果你想多花点钱, 那么你可以买一些这样的用于侧信道攻击/错误注入的便宜的小平台,或下面这些专业一点更贵一点的设备,你可以做信号的识别/测量,比如 “非常直接的”注入错误信号。 或者比较特别的攻击,用激光错误注入(去影响电子),然后你可以改变寄存器中的内容。如果你有更高端的设备,甚至可以改变整个寄存器。其他的设备用于逆向工程,用显微镜查看芯片等。这块我可以打住了, 我已经介绍了什么是beyond。
所以我想聚焦于与IoT的相关性, 到底什么攻击与IoT相关。 它可以是PCB级别的, 黑掉任何你可以物理接触的东西,我不打算讨论这些。 这里主要让我们关注两个在IoT设备上的侧信道攻击的例子。
第一个是利用RSA算法的弱点进行简单电磁分析, 这里介绍下背景。 电磁分析是一种侧信道攻击手段, 攻击者测量设备运行与计算时产生辐射的电磁能量,你可以测量出1和0在计算时的不同能量,电磁辐射的测量更多是测量偏差, 反应运算中循环、 函数等,所以你可以看到不同的频率体现。所以这很简单,我们所需的所有便是一次加密过程的数据。
我接下来会展示个视频, 获取安卓手机上的RSA私钥,这是个常见的安卓手机,存在有漏洞的实现,据我所知目前市场上在售的一些发行版仍有这些问题。如果这些私钥泄露可以做什么呢, 这些可以拿来做签名, 在通讯建立时也要使用。你可以简单的伪造别人的身份,或者你可以破坏进入某些系统, 或者我们在之前的一个议题中看到的,对OTA做些攻击。这个例子的有趣的在于我们不需要拆开设备。我们只需要一个电磁信号放大器就能够做到,在获取数据之后还要进行一些爆破攻击,去获取剩下需要的信息,要做到这些仅需要1分钟。我们做了一个一分钟的演示视频。
你可以看到这里有一部手机与侧信道攻击设备和一个笔记本,用到的工具都不是很贵。然后你可以看到我们将一个信号探测器放在了手机CPU的位置,然后进行攻击,这里用PicoScope去记录这个设备发出的电磁信号波形,这里正在进行获取RSA私钥的运算,需要花一些时间,然后你可以看到运算结束,RSA的运算被找到了!然后寻找p和q的信息。在爆破剩余需要的信息之前这些数据还不能用。 现在key恢复程序正在运行, (好, 停在这)搞定了。 这里就是RSA私钥, 或者你想看密钥的参数就在这里。那么这期间到底发生了什么?我们可以利用电磁辐射做什么?因为这个攻击设备需要很接近手机,但是攻击者可以从更远的地方攻击同样的漏洞 (如通过网线),但数据会相对不准确。一但接触到信号源, 那么信号的质量就会好很多, 你可以看到后续的爆破攻击只需要几秒。 这是第一个例子。
第二个例子, 让 IoT 设备进行核反应,构成一个ZigBee链式反应。
我们分析了飞利浦的智能灯,你可以看到这里是一种智能灯安装方案, 它连接一些设备后与路由器连接,然后进行一些云通讯。 这些智能灯的问题在于它的AES实现是有漏洞的(我知道有些人知道这个),你可以获取固件更新的key,然后用这个key(如果设计的比较好的话,通过这个key你只能黑掉你当前的这台设备,这就到头了),如果设计的不好的话就产生了其他问题,比如你拿到这个key能黑掉其他设备了。接下来还有更糟糕的, 那就是这个实现, 这些灯中的ZigBee有另外的问题, 他会扫描其他的ZigBee设备, 任何人都可以在远程与他通信。你可以将你自己的代码写入一个智能灯, 用它去黑掉另一个灯去,这个灯自己再黑掉另一个灯,周而复始循环下去。 这样你可以从一个楼的灯到另一个楼的灯, 相当于你跳入了另一个公司, 这确实很恐怖是吧,只是用一个板子(仅仅需要图片里的这个 价值大概$50), 然后你的第一步就达成了, 接下来你就用“逻辑攻击”去攻击剩下的系统。
IoT我想说的另个方面是AI,特指深度学习。AI简化了攻击步骤。 而且AI有潜力减少了不少攻击者需要的专业知识。 意味着攻击可以变得更简单,减少了攻击成本,从另一方面增加了被攻击风险。
这里也许只有2个我想分享的, 2017年有很多网络攻击事件发生,有两件比较有趣的事发生在2017~2018年,我们看到了Rowhammer和Nethammer攻击,内存单元可以被hammer方式攻击,这是物理方面的影响,将bits弹到了其他区域,通过它你可以修改内存,这有点像错误攻击,因为这可以是某种“逻辑攻击”,因为软件存在内存里,但hammer攻击是个个物理攻击,这是个在逻辑和物理之间的灰色区域, 所以没准我需要重新定义我对他们的定义。
还有Nethammer, Nethammer意思是用远程通信有dram操作的速度足够对ram产生hammer效应的通信协议。那么事情就变为“物理攻击不完全依赖本地接触”。 另一个有趣的事就是Spectre和Meltdown,它们非常严重影响所有intel的产品, intel在修复这个问题时也面临很严重的问题。我们看到2周前Meltdown攻击已经来了,并且影响ARM,这意味着将会影响更多的设备。一些美国的大企业,如 google、apple、微软等,他们全部在寻求将这些问题移除的方法,他们一直在想办法判断什么样的访问是可以信赖的。就像我们之前展示的对RSA的攻击,有没有trustzone并不重要,因为有漏洞的代码被同样的处理器执行,意味着同样的模式被生成了。
最后做个简单的总结,我的意见是IoT安全不仅仅是“逻辑”上的保护, (我不会说“逻辑”上的保护不重要, 这不对)。远程和本地物理攻击者往往可以让攻击维度的延伸成为可能, 还记得之前的智能灯的例子么。最后,AI可以增强侧信道和错误注入攻击, 同时减少对专业门槛的依赖。
谢谢你们。
https://mp.weixin.qq.com/s/lNO3epqBnCp8R4nfPA_Qsg