跳到主要内容
10.1145/1629575.1629596acm会议文章/章节视图摘要出版物页面硫酸钠会议记录会议集合
研究论文

seL4:操作系统内核的形式化验证

出版:2009年10月11日出版历史

摘要

完整的形式验证是确保系统没有编程错误的唯一已知方法。

我们介绍了我们对seL4微内核进行正式的机器检查验证的经验,从抽象规范一直到其C实现。我们假设编译器、汇编代码和硬件的正确性,并使用了一种融合了形式化和操作系统技术的独特设计方法。据我们所知,这是完整的通用操作系统内核功能正确性的第一个正式证明。功能正确性意味着实现始终严格遵循我们对内核行为的高级抽象规范。这包括传统的设计和实现安全属性,例如内核永远不会崩溃,也永远不会执行不安全的操作。它还证明了更多:我们可以准确预测内核在任何可能的情况下的行为。

seL4是L4起源的第三代微内核,由8700行C代码和600行汇编程序组成。它的性能与其他高性能L4内核相当。

工具书类

  1. M.Accetta、R.Baron、W.Bolosky、D.Golub、R.Rashid、A.Tevanian和M.Young。Mach:UNIX开发的新内核基础。1986年夏季USENIX,第93-112页,1986年。谷歌学者谷歌学者
  2. E.Alkassar、M.Hillebrand、D.Leinenbach、N.Schirmer、A.Starostin和A.Tsyban。平衡负载——利用语义堆栈进行系统验证。2009年1月42日(2-4日)。谷歌学者谷歌学者数字图书馆数字图书馆
  3. E.Alkassar、N.Schirmer和A.Starostin。分页机制的形式化普遍验证。C.R.Ramakrishnan和J.Rehof,编辑,工具和算法。《系统构建与分析》(TACAS),LNCS第4963卷,第109-123页。施普林格,2008年。谷歌学者谷歌学者数字图书馆数字图书馆
  4. J.Alves-Foss、P.W.Oman、C.Taylor和S.Harrison。用于高保证嵌入式系统的MILS体系结构。国际期刊刊物。系统。,2:239--247, 2006.谷歌学者谷歌学者交叉引用交叉引用
  5. M.Archer、E.Leonard和M.Pradella。分析安全增强型Linux策略规范。2003年政策:程序。第四届IEEE国际分布式系统和网络政策展望,第158-169页。IEEE计算机学会,2003年。谷歌学者谷歌学者数字图书馆数字图书馆
  6. T.Ball和S.K.Rajamani。SLIC:用于接口检查的规范语言。技术报告MSR-TR-2001-21,Microsoft Research,2001年。谷歌学者谷歌学者
  7. B.N.Bershad、S.Savage、P.Pardyak、E.G.Sirer、M.E.Fiuczynski、D.Becker、C.Chambers和S.Eggers。SPIN操作系统中的可扩展性、安全性和性能。1995年12月,第15次SOSP。谷歌学者谷歌学者数字图书馆数字图书馆
  8. W.R.贝维尔。工具包:操作系统验证研究。IEEE软件工程汇刊,15(11):1382-13961989。谷歌学者谷歌学者数字图书馆数字图书馆
  9. W.R.Bevier和L.Smith。Mach内核的数学模型:原子操作和锁。技术报告89,计算逻辑公司,1993年4月。谷歌学者谷歌学者
  10. I.T.Bowman、R.C.Holt和N.V.Brewster。Linux作为一个案例研究:其提取的软件体系结构。在ICSE’99中:程序。第21届国际软件工程会议,第555-563页。ACM,1999年。谷歌学者谷歌学者数字图书馆数字图书馆
  11. A.博伊顿。一个经过验证的共享能力模型。G.Klein、R.Huuck和B.Schlich,第四版WS系统编辑。柔和。验证SSV’09,ENTCS,第99-116页。爱思唯尔,2009年6月。谷歌学者谷歌学者
  12. P.布林奇·汉森。多道程序操作系统的核心。CACM,13:238--2501970年。谷歌学者谷歌学者数字图书馆数字图书馆
  13. D.旋塞。C中的位字段和标记联合:通过自动生成进行验证。2008年8月,CEUR研讨会论文集第372卷,编辑B.Beckert和G.Klein,第44-55页。谷歌学者谷歌学者
  14. D.Cock、G.Klein和T.Sewell。安全的微内核、状态单体和可伸缩的优化。O.A.Mohamed、C.Mu n oz和S.Tahar,编辑,第21届TPHOL,LNCS第5170卷,第167-182页。施普林格,2008年8月。谷歌学者谷歌学者数字图书馆数字图书馆
  15. B.Cook、A.Gotsman、A.Podelski、A.Rybalchenko和M.Y.Vardi。证明这些程序最终会有好处。第34届POPL。ACM,2007年。谷歌学者谷歌学者数字图书馆数字图书馆
  16. J.Criswell、A.Lenharth、D.Dhurjati和V.Adve。安全虚拟体系结构:商品操作系统的安全执行环境。第16版SOSP,第351-366页,2007年10月。谷歌学者谷歌学者数字图书馆数字图书馆
  17. U.丹诺夫斯基。个人沟通。谷歌学者谷歌学者
  18. W.-P.de Roever和K.Engelhardt。数据精炼:面向模型的证明方法及其比较。剑桥理论计算机科学丛书第47名。剑桥大学出版社,1998年。谷歌学者谷歌学者数字图书馆数字图书馆
  19. P.Derrin、K.Elphinstone、G.Klein、D.Cock和M.M.T.Chakravarty。运行手册:一种高保证微内核开发方法。ACM SIGPLAN Haskell WS,2006年9月。谷歌学者谷歌学者数字图书馆数字图书馆
  20. D.Elkaduwe、P.Derrin和K.Elphinstone。用于隔离和保证物理内存的内核设计。在第1 IIES中,第35-40页。ACM SIGOPS,2008年4月。谷歌学者谷歌学者数字图书馆数字图书馆
  21. D.Elkaduwe、G.Klein和K.Elphinstone。验证了seL4微内核的保护模型。J.Woodcock和N.Shankar,VSTTE 2008编辑——验证软件:理论、工具和;实验,LNCS第5295卷,第99-114页。施普林格,2008年10月。谷歌学者谷歌学者数字图书馆数字图书馆
  22. K.Elphinstone、G.Klein、P.Derrin、T.Roscoe和G.Heiser。朝向实用、经过验证的内核。在第11期HotOS中,第117-122页,2007年5月。谷歌学者谷歌学者数字图书馆数字图书馆
  23. M.Faehndrich、M.Aiken、C.Hawblitzel、O.Hodson、G.C.Hunt、J.R.Larus和S.Levi。支持Singularity OS中基于消息的快速可靠通信的语言。2006年4月,第一届欧洲系统会议,第177-190页。谷歌学者谷歌学者数字图书馆数字图书馆
  24. R.J.Feiertag和P.G.Neumann。可证明安全的操作系统(PSOS)的基础。在AFIPS Conf.Proc.中。,1979年国家竞争。Conf.,1979年6月。谷歌学者谷歌学者交叉引用交叉引用
  25. B.Ford、M.Hibler、J.Lepreau、R.McGrath和P.Tullmann。Fluke内核中的接口和执行模型。在第三次OSDI中。USENIX,1999年2月。谷歌学者谷歌学者数字图书馆数字图书馆
  26. T.Garfinkel、B.Pfaff、J.Chow、M.Rosenblum和D.Boneh。Terra:基于虚拟机的可信计算平台。2003年10月,第19次SOSP。谷歌学者谷歌学者数字图书馆数字图书馆
  27. Green Hills Software,Inc.INTEGRITY-178B分离内核安全目标版本1.0。http://www.niap-ccevs.org/cc-scheme/st/st_vid10119-st.pdf, 2008.谷歌学者谷歌学者
  28. Greenhills Software,Inc.Integrity实时操作系统。http://www.ghs.com/products/rtos/integrantity.html, 2008.谷歌学者谷歌学者
  29. J.D.Guttman、A.L.Herzog、J.D.Ramsdell和C.W.Skorupka。验证安全增强型Linux中的信息流目标。计算机安全杂志,13(1):115-1342005。谷歌学者谷歌学者数字图书馆数字图书馆
  30. J.T.Haigh和W.D.Young。扩展SAT.IEEE Trans的MLS无干扰版本。软件工程,13(2):141-1501987。谷歌学者谷歌学者数字图书馆数字图书馆
  31. D.S.Hardin、E.W.Smith和W.D.Young。一个强大的机器代码验证框架,用于高度安全的应用程序。在ACL2'06中:程序。关于ACL2定理证明器的国际WS及其应用。ACM,2006年。谷歌学者谷歌学者数字图书馆数字图书馆
  32. G.海瑟。用于消费电子产品的Hypervisor。在第六届IEEE CCNC中,2009年。谷歌学者谷歌学者数字图书馆数字图书馆
  33. C.L.Heitmeyer、M.Archer、E.I.Leonard和J.McLean。嵌入式系统分离内核中数据分离的形式化规范和验证。CCS’06:程序。第13届计算机和通信安全大会,第346--355页。ACM,2006年。谷歌学者谷歌学者数字图书馆数字图书馆
  34. T.A.Henzinger、R.Jhala、R.Majumdar和G.Sutre。使用Blast进行软件验证。2003年,SPIN’03,模型检查软件研讨会。谷歌学者谷歌学者数字图书馆数字图书馆
  35. M.Hohmuth、M.Peter、H.Haertig和J.S.Shapiro。通过使用不受信任的组件减少TCB大小——小内核与虚拟机监控器。2004年9月,第11届SIGOPS Eur.WS。谷歌学者谷歌学者数字图书馆数字图书馆
  36. M.Hohmuth和H.Tews。验证操作系统的VFiasco方法。2005年7月,第二次PLOS。谷歌学者谷歌学者
  37. 鬣蜥。http://www.ertos.nicta.com.au/software/genge/iguana-project/latest/(http://www.ertos.nicta.com/au/software/kenge/iguanaproject/latest/)。谷歌学者谷歌学者
  38. 信息保障局。2007年6月,美国政府对需要高鲁棒性的环境中分离核的保护概况。1.03版。http://www.niap--ccevs.org/cc-方案/pp/pp.cfm/id/pp_skpp_hr_v1.03/。谷歌学者谷歌学者
  39. ISO/IEC。编程语言——C.技术报告9899:TC2,ISO/IEC JTC1/SC22/WG142005年5月。谷歌学者谷歌学者
  40. G.克莱因。操作系统验证--概述。Sadhana,34(1):27-692009年2月。谷歌学者谷歌学者数字图书馆数字图书馆
  41. G.Klein、P.Derrin和K.Elphinstone。经验报告:seL4——正式验证高性能微内核。2009年8月,第14届ICFP。谷歌学者谷歌学者数字图书馆数字图书馆
  42. R.Kolanski和G.Klein。类型、映射和分离逻辑。S.Berghofer、T.Nipkow、C.Urban和M.Wenzel,编辑,Proc。TPHOLs’09,LNCS第5674卷。施普林格,2009年。谷歌学者谷歌学者数字图书馆数字图书馆
  43. L4HQ。http://l4hq.org/arch/arm/。谷歌学者谷歌学者
  44. X.勒罗伊。编译器后端的正式认证,或:使用校对助手为编译器编程。J.G.Morrisett和S.L.P.Jones,第33届POPL编辑,第42-54页。ACM,2006年。谷歌学者谷歌学者数字图书馆数字图书馆
  45. J.利特克。通过内核设计改进IPC。在第14次SOSP中,第175-188页,1993年12月。谷歌学者谷歌学者数字图书馆数字图书馆
  46. J.利特克。走向真正的微内核。CACM,39(9):70-771996年9月。谷歌学者谷歌学者数字图书馆数字图书馆
  47. J.Liedtke、K.Elphinstone、S.Schoenberg、H.Haertig、G.Heiser、N.Islam和T.Jaeger。实现了IPC性能(仍然是可扩展性的基础)。在第6版HotOS中,第28-31页,1997年5月。谷歌学者谷歌学者数字图书馆数字图书馆
  48. W.B.Martin、P.White、A.Goldberg和F.S.Taylor。数学分析分离核的形式化构造。在ASE'00中:程序。第15届IEEE国际自动化软件工程会议,第133-141页。IEEE计算机学会,2000年。谷歌学者谷歌学者数字图书馆数字图书馆
  49. 倪总、余德华和邵总。使用XCAP验证现实的系统代码:机器上下文管理。程序中。TPHOLs’07,LNCS第4732卷,第189-206页。施普林格,2007年9月。谷歌学者谷歌学者数字图书馆数字图书馆
  50. T.Nipkow、L.Paulson和M.Wenzel。Isabelle/HOL——高阶逻辑的证明助手,LNCS第2283卷。斯普林格,2002年。谷歌学者谷歌学者数字图书馆数字图书馆
  51. OKL4网站。http://okl4.org。谷歌学者谷歌学者
  52. T.Perrine、J.Codd和B.Hardy。内核化安全操作系统(KSOS)概述。第七届国防部/国家统计局计算机安全倡议会议记录,第146-160页,1984年9月。谷歌学者谷歌学者
  53. 罗克韦尔柯林斯公司AAMP7r1参考手册,2003年。谷歌学者谷歌学者
  54. J.M.Rushby。安全系统的设计和验证。在第8版SOSP中,第12-21页,1981年。谷歌学者谷歌学者数字图书馆数字图书馆
  55. O.Saydjari、J.Beckman和J.Leaman。安全锁定计算机。第十届全国计算机安全会议,第129-141页,1987年9月。谷歌学者谷歌学者
  56. A.Seshadri、M.Luk、N.Qu和A.Perrig。SecVisor:一个小型虚拟机监控程序,为商品操作系统提供终身内核代码完整性。第16版SOSP,第335-350页,2007年10月。谷歌学者谷歌学者数字图书馆数字图书馆
  57. J.S.Shapiro、D.F.Faber和J.M.Smith。EROS内核中的状态缓存——在纯功能系统中实现高效的正交持久性。第5期IWOOOOS,第89-100页,1996年11月。谷歌学者谷歌学者
  58. J.S.Shapiro、J.M.Smith和D.J.Farber。EROS:快速能力系统。第17届SOSP,1999年12月。谷歌学者谷歌学者数字图书馆数字图书馆
  59. L.Singaravelu、C.Pu、H.Haertig和C.Helmuth。降低安全敏感应用程序的TCB复杂性:三个案例研究。在第一届欧洲系统大会上,第161-174页,2006年4月。谷歌学者谷歌学者数字图书馆数字图书馆
  60. R.Spencer、S.Smalley、P.Loscocco、M.Hibler、D.Andersen和J.Lepreau。Flask安全架构:系统支持多种安全策略。在第八届USENIX安全交响乐会上。,1999年8月。谷歌学者谷歌学者数字图书馆数字图书馆
  61. H.Tews、T.Weber和M.Voelp。用于验证低级操作系统代码的内存特性的形式化模型。R.Huuck、G.Klein和B.Schlich,编辑,Proc。第三届国际系统软件验证WS(SSV’08),ENTCS第217卷,第79-96页。爱思唯尔,2008年2月。谷歌学者谷歌学者数字图书馆数字图书馆
  62. H.Tuch公司。用于验证C系统代码的形式化内存模型。博士论文,新南威尔士州,2008年8月。谷歌学者谷歌学者
  63. H.Tuch公司。C系统代码的形式化验证:结构化类型、分离逻辑和定理证明。JAR,42(2-4):125-1872009年。谷歌学者谷歌学者数字图书馆数字图书馆
  64. H.Tuch、G.Klein和G.Heiser。操作系统验证——现在!在第10个HotOS中,第7-12页。USENIX,2005年6月。谷歌学者谷歌学者数字图书馆数字图书馆
  65. H.Tuch、G.Klein和M.Norrish。类型、字节和分隔逻辑。2007年1月,第34届POPL编辑M.Hofmann和M.Felleisen,第97-108页。谷歌学者谷歌学者数字图书馆数字图书馆
  66. 美国国家标准协会。信息技术安全评估通用标准,1999年。ISO标准15408。http://csrc.nist.gov/cc/。谷歌学者谷歌学者
  67. B.J.Walker、R.A.Kemmer和G.J.Popek。UCLA Unix安全内核的规范和验证。CACM,23(2):118--1311980年。谷歌学者谷歌学者数字图书馆数字图书馆
  68. D.A.惠勒。SLOC计数。http://www.dwheeler.com/slocount/, 2001.谷歌学者谷歌学者
  69. A.Whitaker、M.Shaw和S.D.Grible。Denali隔离内核的规模和性能。2002年12月,第5届OSDI。谷歌学者谷歌学者数字图书馆数字图书馆
  70. S.Winwood、G.Klein、T.Sewell、J.Andronick、D.Cock和M.Norrish。注意差距:低水平C的验证框架。In S.Berghofer、T.Nipkow、C.Urban和M.Wenzel,编辑,Proc。TPHOLs'09,第5674卷。施普林格,2009年。谷歌学者谷歌学者数字图书馆数字图书馆
  71. W.Wulf、E.Cohen、W.Corwin、A.Jones、R.Levin、C.Pierson和F.Pollack。HYDRA:多处理器操作系统的内核。CACM,17:337--3451974年。谷歌学者谷歌学者数字图书馆数字图书馆

