[发明专利]一种Java卡防火墙漏洞的检测方法和装置在审
申请号: | 201510686816.9 | 申请日: | 2015-10-22 |
公开(公告)号: | CN105282156A | 公开(公告)日: | 2016-01-27 |
发明(设计)人: | 熊熙;吴震;王敏;饶金涛;杜之波;田衡 | 申请(专利权)人: | 成都芯安尤里卡信息科技有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 610041 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 java 防火墙 漏洞 检测 方法 装置 | ||
技术领域
本发明涉及智能卡领域,尤其涉及智能卡领域中的一种Java卡防火墙漏洞的检测方法和装置。
背景技术
Java智能卡以其多应用的支持、良好的安全特性、面向对象的编程环境、应用程序动态下载等众多优点成为网络时代的主流应用,同时也成为一大热点。它不仅深化了Java的应用层次,同时也克服了传统智能卡存在的一些缺点,制定了一个安全多功能的平台。
Java卡中数据保密的重要性毋庸置疑。从现实生活中所用的银行卡、社会保障卡等等可以看出数据保密的重要性。但是Java卡平台是一个多应用的环境,多个不同的Applet能够共存在一张单独的卡上,所以为了保证一个Java卡应用中的账户密码等敏感信息不被其他应用随意访问,需要在应用之间设置应用防火墙来隔离非法访问。
针对Java卡的一些专用攻击技术在不断发展,Java卡也随之呈现出了安全漏洞,从而导致整个Java卡系统安全性降低。因此,对Java卡的安全性检测也就刻不容缓。而防火墙漏洞就是Java卡的一种常见漏洞。攻击者利用此漏洞跨防火墙非法读取卡上的数据,引起卡上私密数据的泄露。目前主要是通过一系列规范来避免Java卡防火墙漏洞,然而对于Java卡上可能出现的防火墙漏洞,还缺乏行之有效的检测手段。
因此,如何改善现阶段缺乏的有效检测java卡防火墙漏洞的手段的现状,以防范Java卡上应用程序利用防火墙漏洞访问其它应用程序或内核对象的数据可能带来的安全隐患,已成为了人们必须亟待解决的问题。
发明内容
本发明的目的在于解决上述技术问题,提供一种有效检测Java卡防火墙漏洞的方法和装置。
为了实现上述目的,本发明提供了一种检测Java卡防火墙漏洞的方法,其特征在于包括以下步骤:
通过反汇编的方式,修改Java卡的结构或运行流程,使卡上任意内存都可以尝试被访问;
当发现可以访问Java卡中的非法数据的话,则判定当前卡存在防火墙漏洞;
针对卡上某对象ID,若发现防火墙漏洞,则继续查找卡上可以非法访问数据的范围,以确定漏洞大小。
本发明还提供了一种检测Java卡防火墙漏洞的装置,所述装置包括:
卡上模块,通过反汇编的方式修改结构或运行流程后,以尝试访问卡上任意内存;
读卡器模块,用于发送请求,使卡上模块可以尝试访问卡上任意内存区域,并根据卡上模块返回的响应判断是否存在防火墙漏洞,并且针对卡上某对象ID,查找卡上可以非法访问数据的范围,以确定漏洞大小。
根据本发明的Java卡防火墙漏洞的检测方法和装置,能够解决无法有效检测Java卡上是否存在防火墙漏洞的问题,避免Java卡上应用程序利用防火墙漏洞访问其它应用程序或内核对象的数据所带来的安全隐患。
结合附图阅读本发明实施方式的详细描述后,本发明的其他特点和优点将变得更加清楚。
附图说明
图1为本发明提供的漏洞检测方法的较佳实施例的卡端执行流程示意图。
图2为本发明提供的漏洞检测方法的较佳实施例的读卡器端执行流程示意图。
图3为本发明提供的漏洞检测装置的结构示意图。
图4为本发明提供的漏洞检测装置的较佳实施例的卡端模块生成示意图。
具体实施方式
下面结合附图详细描述本发明的具体实施方式。
图1是本发明提供的漏洞检测方法的较佳实施例的卡端执行流程示意图。如图1所示,在步骤S101中,Java卡接收读卡器发来的请求,读取其中的对象ID(short类型)。
在步骤S102中,初始化一个byte类型的数组。
在步骤S103中,判断数组对象ID是否表示合法对象的ID。如果步骤S103的判断结果是“Y”,则处理过程执行步骤S104;否则,执行步骤S105。
在步骤S104中,向读卡器返回读取非法数据失败的响应。
在步骤S105中,从请求中读取数据长度L。
在步骤S106中,尝试从数组对象中读取长度为L的数据。若读出数据,则执行步骤S107;否则执行步骤S104。
最后,向读卡器返回数组对象中长度为L的数据。
图2是本发明提供的漏洞检测方法的较佳实施例的读卡器端执行流程示意图。如图2所示,在步骤S201中,将当前的对象ID设置为起始的对象ID,读数据的长度置为1byte。
在步骤S202中,读卡器将当前的对象ID和当前的读数据长度置于请求的数据域中,并发送该请求至Java卡。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都芯安尤里卡信息科技有限公司,未经成都芯安尤里卡信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510686816.9/2.html,转载请声明来源钻瓜专利网。