当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2015-0127351

漏洞标题:【乌云峰会】3G/4G USIM卡密钥和参数破解

相关厂商:移动运营商

漏洞作者: Ruu

提交时间:2015-07-20 11:53

修复时间:2015-10-20 08:42

公开时间:2015-10-20 08:42

漏洞类型:设计不当

危害等级:高

自评Rank:20

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-07-20: 细节已通知厂商并且等待厂商处理中
2015-07-22: 厂商已经确认,细节仅向厂商公开
2015-07-25: 细节向第三方安全合作伙伴开放
2015-09-15: 细节向核心白帽子及相关领域专家公开
2015-09-25: 细节向普通白帽子公开
2015-10-05: 细节向实习白帽子公开
2015-10-20: 细节向公众公开

简要描述:

USIM卡鉴权算法的执行过程会通过功耗泄露出密钥与运营商参数的相关信息,由此我们可以对其进行旁路功耗分析,最终实现对于USIM卡的复制。

详细说明:

1.关于USIM卡
通常SIM(USIM)卡内的数据包括IMSI、ICCID、Ki(2G)、Key(3G)、OPC(3G)、PIN、PUK、OTA、JAVA应用等多种数据。SIM卡内的数据主要分为索引数据、业务数据、鉴权数据和位置数据四类。
索引数据包括ICCID;
业务数据包括IMSI、PIN、PUK、OTA菜单、JAVA应用数据;
鉴权数据包括IMSI、 Ki(2G) Key(3G)、OPC(3G)、A3/A5/A8算法、MILENAGE算法等;
位置数据包括LAI、TMSI、位置状态信息、BCCH信息等;
当我们需要复制一张USIM卡,我们需要获取的首先是能代表它身份的ICCID和IMSI数据,其次最关键也是最大的难点就是获取它的密钥和运营商参数。在掌握了这些数据后我们就可以实现一张复制卡。
2.旁路攻击
传统的数学分析方法并不能解释物理设备的泄露效应,这是由于一个实际应用的密码系统的安全性不仅仅与其密码体系的设计有关,还涉及到程序和硬件的设计等多个方面,如果密码设计者、程序员和硬件设计工程师之间互相不了解不配合,最终系统的安全性往往也是不完善、不可靠的。物理泄露信息被研究者称为旁路信息(Side-Channel leakage),与之对应的攻击方法称为旁路攻击。
旁路攻击是一种破解安全芯片内私有密钥的有效手段,包括时间分析攻击、功耗攻击、电磁辐射分析等。在各种旁路攻击技术手段中,相对而言功耗攻击的威胁最高。功耗攻击按其强度可分为简单功耗攻击(simple power analysis, SPA)、差分功耗攻击(differential power analysis, DPA)以及高阶DPA攻击(high order DPA, HDPA)。旁路攻击由于其具有易于实施和成功率高的特点,一经提出就引起了国内外从事密码和微电子的研究学者的极大关注。在旁路的各种攻击方式中,功耗攻击最具危险性也是最难控制的,因此功耗分析攻击技术倍受密码学研究者的重视,成为密码分析和密码工程领域发展最为迅速的方向之一。
3.3G鉴权算法
首先由网络侧得到USIM卡的鉴权请求和IMSI后,产生鉴权数据AV,其中AV包括的RAND和AUTN为主要的鉴权算法的输入数据。AUTN中包含了SQN、AMF、MAC的信息,ME侧使用网络侧传来的RAND和AUTN数据进行鉴权算法的计算,计算所得的XMAC与MAC进行比较,如果相同并验证SQN范围符合规范则完成了对网络侧的认证。再将由鉴权算法计算所得的RES发回网络侧完成网络侧对USIM卡的认证。至此,完成了3G网络的双向认证。而我们对于USIM卡的分析显然会着力于USIM卡对网络侧的鉴权。
整个鉴权算法主要就是用到了RAND、SQN、AMF所包含的信息,结合USIM卡本身的K与运营商提供的OPC做了f1、f2、f3、f4、f5等多个计算。结合下图则能更好地了解到f1~f5各自的作用。

f12345.jpg


4.利用旁路攻击分析鉴权算法并获取Key和OPc
首先通过Python与卡进行通信,发送不正确的鉴权数据给它,自然返回鉴权失败。

wrong AUTN.jpg


然后利用采集代码对于USIM卡鉴权算法的完整过程进行功耗采集

攻击位置.png


根据经验选择重点分析的位置,采用自行开发的专业软件对其进行能量分析,可以依次获取出密钥和OPc的相关数据。

attack result.png


漏洞证明:

在上述的介绍和攻击过程之后,我们要证明自己是否拥有了这张卡正确的密钥和OPc,我们只要利用它们生成正确的鉴权参数再次发送给原卡,观察鉴权结果即可。

right AUTN.jpg


由图可知,我们的攻击结果正确无误

修复方案:

上述漏洞很难完全修复,只能通过加强程序员和硬件工程师之间的交流,尽可能加强对于旁路功耗分析的防护方可缓解这一问题。建议移动运营商可以和这方面有经验的高校或公司合作。

版权声明:转载请注明来源 Ruu@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2015-07-22 08:41

厂商回复:

CNVD未直接所述情况(所述情况在会议上已公开),已经转由CNCERT同步抄报给中国电信、中国移动、中国联通等三家运营商集团公司,由其后续跟进评估处置。鼓励新类型漏洞,rank 20

最新状态:

暂无