Mất gần 400 triệu USD, các vụ hack Solana có điểm gì chung?
ChinaDeFi
2022-09-08 11:30
本文约1955字,阅读全文需要约8分钟
Làm thế nào để ngăn chặn các vụ hack tương tự trong tương lai?

Tổng hợp gốc: ChinaDeFi

Tổng hợp gốc: ChinaDeFi

Kể từ một năm trước, hệ sinh thái Solana đã chứng kiến ​​​​sự tăng trưởng siêu tốc trong khi chứng kiến ​​nhiều vụ hack (bao gồm Wormhole, CashioApp, CremaFinance, Nirvana và Slope Wallet) gây thiệt hại tổng cộng gần 400 triệu USD.

Điều quan trọng, hầu hết các vụ hack này (ngoại trừ Slope Wallet) là do lỗ hổng hợp đồng thông minh, tức là lỗi mã hóa trong các giao thức trên chuỗi:

  • Lỗ sâu: 320 triệu đô la bị đánh cắp do thiếu xác minh tài khoản;

  • CashioApp: 50 triệu USD bị đánh cắp do thiếu xác minh tài khoản;

  • CremaFinance: 10 triệu đô la bị đánh cắp (8 triệu đô la được trả lại) do thiếu xác minh tài khoản;

  • Nirvana: 3,5 triệu đô la bị đánh cắp thông qua thao túng giá thông qua các khoản vay chớp nhoáng;

  • Slope Wallet: 4 triệu đô la bị đánh cắp do cụm từ hạt giống bị rò rỉ.


tiêu đề cấp đầu tiên

Điểm chung của những tin tặc này là gì?

1. Hầu hết tất cả các tin tặc (ngoại trừ Slope Wallet) đều đã tạo một hoặc nhiều tài khoản giả mạo.


  • Lỗ sâu: Tin tặc đã tạo hai tài khoản sysvar giả để bỏ qua xác minh khóa.

  • CashioApp: Tin tặc đã tạo 8 tài khoản giả để vượt qua kiểm tra tính hợp lệ.

  • CremaFinance: Tin tặc đã tạo một tài khoản giả và sử dụng các khoản vay nhanh để ăn cắp phí.

  • Nirvana: Tin tặc đã tạo tài khoản cho vay nhanh để thao túng giá mã thông báo.

  • Ví dốc: Tin tặc đã trực tiếp lấy được khóa riêng của ví người dùng thông qua bản ghi nhớ bị rò rỉ.


2. Tất cả các vụ hack đều liên quan đến nhiều giao dịch


  • Lỗ sâu: Toàn bộ cuộc tấn công đã hoàn thành với 6 giao dịch: tx đầu tiên tạo tài khoản sysvar giả đầu tiên và tx cuối cùng gọi Complete_wrapped.

  • Ứng dụng Cashio: Hơn 10 giao dịch đã được thực hiện trong toàn bộ cuộc tấn công từ việc tạo tất cả các tài khoản giả đến gửi giao dịch tấn công cuối cùng.

  • CremaFinance: Mỗi cuộc tấn công yêu cầu ít nhất 3 giao dịch; tạo tài khoản giả, triển khai chương trình cho vay nhanh và khởi động một cuộc tấn công để đánh cắp phí; ngoài ra, tin tặc đã liên tục thực hiện hơn 10 giao dịch cho vay nhanh từ các nhóm mã thông báo khác nhau để đánh cắp.

  • Nirvana: Cuộc tấn công đã thực hiện ít nhất 2 giao dịch; triển khai chương trình nhận khoản vay nhanh được thiết kế tốt và kích hoạt khoản vay nhanh Solend.

  • Slope Wallet: Toàn bộ cuộc tấn công đã làm cạn kiệt hơn 9.000 ví, liên quan đến hơn 9.000 giao dịch chuyển mã thông báo SOL hoặc SPL.


