Buffer Overflow Là Gì

     

Buffer Overflow là gì?

Trước khi khám phá Buffer Overflow là gì, ta nên biết được quan niệm về Buffer. Buffer (bộ đệm dữ liệu) là vùng tàng trữ dữ liệu tạm bợ thời trong những lúc chờ sẽ được chuyển đến vị trí khác. Buffer Overflow (hay Buffer Overrun) sẽ xẩy ra khi trọng lượng dữ liệu vượt quá khả năng lưu trữ của buffer. Vị đó, khi chương trình cố gắng ghi tài liệu vào vào buffer, nó đã ghi đè lên trên các bộ nhớ lưu trữ liền kề khác.

Bạn đang xem: Buffer overflow là gì


Lấy ví dụ, một buffer lưu giữ trữ tin tức đăng nhập gồm thể được thiết kế sao đến input username cùng password là 8 byte. Bởi vì đó, với những transaction có input mang đến 10 byte, chương trình hoàn toàn có thể ghi dữ liệu thừa (2 byte) thừa quá số lượng giới hạn của buffer.


Vậy ảnh hưởng của Buffer Overflow là gì? hiện tượng kỳ lạ Buffer Overflow có thể gây ra tác động xấu đến toàn bộ các loại phần mềm. Tại sao thường là vì input không nên định dạng, hoặc không khí lưu trữ không được phân chia đủ đến buffer. Ví như transaction ghi đè lên những executable code (mã thực thi), chương trình gồm thể chuyển động không chính xác, gửi ra công dụng sai, crash. Dường như còn hoàn toàn có thể dẫn đến các lỗi truy tìm cập bộ lưu trữ khác.


*
*
*

Vậy cách chống Buffer Overflow là gì? những developer có thể ngăn ngăn lỗ hổng Buffer Overflow thông qua các biện pháp bảo mật với code. Hoặc dễ dàng là sử dụng những ngữ điệu có tích hợp kỹ năng bảo vệ.

Xem thêm: Chất Cách Điện Là Gì? Tìm Hiểu 3 Loại Vật Liệu Nào Là Vật Liệu Cách Điện Là Gì?

Bên cạnh đó, những hệ điều hành và quản lý hiện đại đều có thêm khả năng bảo đảm an toàn runtime. Vào đó, bố biện pháp đảm bảo phổ biến đổi nhất là:

Address Space Layout Randomization (ASLR) – dịch chuyển ngẫu nhiên xung quanh các không gian add của vùng dữ liệu. Thông thường, các cuộc tiến công Buffer Overflow nên biét được địa điểm của executable code, và việc ngẫu nhiên các không gian showroom sẽ hoàn toàn vô hiệu hóa phương pháp tấn công này.Bảo vệ việc tiến hành dữ liệu Falg một số vùng bộ nhớ là non-executable (không thể thực thi) hoặc executable (có thể thực thi) để phòng chặn những cuộc tiến công chạy mã ngơi nghỉ trong vùng non-executable.Structured exception handler overwrite protection (SEHOP) – giúp chống chặn các code độc hại tấn công SEH (Ngoại lệ có cấu trúc) – một hệ thống được tích vừa lòng sẵn để thống trị các nước ngoài lệ (exception) của phần cứng cùng phần mềm. Từ bỏ đó, chống chặn các hacker tận dụng kỹ thuật khai quật ghi đè SEH. Ở lever chức năng, bài toán ghi đè SEH hoàn toàn có thể đạt được bằng phương pháp sử dụng một stack-based Buffer Overflow dể ghi đè một bạn dạng ghi đk ngoại lệ, được lưu trữ trong stack của thread.

Xem thêm: Đất Trồng Có Ba Thành Phần Chính Đó Là, Đất Trồng Gồm Những Thành Phần Nào

Dĩ nhiên, các biện pháp bảo mật thông tin về code hay khối hệ thống vẫn chưa trọn vẹn là đủ để ngăn chặn Buffer Overflow attack. Khi tổ chức triển khai phát hiện bất kỳ lỗ hổng Buffer Overflow nào, buộc phải phải lập cập vá các phần mềm bị ảnh hưởng. Đồng thời đảm bảo người cần sử dụng của phần mềm hoàn toàn có thể truy cập được các bạn dạng vá đó.

Hy vọng sau bài viết này, các chúng ta có thể hiểu được Buffer Overflow là gì, tác động của nó tương tự như các cách hoàn toàn có thể ngăn chặn được Buffer Overflow attack. Chúc chúng ta thành công!