Design and Implementation of OOM Module based on Rust

Linhan Li, Qianying Zhang, Shijun Zhao, Zhiping Shi, Yong Guan
{"title":"Design and Implementation of OOM Module based on Rust","authors":"Linhan Li, Qianying Zhang, Shijun Zhao, Zhiping Shi, Yong Guan","doi":"10.1109/QRS-C57518.2022.00129","DOIUrl":null,"url":null,"abstract":"The Linux kernel plays an important role in various application scenarios such as computers, mobile devices, and vehicles, in which security-sensitive information is stored. Undefined behavior in the C programming language is usually the cause of Linux kernel vulnerabilities, among which memory safety vulnerabilities are the most threatening. At present, the methods based on static/dynamic analysis and runtime software and hardware defense to ensure memory safety have the problems of poor performance, false positives, and poor compatibility. This paper presents the design and implementation of the OOM (out of memory) module based on the safe programming language Rust. We leverage the Rust FFI mechanism to design a foreign interface layer and a safe foreign interface layer to enable the reconstructed OOM module to invoke other Linux functionalities, and then use Rust to reconstruct the OOM module. The safety features of Rust language are used to avoid undefined behaviors, so as to improve the safety of the kernel. Finally, we export the C interface of the module to enable the invocation by the Linux kernel. Tests show that the OOM module performance and memory consumption after reconstruction are comparable to the original module.","PeriodicalId":183728,"journal":{"name":"2022 IEEE 22nd International Conference on Software Quality, Reliability, and Security Companion (QRS-C)","volume":"9 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2022 IEEE 22nd International Conference on Software Quality, Reliability, and Security Companion (QRS-C)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/QRS-C57518.2022.00129","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

Abstract

The Linux kernel plays an important role in various application scenarios such as computers, mobile devices, and vehicles, in which security-sensitive information is stored. Undefined behavior in the C programming language is usually the cause of Linux kernel vulnerabilities, among which memory safety vulnerabilities are the most threatening. At present, the methods based on static/dynamic analysis and runtime software and hardware defense to ensure memory safety have the problems of poor performance, false positives, and poor compatibility. This paper presents the design and implementation of the OOM (out of memory) module based on the safe programming language Rust. We leverage the Rust FFI mechanism to design a foreign interface layer and a safe foreign interface layer to enable the reconstructed OOM module to invoke other Linux functionalities, and then use Rust to reconstruct the OOM module. The safety features of Rust language are used to avoid undefined behaviors, so as to improve the safety of the kernel. Finally, we export the C interface of the module to enable the invocation by the Linux kernel. Tests show that the OOM module performance and memory consumption after reconstruction are comparable to the original module.
基于Rust的面向对象模块的设计与实现
Linux内核在计算机、移动设备、车辆等各种存储安全敏感信息的应用场景中发挥着重要作用。C语言中未定义的行为通常是导致Linux内核漏洞的原因,其中内存安全漏洞是最具威胁性的。目前,基于静态/动态分析和运行时软硬件防御的内存安全保障方法存在性能差、误报、兼容性差等问题。本文介绍了基于安全编程语言Rust的内存溢出模块的设计与实现。我们利用Rust FFI机制设计了一个外部接口层和一个安全的外部接口层,使重建的OOM模块能够调用其他Linux功能,然后使用Rust重建OOM模块。利用Rust语言的安全特性来避免未定义行为,从而提高内核的安全性。最后,导出该模块的C接口,以便由Linux内核调用。测试表明,重建后的OOM模块性能和内存消耗与原始模块相当。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信