2.2.2 修改内核源码的方案
方案通过使用类型化汇编语言(TAL)[MWCG98,MCG+99]让用户进程在核心模式安全运行的方法。
TAL是一种借助它的类型检查来保证程序内存和流程安全的汇编语言。一个程序的内存安全表示程序只作用于允许其访问的内存区域。程序的控制流安全表示程序只执行允许它执行的指令。在传统的操作系统中,程序的内存安全和控制流安全是由优先级和CPU的MMU控制的。
在这种方案中,用户进程使用TAL编写的,并且他们的安全性在加载时得到验证,这是在运行以前完成的。因此,用户进程可以在核心模式下安全而高效的运行,因为运行时安全检查已经不再需要了。
通过修改Linux内核,依照此方案,用TAL编写的用户进程得以在核心中安全的运行,系统调用的前期准备工作得到了节省。而且,它和原来的Linux核心提供了一样的接口(例如文件系统的控制接口),这是通过使用原来Linux核心系统调用的内部函数作为用户进程的接口来实现的。
文章来源于领测软件测试网 https://www.ltesting.net/