一种Java卡防火墙漏洞的检测方法和装置的制造方法

【技术领域】

[0001]本发明涉及智能卡领域,尤其涉及智能卡领域中的一种Java卡防火墙漏洞的检测方法和装置。

【背景技术】

[0002]Java智能卡以其多应用的支持、良好的安全特性、面向对象的编程环境、应用程序动态下载等众多优点成为网络时代的主流应用,同时也成为一大热点。它不仅深化了 Java的应用层次,同时也克服了传统智能卡存在的一些缺点,制定了一个安全多功能的平台。

[0003]Java卡中数据保密的重要性毋庸置疑。从现实生活中所用的银行卡、社会保障卡等等可以看出数据保密的重要性。但是Java卡平台是一个多应用的环境,多个不同的Applet能够共存在一张单独的卡上,所以为了保证一个Java卡应用中的账户密码等敏感信息不被其他应用随意访问,需要在应用之间设置应用防火墙来隔离非法访问。

[0004]针对Java卡的一些专用攻击技术在不断发展,Java卡也随之呈现出了安全漏洞,从而导致整个Java卡系统安全性降低。因此,对Java卡的安全性检测也就刻不容缓。而防火墙漏洞就是Java卡的一种常见漏洞。攻击者利用此漏洞跨防火墙非法读取卡上的数据,引起卡上私密数据的泄露。目前主要是通过一系列规范来避免Java卡防火墙漏洞,然而对于Java卡上可能出现的防火墙漏洞,还缺乏行之有效的检测手段。

[0005]因此,如何改善现阶段缺乏的有效检测java卡防火墙漏洞的手段的现状,以防范Java卡上应用程序利用防火墙漏洞访问其它应用程序或内核对象的数据可能带来的安全隐患,已成为了人们必须亟待解决的问题。

【发明内容】

[0006]本发明的目的在于解决上述技术问题,提供一种有效检测Java卡防火墙漏洞的方法和装置。

[0007]为了实现上述目的,本发明提供了一种检测Java卡防火墙漏洞的方法,其特征在于包括以下步骤:

通过反汇编的方式,修改Java卡的结构或运行流程,使卡上任意内存都可以尝试被访问;

当发现可以访问Java卡中的非法数据的话,则判定当前卡存在防火墙漏洞;

针对卡上某对象ID,若发现防火墙漏洞,则继续查找卡上可以非法访问数据的范围,以确定漏洞大小。

[0008]本发明还提供了一种检测Java卡防火墙漏洞的装置,所述装置包括:

卡上模块,通过反汇编的方式修改结构或运行流程后,以尝试访问卡上任意内存;读卡器模块,用于发送请求,使卡上模块可以尝试访问卡上任意内存区域,并根据卡上模块返回的响应判断是否存在防火墙漏洞,并且针对卡上某对象ID,查找卡上可以非法访问数据的范围,以确定漏洞大小。

[0009]根据本发明的Java卡防火墙漏洞的检测方法和装置,能够解决无法有效检测Java卡上是否存在防火墙漏洞的问题,避免Java卡上应用程序利用防火墙漏洞访问其它应用程序或内核对象的数据所带来的安全隐患。

[0010]结合附图阅读本发明实施方式的详细描述后,本发明的其他特点和优点将变得更加清楚。

【附图说明】

[0011]图1为本发明提供的漏洞检测方法的较佳实施例的卡端执行流程示意图。

[0012]图2为本发明提供的漏洞检测方法的较佳实施例的读卡器端执行流程示意图。

[0013]图3为本发明提供的漏洞检测装置的结构示意图。

[0014]图4为本发明提供的漏洞检测装置的较佳实施例的卡端模块生成示意图。

【具体实施方式】

[0015]下面结合附图详细描述本发明的【具体实施方式】。

[0016]图1是本发明提供的漏洞检测方法的较佳实施例的卡端执行流程示意图。如图1所示,在步骤SlOl中,Java卡接收读卡器发来的请求,读取其中的对象ID (short类型)。

[0017]在步骤S102中,初始化一个byte类型的数组。

[0018]在步骤S103中,判断数组对象ID是否表示合法对象的ID。如果步骤S103的判断结果是“Y”,则处理过程执行步骤S104 ;否则,执行步骤S105。

[0019]在步骤S104中,向读卡器返回读取非法数据失败的响应。

[0020]在步骤S105中,从请求中读取数据长度L。

[0021]在步骤S106中,尝试从数组对象中读取长度为L的数据。若读出数据,则执行步骤S107 ;否则执行步骤S104。

[0022]最后,向读卡器返回数组对象中长度为L的数据。

[0023]图2是本发明提供的漏洞检测方法的较佳实施例的读卡器端执行流程示意图。如图2所示,在步骤S201中,将当前的对象ID设置为起始的对象ID,读数据的长度置为Ibyte0

[0024]在步骤S202中,读卡器将当前的对象ID和当前的读数据长度置于请求的数据域中,并发送该请求至Java卡。

[0025]在步骤S203中,读卡器接收从Java卡返回的响应,并判断是否从Java卡中读取到数据。如果步骤S203的判断结果是“Y”,表示该Java卡存在防火墙漏洞,则处理过程进行到步骤S204 ;否则,进行到步骤S209。

[0026]在步骤S204中,读数据的长度增加lbyte。

[0027]在步骤S205中,读卡器将当前的对象ID和当前的读数据长度置于请求的数据域中,并发送该请求至Java卡。

[0028]在步骤S206中,读卡器接收从Java卡返回的响应,并判断是否从Java卡中读取到数据。如果步骤S206的判断结果是“Y”,则处理过程进行到步骤S207 ;否则,进行到步骤S208o

[0029]在步骤S207中,读数据的长度增加lbyte。

