메뉴 건너뛰기
.. 내서재 .. 알림
소속 기관/학교 인증
인증하면 논문, 학술자료 등을  무료로 열람할 수 있어요.
한국대학교, 누리자동차, 시립도서관 등 나의 기관을 확인해보세요
(국내 대학 90% 이상 구독 중)
로그인 회원가입 고객센터 ENG
주제분류

추천
검색

논문 기본 정보

자료유형
학위논문
저자정보

노태현 (성균관대학교, 성균관대학교 일반대학원)

지도교수
이호준
발행연도
2023
저작권
성균관대학교 논문은 저작권에 의해 보호받습니다.

이용수5

표지
AI에게 요청하기
추천
검색

이 논문의 연구 히스토리 (2)

초록· 키워드

오류제보하기
소프트웨어 시스템이 점점 더 복잡해지면서 소프트웨어 취약점을 줄이고 관리하는 비용도 증가하고 있다. 이 문제를 해결하기 위해 C/C++와 같은 전통적인 언어 대신 Rust 프로그래밍 언어가 제안되었다. Rust는 메모리 안전성을 보장하며, Buffer Overflow, Use-After-Free 및 Null pointer dereference와 같은 긴 역사를 가진 보안 취약점들로부터 해방되게 되었다. 하지만, Rust 또한 항상 안전한 것은 아니며, 예를 들면 가상 주소값을 직접 다뤄야 하는 저수준의 프로그래밍 모델에서는 Unsafe Rust를 통해서 컴파일러 없이 개발자가 코드의 안전성을 검증하도록 하였다. 본 논문에서 주목한 점은 메모리 안전성 보장에도 불구하고, 이전 코드와의 호환성을 유지하거나 중복 개발을 피하기 위해 C/C++로 작성된 라이브러리를 사용해야 하는 경우가 여전히 있고 이를 지원하는 외부 함수 인터페이스(Foreign Function Interface)가 Unsafe Rust의 일부라는 것이다. 엄격한 컴파일 과정을 거치는 Rust 프로그램에 비해 외부 라이브러리의 실행 및 결과에 대해 확신할 수 없기 때문에 이는 당연하나, 최근 언어 간의 위협 모델이 다름을 이용한 공격들이 제시되었다. 이런 유형의 공격에 대한 방어책으로, 안전하지 않은 C/C++ 코드를 Rust 코드로부터 격리하는 기술이 지속해서 연구되고 있다.
본 논문은 앞선 논문들에서 놓치고 있는 맹점에 관해 설명하고 두 언어의 주소 공간을 격리하는 것은 전제조건이 될 수는 있으나 충분조건이 될 수 없음을 보이고자 한다. 상용 프로그램의 코드 예제와 함께 성공적인 격리 기술을 위해 고려해야 할 요점들을 나열하고, 궁극적으로 Rust와 C/C++ 코드 간 안전한 상호작용 모델 연구의 방향을 제시하고자 한다.

목차

목차 i
표 목차 ii
그림 목차 ii
국문 요약 iii
제1장 서론 5
제2장 이론적 배경 7
2.1 Rust 프로그래밍 언어 7
2.2 다중 언어 소프트웨어와 외부 함수 인터페이스 11
2.3 위협 모델 12
제3장 Rust-C/C++ 격리 기술 비교 분석 및 평가 14
3.1 하드웨어 기반 격리 기술 14
3.2 운영체제 기반 격리 기술 16
3.3 Unsafe Rust 격리 기술 19
제4장 기존 연구들의 맹점 및 향후 연구 방향 제시 22
4.1 맹점 분석 22
4.2 Rust 자료형 공유 24
4.3 상태 변수 26
4.4 Callback 함수 28
4.5 성능 측정 및 분석 29
제5장 결론 34
참고문헌 36
Abstract 39

최근 본 자료

전체보기

댓글(0)

0