您现在的位置: 主页 > QQ黑客资讯 > 漏洞中心 > 文章内容

从旁路攻击看2G到4G时代的手机安全

作者: QQ黑客 来源:未知 时间: 2015-10-10 阅读:

二十年前,人们的生活节奏远没有那么紧凑;十年前,手机只是扮演着通信工具的角色;五年前,我们不会那么依赖移动支付。而时至今日,我们的生活从通信到娱乐再到消费,越来越多地搬家到了移动终端上来,有人说这是互联网时代飞速发展所带来的福利,许多曾经的梦想变成了现实,但也有人说生活变得被移动终端绑架,曾经的很多场景如今都汇集到这样小小的一个手机上来。无论你持哪一种观点,都无法避免越来越多地使用手机,也就必须接触到一个极其重要的问题——安全。当你用手机和亲密的人聊天通信时,需要保护隐私;当你用手机和生意场上的合作伙伴洽谈业务往来时,需要保护商业机密;当你使用移动支付app付款转账时,需要保证这个账户的安全;当你通过手机远程操控智能家电或其它智能硬件时,绝不想它们为他人操控。试想一下,一旦手机被做了手脚,以上的一切都可能随时发生,你似乎就成了牵线木偶,一切都尽在他人掌握,这着实令人毛骨悚然。在app数量井喷,创客人数飞速膨胀的今日,很多浮躁的头脑只想着创业成功、财务自由、提前退休等,这一切也在无意间不断吹大一个泡沫,而能静下心来呵护和维护它健康发展的只有“安全”。整个移动互联行业的载体就是手机,因此我们需要付出更多的心力来不断研究和提升其安全性。本文中我将从旁路攻击的角度带大家看看4G时代手机所面临的安全处境何其严峻。

从2G手机谈起

手机时代中,如今2G手机已渐渐脱轨,它的安全性更是提前脱轨了。鉴权算法Comp128自从公之于众以来已经被多种攻击方式破解,2G sim卡的复制成本也是低廉到令人发指,伪基站的问题从来就没能找到有效的解决办法,更别说很多Geek自己玩过的osmocommBB + wireShark。可以说这种种的安全漏洞已经是公开的秘密,那如此千疮百孔的2G手机为什么支撑了那么久?一方面是当时3G标准的研究、升级和推进需要时间,另一方面是因为当时不用考虑支撑那么多的应用场景。就如同一间茅草屋,就算贼进的来,能拿走的东西又能有多少,也就是这种心态致使对2G手机安全性的维护勉强算是亡羊补牢。

从2G到3G、4G时代

这几年来,3G和4G制式是如何伴随着手机的革命应运而生就不再过多赘述了,如今手机上网速度带来的快感远非2G手机可以相提并论的了,但是享受速度的同时,我们也该放眼于它背后迅速堆积起来的安全隐患。无论是软件、硬件还是网络,都有可能变成攻击者的切入点。所以移动端的安全问题很难在这里面面俱到地给大家展开,着重就一个角度带大家来一窥手机安全的问题。在不久前的乌云2015白帽子大会上,我已经和大家分享了一些USIM卡一旦被复制可能导致的后果,那么究竟该怎么看待这个问题,又能够做什么来保护自己呢?要弄清这些,先给大家讲解一下攻击者的一把利刃——旁路攻击。

旁路攻击手机流派

在过去的十几年间,旁路攻击的分析和防御方法都在不断地更迭和发展。一方面,应用最广泛的一阶功耗分析和高阶功耗分析被用于分析各种对称密码算法如DES、3DES、AES-128以及非对称密码算法RSA和ECC,这也促使学术界基于masking和hiding这两种原理研究出了层出不穷防御方法。另一方面,随着旁路攻击的深入发展,大家的目光已经不仅局限于其传统形式,该领域的发展也逐渐细分。首先,对于越来越广的应用场合,密码设备的需求逐渐趋于轻量级,所以对于高速、低功耗的密码算法的需求不断膨胀,这也使得像LED、Piccolo等轻量级的对称加密算法结构被提出;其次,面对不同特点和结构的加密算法,能否采用通用的攻击或者防护方法成为一个重点研究方向,当然这也需要相当强的理论和实验能力,近几年也陆续有致力于generic attack和generic countermeasure的优秀论文发表。而模板攻击也因其独特的魅力迅速流行,在传统DPA和CPA的年代,很难想象只需要1条或若干条功耗曲线就能够得到正确密钥,而机器学习就能办到。除了算法设计、攻击方法、防御手段的升级,更有对于硬件本身进行研究的令人兴奋的研究成果,不可克隆模块PUF的提出,就是想从源头上解决旁路攻击的问题,此外也有学者尝试从硬件存储设备直接读出存储信息。总的来说,关于旁路攻击和密码安全,如今学术界的各种成果如雨后春笋,也似乎预示着这一领域的发展进入了最好的新时代。

旁路攻击解析

旁路攻击的原理并不难理解,当一个硬件设备诸如FPGA、智能卡、USB KEY在工作的时候,它们难以避免地会产生功耗、热量、电磁辐射、工作时间等等物理信息,这些看似最普通最自然的信息是否也蕴含着一些秘密呢?答案是肯定的。

 

 

 

 

 

 

