无Bug微内核seL4 7.0.0发布

jopen 6年前
   <p style="text-align: center;"><img alt="" src="https://simg.open-open.com/show/37467e469cce4245cf8b255ddd29a36c.png" /></p>    <p>微内核 <a href="/misc/goto?guid=4959011573952708672" rel="nofollow,noindex">seL4</a> 7.0.0版本发布,提供了另外一种 <a href="/misc/goto?guid=4959011574075647033" rel="nofollow,noindex">基于CMake的构建系统</a> ,支持 <a href="/misc/goto?guid=4959011574171254827" rel="nofollow,noindex">源码树外构建</a> 和交互式配置。该版本还支持独立的ia32构建,并包含aarch64的详细文档。</p>    <p>seL4是一个高可靠性开源微内核,提供基于端到端验证的强隔离保障。实际上,这是说seL4代码库是 <a href="/misc/goto?guid=4959011574280267146" rel="nofollow,noindex">无Bug</a> 的,当“ <a href="/misc/goto?guid=4959011574383611694" rel="nofollow,noindex">验证假设</a> ”满足时,就发生指定的行为。正因如此,它已经被用于将运行在同一个处理器上的受信任组件和不受信任组件隔离。</p>    <p>seL4微内核由NICTA开发和维护,并通过了 <a href="/misc/goto?guid=4959011574483624192" rel="nofollow,noindex">NICTA</a> (现在是Data61的 <a href="/misc/goto?guid=4959011574582239777" rel="nofollow,noindex">Trustworthy Systems Group</a> )的正式验证,目前归General Dynamics C4 Systems(GDC4S)所有。2014年,“为了帮助每个人构建更可信赖(安全、无风险、可靠)的计算机系统”,NICTA和GDC4S决定开源seL4。</p>    <p><a href="/misc/goto?guid=4959011574695574118" rel="nofollow,noindex">功能正确性初步验证</a> 是在2009年通过 <a href="/misc/goto?guid=4959011574800942656" rel="nofollow,noindex">L4.verified</a> 项目完成的。该项目表明,代码正确地实现了正式的内核规范。后续对该内核的 <a href="/misc/goto?guid=4959011574907657340" rel="nofollow,noindex">全面正式验证</a> 证明,该规范既能提供期望的高级安全属性,如“可用性、权限限制、完整性和保密性”,又能提供那些用于代码及二进制级别转译的属性。总的结果就是一个通用操作系统内核的首次端到端验证。值得注意的是,10多年来,该验证一直随着内核的发展而变化,成为在这种规模下前所未有的验证。</p>    <p>按照设计,虽然seL4内核有大量的验证工作,但它仍然保持着很高的性能,实际上,它已经促进了性能优化的实现。当前,验证提供的属性和不变量用于获悉内核的 <a href="/misc/goto?guid=4959011575005683123" rel="nofollow,noindex">最坏情况执行时间</a> (WCET),从而改进内核实现,进一步减少WCET。类似地,增加的“快速路径( <a href="/misc/goto?guid=4959011575113199394" rel="nofollow,noindex">fastpath</a> )”在可能的时候会自动提升 <a href="/misc/goto?guid=4959011575212588183" rel="nofollow,noindex">进程间通信(IPC)</a> 速度。后来,该验证经过了扩展,不管是否使用了快速路径,都可以验证内核行为是否符合规范。这项工作的结果就是一个速度、安全性、可靠性可证的内核,其应用领域包括国防、汽车、航空、医疗设备和工业自动化。</p>    <p>美国通过 <a href="/misc/goto?guid=4959011575322852213" rel="nofollow,noindex">SBIR(小型企业创新研究)</a> 项目发放了超过230万美元奖金,用于资助那些与seL4相关的国防项目。在其中一个这样的项目中, <a href="/misc/goto?guid=4959011575421666310" rel="nofollow,noindex">SMACCM</a> 团队使用seL4构建了具有“ <a href="/misc/goto?guid=4959011575535228953" rel="nofollow,noindex">非法入侵高度复原性</a> ”的无人机(UVV)。该团队使用seL4将运行非关键代码的虚拟化Linux实例和运行在同一块“任务板(mission board)”上的关键代码隔离开。在 <a href="/misc/goto?guid=4959011575635557556" rel="nofollow,noindex">红队</a> 设法非法入侵时, <a href="/misc/goto?guid=4959011575744556102" rel="nofollow,noindex">蓝队</a> 仍然能够有效地操作基于seL4的系统。该系统最初开发时使用了一个普通的四轴飞行器,后来换成了由Boeing开发的“ <a href="/misc/goto?guid=4959011575846355262" rel="nofollow,noindex">无人小鸟(ULB)</a> ”无人直升机。但是,seL4不限于国防承包商。由于 <a href="/misc/goto?guid=4959011575959347486" rel="nofollow,noindex">支持Raspberry Pi 3</a> ,基于seL4开发安全、无风险、可靠的系统也在学生的研究范围内。</p>    <p>虽然seL4在安全操作系统开发领域最先进,但按照定义,它是最小的,不是一个像Linux这样的全功能操作系统,并没有包含所有为了提供使用便利的东西,比如,支持各种设备及简单的进程间通信。</p>    <p>开发和验证工作的当前状态来自经常更新的 <a href="/misc/goto?guid=4959011576099108203" rel="nofollow,noindex">开发和验证路线图</a> 。常见问题的答案可以从项目的 <a href="/misc/goto?guid=4959011576202511877" rel="nofollow,noindex">FAQ页</a> 查看。</p>    <p>来自: http://www.infoq.com/cn/news/2017/11/sel4-bug-free-microkernel-7</p>