Tấn công che khuất (eclipse attack) là gì

Triều Tô6 phút đọc
Nội dung bài8 phần
  1. Node nhìn mạng qua đâu
  2. Cách một cuộc tấn công diễn ra
  3. Ví dụ số: cần bao nhiêu IP
  4. Hậu quả khi node bị che khuất
  5. Cách phòng thủ
  6. Eclipse, Sybil và DoS
  7. Học tiếp trong khoá Crypto
  8. Câu hỏi thường gặp

Độ khó: Trung cấp

Một node Bitcoin không tự biết blockchain đúng là gì. Nó hỏi các node khác mà nó kết nối tới. Eclipse attack (tấn công che khuất) là cách chiếm toàn bộ các kết nối đó, để node chỉ nhìn thấy một thế giới do kẻ tấn công dựng lên.

Nội dung chỉ nhằm giải thích kiến thức, không phải khuyến nghị đầu tư.

Điểm chính

  • Eclipse attack không phá mật mã. Nó cô lập một node khỏi phần còn lại của mạng.
  • Bài báo năm 2015 cho thấy kẻ tấn công có 32 khối địa chỉ /24 (8.192 IP) hoặc 4.600 bot có thể thành công với xác suất trên 85%.
  • Node bị che khuất có thể bị đưa tin sai, dùng để double spend hoặc hỗ trợ khai thác ích kỷ.
  • Các đối sách đầu tiên đã vào Bitcoin Core 0.10.1 từ 04/2015. Cập nhật phần mềm vẫn là việc quan trọng nhất.

Node nhìn mạng qua đâu

Bitcoin không có máy chủ trung tâm. Mỗi node tự chọn một số node khác để nói chuyện, gọi là peer.

Bài báo gốc phân tích phiên bản bitcoind 0.9.3. Với phiên bản đó:

Loại kết nối

Số lượng

Ai chọn đối tượng

Kết nối đi (outgoing)

8

Node tự chọn từ danh sách địa chỉ đã lưu

Kết nối đến (incoming)

tối đa 117

Bất kỳ địa chỉ IP nào tự kết nối vào

Giữa các peer không có xác thực bằng mật mã, node chỉ nhận diện nhau bằng địa chỉ IP. Đây là chỗ yếu bị khai thác: IP thì kẻ tấn công có thể thuê hoặc chiếm được nhiều. Các con số trên là của phiên bản được nghiên cứu, phần mềm sau đó đã thay đổi nhiều tham số.

Cách một cuộc tấn công diễn ra

Node lưu địa chỉ các peer đã biết trong hai bảng trên đĩa. Bảng tried gồm 64 ngăn, mỗi ngăn chứa tối đa 64 địa chỉ đã từng kết nối thành công. Bảng new gồm 256 ngăn, mỗi ngăn tối đa 64 địa chỉ mới nghe nói tới.

Các bước theo bài báo:

  1. Kẻ tấn công điều khiển nhiều địa chỉ IP, thuộc càng nhiều dải mạng khác nhau càng tốt.
  2. Dùng các IP đó kết nối liên tục vào nạn nhân, để địa chỉ của mình lọt vào bảng tried của nạn nhân.
  3. Gửi thêm hàng loạt địa chỉ rác vào bảng new, để địa chỉ thật của các node tử tế bị đẩy ra.
  4. Chờ nạn nhân khởi động lại. Lúc này node chọn lại 8 kết nối đi từ hai bảng, và rất có khả năng cả 8 đều rơi vào địa chỉ của kẻ tấn công.
  5. Kẻ tấn công chiếm nốt 117 kết nối đến còn lại.
Cách một cuộc tấn công chiếm hết kết nối của một node
Các bước tấn công từ chiếm địa chỉ IP đến chiếm hết kết nối của node

Bước 4 nghe có vẻ khó, nhưng node khởi động lại là chuyện thường. Bài báo nêu các lý do như mất kết nối của nhà mạng, mất điện, hoặc cập nhật phần mềm.

Ví dụ số: cần bao nhiêu IP

Theo bài báo, kẻ tấn công có hạ tầng riêng cần 32 khối /24. Mỗi khối /24 có 256 địa chỉ, nên:

32 × 256 = 8.192 địa chỉ IP

Với số đó, xác suất che khuất nạn nhân là trên 85% trong trường hợp bất lợi nhất cho kẻ tấn công, và con số này không phụ thuộc vào quy mô mạng. Nếu dùng botnet, với địa chỉ rải khắp nơi, bài báo tính cần khoảng 4.600 bot.

Để so sánh: lúc bài báo viết, mạng có khoảng 7.200 node có IP công khai. Chỉ 400 bot đã đủ để tấn công thành công trên các node thật mà nhóm tác giả tự chạy để thử nghiệm.

Hậu quả khi node bị che khuất

So sánh node bình thường với node bị che khuất
Node bình thường thấy mạng thật, node bị che khuất chỉ thấy tin do kẻ tấn công lọc

