Buffer overflow là gì

     

Tràn cỗ đệm chắc hẳn rằng là một trong những dạng lỗ hổng bảo mật ứng dụng được nghe biết các độc nhất. Hầu không còn các nhà cách tân và phát triển này đầy đủ biết lỗ hổng là gì tuy thế các cuộc tấn công tràn bộ đệm gần như vẫn còn sẽ xẩy ra bên trên các áp dụng tất cả phần đông áp dụng bắt đầu được cải tiến và phát triển lẫn hầu hết vận dụng đã có sinh ra từ rất lâu.

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


Đang xem: Buffer overflow là gì

Tràn bộ đệm là gì ?

Lỗi tràn cỗ đệm tuyệt còn gọi là ( Buffer Overflow ) biểu thị một sự kiện bất thường của chương trình lúc các bước lưu trữ tài liệu quá ra phía bên ngoài biên của một bộ lưu trữ đệm được cấp phép bao gồm chiều lâu năm nhất thiết. Kết trái dẫn mang lại dữ liệu có thể bị ghi đè lên trên các bộ lưu trữ cạnh bên. Dữ liệu bị ghi đnai lưng có thể bao hàm những bộ nhớ đệm khác, các trở thành với các thanh ghi điều khiển luồng thứ trường đoản cú của cả công tác. Ttai hại của lỗi tràn cỗ đệm hoàn toàn có thể gây ra có thể làm cho hư tài liệu, làm cho lỗi lịch trình hoặc tạo ra câu hỏi tiến hành mã độc.

Tràn cỗ đệm hoàn toàn có thể tác động tới hồ hết các loại phần mềm, chúng thường là những tác dụng của nguồn vào bất ổn định dạng hoặc không phân bổ đủ không gian lưu trữ mang lại cỗ đệm. Một ví dụ đơn giản và dễ dàng tiếp sau đây, phân chia bộ nhớ lưu trữ đến đọc tin đăng nhập được thiết kế theo phong cách để muốn ngóng thương hiệu người tiêu dùng cùng password được nhâp vào là 8 byte. Vì vậy ví như ai đó cố tình nhập vào 10 byte công tác có thể ghi vượt thừa tài liệu qua nhóc giới cỗ đệm.

*
*
*
*
*
*
Kỹ Thuật Tấn Công Buffer Overflow Là Gì ? Buffer Overflow Là Gì 10

Trong staông chồng có 3 tkhô nóng ghi mà lại ta sẽ buộc phải hiểu thật kỹ càng để cố gắng được phương pháp hoạt động của stack:

EBPhường ( Extended Base Pointer ): Lưu shop của địa chỉ nhưng tài liệu đầu tiên được nhập vào stachồng bởi vì vậy nó luôn luôn được trỏ tới nền của frame hiện tại tạiESPhường ( Extended Staông xã pointer ): Lưu liên hệ tiếp theo đề nghị được nhtràn lên stack cho nên nó luôn trỏ tới đỉnh của stackEIP ( Extended Instruction Pointer ): Lưu liên quan tiếp theo của lệnh cần được thực thi.

Quá trình Call hàm được chia làm ba bước nlỗi sau:

Khởi đầu (Prologue): giữ lại các tinh thần stack, cấp phát vùng nhớđiện thoại tư vấn hàm (call): đẩy EIP vào staông xã với dancing cho tới tương tác của hàmKết thúc (Epilogue): phục sinh lại trạng thái như lúc trước Khi Hotline hàm

Ví dụ: add (3, 4)

Chương thơm trình sẽ push 3 với 4 vào stack

Đôi khi những đổi thay toàn cục và tsi số được tróc nã xuất qua độ dời của địa điểm (offset) so với EBPhường. Trong đó:

EBP-n: Local variablesEBP+n: Parameters

Qua đó trả sử bạn cũng có thể ghi đè lên con trỏ EIP.. cùng với dữ liệu trỏ đến xúc tiến của một vùng đựng mã tiến hành nhưng chúng ta ý muốn thì điều gì đang xảy ra?Một ví dụ về tràn bộ nhớ đệm trên stachồng cùng phương pháp khai thác nó

Một ví dụ về tràn bộ nhớ đệm bên trên staông xã và cách khai thác nó

Phần mền tồn tại lỗ hổng tràn cỗ đệm mình thực hiện sinh sống đấy là Easy RM lớn MP3 Converter. Mọi người có thể download nó về trên đây, Sau Lúc setup xong:

Đây là 1 phần mượt chất nhận được convert trường đoản cú Realplayer streaming clips sang trọng Mp3 bằng cách load cùng lựa chọn 1 tệp tin bạn muốn.

Xem thêm: Uzumaki Naruto - ( Đồng Nhân Naruto) Cùng Nhau Chiến Đấu Nhé!

Tyêu thích khảo cụ thể ở chỗ này vị chamichi.com.vn không cho viết lâu năm thừa :(.

Kết trái mình đã cnhát được đoạn code hiển thị dialog box windows tất cả câu chữ là Hello World.

Hậu quả Khi lâu dài lỗ hổng tràn cỗ đệmCode injectionDDOS hệ thốngLeo thang sệt quyền….Cách khắc phục lỗ hổng tràn bộ đệm

Đối cùng với một vài ngôn ngữ thiết kế như C:

Khai báo không gian bộ lưu trữ lớn hơn những lần đối với tài liệu được nhtràn lên.Xử lý những xâu bình an. Tránh những lỗi thường chạm mặt Lúc xử lý xâu như: Unbounded string copies, Null-termination errors, Write outside array bounds, Off-by-one errors, Improper data sanitizationCác hàm phải sử dụng:

Hay đối với các hệ quản lý và điều hành cũng rất nhiều cung cấp cách thức đảm bảo bộ nhớ:

Address space randomization (ASLR): Di chuyển tự dưng bao phủ các vị trí không gian xúc tiến của các vùng dữ liệu. Thông thường những cuộc tấn công tràn bộ đệm cần biết được khu vực tàng trữ của mã triển khai cùng vấn đề hốt nhiên không khí shop làm cho điều đó số đông cần yếu xảy ra.Data execution prevention: Gắn cờ thiên nhiên vào những khu vực nhất định của bộ nhớ là không được thực thi hoặc không thể thực thi, điều này ngăn ngừa câu hỏi chạy mã xúc tiến trong những vùng bị cấm.Structured exception handler overwrite protection (SEHOP): Giúp ngăn chặn mã độc tiến công trường đoản cú Structured Exception Handling (SEH) — một hệ thống tích phù hợp nhằm quản lý những ngoại lệ phần cứng và ứng dụng. Do đó ngăn ngừa kẻ tấn công hoàn toàn có thể thực hiện chuyên môn khai thác ghi đtrằn SHE. Tại cấp độ hàm, ghi đè SHE có được bằng cách thực hiện tràn bộ đệm dựa vào staông chồng nhằm ghi đè lên bản ghi đăng kí ngoại lệ được lưu trữ trên luồng của ngnạp năng lượng xếp.

Xem thêm: Phim Song Long Truyền Kỳ Tập 39, Song Long Truyền Kỳ Tập 39

Đây là một số trong những ghi chép của bản thân mình về vụ việc tràn bộ nhớ đệm. Xin gửi lời cảm ơn cho tới fan Thầy môn Lập trình an toàn đang truyền cảm giác cho khách hàng về phần đông kỹ năng hữu ích này.


Chuyên mục: Thông tin