达姆,麦兹;巴特·雅各布斯;安德烈亚斯·伦德布拉德;弗兰克·皮森斯 多线程Java的安全监视器内联和认证。 (英语) Zbl 1361.68027号 数学。结构。计算。科学。 25,第3期,528-565(2015). 摘要:安全监视器内联是一种用于实施安全策略的技术,通过这种技术,可以以面向方面编程的方式将监视器功能注入到应用程序代码中。其目的是,注入的代码强制遵守策略(安全性),并在其他方面尽可能少地干扰应用程序(保守性和透明度)。这样的内嵌被认为是正确的。对于顺序类Java语言,内联是很容易理解的,并且已经提出了几个可证明正确的内联。对于多线程Java,一个困难是需要维护共享的监视器状态。我们表明,这个问题在内联可以正确实施的安全策略类型中引入了基本限制。确定了一类无竞争策略,通过显示该类外策略的内联要么不安全要么不透明,以及通过显示内部策略的具体内联,准确地描述了内联策略的特征安全、保守和透明的类。内联程序是为Java实现的,并应用于许多实际的应用程序安全策略。最后,我们讨论了如何通过使用注释将多线程Java字节码的潜在复杂验证问题简化为仅对内联代码片段进行顺序验证,从而为内联程序支持校对代码风格的认证。 MSC公司: 68甲15 编程语言理论 68号30 软件工程的数学方面(规范、验证、度量、需求等) PDF格式BibTeX公司 XML格式引用 \textit{M.Dam}等人,数学。结构。计算。科学。25,第3号,528--565(2015;Zbl 1361.68027) 全文: 内政部 参考文献: [1] 内政部:10.1145/263699.263712·数字对象标识代码:10.1145/263699.263712 [2] 面向方面的软件开发第193页–(2010) [3] 内政部:10.1145/361227.361234·Zbl 0316.68015号 ·数字对象标识代码:10.1145/361227.361234 [4] Java虚拟机规范(1999) [5] 新安全范式研讨会会议记录(NSPW'99)第87页–(2000) [6] IEEE安全与隐私研讨会(2000年) [7] 计算机安全基础第200页–(2010) [8] 内政部:10.1145/325694.325728·兹比尔1323.68233 ·数字对象标识代码:10.1145/325694.325728 [9] 信息处理71,国际信息处理联合会会议记录1第320页–(1971) [10] 第十一届系统构建与分析工具和算法国际会议论文集(TACAS)第546页–(2005) [11] DOI:10.1016/j.istr.2008.02.001·doi:10.1016/j.istr.2008.02.001 [12] DOI:10.1016/j.jlap.2009.02.013·兹比尔1192.68236 ·doi:10.1016/j.jlap.2009.02.013 [13] DOI:2008.01.09年10月10日/j.infsof·doi:10.1016/j.infsof.2008.01.009 [14] 内政部:10.1145/378795.378811·doi:10.145/378795.378811 [15] ACM SIGPLAN编程语言设计与实现(PLDI)会议记录第305页–(2005) [16] 第五届ACM编程语言研讨会会议记录满足程序验证,PLPV’11第55页–(2011) [17] 《计算机安全杂志》18第37页–(2010年)·doi:10.3233/JCS-2010-0365 [18] 数字对象标识码:10.1007/3-540-36532-X_10·doi:10.1007/3-540-36532-X_10 [19] 2009年7月6日至10日在意大利热那亚举行的第23届欧洲会议《ECOOP 2009——面向对象编程》会议记录,第546页–(2009) [20] DOI:10.1016/j.entcs.2005.02.026·doi:10.1016/j.entcs.2005.02.026 [21] 内政部:10.1016/j.scico.2008.09.004·Zbl 1160.68397号 ·doi:10.1016/j.scico.2008.09.004 [22] DOI:10.1016/j.jlap.2008.12.002·Zbl 1192.68116号 ·doi:10.1016/j.jlap.2008.12.002 [23] 内政部:10.1145/1111596.1111601·doi:10.1145/1111596.1111601 [24] ACM SIGPLAN编程语言和安全分析研讨会会议记录(PLAS'06)第7页–(2006) [25] 内政部:10.1145/1375696.1375699·数字对象标识代码:10.1145/1375696.1375699 [26] Java(TM)语言规范,第三版(Java(Addison-Wesley))(2005) [27] 亚洲程序设计语言研讨会第107页–(2004) [28] 内政部:10.1145/353323.353382·数字对象标识代码:10.1145/353323.353382 [29] 内政部:10.1007/s10207-004-0046-8·doi:10.1007/s10207-004-0046-8 [30] DOI:10.1023/A:1025055424017·Zbl 1031.68041号 ·doi:10.1023/A:1025055424017 [31] DOI:10.1016/S1571-0661(04)00254-3·doi:10.1016/S1571-0661(04)00254-3 [32] 内政部:10.1007/978-3-540-73408-6_21·doi:10.1007/978-3-540-73408-6_21 此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。