Phân tích sự kiện tấn công Multichain: Quy trình cứu hộ của hacker mũ trắng và những gợi ý về an ninh Tài chính phi tập trung

robot
Đang tạo bản tóm tắt

Ngày 18 tháng 1 năm 2022, một hệ thống giám sát giao dịch bất thường đã phát hiện một cuộc tấn công nhằm vào dự án AnySwap (tức là Multichain). Do sự tồn tại của lỗ hổng trong chức năng hợp đồng, khiến cho 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ù dự án đã cố gắng thông báo cho người dùng bị ảnh hưởng bằng nhiều cách, vẫn có nhiều người dùng không kịp rút lại quyền truy cập, khiến kẻ tấn công tiếp tục thu lợi.

Do tình hình tấn công vẫn đang diễn ra, một nhóm an ninh đã quyết định thực hiện các biện pháp phản ứng khẩn cấp. Cuộc cứu trợ này nhằm vào các tài khoản bị ảnh hưởng trên Ethereum, và các quỹ liên quan đã được chuyển vào một tài khoản multi-signature dành riêng cho các hacker mũ trắng. Để đảm bảo tính minh bạch của hành động, hash tài liệu của kế hoạch liên quan (chứ không phải nội dung) đã được công khai cho cộng đồng. Cuộc cứu trợ bắt đầu vào ngày 21 tháng 1 năm 2022 và kết thúc chính thức vào ngày 11 tháng 3.

Cứu援 khẩn cấp đang đối mặt với nhiều thách thức về kỹ thuật và phi kỹ thuật. Dưới đây là những cảm nhận và trải nghiệm của toàn bộ quá trình, hy vọng sẽ giúp ích cho an toàn sinh thái DeFi.

Tóm tắt ngắn gọn:

  • Giữa những người mặc áo trắng và kẻ tấn công, cũng như trong nội bộ các nhóm của họ, có sự cạnh tranh gay gắt về việc sử dụng Flashbots, phí thanh toán cũng tăng nhanh.

  • Flashbots không phải là toàn năng, 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 bằng cách áp dụng 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, trả lại một phần số tiền kiếm được và giữ lại một phần như phần thưởng, từ đó hợp pháp hóa hành vi của mình. Cách làm này đã gây ra tranh cãi trong cộng đồng.

  • Chiếc mũ trắng có thể công khai hành vi với cộng đồng mà không tiết lộ thông tin nhạy cảm, phương thức tạo lòng tin này rất hiệu quả.

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

Dưới đây sẽ được thảo luận từ bốn khía cạnh: tổng quan sự kiện, phương pháp cứu hộ đã thực hiện và những thách thức gặp phải, những trải nghiệm thu được, cũng như các đề xuất liên quan.

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

Kết quả tổng thể:

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

9 tài khoản cứu hộ đã bảo vệ 483.027693 ETH, chi trả 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 có tình huống tương tác phức tạp ( như một số kẻ tấn công hoàn trả một phần lợi nhuận sau khi thay đổi nhãn địa chỉ ), trên đây chỉ là thống kê sơ bộ.

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

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

Giai đoạn đầu, một số giao dịch tấn công có phí Flashbots là 0, cho thấy kẻ tấn công chưa sử dụng Flashbots, cạnh tranh không gay gắt. Sau đó, tỷ lệ phí nhanh chóng tăng lên, như trong một khối đạt 80%, sau đó thậm chí lên đến 91%. Điều này cho thấy đã phát triển thành cuộc chạy đua vũ trang phí do cuộc chiến quyền lên chuỗi Flashbots.

Các hành động cứu trợ đã thực hiện và những thách thức phải đối mặt

Cơ bản ý tưởng cứu援: Giám sát các tài khoản nạn nhân tiềm năng, khi WETH được chuyển vào thì lợi dụng lỗ hổng để chuyển ra ví đa chữ ký của những người tốt. Chìa khóa ở đây là:

  1. Định vị hiệu quả giao dịch chuyển tiền cho nạn nhân ( giao dịch chuyển tiền )
  2. Xây dựng giao dịch cứu hộ đúng cách ( giao dịch cứu hộ )
  3. Thành công tấn công chạy trước đối thủ ( hoặc bên thứ ba ) giao dịch ( tấn công giao dịch )

Hai điểm trước không gây cản trở cho chúng tôi. Điểm thứ ba vẫn là một thách thức:

  • Mặc dù có thể sử dụng Flashbots để chạy trước, nhưng kẻ tấn công cũng có thể sử dụng, cần xem xét thêm chiến lược thiết lập chi phí.
  • Khi cạnh tranh gay gắt, Flashbots không phải là lựa chọn tốt nhất, cũng cần sử dụng mempool để gửi giao dịch thông thường.
  • Cạnh tranh với các "mũ trắng" khác, một số hành vi có thể gây tranh cãi

