Skip to main content

Con trỏ lơ lửng là gì?

Một con trỏ lơ lửng là một lỗ hổng lập trình xảy ra trong mã hóa hướng đối tượng khi một đối tượng con trỏ trỏ đến một đối tượng khác không còn tồn tại.Trong trường hợp này, một con trỏ không phải là con trỏ chuột mà là một đối tượng con trỏ dự định gửi người dùng đến một đối tượng khác.Lỗ hổng này tạo ra những lỗi tinh tế có thể trở nên tồi tệ hơn theo thời gian và cũng đưa ra một vấn đề bảo mật mà tin tặc lành nghề có thể tấn công.Một con trỏ lơ lửng xảy ra khi một lập trình viên xóa đối tượng được chỉ ra nhưng không xóa chính con trỏ. Trong mã hóa hướng đối tượng, trong đó mã hóa được tách thành các đối tượng, có một trường hợp được gọi là con trỏ.Thể hiện con trỏ được đặt ở đâu đó trong chương trình, thường là trong menu và dẫn người dùng đến một đối tượng khác.Ví dụ: nếu người dùng nêu bật một phần của menu, một menu khác mdash;một thả xuống mdash;xuất hiện.Điều này cho phép lập trình viên thiết lập một số đối tượng trong một phần mà không thu hút phần.Nếu lập trình viên cũng xóa thể hiện con trỏ, sẽ không có vấn đề gì.Nếu lập trình viên quên và giữ con trỏ trong mã hóa, điều này sẽ tạo ra một con trỏ lơ lửng và đưa ra cả vấn đề chất lượng và an toàn. Về chất lượng, một con trỏ lủng lẳng trông cẩu thả và tạo ra các lỗi tinh tế.Điều này là do chương trình không biết cách hành động, bởi vì nó được yêu cầu làm điều gì đó nhưng không thể vì đối tượng đã biến mất.Hành động này tạo ra mã ngẫu nhiên hoặc làm suy giảm mã theo những cách nhỏ, tinh tế khó phát hiện.Những lỗi này có thể nhỏ như làm cho chương trình di chuyển chậm hơn một chút nhưng cuối cùng có thể tạo ra chương trình mdash;và ngay cả máy tính mdash;Không hoạt động. Hầu hết các chương trình có con trỏ lơ lửng sẽ hoạt động ban đầu và có thể tiếp tục làm việc trong nhiều tháng hoặc thậm chí nhiều năm trước khi các lỗi trở nên rõ ràng.Ngay cả các chương trình tạo ra các tính toán, có nghĩa là con trỏ lơ lửng nằm trong công thức, vẫn có thể tạo ra các tính toán đơn giản.Đây là một trong những lý do tại sao việc tìm kiếm con trỏ lơ lửng có thể rất khó khăn. Cho đến năm 2007, con trỏ lơ lửng chỉ tạo ra các vấn đề an toàn trên lý thuyết.Watchfire Công ty phần mềm sau đó đã thực hiện một chương trình cho thấy những con trỏ lơ lửng có thể được khai thác như thế nào, làm cho rủi ro bảo mật thành hiện thực.Tin tặc có thể xâm nhập vào một chương trình thông qua lỗi này và có thể đưa mã của riêng họ vào chương trình thiếu sót.