Hành động cứu trợ khẩn cấp Blockchain: Kinh nghiệm và bài học từ sự kiện tấn công AnySwap

Blockchain应急救援行动复盘:经验与启示

Ngày 18 tháng 1 năm 2022, hệ thống giám sát giao dịch bất thường của chúng tôi đã phát hiện một cuộc tấn công nhằm vào dự án AnySwap ( tức Multichain ). Do chức năng hợp đồng có lỗ hổng, các token mà người dùng ủy quyền cho dự án này có thể bị kẻ tấn công rút ra. Mặc dù đội ngũ dự án đã cố gắng nhắc nhở người dùng, vẫn có nhiều người dùng không kịp thời thu hồi quyền ủy quyền, dẫn đến việc kẻ tấn công tiếp tục thu lợi.

Để bảo vệ các nạn nhân tiềm năng, đội ngũ BlockSec đã quyết định thực hiện các biện pháp ứng phó khẩn cấp. Chúng tôi đã chuyển tiền từ các tài khoản bị ảnh hưởng trên Ethereum vào một tài khoản đa chữ ký dành riêng cho các hacker mũ trắng. Để đảm bảo tính minh bạch, chúng tôi sẽ công khai băm tài liệu kế hoạch hành động ( không bao gồm nội dung ) cho cộng đồng. Hành động cứu trợ bắt đầu từ ngày 21 tháng 1 năm 2022 và kết thúc vào ngày 11 tháng 3.

Các hoạt động cứu hộ khẩn cấp phải đối mặt với nhiều thách thức về kỹ thuật và phi kỹ thuật. Bây giờ hoạt động đã kết thúc, chúng tôi sẽ xem xét lại toàn bộ quá trình, chia sẻ những kinh nghiệm liên quan, hy vọng sẽ hữu ích cho sự an toàn của hệ sinh thái DeFi.

Phát hiện chính:

  • Việc sử dụng Flashbots rộng rãi đã dẫn đến sự cạnh tranh gay gắt giữa các hacker mũ trắng và kẻ tấn công, cũng như trong các nhóm của họ. Phí trả cho Flashbots đã tăng nhanh theo thời gian.

  • Flashbots không phải lúc nào cũng hiệu quả. Một số kẻ tấn công đã chuyển sang sử dụng mempool, thực hiện tấn công thành công thông qua các chiến lược khéo léo.

  • Một số kẻ tấn công đã đạt được thỏa thuận với bên dự án, hoàn trả một phần lợi nhuận và giữ lại một phần làm thưởng, thành công "rửa sạch". Hành động này đã gây tranh cãi trong cộng đồng.

  • Những người mặc áo choàng trắng có thể công khai hành vi của mình với cộng đồng mà không tiết lộ thông tin nhạy cảm, phương pháp này đã thể hiện tốt trong thực tế.

  • Sự phối hợp giữa các lực lượng trong cộng đồng có thể làm cho việc cứu trợ nhanh chóng và hiệu quả hơn, như việc hợp tác giữa các hacker mũ trắng để giảm thiểu sự cạnh tranh không cần thiết.

Dưới đây sẽ thảo luận từ bốn khía cạnh: tổng quan về sự kiện, phương pháp và thách thức cứu hộ, bài học kinh nghiệm, và đề xuất.

Tổng quan về tình hình tấn công và cứu trợ

Kết quả tổng thể

Trong phạm vi quan sát của chúng tôi ( từ ngày 18 tháng 1 năm 2022 đến ngày 20 tháng 3 năm 2022 ), tình hình tổng thể về tấn công và cứu hộ như sau:

9 tài khoản cứu hộ đã bảo vệ 483.027693 ETH, thanh toán phí Flashbots 295.970554 ETH( chiếm 61.27%). 21 tài khoản tấn công đã thu lợi 1433.092224 ETH, thanh toán phí Flashbots 148.903707 ETH( chiếm 10.39%).

Cần lưu ý, do một số kẻ tấn công đã thương lượng với bên dự án để hoàn trả một phần lợi nhuận, nhãn địa chỉ có thể thay đổi, dữ liệu thống kê chỉ mang tính tham khảo.

Xu hướng thay đổi phí Flashbots

Để đánh giá mức độ cạnh tranh, chúng tôi đã thống kê tỷ lệ phí Flashbots của các giao dịch tấn công và cứu trợ theo khối.

Phí giao dịch tấn công ban đầu của Flashbots là 0, cho thấy kẻ tấn công vẫn chưa sử dụng Flashbots. Sau đó, tỷ lệ phí nhanh chóng tăng lên, trong một số khối thậm chí đạt 80%-91%. Điều này phản ánh cuộc chạy đua vũ trang phí do cuộc cạnh tranh giành quyền lên chuỗi của Flashbots.

Thực hiện và thách thức của các hoạt động cứu hộ

Phương pháp cứu援

