Vào ngày 28 tháng 2, một lỗ hổng nghiêm trọng đã bị khai thác trong các hợp đồng với Chamber của Seneca. Kẻ tấn công đã sử dụng lỗ hổng này để đánh cắp tiền của người dùng đã phê duyệt nhiều hơn tài sản thế chấp cho các hợp đồng của Chamber. Cuộc tấn công này nhắm mục tiêu cụ thể vào các tài sản được giữ trong ví của người dùng, chứ không phải tiền được gửi trực tiếp vào hệ thống cốt lõi của Seneca (Tổng giá trị khóa (TVL) + Staking).
Phân tích khai thác
Kẻ tấn công nhắm mục tiêu vào hàm
performOperations()
trong hợp đồngSeneca's Chamber.sol
. Chức năng này cho phép các lệnh gọi tùy ý đến các hợp đồng khác và kẻ tấn công đã khai thác nó để thực hiện lệnh gọi.transferFrom()
. Điều này cho phép kẻ tấn công sử dụng hợp đồng Chamber với tư cách là người chi tiêu để chuyển mã thông báo trực tiếp từ ví của người dùng được phê duyệt sang ví của kẻ tấn công. Cuộc tấn công này ảnh hưởng đến tất cả người dùng đã phê duyệt số tiền thế chấp vượt quá số tiền gửi thực tế của họ khi sử dụng hợp đồng Chamber.Đây là một trong những tx khai thác: https://etherscan.io/tx/0x9f3712672be7a120757d42fbe15ceefe9578914946bacbd0f3531e7fb7305576
Phần kết luận
Là một nhà phát triển , khi xây dựng dự án của riêng mình, bạn không tin tưởng bất kỳ thông tin đầu vào nào của người dùng. Bất kỳ tham số nào được đưa ra đều phải được xác nhận cẩn thận bằng mã. Lệnh gọi đến các hợp đồng không đáng tin cậy có thể gây ra một số rủi ro hoặc lỗi không mong muốn. Các lệnh gọi bên ngoài có thể kích hoạt mã độc, trong hợp đồng mục tiêu hoặc trên toàn hệ sinh thái của nó. Mọi cuộc gọi bên ngoài phải được coi là một rủi ro bảo mật tiềm ẩn và phải được xử lý hết sức thận trọng.
Hơn nữa, chúng tôi đặc biệt khuyến khích tiến hành Kiểm định bảo mật cho tất cả các dự án, ngay cả khi chúng là hợp đồng thông minh, chương trình phụ trợ, ví hoặc Các ứng dụng phi tập trung (DAPPS).
Là người dùng blockchain, hãy nhớ: việc phê duyệt mã thông báo sẽ cấp cho người lạ quyền truy cập để chi tiêu theo ý họ . Tránh phê duyệt vô hạn, luôn phân bổ số tiền chính xác cần thiết cho mỗi giao dịch, ngay cả khi nó phát sinh thêm phí. Chủ động xem xét và thu hồi các phê duyệt không cần thiết để bảo vệ tiền của bạn ngay bây giờ .
Cảm ơn đã đọc Verichains! Đăng ký miễn phí để nhận bài viết mới và hỗ trợ công việc của tôi.