索引术语

  1. seL4:操作系统内核的形式化验证

            建议

            评论

            登录选项

            检查您是否可以通过登录凭据或您的机构访问本文。

            登录

            完全访问权限

            • 发布于

              封面图片ACM会议
              SOSP’09:ACM SIGOPS第22届操作系统原理研讨会会议记录
              2009年10月
              346页
              国际标准图书编号:9781605587523
              内政部:10.1145/1629575

              版权所有©2009 ACM

              如果复制品不是为了盈利或商业利益而制作或分发的,并且复制品的第一页载有本通知和完整引文,则允许免费制作本作品的全部或部分数字或硬拷贝以供个人或课堂使用。必须尊重ACM以外的其他人拥有的本作品组件的版权。允许用信用证进行摘要。要以其他方式复制或重新发布,在服务器上发布或重新发布到列表,需要事先获得特定许可和/或付费。从请求权限[电子邮件保护]

              出版商

              计算机协会

              美国纽约州纽约市

              出版历史

              • 出版:2009年10月11日

              权限

              请求有关此文章的权限。

              请求权限

              检查更新

              限定符

              • 研究论文

              接受率

              总体验收率131属于716提交文件,18%

              即将召开的会议

              SOSP’24
              ACM SIGOPS第29届操作系统原理研讨会
              2024年11月5日至8日
              奥斯汀,TX中,美国

            PDF格式

            以PDF文件查看或下载。

            PDF格式

            电子阅读器

            使用eReader联机查看。

            电子阅读器