Khi mọi kết nối đều do kẻ tấn công kiểm soát, nó có thể lọc những gì nạn nhân thấy. Bài báo liệt kê các hướng khai thác chính:

  • Double spend không cần xác nhận (0-confirmation): nạn nhân là người bán nhận một giao dịch trả tiền chỉ tồn tại trong góc nhìn bị cô lập, trong khi mạng thật nhận giao dịch khác chuyển tiền cho chính kẻ tấn công.
  • Double spend N xác nhận: nạn nhân thấy một chuỗi khối riêng của kẻ tấn công, nên vẫn thấy giao dịch đủ số xác nhận trong khi chuỗi thật không có nó.
  • Lãng phí sức đào: nếu nạn nhân là thợ đào, công sức của nó bị dùng cho khối mồ côi, và phần sức đào đó biến mất khỏi mạng thật, khiến các đòn tấn công vào đồng thuận dễ hơn.
  • Khai thác ích kỷ (selfish mining): cô lập thợ đào khác giúp kẻ tấn công dễ chiến thắng hơn khi đua tìm khối.

Người dùng thường chỉ cầm ví không phải mục tiêu trực tiếp. Mục tiêu hấp dẫn hơn là node của người bán, của thợ đào và của mining pool.

Cách phòng thủ

Ba đối sách có trong Bitcoin Core 0.10.1
Ba đối sách vào Bitcoin Core 0.10.1 làm cuộc tấn công tốn kém hơn

Nhóm tác giả đề xuất sáu đối sách để nâng chi phí tấn công mà vẫn giữ mạng mở. Bản phát hành Bitcoin Core 0.10.1 ngày 27/04/2015 đã đưa vào ba nhóm: đặt chỗ lưu địa chỉ theo cách xác định thay vì ngẫu nhiên, chọn địa chỉ từ hai bảng với xác suất cố định 50%, và mở rộng bảng địa chỉ.

Bài báo cũng tính một ví dụ về một đối sách khác: tăng kết nối đi từ 8 lên 12. Khi đó, để đạt xác suất thành công 50%, kẻ tấn công có hạ tầng cần 46 khối địa chỉ và botnet cần 11.796 bot.

Checklist nếu bạn chạy node:

  • [ ] Luôn dùng phiên bản mới của phần mềm node, vì đối sách nằm trong mã nguồn.
  • [ ] Khi node khởi động lại, theo dõi xem nó có kết nối được tới nhiều peer khác nhau không.
  • [ ] Đối chiếu độ cao khối của node với ít nhất hai nguồn độc lập. Lệch kéo dài là dấu hiệu cần kiểm tra.
  • [ ] Với số tiền lớn, chờ nhiều xác nhận và xác minh qua nguồn không phụ thuộc vào một node duy nhất.

Eclipse, Sybil và DoS

Tấn công

Mục tiêu

Cách làm

Eclipse

Một node cụ thể

Chiếm mọi kết nối của node đó

Sybil

Cả mạng hoặc cơ chế bỏ phiếu

Tạo nhiều danh tính giả

DoS/DDoS

Khả năng phục vụ

Làm quá tải để dịch vụ ngừng

Eclipse thường cần một dạng Sybil ở bước đầu: kẻ tấn công phải có nhiều địa chỉ. Hiểu nền tảng này giúp bạn đọc tiếp bài blockchain bảo mật nhờ đâu. Bức tranh chung về bảo vệ tài sản nằm ở trang bảo mật tiền mã hóa.

Học tiếp trong khoá Crypto

Các bài học liên quan trong Khoá học Crypto của HODL.VN:

Câu hỏi thường gặp

Eclipse attack có lấy được coin trong ví của bạn không?

Không trực tiếp. Nó không phá khóa riêng. Nó làm hại bằng cách đưa thông tin sai cho một node, từ đó kẻ tấn công có thể lừa người nhận tiền hoặc gây rối cho thợ đào.

Chỉ có Bitcoin bị tấn công kiểu này?

Bài báo 2015 nghiên cứu Bitcoin. Nguyên lý, tức là kẻ tấn công chiếm hết kết nối ngang hàng, áp dụng cho các mạng ngang hàng nói chung, nhưng chi tiết khác nhau tùy từng phần mềm.

Chờ nhiều xác nhận có đủ để an toàn không?

Không hoàn toàn. Nếu node bị che khuất, chính các xác nhận mà nó thấy cũng có thể là giả. Đó là lý do nên đối chiếu thêm nguồn độc lập.

Đã có người bị tấn công thật chưa?

Bài báo chứng minh tính khả thi bằng thử nghiệm trên node của chính nhóm tác giả và bằng mô phỏng. Bài này không nêu vụ việc thực tế nào vì chưa kiểm được nguồn.

Duyệt bởi Ban biên tập HODL.VN · Cập nhật 09/11/2026

Ứng dụng HODL

Tải app HODL

Bảng giá, cảnh báo giá và bài phân tích ngay trên điện thoại.

Watchlist

Đang tải…