Rust와 C/C++간 안전한 상호작용에 관한 연구의 맹점과 개선 모델 연구

Vol. 33, No. 2, pp. 345-351, 4월. 2023
10.13089/JKIISC.2023.33.2.345, Full Text:
Keywords: Rust, C/C++, Foreign Function Interface, Software Security, Memory Safety
Abstract

소프트웨어 개발이 가속화되고 프로그램들이 기하급수적으로 복잡해짐에 따라 취약점을 줄이고, 관리하는 비용도 같이 증가하였다. 이러한 흐름에서, 기존의 C/C++ 와 같이 비교적 취약점을 내포하기 쉬운 언어를 대체하고 소프트웨어의 안정성을 높이기 위해서 제시된 것이 바로 Memory Safety를 보장하는 Rust 프로그래밍 언어이다. 하지만, 구식 언어들과의 호환성 및 개발의 편리함을 높이기 위해 C/C++로 작성된 라이브러리를 Rust에서도 사용할 수 있도록 지원하고 있는데, 이러한 다중 언어 환경에서는 Rust 또한 안전하지 않다. C/C++에서 발생한 메모리 오염이 Rust 내에서 Null-pointer 역참조, Use-After-Free 및 Buffer-overflow 문제 등을 발생시킬 수 있는 원인이 된다. 이를 해결하기 위해 여러 Rust-C/C++ 격리 연구가 진행되었으나, 아직 기초 단계이다. 본 논문에서는 선행 연구들을 분석하여 공통적으로 간과된 맹점들을 실제 코드 분석과 함께 소개하고, 이를 바탕으로 Rust와 C/C++간의 안전한 상호작용 모델 연구의 올바른 방향을 제시한다.

Statistics
Show / Hide Statistics

Statistics (Cumulative Counts from December 1st, 2017)
Multiple requests among the same browser session are counted as one view.
If you mouse over a chart, the values of data points will be shown.


Cite this article
[IEEE Style]
노태현 and 이호준, "Limitations and Future Work Suggetion on Safe Interaction Model between Rust and C/C++," Journal of The Korea Institute of Information Security and Cryptology, vol. 33, no. 2, pp. 345-351, 2023. DOI: 10.13089/JKIISC.2023.33.2.345.

[ACM Style]
노태현 and 이호준. 2023. Limitations and Future Work Suggetion on Safe Interaction Model between Rust and C/C++. Journal of The Korea Institute of Information Security and Cryptology, 33, 2, (2023), 345-351. DOI: 10.13089/JKIISC.2023.33.2.345.