论文标题

没有崩溃,无漏洞:自动验证嵌入式内核

No Crash, No Exploit: Automated Verification of Embedded Kernels

论文作者

Nicole, Olivier, Lemerre, Matthieu, Bardin, Sébastien, Rival, Xavier

论文摘要

内核是许多计算机系统中最安全和安全关键的组件,因为最严重的错误导致系统崩溃或利用。因此,希望保证内核可以使用正式方法摆脱这些错误,但是这样做所需的高成本和专业知识是对广泛适用性的威慑。我们提出了一种可以验证运行时错误(即崩溃)和缺乏特权升级(即漏洞)的方法,从其二进制可执行文件中嵌入的内核中。该方法可以独立于应用程序验证内核运行时,而仅需几行简单的注释。当给出特定的应用时,该方法可以在没有任何人类干预的情况下验证简单的内核。我们在两种不同的用例上演示了我们的方法:我们使用工具来帮助开发新的嵌入式实时内核,并在没有修改的情况下验证现有的工业实时内核。结果表明该方法快速,易于使用,并且可以防止实际错误和安全漏洞。

The kernel is the most safety- and security-critical component of many computer systems, as the most severe bugs lead to complete system crash or exploit. It is thus desirable to guarantee that a kernel is free from these bugs using formal methods, but the high cost and expertise required to do so are deterrent to wide applicability. We propose a method that can verify both absence of runtime errors (i.e. crashes) and absence of privilege escalation (i.e. exploits) in embedded kernels from their binary executables. The method can verify the kernel runtime independently from the application, at the expense of only a few lines of simple annotations. When given a specific application, the method can verify simple kernels without any human intervention. We demonstrate our method on two different use cases: we use our tool to help the development of a new embedded real-time kernel, and we verify an existing industrial real-time kernel executable with no modification. Results show that the method is fast, simple to use, and can prevent real errors and security vulnerabilities.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源