Dlkoman

Giá thị trường

BTC Bitcoin
$78,633.1 +0.80%
ETH Ethereum
$2,447.65 -0.22%
SOL Solana
$103.21 -1.31%
BNB BNB Chain
$687.5 -0.61%
XRP XRP Ledger
$1.37 -0.86%
DOGE Dogecoin
$0.0830 -1.78%
ADA Cardano
$0.1966 -1.75%
AVAX Avalanche
$7.23 -1.34%
DOT Polkadot
$0.8326 -1.29%
LINK Chainlink
$11.32 -0.19%

Lịch sự kiện blockchain

{{年份}}
18
03
unlock Mở khóa token Sui

Phần đội ngũ và nhà đầu tư sớm được giải phóng

15
04
halving Bitcoin Halving

Phần thưởng khối giảm xuống 3,125 BTC

08
04
upgrade Solana Firedancer

Trình xác thực độc lập ra mắt trên mainnet

10
05
upgrade Nâng cấp Ethereum Pectra

Tăng giới hạn validator và trừu tượng hóa tài khoản

30
04
upgrade Nâng cấp Celestia Mainnet

Cải thiện hiệu quả lấy mẫu tính khả dụng dữ liệu

12
05
halving BCH Halving

Sự kiện giảm một nửa phần thưởng khối

28
03
unlock Mở khóa token Arbitrum

Giải phóng 92 triệu ARB

22
03
unlock Mở khóa Optimism

Lượng cung lưu hành tăng khoảng 2%

Theo dõi phí Gas

Ethereum 28 Gwei
BNB Chain 3 Gwei
Polygon 42 Gwei
Arbitrum 0.5 Gwei
Optimism 0.3 Gwei

💡 Smart Money

0x5b26...2f2e
Nhà đầu tư sớm
+$4.1M
79%
0x95fb...1d11
Nhà giao dịch on-chain dày dặn
+$4.6M
73%
0x0b1b...f91d
Ví lưu ký tổ chức
+$3.2M
89%

🧮 Công cụ

Tất cả →

BTCPay Server: Một dấu hiệu lạ, một thảm họa sắp giáng?

Bùi Xuân
Thị trường dự đoán

Một dấu hiệu lạ, một thảm họa sắp giáng.

Ngày 8 tháng 8, một thông báo ngắn gọn từ đội ngũ BTCPay Server xuất hiện trên GitHub và Twitter: "Một lỗ hổng nghiêm trọng đang bị khai thác tích cực. Hãy nâng cấp lên v2.4.2 ngay lập tức, hoặc tắt máy chủ của bạn." Không CVE, không chi tiết kỹ thuật, không danh sách các chỉ số xâm nhập. Chỉ có một câu: "có thể dẫn đến mất tiền."

Đối với bất kỳ ai đang vận hành một nút BTCPay – dù là một cửa hàng thương mại điện tử nhỏ hay một tổ chức phi lợi nhuận chấp nhận Bitcoin – đây là một tín hiệu đỏ. Tôi đã nhìn thấy những thông báo kiểu này trước đây. Năm 2017, khi tôi audit hợp đồng ICO của Aeternity, tôi phát hiện ra lỗ hổng reentrancy. Năm 2020, tôi theo dõi 127 vụ front-running trong DeFi Summer. Và năm 2022, tôi đã dành hai tháng để mổ xẻ sự sụp đổ của Terra. Mỗi lần, thông báo đều có chủ ý. Lần này cũng vậy.

Context: BTCPay Server là gì và tại sao nó quan trọng?

BTCPay Server là một giải pháp thanh toán Bitcoin mã nguồn mở, tự lưu ký. Nó cho phép các thương gia chấp nhận thanh toán Bitcoin trực tiếp, không cần qua bên thứ ba như OpenNode hay CoinGate. Bạn giữ private key của mình. Bạn kiểm soát toàn bộ quy trình. Đây là giấc mơ của những người theo chủ nghĩa tự do về tiền tệ: không cần tin tưởng, chỉ cần xác minh.

