Tấn Công Buffer Overflow

  -  

Tràn bộ đệm có lẽ rằng là dạng lỗ hổng bảo mật ứng dụng được biết đến nhiều nhất. đa số các nhà cải tiến và phát triển này rất nhiều biết lỗ hổng bảo mật là gì, nhưng những cuộc tấn công tràn bộ đệm vẫn đang xẩy ra trên những ứng dụng, cả ứng dụng mới được trở nên tân tiến và vận dụng lâu đời. .

Bạn đang xem: Tấn công buffer overflow

Đang xem: Tràn bộ nhớ lưu trữ đệm là gì

Tràn cỗ đệm là gì?

Tràn cỗ đệm hay nói một cách khác là Buffer Overflow diễn tả một sự kiện không bình thường của công tác khi quá trình lưu trữ dữ liệu vượt vượt ranh giới của vùng đệm được cấp phép có độ lâu năm nhất định. Công dụng là, dữ liệu rất có thể được ghi đè lên bộ nhớ liền kề. Dữ liệu bị ghi đè bao gồm thể bao hàm các bộ đệm, trở nên và thanh ghi khác điều hành và kiểm soát luồng của tổng thể chương trình. Thiệt hại mà lại lỗi tràn cỗ đệm hoàn toàn có thể gây ra rất có thể làm hỏng dữ liệu, làm hỏng lịch trình hoặc gây ra việc xúc tiến mã độc hại.

Tràn bộ đệm tất cả thể tác động đến tất cả các một số loại phần mềm, chúng thường là công dụng của đầu vào không đúng định dạng hoặc không phân bổ đủ dung tích lưu trữ cho cỗ đệm. Như 1 ví dụ đơn giản dưới đây, bài toán cấp phát bộ nhớ lưu trữ cho thông tin đăng nhập được thiết kế theo phong cách để mong ước tên người dùng và mật khẩu đăng nhập được nhập là 8 byte. Vì chưng vậy, ví như ai đó cố tình nhập 10 byte, chương trình rất có thể ghi đè dữ liệu qua ma lanh giới cỗ đệm.

*

Các cuộc tấn công tràn bộ đệm được phân thành hai loại:

Tràn bộ đệm dựa trên ngăn xếp: hay có cách gọi khác là tràn bộ đệm dựa trên ngăn xếp là một trong những cách thức tấn công phổ cập hơn. Nó tận dụng bộ nhớ ngăn xếp chỉ tồn tại trong quy trình thực thi chức năng. Tiến công dựa bên trên heap: có cách gọi khác là tràn bộ nhớ thường khó triển khai hơn, liên quan đến việc lấp đầy không gian bộ nhớ. được phân bổ cho một công tác ngoài bộ nhớ được thực hiện cho thao tác đang chạy hiện tại. Tổ chức triển khai bộ nhớ


Đầu tiên họ hãy coi lại một chút về tổ chức triển khai của cỗ nhớ. Tổ chức bộ nhớ bao hàm các phân đoạn đó là code, data, .bss, heap, stack:

*
*

Đoạn văn bản/mã: giữ trữ những đoạn mã đang biên dịch của chương trình, tài liệu trong vùng này là chỉ phát âm và bao gồm kích thước thắt chặt và cố định (không chũm đổi) cần mọi thao tác làm việc ghi trên vùng dữ liệu này sẽ tạo ra lỗi. Vi phạm luật phân đoạn.Phân đoạn dữ liệu: tàng trữ dữ liệu chung với các giá trị được khởi tạo như biến toàn thể và tổng thể nên size là nạm định. Phân đoạn .bss: lưu trữ dữ liệu chung nhưng không được khởi sản xuất như các biến cục bộ và toàn cầu. Phân đoạn heap: Được thực hiện để cung cấp phát bộ nhớ động từ thấp đến cao. Bộ nhớ lưu trữ heap không được tự động giải phóng.Stack segment: dùng để làm lưu trữ những tham số của hàm và những biến cục bộ bao gồm cả địa chỉ trả về trong số hàm được gọi. Theo kiến ​​trúc cỗ vi xử trí của intel, phòng xếp được phân bổ bộ lưu trữ từ cao xuống thấp. Dữ liệu trong số nhóm được gọi là stack frame và chuyển động theo chế độ LIFO (Last In First Out). Khi điện thoại tư vấn một hàm, việc khởi tạo ra hàm cùng trở về từ bỏ chương trình bé sẽ khiến cho ngăn xếp nắm đổi.

Khung chống xếp là một trong vùng của phòng xếp được chỉ định cho các giá trị được đưa vào phòng xếp. Địa chỉ trả về của form được lưu trong thanh ghi EBP (dành cho chip xử lý Intel). Lấy ví dụ như sau minh họa một khung ngăn xếp, giả sử đấy là một chuỗi call hàm của chương trình:

*

Trong chống xếp có 3 thanh ghi mà bọn họ sẽ phải khám phá kỹ để hiểu cơ chế buổi giao lưu của ngăn xếp:

