Cointime

Download App
iOS & Android

Báo cáo phân tích bảo mật chuỗi: Báo cáo phân tích rủi ro tập trung hợp đồng thông minh iZiFinance

Validated Project

iZiFinance là một giao thức tài chính phi tập trung sử dụng zkSync, một giải pháp mở rộng lớp 2 cho Ethereum. zkSync cho phép giao dịch nhanh và chi phí thấp trên Ethereum trong khi vẫn giữ được tính bảo mật và khả năng kết hợp của mạng lớp 1. Tuy nhiên, tối ưu hóa gas vẫn là một khía cạnh quan trọng khi thực hiện phát triển hợp đồng thông minh trên zkSync, vì nó ảnh hưởng đến hiệu suất và lợi nhuận của giao thức.

Trong phân tích này, chúng tôi sẽ kiểm tra một trong những hợp đồng cốt lõi của iZiFinance, iZiSwapPool.sol và tìm ra một cách đơn giản để giảm mức tiêu thụ gas bằng cách loại bỏ biểu thức dư thừa.

hợp đồng iZiSwapPool

Hợp đồng iZiSwapPool thực hiện logic của nhóm thanh khoản và trao đổi mã thông báo trên iZiFinance. Nó tuân theo giao diện IiZiSwapPool, giao diện này xác định các chức năng và sự kiện của hợp đồng. Một trong những chức năng này là modifyFeeChargePercent, cho phép chủ sở hữu hợp đồng điều chỉnh tỷ lệ phần trăm phí tính trên mỗi nhóm. Tỷ lệ phần trăm thu phí là một tham số xác định việc phân phối phí trao đổi giữa các nhà cung cấp thanh khoản và giao thức. Mã của hàm modifyFeeChargePercent như sau:

Hàm này chấp nhận một tham số thuộc loại uint24 được gọi là newFeeChargePercent, đại diện cho tỷ lệ phần trăm tính phí mới sẽ được đặt. Nó cũng có một số công cụ sửa đổi và câu lệnh yêu cầu để đảm bảo rằng chỉ chủ sở hữu mới có thể gọi hàm và newFeeChargePercent là hợp lệ. Phân tích mã Mã hợp đồng này được viết bằng Solidity, đại diện cho chức năng sửa đổi tỷ lệ phần trăm thu phí. Có vẻ như nó đã được thiết kế theo cách an toàn, có tính đến các hạn chế được áp dụng trước khi sửa đổi thực tế (dòng 534-536).

Tuy nhiên, dòng 535 require(newFeeChargePercent >= 0, "FP0"); thực sự không cần thiết. Điều này là do trong Solidity, kiểu dữ liệu uint (unsigned integer) không được âm. uint24 là một loại số nguyên không dấu nằm trong khoảng từ 0 đến 2^24 - 1.

Do đó, việc kiểm tra xem newFeeChargePercent có lớn hơn hoặc bằng 0 hay không là một phép lặp, bởi vì một số nguyên không dấu không thể nhỏ hơn 0 theo định nghĩa. Do đó, dòng này tạo thành một tautology và có thể được gỡ bỏ một cách an toàn mà không ảnh hưởng đến chức năng của mã hoặc tạo ra bất kỳ lỗ hổng bảo mật nào. Dòng ngay sau nó, require(newFeeChargePercent <= 100, "FP0");, đủ để đảm bảo rằng newFeeChargePercent nằm trong phạm vi dự kiến ​​(0-100).

rủi ro tập trung

Chúng tôi cũng đã xác định một số rủi ro tập trung có thể ảnh hưởng đến tính bảo mật của giao thức và tính bảo mật của tài sản người dùng.

rủi ro tập trung

Chúng tôi cũng đã xác định một số rủi ro tập trung có thể ảnh hưởng đến tính bảo mật của giao thức và tính bảo mật của tài sản người dùng.

Lời khuyên an toàn

