Ngăn xếp tràn bộ đệm
từ Wikipedia, bách khoa toàn thư miễn phí
Đối với các ứng dụng khác, xem ngăn xếp tràn (định hướng). Trong phần mềm, một tràn bộ đệm hoặc đống đệm tràn xảy ra khi một chương trình viết cho một địa chỉ bộ nhớ của chương trình cuộc gọi stack bên ngoài của các dữ liệu nhằm mục đích cơ cấu; thường là một bộ đệm chiều dài cố định. [1] [2] lỗi tràn bộ đệm gây ra khi một chương trình ghi dữ liệu nhiều hơn đến một bộ đệm nằm trên stack hơn là thực sự phân bổ cho bộ đệm. Điều này hầu như luôn luôn dẫn đến tham nhũng của dữ liệu liền kề trên stack, và trong trường hợp tràn bộ nhớ đã được kích hoạt bởi sai lầm, thường sẽ gây ra các chương trình sụp đổ hoặc hoạt động không chính xác. Ngăn xếp tràn bộ đệm là một loại của sự cố lập trình tổng quát hơn được gọi là tràn bộ đệm (hoặc đệm tràn ngập). [1] Overfilling một bộ đệm trên stack có nhiều khả năng làm hỏng chương trình thực hiện hơn overfilling một bộ đệm trên heap vì stack chứa trở lại địa chỉ cho tất cả các cuộc gọi chức năng hoạt động. Ngăn xếp tràn bộ nhớ đệm có thể được gây ra cố ý như là một phần của một cuộc tấn công được gọi là chồng đập. Nếu chương trình bị ảnh hưởng đang chạy với ưu đãi đặc biệt, hoặc chấp nhận dữ liệu từ máy chủ mạng không tin cậy (ví dụ như một máy chủ web) thì lỗi là một lỗ hổng bảo mật tiềm năng. Nếu ngăn xếp đệm được làm đầy với dữ liệu được cung cấp từ một người sử dụng không đáng tin cậy sau đó người sử dụng có thể bị hỏng ngăn xếp theo cách như vậy là để đưa mã thực thi vào chương trình đang chạy và kiểm soát quá trình này. Đây là một trong những phương pháp lâu đời nhất và đáng tin cậy hơn cho một kẻ tấn công để truy cập trái phép vào máy tính. [3] [4] [5]
đang được dịch, vui lòng đợi..
![](//viimg.ilovetranslation.com/pic/loading_3.gif?v=b9814dd30c1d7c59_8619)