返回
Safer Linux Kernel Modules Using the D Programming Language
DOI:10.1109/ACCESS.2022.3229461.png)
摘要
En 中文
Since its creation, the Linux kernel has gained international recognition and has been employed on a large range of devices: servers, supercomputers, smart devices and embedded systems. Given its popularity, the security of the kernel has become a critical research topic. As a consequence, a wide range of third party tools were created to detect bugs in its implementation. However, new vulnerabilities are discovered and exploited every year. The explanation for this phenomenon lies in the fact that the programming language that is used for the kernel implementation, C, is designed to allow unsafe memory operations. In this paper, we show that it is possible to incrementally transition the kernel code from C to a memory safe programming language, D, by porting and integrating a device driver. In addition, we propose a series of code transformations that allow the D compiler to reason about the safety of certain memory operations. Our implementation increases the security guarantees of the kernel without incurring any performance penalties.
Keyword:
Memory safety
Linux kernel
driver development
security
D programming language
期刊
IF:
3.6
论文数:
9.8W
被引数:
29.4W
机构
引用论文
Pharmacogenomic identification of small molecules for lineage specific manipulation of subventricular zone germinal activity用于谱系特异性操纵脑室下区生发活动的小分子的药物基因组学鉴定
PLOS Biology
IF0

