Tỷ giá Bitcoin BTC BTC
86274 $
0.61%
Tỷ giá Ethereum ETH ETH
3305 $
-0.70%
Tỷ giá Tether USDt USDT USDT
1,00 $
0.05%
Tỷ giá Solana SOL SOL
218,10 $
-0.72%
Tỷ giá BNB BNB BNB
636,47 $
-0.19%
Tỷ giá USD Coin USDC USDC
1,00 $
0.01%
Tỷ giá Dogecoin DOGE DOGE
0,3187 $
-1.26%
Tỷ giá USDC USDC USDC
0,9999 $
0.01%
Tỷ giá XRP XRP XRP
0,5973 $
0.21%
Tỷ giá Cardano ADA ADA
0,5994 $
-0.18%
Tỷ giá Shiba Inu SHIB SHIB
0,0000 $
-1.15%
Tỷ giá TRON TRX TRX
0,1669 $
0.20%
Tỷ giá Avalanche AVAX AVAX
34,07 $
-0.91%
Tỷ giá Toncoin TON TON
5,37 $
-0.97%
Tỷ giá Chainlink LINK LINK
14,57 $
-0.66%
Tỷ giá Sui SUI SUI
3,16 $
-0.89%
Tỷ giá Bitcoin Cash BCH BCH
444,57 $
0.74%
Tỷ giá Polkadot DOT DOT
5,23 $
-0.67%
Tỷ giá UNUS SED LEO LEO LEO
7,42 $
20.67%
Tỷ giá NEAR Protocol NEAR NEAR
5,38 $
-2.23%
  1. Home iconBạn đang ở:
  2. Trang chủ
  3. Tin tức tiền điện tử
  4. Nhóm bảo mật CoinEx: rủi ro bảo mật của THORChain (RUNE)

Nhóm bảo mật CoinEx: rủi ro bảo mật của THORChain (RUNE)

17/04/2022 00:53 read136
Nhóm bảo mật CoinEx: rủi ro bảo mật của THORChain (RUNE)

Theo báo cáo kho bạc của THORChain cho quý 1 năm 2022 được công bố vào ngày 1 tháng 4, chuỗi đã ghi nhận mức tăng trưởng doanh thu bất chấp tác động gấp đôi của sự trì trệ kéo dài của thị trường và các yếu tố địa chính trị không ổn định. Dữ liệu công khai cho thấy THORChain đã ghi nhận doanh thu 2,17 tỷ đô la trong quý 1 năm 2022. THORChain, được ca ngợi là phiên bản chuỗi chéo của UniSwap, đã đạt được vị thế vững chắc trong thị trường giao dịch chuỗi chéo nhờ vào những lợi thế độc đáo của nó và được các nhà đầu tư công nhận rộng rãi.

Đằng sau tất cả những hào nhoáng đó, THORChain cũng gặp rắc rối sâu sắc bởi nạn hack. Chuỗi bị phá vỡ bảo mật thường xuyên kể từ khi nó được khởi chạy trên Ethereum, một thực tế gây nghi ngờ về tính bảo mật của nó. Vào ngày 11 tháng 4, THORChain đã tweet về các cuộc tấn công lừa đảo, cảnh báo người dùng không tương tác với [DeTHOR] hoặc các Token không xác định khác trong ví của họ, điều này một lần nữa làm dấy lên lo ngại về các vấn đề bảo mật của nó.

Trong khi xây dựng một hệ thống bảo mật tốt cho các sản phẩm của CoinEx, nhóm bảo mật của CoinEx cũng theo dõi các sự cố bảo mật trong không gian blockchain để giúp người dùng hiểu rõ hơn về bảo mật của các dự án khác nhau từ góc độ bảo mật kỹ thuật và giảm thiểu rủi ro đầu tư. Nhằm mục đích cải thiện các tiêu chí bảo mật cho lĩnh vực blockchain, nhóm bảo mật của CoinEx đã phân tích các rủi ro bảo mật của THORChain (RUNE). Nhóm hy vọng rằng THORChain có thể lưu ý và giảm thiểu những rủi ro sau bằng cách tối ưu hóa các mã hợp đồng thông minh có liên quan. Ngoài ra, bài viết này cũng là lời cảnh báo cho người dùng, nhắc nhở họ ý thức hơn trong việc bảo mật tài sản, tránh thất thoát tài sản.

THORChain (RUNE) bảo mật như thế nào?

Thông qua phân tích mã hợp đồng và logic của THORChain (RUNE), nhóm bảo mật của CoinEx đã phát hiện ra những rủi ro sau:

Để bắt đầu, hãy test mã hợp đồng của THORChain (RUNE):

Người chơi BitStarz đạt kỷ lục $ 2,459,124! Bạn có thể là người chiến thắng lớn tiếp theo không?

https://etherscan.io/address/0x3155ba85d5f96b2d030a4966af206230e46849cb#code

