Lại một lần nữa, các cầu nối Arbitrum gây lo ngại cho cộng đồng do một bài báo kỹ thuật mới được công bố, hé lộ những lỗ hổng ẩn chứa trong sản phẩm.

Bài blog mở đầu cuộc thảo luận
Gần đây, tài khoản Twitter tincho đã chia sẻ một bài blog, đưa ra quan điểm cá nhân về các lỗ hổng trong cầu nối giữa Arbitrum và Ethereum.
Trước khi đi vào chi tiết các lỗ hổng, bài viết đã trình bày các bước cơ bản của cầu nối, bao gồm:
- Chuyển dữ liệu từ L2 sang L1
- Đợi một 'Relayer được khuyến khích' nhận và chuyển dữ liệu về L1.
- Tại Layer 1 (mainnet Ethereum), dữ liệu được đưa vào hợp đồng thông minh để thực thi, cho phép người dùng rút tiền từ đầu cầu kia.
Bài viết đã chỉ ra 3 lỗ hổng chính trong khâu truyền dữ liệu và xác thực tại đầu nhận. Đồng thời, tác giả cũng so sánh cách tiếp cận của cầu nối Optimism và bày tỏ sự ủng hộ với giải pháp của họ.

Lỗ hổng thứ nhất: tác giả nêu bật rằng việc xác định giá trị 'đúng-sai' của hàm Execute Call có thể bị lợi dụng bởi kẻ tấn công, với khả năng Relayer cố tình chèn dữ liệu 'Sai' liên tục vào hàm, tạo ra vòng lặp cho đến khi đạt được mục tiêu. Tác giả cũng nhấn mạnh khả năng 'retryable' của việc truyền dữ liệu từ L2 sang L1, có nghĩa là thử sai nhiều lần.

Lỗ hổng thứ hai: Theo bài viết, không giới hạn mức gas cho hàm truyền dữ liệu từ L2 sang L1 có thể cho phép kẻ tấn công ưu tiên các giao dịch của họ và lấy hết tiền của các Relayer một cách chiến lược nếu có sự cố.

Lỗ hổng thứ ba: Tác giả bày tỏ quan ngại về việc tái sử dụng biến return_Data có thể gây áp lực lưu trữ trên bộ nhớ, tạo điều kiện cho kẻ tấn công lặp lại việc lưu trữ dữ liệu nhiều lần và làm tăng chi phí gas không kiểm soát được.
Phản hồi của đội ngũ Arbitrum: Có phải cầu nối Arbitrum-Ethereum đang gặp lỗi không?
Harry Kalodner, nhà sáng lập kiêm CTO của Arbitrum, đã nhanh chóng phản hồi thông qua Twitter để giải đáp những lo ngại này.
Liên quan đến những lo ngại về Relayer có động cơ xấu gây ra spam vào hàm Execute Call, CTO của Arbitrum đã lên tiếng.
“Mọi người sử dụng cầu nối từ Arbitrum sang Ethereum biết rằng họ có thể rút tiền tự động sau một tuần. Khi đó, người dùng có quyền tự claim số tiền đã rút. Trong quá trình này, không có sự can thiệp của bất kỳ Relayer thứ ba nào.”
Về vấn đề không hạn chế phí gas khi truyền dữ liệu từ L2, CTO giải thích rằng điều này nhằm mục đích phục vụ người dùng cuối:
“Nếu giới hạn mức gas trên L2, sau một tuần giao dịch có thể trở nên vô hiệu, dẫn đến việc tiền của người dùng bị kẹt lại vĩnh viễn. Thiết kế của chúng tôi đảm bảo tránh được tình trạng đó.”
Harry Kalodner tóm tắt rằng bài viết đã tạo giả thuyết tấn công vào 'Relayer' – yếu tố gần như không hiện hữu trong hệ thống của chúng tôi. Ông nhấn mạnh rằng theo đề xuất của tác giả sẽ chỉ bảo vệ Relayer, không thực sự cần thiết, và thực tế lại gây rắc rối cho người dùng.
Góc khuất chưa kể
Sau sự kiện tối nay, chuyên gia blockchain Polynya đã đưa ra lời khuyên cho người dùng khi tương tác với các cầu nối giữa L2-L1.
“Do Arbitrum One đang xếp hạng ba về khối lượng tài sản bị khoá, chỉ sau Ethereum và BSC, tôi khuyên các bạn nên thận trọng khi sử dụng. Điểm yếu lớn nhất là các cập nhật khẩn cấp chỉ cần 4 trong 6 chữ ký multi-sig để được chấp thuận.”
Trước đó, nhà nghiên cứu kỹ thuật bartek.eth cũng đã chia sẻ nhiều bài viết về truyền dữ liệu giữa L1 và L2. Những ai quan tâm có thể tìm đọc các chuỗi thread của ông để hiểu thêm về kết nối giữa các mạng blockchain.
Về phía Arbitrum, trong tháng 9 vừa qua, phiên bản nâng cấp Arbitrum Nitro đã phát hiện một lỗ hổng liên kết với Layer-1 Ethereum. May mắn là sự cố đã được giải quyết nhanh chóng và hacker mũ trắng đã được công nhận.
Mytour
