Chào mừng bạn trở lại với Spotlight Lỗ Hổng của Sherlock, nơi chúng tôi làm nổi bật một lỗ hổng quan trọng được phát hiện trong một cuộc kiểm toán của Sherlock.
Tuần này, chúng tôi xem xét một lỗ hổng từ chối dịch vụ được tìm thấy trong cuộc thi @GMX_IO bởi @0xdeadbeef____ và @IllIllI000.
Cảm ơn @int0x1catedCode vì phần phân tích.

Tóm tắt về lỗ hổng:
Lỗ hổng cho phép kẻ tấn công thao túng luồng thực thi lệnh bằng cách cung cấp độ dài lý do hoàn trả giả không khớp với dữ liệu thực tế. Điều này khiến việc xử lý lỗi của giao thức đọc các vùng bộ nhớ không chính xác, có thể làm gián đoạn quá trình thực thi hoặc gây ra hành vi không mong muốn khi xử lý các lệnh thất bại.
Các bước tấn công:
1. Giai đoạn thiết lập
Triển khai một hợp đồng độc hại thực hiện hành vi hoàn trả tùy chỉnh.
Hợp đồng độc hại nên có thể được gọi bởi giao thức mục tiêu (ví dụ: như một trình xử lý callback).
2. Tạo dữ liệu hoàn trả độc hại
Cấu trúc dữ liệu hoàn trả với tham số độ dài giả mạo.
3. Thực hiện lệnh thông qua giao thức
Tạo một lệnh sẽ kích hoạt tương tác với hợp đồng độc hại.
Khi giao thức xử lý lệnh và gọi hợp đồng độc hại, nó sẽ hoàn trả với dữ liệu đã được tạo ra.
Quá trình xử lý lỗi của giao thức cố gắng giải mã lý do hoàn trả bằng cách sử dụng độ dài giả mạo.
4. Kích hoạt tràn bộ nhớ
Giao thức đọc bộ nhớ dựa trên tham số độ dài giả mạo.
Điều này khiến nó đọc vượt ra ngoài ranh giới dữ liệu hoàn trả thực tế.
Tác động là gì?
Từ chối dịch vụ: Các lệnh có thể không thực hiện đúng cách, chặn các hoạt động giao thức hợp pháp như thanh lý các vị trí xấu
Gián đoạn thực hiện lệnh: Xử lý lệnh theo lô có thể bị ngừng, ảnh hưởng đến nhiều người dùng
Gas griefing: Xử lý dữ liệu hoàn tác bị lỗi có thể tiêu tốn quá nhiều gas
Nguyên nhân gốc rễ:
1. Tham số độ dài không được kiểm tra: Giao thức tin tưởng vào giá trị độ dài được cung cấp trong dữ liệu hoàn lại mà không có xác thực
2. Thiếu kiểm tra biên: Không có xác minh rằng độ dài được khai báo khớp với kích thước dữ liệu thực tế
Biện pháp giảm thiểu:
1. Luôn xác thực độ dài dữ liệu hoàn tác
2. Thực hiện giới hạn độ dài tối đa
Chúng tôi tự hào đã giúp bảo vệ @GMX_IO thông qua phát hiện này.
Khi cần bảo mật tuyệt đối, Sherlock là sự lựa chọn đúng đắn.
1,95 N
11
Nội dung trên trang này được cung cấp bởi các bên thứ ba. Trừ khi có quy định khác, OKX không phải là tác giả của bài viết được trích dẫn và không tuyên bố bất kỳ bản quyền nào trong các tài liệu. Nội dung được cung cấp chỉ nhằm mục đích thông tin và không thể hiện quan điểm của OKX. Nội dung này không nhằm chứng thực dưới bất kỳ hình thức nào và không được coi là lời khuyên đầu tư hoặc lời chào mời mua bán tài sản kỹ thuật số. Việc sử dụng AI nhằm cung cấp nội dung tóm tắt hoặc thông tin khác, nội dung do AI tạo ra có thể không chính xác hoặc không nhất quán. Vui lòng đọc bài viết trong liên kết để biết thêm chi tiết và thông tin. OKX không chịu trách nhiệm về nội dung được lưu trữ trên trang web của bên thứ ba. Việc nắm giữ tài sản kỹ thuật số, bao gồm stablecoin và NFT, có độ rủi ro cao và có thể biến động rất lớn. Bạn phải cân nhắc kỹ lưỡng xem việc giao dịch hoặc nắm giữ tài sản kỹ thuật số có phù hợp hay không dựa trên tình hình tài chính của bạn.