我们可以想象一下,当一个密码设备它进行加密运算时,在分别处理一个移位操作、一个加法操作、一次矩阵乘操作时,不仅所消耗的时间是逐个变长的,所产生的功耗也能够很自然地反映出这些操作复杂度上的不同。除此之外,当一个存储单元中存放着数据1,使它分别乘以0和1再存回,所产生的功耗显然是乘以1的情况下较小,因为存储单元没有发生翻转。

 

 

 

 

 

 

简单举个例子,图2是一段RSA算法的功耗曲线,它包含了两次模幂运算的过程,但是我们可以注意到这两次模幂运算的长度不一。这是因为在RSA的模幂实现方案中,会对密钥位进行判断,当该比特位为1时将会多出一步A=A*m mod n的操作。可以看到图中右侧的运算比左侧的运算长出了不少,通过这一区别就能推断右侧的运算中该密钥位为1。

我们不难发现,通过功耗和时间信息我们就能初步区分不同的操作和处理的数据。这也就是旁路攻击的根本,它立足于加密设备进行计算时所释放的物理信息与所进行的操作和所操作的数据间的相关性。而这一特点就使得其实无所谓是什么硬件设备,无所谓是什么加密算法,旁路功耗分析都能够举一反三、触类旁通。

对于USIM卡的攻击

了解了旁路攻击的特点之后,就可以讨论它对USIM卡的威胁了。我们都知道每张USIM卡都拥有自己的“身份证号”,当它要申请试用运营商网络时,必须要经过鉴权。3G和4G的鉴权流程差别不大,基本采用了相同的原则,并且注意弥补了2G时代的单向鉴权的弱点,采用了双向鉴权,并且在鉴权过程中采用的核心鉴权算法也更为安全。图3是3G的鉴权流程的示意图。

 

 

 

 

 

 

显而易见,3G和4G确有了很明显的改善,安全性显著提高,但是我们不禁要问,这样的改善是不是足以让人放心呢。至少我的研究表明,离这一目标还有不少路要走。根据上文中介绍的旁路功耗分析原理,我们知道要开展旁路功耗分析首先得拥有功耗曲线,这并不难实现,只要能够短暂地接触一张USIM卡,实现对其鉴权算法的功耗采集就不是问题。以智能卡为例,一个旁路功耗分析的采集和分析平台就如图4所示,由示波器、计算机、读卡器相互连接组成。

 

 

 

 

 

 

使用上述平台,我们采集得到一段USIM卡的鉴权算法的功耗曲线,如图5所示。可以从其外型上大致看出极端比较规整的算法。在制定攻击策略和实施攻击前需要对于目标算法有一定的研究,也需要根据经验对目标设备的功耗范围有初步的判断。

 

 

 

 

 

 

实质上,对于任何一种加密算法的功耗分析的原理是别无二致的。这里以USIM卡举例,我们给予它一组明文用于加密,也就是说明文是已知的。然后可以猜测秘钥的某一字节,根据这一猜测,将明文与其进行运算,就能得到加密过程中的某一个中间值v为0或1。根据这个v的值就可以将多次加密分为两组,再将这两组的功耗曲线分别计算出平均曲线。那么,细想一下,这两条平均曲线的最大差异会是在哪里?没错,就应当是在处理v值的那一个时间点,当然前提是分组是正确无误的,而这又取决于我们对秘钥这一字节的猜测是正确的。于是将这一切串在一起,就能够得到一个开展旁路功耗分析的策略了。正是基于这种原理,我们对于所采集的功耗曲线进行攻击,某一个字节的效果如图6所示,可以看到结果是非常清晰和明显的。

 

 

 

 

 

 

当然,在上述原理之外存在着各种各样的难点。包括曲线的采样频率的选择,处理好曲线质量、采集速度、占据空间之间的关系,同样的权衡工作也会发生在低通滤波和重采样的阶段。而上面提到的平均曲线之差会在处理v的时刻有明显尖峰,而这又有一个隐性的前提,这两条曲线在我们所关心的时刻附近应当是对齐的,否则就会发生如图7所示的结果,根本无法进行有效的攻击。

 

 

 

 

 

 

深思与展望

以上有原理性的东西,也有实际的攻击效果图,总的来说,是想让大家了解到何为旁路功耗分析,让大家清楚每个人的USIM卡在这种攻击面前是脆弱的。之前提到了如今这个时代所面临的手机安全问题,而一旦USIM卡被攻破,攻击者就可以迅速且悄无声息地实现了USIM卡的复制,那么个人隐私、经济利益等方面的保障都土崩瓦解。可能一夜之间,你的支付宝里能转的钱都已经被转走,其它有价值的app密码也都被重置,好友们可能收到了来自于你号码发送的带有木马植入链接的短信,而他们因为看到发件人是熟人就降低了戒心,这一切的发生你却无能为力。

USIM卡安全问题的重要性绝不是耸人听闻,我们所做的研究正是为了敲响警钟,促使运营商和相关部门重视这一问题的存在。由于旁路攻击的专业性,之前对此毫无了解的运营商可能很难迅速找到应对措施,从我的角度来看,无论对于短期解决USIM卡的安全性问题还是中长期维护其安全级别,政府有必要设立USIM卡的抗旁路功耗分析的安全级别标准,而运营商和相关厂商也有必要设立专门的部门或是和有经验的企业或高校开展长期合作,致力于提高并且与时俱进地保持USIM卡在面对旁路攻击时的可靠性。

当这个行业不只是关注某个新的项目拿到第几轮风投,某个app下载量有没有上排行榜,而是开始更尊重安全环境的提供者和维护者,那移动互联网行业也一定能更健康更踏实地发展。