Memory corruption là gì?
- ★
- ★
- ★
- ★
- ★
Lỗi bộ nhớ (memory corruption) chủ yếu xảy ra trong các ngôn ngữ lập trình cấp thấp (low-level programming language) như C hoặc C++. Đó là một trong những vấn đề tồn tại hơn 30 năm khi nói đến chủ đề bảo mật máy tính (computer security). Việc thiếu an toàn bộ nhớ (memory safety) hoặc an toàn kiểu (type safety) trong các ngôn ngữ như vậy cho phép kẻ tấn công (attacker) khai thác lỗi bộ nhớ (memory corruption) bằng cách thay đổi hành vi của chương trình hoặc thậm chí bằng cách chiếm toàn quyền kiểm soát.
Các phương thức malloc() / calloc() trong ngôn ngữ lập trình C / C ++ và được sử dụng để cấp phát (allocation) và giải phóng (deallocation) bộ nhớ. Đôi khi, các phần tử (element) của mảng được truy cập vượt quá giới hạn mảng có thể tạo ra nhiều vấn đề.
Việc khai thác lổ hỏng này có thể được dừng lại bằng cách ngăn chặn tràn ngăn xếp (stack overflows), heap overflow và integer overflow. Tràn ngăn xếp cho đến nay là loại lỗi hỏng bộ nhớ (memory corruption) được khai thác phổ biến nhất. Các ngôn ngữ lập trình như Java, Ada, SML, v.v. an toàn hơn nhiều so với C / C++.
Learning English Everyday