Lỗi tràn bộ đệm

Trong các lĩnh vực an ninh máy tính và lập trình, một lỗi tràn bộ nhớ đệm hay gọi tắt là lỗi tràn bộ đệm là một lỗi lập trình có thể gây ra một ngoại lệ truy nhập bộ nhớ máy tính và chương trình bị kết thúc, hoặc khi người dùng có ý phá hoại, họ có thể lợi dụng lỗi này để phá vỡ an ninh hệ thống. Lỗi tràn bộ đệm là một điều kiện bất thường khi một tiến trình lưu dữ liệu vượt ra ngoài biên của một bộ nhớ đệm có chiều dài cố. | Lôi tràn bộ đệm Trong các lĩnh vực an ninh máy tính và lập trình một lôi tràn bộ nhớ đệm hay gọi tắt là lôi tràn bộ đệm là một lôi lập trình có thể gây ra một ngoại lệ truy nhập bộ nhớ máy tính và chương trình bị kết thúc hoặc khi người dùng có ý phá hoại họ có thể lợi dụng lôi này để phá vỡ an ninh hệ thống. Lôi tràn bộ đệm là một điêu kiện bât thường khi một tiến trình lưu dữ liệu vượt ra ngoài biên của một bộ nhớ đệm có chiêu dài cố định. Kết quả là dữ liệu đó sẽ đè lên các vị trí bộ nhớ liên kê. Dữ liệu bị ghi đè có thể bao gồm các bộ nhớ đệm khác các biến và dữ liệu điều khiển luồng chạy của chương trình program flow control . Các lôi tràn bộ đệm có thể làm cho một tiến trình đổ vỡ hoặc cho ra các kết quả sai. Các lôi này có thể được kích hoạt bởi các dữ liệu vào được thiết kế đặc biệt để thực thi các đoạn mã phá hoại hoặc để làm cho chương trình hoạt động một cách không như mong đợi. Bằng cách đó các lôi tràn bộ đệm gây ra nhiêu lô hổng bảo mật vulnerability đối với phần mêm và tạo cơ sở cho nhiêu thủ thuật khai thác exploit . Việc kiểm tra biên bounds checking đầy đủ bởi lập trình viên hoặc trình biên dịch có thể ngăn chặn các lôi tràn bộ đệm. Mô tả kỹ thuật Một lôi tràn bộ nhớ đệm xảy ra khi dữ liệu được viết vào một bộ nhớ đệm mà do không kiểm tra biên đầy đủ nên đã ghi đè lên vùng bộ nhớ liên kê và làm hỏng các giá trị dữ liệu tại các địa chỉ bộ nhớ kê với vùng bộ nhớ đệm đó. Hiện tượng này hay xảy ra nhât khi sao chép một xâu ký tự từ một bộ nhớ đệm này sang một vùng bộ nhớ đệm khác. Ví dụ cơ bản Trong ví dụ sau một chương trình đã định nghĩa hai phần tử dữ liệu kê nhau trong bộ nhớ A là một bộ nhớ đệm xâu ký tự dài 8 bytes và B là một số nguyên kích thước 2 byte. Ban đầu A chỉ chứa toàn các byte giá trị 0 còn B chứa giá trị 3. Các ký tự có kích thước 1 byte. hình 1 Bây giờ chương trình ghi một xâu ký tự excessive vào bộ đệm A theo sau là một byte 0 để đánh dấu kết thúc xâu. Vì không kiểm tra độ dài xâu nên xâu ký tự mới đã đè lên giá trị của B A A A A A

Không thể tạo bản xem trước, hãy bấm tải xuống
TỪ KHÓA LIÊN QUAN
TÀI LIỆU MỚI ĐĂNG
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.