Các nhà nghiên cứu của Zengo tiết lộ rằng các bot độc hại đang theo dõi sự tồn tại của các địa chỉ ngẫu nhiên không an toàn trên các blockchain BTC và ngay lập tức khai thác chúng để thực hiện các vụ trộm, gây thiệt hại hàng triệu đô la - một trong số đó đã xảy ra vào ngày 23 tháng 11 năm 2023.
Là một phần của nghiên cứu đang diễn ra của Zengo X trong lĩnh vực bảo mật blockchain, chúng tôi đã điều tra trường hợp của 139 BTC bị mất gần đây, lên tới khoảng 5,5 triệu đô la vào thời điểm đó. Chúng tôi không hề hay biết, bằng cách đó, chúng tôi đã mở BTC chiếc hộp Pandora của Khu rừng Bóng tối.
Vào năm 2020, các nhà nghiên cứu Paradigm Dan Robinson và Georgios Konstantopoulos đã xuất bản một bài đăng trên blog có ảnh hưởng có tiêu đề “ETH Workshop là một khu rừng tối tăm”: tiết lộ các bot ẩn nấp trong bóng tối của các nhóm bộ nhớ của ETH Workshop, giám sát các giao dịch đang chờ xử lý và cố gắng tận dụng các cơ hội sinh lợi mà chúng tạo ra. **
Hôm nay, chúng tôi tiết lộ rằng hiện tượng này không chỉ giới hạn ở các blockchain ETH, mà còn áp dụng cho các blockchain BTC (và có thể nhiều blockchain khác).
1, trường hợp phí quá cao này
Ngày 23/11, một thỏa thuận BTC đã thu hút sự chú ý của các nhà phân tích BTC. **Giao dịch này đã lập kỷ lục về việc thanh toán phí, trả hơn 3 triệu đô la (83 BTC) cho việc chuyển BTC trị giá 2 triệu đô la. **
Mặc dù lời giải thích ngay lập tức cho những khoản phí cắt cổ này (thường được cho là dưới 10 đô la) là đổ lỗi cho họ về một số loại lỗi đánh máy thủ công, như đã xảy ra trong quá khứ, không mất nhiều thời gian để người dùng tuyên bố rằng họ là chủ sở hữu ban đầu trên X (trước Twitter) và bằng cách nào đó đã bị hack. **
Chủ sở hữu của Tài khoản X chứng minh bằng mật mã rằng họ thực sự sở hữu địa chỉ BTC bằng cách ký nó bằng khóa riêng được liên kết.
2, cuộc điều tra của chúng tôi đã bắt đầu
Khi chúng tôi bắt đầu điều tra thỏa thuận phí cắt cổ này sâu hơn, một số sự thật tinh tế nhưng thú vị hơn xuất hiện.
Giao dịch được đánh dấu (Nguồn: mempool.space)
Trên đây cho thấy một số hiểu biết thú vị:
CPFP: Đây là viết tắt của “Child Pays For Parent”, có nghĩa là đầu vào của giao dịch này là đầu ra của một giao dịch chưa được xác nhận khác. Trong trường hợp này, điều đó có nghĩa là trong khi giao dịch đầu tiên đang chờ trong mempool, giao dịch bị tính phí quá mức đã xảy ra. Theo dữ liệu của nhà thám hiểm, nó thực sự được gửi trong cùng một phút với giao dịch trước đó. ** Chi phí chính xác là 60% tổng chi tiêu (83,65 / 139,4), vì vậy nó không có khả năng là một sai lầm, mà là kết quả của một số loại hành động tự động. **
RBF bị vô hiệu hóa: Người gửi giao dịch đã vô hiệu hóa tùy chọn “Thay thế bằng phí” (RBF) hoặc đã ngăn các giao dịch khác ghi đè lên giao dịch với mức phí cao hơn. Ngoài ra, một người dùng X khác nhận thấy rằng ban đầu có nhiều giao dịch vượt phí ứng viên, thay thế nhau bằng cách trả phí cao hơn (không còn hiển thị trong trình thám hiểm, vì thông tin giao dịch được thay thế đã bị xóa trong một khoảng thời gian ngắn).
3. Tình hình thực tế: Giả sử trước
Dựa trên dữ liệu, có một số giả thuyết có thể giải thích giao dịch quá phí này:
Chủ sở hữu ban đầu đã trả quá nhiều tiền cho một kiểu đánh máy sai: Tuyên bố của chủ sở hữu về X chỉ là để giữ thể diện, vì tuyên bố đã bị hack nghe có vẻ dễ chấp nhận hơn là thừa nhận vụng về.
Lưu ý: Điều này có vẻ không hợp lý lắm, vì giao dịch được gửi trong khi giao dịch trước đó vẫn còn trong mempool (xem CPFP ở trên), đòi hỏi chuyên môn kỹ thuật và bản chất chính xác của phí (chính xác 60% tổng phí) không khớp với lý thuyết nhập sai hoặc vụng về chung.
Khóa riêng của chủ sở hữu ban đầu đã bị hack: Kẻ tấn công tiết lộ khóa riêng và đợi chủ sở hữu gửi tiền đến địa chỉ.
Ý kiến của chúng tôi: Điều này khó xảy ra vì giao dịch đã được RBF ưu tiên, có nghĩa là nhiều bên biết về khóa riêng.
Khóa riêng của chủ sở hữu ban đầu có thể dự đoán được: Khóa riêng được tạo theo một số cách có thể dự đoán được, chẳng hạn như bằng cách băm cụm mật khẩu (“Brian-wallet”) hoặc chọn khóa từ một tập hợp quá nhỏ (32 bit). Những vấn đề này được thảo luận sâu trong bài đăng trên blog gần đây của chúng tôi.
Những kẻ tấn công đang tạo ra một bộ sưu tập tất cả các khóa riêng có thể dự đoán này và địa chỉ tương ứng của chúng và bất cứ khi nào giao dịch gửi tiền đến bất kỳ địa chỉ nào trong số này nằm trong mempool, chúng ngay lập tức nhanh chóng và tranh giành để gửi các giao dịch tiếp theo để chuyển số tiền đó đến địa chỉ của chúng.
Giả định cuối cùng này giải thích mọi thứ: Phản ứng ngay lập tức (“CPFP” ở trên) và phí cắt cổ là những gì kẻ tấn công phải làm để đánh bại những kẻ tấn công khác. Bản chất “cố định” của phí (60%) là do tính chất tự động của hoạt động, cần thiết để đánh bại các bên khác. Vô hiệu hóa RBF là một cơ chế khác được sử dụng bởi những kẻ tấn công để tăng cơ hội đánh bại các bên khác.
Giả định này cũng phù hợp với hành vi trong quá khứ của địa chỉ khi kết thúc nhận một giao dịch phí quá cao. Nhiều giao dịch chảy vào địa chỉ có đặc điểm giống như giao dịch phí cao này (mặc dù không sinh lợi như giao dịch trị giá hàng triệu đô la này).
Hành vi của những kẻ tấn công là nhất quán (nguồn: X / Twitter).
Kết luận này, tất nhiên, là một lời giải thích rất đáng sợ và táo bạo đòi hỏi thêm bằng chứng. **
4. Bằng chứng
Để xác minh tuyên bố của chúng tôi, chúng tôi quyết định tạo một khóa riêng có thể dự đoán được, gửi tiền vào đó và quan sát kết quả. Nếu giả định của chúng tôi là chính xác, thì tiền sẽ bị đánh cắp ngay lập tức. Để tạo khóa riêng không ngẫu nhiên và lấy địa chỉ được tạo, chúng tôi đã sử dụng công cụ web phổ biến của Ian Cloeman (cũng đã hoạt động tốt trong quá khứ).
Đặt khóa riêng thành “1” (lưu ý rằng cụm từ ghi nhớ được tạo chủ yếu bao gồm từ “từ bỏ” với chỉ mục 0)
Sử dụng công cụ này, chúng tôi đặt khóa riêng thành “1” và có địa chỉ được tạo: bc1q4jgysxym8yvp6khka878njuh8dem4l7mneyefz. Chúng tôi đã xác minh rằng nó đã không được sử dụng trước đây để loại trừ các giải thích có thể khác.
Sau đó, chúng tôi đã gửi một giao dịch $ 10 đến địa chỉ này… Đúng như dự đoán, chúng tôi phát hiện ra rằng điều này được theo sau bởi một giao dịch phí cắt cổ (5 đô la, hoặc 50%) đã chuyển hướng tiền đến một địa chỉ khác!
Ngoài ra, chúng tôi đã quan sát thấy sự cạnh tranh khốc liệt giữa nhiều bên đang cố gắng giành lợi thế thông qua RBF với mức phí cao hơn, thậm chí lên tới gần 99% số tiền, nhưng những nỗ lực này đã không thành công do giao dịch đầu tiên vô hiệu hóa RBF.
4 giao dịch RBF, giao dịch cuối cùng cung cấp 9,87 đô la trong tổng số 10 đô la dưới dạng phí.
5. Kết luận: Quái vật có tồn tại
Nếu cụm từ hạt giống hoặc khóa riêng của người dùng được tạo theo cách có thể dự đoán được hoặc chịu sự ngẫu nhiên không mong muốn, nó sẽ bị khai thác khi kẻ tấn công biết chi tiết chính xác của thế hệ có thể dự đoán được. **
Như chúng tôi đã trình bày chi tiết trong bài đăng trên blog gần đây của mình, vấn đề tạo khóa an toàn trong ví tiền điện tử bị hầu hết người dùng bỏ qua, nhưng nó chứng tỏ là một vấn đề gây khó khăn cho ví và gây ra tổn thất lớn.
Vì người dùng không thể tạo khóa riêng của họ, nhưng họ không thể chứng minh rằng khóa riêng tư là ngẫu nhiên, người dùng không thể xác minh tính ngẫu nhiên của khóa của họ và phải tin tưởng vào ví của họ.
Vấn đề này là một biểu hiện khác của một vấn đề cốt lõi lớn hơn dựa vào ví một bên. Để giải quyết vấn đề cốt lõi này, cũng như vấn đề cụ thể về tính ngẫu nhiên, chúng ta phải chấp nhận thực tế là người dùng cần tin tưởng một số thực thể bên ngoài và chuyển sang một kiến trúc mạnh mẽ hơn làm giảm niềm tin vào mỗi bên liên quan bằng cách tăng số lượng các bên liên quan. **
Thêm người tham gia có thể làm giảm sự tin tưởng cần thiết cho mỗi người tham gia và làm cho hệ thống mạnh mẽ hơn (xem bài đăng trên blog gần đây của chúng tôi để biết chi tiết).
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.
BTC cũng có Dark Forest: phơi bày các bot độc hại trên chuỗi
Tác giả: Tal Be'ery
Nguồn:
Dịch: Blockchain bản địa
Các nhà nghiên cứu của Zengo tiết lộ rằng các bot độc hại đang theo dõi sự tồn tại của các địa chỉ ngẫu nhiên không an toàn trên các blockchain BTC và ngay lập tức khai thác chúng để thực hiện các vụ trộm, gây thiệt hại hàng triệu đô la - một trong số đó đã xảy ra vào ngày 23 tháng 11 năm 2023.
Là một phần của nghiên cứu đang diễn ra của Zengo X trong lĩnh vực bảo mật blockchain, chúng tôi đã điều tra trường hợp của 139 BTC bị mất gần đây, lên tới khoảng 5,5 triệu đô la vào thời điểm đó. Chúng tôi không hề hay biết, bằng cách đó, chúng tôi đã mở BTC chiếc hộp Pandora của Khu rừng Bóng tối.
Vào năm 2020, các nhà nghiên cứu Paradigm Dan Robinson và Georgios Konstantopoulos đã xuất bản một bài đăng trên blog có ảnh hưởng có tiêu đề “ETH Workshop là một khu rừng tối tăm”: tiết lộ các bot ẩn nấp trong bóng tối của các nhóm bộ nhớ của ETH Workshop, giám sát các giao dịch đang chờ xử lý và cố gắng tận dụng các cơ hội sinh lợi mà chúng tạo ra. **
Hôm nay, chúng tôi tiết lộ rằng hiện tượng này không chỉ giới hạn ở các blockchain ETH, mà còn áp dụng cho các blockchain BTC (và có thể nhiều blockchain khác).
1, trường hợp phí quá cao này
Ngày 23/11, một thỏa thuận BTC đã thu hút sự chú ý của các nhà phân tích BTC. **Giao dịch này đã lập kỷ lục về việc thanh toán phí, trả hơn 3 triệu đô la (83 BTC) cho việc chuyển BTC trị giá 2 triệu đô la. **
Mặc dù lời giải thích ngay lập tức cho những khoản phí cắt cổ này (thường được cho là dưới 10 đô la) là đổ lỗi cho họ về một số loại lỗi đánh máy thủ công, như đã xảy ra trong quá khứ, không mất nhiều thời gian để người dùng tuyên bố rằng họ là chủ sở hữu ban đầu trên X (trước Twitter) và bằng cách nào đó đã bị hack. **
Chủ sở hữu của Tài khoản X chứng minh bằng mật mã rằng họ thực sự sở hữu địa chỉ BTC bằng cách ký nó bằng khóa riêng được liên kết.
2, cuộc điều tra của chúng tôi đã bắt đầu
Khi chúng tôi bắt đầu điều tra thỏa thuận phí cắt cổ này sâu hơn, một số sự thật tinh tế nhưng thú vị hơn xuất hiện.
Giao dịch được đánh dấu (Nguồn: mempool.space)
Trên đây cho thấy một số hiểu biết thú vị:
CPFP: Đây là viết tắt của “Child Pays For Parent”, có nghĩa là đầu vào của giao dịch này là đầu ra của một giao dịch chưa được xác nhận khác. Trong trường hợp này, điều đó có nghĩa là trong khi giao dịch đầu tiên đang chờ trong mempool, giao dịch bị tính phí quá mức đã xảy ra. Theo dữ liệu của nhà thám hiểm, nó thực sự được gửi trong cùng một phút với giao dịch trước đó. ** Chi phí chính xác là 60% tổng chi tiêu (83,65 / 139,4), vì vậy nó không có khả năng là một sai lầm, mà là kết quả của một số loại hành động tự động. **
RBF bị vô hiệu hóa: Người gửi giao dịch đã vô hiệu hóa tùy chọn “Thay thế bằng phí” (RBF) hoặc đã ngăn các giao dịch khác ghi đè lên giao dịch với mức phí cao hơn. Ngoài ra, một người dùng X khác nhận thấy rằng ban đầu có nhiều giao dịch vượt phí ứng viên, thay thế nhau bằng cách trả phí cao hơn (không còn hiển thị trong trình thám hiểm, vì thông tin giao dịch được thay thế đã bị xóa trong một khoảng thời gian ngắn).
3. Tình hình thực tế: Giả sử trước
Dựa trên dữ liệu, có một số giả thuyết có thể giải thích giao dịch quá phí này:
Chủ sở hữu ban đầu đã trả quá nhiều tiền cho một kiểu đánh máy sai: Tuyên bố của chủ sở hữu về X chỉ là để giữ thể diện, vì tuyên bố đã bị hack nghe có vẻ dễ chấp nhận hơn là thừa nhận vụng về.
Lưu ý: Điều này có vẻ không hợp lý lắm, vì giao dịch được gửi trong khi giao dịch trước đó vẫn còn trong mempool (xem CPFP ở trên), đòi hỏi chuyên môn kỹ thuật và bản chất chính xác của phí (chính xác 60% tổng phí) không khớp với lý thuyết nhập sai hoặc vụng về chung.
Khóa riêng của chủ sở hữu ban đầu đã bị hack: Kẻ tấn công tiết lộ khóa riêng và đợi chủ sở hữu gửi tiền đến địa chỉ.
Ý kiến của chúng tôi: Điều này khó xảy ra vì giao dịch đã được RBF ưu tiên, có nghĩa là nhiều bên biết về khóa riêng.
Khóa riêng của chủ sở hữu ban đầu có thể dự đoán được: Khóa riêng được tạo theo một số cách có thể dự đoán được, chẳng hạn như bằng cách băm cụm mật khẩu (“Brian-wallet”) hoặc chọn khóa từ một tập hợp quá nhỏ (32 bit). Những vấn đề này được thảo luận sâu trong bài đăng trên blog gần đây của chúng tôi.
Những kẻ tấn công đang tạo ra một bộ sưu tập tất cả các khóa riêng có thể dự đoán này và địa chỉ tương ứng của chúng và bất cứ khi nào giao dịch gửi tiền đến bất kỳ địa chỉ nào trong số này nằm trong mempool, chúng ngay lập tức nhanh chóng và tranh giành để gửi các giao dịch tiếp theo để chuyển số tiền đó đến địa chỉ của chúng.
Giả định cuối cùng này giải thích mọi thứ: Phản ứng ngay lập tức (“CPFP” ở trên) và phí cắt cổ là những gì kẻ tấn công phải làm để đánh bại những kẻ tấn công khác. Bản chất “cố định” của phí (60%) là do tính chất tự động của hoạt động, cần thiết để đánh bại các bên khác. Vô hiệu hóa RBF là một cơ chế khác được sử dụng bởi những kẻ tấn công để tăng cơ hội đánh bại các bên khác.
Giả định này cũng phù hợp với hành vi trong quá khứ của địa chỉ khi kết thúc nhận một giao dịch phí quá cao. Nhiều giao dịch chảy vào địa chỉ có đặc điểm giống như giao dịch phí cao này (mặc dù không sinh lợi như giao dịch trị giá hàng triệu đô la này).
Hành vi của những kẻ tấn công là nhất quán (nguồn: X / Twitter).
Kết luận này, tất nhiên, là một lời giải thích rất đáng sợ và táo bạo đòi hỏi thêm bằng chứng. **
4. Bằng chứng
Để xác minh tuyên bố của chúng tôi, chúng tôi quyết định tạo một khóa riêng có thể dự đoán được, gửi tiền vào đó và quan sát kết quả. Nếu giả định của chúng tôi là chính xác, thì tiền sẽ bị đánh cắp ngay lập tức. Để tạo khóa riêng không ngẫu nhiên và lấy địa chỉ được tạo, chúng tôi đã sử dụng công cụ web phổ biến của Ian Cloeman (cũng đã hoạt động tốt trong quá khứ).
Đặt khóa riêng thành “1” (lưu ý rằng cụm từ ghi nhớ được tạo chủ yếu bao gồm từ “từ bỏ” với chỉ mục 0)
Sử dụng công cụ này, chúng tôi đặt khóa riêng thành “1” và có địa chỉ được tạo: bc1q4jgysxym8yvp6khka878njuh8dem4l7mneyefz. Chúng tôi đã xác minh rằng nó đã không được sử dụng trước đây để loại trừ các giải thích có thể khác.
Sau đó, chúng tôi đã gửi một giao dịch $ 10 đến địa chỉ này… Đúng như dự đoán, chúng tôi phát hiện ra rằng điều này được theo sau bởi một giao dịch phí cắt cổ (5 đô la, hoặc 50%) đã chuyển hướng tiền đến một địa chỉ khác!
Ngoài ra, chúng tôi đã quan sát thấy sự cạnh tranh khốc liệt giữa nhiều bên đang cố gắng giành lợi thế thông qua RBF với mức phí cao hơn, thậm chí lên tới gần 99% số tiền, nhưng những nỗ lực này đã không thành công do giao dịch đầu tiên vô hiệu hóa RBF.
4 giao dịch RBF, giao dịch cuối cùng cung cấp 9,87 đô la trong tổng số 10 đô la dưới dạng phí.
5. Kết luận: Quái vật có tồn tại
Nếu cụm từ hạt giống hoặc khóa riêng của người dùng được tạo theo cách có thể dự đoán được hoặc chịu sự ngẫu nhiên không mong muốn, nó sẽ bị khai thác khi kẻ tấn công biết chi tiết chính xác của thế hệ có thể dự đoán được. **
Như chúng tôi đã trình bày chi tiết trong bài đăng trên blog gần đây của mình, vấn đề tạo khóa an toàn trong ví tiền điện tử bị hầu hết người dùng bỏ qua, nhưng nó chứng tỏ là một vấn đề gây khó khăn cho ví và gây ra tổn thất lớn.
Vì người dùng không thể tạo khóa riêng của họ, nhưng họ không thể chứng minh rằng khóa riêng tư là ngẫu nhiên, người dùng không thể xác minh tính ngẫu nhiên của khóa của họ và phải tin tưởng vào ví của họ.
Vấn đề này là một biểu hiện khác của một vấn đề cốt lõi lớn hơn dựa vào ví một bên. Để giải quyết vấn đề cốt lõi này, cũng như vấn đề cụ thể về tính ngẫu nhiên, chúng ta phải chấp nhận thực tế là người dùng cần tin tưởng một số thực thể bên ngoài và chuyển sang một kiến trúc mạnh mẽ hơn làm giảm niềm tin vào mỗi bên liên quan bằng cách tăng số lượng các bên liên quan. **
Thêm người tham gia có thể làm giảm sự tin tưởng cần thiết cho mỗi người tham gia và làm cho hệ thống mạnh mẽ hơn (xem bài đăng trên blog gần đây của chúng tôi để biết chi tiết).