Đối với nhóm dự án iZiFinance, đây là 10 mẹo an toàn để bảo vệ tài sản trên chuỗi của người dùng khỏi rủi ro tập trung.

  1. Khóa thời gian được áp dụng cho các chức năng chính như setFarm() và setWrapToken(), chỉ cho phép sửa đổi tại một thời điểm xác định trong tương lai, giúp cộng đồng có thời gian thảo luận và đạt được sự đồng thuận
  2. Yêu cầu phê duyệt nhiều chữ ký của nhiều địa chỉ ví để gọi các chức năng như enableFeeAmount() và newPool() ảnh hưởng đến phí và phần thưởng
  3. Triển khai kiểm soát truy cập dựa trên vai trò cho các chức năng như expandObservationQueue() và CollectFeeCharged(), hạn chế chỉ gọi các vai trò được chỉ định
  4. Khi hợp đồng được triển khai, hãy đặt các tham số cốt lõi như startBlock, endBlock, bonusPerBlock không thay đổi và các thay đổi tiếp theo không được phép
  5. Thiết lập cấu trúc quản trị DAO yêu cầu cộng đồng đề xuất và bỏ phiếu cho các cuộc gọi đến các chức năng nhạy cảm
  6. Áp dụng kiến ​​trúc mô-đun để phân tách trách nhiệm và tránh tập trung quá mức vào bất kỳ mô-đun đơn lẻ nào
  7. Thiết lập cơ chế dừng khẩn cấp với xác thực đa chữ ký, có thể tạm dừng thỏa thuận nếu xảy ra sự cố
  8. Thường xuyên tiến hành kiểm toán bảo mật bên ngoài và xử lý các vấn đề được phát hiện kịp thời để giảm rủi ro kiểm soát tập trung
  9. Trong quá trình phát triển, sử dụng fuzzing và các phương pháp khác để xác định và loại bỏ các lỗ hổng kiểm soát tập trung
  10. Tuân thủ nguyên tắc đặc quyền tối thiểu và chỉ cấp cho vai trò và tài khoản những quyền tối thiểu cần thiết

Những rủi ro tập trung hóa này xuất phát từ thực tế là chủ sở hữu hợp đồng có thể có quyền kiểm soát quá mức đối với các tham số và chức năng của hợp đồng, điều này có thể cho phép chủ sở hữu thao túng giao thức hoặc gây hại cho người dùng. Chúng tôi cũng hy vọng phân tích này có thể cung cấp một số hiểu biết hữu ích và đề xuất bảo mật để cải thiện hợp đồng thông minh của iZiFinance.

Theo chúng tôi

Twitter: @MetaTrustLabs

Trang web: metatrust.io

Các bình luận

Tất cả bình luận

