Rust는 강력한 타입과 메모리 안전성 보장으로 안전한 시스템 프로그래밍 언어로서 인기를 얻고 있다. 그러나 Rust도 완벽한 메모리 안전을 보장하지는 않는다. "unsafe" 키워드는 보안 대신 유...
http://chineseinput.net/에서 pinyin(병음)방식으로 중국어를 변환할 수 있습니다.
변환된 중국어를 복사하여 사용하시면 됩니다.
https://www.riss.kr/link?id=T16841172
서울 : 성균관대학교 일반대학원, 2023
학위논문(석사) -- 성균관대학교 일반대학원 , 소프트웨어학과 , 2023. 8
2023
한국어
서울
iii, 27 p. : 삽화(일부천연색) ; 30 cm
지도교수: 이호준
참고문헌: p. 23-25
I804:11040-000000174979
0
상세조회0
다운로드국문 초록 (Abstract)
Rust는 강력한 타입과 메모리 안전성 보장으로 안전한 시스템 프로그래밍 언어로서 인기를 얻고 있다. 그러나 Rust도 완벽한 메모리 안전을 보장하지는 않는다. "unsafe" 키워드는 보안 대신 유...
Rust는 강력한 타입과 메모리 안전성 보장으로 안전한 시스템 프로그래밍 언어로서 인기를 얻고 있다. 그러나 Rust도 완벽한 메모리 안전을 보장하지는 않는다. "unsafe" 키워드는 보안 대신 유연성을 위해 Rust의 복잡한 제약을 일시적으로 벗어날 수 있도록 한다. 또한, Rust 프로그램은 종종 C/C++ 와 같은 안전하지 않은 언어로 작성된 다양한 코드베이스 구성요소를 포함한다. 이러한 이기종 언어 간의 상호작용은 Unsafe 키워드로 작성된 코드에 더해 Rust의 안전성을 위협한다. RustSan은 Rust 프로그램의 효율적인 테스팅을 위한 AddressSanitizer (ASan)을 최적화하는 디자인이다. 우리는 Rust 기반 프로그램에서 ASan으로 보호된 코드 상당 부분이 Rust의 기본적인 보호에 의해 보호되고 있고 이미 안전한 코드여서 ASan의 보호가 필요 없음을 확인했다. 이를 기반으로 RustSan은 Rust의 언어적 보안을 깨트릴 수 있는 가능성이 있는 코드를 식별하고 이 부분들만 ASan으로 보호한다. 평가에서 RustSan은 sanitizer 오버헤드를 효율적으로 감소시키는 것을 볼 수 있다. RustSan을 사용하여 벤치마크를 수행한 결과, 기존의 ASan에 대비해 일반적인 Rust 프로그램에서 평균 42.2%의 실행 시간 감소를 달성한다. 또한, RustSan의 sanity check의 삭제에 대한 정확성은 Rust 프로그램의 CVE 재현을 통해 검증되었다.
다국어 초록 (Multilingual Abstract)
Rust is gaining traction as a safe systems programming language with its strong type and memory safety guarantees. However, Rust is not infallible. The "unsafe" keyword allows the programmer to temporarily escape the Rust restrictions to trade securit...
Rust is gaining traction as a safe systems programming language with its strong type and memory safety guarantees. However, Rust is not infallible. The "unsafe" keyword allows the programmer to temporarily escape the Rust restrictions to trade security for flexibility. Moreover, Rust programs often embed C/C++ components due to the maturity and diversity of codebases written in these unsafe languages. Such cross-language interaction threatens the security guarantees of Rust in addition to the unsafe Rust portions of programs in Rust. RustSan is a retrofitted design of AddressSanitizer (ASan) for efficient fuzzing of Rust programs. Our observation is that a significant portion of ASan-instrumented instructions in a Rust-based program is redundant when the Rust security guarantees are valid at the site. To this end, RustSan identifies and only instruments instructions that indeed may undermine Rust security guarantees. Our evaluation shows RustSan efficiently reduces the sanitizer overhead. Benchmarking among the general Rust programs with RustSan achieves an average of 42.2% execution time reduction over unmodified ASan. Also, the accuracy of RustSan’s instrumentation trimming is verified through the reproduction of CVEs in Rust programs in addition to our theoretical foundation.
목차 (Table of Contents)