Chúng tôi có thể nói rằng RUNE là một Token ERC-20 khá tiêu chuẩn. Cần lưu ý rằng ngoài giao diện ERC-20, THORChain (RUNE) cung cấp một giao diện bổ sung:

Theo transferTo (như trong hình trên), THORChain (RUNE) sử dụng tx.origin, đây là một trong những nguyên nhân đằng sau rủi ro bảo mật của nó. Ở đây, chúng ta nên giải thích sự khác biệt giữa tx.origin và msg.sender:

Hình ảnh dưới đây mô tả điều gì sẽ xảy ra khi một địa chỉ thông thường gọi đến hợp đồng thông minh:

Trong những trường hợp như vậy, msg.sender = account.address và tx.origin = account.address, có nghĩa là msg.sender cũng giống như tx.origin.

Sau đây là những gì sẽ xảy ra khi tài khoản gọi hợp đồng A và hợp đồng A gọi hợp đồng B:

Khi hợp đồng A gọi hợp đồng B (như được hiển thị ở trên), chúng ta có thể biết rằng msg.sender bằng tx.origin trong hợp đồng A.

Tuy nhiên, trong hợp đồng B, msg.sender = contractA.address, trong khi tx.origin = account.address. Do đó, tx.origin giống như một biến toàn cục đi ngang qua toàn bộ ngăn xếp cuộc gọi và trả về địa chỉ của tài khoản đã gửi giao dịch ban đầu. Đây là vấn đề mấu chốt: cho đến nay, hầu hết tất cả các cuộc tấn công đã biết chống lại THORChain (RUNE) đều liên quan đến tx.origin.

Bây giờ hãy tìm hiểu cách những kẻ tấn công đánh cắp Token RUNE của người dùng thông qua tx.origin:

Cuộc tấn công số 1: Pilfer a Goat from a Herd

Địa chỉ trên Ethereum được chia thành địa chỉ bên ngoài và địa chỉ hợp đồng. Chuyển ETH đến hai loại địa chỉ này thông qua các địa chỉ bên ngoài về cơ bản là khác nhau. Tài liệu chính thức về tính vững chắc nói rằng địa chỉ hợp đồng phải triển khai chức năng nhận Ether trước khi thực hiện chuyển giao.

Dựa trên các tính năng của tx.origin, tin tặc có thể xây dựng một hợp đồng Tấn công:

Khi hợp đồng Tấn công nhận được chuyển khoản ETH từ người dùng, nó sẽ giết một con dê khỏi đàn - hợp đồng sẽ đánh cắp Token RUNE của người dùng trong quá trình này.

Cuộc tấn công số 2: Cuộc tấn công nội bộ

Tấn công nội tại là một kiểu tấn công đặc biệt. Khi cố gắng đánh cắp người dùng CHẠY thông qua Tấn công nội bộ, tin tặc cần phải có một Token trung gian. Hơn nữa, Token cũng phải gọi các hợp đồng của bên thứ ba. Theo hồ sơ chuyển giao của RUNE trên Ethereum, một số kẻ tấn công đã tấn công RUNE thông qua chuyển Token AMP.

Token AMP sử dụng tiêu chuẩn ERC-1820 để quản lý đăng ký Hook và test xem Hook có được đăng ký sau mỗi lần chuyển hay không. Nếu Hook đã được đăng ký, thì Hook sẽ được gọi.

Mã hợp đồng của Token AMP cho thấy quá trình thực hiện cuối cùng của quá trình chuyển là: _transferByPartition. Trong khi đó, có hai lệnh gọi liên quan đến transferHook: _callPreTransferHooks (trước khi chuyển) và _callPostTransferHooks (sau khi chuyển). Cụ thể, _callPreTransferHooks dành cho địa chỉ từ, trong khi _callPostTransferHooks là địa chỉ đến (tức là địa chỉ nhận).

Đối với người dùng thông thường, việc đánh cắp Token từ chính họ là vô nghĩa. Do đó, những kẻ tấn công có thể khai thác _callPostTransferHooks. Bây giờ hãy test mã của _callPostTransferHooks.

IAmpTokensRecipient (receiverImplementation) .tokensReceive ()

Chúng tôi có thể nói rằng lệnh gọi lại duy nhất mà những kẻ tấn công có thể khai thác là IAmpTokensRecipient (receiverImplementation) .tokensReceive ()

Tiếp theo, chúng tôi sẽ minh họa cách gọi này có thể được sử dụng để chuyển người dùng RUNE trong khi thực hiện chuyển Token AMP.

Bước 1: Cần có hợp đồng cuộc gọi (như hình bên dưới):

Bước 2: Triển khai hợp đồng để lấy Địa chỉ tấn công.

Bước 3: Gọi giao diện hợp đồng ERC-1820 (setInterfaceImplementer) để đăng ký giao diện.

ERC-1820 Địa chỉ: 0x1820a4B7618BdE71Dce8cdc73aAB6C95905faD24

Giao diện hợp đồng: setInterfaceImplementer (địa chỉ toAddr, byte32 interfaceHash, trình triển khai địa chỉ)

