$\require{mediawiki-texvc}$

연합인증

연합인증 가입 기관의 연구자들은 소속기관의 인증정보(ID와 암호)를 이용해 다른 대학, 연구기관, 서비스 공급자의 다양한 온라인 자원과 연구 데이터를 이용할 수 있습니다.

이는 여행자가 자국에서 발행 받은 여권으로 세계 각국을 자유롭게 여행할 수 있는 것과 같습니다.

연합인증으로 이용이 가능한 서비스는 NTIS, DataON, Edison, Kafe, Webinar 등이 있습니다.

한번의 인증절차만으로 연합인증 가입 서비스에 추가 로그인 없이 이용이 가능합니다.

다만, 연합인증을 위해서는 최초 1회만 인증 절차가 필요합니다. (회원이 아닐 경우 회원 가입이 필요합니다.)

연합인증 절차는 다음과 같습니다.

최초이용시에는
ScienceON에 로그인 → 연합인증 서비스 접속 → 로그인 (본인 확인 또는 회원가입) → 서비스 이용

그 이후에는
ScienceON 로그인 → 연합인증 서비스 접속 → 서비스 이용

연합인증을 활용하시면 KISTI가 제공하는 다양한 서비스를 편리하게 이용하실 수 있습니다.

Rust와 C/C++간 안전한 상호작용에 관한 연구의 맹점과 개선 모델 연구
Limitations and Future Work Suggetion on Safe Interaction Model between Rust and C/C++ 원문보기

情報保護學會論文誌 = Journal of the Korea Institute of Information Security and Cryptology, v.33 no.2, 2023년, pp.345 - 351  

노태현 (성균관대학교) ,  이호준 (성균관대학교)

초록
AI-Helper 아이콘AI-Helper

소프트웨어 개발이 가속화되고 프로그램들이 기하급수적으로 복잡해짐에 따라 취약점을 줄이고, 관리하는 비용도 같이 증가하였다. 이러한 흐름에서, 기존의 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++간의 안전한 상호작용 모델 연구의 올바른 방향을 제시한다.

Abstract AI-Helper 아이콘AI-Helper

As software development progresses and programs become increasingly complex, the cost of reducing and managing software vulnerabilities has also increased. To address this issue, the Rust programming language, which guarantees Memory Safety, has been suggested as an alternative for more error-prone ...

주제어

표/그림 (5)

AI 본문요약
AI-Helper 아이콘 AI-Helper

문제 정의

  • 본 논문에서는 Rust와 C/C++의 상호작용 모델의 안정성을 향상시키는 연구들을 비교 분석하고 그 한계점을 설명했다. 그리고 제시된 해결책들은 외부 함수 인터페이스의 중요성에 대해서 고려하지 않아, 프로그래밍 및 상호작용 모델의 다양성이 저하되는 결과를 가져왔다.
본문요약 정보가 도움이 되었나요?

참고문헌 (18)

  1. N. D. Matsakis and F. S. Klock, "The rust language," ACM SIGAdaAda Letters, vol. 34, no. 3, pp. 103-104, Dec. 2014. 

  2. J. Meyerson, "The go programming language," IEEE software, vol. 31, no. 5, pp. 104-104, Sept-Oct. 2014 

  3. Kotlin Language Documentation, https://kotlinlang.org/docs/kotlin-pdf.html, 02. 12. 2023, 

  4. "Sustainability with Rust | AWS Open Source Blog", . https://aws.amazon.com/blogs/opensource/sustainability-with-rust/, 02. 11. 2023 

  5. Discord Inc., Discord, https://discord.com, 02. 11. 2023 

  6. "[GIT PULL] Rust Introduction for v6. 1-Rc1 - Kees Cook.", https://lore.kernel.org/lkml/202210010816.1317F2C@keescook/, 02. 20. 2023 

  7. Jung, Ralf, et al. "RustBelt: Securing the foundations of the Rust programming language," Proceedings of the ACM on Programming Languages2, POPL, pp. 1-34. Jan. 2018. 

  8. Servo, https://github.com/servo. 02. 20. 2023 

  9. Mozilla Spidermonkey JavaScript Engine, https://spidermonkey.dev/,02. 20. 2023 

  10. M. Papaevripides and E. Athanasopoulos, "Exploiting mixed binaries," ACM Transactions on Privacy and Security (TOPS), vol. 24, no. 2, pp. 1-29, May. 2021. 

  11. Mergendahl, Samuel, Nathan Burow, and Hamed Okhravi, "Cross-language attacks," Proceedings 2022 Network and Distributed System Security Symposium. NDSS, Vol. 22, pp. 1-17, 2022. 

  12. Paul Kirth, Mitchel Dickerson, Stephen Crane, Per Larsen, Adrian Dabrowski, David Gens, Yeoul Na, Stijn Volckaert, and Michael Franz, "PKRU-safe: automatically locking down the heap between safe and unsafe languages. In Proceedings of the Seventeenth European Conference on Computer Systems," Association for Computing Machinery, New York, NY, USA, pp. 132-148, 2022. 

  13. Rivera, Elijah, et al, "Keeping safe rust safe with galeed," Annual Computer Security Applications Conference, pp. 824-836, 2021. 

  14. Benjamin Lamowski, Carsten Weinhold, Adam Lackorzynski, and Hermann Hartig. "Sandcrust: Automatic Sandboxing of Unsafe Components in Rust. In Proceedings of the 9th Workshop on Programming Languages and Operating Systems," Association for Computing Machinery, New York, NY, USA, pp. 51-57, 2017. 

  15. Hussain M. J. Almohri and David Evans, "Fidelius Charm: Isolating Unsafe Rust Code," Proceedings of the Eighth ACM Conference on Data and Application Security and Privacy (CODASPY '18), Association for Computing Machinery, New York, NY, USA, pp. 248-255, 2018. 

  16. Jonathan Corbet. 2015. Intel Memory Protection Keys. https://lwn.net/Articles/643797/. 02. 20. 2023 

  17. R. Joseph Connor, Tyler McDaniel, Jared M. Smith, and Max Schuchard, "PKU Pitfalls: Attacks on PKU-based Memory Isolation Systems," 29th USENIX Security Symposium (USENIX Security 20), USENIX Association, pp. 1409-1426, 2020. 

  18. Landi, William, and Barbara G. Ryder, "Pointer-induced aliasing: A problem classification," Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pp. 93-103, 1991 

관련 콘텐츠

오픈액세스(OA) 유형

FREE

Free Access. 출판사/학술단체 등이 허락한 무료 공개 사이트를 통해 자유로운 이용이 가능한 논문

이 논문과 함께 이용한 콘텐츠

저작권 관리 안내
섹션별 컨텐츠 바로가기

AI-Helper ※ AI-Helper는 오픈소스 모델을 사용합니다.

AI-Helper 아이콘
AI-Helper
안녕하세요, AI-Helper입니다. 좌측 "선택된 텍스트"에서 텍스트를 선택하여 요약, 번역, 용어설명을 실행하세요.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.

선택된 텍스트

맨위로