Tỷ giá Bitcoin BTC BTC
63102 $
0.45%
Tỷ giá Ethereum ETH ETH
2588 $
0.58%
Tỷ giá Tether USDt USDT USDT
1,00 $
-0.01%
Tỷ giá BNB BNB BNB
584,18 $
0.60%
Tỷ giá Solana SOL SOL
145,20 $
1.06%
Tỷ giá USD Coin USDC USDC
1,00 $
0.01%
Tỷ giá USDC USDC USDC
1,00 $
-0.00%
Tỷ giá XRP XRP XRP
0,5922 $
0.21%
Tỷ giá Dogecoin DOGE DOGE
0,1068 $
0.55%
Tỷ giá Toncoin TON TON
5,60 $
0.40%
Tỷ giá TRON TRX TRX
0,1515 $
0.26%
Tỷ giá Cardano ADA ADA
0,3512 $
0.89%
Tỷ giá Avalanche AVAX AVAX
27,13 $
0.63%
Tỷ giá Shiba Inu SHIB SHIB
0,0000 $
1.07%
Tỷ giá Chainlink LINK LINK
11,15 $
0.78%
Tỷ giá Bitcoin Cash BCH BCH
342,09 $
0.72%
Tỷ giá Polkadot DOT DOT
4,35 $
0.56%
Tỷ giá Dai DAI DAI
1,00 $
-0.00%
Tỷ giá UNUS SED LEO LEO LEO
5,73 $
0.35%
Tỷ giá NEAR Protocol NEAR NEAR
4,52 $
1.63%
  1. Home iconBạn đang ở:
  2. Trang chủ
  3. Tin tức tiền điện tử
  4. Lỗi ứng dụng khách Ethereum Proof-Of-Stake đã được bắt và vá mà không xảy ra sự cố

Lỗi ứng dụng khách Ethereum Proof-Of-Stake đã được bắt và vá mà không xảy ra sự cố

27/09/2022 21:38 read146
Lỗi ứng dụng khách Ethereum Proof-Of-Stake đã được bắt và vá mà không xảy ra sự cố

Các nhà phát triển Ethereum đã xác định được một lỗi trong ứng dụng Besu Ethereum có thể dẫn đến sự thất bại đồng thuận trong các mạng có nhiều triển khai EVM.

Gary Schulte đã báo cáo vấn đề với kho lưu trữ Hyperledger GitHub và được tìm thấy bởi Martin Holst Swende. Điều này được hiểu rằng không có mạng lưới sản xuất nào có các giao dịch có thể gây ra lỗi này.

Lỗi được xác định trong quá trình xem xét mã giữ

Swende ghi lại rằng anh ta đã tìm thấy lỗi trong khi thực hiện một số hoạt động #ethereum để chuẩn bị cho #TheMerge. Trả lời một nhà báo của WebGiaCoin, Swende nói rằng người dùng đang chạy Besu Node sẽ bị mắc kẹt và không thể theo dõi chuỗi canon. Hơn nữa, bất kỳ mạng nào do người dùng thống trị đều có thể bị chặn lại trong đường đi của nó.

Máy khách Besu là máy khách phổ biến thứ hai trên mạng Ethereum sau Geth. Theo dữ liệu có sẵn trên etherNodes.org, ứng dụng khách Besu được sử dụng bởi 7,81% khách hàng của mạng chính Ethereum.

Phiên bản máy khách Besu dễ bị tổn thương

Phiên bản 22.7.1 của khách hàng Besu có bản sửa lỗi để đảm bảo lượng gas dư thừa sẽ không được phân bổ cho các cuộc gọi giao dịch nội bộ và khắc phục các lỗi gas dư thừa.

Các phiên bản trước 22.1.3 cũng sẽ ngăn chặn việc thực thi sai, tuy nhiên, mạng chính Ethereum yêu cầu các tính năng khác chỉ có sẵn trong các phiên bản sau. Phiên bản ứng dụng khách 22.4.0 đến 22.7.0 hiện được coi là dễ bị lỗi gas.

Do đó, người dùng máy khách Besu trên mạng chính phải nâng cấp lên phiên bản vá lỗi.

Tác động và cách giải quyết

Danno Ferrin đã tạo ra một bài viết đầy đủ về vấn đề này trong một bài báo trên Hackmd được xuất bản vào ngày 21 tháng 9. Phân tích của Ferrin nói rằng

Một lỗ hổng trong việc xử lý dữ liệu chưa ký vì dữ liệu đã ký, một hợp đồng thông minh được mã hóa đúng cách có thể tạo ra một lệnh gọi hàm sẽ trả về nhiều khí hơn đã được chuyển vào.

Thông tin kỹ thuật khác về lỗi có thể được tìm thấy trong bài đăng của Ferrin. Tuy nhiên, điểm rút ra chính là lỗi đã được giải quyết mà không có bất kỳ sự cố nào trên mạng chính Ethereum. Để một kẻ xấu khai thác lỗi một cách ác ý, họ sẽ phải hành động một cách chính xác.

Để cải thiện lỗi này thành lỗi ngắt dây chuyền, cần có một cuộc gọi được tạo thủ công có chủ ý, liên quan đến một số tương tác với EIP-150, tất cả trừ một quy tắc thứ 64 và dành một phần khí có sẵn cho hợp đồng gọi.

Nếu lỗi không được tìm thấy, bất kỳ chuỗi nào có sự tham gia cao từ khách hàng Besu đều có thể trải qua vòng lặp vô hạn của hợp đồng thông minh, theo đó hợp đồng sẽ thực sự thực thi mãi mãi.

Ferrin tuyên bố rằng fuzzing cho phép các nhà phát triển xác định và vá lỗi mà không có vấn đề gì. Fuzzing là một phương pháp được các nhà phát triển phần mềm sử dụng liên quan đến việc cung cấp dữ liệu không hợp lệ, không mong đợi hoặc ngẫu nhiên làm đầu vào cho một chương trình máy tính.

Bài học lớn nhất được chứng minh bằng cách khai thác này là việc so sánh dữ liệu theo dõi trong một quá trình thực thi fuzzing bắt được nhiều lỗi hơn là chỉ so sánh kết quả cuối cùng.

Lỗi gas dư thừa đã trở thành một sự kiện không phải do sự siêng năng của các nhà phát triển Ethereum cống hiến hết mình để bảo vệ mạng. Tuy nhiên, tác hại tiềm ẩn mà nó có thể gây ra cho thấy sự phức tạp đằng sau việc thực hiện giữ mà không có vấn đề gì.

Lỗi đã được vá trong phiên bản 22.7.1 bằng cách sử dụng một phương pháp chuyển đổi khác sẽ kẹp các giá trị tràn xuống giá trị dự kiến tối đa để tránh các sự cố dịch đã ký. Ferrin nhận xét rằng người dùng đang chạy Nodes trong phạm vi dễ bị tấn công nên cập nhật lên phiên bản mới nhất.

Bài đăng xuất hiện đầu tiên trên WebGiaCoin.

Theo Cryptoslate

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

Tags: Hack, Giữ, Công nghệ, Web3,