Chúng tôi cố gắng bảo vệ 171 tài khoản tiềm năng bị hại. 10 tài khoản tự rút quyền, trong 161 tài khoản còn lại chúng tôi chỉ thành công cứu trợ 14 tài khoản. Tình huống thất bại liên quan đến 3 tài khoản cứu trợ và 16 tài khoản tấn công.

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

Làm thế nào để xác định phí Flashbots?

Chúng tôi áp dụng chiến lược bảo thủ hơn, cố gắng giảm thiểu việc thiết lập phí để bảo vệ lợi ích của nạn nhân. Chỉ khi có giao dịch tấn công thành công thì mới tăng nhẹ tỷ lệ phí. Tuy nhiên, chiến lược này không quá thành công, đối thủ thường có xu hướng quyết liệt hơn:

  • Một kẻ tấn công đã đặt tỷ lệ là 70%
  • Một hacker mũ trắng đã thiết lập tỷ lệ là 79%, 80%
  • Một hacker mũ trắng khác đặt tỷ lệ là 81%
  • Kẻ tấn công tăng lên 86%

Điều này dường như trở thành một trò chơi 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.

Làm thế nào để sắp xếp vị trí giao dịch trong mempool một cách chính xác?

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

Một kẻ tấn công đã sử dụng chiến lược này để kiếm lợi 312 ETH mà không phải trả phí Flashbots. Nếu trong một khối nào đó, giao dịch chuyển tiền của nạn nhân nằm ở vị trí 65, giao dịch tấn công nằm ở vị trí 66, đã thành công kiếm được 50 ETH.

Chiến lược khéo léo này đáng để chú ý và học hỏi.

Các suy nghĩ khác

Làm thế nào để phân biệt giữa mũ trắng và kẻ tấn công?

Việc nhận diện các hacker mũ trắng không phải lúc nào cũng trực quan. Một tài khoản ban đầu bị đánh dấu là kẻ tấn công, sau đó qua thỏa thuận với bên dự án đồng ý giữ lại 50 ETH làm phần thưởng và hoàn trả các lợi nhuận khác, sau đó được đánh dấu lại là hacker mũ trắng. Hiện tượng này đã gây ra cuộc thảo luận trong cộng đồng về tính công bằng của các động lực.

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

Cộng đồng nên thiết lập cơ chế phối hợp để giảm bớt sự cạnh tranh giữa các white hat. Sự cạnh tranh sẽ lãng phí tài nguyên cứu trợ và cũng sẽ đẩy cao chi phí Flashbots. Nếu các white hat khác nhau lần lượt nâng tỷ lệ phí lên 80%, 81%. Nếu không có cơ chế phối hợp, các white hat khó có thể ngừng sự cạnh tranh này.

Làm thế nào để thực hiện các hoạt động cứu hộ tốt hơn?

  • Mũ trắng có thể công khai hành vi với cộng đồng mà không tiết lộ thông tin nhạy cảm, để xây dựng niềm tin với cộng đồng.
  • Các bên trong cộng đồng có thể hợp tác với nhau:
    • Flashbots/Các thợ mỏ cung cấp đường dẫn xanh cho các mũ trắng đáng tin cậy
    • Các bên dự án chịu chi phí Flashbots
    • Dự án sử dụng cơ chế thuận tiện để kịp thời cảnh báo người dùng
    • Đội ngũ dự án đã thực hiện các biện pháp khẩn cấp cần thiết trong mã.

MULTI0.58%
DEFI-6.59%
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
  • 6
  • Đăng lại
  • Chia sẻ
Bình luận
0/400
NftDeepBreathervip
· 07-26 00:13
Hề hề, những người đội mũ trắng phải giúp đỡ lẫn nhau.
Xem bản gốcTrả lời0
TheMemefathervip
· 07-24 22:39
Lại chơi coin bị lừa rồi? Thật là thói quen.
Xem bản gốcTrả lời0
MidsommarWalletvip
· 07-23 05:20
又 một dự án bị chơi đùa với mọi người
Xem bản gốcTrả lời0
RektButAlivevip
· 07-23 05:18
Người mặc áo trắng bận rộn hơn cả hacker.
Xem bản gốcTrả lời0
wrekt_but_learningvip
· 07-23 05:15
Lại là những kẻ mũ trắng cướp đồ ăn thôi.
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)