深入剖析Java卡与NFC移动优惠券协议的安全威胁及应对策略
一、Java卡中的下溢攻击
在Java卡的应用环境中,攻击者可以通过针对敏感应用的代码进行修改来达成攻击目的。例如,攻击者能够直接在内存中将敏感检查替换为无操作指令(NOP),以此规避安全或错误检测。此外,若对象表示未按对象进行多样化处理,攻击者还能将敏感应用的加密个人识别码(PIN)表示替换为自己的加密PIN表示,从而修改内存中所有者PIN对象的代码。
(一)字节码验证与绕过方法
脱卡验证器能够检测到经典的下溢攻击,但攻击者有多种方法可以绕过这种验证:
1. 滥用可共享接口机制 :可共享接口机制用于在不同上下文的应用程序之间共享服务。接口定义了所有要共享的方法,服务器实现这些方法并构建可共享接口对象。客户端通过 getAppletShareableInterfaceObject(AID serverAID, byte parameter) 方法获取可共享接口对象来使用这些方法。攻击者可以利用不同接口定义之间的差异,制造类型混淆攻击。例如,客户端使用接口 I1 生成,其中函数 F 以字节数组为参数;服务器使用接口 I2 生成,函数 F 以短数组为参数。在应用验证和安装过程中,由于验证时间不同,不会检测到错误,但在客户端小程序执行时,攻击者可以利用这种类型混淆进行下溢攻击。
- 接口方法定义 :
- 客户端(接口 I1
Java卡与NFC安全威胁解析
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