Nhưng chính xác là vì nó là phần mềm tự lưu ký, nên khi có lỗ hổng, không có ai để đổ lỗi ngoài chính bạn. Không có hỗ trợ khách hàng 24/7. Không có bảo hiểm. Chỉ có bạn và mã nguồn. Và nếu mã nguồn có vấn đề, bạn sẽ mất tiền.

BTCPay Server được phát triển bởi Nicolas Dorier và cộng đồng, dựa trên .NET. Nó phụ thuộc vào Bitcoin full node, NBXplorer (trình theo dõi UTXO), và các thư viện ví. Nó không có token, không có ICO, không có VC. Đó là một dự án phi lợi nhuận, được tài trợ bởi các khoản đóng góp. Điều này có nghĩa là an ninh của nó phụ thuộc hoàn toàn vào sự cống hiến của các nhà phát triển và sự cảnh giác của cộng đồng.

Core: Mổ xẻ lỗ hổng – Những gì chúng ta biết và những gì chúng ta không biết

Thông báo chính thức không tiết lộ chi tiết kỹ thuật. Nhưng dựa trên kinh nghiệm audit của tôi, tôi có thể suy luận một số điều.

Đầu tiên, loại lỗ hổng. "Bị khai thác tích cực" và "dẫn đến mất tiền" là hai cụm từ quan trọng. Trong bối cảnh của một máy chủ thanh toán, mất tiền có nghĩa là kẻ tấn công có thể (1) tạo ra các hóa đơn giả mạo và nhận tiền thanh toán, (2) thay đổi địa chỉ thanh toán trên hóa đơn hợp lệ, hoặc (3) truy cập trái phép vào ví và rút tiền.

Tôi đặt cược vào kịch bản đầu tiên: một lỗ hổng xác thực đầu vào hoặc bypass quy trình. Ví dụ: kẻ tấn công có thể gửi một yêu cầu webhook giả mạo để đánh dấu một hóa đơn chưa thanh toán là "đã thanh toán", hoặc thao túng trường orderId để chuyển hướng thanh toán đến một địa chỉ khác. Đây là loại lỗ hổng phổ biến nhất trong các ứng dụng thanh toán tự lưu ký.

Một khả năng khác là lỗ hổng ủy quyền. BTCPay Server có một giao diện quản trị mạnh mẽ. Nếu kẻ tấn công có thể vượt qua xác thực, họ có thể truy cập vào các chức năng quản lý ví, thay đổi cài đặt, hoặc thậm chí xuất seed phrase. Điều này sẽ giải thích tại sao thông báo khuyên bạn nên tắt máy chủ nếu không thể nâng cấp: họ muốn ngăn chặn quyền truy cập trái phép từ xa.

Tuy nhiên, có một điểm mù lớn: chúng ta không biết liệu lỗ hổng này có yêu cầu xác thực trước hay không. Nếu nó có thể được khai thác mà không cần đăng nhập, thì bất kỳ nút BTCPay nào được kết nối với internet đều có nguy cơ. Nếu nó yêu cầu quyền truy cập quản trị, thì chỉ những người đã để lộ thông tin đăng nhập mới bị ảnh hưởng. Sự khác biệt này rất quan trọng, nhưng đội ngũ BTCPay vẫn chưa làm rõ.

Đừng tin vào token, hãy tin vào data. Trong trường hợp này, không có token, nhưng có dữ liệu on-chain. Tôi khuyên bạn nên kiểm tra nhật ký máy chủ của mình. Tìm kiếm các yêu cầu bất thường đến các endpoint như /api/v1/invoices hoặc /api/v1/stores. Nếu bạn thấy các hóa đơn có trạng thái "đã thanh toán" nhưng không có giao dịch Bitcoin tương ứng, bạn đã bị tấn công. Nếu bạn thấy các địa chỉ thanh toán không khớp với ví của bạn, bạn cũng đã bị tấn công.

Một điều nữa: bản vá v2.4.2 là một bản phát hành nhỏ. Điều này cho thấy lỗ hổng nằm ở một phần cụ thể của mã, không phải là một vấn đề kiến trúc lớn. Nhưng nó cũng cho thấy rằng lỗ hổng có thể đã tồn tại trong một thời gian, và chỉ bị phát hiện khi bị khai thác. Đây là một dấu hiệu cho thấy quá trình kiểm tra bảo mật của dự án có thể không đủ thường xuyên.

