Home » Tài Liệu nghệ thuật » bảo mật thông tin » Buffer Overflow là gì? tò mò về lỗi tràn cỗ đệm

Buffer Overflow là gì?

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

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


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


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


*
*

Vậy bí quyết chống Buffer Overflow là gì? các developer rất có thể ngăn chặn lỗ hổng Buffer Overflow thông qua các biện pháp bảo mật thông tin với code. Hoặc dễ dàng là thực hiện những ngôn ngữ có tích hợp tài năng bảo vệ.

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

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

Xem thêm: Pm Nghĩa Là Gì Trên Facebook, Khi Nào Dùng Pm Trong Facebook, Xem Thời Gian

Dĩ nhiên, những biện pháp bảo mật về code hay hệ thống vẫn chưa hoàn toàn là đầy đủ để 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, cần phải hối hả vá các phần mềm bị ảnh hưởng. Đồng thời bảo vệ người dùng của phần mềm có thể truy cập được các bản 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ó cũng giống như các cách hoàn toàn có thể ngăn ngăn được Buffer Overflow attack. Chúc chúng ta thành công!