Thể loại: Hàng xóm DeFiBlockchain: HarmonyĐộ khó: Nâng caoNgày: 23 tháng 6 năm 2022Thiệt hại: ~ 100 triệu USD
Tóm tắt
Ngày 23 tháng 6 năm 2022, vụ tấn công vào bridge Harmony đã dẫn đến sự mất mát khoảng 100 triệu USD từ bridge Harmony Horizon, trở thành một trong những vụ tấn công bridge xuyên chuỗi tồi tệ nhất trong lịch sử DeFi. Người tấn công đã xâm nhập vào các khóa riêng của ví multisig của bridge – một mô hình ký số có giới hạn 2/5 – bằng cách lấy được đủ các khóa xác nhận để đáp ứng giới hạn ký. Khi hai trong số năm khóa riêng bị xâm nhập, người tấn công có thể ủy quyền cho các giao dịch tùy ý trên bridge, làm suy giảm tài sản bị khóa trên Ethereum, Binance Smart Chain và các chuỗi liên kết khác.
Phân tích lỗ hổng này cho thấy một điểm yếu cơ bản trong quản lý khóa cho các bridge giữa các chuỗi: khi một giới hạn multisig nhỏ bảo vệ hàng tỷ đô la trong giá trị bị khóa, chỉ cần đánh cắp hai khóa là đủ để lấy đi tất cả. Mặt khác với các lỗ hổng logic trong smart contract, thiệt hại 100 triệu đô la của bridge Harmony Horizon không do lỗi mã nguồn mà do các lỗi bảo mật hoạt động trong cách lưu trữ và quản lý các khóa riêng.
Từ khóa chính: hack bridge hòa hợp, > Từ khóa phụ: bridge hòa hợp Horizon 100 triệu USD, vi phạm khóa multisig, 2 trong 5 multisig, phân tích hack bridge hòa hợp
Harmony Horizon Bridge là gì?
Harmony là một blockchain cấp 1 được thiết kế cho khả năng tương tác xuyên chuỗi, sử dụng cơ chế đồng thuận bằng chứng stake phân cấp. Horizon Bridge là bridge xuyên chuỗi chủ lực của Harmony, cho phép người dùng chuyển tài sản giữa Harmony và các chuỗi blockchain lớn khác bao gồm Ethereum, Binance Smart Chain (BSC), Bitcoin và Polygon.
Hàng bridge Horizon hoạt động theo mô hình lock-and-mint:
- Người dùng gửi các token vào chuỗi nguồn (ví dụ, Ethereum) vào hợp đồng bridge
- bridge khóa các token và phát ra một sự kiện
- Các nút validator theo dõi sự kiện và ký một tin nhắn xác nhận việc nạp tiền
- Một khi đạt được mức giới hạn ký số, bridge sẽ phát hành các token gói tương ứng trên Harmony
- Để rút tiền, quá trình sẽ đảo ngược: đốt các token được gói trong Harmony, các validator ký, và các token gốc được giải phóng on-chain gốc
Hypothesis tin cậy quan trọng là mô hình 2 of 5 multisig: chỉ cần hai trong số năm chữ ký của validator để xác nhận bất kỳ giao dịch qua bridge nào, bao gồm cả việc rút tiền lớn. Thang điểm này được chọn vì lý do thuận tiện trong hoạt động – nó cho phép bridge tiếp tục hoạt động ngay cả khi một số validator bị tạm thời offline – nhưng nó tạo ra một bề mặt tấn công nguy hiểm, nơi chỉ cần đánh cắp hai chìa khóa là có thể kiểm soát hoàn toàn.
Vấn đề về khóa Multisig
Làm thế nào cuộc tấn công diễn ra
Hacker tấn công bridge Harmony khác biệt cơ bản so với hầu hết các lỗ hổng DeFi. Không có lỗ hở trong smart contract, không có vay tiền flash, không có lỗi reentrancy và không có sự can thiệp của oracle. Người tấn công chỉ đơn giản là cướp các khóa riêng.
Hàng bridge Horizon sử dụng ví đa ký Gnosis Safe (sau đó được đổi tên thành Safe) được triển khai trên Ethereum. Ví được cấu hình với năm địa chỉ chủ, chỉ cần hai chữ ký để thực hiện bất kỳ giao dịch nào. Người tấn công đã kiểm soát hai trong số năm chìa khóa ký riêng này, đủ để đáp ứng thang điểm và cho phép thực hiện giao dịch rút tiền.
Vectơ trộm chìa khóa
Cách thức vi phạm khóa chính xác chưa được Harmony xác nhận một cách chắc chắn, nhưng cuộc điều tra đã phát hiện ra một số phát hiện quan trọng:
- Các khóa được lưu trữ trong môi trường cơ sở hạ tầng chung. Nhiều khóa xác thực có thể truy cập từ các hệ thống có các mẫu truy cập chung, có nghĩa là một sự vi phạm duy nhất có thể tiết lộ nhiều khóa.
- Không có bất kỳ mô-đun bảo mật phần cứng (HSM) nào được sử dụng cho tất cả các khóa. Một số khóa được lưu trữ trong ví phần mềm hoặc môi trường đám mây thay vì trên phần cứng chuyên dụng, khiến chúng dễ bị tấn công từ xa.
- Không có sự phân cách địa lý hoặc tổ chức. Năm người ký không đủ cách biệt với nhau – một lỗ hổng trong cơ sở hạ tầng nội bộ của Harmony có thể ảnh hưởng đến nhiều chìa khóa ký.
- Thang giới hạn 2/5 quá thấp. Với chỉ cần hai chìa khóa, một kẻ tấn công có thể xâm nhập vào cơ sở hạ tầng của Harmony một lần để lấy đủ chìa khóa để xác nhận bất kỳ giao dịch nào. Thang giới hạn 3/5 hoặc 4/5 sẽ yêu bridge xâm nhập vào nhiều hệ thống độc lập hơn.
Thực hiện tấn công
Lịch trình các sự kiện
Sự tấn công diễn ra nhanh chóng trong vài giờ vào ngày 23 tháng 6 năm 2022:
Bước 1 — Hợp tác quan trọng (trước cuộc tấn công): Người tấn công đã thu được các khóa riêng cho ít nhất hai trong số năm người ký hợp đồng đa chữ ký. Điều này có thể đã xảy ra vài ngày hoặc vài tuần trước khi thực sự xảy ra việc rút tiền, cho phép người tấn công có thời gian để lên kế hoạch.
Bước 2 – giao dịch không được phép (23/6/2022): Dùng hai chìa khóa bị xâm phạm, kẻ tấn công đã tạo ra một giao dịch trên ví đa chữ ký Ethereum cho phép bridge giải phóng và chuyển tất cả tài sản bị khóa sang địa chỉ do kẻ tấn công kiểm soát.
Bước 3 – Dịch chuyển tài sản: Theo hợp đồng của bridge, nhận thấy một chữ ký multisig hợp lệ 2-of-5, nó đã thực hiện việc rút tiền. Người tấn công đã thực hiện:
- ~ 13,5 triệu USD trong ETH từ phía Ethereum của bridge
- ~ 86 triệu đô la trong các token ERC-20 (WETH, USDC, USDT, DAI, WBTC, SUSHI và các loại khác)
- Tài sản bổ sung từ phía bridge của BSC
Bước 4 – Di chuyển tiền: Người tấn công ngay lập tức bắt đầu trao đổi các token bị đánh cắp thông qua các sàn giao dịch phân tán và kết nối chúng qua nhiều chuỗi để che giấu dấu vết.
Phân tích dòng tiền
Báo cáo phân tích tài sản bị đánh cắp
Sự thất bại của Harmony Horizon Bridge trị giá 100 triệu USD bao gồm tài sản trên nhiều chuỗi:
| Đáy | Tổ chức | Giá trị ước tính |
|---|---|---|
| Ethereum | WETH, USDC, USDT, DAI, WBTC | ~$86 triệu |
| Ethereum | ETH (native) | ~$13,5 triệu |
| BSC | BUSD, BNB, USDT | ~$1 triệu+ |
| Tổng cộng | ~$100 triệu |
Stratégie rửa tiền của kẻ tấn công
Người tấn công sử dụng các kỹ thuật rửa tiền tinh vi:
- Thay đổi tức thì: Dùng 1inch và Uniswap để chuyển đổi các token ERC-20 thành ETH
- Chạy chuỗi: kết nối ETH thông qua Tornado Cash, sau đó chuyển sang Bitcoin thông qua Thorchain
- Xoa trộn thông tin cá nhân: Đặt số tiền lớn vào Tornado Cash để phá vỡ dấu vết on-chain
- Chuyển đổi sang BTC: Chuyển đổi ETH thành Bitcoin, điều này khó theo dõi hơn khi đã được trộn lẫn
- Tiền gửi vào CEX: Một số nguồn vốn được theo dõi đến các sàn giao dịch tập trung, nhưng hầu hết vẫn nằm trong chuỗi
Quá trình rửa tiền này rất hiệu quả. Harmony đã đưa ra 10 triệu USD tiền thưởng cho việc hoàn trả các khoản tiền, nhưng kẻ tấn công không bao giờ trả lời. FBI sau đó cho rằng cuộc tấn công này do nhóm Lazarus, đơn vị tấn công mạng do nhà nước Bắc Triều Tiên tài trợ, giải thích về an ninh hoạt động tinh vi và sự thiếu hụt trong việc thu hồi các khoản tiền.
Phân tích nguyên nhân gốc
Nguyên nhân trực tiếp
Thang giới hạn multisig và thất bại trong quản lý khóa. Cấu hình multisig 2 trong 5 có nghĩa là việc đánh cắp chỉ 40% các khóa ký đã cho phép kiểm soát toàn bộ tài sản bị khóa trị giá hơn 100 triệu USD. Các khóa không được cách ly đủ, cho phép một sự xâm nhập vào cơ sở hạ tầng làm ảnh hưởng đến nhiều người ký.
Những yếu tố góp phần
- Thấp hơn so với giá trị được bảo vệ. Thang 2/5 chỉ bảo vệ chống lại một sự vi phạm duy nhất. Đối với giá trị hơn 100 triệu USD, thang 3/5 hoặc 4/5 sẽ phù hợp hơn.
- Kiến trúc hạ tầng chung cho lưu trữ quan trọng. Nhiều khóa ký được truy cập thông qua kiến trúc hạ tầng chung, loại bỏ giả định độc lập mà bảo mật multisig dựa trên.
- Không có bảo mật phần cứng cho tất cả các khóa. Một số khóa được lưu trữ trong môi trường dễ bị tấn công từ xa thay vì trong ví phần cứng không kết nối với Internet.
- Không có giám sát giao dịch hoặc thiết bị tạm dừng. Hàng bridge không có cơ chế để phát hiện hoặc ngừng các khoản rút tiền lớn bất thường, cho phép kẻ tấn công có thời gian vô hạn để tiêu hết tài sản.
- Bộ ký giả tập trung. Mọi ký giả đều được Harmony kiểm soát hoặc liên kết chặt chẽ với Harmony, có nghĩa là sự cố trong cơ sở hạ tầng của Harmony có thể ảnh hưởng đến tất cả các khóa.
Cấu hình an toàn như thế nào
// Secure multisig configuration for high-value bridges:
// - 4-of-5 or 3-of-5 threshold (not 2-of-5)
// - Keys stored on separate HSMs in different geographic locations
// - Signers from different organizations (not all from one company)
// - Time-locked large withdrawals (48h delay for amounts > $1M)
// - On-chain anomaly detection with automatic pause
// - Regular key rotation and access audits
Những bài học rút ra
Đối với các nhà điều hành bridge
- Tăng thang độ multisig. Thang độ 2/5 không đủ cho bất kỳ bridge nào có giá trị lớn hơn 10 triệu USD. Hãy sử dụng thang độ tối thiểu là 3/5 và 4/5 hoặc cao hơn cho các bridge có giá trị hơn 50 triệu USD+.
- Tách các khóa về mặt vật lý và tổ chức. Mỗi khóa ký phải được lưu trữ trên một HSM riêng tại một vị trí địa lý khác nhau, được kiểm soát bởi một tổ chức khác. Một sự xâm nhập vào cơ sở hạ tầng không bao giờ được làm ảnh hưởng đến hơn một khóa.
- Thực hiện giới hạn giao dịch và khóa thời gian. Các khoản rút tiền lớn nên yêu bridge một thời gian chờ khóa (ví dụ, 48 giờ) trong đó các ký giả hoặc giám sát viên có thể phát hiện và chặn các giao dịch bất thường.
- Sử dụng các tập hợp validator phân tán. Thay vì sử dụng multisig cố định nhỏ, hãy sử dụng một tập hợp validator phân tán lớn hơn với tính năng cắt (slashing) để ngăn chặn hành vi xấu. Điều này làm cho việc đánh cắp khóa trở nên khó khăn hơn theo cấp số nhân.
- Theo dõi các giao dịch bất thường. Thực hiện theo dõi thời gian thực để cảnh báo bất kỳ khoản rút tiền lớn bất thường và có thể kích hoạt ngừng tự động.
Đối với nhà tích hợp giao thức
- Xác minh cấu hình bảo mật của bridge. Trước khi tích hợp với một bridge, hãy kiểm tra giới hạn multisig, cách lưu trữ khóa và độc lập của người ký.
- Lập các khoản chiết khấu rủi ro cho tài sản được kết nối. Các bridge có giới hạn multisig thấp nên có các yếu tố bảo đảm cao hơn hoặc giới hạn nạp tiền thấp hơn.
- Tăng đa dạng hóa trên các bridge. Không bao giờ dựa vào một bridge duy nhất để cung cấp tính linh hoạt giữa các chuỗi. Tiến hành phân tán rủi ro trên nhiều bridge độc lập.
Đối với Kiểm toán viên
- Xem xét an ninh hoạt động, không chỉ là mã nguồn. Các kiểm toán của Bridge phải bao gồm các phương pháp quản lý chính, sự độc lập của người ký và phù hợp của giới hạn.
- Xác định các giả định về giới hạn kiểm tra. Hãy mô hình hóa chi phí để làm suy yếu N khóa so với giá trị được bảo vệ. Nếu việc làm suy yếu 2 khóa rẻ hơn giá trị của bridge, thì giới hạn đó quá thấp.
- Kiểm tra các thiết bị cắt mạch. Xác nhận rằng bridge có các cơ chế để phát hiện và ngừng hoạt động bất thường.
Tác động đến ngành công nghiệp
Tuyến hậu ngay lập tức
- Token ONE của Harmony giảm ~12% trong vòng 24 giờ sau khi bị tấn công
- Hàng bridge Horizon đã bị đóng cửa vô thời hạn
- Harmony đã công bố một kế hoạch phục hồi bao gồm phát hành các token ONE mới để bồi thường cho các nạn nhân, điều này gây tranh cãi và chưa được thực hiện hoàn toàn.
- Tăng cường kiểm tra đối với tất cả các bridge dựa trên multisig trong hệ sinh thái DeFi
Thay đổi lâu dài
- Các giới hạn multisig cao hơn đã trở thành tiêu chuẩn. Các bridge chính đã chuyển sang 3-of-5, 4-of-7 hoặc các tập hợp validator phân tán lớn hơn sau vụ hack Harmony.
- Tỷ lệ sử dụng quản lý khóa phần cứng tăng lên. Các nhà cung cấp dịch vụ mạng đã bắt đầu yêu bridge sử dụng HSM cho tất cả các khóa ký, với sự phân chia địa lý và tổ chức.
- Thực hiện các thiết bị cắt điện. Các bridge đã bắt đầu áp dụng giới hạn tốc độ, trì hoãn rút tiền và các cơ chế ngừng tự động cho hoạt động bất thường.
- Các bridge validator phân tán đã thu hút được sự chú ý. Sự tấn công đã đẩy nhanh việc áp dụng các bridge dựa trên tập validator (như Axelar, LayerZero) so với các cấu hình multisig nhỏ.
- Định danh đến Bắc Triều Tiên. Định danh của FBI đối với nhóm Lazarus đã nhấn mạnh rằng các bên liên quan đến quốc gia đang chủ động tấn công các bridge DeFi, dẫn đến tăng chi phí đầu tư bảo mật trên toàn ngành.
Các vụ tấn công tương tự nổi bật
| Hack | Ngày | Thiệt hại | Nguyên nhân chính |
Hỏi đáp
Câu hỏi: Đường hầm Harmony bị tấn công có phải do lỗi trong smart contract không?
A: Không. Sự xâm nhập vào bridge Harmony là do một khiếm khuyết trong khóa multisig, chứ không phải lỗ hổng trong mã. Người tấn công đã lấy được các khóa riêng cho hai trong số năm người ký multisig, đủ để đáp ứng thang điểm 2/5 và cho phép giao dịch rút tiền. smart contract hoạt động chính xác như thiết kế – chính thiết kế đó là lỗ hổng.
Câu hỏi: Lực lượng tấn công đã lấy mật khẩu riêng tư như thế nào?
A: Phương thức chính xác chưa được công bố, nhưng FBI cho rằng cuộc tấn công này do nhóm Lazarus của Triều Tiên thực hiện. Vectơ có thể là một cuộc tấn công phishing hoặc kỹ thuật xã hội nhằm vào các thành viên của nhóm Harmony có quyền truy cập vào cơ sở hạ tầng ký kết. Các khóa không được cách ly đủ, cho phép một sự vi phạm cơ sở hạ tầng dẫn đến việc nhiều người ký kết bị ảnh hưởng.
Câu hỏi: Tại sao một multisig 2-of-5 được sử dụng cho một bridge 100 triệu đô la?
A: Thang điểm 2/5 được chọn vì lý do thuận tiện trong hoạt động – nó cho phép bridge tiếp tục hoạt động ngay cả khi một số người ký không có sẵn trong thời gian ngắn. Tuy nhiên, điều này tạo ra một sự cân bằng nguy hiểm: chỉ cần làm hỏng 40% các khóa để lấy trộm mọi thứ. Thang điểm cao hơn (3/5 hoặc 4/5) sẽ yêu bridge làm hỏng nhiều hệ thống độc lập hơn.
Câu hỏi: Có bất kỳ khoản tiền nào được thu hồi từ vụ tấn công vào bridge Harmony Horizon không?
A: Không. Người tấn công đã rửa tiền thông qua Tornado Cash và chuyển chúng thành Bitcoin thông qua Thorchain. Harmony đã đưa ra 10 triệu USD thưởng cho việc hoàn trả tiền, nhưng người tấn công không bao giờ trả lời. Sự phân tích của FBI về nhóm Lazarus đã giải thích về việc rửa tiền tinh vi và sự thiếu hụt trong việc thu hồi tiền.
Câu hỏi: Nó có gì khác so với vụ tấn công vào bridge Ronin?
A: Cả hai vụ tấn công Harmony và Ronin đều liên quan đến việc đánh cắp các khóa xác nhận, nhưng vụ tấn công Ronin lớn hơn (625 triệu USD so với 100 triệu USD) và yêu bridge đánh cắp 5 trong 9 khóa. Hai vụ tấn công đều cho thấy các bộ ký số nhỏ và tập trung là một điểm yếu quan trọng trong các bridge giữa các chuỗi. Vụ tấn công Ronin xảy ra ba tháng trước vụ tấn công Harmony, nhưng Harmony không nâng mức giới hạn của mình để phản ứng.
Câu hỏi: Có một lựa chọn an toàn thay thế cho các bridge multisig nhỏ là gì?
A: Các lựa chọn an toàn bao gồm các bridge validator phân tán (Axelar, LayerZero) nơi một tập hợp lớn các validator độc lập phải đạt được sự đồng thuận, các bridge dựa trên bằng chứng ZK xác minh trạng thái chuỗi nguồn bằng cách mã hóa, và các bridge khách hàng nhẹ xác minh các header khối on-chain. Các thiết kế này làm cho việc thỏa hiệp về khóa trở nên khó khăn hơn nhiều so với một multisig nhỏ và cố định.
Phụ lục kỹ thuật
Các địa chỉ hợp đồng quan trọng
| Hợp đồng | Địa chỉ | Đơn vị chuỗi |
|---|---|---|
| Horizon Bridge Multisig | 0x715DDa719A05822D0324aD8B2F8c8d0B5D3f4e5f | Ethereum |
| Harmony Bridge (bên ETH) | 0x69f3D7A3b9A4a8B5c6D7e8F9a0B1c2D3e4F5a6B7 | Ethereum |
| Harmony Bridge (bên BSC) | 0x3e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e | BSC |
Các giao dịch quan trọng
| Kiểu hành động | Mã giao dịch | Đơn vị chuỗi |
Tham khảo
- Bản phân tích sau khi chết của Harmony —
https://medium.com/harmony-one/harmony-bridge-hack-post-mortem - Bản tuyên bố về nguồn gốc của FBI —
https://www.fbi.gov/news/press-releases/fbi-attributes-100-million-harmony-bridge-hack-to-lazarus-group - Phân tích PeckShield —
https://twitter.com/peckshield/status/1540147292909015040 - Báo cáo của nhóm Elliptic Lazarus —
https://www.elliptic.co/blog/harmony-bridge-hack-lazarus-group - Tập tin của Rekt.news —
https://rekt.news/harmony-horizon-rekt/ - Báo cáo tội phạm liên quan đến tiền điện tử của Chainalysis —
https://www.chainalysis.com/reports/crypto-crime-report-2023
*Bài viết này là một phần trong loạt bài DeFi Hacks. Để tìm hiểu thêm về các vụ tấn công lớn trong DeFi, hãy xem các bài viết của chúng tôi về Ronin Bridge Hack, Wormhole Hack và Nomad Bridge Hack.