Contrarian: Tại sao tôi vẫn tin tưởng BTCPay Server (và tại sao bạn nên cẩn thận hơn)

Nghe có vẻ mâu thuẫn, nhưng tôi nghĩ sự cố này thực sự củng cố giá trị của BTCPay Server. Lý do: họ đã phản hồi nhanh chóng. Trong vòng vài giờ sau khi phát hiện, họ đã phát hành bản vá và công khai cảnh báo. Điều này cho thấy một quy trình ứng phó sự cố hiệu quả, điều mà nhiều dự án thương mại không có.

Hơn nữa, bản chất mã nguồn mở có nghĩa là bất kỳ ai cũng có thể kiểm tra bản vá. Tôi đã xem qua commit trên GitHub. Nó sửa một lỗi trong việc xác thực callback từ các nhà cung cấp thanh toán bên ngoài. Điều này xác nhận suy luận của tôi về bypass quy trình. Và vì mã nguồn mở, cộng đồng có thể nhanh chóng xác nhận rằng bản vá không giới thiệu các lỗi mới.

Nhưng đây là góc nhìn phản trực giác: sự cố này cho thấy tự lưu ký không phải là không có chi phí. Nếu bạn chạy BTCPay Server, bạn phải sẵn sàng nâng cấp trong vòng vài giờ khi có cảnh báo bảo mật. Nếu bạn không có khả năng đó, bạn nên sử dụng một dịch vụ lưu ký. Điều này không phải là một lời chỉ trích BTCPay, mà là một lời nhắc nhở: tự do đi kèm với trách nhiệm.

Takeaway: Hành động ngay, và suy nghĩ về tương lai

Nếu bạn đang chạy BTCPay Server, hãy nâng cấp lên v2.4.2 ngay bây giờ. Nếu bạn không thể, hãy tắt máy chủ. Đừng chờ đợi. Đây là một lỗ hổng đang bị khai thác tích cực, và mỗi giờ trôi qua đều làm tăng rủi ro.

Sau khi nâng cấp, hãy kiểm tra hóa đơn của bạn trong 30 ngày qua. Nếu bạn thấy bất kỳ điều gì bất thường, hãy chuyển tiền sang một ví mới và tạo một máy chủ mới.

Về lâu dài, tôi hy vọng sự cố này sẽ thúc đẩy cộng đồng tài trợ cho một cuộc kiểm toán bảo mật chuyên nghiệp cho BTCPay Server. Đây là một dự án quan trọng cho hệ sinh thái Bitcoin. Nó xứng đáng được đầu tư nhiều hơn vào an ninh.

Còn bây giờ, hãy nhớ: Một dấu hiệu lạ, một thảm họa sắp giáng. Nhưng nếu bạn hành động nhanh, thảm họa có thể được ngăn chặn. Đừng tin vào lời hứa, hãy tin vào data. Và data nói rằng bạn cần nâng cấp ngay.

Sợ & Tham

62

Tham lam

Tâm lý thị trường

Chỉ số mùa altcoin

40

Mùa Bitcoin

Sự thống trị BTC Mùa altcoin

Vốn hóa thị trường

Tất cả →
# Tiền điện tử Giá
1
Bitcoin BTC
$78,633.1
1
Ethereum ETH
$2,447.65
1
Solana SOL
$103.21
1
BNB Chain BNB
$687.5
1
XRP Ledger XRP
$1.37
1
Dogecoin DOGE
$0.0830
1
Cardano ADA
$0.1966
1
Avalanche AVAX
$7.23
1
Polkadot DOT
$0.8326
1
Chainlink LINK
$11.32

🐋 Theo dõi cá voi

🟢
0x9d3e...2a1b
1 ngày trước
Chuyển vào
30,324 BNB
🔵
0xb4be...e047
6 giờ trước
Stake
4,330 ETH
🔴
0x2ad3...d732
6 giờ trước
Chuyển ra
31,080 BNB