3. Tất cả các cơn kéo dài ít nhất vài phút (giờ hoặc thậm chí vài ngày)


  • Lỗ sâu: Khoảng thời gian giữa tx tạo tài khoản sysvar giả đầu tiên và tx hoàn tất quá trình chuyển là 6 giờ.

  • CashioApp: Tài khoản giả mạo đầu tiên của hacker được tạo 5 ngày trước khi giao dịch diễn ra.

  • CremaFinance: Tài khoản giả mạo này đã được tạo hơn một giờ trước cuộc tấn công đầu tiên.

  • Nirvana: Khoảng thời gian giữa hai giao dịch (triển khai bộ thu flash và gọi Solend flash) là 4 phút.

  • Slope Wallet: Cuộc tấn công lan rộng kéo dài ít nhất 8 giờ.


4. Mất mát lớn nhất là do thiếu xác minh tài khoản


Nguyên nhân sâu xa của ba vụ hack trước đó (Wormhole, CashioApp và CremaFinance) là do thiếu xác minh tài khoản thích hợp.

Trùng hợp hay không, những cuộc tấn công này đã gây ra rất nhiều thiệt hại về tài chính.

5. Các khoản vay chớp nhoáng liên quan đến hai vụ hack


Cả hai vụ hack CremaFinance và Nirvana đều liên quan đến các giao dịch cho vay chớp nhoáng trực tiếp và cả hai đều được thực hiện thông qua Solend.

Tại CremaFinance, các khoản vay chớp nhoáng được sử dụng để chuyển thanh khoản tiền gửi.

Làm thế nào để ngăn chặn các vụ hack tương tự trong tương lai?

Làm thế nào để ngăn chặn các vụ hack tương tự trong tương lai?

tiêu đề phụ

1. Trước khi triển khai: Xác minh tất cả các tài khoản đầu vào của hợp đồng thông minh


Khi viết hợp đồng thông minh Solana, hãy luôn nhớ rằng kẻ tấn công có thể giả mạo tất cả thông tin đầu vào, bao gồm tất cả tài khoản và chương trình bên ngoài (tức là tài khoản ví người dùng, tài khoản PDA và các hợp đồng thông minh khác).

Mô hình lập trình của Solana tách rời mã và dữ liệu, do đó, tất cả các tài khoản được sử dụng trong chương trình phải được chuyển làm đầu vào dữ liệu.

Trong hầu hết các trường hợp, bạn nên xác minh:

  • quyền sở hữu tài khoản

  • người ký tài khoản

  • Mối quan hệ (hoặc ràng buộc logic) giữa các tài khoản

Tùy thuộc vào logic giao thức, người ta cũng nên kiểm tra:

  • Các ràng buộc cần được thêm vào để ngăn chặn sự khác biệt nếu bất kỳ nhà tiên tri giá nội bộ nào thao túng các khoản vay chớp nhoáng (với chuyển khoản số lượng lớn).

  • tiêu đề phụ


2. Hậu triển khai: Chủ động sử dụng tính năng giám sát mối đe dọa theo thời gian thực


Vì tất cả các vụ hack này đều liên quan đến nhiều giao dịch kéo dài ít nhất vài phút hoặc vài giờ, nên có thể chủ động phát hiện trước các giao dịch đáng ngờ và ngăn chặn các cuộc tấn công ở giữa.

Đây là một tính năng độc đáo của Solana cho phép công nghệ giám sát mối đe dọa trên chuỗi hoạt động như một giải pháp phòng thủ giúp ngăn chặn và ngăn chặn hiệu quả các cuộc tấn công bảo mật:

Về nguyên tắc, một giải pháp giám sát mối đe dọa có thể giúp:

  • Theo dõi chuyển giao hàng loạt mã thông báo SOL hoặc SPL;

  • Theo dõi các giao dịch cho vay chớp nhoáng đối với các hợp đồng thông minh của bạn;

  • Theo dõi các lỗ hổng tiềm ẩn bằng cách nâng cấp các chương trình phụ thuộc;

  • Theo dõi trạng thái bất thường (ví dụ: tính phí);

  • Theo dõi các sự kiện giao dịch khứ hồi như gửi-yêu cầu-rút tiền trong một lần giao dịch);

  • Theo dõi các giao dịch trùng lặp từ cùng một người ký;

  • Mọi giám sát tùy chỉnh cho các thuộc tính dành riêng cho giao thức.


liên kết gốc

liên kết gốc

ChinaDeFi
作者文库