×

缓存地址转换下的形式推理。 (英语) 兹比尔1468.68070

概述:操作系统(OS)内核使用硬件功能(如多级页表和翻译查询缓冲区(TLB))实现用户级进程之间的隔离。TLB缓存地址转换,因此正确控制TLB是操作系统内核的一个基本安全属性,但我们所知道的所有大规模正式操作系统验证项目都将TLB的正确功能作为假设。在本文中,我们对ARMv7-a体系结构的内存管理单元(MMU)的详细具体模型提出了一个经过验证的合理抽象。此MMU抽象修改了我们以前的特定于地址空间的MMU抽象,以包括新的软件可见TLB功能,例如在两阶段TLB中缓存全局映射和部分翻译条目。我们使用这种抽象作为底层模型来开发一种逻辑,用于在缓存地址转换的情况下对低级程序进行推理。我们为正确的TLB操作提取不变量和必要条件,以反映操作系统工程师的非正式推理。我们系统地展示了这些不变量如何适应全局和部分翻译条目。我们表明,我们的程序逻辑可以简化为用户级推理的标准逻辑,可以简化为内核级推理的辅助条件检查,并且可以处理典型的操作系统内核任务,如上下文切换。

MSC公司:

68N25号 操作系统理论
03B70号 计算机科学中的逻辑
68号30 软件工程的数学方面(规范、验证、度量、需求等)
68伏15 定理证明(自动和交互式定理证明、演绎、解析等)
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Achermann,R.、Humbel,L.、Cock,D.、Roscoe,T.:Isabelle/HOL中实际硬件的物理寻址。摘自:第九届交互式定理证明国际会议论文集,第1-19页(2018年)·Zbl 1511.68021号
[2] Alkassar,E.,Cohen,E.,Kovalev,M.,Paul,W.J.:验证在C.中实现的TLB虚拟化。in:验证软件的程序:理论、工具和实验,2012年,计算机科学讲义第7152卷,费城,第209-224页,宾夕法尼亚州,美国(2012年1月)
[3] ARM Ltd.:ARM架构参考手册,ARM v7-A和ARM v7-2008年4月。ARM DDI 0406B接口
[4] ARM Ltd.:ARM Cortex-A15 MPCore处理器技术参考手册,2013年6月。ARM DDI 0438I接口
[5] Barthe,G.、Betarte,G.,Campo,J.D.、Luna,C.:理想化虚拟化模型中的缓存泄漏弹性操作系统隔离。摘自:第25届IEEE计算机安全基础研讨会论文集,第186-197页(2012)
[6] Daum,M。;开票,N。;Klein,G.,《关注无特权:内核优化中的用户程序》,Form.Asp。计算。,26, 6, 1205-1229 (2014) ·Zbl 1342.68079号 ·doi:10.1007/s00165-014-0296-9
[7] Feiertag,R.J.,Neumann,P.G.:可证明安全操作系统(PSOS)的基础。摘自:AFIPS会议记录。1979年全国计算机会议,第329-334页,美国纽约州纽约市,1979年6月
[8] Fox,A.,Myreen,M.:ARMv7指令集体系结构的值得信赖的一元形式化。摘自:《第一届交互式定理证明国际会议论文集》,计算机科学讲稿第6172卷,第243-258页,英国爱丁堡(2010年7月)·Zbl 1291.68341号
[9] Gu,R.,Koenig,J.,Ramananandro,T.,Shao,Z.,Wu,X.(Newman),Weng,S.-C.,Zhang,H.,Guo,Y.:深层规范和认证抽象层。摘自:第42届ACM SIGPLAN-SIGACT编程语言原理研讨会论文集,第595-608页(2015)·Zbl 1345.68107号
[10] Gu,R.,Shao,Z.,Chen,H.,Wu,X.,Kim,J.,Sjöberg,V.,Costanzo,D.:CertiKOS:用于构建经认证的并发操作系统内核的可扩展架构。在:USENIX操作系统设计与实现研讨会,第653-669页,美国佐治亚州萨凡纳(2016年11月)
[11] 克莱因,G。;Andronick,J。;埃尔芬斯通,K。;Murray,T。;苏厄尔,T。;科兰斯基,R。;Heiser,G.,操作系统微内核的全面形式验证,ACM Trans。计算。系统。,32, 1, 2:1-2:70 (2014) ·数字对象标识代码:10.1145/2560537
[12] Klein,G.、Elphinstone,K.、Heiser,G.,Andronick,J.、Cock,D.、Derrin,P.、Elkaduwe,D.、Engelhardt,K.,Kolanski,R.、Norrish,M.、Sewell,T.、Tuch,H.、Winwood,S.:seL4:操作系统内核的形式验证。In:ACM操作系统原理研讨会,第207-220页,Big Sky,MT,USA(2009年10月)
[13] Kolanski,R.:虚拟内存的逻辑。In:《系统软件验证》,第61-77页,澳大利亚悉尼(2008年7月)
[14] Kolanski,R.:使用分离逻辑验证虚拟内存中的程序。博士论文,新南威尔士州,澳大利亚悉尼(2011年7月)。可从出版物页面获取,网址为http://ts.data61.csiro.au/
[15] Kolanski,R.,Klein,G.:类型、映射和分离逻辑。摘自:高阶逻辑定理证明国际会议,第276-292页,德国慕尼黑(2009年8月)·Zbl 1252.03079号
[16] Kovalev,M.:虚拟机监控程序验证背景下的TLB虚拟化。德国萨尔布吕肯萨尔州大学博士论文(2013年)
[17] Lipp,M.、Schwartz,M.,Gruss,D.、Prescher,T.、Haas,W.、Fogh,A.、Horn,J.、Mangard,S.、Kocher,P.、Genkin,D.、Yarom,Y.、Hamburg,M.:崩溃:从用户空间读取内核内存。In:USENIX安全研讨会,美国马里兰州巴尔的摩(2018年8月)
[18] Lutsyk,P.:具有操作系统支持的多核处理器的正确性。德国萨尔布吕肯萨尔大学博士论文(2018)
[19] Naraschewski,W.,Wenzel,M.:基于高阶逻辑中记录子类型的面向对象验证。摘自:《第十一届高阶逻辑定理证明国际会议论文集》,计算机科学讲稿第1479卷,第349-366页,澳大利亚堪培拉(1998年9月)·Zbl 0927.03026号
[20] Nemati,H.、Dam,M.、Guanciale,R.、Do,V.、Vahidi,A.:嵌入式设备上Linux值得信赖的内存隔离。摘自:《信任与值得信赖的计算》,第125-142页(2015年8月)
[21] Nemati,H.、Guanciale,R.、Dam,M.:值得信赖的ARMv7内存子系统虚拟化。摘自:《第41届计算机科学理论与实践当前趋势国际会议论文集》,第8939卷,《计算机科学讲稿》,第578-589页,捷克共和国,Pec pod Snězzo kou(2015年1月)
[22] Neumann,P.G.,Boyer,R.S.,Feiertag,R.J.,Levitt,K.N.,Robinson,L.:《可证明的安全操作系统:系统、应用程序和证明》,第二版。技术报告CSL-116,计算机科学实验室,SRI International,Menlo Park,CA,USA(1980年5月)
[23] Nipkow,T.、Paulson,L.、Wenzel,M.:Isabelle/HOL-A高阶逻辑的证明助手,《计算机科学讲稿》(2002)第2283卷·Zbl 0994.68131号
[24] Slind,K.,Norrish,M.:HOL4的简要概述。摘自:《第21届高阶逻辑定理证明国际会议论文集》,第28-32页(2008年2月)·Zbl 1165.68474号
[25] Syeda,H.T.,Klein,G.:关于翻译后备缓冲区的推理。摘自:《第21届国际编程、人工智能和推理逻辑会议论文集》,EPiC计算机系列第46卷,第490-508页(2017)·Zbl 1403.68037号
[26] Syeda,H.T.,Klein,G.:存在缓存地址转换的情况下的程序验证。摘自:《第九届交互式定理证明国际会议论文集》,计算机科学讲稿第10895卷,第542-559页,英国牛津(2018年7月)·Zbl 1468.68069号
[27] Syeda,H.T.,Klein,G.:用于缓存地址转换的Isabelle/HOL程序逻辑。https://github.com/SEL4PROJ/tlb/tree/jar19(2019年4月)
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。