Ý tưởng cơ bản của việc cứu hộ là giám sát các tài khoản có khả năng bị thiệt hại, ngay lập tức chuyển WETH vào khi nó được chuyển vào ví đa chữ ký của người tốt. Chìa khóa là phải đáp ứng các yêu cầu sau:

  1. Định vị hiệu quả giao dịch chuyển khoản cho nạn nhân ( giao dịch chuyển khoản )
  2. Xây dựng giao dịch cứu trợ đúng cách
  3. Giao dịch của kẻ tấn công chạy trước thành công

Hai điểm đầu tiên không gây trở ngại cho chúng tôi, nhưng điểm thứ ba vẫn có thách thức. Mặc dù về lý thuyết có thể sử dụng Flashbots để chạy trước, nhưng việc thực hiện không dễ dàng. Chúng tôi cũng sử dụng mempool để gửi giao dịch thông thường, cần xem xét vị trí và thứ tự của giao dịch trong mempool. Ngoài ra còn phải đối mặt với sự cạnh tranh từ các "mũ trắng" khác.

Tình hình cạnh tranh

Chúng tôi đã cố gắng bảo vệ 171 tài khoản nạn nhân tiềm năng, trong đó 10 tài khoản tự động thu hồi ủy quyền, trong số 161 tài khoản còn lại, chúng tôi chỉ cứu được 14 tài khoản. Nguyên nhân thất bại bao gồm sự cạnh tranh với 3 tài khoản cứu hộ và 16 tài khoản tấn công.

Kinh nghiệm và bài học

Cài đặt phí Flashbots

Chúng tôi áp dụng chiến lược bảo thủ hơn để thiết lập phí Flashbots, nhằm bảo vệ lợi ích của nạn nhân càng nhiều càng tốt. Tuy nhiên, chiến lược này không hiệu quả, đối thủ thường quá hung hăng, tỷ lệ phí đã từng cao tới 70%-86%.

Điều này dường như là một trò chơi có tổng bằng không, cần tìm kiếm sự cân bằng giữa việc giảm chi phí và giành chiến thắng trong cạnh tranh.

Sắp xếp giao dịch Mempool

Do sự cạnh tranh khốc liệt của Flashbots, không phải lúc nào cũng hiệu quả. Gửi giao dịch thông thường qua mempool cũng là một giải pháp khả thi, điều quan trọng là sắp xếp giao dịch ở vị trí phù hợp - ngay sau các giao dịch chuyển khoản.

Có kẻ tấn công đã thành công áp dụng chiến lược này để thu lợi 312 ETH mà không phải trả phí Flashbots. Cách làm khéo léo này đáng để chú ý và học hỏi.

Suy nghĩ khác

Phân biệt mũ trắng và kẻ tấn công

Việc nhận diện những người trắng mũ không phải lúc nào cũng rõ ràng. Một số tài khoản ban đầu được đánh dấu là kẻ tấn công, sau đó đã "rửa trắng" bằng cách thương lượng với bên dự án để trả lại một phần lợi nhuận. Hành động này đã gây ra tranh cãi trong cộng đồng.

Cạnh tranh giữa mũ trắng

Cần thiết phải thiết lập cơ chế phối hợp để giảm bớt sự cạnh tranh giữa các hacker mũ trắng, tránh lãng phí tài nguyên và tăng chi phí. Trong hành động lần này, nhiều tổ chức hacker mũ trắng đã đồng thời cố gắng bảo vệ cùng một nhóm nạn nhân, làm gia tăng chi phí Flashbots.

Tối ưu hóa hành động cứu援

Gợi ý:

  • Người mũ trắng công khai tuyên bố hành vi mà không tiết lộ thông tin nhạy cảm, để lấy lòng tin của cộng đồng.
  • Flashbots/Thợ mỏ cung cấp đường xanh cho những người có mũ trắng đáng tin cậy
  • Bên dự án chịu phí Flashbots
  • Đội ngũ dự án cải tiến cơ chế cảnh báo người dùng
  • Nhóm dự án đã đưa vào các biện pháp khẩn cấp trong mã

Tóm lại, sự hợp tác giữa các bên trong cộng đồng có thể giúp cứu trợ nhanh chóng và hiệu quả hơn. Kinh nghiệm lần này có giá trị tham khảo quan trọng cho việc xử lý các tình huống tương tự trong tương lai.

Xem bản gốc
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
  • Phần thưởng
  • 4
  • Chia sẻ
Bình luận
0/400
RiddleMastervip
· 2giờ trước
Lại lỗ không ít coin
Xem bản gốcTrả lời0
HodlKumamonvip
· 07-19 18:16
Bạch Mão Mông Mông cứu đồ ngốc rồi~
Xem bản gốcTrả lời0
TokenEconomistvip
· 07-18 22:22
thực ra, đây là một vấn đề chính-principal-agent cổ điển trong defi... thông tin không đối xứng + phản ứng của người dùng bị trì hoãn = khai thác không thể tránh khỏi
Xem bản gốcTrả lời0
MondayYoloFridayCryvip
· 07-18 22:21
Phân tích này có ích gì, không bằng trực tiếp chạy.
Xem bản gốcTrả lời0
Giao dịch tiền điện tử mọi lúc mọi nơi
qrCode
Quét để tải xuống ứng dụng Gate
Cộng đồng
Tiếng Việt
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)