Chulalongkorn University Theses and Dissertations (Chula ETD)

BUFFER-OVERFLOW PROTECTION USING BOUNDARY BIT

Other Title (Parallel Title in Other Language of ETD)

การป้องกันบัฟเฟอร์โอเวอร์โฟลว์ด้วยวิธีบิตระบุขอบเขต

Year (A.D.)

2016

Document Type

Thesis

First Advisor

Krerk Piromsopa

Faculty/College

Faculty of Engineering (คณะวิศวกรรมศาสตร์)

Degree Name

Doctor of Philosophy

Degree Level

Doctoral Degree

Degree Discipline

Computer Engineering

DOI

10.58837/CHULA.THE.2016.1477

Abstract

Boundary Bit is a new architectural bound-checking approach for preventing against buffer-overflow attacks. It adds an associated bit to each memory entry to support bound checking. To make a boundary, software can simply set a (boundary) bit. On memory writing, hardware will dynamically validate limit using the boundary bit. With a minimal hint from software (compiler), our architectural design eliminates most (if not all) types of buffer-overflow attacks, including attacks on non-control data (variables and arguments) and array-indexing errors. Software can easily support Boundary Bit with few (minor) modification. Boundary Bit is secure and efficient with few (none) performance degradation. Our implementation shows that hardware can absorbed most bit-scanning overhead by using bitmap. An 1-level bitmap with proper size is better than a 2-level bitmap.

Other Abstract (Other language abstract of ETD)

การป้องกันบัฟเฟอร์โอเวอร์โฟลว์ด้วยวิธีบิตระบุขอบเขต คือการตรวจสอบขอบเขตด้วยวิธีทางสถาปัตยกรรม เพื่อป้องกันการโจมตีด้วยบัฟเฟอร์โอเวอร์โฟลว์ วิธีนี้จะเพิ่มบิตระบุขอบเขต 1 บิตของหน่วยความจำทุกแถวสำหรับการตรวจสอบขอบเขต และซอฟต์แวร์จะกำหนดค่าบิตระบุขอบเขตนี้เพื่อสร้างขอบเขตขึ้นมา เมื่อต้องการเขียนบนหน่วยความจำนี้ ฮาร์ดแวร์จะตรวจสอบขอบเขตด้วยบิตระบุขอบเขตนี้ การออกแบบสถาปัตยกรรมนี้สามารถป้องกันการโจมตีด้วยบัฟเฟอร์โอเวอร์โฟลว์ได้เกือบทุกรูปแบบ ซึ่งรวมถึงการโจมตีข้อมูลส่วนที่ไม่เป็นตัวควบคุมระบบ เช่น ตัวแปร และอาร์กิวเมนต์ เป็นต้น และรูปแบบอาร์เรย์อินเด็กซิงเออเรอร์ (Array Indexing Errors) ด้วย ซอฟต์แวร์สามารถนำวิธีบิตระบุขอบเขตมาปรับใช้ได้ง่าย นอกจากนี้ วิธีบิตระบุขอบเขตมีประสิทธิภาพในการป้องกันการโจมตีด้วยบัฟเฟอร์โอเวอร์โฟลว์ โดยลดสมรรถนะของระบบน้อยมาก เนื่องจากฮาร์ดแวร์สามารถลดค่าใช้จ่ายส่วนใหญ่ในการตรวจสอบบิตลงได้ ด้วยการใช้แผนที่บิต (Bitmap) ที่มี 1 ชั้นและมีขนาดที่เหมาะสม จะดีกว่าการใช้แผนที่บิตที่มี 2 ชั้น

Share

COinS