[0030]在步骤S208中,记录该对象ID能读取的最大字节数。

[0031]在步骤S209中,判断对象ID是否读取完。如果步骤S209的判断结果是“N”,则处理过程执行步骤S210 ;否则,执行步骤S211。

[0032]在步骤S210中,对象ID增加I,读数据的长度置为lbyte,接着执行步骤S202。

[0033]在步骤S211中,攻击失败,说明该Java卡不存在防火墙漏洞,则检测结束。

[0034]图3是本发明提供的漏洞检测装置的结构示意图。如图3所示,S301代

java实现安全卡模块,一种Java卡防火墙漏洞的检测方法和装置的制造方法相关推荐

  1. canoe的dela_一种基于CANoe的ECU软件刷新方法及装置的制造方法

    一种基于CANoe的ECU软件刷新方法及装置的制造方法 [技术领域] [0001]本发明涉及汽车电子技术领域,尤其涉及一种基于CANoe的ECU软件刷新方法及 目-ο [背景技术] [0002]随着汽 ...

  2. java调用驱动_Java中间件及其驱动调用、加载方法及转换装置的制造方法

    Java中间件及其驱动调用.加载方法及转换装置的制造方法 [技术领域] [0001]本发明涉及移动通信技术领域,尤其涉及Java中间件及其驱动调用.加载方法及转换装置. [背景技术] [0002]Ja ...

  3. 基于单片机的超市储物柜设计_一种基于at89c51单片机的超市寄存装置的制造方法...

    一种基于at89c51单片机的超市寄存装置的制造方法 [专利摘要]一种基于AT89C51单片机的超市寄存装置,主要包括AT89C51单片机最小系统.按键模块.电源模块.箱柜控制模块.语音提醒模块.管理 ...

  4. 一种基于深度学习的目标检测提取视频图像关键帧的方法

    摘要:针对传统的关键帧提取方法误差率高.实时性差等问题,提出了一种基于深度学习的目标检测提取视频图像关键帧的方法,分类提取列车头部.尾部及车身所在关键帧.在关键帧提取过程中,重点研究了基于SIFT特征 ...

  5. 飞机机电管理计算机故障措施,一种基于故障树的飞机机电系统健康管理装置及管理方法与流程...

    本发明属于航空机电系统健康管理技术,涉及一种基于故障树的飞机机电系统健康管理装置及管理方法. 背景技术: 飞机机电系统包含燃油子系统.环控子系统.液压子系统.供电子系统.起落架子系统等,分布于飞机各个 ...

  6. android stk 卡号切换,采用stk/utk实现手机双卡切换及其它功能的方法和装置的制作方法...

    专利名称:采用stk/utk实现手机双卡切换及其它功能的方法和装置的制作方法 技术领域: 本发明涉及手机双卡,主要是指一种采用STK/UTK技术实现手机待机双卡切换等功能的方法及其装置. 背景技术: ...

  7. 【paper 1】2022 一种用于脑内出血血肿体积检测的鲁棒性深度学习分割方法-英文

    A Robust Deep Learning Segmentation Method for Hematoma Volumetric Detection in Intracerebral Hemorr ...

  8. c语言限速编程,一种基于c语言的列车限速曲线计算方法和装置的制造方法

    一种基于c语言的列车限速曲线计算方法和装置的制造方法 [技术领域] [0001]本发明涉及一种基于C语言的列车限速曲线的计算方法和装置,属于计算机自动化技术领域. [背景技术] [0002]目前现有的 ...

  9. 随机噪声的压制c语言,一种地震数据随机噪声压制方法及装置的制造方法

    一种地震数据随机噪声压制方法及装置的制造方法 [技术领域] [0001] 本发明涉及地震勘探领域,尤其涉及一种地震数据随机噪声压制方法及装置. [背景技术] [0002] 按噪声在地震剖面上出现的特征 ...

最新文章

  1. 维护MMO项目的随想
  2. @excel注解_java bean 一对多,多对一 poi导出excel表格
  3. 权威公布:彻底搞清楚哪些笔记本和台式机主板能够支持42mm SATA M.2 NGFF(2242)接口的固态硬盘!!!...
  4. shell脚本执行php文件_分享两个shell脚本实例--批量生成随机字符文件名和批量改名...
  5. java freememory 单位_Runtime类中的freeMemory,totalMemory,maxMemory区别
  6. QT的系统总结(非常全面)
  7. ssh无秘钥登录报错sign_and_send_pubkey: signing failed: agent refused operation
  8. Java中多态、抽象类和接口
  9. HDU2569 彼岸【打表+记忆化递归】
  10. Servlet的执行原理和生命周期
  11. 直通车推广技巧、店铺人群标签怎么做?猜你喜欢入池检测
  12. 解决win10 1903 系统盘占用100%造成系统假死
  13. 一步一步SharePoint 2007之一:安装SharePoint
  14. RTL设计基础(一)
  15. SDOI 2014 数表 题解
  16. uva10859 Placing Lampposts
  17. js通过localStorage实现一周/一天免登陆
  18. Cannot run program jad 的错误
  19. unity 鼠标按键点击判断函数
  20. LTspice基础教程-003.LTspice工具栏使用介绍

热门文章

  1. 超级批量文件属性修改-最新下载(1.0)
  2. Java程序模仿随机发红包
  3. Java基础(抽象类和接口)
  4. jar指令的简单使用
  5. 陈天桥为什么寻求盛大网络私有化?
  6. HTML name与id的区别
  7. 【硬件相关】LSI MegaRAID卡配置管理
  8. python 彩色图像分离植被和土壤
  9. Android 禁止截屏录屏
  10. 龙芯软件开发(5)--北桥南桥芯片的作用