×

基于堆栈的汇编语言中信息流的指令级安全分析。 (英语) Zbl 1127.68016号

摘要:我们提出了一种在基于堆栈的汇编语言中分析安全信息流的方法,通过输入和输出通道与外部环境进行通信。该方法为每条指令计算每个内存变量和堆栈元素的安全级别。指令级安全分析是流敏感的,因此比其他分析(如标准安全类型)更精确。教学级安全分析在抽象解释框架中规定。我们定义了具体的操作语义,它除了处理执行方面外,还处理程序的信息流。该方法的基础是,每个值都由一个安全级别进行注释,抽象域是通过保持安全级别而忽略实际值从具体域中获得的。操作数堆栈抽象为安全级别的固定长度堆栈。抽象状态是从指令到抽象机器配置的映射,其中的值由安全级别替换。抽象语义由一组操作抽象状态的抽象规则组成。指令级安全类型可以由高效的定点迭代算法执行,类似于字节码验证所使用的算法。

MSC公司:

68甲15 编程语言理论
68N20型 编译与解释理论

软件:

J流量
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] M.阿巴迪。;班纳吉,A。;海因策,N。;Riecke,J.G.,《依赖的核心演算》,(第26届ACM SIGPLAN-SIGACT编程语言程序原理研讨会,1999年1月20日至22日,德克萨斯州圣安东尼奥(1999),ACM出版社:美国纽约州纽约市ACM出版社),147-160
[2] Aho,A.V。;Sethi,R。;Ullman,J.D.,《编译器:原理、技术和工具》(1986),Addison-Wesley出版公司:Addison-Whesley出版公司,马萨诸塞州雷丁
[3] T.Amtoft,S.Bandhakavi,A.Banerjee,面向对象程序中信息流的逻辑,载于:J.Gregory Morrisett,Simon L.Peyton Jones(编辑),第33届ACM SIGPLAN-SIGACT编程语言原理研讨会论文集,POPL 2006,美国南卡罗来纳州查尔斯顿,2006年1月11日至13日,第91-102页,ACM,2006。;T.Amtoft,S.Bandhakavi,A.Banerjee,面向对象程序中信息流的逻辑,载于:J.Gregory Morrisett,Simon L.Peyton Jones(编辑),第33届ACM SIGPLAN-SIGACT编程语言原理研讨会论文集,POPL 2006,美国南卡罗来纳州查尔斯顿,2006年1月11日至13日,第91-102页,ACM,2006·Zbl 1369.68127号
[4] 安德鲁斯·G·R。;Reitman,R.P.,《程序中信息流的公理方法》,ACM Trans。程序。语言系统。,2, 1, 56-76 (1980) ·Zbl 0468.68034号
[5] Avvenuti,M。;伯纳德斯基,C。;De Francesco,N.,安全信息流的Java字节码验证,ACM SIGPLAN Notices,38,12,20-27(2003)
[6] Banátre,J.-P。;布莱斯,C。;Le Métayer,D.,《连续程序中信息流的编译时检测》,(第三届欧洲计算机安全研究研讨会论文集。第三届计算机安全研究欧洲研讨会论文集,LNCS,第875卷(1994),Springer-Verlag:Springer-Verlag London,UK),55-73·Zbl 1477.68074号
[7] Barbuti,R。;伯纳德斯基,C。;De Francesco,N.,《安全信息流操作语义的抽象解释》,Inform。过程。莱特。,83, 2, 101-108 (2002) ·Zbl 1044.68665号
[8] Barbuti,R。;伯纳德斯基,C。;De Francesco,N.,通过抽象解释检查Java字节码的安全性,(SAC’02:2002年ACM应用计算研讨会论文集,2002年3月10日至14日,西班牙马德里(2002),ACM出版社:美国纽约州纽约市ACM出版社),229-236
[9] Barbuti,R。;伯纳德斯基,C。;De Francesco,N.,通过抽象解释分析汇编代码中的信息流属性,计算。J.,47,1,25-45(2004年)·Zbl 1090.68031号
[10] Barbuti,R。;德弗朗西斯科,N。;Santone,A。;Tesei,L.,时间自动机的不干涉概念,Fundam。Inf.,51,1,1-11(2002)·Zbl 1003.68100号
[11] Barthe,G。;Rezk,T.,类JVM语言的非干涉,(TLDI’05:2005年ACM SIGPLAN语言设计与实现类型国际研讨会论文集(2005),ACM出版社:美国纽约州纽约市ACM出版社),103-112
[12] D.E.Bell,L.J.La Padula,《安全计算机系统:数学基础和模型》,技术报告M74-244,MITRE公司,马萨诸塞州贝德福德,1973年。;D.E.Bell,L.J.La Padula,《安全计算机系统:数学基础和模型》,技术报告M74-244,MITRE公司,马萨诸塞州贝德福德,1973年。
[13] 伯纳德斯基,C。;De Francesco,N.,结合抽象解释和模型检查来分析Java字节码的安全属性, (Cortesi,Agostino,第三次验证、模型检查和抽象解释国际研讨会论文集,VMCAI 2002,威尼斯,2002年1月21日至22日,论文集。第三次验证、模型检查和抽象解释国际研讨会论文集,VMCAI 2002,威尼斯,2002年1月21日至22日,论文集《计算机科学》,第2294卷(2002年),斯普林格·弗拉格:斯普林格尔·弗拉格柏林,德国),1-15
[14] 伯纳德斯基,C。;德弗朗西斯科,N。;Lettieri,G.,一种抽象语义工具,用于基于堆栈的组装程序的安全信息流,微处理器微星。,26, 8, 391-398 (2002)
[15] 伯纳德斯基,C。;德弗朗西斯科,N。;Lettieri,G。;Martini,L.,通过代码转换和标准字节码验证检查java字节码中的安全信息流,Softw。实际。专家。,34, 13, 1225-1255 (2004)
[16] 伯纳德斯基,C。;Lettieri,G。;马提尼酒。;Masci,P.,《使用控制依赖性进行空间软件字节码验证》,计算。J.,49,2,234-248(2006)
[17] P.Bieber,J.Cazin,P.Girard,J.-L.Lanet,V.Wiels,G.Zanon,检查智能卡小程序的安全交互,收录于:ESORICS 2000年会议记录,2000年。;P.Bieber,J.Cazin,P.Girard,J.-L.Lanet,V.Wiels,G.Zanon,《检查智能卡小程序的安全交互》,收录于:ESORICS 2000年会议记录,2000年。
[18] Chen,Z.,《智能卡Java卡技术:架构和程序员指南》(2000),Addison-Wesley Longman Publishing Co.,Inc。
[19] 克拉克,D。;汉金,C。;Hunt,S.,类算法语言的信息流,计算。Lang.(专刊:计算机语言与安全),28,1,3-28(2002)·Zbl 1027.68021号
[20] P.Cousot,R.Coosot,《抽象解释:通过构建或近似不动点对程序进行静态分析的统一格模型》,载于:第四届ACM SIGPLAN-SIGACT编程语言程序原理研讨会,加利福尼亚州洛杉矶,1977年,第238-252页。;P.Cousot,R.Coosot,《抽象解释:通过构建或近似不动点对程序进行静态分析的统一格模型》,载于:第四届ACM SIGPLAN-SIGACT编程语言程序原理研讨会,加利福尼亚州洛杉矶,1977年,第238-252页。
[21] 库索特,P。;库索特,R.,《抽象解释框架》,J.Logic Comp。,2, 511-547 (1992) ·兹比尔0783.68073
[22] 库索特,P。;Cousot,R.,归纳定义、语义和抽象解释,(ACM,第十九届ACM SIGPLAN-SIGACT编程语言原理研讨会会议记录(POPL'92),新墨西哥州阿尔伯克基,1992年1月(1992),ACM出版社:美国纽约州纽约市ACM出版社),83-94
[23] 德弗朗西斯科,N。;Martini,L.,用输入-输出安全注释检查程序中安全信息流的抽象解释,(Dimitrakos,Theo;Martinelli,Fabio;Ryan,Peter Y.A。;Steve Schneider,《安全与信任的正式方面:第三次国际研讨会》,FAST 2005,英国泰恩河畔纽卡斯尔,2005年7月18日至19日,修订论文集。《安全与信任的正式方面:第三次国际研讨会》,FAST 2005,英国泰恩河畔纽卡斯尔,2005年7月18日至19日,修订论文集,计算机科学讲义(2006),Springer-Verlag:德国柏林Springer-Verlag,63-80
[24] 德弗朗西斯科,N。;Santone,A。;Tesei,L.,用于检查并发系统中安全信息流的抽象解释和模型检查,Fundam。Inf.,54,2-3,195-211(2003)·Zbl 1098.68627号
[25] Denning,D.E.,《安全信息流的格模型》,美国通信协会,19,5,236-243(1976)·兹伯利0322.68034
[26] Denning,D.E。;Denning,P.J.,《安全信息流程序认证》,美国通信协会,20,7,504-513(1977)·Zbl 0361.68033号
[27] Genaim,S。;Spoto,F.,Java字节码的信息流分析,(Cousot,R.,《第六届验证、模型检查和抽象解释国际会议论文集》(VMCAI'05),法国巴黎,2005年1月17-19日。第六届验证、模型检查和抽象解释国际会议记录(VMCAI'05),法国巴黎,2005年1月17日至19日,计算机科学讲义,第3385卷(2005),施普林格-弗拉格:德国柏林施普林格),346-362·Zbl 1111.68505号
[28] R.Giacobazzi,I.Mastroeni,《抽象不干涉:通过抽象解释将不干涉参数化》,载于:N.D.Jones,X.Leroy(编辑),《第31届ACM SIGPLAN-SIGACT编程语言原理研讨会论文集》(POPL'04),意大利威尼斯,2004年1月14-16日,ACM,2004年一月,第186-197页。;R.Giacobazzi,I.Mastroeni,《抽象不干涉:通过抽象解释将不干涉参数化》,载于:N.D.Jones,X.Leroy(编辑),《第31届ACM SIGPLAN-SIGACT编程语言原理研讨会论文集》(POPL'04),意大利威尼斯,2004年1月14-16日,ACM,2004年一月,第186-197页·Zbl 1325.68043号
[29] Goguen,J.A。;Meseguer,J.,《安全政策和安全模型》,(IEEE安全与隐私会议(1982),IEEE计算机社会出版社),11-20
[30] 海因策,N。;Riecke,J.G.,《SLam演算:具有保密性和完整性的编程》(第25届ACM SIGPLAN-SIGACT编程语言原理研讨会论文集,1998年1月19日至21日(1998),ACM出版社:美国加利福尼亚州圣地亚哥ACM出版社),365-377
[31] S.Hunt,D.Sands,On flow sensitive security types,in:J.Gregory Morrisett,Simon L.Peyton Jones(编辑),第33届美国计算机学会SIGPLAN-SIGCT编程语言原理研讨会论文集,POPL 2006,美国南卡罗来纳州查尔斯顿,2006年1月11日至13日,美国计算机学会,2006年,第79-90页。;S.Hunt,D.Sands,《关于流敏感安全类型》,载于:J.Gregory Morrisett,Simon L.Peyton Jones(编辑),第33届ACM SIGPLAN-SIGACT编程语言原则研讨会论文集,POPL 2006,美国南卡罗来纳州查尔斯顿,2006年1月11日至13日,ACM,2006年,第79-90页·Zbl 1370.68053号
[32] B.Jacobs,W.Pieters,M.Warnier,《通过动态标签静态检查机密性》,摘自:《安全诉讼理论问题研讨会》,美国加利福尼亚州长滩,2005年1月20日,ACM,2005年。;B.Jacobs,W.Pieters,M.Warnier,《通过动态标签静态检查机密性》,摘自:《安全诉讼理论问题研讨会》,美国加利福尼亚州长滩,2005年1月20日,ACM,2005年。
[33] 琼斯,N.D。;Nielson,F.,《抽象解释:基于语义的程序分析工具》(Abramsky,S.;Gabbay,D.M.;Maibaum,T.S.E.,《计算机科学逻辑手册》,第4卷(1995),牛津大学出版社:牛津大学出版社,牛津),527-636·Zbl 0876.68001号
[34] Joshi,R。;Rustan,K。;Leino,M.,《保护信息流的语义方法》,科学。计算。程序。,37, 1-3, 113-138 (2000) ·Zbl 0954.68052号
[35] G.A.Kildall,《全球程序优化的统一方法》,摘自:《第一届美国计算机学会编程语言原则研讨会论文集》,马萨诸塞州波士顿,1973年10月,第194-206页。;G.A.Kildall,《全球程序优化的统一方法》,载于:《第一届美国计算机学会编程语言原则研讨会论文集》,马萨诸塞州波士顿,1973年10月,第194-206页·Zbl 0309.68020号
[36] N.Kobayashi,K.Shirane,《低级语言的基于类型的信息流分析》,载于《第三届亚洲编程语言与系统研讨会非正式会议记录》(APLAS’02),2002年。;N.Kobayashi,K.Shirane,基于类型的低级语言信息流分析,载于:第三届亚洲编程语言与系统研讨会非正式会议记录(APLAS'02),2002年。
[37] Leroy,X.,java智能卡字节码验证,Softw。Prac.实践。专家。,32, 319-340 (2002) ·Zbl 1009.68891号
[38] Leroy,Xavier,《Java字节码验证:算法和形式化》,J.Automated Reason。,30, 3-4, 235-269 (2003) ·Zbl 1031.68041号
[39] Lindholm,T。;Yellin,F.,《Java虚拟机规范》(1999),Addison-Wesley Longman Publishing Co.,Inc。
[40] 梅德尔,R。;Compagnoni,A.B。;Bonelli,E.,《不干涉的类型汇编语言》,(理论计算机科学,第九届意大利会议,2005年10月12日至14日,意大利锡耶纳,2005年10月12日至14日,理论计算机科学,第九届意大利会议,2005年10月12日至14日,意大利锡耶纳,2005年10月12日至14日,《计算机科学讲义》,第3701卷(2005),施普林格:施普林格柏林,德国),360-374·Zbl 1171.68402号
[41] Myers,A.C.,Jflow:实用最静态信息流控制,(第26届ACM SIGPLAN-SIGACT编程语言程序原理研讨会,1999年1月20日至22日,德克萨斯州圣安东尼奥(1999),ACM出版社:美国纽约州纽约市ACM出版社),228-241
[42] Sabelfeld,A。;Myers,A.C.,《基于语言的信息流安全》,IEEE通讯选定领域杂志,21,1,5-19(2003)
[43] 史密斯,G。;Volpano,D.,《多线程命令式语言中的安全信息流》(第25届ACM SIGPLAN-SIGACT编程语言原理研讨会论文集,1998年1月19日至21日,ACM出版社:美国加利福尼亚州圣地亚哥ACM出版社),1-10
[44] 沃尔帕诺,D。;史密斯,G。;Irvine,C.,《安全流量分析的声音类型系统》,J.Compute。安全。,4, 3, 167-187 (1996)
[45] Zanotti,M.,通过抽象解释进行安全打字,(静态分析,第九届国际研讨会,2002年9月17日至20日,西班牙马德里,2002年,第九次国际研讨会,SAS2002年9月17-20日,计算机科学论文集,讲稿,第2477卷(2002),斯普林格·弗拉格:德国柏林斯普林格尔·弗拉格),360-375·Zbl 1015.68044号
[46] Zdancewic,S。;Myers,A.C.,安全信息流和CPS,(第十届欧洲编程会议论文集。第十届欧洲编程会议论文集,计算机科学讲义,第2028卷(2001年),施普林格出版社:德国柏林施普林格出版社),46-61·Zbl 0977.68021号
[47] S.Zdancewic,A.C.Myers,《通过线性延续的安全信息流》,《高阶和符号计算》,15(2-3),Kluwer学术出版社,2002年,第209-234页。;S.Zdancewic,A.C.Myers,《通过线性延续的安全信息流》,《高阶和符号计算》,15(2-3),Kluwer学术出版社,2002年,第209-234页·Zbl 1030.68015号
此参考列表基于出版商或数字数学图书馆提供的信息。它的项目与zbMATH标识符启发式匹配,并且可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。