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.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
基于Rust的面向对象模块的设计与实现
Linux内核在计算机、移动设备、车辆等各种存储安全敏感信息的应用场景中发挥着重要作用。C语言中未定义的行为通常是导致Linux内核漏洞的原因,其中内存安全漏洞是最具威胁性的。目前,基于静态/动态分析和运行时软硬件防御的内存安全保障方法存在性能差、误报、兼容性差等问题。本文介绍了基于安全编程语言Rust的内存溢出模块的设计与实现。我们利用Rust FFI机制设计了一个外部接口层和一个安全的外部接口层,使重建的OOM模块能够调用其他Linux功能,然后使用Rust重建OOM模块。利用Rust语言的安全特性来避免未定义行为,从而提高内核的安全性。最后,导出该模块的C接口,以便由Linux内核调用。测试表明,重建后的OOM模块性能和内存消耗与原始模块相当。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Software Bug Prediction based on Complex Network Considering Control Flow A Fault Localization Method Based on Similarity Weighting with Unlabeled Test Cases What Should Abeeha do? an Activity for Phishing Awareness The Real-Time General Display and Control Platform Designing Method based on Software Product Line Code Search Method Based on Multimodal Representation
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1