COVER, một tân binh trong ngành bảo hiểm DeFi, đã bị tấn công Ngành bảo hiểm có thể tự bảo vệ mình như thế nào?
PeckShield
2020-12-29 05:34
本文约1311字,阅读全文需要约5分钟
Công ty bảo hiểm bị tấn công, tôi nên làm gì?
Sau khi bước sang tháng 9, với sự sụt giảm mạnh về doanh thu khai thác thanh khoản giao thức DeFi, thị trường DeFi bắt đầu im ắng và những người khám phá đã chuyển sang các lĩnh vực sâu hơn và rộng hơn.

Vào tháng 11, với sự ủng hộ của Andre Cronje (AC), người sáng lập Yearn.finance và sự gia tăng của các mã thông báo quản trị, Giao thức bảo hiểm phi tập trung đã xuất hiện, dẫn đầu trạm bảo hiểm DeFi dưới ánh đèn sân khấu.

Có quan điểm cho rằng: "Các dự án bảo hiểm DeFi không chỉ có thể giảm tổn thất của các chủ hợp đồng mà còn cho phép mọi người tự tin tham gia vào DeFi hơn và giúp cải thiện hệ sinh thái DeFi."

Tuy nhiên, khi khái niệm bảo hiểm DeFi ngày càng trở nên phổ biến, Cover Protocol đã bị tấn công hai lần trong một khoảng thời gian ngắn và giá của các mã thông báo của nó đã trải qua một chuyến tàu lượn siêu tốc.

Vào ngày 28 tháng 12 năm 2020, Cover Protocol của dự án bảo hiểm DeFi bị nghi ngờ đã bị tấn công và giá mã thông báo của nó đã giảm mạnh từ hơn 700 đô la xuống mức thấp nhất là 9 đô la do ảnh hưởng của cuộc tấn công.
Thông qua theo dõi và phân tích, PeckShield nhận thấy rằng cuộc tấn công chủ yếu là do lỗi logic kinh doanh, dẫn đến tính toán sai phần thưởng của người dùng cầm cố và bán chênh lệch giá ở các DEX khác nhau.
Đầu tiên, trong một khoảng thời gian, trước tiên kẻ tấn công đưa cho Blacksmith một số mã thông báo LP, sau đó gọi trực tiếp hàm updatePool() để tính toán phần thưởng COVER thông qua pool.accRewardsPerToken bất thường;

Sau đó, phần thưởng của người khai thác được ghi lại thông qua các hàm _claimCoverRewards() và _claimBonus() của dòng 125 và 126;
Cuối cùng, ghi lại trạng thái của công cụ khai thác, bao gồm số tiền cam kết và hàm bonusWriteoff và hàm bonusWriteoff được hiển thị trong các dòng 128 đến 131 của mã.
Cụ thể, giao thức hiện tại sử dụng pool.accRewardsPerToken để tính miner.amount.mul(pool.accRewardsPerToken).div(CAL_MULTIPLIER) trong dòng 130, vì loại nhóm trong dòng 118 là bộ nhớ và hàm updatePool() trong dòng 121 thực hiện not Nó không được cập nhật, dẫn đến phần thưởng được tính toán cuối cùngWriteoff nhỏ hơn dự kiến.
Khi cùng một người dùng nhận được phần thưởng đặt cược vào lần tới, hợp đồng đặt cược chẳng hạn như Blacksmith sẽ đúc thêm COVER, điều này sẽ làm tăng đáng kể số lượng xu được đúc. Hiện tại, có hơn 40.000.000.000.000.000.000 COVER được đúc đang lưu hành.
Lần thứ hai, kẻ tấn công bị mạng đánh dấu là địa chỉ của mũ trắng Grap Finance, sau khi kiếm được lợi nhuận, chúng trả lại số tiền thu được cho nhóm Cover, phá hủy COVER còn lại và để lại lời nhắn: Lần sau, hãy để ý đến chính bạn việc kinh doanh.

Một số ý kiến ​​​​cho rằng Grap Finance mũ trắng là anh hùng DeFi và đã trả lại 4350 ETH cho nhóm COVER. Tuy nhiên, thông qua việc phá vỡ thị trường, nhiều nhà đầu tư đã mất tiền, điều này cũng gây ra nhiều tranh cãi.
Đối với dự án bảo hiểm DeFi, mục đích ban đầu của nó là giảm tổn thất rủi ro cho các dự án DeFi khác. Với sự phát triển của hệ sinh thái DeFi và sự tăng trưởng liên tục của các vị trí bị khóa, các dự án DeFi đã bị tin tặc thèm muốn, đặc biệt là các dự án bảo hiểm DeFi mới nổi và cần tăng cường bảo vệ an ninh. Ngày nay, do các lỗ hổng của chính nó bị tin tặc tấn công, vẫn còn phải xem liệu một dự án bảo hiểm như vậy có thể giúp người dùng chống lại rủi ro hay không.
Trong thế giới DeFi, "Mã là luật" được ủng hộ. Các bên tham gia dự án không chỉ phải tối đa hóa mã mà còn phải ngăn chặn các sự cố trước khi chúng xảy ra. Các nhà phát triển giao thức DeFi nên tự kiểm tra mã sau khi xảy ra một cuộc tấn công. PeckShield nhắc nhở rằng nếu bạn không hiểu điều này, bạn nên tìm một cơ quan kiểm toán chuyên nghiệp để kiểm toán và nghiên cứu.

PeckShield
作者文库