Chulalongkorn University Theses and Dissertations (Chula ETD)
Other Title (Parallel Title in Other Language of ETD)
ผู้คุมขอบเขต: สายโยงใยรักษาความปลอดภัยเชิงพื้นที่สำหรับหน่วยความจำผ่านทางการแปลงชุด คำสั่งโดยตัวแปลโปรแกรม
Year (A.D.)
2018
Document Type
Thesis
First Advisor
Krerk Piromsopa
Faculty/College
Faculty of Engineering (คณะวิศวกรรมศาสตร์)
Department (if any)
Department of Computer Engineering (ภาควิชาวิศวกรรมคอมพิวเตอร์)
Degree Name
Doctor of Engineering
Degree Level
Doctoral Degree
Degree Discipline
Computer Engineering
DOI
10.58837/CHULA.THE.2018.154
Abstract
This dissertation presents BoundWarden, a novel runtime spatial memory safety enforcement technique that comprehensively detects and prevents buffer overflow and other out-of-bound errors in buffers on stack, heap, and BSS and data segments of memory. BoundWarden leverages the ubiquity of multi-core processors by offloading most of the works to a dedicated bound checking thread, which performs bound checking and manages metadata, thus reducing the runtime overhead. Since BoundWarden stores base and bound of buffers in a dedicated bound table, the memory layout of programs remains unchanged, thus preserving compatibility with existing libraries and binaries. Experiments showed that the prototype of BoundWarden is effective at enforcing spatial memory safety by successfully detected all 850 attacks of RIPE test suite, and 94% (1,092 out of 1,164 tests) of NIST SARD Test Suite 89, while the results from Olden benchmark showed that on average BoundWarden introduced roughly 2.25x overhead, compared to the uninstrumented code.
Other Abstract (Other language abstract of ETD)
วิทยานิพนธ์ฉบับนี้นำเสนอผู้คุมขอบเขต โดยผู้คุมขอบเขตคือระบบรักษาความปลอดภัยเชิงพื้นที่ สำหรับหน่วยความจำที่สามารถทำการตรวจจับและป้องกันบัฟเฟอร์โอเวอร์โฟลว์และข้อผิดพลาดต่างๆ ที่เกิดขึ้นจากการอ่านหรือเขียนข้อมูลที่อยู่นอกขอบเขตของบัฟเฟอร์ ไม่ว่าบัฟเฟอร์นั้นจะอยู่ในหน่วยความจำแบบกองซ้อน, ฮีป, BSS, หรือ ดาต้าเซกเมนต์ก็ตาม ผู้คุมขอบเขตใช้ประโยชน์จากความแพร่ หลายของตัวประมวลผลหลายแกน โดยทำการผลักภาระการตรวจสอบขอบเขตไปให้สายโยงใยตรวจ สอบขอบเขตให้มากที่สุด เพื่อลดผลกระทบทางลบของการตรวจสอบขอบเขตต่อประสิทธิภาพในการทำงานของโปรแกรม นอกจากนี้ ผู้คุมขอบเขตยังทำการบันทึกขอบเขตของแต่ละบัฟเฟอร์ลงในตารางบันทึกขอบเขตแทนที่จะต้องทำการแก้ไขโครงสร้างของหน่วยความจำ ทำให้ลดปัญหาที่อาจจะเกิดขึ้น จากการทำงานร่วมกับคลังโปรแกรมและไบนารี่ต่างๆ ผลจากการทดลองแสดงให้เห็นว่า ผู้คุมขอบเขต มีประสิทธิภาพในการรักษาความปลอดภัยเชิงพื้นที่ โดยผู้คุมขอบเขตนั้นสามารถตรวจจับและป้องกัน การโจมตีทั้ง 850 แบบของชุดทดสอบ RIPE และผ่านการประเมินของแบบทดสอบ 1,092 แบบ จากทั้งหมด 1,164 (คิดเป็น 94%) ของชุดทดสอบหมายเลข 89 ของ SARD ในขณะที่ผลจากการทดสอบสมรรถนะการทำงานโดยใช้เกณฑ์เปรียบเทียบสมรรถนะ Olden แสดงให้เห็นว่าโปรแกรมที่ใช้ผู้คุมขอบเขตมีสมรรถนะการทำงานลดลงโดยประมาณ 2.25 เท่าโดยเฉลี่ย เมื่อเทียบกับโปรแกรมที่ไม่ได้ใช้ผู้คุมขอบเขต
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International License.
Recommended Citation
Dhumbumroong, Smith, "Boundwarden: thread-enforced spatial memory safety through compile-time transformations" (2018). Chulalongkorn University Theses and Dissertations (Chula ETD). 2285.
https://digital.car.chula.ac.th/chulaetd/2285