Recommended for you

  • Tài khoản Animoca Brands Lianchuang X bị nghi ngờ đã bị đánh cắp, các bạn hãy cảnh giác

    Tài khoản X của người đồng sáng lập và chủ tịch điều hành Animoca Brands Yat Siu bị nghi ngờ đã bị đánh cắp. Tài khoản hiện đang quảng cáo các token và hợp đồng đáng ngờ trên X dưới danh nghĩa "Animoca Brands phát hành tiền mới". .

  • Người sáng tạo Chillguy

    Người sáng tạo Chillguy, Phillip Bankss, đã đăng tải rằng tài khoản X của anh ấy đã bị xâm phạm, mặc dù hiện anh ấy đã lấy lại quyền kiểm soát nhưng hacker có thể đã thiết lập một số tweet theo lịch trình hoặc tài khoản vẫn chưa hoàn toàn an toàn. Anh kêu gọi cộng đồng thông báo kịp thời cho anh khi phát hiện ra nội dung bất thường.

  • Tổng hợp tài chính vàng: Danh sách thông tin tài chính trong 24 giờ qua (24/12)

    1. Usual đã hoàn thành khoản tài trợ Series A trị giá 10 triệu USD; 2. Nền tảng RWA Kettle đã hoàn thành khoản tài trợ 4 triệu USD, do ParaFi Capital dẫn đầu.

  • Nền tảng đồng hồ sang trọng RWA Kettle hoàn thành khoản tài trợ trị giá 4 triệu USD, dẫn đầu bởi ParaFi Capital

    Nền tảng đồng hồ sang trọng RWA Kettle đã công bố hoàn thành vòng tài trợ mới trị giá 4 triệu USD, do ParaFi Capital dẫn đầu, với sự tham gia của Zee Prime Capital, Kronos Research, Signum Capital, Puzzle Ventures, IOSG Ventures, OSF và gmoney.9dcc. e τh. Quỹ mới nhằm hỗ trợ nỗ lực xây dựng nền tảng RWA nhằm đảm bảo mọi chiếc đồng hồ đều được xác thực, bảo hiểm và lưu trữ an toàn trong Kettle Vault ở New York để giới thiệu với người dùng tiền điện tử về không gian đồng hồ xa xỉ.

  • Quốc hội Đức thông qua "Đạo luật số hóa thị trường tài chính"

    Theo Ledger Insights, Quốc hội Đức (Bundestag) đã thông qua Đạo luật số hóa thị trường tài chính (Finanzmarktdigitalisierungsgesetz của FinmadiG) trong tuần này. Nghị viện đã đáp lại lời kêu gọi của ngành nhằm đảm bảo luật pháp được áp dụng trước khi MiCAR có hiệu lực hoàn toàn vào ngày 30 tháng 12. FinmadiG không chỉ xử lý tiền điện tử và MiCAR mà còn ảnh hưởng đến các luật khác của EU như DORA và Quy định chuyển tiền. Đối với MiCAR, nó đã giới thiệu Đạo luật điều chỉnh thị trường tiền điện tử (KMAG), thay thế các quy tắc tiền điện tử cũ của Đức bằng MiCAR. Về mặt kỹ thuật, MiCAR là một quy định và do đó không yêu cầu luật pháp địa phương. Tuy nhiên, cần phải có luật pháp để chỉ định BaFin là cơ quan giám sát, nếu không BaFin không thể cấp giấy phép. Điều này sẽ cho phép các công ty EU có giấy phép tiền điện tử từ các quốc gia khác hoạt động ở Đức, nhưng các công ty Đức sẽ không thể hoạt động ở EU. Ngoài ra, MiCAR cho phép các công ty có giấy phép hiện tại tiếp tục hoạt động trong tối đa 18 tháng, với thời gian chuyển tiếp được xác định theo từng khu vực pháp lý. Pháp luật mới của Đức quy định một năm.

  • Odos DAO: Xuất hiện các cuộc tấn công email lừa đảo liên quan đến "Chương trình khách hàng thân thiết của ODOS", nhắc nhở người dùng cảnh giác

    Odos DAO đã ban hành một tài liệu về Cả Odos DAO và ODOS đều không gửi email cho người dùng. Tất cả thông tin liên lạc chính thức chỉ thông qua các tài khoản Twitter đã được xác minh, không nhấp vào bất kỳ liên kết đáng ngờ nào.

  • Vivek Ramaswamy

    Vivek Ramaswamy, người đứng đầu Ban Hiệu quả Chính phủ Hoa Kỳ cùng với Musk, xác nhận rằng tài khoản X của ông đã bị đánh cắp sau khi đăng tin sai sự thật về mối quan hệ hợp tác với USUAL.

  • Binance Futures sẽ triển khai các hợp đồng giao hàng quý 2 dựa trên U và Coin 0627

    Binance Futures sẽ ra mắt các hợp đồng giao hàng quý 0627 ký quỹ U và ký quỹ Coin sau đây trong vòng vài giờ sau khi hợp đồng giao hàng quý 1227 ký quỹ U và ký quỹ Coin hết hạn vào lúc 16:00 ngày 27 tháng 12.

  • Scam Sniffer: Tài khoản X của zkPass đã bị hack và đăng tin sai sự thật về airdrop

    Theo bài đăng của Scam Sniffer trên nền tảng X, tài khoản X của zkPass đã bị hack và các thông báo airdrop sai lệch đã được đăng để cảnh báo cộng đồng.

  • Người sáng lập Curve phản hồi: Không có CRV để hỗ trợ vị trí, và phần CRV này đã bị đánh cắp trong vụ hack UwU Lend hồi tháng 6

    Theo tin tức ngày 19 tháng 12, người sáng lập Curve, Michael Egorov, đã tweet để phản hồi về việc “918.000 CRV trong địa chỉ được đánh dấu của nó đang bị thanh lý”, nói rằng phần CRV này đã bị đánh cắp trong cuộc tấn công của hacker UwU Lend vào ngày 10 tháng 6. Vì vậy, theo nghĩa đó, chúng không phải là “CRV thật” mà là “sự nhận được lời hứa của Sifu sẽ hoàn trả số tiền bị hack”. Theo tin tức trước đó, giao thức cho vay UwU Lend đã bị tấn công một lần nữa vào tháng 6 năm nay, khiến tài sản bị mất khoảng 3,72 triệu USD.