没有合适的资源?快使用搜索试试~ 我知道了~
0AASRI Procedia 4(2013)132-13702212-6716 © 2013年作者。由ElsevierB.V.出版。由美国应用科学研究学会负责选择和/或同行评审。doi: 10.1016/j.aasri.2013.10.0210ScienceDirect02013年智能系统和控制AASRI会议0神经网络与贝叶斯网络在检测Java Card中的应用0变异体0Ilhame El Farissi a,*,Mostafa Azizi a,Jean-Louis Lanet b,Mimoun Moussaoui a0a MATSI LAB,ESTO,Mohammed I大学,Oujda,摩洛哥0b SSD Team Xlim,利摩日大学,利摩日,法国0摘要0作为通信系统、身份验证和支付等不同领域的重要组成部分,多个攻击者通过欺骗性地操纵智能卡以访问其提供的服务。智能卡经常成为软件和硬件攻击的目标。最近的攻击基于故障注入,这会修改应用程序的行为。通过干扰JavaCard的操作,故障攻击修改了用于执行的已编译代码,以满足攻击者的需求而不是初始程序。因此,为了解决这个问题,我们提出了两种基于人工智能(特别是神经网络和贝叶斯网络)的分类和检测方法。然后,我们比较了这两种方法在检测率方面的结果。 © 2013年由ElsevierB.V.出版。由美国应用科学研究学会负责选择和/或同行评审。关键词:智能卡;JavaCard;安全性;神经网络;贝叶斯网络;故障攻击;分类;检测;变异体;01.引言0智能卡是一种安全、高效和经济的嵌入式系统设备,由一个微控制器、存储器模块(RAM、ROM、EEPROM)、串行输入/输出接口和数据总线组成。0微控制器、存储器模块(RAM、ROM、EEPROM)、串行输入/输出接口和数据总线组成的一个安全、高效和经济的嵌入式系统设备。0*通讯作者。电话:+212-671-590-065;传真:+212-536-505472。电子邮件地址:ilhame.elfarissi@gmail.com。0在www.sciencedirect.com上在线提供0© 2013年作者。由Elsevier B.V.出版。由美国应用0根据CC BY-NC-ND许可证开放访问。0根据CC BY-NC-ND许可证开放访问。0133 Ilhame El Farissi等/ AASRI Procedia 4(2013)132-1370芯片操作系统存储在ROM中,应用程序存储在EEPROM中。智能卡也可以被视为一种智能数据载体,可以以安全的方式存储数据,并确保数据在交易过程中的完整性、保密性和可用性。因此,数据安全是智能卡开发中的重要问题,恶意攻击对集成软件的威胁水平是高度关注的。有多种方法用于返回秘密信息,故障注入似乎是最有效和有效的方法之一。为了预防和检测此类攻击,智能卡制造商尝试在其操作系统中实现新的选项。软件故障注入是一种将错误引入程序的技术,此技术允许攻击者分析系统行为,研究其内部状态,并修改应用程序执行以推断秘密信息。[1]证明了当智能卡受到激光攻击时,可以预测应用程序生成敌对代码的能力。不幸的是,该工具基于蛮力攻击,因此只能用作预防工具。为了在运行时检测此类攻击,文献中描述了几种防范措施,但通常需要额外的信息。对于当前平台,没有适应不同攻击效果的解决方案。因此,我们在此提出了基于神经网络和贝叶斯网络的新方案,以在运行时检测应用程序是否发生了变异。02.基于Java的智能卡0JavaCard是一种智能卡平台。它基于Java,但在三个方面具有自己的规范限制:语言限制、运行时环境和应用生命周期。此外,由于智能卡资源有限,Java Card虚拟机(JCVM)被分为两个部分:0Off-card:将Java Card程序转换为CAP文件并验证其有效性的字节码验证器(调用转换器)在卡外执行。0On-card:该部分包含解释器、API和JavaCard运行时环境(JCRE)。智能卡现今在全球范围内每天都在使用,无论何处需要数字安全。智能卡在计算能力和存储器大小方面有很高的限制。基于Java技术,JavaCard架构由不同的层组成,位于智能卡硬件和操作系统之上。最重要的组件是JavaCard运行时环境,其中包括JavaCard虚拟机(JCVM)和API。JCVM可以被视为一个具有自己指令集和内部机制的抽象处理器。JCVM提供了多个机制来强化系统的安全性,基于从标准Java规范继承的安全机制以及一些特定于该平台的机制。作为专门用于安全性的组件,防火墙通过安全上下文的概念来实施应用程序隔离。由于内存有限,用于安全性的重要组件字节码验证器(BCV)必须在主机平台上执行。由于其包含的数据的敏感性和固有的强韧性,智能卡是特定类型的攻击(硬件攻击)的目标。03.故障攻击0故障攻击由Bonech、DeMillo和Lipton[3]开发,旨在扰乱处理器的物理环境以产生错误。最初,故障攻击针对的是RSA和DES等公钥密码算法。通过扰乱芯片的执行环境,将故障注入芯片。0134 Ilhame El Farissi等/ AASRI Procedia 4(2013)132-1370因此,可写内存(代码和变量修改)或芯片寄存器(堆栈指针、程序计数器等)会受到干扰。这些干扰使攻击者能够非法访问系统数据或服务。在文献[4,5,6,7]中,有几种方法可以对智能卡进行故障攻击,但目前激光束攻击是最有效且最难应对的。04.变异应用程序0byte amountDebit = buffer[ISO7816.OFFSET_CDATA]; // 获取借记金额0if ((amountDebit < 0) || (amountDebit > AMOUNT_MAX_TRANSACTION)) // 检查借记金额0ISOException.throwIt(AMOUNT_SW_INVALID_TRANSACTION);0if ((short)(balance - amountDebit) < (short)0) // 检查新余额0ISOException.throwIt(SW_BALANCE_NEGATIVE);0balance = (short) (balance - amountDebit);0} else { ISOException.throwIt(SW_REQUIRED_PIN_VERIFICATION); }0突变生成最初由[9,10]同时使用组合攻击进行定义。在我们的情况下,编译上述程序后,我们获得了必须加载到卡中的.class文件。在正常情况下,执行的字节码必须对应于加载到卡中的代码。但是,上述故障攻击会对其进行修改。这种变化称为突变体。一些现有的突变体允许攻击者在没有所需权限的情况下执行一段代码。例如,debit()函数允许用户在验证了输入的代码PIN之后对卡余额进行充值。此验证由指令‘if(pin.isValidated())执行,其在字节码中对应于指令‘ifeq 91’。可以通过将其替换为指令‘nop’来忽略它。05. 实现05.1. 构建控制流图0为了确保JavaCard的准确运行,并且程序执行所有条件指令(如‘ifeq’),需要创建表示程序在解释期间所采用的所有可能路径的控制流图,其顶点为基本块。入口点不包含作为跳转指令目标的代码的基本块和出口点为指令的基本块为元素。0方法的开始0135 Ilhame El Farissi et al. / AASRI Procedia 4 ( 2013 ) 132 – 1370无条件的分支目标(ret,goto,goto_w,jsr_w,jsr)有条件的分支目标(iflt,ifeq,ifne,ifle,ifge,ifgt,ifnonnull,ifnull,if_icmpne,if_icmpeq,if_icmpgt,if_icmplt,if_icmpge,if_icmple,if_acmpne,if_acmpeq,fcmpl,lcmp,dcmpl,fcmpg,dcmpg)0一个有条件的组合分支目标(lookupswitch,tableswitch)遵循返回指令类型(return,ireturn,dreturn,lreturn,freturn,areturn)。此外,通过添加验证系统来增强[11]生成的控制流图,以验证程序执行是否正常。在实践中,我们谈论的是集成到卡中的智能系统,该系统必须能够区分Java Cardapplet的正常解释和攻击尝试。05.2. 神经网络定义0人工神经网络基于生物神经元的功能。它由多个相互连接的元素组成,以解决分析问题、诊断问题、分类问题等。与生物神经元系统一样,人工神经网络具有学习和响应已学习内容的能力。人工神经网络由三种类型的层组成:输入层、隐藏层和输出层。每个层包含一个或多个神经元。神经元被视为具有阈值的自动机。要被激活,它必须接收到超过阈值的信号。它的输出通过考虑“突触权重”参数计算,并输入到下一层的神经元中。[12]神经网络的优势在于学习、对象识别和更好的解释能力。因此,有理由使用它来检测入侵[13]。因为强大而智能的神经网络不一定很大,所以我们考虑将其实现到智能卡中以检测故障攻击。这也是我们之前使用卡片的物理参数来提供网络输入时所做的。从理论上讲,实现原理是可行的,并且在[14]中设计的系统能够检测到电气属性的任何变化。但实际上,这些参数在攻击者的控制下。因此,需要改变网络的入口点。因此,我们选择了控制流图的顶点的第一个指令编号,而不是电气属性作为网络的输入。对于输出,我们只有一个输出,取决于以下情况:如果是正常情况下的程序执行,则为0;如果是异常情况,即攻击,则为1。05.3. 朴素贝叶斯网络0朴素贝叶斯网络是贝叶斯网络(BN)的最简单形式。它包含一个父节点和多个叶子节点,假设在父节点的上下文中,叶子节点之间存在高度独立性。[15]朴素贝叶斯网络的原理与神经网络不同。事实上,朴素贝叶斯网络基于计算每个输入在其父节点上下文中的条件概率。我们还使用它来检测入侵[16,17],并为贝叶斯网络提供与神经网络相同的数据。在计算与每个输入变量相关的条件概率之后,网络生成类别:0程序正常运行时的C0。126 25 5 106 0 4 7 3 0136 Ilhame El Farissi et al. / AASRI Procedia 4 ( 2013 ) 132 – 1370攻击情况下的C1。05.4. 实验结果0构建神经网络包括两个阶段,学习和验证。在学习过程中,网络计算输出,将其与期望输出进行比较,以调整"权重",使两个输出的差异尽可能小。要测试网络,需要传递新的模式,即新的攻击。如果网络在大多数情况下返回预期值,我们说网络能够检测到攻击。在debit()函数的情况下,网络能够检测到131个无效路径中的126个,并且没有发生误报(在7个有效路径中)。根据贝叶斯网络,首先需要计算并填充条件概率表。然后,我们开发了一个C程序来测试贝叶斯网络的操作。使用与神经网络相同的模式,我们发现贝叶斯网络只能检测到131个攻击中的25个。除了低检测率外,网络还将4个有效路径视为攻击。下表总结了所得到的结果,其中:网络 真阳性 真阴性 假阳性 假阴性0神经网络0贝叶斯网络05.5. 神经网络模拟0根据上述结果,我们选择了神经网络实现。然后,一旦网络验证通过,我们就使用C语言进行了开发,以便将其集成到Java虚拟机中并模拟其操作。一方面,C程序分为两个文件。第一个文件包含了计算输出所需的所有数据,即突触权重。第二个文件处理从虚拟机返回的输入网络,通过使用适当的参数计算输出,使用反向传播方程。另一方面,根据控制流图构造规则,我们修改了我们使用的开源Java虚拟机(Avian[18]),以使集成的神经网络受到课程解释期间执行的块的第一条指令的编号的影响。在类解释结束时,实现在Avian虚拟机中的网络具有计算输出所需的所有必要元素,正常情况下对应于0,96%的异常情况下对应于1。06. 结论0在本文中,我们提出了一种新的方法来检测基于Java的智能卡上的故障攻击。我们提议将神经网络和贝叶斯网络两种不同的技术集成到解释器中进行评估。我们比较了这两种方法,神经网络似乎更适合这种高度受限的设备。我们使用了一个开源的Java虚拟机来实现我们的对策措施。它们的大小都适合智能卡领域,并且与平台兼容。该平台实施了这个对策的平台具有竞争优势。事实上,在没有检测系统的平台上执行的应用程序比具有这个对策的平台更容易受到故障攻击。根据这项研究,我们发现神经网络在智能卡的变异检测方面更适用,但问题是智能卡不支持浮点数,而网络需要这种类型的数字。因此,需要模拟浮点数计算,并注意程序大小和执行时间。0参考文献0实施这个对策的平台具有竞争优势。事实上,在没有检测系统的平台上执行的应用程序比具有这个对策的平台更容易受到故障攻击。根据这项研究,我们发现神经网络在智能卡的变异检测方面更适用,但问题是智能卡不支持浮点数,而网络需要这种类型的数字。因此,需要模拟浮点数计算,并注意程序大小和执行时间。0参考文献0[1] J.-B. Machemie, C. Mazin, J.-L. Lanet, J. Cartigny, SmartCM A Smartcard Fault Injection Simulator,IEEE国际信息取证与安全研讨会(WIFS 2011)第1-6页,巴西伊瓜苏瀑布城,2011年11月29日-12月2日。[2]D.Bonech, R.DeMillo, R.Lipton, New Threat Model Breaks Crypto Codes. Bellcore Press Release,1996年9月25日。[3] Sun Microsystems. Java Card TM 2.2.2虚拟机(JCVM)规范,2006年3月。[4] Sergei P.Skorobogatov and Ross J. Anderson. Optical fault induction attacks, Springer-Verlag,2002年,第2-12页。[5] C. Aumuller, P. Bier, W. Fischer, P. Hofreiter和J.P. Seifert.施加于RSA与CRT上的故障攻击:具体结果和实际对策. 计算机科学讲义,第260-275页,2003年。[6]O.Kmmerling, M.-G. Kuhn, 设计防篡改智能卡处理器的原则,WOST'99USENIX智能卡技术研讨会,第9-20页,1999年。[7] J.J. Quisquater和D. Samyde.用于主动传感器磁分析的涡流技术. Esmart会议记录,第2002卷,2002年。[8] A.A.Sere, J.Iguchi-Cartigny,J-L.Lanet, 自动检测故障攻击和对策, 第4届嵌入式系统安全研讨会论文集,ACM,2009年,第1-7页。[9]G.Barbu, H.Thiebeald和V.Guerin, Java Card 3.0上的攻击: 故障攻击与逻辑攻击的结合,Smartcard研究与先进应用,Card is 2010 LNCS 6035 (2010),第148-163页。[10] E.Vetillard和A.Ferrari,组合攻击与对策, Smartcard研究与先进应用,Card is 2010 LNCS 6035 (2010),第133-147页。[11] G.Bouffard, J.-L. Lanet, J.-B. Machemie, J.-Y. Poichotte和J.-P. Wary,评估将SIM应用程序转化为敌对应用程序的能力,CARDIS 2011, LNCS7079,2011年9月14日-16日,第1-17页。[12] J.P.Rennard, 神经网络,Vuibert出版社,ISBN2711748308,第一版,2006年。[13] R.Beghdad,对神经网络在检测入侵方面的关键研究,计算机安全,第27页,2008年。[14] I.El Farissi, M.Azizi,M.Moussaoui,使用神经网络检测智能卡攻击,2012年多媒体计算与系统国际会议(ICMCS),第949-954页。[15] S.Benferhat,T.Kenaza, 对贝叶斯分类器进行入侵检测的整体评估,第5届贝叶斯网络法语研讨会(JFRB2010),2010年。[16]N.Ben Amor, S.Benferhat, Z.Elouedi, NaïveBayes与决策树在入侵检测系统中的对比,ACM应用计算研讨会,2004年。[17] S.Benferhat, T.Kenaza,A.Mokhtari, 使用朴素贝叶斯网络检测协调攻击,贝叶斯网络法语研讨会(JFRB2008),2008年。[18]http://oss.readytalk.com/avian/index.html
下载后可阅读完整内容,剩余1页未读,立即下载
![.pdf](https://img-home.csdnimg.cn/images/20210720083646.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- BSC绩效考核指标汇总 (2).docx
- BSC资料.pdf
- BSC绩效考核指标汇总 (3).pdf
- C5000W常见问题解决方案.docx
- BSC概念 (2).pdf
- ESP8266智能家居.docx
- ESP8266智能家居.pdf
- BSC概念 HR猫猫.docx
- C5000W常见问题解决方案.pdf
- BSC模板:关键绩效指标示例(财务、客户、内部运营、学习成长四个方面).docx
- BSC概念.docx
- BSC模板:关键绩效指标示例(财务、客户、内部运营、学习成长四个方面).pdf
- BSC概念.pdf
- 各种智能算法的总结汇总.docx
- BSC概念 HR猫猫.pdf
- bsc概念hr猫猫.pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)