EBP (Con trỏ đại lý mở rộng): Lưu showroom của vị trí nơi dữ liệu trước tiên được nhập vào phòng xếp để nó luôn được trỏ tới nền của khung lúc này ESP (Con trỏ ngăn xếp mở rộng): Lưu showroom tiếp theo bắt buộc được nhập vào trên phòng xếp nhằm nó luôn luôn trỏ tới đỉnh phòng xếp EIP ( con trỏ chỉ lệnh mở rộng ): Lưu địa chỉ cửa hàng tiếp theo của lệnh buộc phải được thực hiện.


Quá trình hotline hàm được tạo thành ba bước như sau:

Start (Prologue): giữ trạng thái phòng xếp, cấp cho phát bộ lưu trữ Gọi hàm (call): đẩy EIP vào chống xếp và nhảy đến add của hàm xong (Phần kết): phục sinh trạng thái như trước khi gọi hàm

Ví dụ: thêm (3, 4)

Chương trình sẽ đẩy 3 cùng 4 vào ngăn xếp

Thông thường những biến cùng tham số tổng thể được truy vấn thông qua phần bù so với EBP. Vào đó:

EBP-n: vươn lên là cục bộEBP+n: Tham số

Do đó, đưa sử bạn cũng có thể ghi đè lên bé trỏ EIP bằng tài liệu trỏ đến showroom của vùng chứa thực hiện mà chúng ta muốn, điều gì đang xảy ra? Một lấy ví dụ như về tràn ngăn xếp cùng cách khai quật nó

Một ví dụ về tràn ngăn xếp và cách khai thác nó

Phần mềm chống tràn cỗ đệm mình áp dụng ở đó là Chuyển đổi RM quý phái MP3 dễ dàng. Phần nhiều người có thể tải về tại đây, sau thời điểm cài đặt:

Đây là phần mềm cho phép đổi khác từ các đoạn clip trực đường Realplayer sang trọng Mp3 bằng cách tải và chọn một tập tin mà chúng ta muốn.

Xem thêm: Cách Dự Đoán Tương Lai Của Bạn Qua Những Bức Ảnh!, Dự Đoán Tương Lai

Tham khảo chi tiết tại đây vị Trường trung học cơ sở Ngô Thì Nhậm không chất nhận được viết quá lâu năm :(.

Kết quả là tôi đã chèn code hiển thị hành lang cửa số hộp thoại với văn bản Hello World.

Hậu trái của vấn đề tồn tại lỗ hổng tràn cỗ đệmTiêm mã hệ thốngDDOS Leo thang đặc quyền….Cách hạn chế và khắc phục lỗ hổng tràn bộ đệm

Đối với một số ngôn ngữ lập trình sẵn như C:

Khai báo một vùng nhớ bự gấp nhiều lần tài liệu vào. Xử trí dây một phương pháp an toàn. Tránh các lỗi thịnh hành khi cách xử trí chuỗi như: xào luộc chuỗi ko giới hạn, Lỗi hoàn thành không có giá trị, Viết ngoài giới hạn mảng, Lỗi từng dòng một, lau chùi và vệ sinh dữ liệu không đúng cách dán Các tác dụng nên sử dụng:


Hoặc so với các hệ điều hành quản lý cũng cung cấp cơ chế bảo đảm an toàn bộ nhớ:

Ngẫu nhiên hóa ko gian địa chỉ (ASLR): di chuyển ngẫu nhiên xung quanh các vị trí ko gian add của vùng dữ liệu. Thông thường, những cuộc tiến công tràn bộ đệm nên biết mã xúc tiến được lưu trữ chỗ nào và việc ngẫu nhiên hóa không gian add khiến điều này gần như là không thể. Chống chặn thực thi dữ liệu: các vùng được gắn cờ ngẫu nhiên một số vùng bộ lưu trữ không thể xúc tiến được hoặc ko thể thực hiện được, điều đó ngăn mã chạy trong số vùng bị cấm. Bảo đảm an toàn ghi đè trình xử lý ngoại lệ có kết cấu (SEHOP): Giúp chống chặn những cuộc tấn công mã độc từ nước ngoài lệ có cấu trúc. Xử lý (SEH) — một khối hệ thống tích thích hợp để cai quản các ngoại lệ phần cứng với phần mềm. Vị đó, ngăn kẻ tấn công không thể sử dụng khai thác ghi đè SHE. Ở cấp độ chức năng, ghi đè SHE đạt được bằng phương pháp sử dụng tràn bộ đệm dựa trên ngăn xếp để ghi đè lên bản ghi thanh ghi ngoại lệ được tàng trữ trên luồng của ngăn xếp.

Xem thêm: Kiếm Tiền Từ Review Sản Phẩm

Dưới đây là một số để ý của tôi về sự việc tràn cỗ đệm. Cảm ơn gia sư lập trình bình yên của tôi sẽ truyền xúc cảm cho tôi với số đông kiến ​​thức hữu dụng này.

Nhớ nhằm nguồn bài viết này: Kỹ Thuật tấn công Buffer Overflow Là Gì ? Buffer Overflow Là Gì của website ngothinham.edu.vn

Chuyên mục: Là gì?


Danh mục Là gì?
What Does ” không tính Tiếng Anh Là Gì, Không ko kể Tôi Dịch
C/I Là Gì, Nghĩa Của tự C/I, Hóa Đơn Proforma & Commercial