Skip to main content

บัฟเฟอร์ล้นคืออะไร?

บัฟเฟอร์ล้นเกิดขึ้นเมื่อโปรแกรมกำลังพยายามเขียนลงในบัฟเฟอร์และขั้นตอนนอกขอบเขตทำให้โปรแกรมเขียนข้อมูลไปยังหน่วยความจำที่อาจเป็นของโปรแกรมอื่นสิ่งนี้ละเมิดความสมบูรณ์ของหน่วยความจำภายในระบบปฏิบัติการส่งผลให้เกิดข้อผิดพลาดร้ายแรงและความผิดพลาดที่อาจเกิดขึ้นสำหรับโปรแกรมการดำเนินการอันตรายที่สำคัญของบัฟเฟอร์ล้นมาจากสององค์ประกอบสำคัญก่อนอื่นข้อมูลที่เขียนนอกบัฟเฟอร์จะหายไปอย่างเห็นได้ชัดเนื่องจากแผนที่หน่วยความจำคอมพิวเตอร์ mdash;รายการตำแหน่งหน่วยความจำ mdash;ไม่สามารถอธิบายได้ประการที่สองบัฟเฟอร์ล้นอาจเขียนทับข้อมูลที่เก็บไว้ในหน่วยความจำสำหรับโปรแกรมอื่นโดยไม่ได้ตั้งใจรบกวนการดำเนินการของโปรแกรมอื่นได้อย่างมีประสิทธิภาพเช่นกัน

บัฟเฟอร์เป็นภูมิภาคของหน่วยความจำที่ใช้เป็นที่เก็บชั่วคราวในขณะที่คอมพิวเตอร์กำลังถ่ายโอนข้อมูลจากหนึ่งชี้ไปที่อื่นการใช้บัฟเฟอร์ที่พบบ่อยที่สุดมักจะอยู่ในวิดีโอหรือการเล่นเสียงโดยที่คอมพิวเตอร์ชี้นำวิดีโอหรือเสียงเพิ่มเติมในหน่วยความจำเพิ่มเติม x วินาทีเพื่อให้แน่ใจว่าการเล่นจะไม่ถูกขัดจังหวะหากมีอะไรผิดปกติในระบบชั่วคราวบัฟเฟอร์มีอยู่ภายในตำแหน่งเฉพาะที่กำหนดไว้ภายในหน่วยความจำคอมพิวเตอร์เหมือนประเทศที่มีอยู่ภายในเส้นขอบเขตที่วาดบนแผนที่การก้าวออกไปข้างนอกสายเสมือนเหล่านี้ส่งผลให้เกิดปัญหาไม่เพียง แต่สำหรับโปรแกรมที่ทำงาน แต่สำหรับโปรแกรมอื่น ๆ ในระบบ

โดยพื้นฐานแล้วโปรแกรมได้ก้าวออกไปนอกเขตอำนาจศาลที่ได้รับมอบหมายและได้บุกรุกพื้นที่ของโปรแกรมการทำงานอื่นเมื่อสิ่งนี้เกิดขึ้นข้อมูลที่เขียนนอกบัฟเฟอร์จะหลุดออกจากแผนที่คอมพิวเตอร์อย่างมีประสิทธิภาพกล่าวอีกนัยหนึ่งระบบไม่มีวิธีการดึงข้อมูลอีกต่อไปเนื่องจากคอมพิวเตอร์เท่านั้นที่รู้ว่าจะค้นหาข้อมูลบัฟเฟอร์ภายในพื้นที่บัฟเฟอร์เฉพาะที่จัดสรรในหน่วยความจำจึงไม่มีวิธีใดที่จะทราบว่าข้อมูลที่ล้นไป

นอกเหนือจากนี้บัฟเฟอร์ล้นมีศักยภาพที่จะขัดขวางโปรแกรมอื่น ๆ ที่ทำงานบนคอมพิวเตอร์ลองนึกภาพว่าพื้นที่จัดเก็บหน่วยความจำที่ด้านใดด้านหนึ่งของบัฟเฟอร์ได้รับมอบหมายให้กับโปรแกรมที่ทำงานอื่น ๆ แล้วเมื่อข้อมูลในบัฟเฟอร์มีเลือดออกผ่านพื้นที่ที่ออกแบบมาแล้วมันจะเขียนทับและเสียหายข้อมูลใด ๆ ที่เก็บไว้ในส่วนของหน่วยความจำเหล่านั้นดังนั้นบัฟเฟอร์ล้นจึงเป็นปัญหาที่สามารถบ่อนทำลายประสิทธิภาพของโปรแกรมที่อยู่ติดกันเช่นเดียวกับการทำลายการทำงานของตัวเอง