没有合适的资源?快使用搜索试试~ 我知道了~
对象系统的强制访问控制Java奥尔良大学(University of Orleans)博士学校数学、计算机科学、理论物理和系统工程奥尔良基础计算机科学实验室论文提交人:本杰明·文内尔支持日期:2015年7月16日获得学位:奥尔良大学博士学位学科/专业:计算机科学论文指导人:Christian TOINARD大学教授(INSA卢瓦尔河谷中心)报告员:Franck Barbier大学教授(波城大学)Damien SAUVERON副教授- HDR(利摩日大学)陪审团:Jean-Michel COUVREUR大学教授(奥尔良大学Hong-Yon Lach研究工程师(阿尔卡特朗讯贝尔实验室法国)我谢谢你我要感谢我的朋友和导师C·克里斯蒂安·托纳德,感谢他的指导、建设性的批评,最重要的是,感谢他在怀疑的时刻我将永远记得我们就科学研究、研究人员的地位和许多其他问题进行的令人振奋的交流我将能够尊重C·克里斯蒂安传授给我的所有知识和思想我还想向我的朋友贝特朗·马奎特致敬,没有他,这篇论文就从一开始BERTRAND就他对这个项目的成功充满信心,并能够说服他的上级对这个问题的兴趣。谢谢你。我还要感谢我的同事们,他们与我进行了富有成效的交流,并尽他们所能帮助我。致A. RNAUD Ansiaux先生、H. AITHEM EL ABED先生、S. AMUEL Dubus先生、S.YLVAIN我还要感谢FRANCK Barbier先生和DAMIEN SAU-VERON先生,他们更广泛地说,我要感谢LIFO及其主任JÉRÔMEDURAND-LOSE,以及法国阿尔卡特朗讯贝尔实验室及其主席JEAN-LUC BEYLAT,感谢他们欢迎我加入他们各自的组织,并为我提供了成功完成本论文所需的资源最后,我不能忘记我所爱的人,家人和朋友,他们给了ii.纪念2013年11月1日去世的克劳德·韦内尔目录1引言11.1论文2的贡献1.2记忆计划2最新技术水平2.1Java 8漏洞的历史2.2Java 10攻击模型.........................................................................................2.2.1内存损坏2.2.211型意识模糊2.2.3缺乏访问控制.................................................................................2.2.4滥用.................................................................................................2.3Java 12的标准安全模型2.3.1语言安全2.3.2类充电器和存储器隔离2.3.3Java身份验证授权服务2.3.4能力的定义和满意度2.4Java 20安全性的改进2.4.1增加电池检查2.4.2方案分析2.4.3动态着色2.4.4安全性谓词2.4.5访问控制.........................................................................................2.5需求的结论和陈述3用于表达安全规则和策略的对象模型的形式化3.1对象系统的一般模型3.1.1对象和对象的表示.........................................................................3.1.2对象名称3.1.3对象类型3.1.4原始类型363.1.5对象的位置.....................................................................................3.1.6对象成员.........................................................................................iii.iv材料表3.1.7对象的字段和方法... ... ... ... ... ... ... ... ... ... ... ... ... ... ...403.1.8对象的签名。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...433.2特殊对象系统。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...453.2.1基于类的系统。... ... ... ... ... ... ... ... ... ... ... ... ... ... ...453.2.2基于原型的系统... ... ... ... ... ... ... ... ... ... ... ... ...493.2.3分布式对象系统。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...503.3对象之间关系的一般模型。... ... ... ... ... ... ... ... ... ... ... ... ...523.3.1参考关系。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...553.3.2相互作用关系... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...583.3.3流量关系。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...653.3.4关系逻辑。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...733.4对象和专用策略之间的特定关系。 . . ...743.4.1继承。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...743.4.2实例化... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...763.4.3突变。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...774.4克隆。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...773.5结论。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...... ... ...784基于Java自动机的访问控制814.1 JAAS与自动化电池检测。... ... ... ... ... ... ... ... ... ... ... ...824.1.1案例研究的介绍... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...834.1.2 JAAS方法:提升特权的困难854.1.3控制自动机的构造... ... ... ... ... ... ... ... ...884.1.4通过桩检查进行流量识别。 . . . . . ...934.1.5案例研究讨论... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 1034.2评估攻击模型... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...1044.2.1内存损坏。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 1044.2.2类型混淆。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 1064.2.3缺乏访问控制... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 1124.2.4滥用... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 1184.2.5讨论。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...1234.3安全策略的自动计算。... ... ... ... ... ... ... ... ... ... ...1244.3.1通过PTE方法进行预测... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 1264.3.2将JAAS策略转换为PTE策略。. . ... 1364.4结论。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...... ... ...1515安全增强型Java1555.1 Java虚拟机的仪器化... ... ... ... ... ... ... ... ... ...1565.1.1增加... ... ... ... ... ... ... ... ... ... ... 1575.1.2标准接口的使用... ... ... ... ... ... ... ... ... ... ... ... 1605.1.3方法调用的动态拦截。. . . . . ... 1645.1.4仪器结论... ... ... ... ... ... ... ... ... ... ... ... ... 1675.2控制逻辑的集成。... ... ... ... ... ... ... ... ... ... ... ... ... ... ...1685.2.1应用程序编程接口(API)。. . . . . ... 1685.2.2访问控制的实施... ... ... ... ... ... ... ... ... ... ... ... 1695.2.3学习引擎... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 1745.3实验结果。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 1745.3.1 CVE-2013-2460的实验结果。 . . ... 1755.3.2一年内的实验结果1815.3讨论。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...... ... ...183vi材料表目录v6结论和观点185将JAAS策略转换为SEJava 189的规则B Java 201案例研究的实现C 通用型号索引vi材料表图表2.11996年至2013年2.22009年2月至2013年2月2.3未利用的格式字符串漏洞示例Java环境中的表。...................................................................................... 132.4政策制定中的责任分工Java 152.5JAAS 16策略文件的语法2.6来源 从 Java类2.7由loadLibrary功能保护的load方法的代码十八2.8调用JAAS 19的参考代码2.9doPrivileged()20如何工作的说明2.10 通过电池检查无法检测到的流量示例......................................................2.11 H.G.定理的一个例子大米223.1第31章的总体方法和组织3.2对象的结构元素的图形表示......................................................................3.3五个对象的集合3.4Java中的强制示例。.................................................................................. 363.5我们如何区分这两个对象?...................................................................... 373.6IP 38数据包报头的C实现示例..................................................................3.7Javascript对象的示例。............................................................................ 433.8Python 46中的类示例................................................................................3.9Python共享字段示例.................................................................................3.10 接口原理说明..............................................................................................3.11 对象之间关系的层次结构和本节的组织3.12 在C++中使用引用的示例。..................................................................573.13 Python 63中的远程过程调用示例............................................................3.14 Java 70中的生产者/消费者输出3.15 Java 71中的生产者/消费者模型3.16 "house"类型对象的生命周期....................................................................4.1第83章的总体方法和主要贡献七八、图表4.2拟议案例研究的说明..................................................................................4.3案例研究91中的Grafcet自动机.................................................................4.4Grafcet自动机丰富了案例研究.................................................................4.5负责检查的功能的原始源代码OpenJDK1.7中的堆栈4.6JAAS与103自动机4.7内存损坏攻击的表示。............................................................................1054.8利用CVE-2012-1723 1104.9CVE-2008-5353与其修补程序1154.10 任意四个对象之间可能的调用图1204.12策略大小取决于对象数量..........................................................................4.14 策略计算的一般原则。............................................................................1254.15 保护域的动态变换原理DTE126格式的JAAS安全目标4.16 场景#1-无血统对象的权限.......................................................................4.17 场景#2-具有谱系的对象的权限...............................................................4.18 场景#3-未将对象的权限传播4.19 场景4 -未将对象的权限传播....................................................................4.20 最终规则与非最终规则的比较4.21 在Java 137中实现自动策略计算4.22 JAAS和我们的自动机之间的语言比较1384.23 显示自己的保护域142的Java程序4.24 部分重写Protec域JAAS策略表4.11 144中的条目4.25 Java 147小程序的保护域自动化4.26 与AP相关的保护域控制自动机Java 1494.27 安全增强型Linux之间的DEP标签比较安全增强型Java........................................................................................1505.1安全增强型Java 1575.2OpenJDK 159的功能体系结构5.3通过JVMTI 161代理将SEJava集成到OpenJDK5.4JVMTI函数GetMethodName..................................................................162的源代码5.5通过字节注入将SEJava集成到OpenJDK中5.6参考监视器和引擎对象之间的接口第168号决议5.7用于设置策略的文件DTE1735.8我们的实验场景........................................................................................5.9CVE的Metasploit恶意软件源代码-2013-2460,ob-通过JD-GUI 176进行逆向工程5.10 将Metasploit恶意软件的权限转录为策略DTE 1795.11 推断保护域小............................................................................................程序180中6.1控制自动机工作原理概要187第一章简介总结1.1论文的贡献。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 21.2记忆计划。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...3一项技术要想成功,现实必须优先于公共关系,因为自然是不会被愚弄的理查德·费曼[1]当公司在合同中承诺提供符合既定规范的设备和服务时当发现的关键漏洞数量太多时,很难快速做出响应。因此,许多设备和软件在发现漏洞后很长一段时间内仍然容易受到攻击,如果修补程序阻止产品符合其规范,则时间会然而,当客户投资于设备或服务时,他们希望购买的产品是安全可靠的。无论1. http://www.lemonde.fr/technologies/article/2011/03/07/l-elysee-et-les--外交事务-也通过入侵-计算机_1489767_651865.html2. http://www.lemonde.fr/technologies/article/2011/11/11/la-plate-forme-steam-害者-d-un-intrusion-informatique_1602547_651865.html3. http://www.lemonde.fr/pixels/article/2014/09/01/des-photos-piratees-de-詹妮弗·劳伦斯和其他几个裸体明星在线_4479584_4408996。html4. http://www.lemonde.fr/technologies/article/2014/03/12/espionnage-la-nsa-使用工业规模的恶意软件_4381942_651865。html12第一章。引言确保其敏感数据的机密性和完整性是一样的因此,该保证取决于安全修补程序的假设到达的事实是不可接受的因此,显然需要部署能够自动保证安全属性[3]的应用的保护机制,1.1论文的贡献在阿尔卡特朗讯和其他供应商的产品中因此,与Java相关的问题直接影响到这些公司的工业然而,要在操作环境中部署,此保护必须满足三个目标:效率、可维护性和性能。虽然现有文献鼓励对Java实施强制访问控制,但在此框架内编写安全策略的困难是采用该技术的事实上,强制性方法允许非常精细的控制粒度,这可能导致策略由数万条规则组成。在实践中,这样的编写复杂性此外,工业开发人员/设计人员自然不愿意集成会破坏其产品性能的解决方案但是,如此复杂的策略只会更不用说,政策的复杂性这三个主要困难代表了本论文所面临的挑战因此,为了有效,这种保护必须满足安全目标。因此,在实践中,它必须至少对抗传统的Java恶意软件,即那些利用Java API或JVM漏洞的恶意软件。但是,它还必须能够对抗以前未知的恶意软件5. http://arstechnica.com/security/2013/02/facebook-computers-compromised-by-www.example.com零-日-日6. 这些都1.2. 内存计划3漏洞报告。这相当于开发了一种超越标准Java安全模型甚至反病毒模型的控制机制其次,为了可用,配置和维护工作必须最小化。由于我们选择了强制访问控制方法,因此安全策略必须能够根据安全目标可靠、安全地这意味着策略必须根据应用程序的安全要求动态计算,这些安全要求在应用程序运行时会发生变化这一目标超越了现有的方法,现有的方法通常包括将观察到的程序执行转化为安全策略(学习原则),而不考虑根据应用程序状态演变的最后,为了能够在作战环境中部署,性能问题至关重要。事实上,工业产品需要具有可接受的额外成本的保护机制。这意味着保护和动态策略计算不需要显著影响性能来实现工业系统的可扩展性最后,选择Java的原因是强烈的工业需求和明显的技术真空。本文提出:— 对象系统(尤其是Java)的强制访问控制模型— 一种用于动态计算强制性安全策略的方法,该方法是通用的并支持Java环境;— 一种重用现有安全策略的方法,这些策略表征了安全目标,例如Java安全需求规范。— 通过使用专业的网络攻击软件来证明1.2记忆计划为了提出这四个贡献,论文的结构如下4第一章。引言1. 我们在第2章中提供了一个最先进的技术然后,我们介绍了旨在提高Java安全性的各种研究工作这表明缺乏对Java的强制保护,尽管Java身份验证授权服务(JAAS)方法与指定安全需求相关然而,2. 在第3章中,我们从前面的观察开始,并表明不存在令人满意的 此模型允许动态地对对象进行类型化,从而为它们分配必要的安全上下文,以表达/应用强制访问控制规则该建模还允许覆盖广泛的上下文集,同时提供非常精细的控制粒度。我们将证明这个模型实际上涵盖了类、原型和分布式对象系统本章继续对可以控制的对象之间的关系进行详尽的定义因此,我们区分了参考、交互和三种类型的流(信息流、数据流和活动流我们提出了一个通用的逻辑模型,它使用了这些不同类型的关系。L’idée directrice est celle d’une spécification3. 第4章继续展示如何将因此,对于我们的强制性访问控制,我们明确了因此,我们首先回顾JAAS在保证方面的局限性,并提出了计算控制应用程序执行的自动机的算法因此,我们说明了然后,我们使用我们现有技术中定义的攻击模型最后,我们证明了我们在第3章中定义的模型可以很好地映射到域类型强制(PTE)访问控制模型&因此,我们从为了4. 第5章介绍了我们开发的研究原型-1.2. 内存计划5在这篇论文的过程中为此,我们首先介绍了用于配置Java 虚拟机(JVM)的各种技术的优点和缺点,我们的结论是,第一种方法最适合将真正的参考监视器集成到JVM中,尽管它需要大量的开发工作。其他方法更容易实现,但代价是JVM中的然后,我们继续介绍我们的决策引擎的主要软件组件,其中包括多层逻辑(MLS)、PTE逻辑以及我们将JAAS策略转换为PTE策略的自动机方法我们将继续本章的Java恶意软件控制,同时详细说明在其执行的每个阶段,我们的决策引擎的最后,我们通过介绍其他几种Java恶意软件的结果来结束本文为了便于阅读,读者可以在第209页找到我们的假设、注释和建议的索引。6第一章。引言···第二章最新技术水平总结2.1Java漏洞的历史记录。... ... ... ... ... ... ... ...82.2Java 10攻击模型........................................................................2.2.1内存损坏2.2.211型意识模糊2.2.3缺乏访问控制..............................................................................2.2.4滥用..............................................................................................2.3Java 12的标准安全模型2.3.1语言安全2.3.2类充电器和存储器隔离2.3.3Java身份验证授权服务2.3.4能力的定义和满意度2.4Java 20安全性的改进2.4.1增加电池检查2.4.2方案分析2.4.3动态着色2.4.4安全性谓词2.4.5访问控制......................................................................................2.5需求的结论和陈述日益增加的系统脆弱性是另一类尚未解决的问题。系统变得越来越大,越来越快,这就为出错留下了越来越大的空间。我们可以尝试控制事件,这我们现在面临着这个大规模的问题,它不再是一个管理问题,而是一个科学挑战。Edsger W. [5]第五季剧情介绍7
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- VMP技术解析:Handle块优化与壳模板初始化
- C++ Primer 第四版更新:现代编程风格与标准库
- 计算机系统基础实验:缓冲区溢出攻击(Lab3)
- 中国结算网上业务平台:证券登记操作详解与常见问题
- FPGA驱动的五子棋博弈系统:加速与创新娱乐体验
- 多旋翼飞行器定点位置控制器设计实验
- 基于流量预测与潮汐效应的动态载频优化策略
- SQL练习:查询分析与高级操作
- 海底数据中心散热优化:从MATLAB到动态模拟
- 移动应用作业:MyDiaryBook - Google Material Design 日记APP
- Linux提权技术详解:从内核漏洞到Sudo配置错误
- 93分钟快速入门 LaTeX:从入门到实践
- 5G测试新挑战与罗德与施瓦茨解决方案
- EAS系统性能优化与故障诊断指南
- Java并发编程:JUC核心概念解析与应用
- 数据结构实验报告:基于不同存储结构的线性表和树实现
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功