Đặc biệt, toAddr là địa chỉ nhận của chuyển AMP,

interfaceHash 为 AmpTokensRecipient 的 hash:

0xfa352d6368bbc643bcf9d528ffaba5dd3e826137bc42f935045c6c227bd4c72a

interfaceHash là hàm băm của AmpTokensRecipient:

0xfa352d6368bbc643bcf9d528ffaba5dd3e826137bc42f935045c6c227bd4c72a

Người triển khai là Địa chỉ tấn công có được trong Bước 2.

Bước 4: Thu hút người dùng chuyển AMP đến toAddr để kích hoạt gọi lại và đồng thời đánh cắp RUNE của họ.

Cuộc tấn công số 3: Cuộc tấn công lừa đảo

Đúng như tên gọi của nó, trong một cuộc tấn công lừa đảo, kẻ tấn công hứa hẹn sẽ đưa ra những lợi ích đáng kinh ngạc để dụ người dùng thực hiện các hoạt động hợp đồng nhất định. Ở đây, chúng tôi sẽ giới thiệu một cuộc tấn công lừa đảo phổ biến.

Bước 1: Kẻ tấn công phát hành Token ERC-20 và có thể viết mã này vào bất kỳ giao diện hợp đồng nào có chữ ký.

Bước 2: Tạo một cặp giao dịch trên Uniswap hoặc bất kỳ hình thức hoán đổi nào khác;

Bước 3: Cung cấp airdrop cho tất cả người dùng / địa chỉ giữ Token RUNE;

Công việc ban đầu của cuộc tấn công lừa đảo về cơ bản đã hoàn thành qua các bước trên. Tiếp theo, kẻ tấn công chỉ phải đợi người dùng giao dịch hoán đổi và người dùng có nguy cơ mất RUNE khi họ thực hiện các thao tác như phê duyệt, chuyển giao, v.v.

Ngoài ra, để xác minh thêm rủi ro bảo mật của mã hợp đồng THORChain, CoinEx đã thảo luận với nhóm bảo mật từ SlowMist và PeckShield, hai cơ quan bảo mật nổi tiếng trong ngành. Được xác nhận bởi SlowMist và PeckShield, rủi ro bảo mật được đề cập ở trên thực sự tồn tại.

Cho đến nay, chúng tôi đã đề cập đến một số loại tấn công cũng như các rủi ro bảo mật mà người dùng phải đối mặt.

Nhóm dự án nên tối ưu hóa mã hợp đồng như thế nào để đảm bảo an toàn hơn và bảo vệ tài sản của người dùng?

Câu trả lời duy nhất là hãy thận trọng khi sử dụng tx.origin.

Người dùng thông thường có thể giảm thiểu rủi ro và bảo vệ tài sản của họ như thế nào khi đối mặt với các cuộc tấn công dường như không thể tránh khỏi? Nhóm bảo mật CoinEx đưa ra các đề xuất sau:

  1. Đối với Tấn công số 1: Khi chuyển khoản, hãy theo dõi lượng Gas tiêu thụ ước tính. Đối với chuyển ETH thông thường, phí Gas là 21.000 là quá đủ. Hãy cẩn thận nếu lượng gas tiêu thụ vượt xa con số đó.
  2. Đối với Cuộc tấn công số 2: Cô lập các Token của bạn bằng cách sử dụng các ví khác nhau. Bạn có thể lưu trữ các Token khác nhau ở các địa chỉ khác nhau. Cần thận trọng hơn khi nói đến địa chỉ ví nóng được cung cấp bởi nền tảng giao dịch.
  3. Đối với Cuộc tấn công số 3: Lòng tham là nguồn gốc của mọi điều ác. Đừng mù quáng tham gia vào bất kỳ sự kiện airdrop nào.

Bảo mật luôn là mối quan tâm hàng đầu trong lĩnh vực blockchain. Tất cả người chơi, bao gồm các nhóm dự án và nền tảng giao dịch, nên ưu tiên bảo mật trong quá trình vận hành dự án, giữ cho tài sản của người dùng an toàn và bảo mật, đồng thời cùng nhau thúc đẩy sự phát triển lành mạnh của ngành công nghiệp blockchain.

Nguồn NewsBTC

Tuyên bố miễn trừ trách nhiệm: Bài viết này chỉ được viết cho mục đích thông tin. Bài viết không nhằm mục đích khuyến khích mua tài sản theo bất kỳ cách nào, cũng không cấu thành lời chào mời, đề nghị, khuyến nghị hoặc gợi ý đầu tư. Tôi muốn nhắc nhở bạn rằng tất cả các tài sản đều được đánh giá từ nhiều góc độ và có rủi ro cao, do đó, bất kỳ quyết định đầu tư nào và rủi ro liên quan đều do nhà đầu tư tự chịu rủi ro.

Chia sẻ bài viết này với bạn bè qua Facebook / Zalo / Telegram: