高明的侧信道攻击,其攻击方式时常让防守方摸不着头脑,就好像《名侦探柯南》中描述的各种离奇古怪的案件。
如果你是“柯迷”,想必定会回忆起剧集中几起经典的密室杀人案件,凶手往往不用踏入寝室半步,甚至不用任何凶器就可以至被害者于死地。
《名侦探柯南》198话“诅咒假面的冷笑”
侧信道攻击亦是如此,其方式往往不是植入病毒或者强行攻入系统,而更多的是通过旁敲侧击的方式达成目的,正因如此侧信道攻击种类繁多且神出鬼没。
不久前举办的KCon大会上,来自银基安全的KEVIN2600分享了对侧信道攻击的相关研究成果。
侧信道,黑客的最后一把“门钥匙”
随着厂家安全意识的提高,嵌入式系统(比如POS机、比特币硬件钱包)本身的安全保障已经趋于完善。这种情况下,侧信道将成为黑客攻击的最后一把“门钥匙”。
相比其他攻击手段,侧信道攻击是一种针对软件或硬件设计缺陷剑走偏锋的攻击方式。那么,这种攻击方式究竟有多“偏”呢?这里,KEVIN2600通过几个案例验证了上述观点。
软件方面,基于Web页面,侧信道攻击的典型方式之一就是利用登录页面的账号、密码系统提示。
以WORDPRESS和Drupal为例,前者,用户如果输入了错误的账号,系统会直接提示“用户名不存在”,当输入了正确的账号,系统只会提示密码错误;后者,当用户进入到注册界面,输入的注册账号真实存在时,系统会提示注册账号已存在,否则则会继续填写。
这种机制的存在一方面为用户带来便捷,另一方面也为黑客进行攻击提供了筛选依据。
硬件方面,对于门禁产品展开的侧信道攻击可谓是五花八门,以破解门禁为例,其破解方式可谓是五花八门,当然,它们都会避开与锁的正面冲突。
利用侧信道攻击门禁的关注点并不在如何破解内部结构上。相比之下,关注点可以在固定锁器的螺丝上。无论多安全的锁,一旦固定的螺丝被卸下便等于前功尽弃;类似方式也适用于密码锁,一款名为Kaba Simplex Series 1000的密码锁,黑客可以直接通过一块强力磁铁将锁芯吸开,而不是破解密码。
侧信道案例分析
KEVIN2600称,侧信道攻击的方式大多需要借助硬件设备完成,其主要分为被动式和主动式攻击两种。其中,声波信号采集还原打印机原文、美国NSA电磁波监听、功耗分析破解公交卡密钥系统等均属于前者。
类似的被动式侧信道攻击使用之广泛,往往是源自设备自身无法避免的安全隐患。而对于被动式侧信道攻击的研究,时耗分析是最典型的研究方向。
第一个案例,是关于一个密码比对的函数流程的时耗分析。
对于某些开发人员来说,可能会用到类似单字节比对的函数,这些函数原本只是整个流程中的一部分,但是当它们被用于密码破解时,就会凸显其价值。
假设该密码为6个字节,首先需要对首个字节进行函数比对,如果是错误的那么可以退出流程,如果是正确的则会呼出“i++”继续下一字节比对流程,通过不断重复上述步骤,最终可以得到正确的6位密码。
“这是一款密码锁,当我的第一位输入错误的时候,时耗分析的波形显示硬件分析时长为55.9us,当输入正确的第一位数密码,其时长明变为75.1us,时长的增加意味着第一位密码的比对已经通过,现在进入到了后一位密码的比对步骤...根据这一特性,我们可以还原出本来的密码锁密码。”
虽然原理简单,但这样的破解思路被证明十分实用,DEFCON24上,就有人用这样的方式破解了美国军方枪械上的密码锁。
KEVIN2600称,这种猜侧密码的方式并不是万能钥匙,但是它可以大幅缩减破解密码的时间和范围,进而满足更低成本的破解需求。
第二个案例,是关于IOT设备的攻击实例。
一款WinkHub智能网关,在已经确认厂商打过补丁的情况下,黑客就无法通过网页漏洞对其进行远程命令执行(set_dev_value.php),但仍旧可以通过断绝阻断存储芯片NAND 数据引脚的方式来得到ROOT 权限.
侧信道案例实战
与时耗分析相对应的,是功耗分析。后者是基于微处理器在处理不同命令时的功耗不同进行判断,通过对其功耗数据的含义进行解析,同样可以完成侧信道攻击。
“功耗分析的前提,一定要确保处理器在进行加密运算,否则,我们收到的功耗数据是没有任何意义的。因此,功耗分析的要求在于对目标设备的处理器算法了如指掌。”
这里,KEVIN2600 推荐 ChipWhisperer 作为学习 SCA 的工具. 以下是 ChipWhisperer 的一些亮点.
·Colin O’Flynn设计制作,学习SCA功耗分析和毛刺注入神器
·基于Python跨平台开源软硬件项目(Windows;Linux;MacOS)
·可用于时序或电压毛刺注入攻击侧试,产生<2ns的脉冲信号
·通过DPA差分功耗分析获取诸如AES;3DES等加密密钥
第一个实战案例,是关于电磁信号的泄漏分析AES密钥。
对于银行POS这类产品而言,其安全措施通常会在监测到设备被外接设备或者拆解的时候清除全部密钥数据。这种情况下,通过电磁波泄露不需要拆解设备,同样可以获得密钥。
电磁波可通过H探头和软件无线电设备远程获取,当芯片01转换产生电磁波从空气中泄露,其中就包含了密钥指纹信息。研究表明,Tel Aviv大学科研人员通过测量分析电磁反射成功获取了GunPG密钥信息。
第二个案例,是通过侧信道电磁波注入EMFI 的方式得到密钥。雷锋网雷锋网雷锋网
这是一种可以避免与目标设备直接接触的侧信道攻击方案。除了电磁波,也可以通过激光、声源等获得密钥。其中,前段时间流行的小黑盒正是经典的电磁波攻击方式。
最后,KEVIN2600总结道,即使再完美的设备也会有其安全隐患存在,以侧信道攻击手法为例,就可以清楚认识到绝对的安全是不存在的。