10 CUỘC TẤN CÔNG PHỔ BIẾN LÊN BLOCKCHAIN
GIỚI THIỆU CÔNG NGHỆ BLOCKCHAIN
Khái niệm
Blockchain, hay còn gọi là chuỗi khối, là một hệ thống cơ sở dữ liệu phân cấp lưu trữ thông tin trong các khối liên kết với nhau thông qua mã hóa và có khả năng mở rộng theo thời gian Mỗi khối chứa thông tin về thời gian khởi tạo và liên kết với khối trước đó, đồng thời bao gồm dữ liệu giao dịch Thiết kế của blockchain giúp chống lại việc thay đổi dữ liệu; khi thông tin đã được cập nhật, việc thay đổi nó trở nên rất khó khăn Nếu một phần của hệ thống blockchain gặp sự cố, các máy tính và nút khác vẫn sẽ tiếp tục hoạt động để bảo vệ thông tin.
Nền tảng lí thuyết
Hàm băm là thuật toán chuyển đổi dữ liệu có kích thước bất kỳ thành một giá trị băm có kích thước cố định, thường được gọi là đại diện thông điệp hoặc đại diện bản tin.
Hàm băm là công cụ chuyển đổi thông tin thành mã, giúp phát hiện ngay lập tức bất kỳ nỗ lực gian lận nào trên blockchain, vì giá trị băm mới sẽ không khớp với thông tin cũ Nhờ đó, ngành khoa học bảo mật thông tin, thiết yếu cho mã hóa, mua sắm trực tuyến và ngân hàng, đã trở thành một công cụ hiệu quả cho giao dịch mở.
1.2.1.2 Đặc tính của hàm băm
Hàm băm h là hàm một chiều (One-way Hash) với các đặc tính sau :
Với thông điệp đầu vào (bản tin gốc) x, chỉ thu được giá trị duy nhất z = h(x).
Nếu dữ liệu trong bản tin x bị thay đổi hoặc xóa để trở thành bản tin x’, thì giá trị băm h(x’) sẽ khác với h(x) Ngay cả khi chỉ thay đổi một bit trong dữ liệu gốc x, giá trị băm h(x) cũng sẽ thay đổi Điều này chứng tỏ rằng hai thông điệp khác nhau sẽ có giá trị băm khác nhau.
Nội dung của bản tin gốc không thể dễ dàng suy ra từ giá trị hàm băm của nó Điều này có nghĩa là, khi có thông điệp x, ta có thể tính toán giá trị băm z = h(x) một cách dễ dàng Tuy nhiên, việc suy ra thông điệp x chỉ từ giá trị băm h(x) là rất khó khăn, ngay cả khi biết hàm băm h.
1.2.2.1 Khái niệm mạng ngang hàng
Mạng ngang hàng (Peer to Peer - P2P) là hệ thống kết nối máy tính qua Internet, cho phép chia sẻ dữ liệu mà không cần máy chủ trung tâm Trong mạng P2P, tất cả các máy đều bình đẳng và được gọi là peer, đóng vai trò vừa là máy khách vừa là máy chủ cho các máy khác.
1.2.2.2 Vai trò của P2P trong Blockchain
Cấu trúc mạng ngang hàng (P2P) trong Blockchain cho phép giao dịch tiền điện tử mà không cần trung gian, loại bỏ sự kiểm soát của ngân hàng hay máy chủ trung tâm Tất cả giao dịch được ghi lại công khai trên sổ cái Blockchain, đảm bảo tính minh bạch và an toàn.
Các nút trong mạng blockchain đảm nhận những vai trò quan trọng khác nhau, trong đó các nút đầy đủ (full node) đóng vai trò then chốt trong việc duy trì bảo mật cho mạng lưới Chúng thực hiện điều này bằng cách xác minh các giao dịch dựa trên các quy tắc đồng thuận đã được thiết lập.
Các kĩ thuật chính
Công nghệ blockchain có sự tương đồng với cơ sở dữ liệu, nhưng khác biệt ở cách thức tương tác Để hiểu rõ về blockchain, cần nắm vững năm khái niệm chính: chuỗi khối (blockchain), cơ chế đồng thuận phân tán đồng đẳng (Distributed), tính toán tin cậy (trusted computing), hợp đồng thông minh (smart contracts) và bằng chứng công việc (proof of work) Mô hình tính toán này đóng vai trò nền tảng trong việc phát triển các ứng dụng phân tán.
1.3.1 Cơ chế đồng thuận phi tập trung
Mô hình phi tập trung khác biệt hoàn toàn so với mô hình truyền thống, trong đó cơ sở dữ liệu tập trung được sử dụng để quản lý và xác thực giao dịch Thay vào đó, mô hình phi tập trung tin tưởng vào các nút trong một mạng ảo, cho phép lưu trữ giao dịch trong các khối Những khối này sau đó được kết nối với nhau để tạo thành chuỗi khối (blockchain) Cấu trúc của một khối được mô tả chi tiết trong hình 1.3.
Mỗi block trong Blockchain bao gồm các thành phần sau:
Index (Block #): Thứ tự của block (block gốc có thứ tự 0)
Hash: Giá trị băm của block
Previous Hash: Giá trị băm của block trước
Timestamp: Thời gian tạo của block
Data: Thông tin lưu trữ trong block
Nonce: Giá trị biến thiên để tìm ra giá trị băm thỏa mãn yêu cầu của mỗi blockchain.
Giá trị băm (Hash) sẽ băm toàn bộ các thông tin cần thiết như timestamp, previous hash, index, data, nonce.
Khi một block mới được thêm vào chuỗi, nó sẽ chứa giá trị “Previous Hash” tương ứng với giá trị băm của block ngay trước đó Blockchain sẽ tìm kiếm block gần nhất để lấy thông tin về chỉ số (index) và giá trị previous hash.
Mạng blockchain lưu trữ dữ liệu trên tất cả các nút, loại bỏ rủi ro từ việc lưu trữ dữ liệu tập trung Điều này giúp ngăn chặn các điểm tập trung dễ bị tấn công, đảm bảo hệ thống luôn hoạt động ổn định Sự ngưng hoạt động của bất kỳ nút nào trong mạng cũng không ảnh hưởng đến toàn bộ hệ thống.
Mỗi nút trong mạng lưu trữ một bản sao toàn bộ blockchain, và chất lượng dữ liệu phụ thuộc vào sự đồng bộ liên tục giữa các nút Tất cả các nút trong mạng đều có độ tin cậy như nhau, không có nút nào đáng tin cậy hơn các nút khác.
1.3.3 Bằng chứng công việc – Proof of Work (PoW)
Bằng chứng công việc (proof of work) trong mạng blockchain là một thử thách dành cho các nút, yêu cầu chúng tìm ra các block mới bằng cách xác định giá trị băm đáp ứng các điều kiện đã được thiết lập.
1.3.4 Bằng chứng cổ phần – Proof of Stake (PoS)
Thuật toán đồng thuận Proof of Stake (PoS) ra đời vào năm 2011 như một giải pháp thay thế cho Proof of Work (PoW) Các giao thức PoS hoạt động trên cơ chế chọn lựa các trình xác thực dựa trên số lượng tiền điện tử mà họ nắm giữ, giúp tăng cường hiệu quả và giảm tiêu thụ năng lượng trong các blockchain.
Hệ thống PoS (Proof of Stake) không tiêu tốn năng lượng lớn như giao thức PoW (Proof of Work) vì không cần thực hiện các phép toán giải mã phức tạp Điều này giúp mạng lưới PoS tiết kiệm thời gian và năng lượng, mang lại hiệu quả cao hơn so với PoW.
Ứng dụng điển hình của BlockChain
Blockchain được thiết kế với hệ thống lưu trữ phân cấp, đảm bảo khả năng chịu lỗi cao, giúp ghi lại các sự kiện, hồ sơ y tế, xử lý giao dịch, công chứng, danh tính và chứng minh nguồn gốc Công nghệ này có tiềm năng mạnh mẽ trong việc ngăn chặn sự thay đổi dữ liệu trong thương mại toàn cầu.
1.4.1 Ứng dụng trong tiền số
Blockchain không chỉ là nền tảng của Bitcoin mà còn là công nghệ cốt lõi cho các đồng tiền số khác Điều này có nghĩa là nếu một đồng tiền chưa chứng minh được việc sử dụng công nghệ Blockchain, chúng ta có lý do để nghi ngờ tính hợp pháp và độ tin cậy của nó.
1.4.2 Ứng dụng trong hợp đồng thông minh
Hợp đồng thông minh (Smart Contract) là công nghệ cho phép tự động hóa các điều khoản và thực thi thỏa thuận thông qua hệ thống máy tính dựa trên Blockchain Quá trình hoạt động của Hợp đồng thông minh hoàn toàn tự động, không cần sự can thiệp từ bên ngoài Những ứng dụng như xe tự lái, hợp đồng thuê nhà chìa khóa trao tay và thu phí bảo hiểm chỉ là một số ví dụ về cách mà Hợp đồng thông minh sẽ ảnh hưởng đến kinh doanh và cuộc sống của con người trong tương lai.
CÁC CUỘC TẤN CÔNG LÊN BLOCKCHAIN
Tấn công dựa trên mạng ngang hàng
Một nút sẽ phụ thuộc vào số lượng nút "x" được chọn thông qua chiến lược lựa chọn ngang hàng để có cái nhìn về sổ cái phân tán Tuy nhiên, nếu kẻ tấn công kiểm soát tất cả các nút "x" từ những nút độc hại, họ có thể làm sai lệch cái nhìn về sổ cái ban đầu và trình bày sổ cái bị thao túng của riêng mình cho các nút khác.
Cuộc tấn công Sybil nhắm đến toàn bộ mạng bằng cách làm ngập nó với nhiều nút giả mạo, do một kẻ tấn công điều khiển Mục tiêu của cuộc tấn công này không chỉ là một người dùng cụ thể mà là ảnh hưởng đến nhiều nút hoặc toàn bộ mạng, từ đó tạo ra một nhánh trong sổ cái Hành động này cho phép kẻ tấn công thực hiện các cuộc tấn công như chi tiêu gấp đôi.
Tấn công dựa trên sự đồng thuận & dựa trên sổ cái
Tấn công khai thác ích kỷ
Nhiều blockchain xác định chuỗi dài nhất là phiên bản mới nhất của sổ cái, cho phép một người khai thác ích kỷ giữ các khối xây dựng ẩn và sau đó phát hành một fork riêng để được chấp nhận như sự thật mới Người này có thể thực hiện giao dịch trong mạng công cộng trước khi công bố chuỗi tàng hình của mình, tạo cơ hội cho việc chi tiêu gấp đôi thông qua cuộc tấn công Finney Ngoài ra, phần mềm độc hại đã lạm dụng sức mạnh tính toán của hàng triệu máy tính nạn nhân để khai thác tiền điện tử, với báo cáo từ Trung Quốc cho thấy hơn một triệu máy tính đã bị nhiễm và giúp tin tặc khai thác hơn 26 triệu mã thông báo từ nhiều loại tiền điện tử khác nhau.
Cuộc tấn công 51% xảy ra khi một cá nhân hoặc nhóm kiểm soát hơn 51% sức mạnh khai thác của mạng blockchain Mặc dù khó xảy ra ở các mạng lớn, nguy cơ tấn công này cao hơn ở các mạng nhỏ Khi chiếm ưu thế, nhóm này có thể ngăn chặn các giao dịch cụ thể hoặc thậm chí đảo ngược các giao dịch trước đó.
Trong một số mạng blockchain như Bitcoin, các nút phụ thuộc vào thời gian nội bộ được xác định bởi thời gian trung bình từ các nút ngang hàng Nếu một kẻ tấn công có thể đưa nhiều nút độc hại vào danh sách bạn bè của một nút mục tiêu, họ có thể thao túng thời gian của nút đó Bước đầu tiên trong cuộc tấn công này có thể là một cuộc tấn công Eclipse, khiến nút mục tiêu không chấp nhận các khối từ mạng thực do dấu thời gian không phù hợp Điều này tạo cơ hội cho kẻ tấn công thực hiện các giao dịch gấp đôi hoặc giao dịch với nút mục tiêu, vì các giao dịch này không thể được gửi đến mạng blockchain thực tế.
Nếu bạn khai thác một khối trong giao dịch của mình và giữ nó ở trạng thái ẩn, bạn có thể nhân đôi số tiền Khi người bán chấp nhận giao dịch chưa được xác nhận, bạn có thể chuyển cho họ loại tiền đã giao dịch trước đó Sau đó, bạn công bố khối đã khai thác trước đó, giữ ở chế độ ẩn, trước khi giao dịch mới của bạn được xác nhận trên mạng.
Đòn tấn công chủng tộc là một biến thể của đòn tấn công Finney, trong đó kẻ tấn công không cần khai thác khối bằng giao dịch của mình Thay vào đó, hắn gửi một giao dịch chưa được xác nhận cho nạn nhân và đồng thời phát một giao dịch khác lên mạng Nếu kẻ tấn công kết nối trực tiếp với nút của người bán, việc thực hiện cuộc tấn công sẽ dễ dàng hơn, khiến người bán lầm tưởng rằng giao dịch của mình là giao dịch đầu tiên, trong khi thực tế giao dịch đó không bao giờ được gửi lên mạng blockchain.
Tấn công dựa trên Hợp đồng thông minh
Hợp đồng thông minh là loại hợp đồng tự động, thực hiện giao dịch theo thỏa thuận giữa các bên mà không cần trung gian Khi được khởi động, hợp đồng không thể dừng lại, và giao dịch hoàn thành sẽ được ghi vào blockchain, tạo ra tính bất biến Điều này đảm bảo lợi nhuận cho người tham gia dựa trên kết quả hoạt động của họ Tuy nhiên, nếu hợp đồng thông minh gặp lỗi, hàng triệu đô la có thể bị ảnh hưởng mà không ai có khả năng can thiệp Chúng ta sẽ phân tích các cuộc tấn công và vectơ tấn công liên quan đến hợp đồng thông minh.
Tấn công dựa trên ví tiền
Vụ tấn công vào ví Multisig Parity đã xảy ra do lỗ hổng trong ví khách hàng chẵn lẻ, dẫn đến việc kẻ tấn công chiếm giữ 500.000 Ether, tương đương 77 triệu đô la Hợp đồng ví cho phép xây dựng logic bổ sung để thanh toán tự động, nhưng việc sử dụng hợp đồng Thư viện tập trung đã để lộ một số chức năng quan trọng Kẻ tấn công đã thêm tài khoản của mình vào hợp đồng, trở thành chủ sở hữu chung của tất cả các ví được triển khai sau một ngày nhất định Sau đó, hắn kích hoạt chức năng giết, làm đóng băng số tiền trong ví, chốt lại 155 triệu đô la trong ngày hôm đó.
KHÁM PHÁ BỀ MẶT TẤN CÔNG CỦA BLOCKCHAIN
Trong bài viết này, chúng tôi phân tích một cách có hệ thống bề mặt tấn công của công nghệ Blockchain, đặc biệt là các Blockchains công khai Mục tiêu của nghiên cứu là xác định các khả năng tấn công trong bề mặt tấn công của công nghệ này.
1) cấu trúc mật mã Blockchain,
2) kiến trúc phân tán của các hệ thống sử dụng Blockchain
Bối cảnh ứng dụng Blockchain bao gồm nhiều yếu tố và các cuộc tấn công như khai thác ích kỷ, tấn công 51%, tấn công DNS, tấn công DDoS, và sự chậm trễ đồng thuận Chúng tôi phác thảo mối quan hệ nhân quả giữa các cuộc tấn công này để chứng minh sự kết nối giữa các vectơ tấn công khác nhau Bên cạnh đó, bài viết cũng nêu rõ các biện pháp phòng thủ hiệu quả mà công nghệ Blockchain hoặc các nhà nghiên cứu đề xuất nhằm giảm thiểu tác động của các cuộc tấn công và vá các lỗ hổng liên quan Các từ khóa quan trọng bao gồm Blockchain, bảo vệ, bề mặt tấn công, ứng dụng và hệ thống ngang hàng.
GIỚI THIỆU
Công nghệ chuỗi khối đang được khám phá trong nhiều ứng dụng sáng tạo, chẳng hạn như tiền điện tử [1] - [3], hợp đồng thông minh [4], [5], hệ thống liên lạc [6],
Blockchain mang lại nhiều lợi ích cho các lĩnh vực như chăm sóc sức khỏe, hệ thống tài chính và bỏ phiếu điện tử nhờ vào khả năng chống kiểm duyệt và xuất xứ phân tán Với kiến trúc ngang hàng phân tán hoàn toàn và minh bạch, các ứng dụng này hoạt động dựa trên mô hình chỉ dành cho phần phụ, đảm bảo rằng dữ liệu không thể bị sửa đổi.
Blockchain cho phép các giao dịch được chấp nhận và lưu trữ các bản ghi một cách minh bạch, có thể xác minh công khai Hệ thống ngang hàng của Blockchain duy trì sổ cái mà không cần cơ quan quản lý tập trung, giúp giải quyết vấn đề điểm lỗi và điểm tin cậy duy nhất Chẳng hạn, Bitcoin, một loại tiền điện tử phổ biến, tận dụng các đặc tính này để dễ dàng xác minh lịch sử giao dịch tài chính.
Mặc dù Blockchain mang lại nhiều tính năng hữu ích cho thiết kế ứng dụng, nhưng các báo cáo gần đây đã chỉ ra những rủi ro bảo mật nghiêm trọng liên quan đến công nghệ này Một ví dụ điển hình là vào tháng 6 năm 2016, khi một kẻ tấn công không xác định đã đánh cắp 50 triệu USD từ "The DAO".
M Saad, J Spaulding và A Mohaisen từ Khoa Khoa học Máy tính tại Đại học Central Florida, cùng với L Njilla từ Phòng thí nghiệm Nghiên cứu Không quân, C Kamhoua thuộc Phòng Nghiên cứu Quân đội, S Shetty từ Đại học Old Dominion, và D Nyang đang theo học tại Đại học INHA, đã thực hiện nghiên cứu liên quan đến tổ chức tự trị phi tập trung hoạt động dựa trên hợp đồng thông minh và quy tắc lập trình Các sự cố an ninh đã xảy ra trong lĩnh vực tiền điện tử, như vụ đánh cắp 72 triệu đô la Mỹ bitcoin từ sàn giao dịch Bitfinex vào tháng 8 năm 2016 và cuộc tấn công DDoS vào tháng 6 năm 2017, đã làm nổi bật sự dễ bị tổn thương của các sàn giao dịch Bitcoin và Ethereum trước các cuộc tấn công mạng Những cuộc tấn công này không chỉ ảnh hưởng đến tính khả dụng dịch vụ mà còn có thể dẫn đến mất giá trị tiền điện tử và thiệt hại cho các sàn giao dịch.
Bitcoin thường bị tấn công bởi các giao dịch bụi hoặc thư rác, gây cản trở việc xử lý các giao dịch hợp pháp Vào các tháng 5, 8 và 11 năm 2017, mạng lưới Bitcoin đã phải đối mặt với tình trạng quá tải do các giao dịch bụi, dẫn đến sự chậm trễ trong xác minh giao dịch và làm tăng phí khai thác.
Bitcoin đã trải qua nhiều sự cố bảo mật, như vụ đình trệ giao dịch vào tháng 11 năm 2017, dẫn đến việc thanh toán 700 triệu đô la Mỹ bị chậm trễ Các cuộc tấn công này thường nhằm thúc đẩy người dùng chuyển sang các loại tiền điện tử khác có thời gian xử lý nhanh hơn Sự dễ bị tổn thương của tiền điện tử dựa trên Blockchain trước các hoạt động gian lận đã được thể hiện qua vụ tấn công vào sàn giao dịch Mt Gox, nơi 460 triệu đô la Mỹ Bitcoin đã bị đánh cắp Vào tháng 5 và tháng 6 năm 2018, năm loại tiền điện tử như Monacoin và Bitcoin Gold đã bị tấn công 51%, gây thiệt hại lên tới 5 triệu đô la Mỹ, cho phép kẻ tấn công kiểm soát Blockchain và thực hiện chi tiêu gấp đôi Tính bảo mật của hệ thống Blockchain là yếu tố quan trọng đối với sự chấp nhận của người dùng, và các nhà đầu tư cần xem xét rủi ro bảo mật khi nghiên cứu về Bitcoin và các ứng dụng công nghệ liên quan.
Sở giao dịch Ứng dụng
Người dùng Cấu trúc chuỗi khối
Các khối mồ côi [27] NS NS NS
DNS [28] NS NS NS NS
Cuộc tấn công đa số [31] NS NS NS
Khai thác ích kỷ [32] NS NS NS
Sự chậm trễ đồng thuận [34] NS NS NS
Khấu lưu khối [34] NS NS Các cuộc tấn công
Finney tấn công [36] NS NS NS
Nhập vào chuỗi khối [37] NS Đánh cắp ví [38] NS NS NS
Chi tiêu gấp đôi [39] NS NS
Cryptojacking [40] NS NS Ứng dụng
Hợp đồng thông minh DoS [41] NS NS NS
Các cuộc tấn công tái sử dụng [42] NS NS
Các cuộc tấn công tràn [42] NS NS
Phát lại các cuộc tấn công [41] NS NS NS NS
Các cuộc tấn công địa chỉ ngắn [42] NS
Trong bài viết này, chúng tôi khám phá sâu về bề mặt tấn công của Blockchain, nhận định rằng công nghệ này sẽ được áp dụng rộng rãi trong nhiều lĩnh vực Chúng tôi phân loại các cuộc tấn công có thể gây hại cho các ứng dụng Blockchain thành ba nhóm chính: 1) các cuộc tấn công liên quan đến kỹ thuật toán học trong việc tạo ra sổ cái, như các nhánh Blockchain và các khối cũ; 2) các cuộc tấn công liên quan đến kiến trúc ngang hàng trong hệ thống Blockchain, bao gồm min-ing ích kỷ, tấn công 51%, độ trễ đồng thuận, tấn công DDoS và tấn công Hệ thống tên miền (DNS).
Withholding (FAW) ) Các cuộc tấn công, v.v.), và 3) các cuộc tấn công liên quan đến bối cảnh ứng dụng sử dụng công nghệ Blockchain (ví dụ: nhập vào
Bài viết này tập trung vào bề mặt tấn công của các Blockchain công khai và không được phép, nhấn mạnh tính ẩn danh và quyền truy cập mở của chúng Mặc dù các Blockchain công khai như Bitcoin và Ethereum cho phép bất kỳ ai xác nhận giao dịch, chúng cũng đối mặt với nhiều loại tấn công do mô hình tin cậy yếu Ngược lại, các Blockchain riêng tư và được cấp phép cung cấp một môi trường an toàn hơn bằng cách hạn chế quyền truy cập cho các đối tượng đã được sàng lọc Bài viết thực hiện ba đóng góp chính: khảo sát các cuộc tấn công liên quan đến thiết kế và kiến trúc của Blockchain, khám phá nguồn gốc và tác động của các cuộc tấn công này, và chỉ ra mối quan hệ giữa các cuộc tấn công để phát triển các phương pháp chữa trị hiệu quả.
Dựa trên các nghiên cứu trước đây, chúng tôi đã khám phá các chiến lược phòng thủ khả thi cho từng lớp tấn công nhằm tăng cường bảo mật cho Blockchains, vì nhiều cuộc tấn công trong cùng một lớp thường có những điểm chung nhất định.
Trộm cắp Chuỗi khối Nĩa [26] NS NS
Chia tách Khối mồ côi [27] NS
Các cuộc tấn công của Eclipse [30] NS
Các cuộc tấn công đa số [31] NS NS NS
Khai thác ích kỷ [32] NS NS
Sự chậm trễ đồng thuận [34] NS NS
Khấu lưu khối [34] NS NS
Timejacking [35] NS NS NS NS
Nhập vào chuỗi khối [37] NS Đánh cắp ví [38] NS NS
Hợp đồng thông minh DoS [41] NS NS NS Ứng dụng
Các cuộc tấn công tái sử dụng [42] NS NS
Các cuộc tấn công tràn [42] NS
Phát lại các cuộc tấn công [41] NS NS
Các cuộc tấn công địa chỉ ngắn [42] NS NS
Bài viết này thảo luận về các biện pháp phòng thủ và khắc phục đối với các cuộc tấn công vào Blockchain, đồng thời đề xuất các biện pháp đối phó cho từng lớp Chúng tôi nhấn mạnh các bài học kinh nghiệm và hướng nghiên cứu tương lai nhằm cải thiện khả năng xử lý bề mặt tấn công của Blockchain Trong Bảng I và Bảng II, chúng tôi cung cấp cái nhìn tổng quan về bề mặt tấn công của Blockchain, phân loại các cuộc tấn công và tổ chức chúng theo hàm ý của từng lớp Phần còn lại của bài báo sẽ trình bày chi tiết hơn về các vấn đề này.
Chúng em cung cấp động lực cho công việc này và giới thiệu tổng quan về các hoạt động của Blockchain Chúng em phân tích các cấu trúc thiết kế của Blockchain, bao gồm các nhánh Blockchain, khối cũ và khối mồ côi, để xem xét các cuộc tấn công tiềm tàng Bên cạnh đó, chúng em đánh giá các tính năng của mạng phân tán có thể dẫn đến các cuộc tấn công như 51%, DNS, DDoS, và sự chậm trễ trong quá trình đồng thuận Cuối cùng, chúng em mô tả các khía cạnh của kiến trúc ngang hàng, nhấn mạnh khả năng lạm dụng trong các ứng dụng Blockchain.
Chúng em đã phác thảo các lỗ hổng ứng dụng trong Blockchain và đánh giá những mối đe dọa mà các lỗ hổng này phải đối mặt Tiếp theo, chúng em sẽ thảo luận về những hướng mở trong phần VIII và đưa ra nhận xét kết luận trong phần IX.
ĐỘNG LỰC VÀ ĐỐI TƯỢNG MỤC TIÊU
Mục tiêu của nghiên cứu này là nâng cao nhận thức về việc loại bỏ các lỗ hổng bảo mật trong hệ thống Blockchain thông qua một nghiên cứu toàn diện Công nghệ Blockchain đang ngày càng được chú ý và ứng dụng trong nhiều lĩnh vực khác nhau, nhờ khả năng tăng cường sự tin tưởng và cung cấp nguồn gốc trong các hệ thống phân tán Tuy nhiên, để đảm bảo tính an toàn, việc hiểu rõ những thiếu sót, đặc biệt là liên quan đến bảo mật, là rất quan trọng Nghiên cứu của chúng tôi tập trung vào việc phát hiện các lỗ hổng tiềm ẩn trong các ứng dụng Blockchain công cộng phổ biến, phân tích các vectơ tấn công và mối quan hệ giữa chúng Đồng thời, chúng tôi cũng khảo sát các biện pháp phòng thủ và đối phó với các yếu tố tấn công khác nhau, đồng thời đề xuất các hướng nghiên cứu trong tương lai.
Với sự quan tâm ngày càng tăng đến việc sử dụng Blockchains trong các lĩnh vực nghiên cứu và công nghệ khác nhau, việc khám phá bề mặt tấn công của chúng là cần thiết để thiết lập nền tảng bảo mật Việc áp dụng Blockchains công khai trong tài chính có thể giảm thiểu gian lận, nhưng cũng có nguy cơ tiết lộ thông tin nhạy cảm Các tổ chức đang tìm hiểu hệ thống thông minh dựa trên Blockchain, mặc dù có nhiều lợi ích, nhưng cũng cần chú ý đến các hạn chế của ngôn ngữ lập trình và lỗi biên dịch có thể dẫn đến vi phạm dữ liệu Nghiên cứu này có tiềm năng định hướng tương lai cho việc thiết kế các giải pháp Blockchain an toàn hơn, đối phó với những thách thức như xây dựng thuật toán đồng thuận an toàn và tiết kiệm năng lượng Ngoài ra, cần ngăn chặn các cuộc tấn công như khai thác ích kỷ và tấn công đa số Để giải quyết những thách thức này, chúng tôi khảo sát các biện pháp đối phó hiện có nhằm xây dựng các giải pháp an toàn và mạnh mẽ hơn.
Đối tượng mục tiêu của tác phẩm này bao gồm học giả và những người thực hành, những người muốn hiểu bối cảnh tấn công của Blockchain cũng như các giải pháp hiện có cho những cuộc tấn công đó Cả hai nhóm sẽ được hưởng lợi từ một phân tích có hệ thống về bề mặt tấn công của Blockchain, giúp họ xây dựng kiến thức và ứng dụng hiệu quả hơn.
TỔNG QUAN VỀ BLOCKCHAIN
Thuật toán đồng thuận
Các thuật toán đồng thuận quan trọng trong Blockchains bao gồm bằng chứng công việc (PoW), bằng chứng cổ phần (PoS), bằng chứng hoạt động (PoA), bằng chứng năng lực (PoC), bằng chứng ghi (PoB), bằng chứng kiến thức (PoK) và thực tế khả năng chịu lỗi Byzantine (PBFT) Trong số này, PoW là thuật toán phổ biến nhất, tiếp theo là PoS và PBFT Chúng tôi sẽ thảo luận chi tiết về các thuật toán này trong phần tiếp theo.
Trong các Blockchain sử dụng cơ chế Bằng chứng công việc (PoW), các thợ đào cạnh tranh để giải quyết một bài toán toán học phức tạp, như trong trường hợp của Bitcoin, là tìm ra một giá trị băm nhỏ hơn ngưỡng mục tiêu Tất cả các thợ đào sử dụng sức mạnh tính toán của mình để tìm ra giải pháp, và người đầu tiên thành công sẽ khai thác được một khối mới Khi khối được phát tán, các thợ đào khác sẽ xác minh giải pháp và thêm khối vào Blockchain của họ Xác suất thắng trong cuộc đua khai thác tỷ lệ thuận với sức mạnh tính toán của thợ đào, trong khi thời gian khai thác khối của Bitcoin được đặt là 10 phút Khi sức mạnh tính toán tăng, khả năng phát hiện khối mới dưới 10 phút cũng tăng, dẫn đến việc mạng tự động điều chỉnh độ khó của bài toán để phù hợp với sự thay đổi này Thường thì nhiều thợ đào có thể đưa ra giải pháp hợp lệ, gây ra các nhánh Blockchain và khối cũ, điều này sẽ được thảo luận trong phần IV.
Trong Hình 1, chúng em minh họa vòng đời giao dịch trong một ứng dụng
Blockchain hoạt động dựa trên bằng chứng công việc (PoW), nơi người dùng A tạo giao dịch cho người dùng B, và giao dịch này được phát tán tới toàn bộ mạng ngang hàng, lưu trữ tạm thời trong nhóm bộ nhớ (mempool) Trong mạng này, mempool là không gian trong RAM của nút đầy đủ để lưu trữ và chuyển tiếp giao dịch Các thợ đào, hay người xác minh, có nhiệm vụ xác minh giao dịch và tạo khối mới, thường ưu tiên các giao dịch có phí khai thác cao hơn từ mempool Nếu không được chọn, các giao dịch sẽ ở lại mempool cho đến khi có thợ đào khác khai thác Để giải quyết vấn đề tiêu tốn năng lượng của PoW, thuật toán bằng chứng cổ phần (PoS) được giới thiệu, trong đó sức mạnh khai thác dựa trên số lượng coin mà người dùng sở hữu Người dùng đặt giá thầu cho khối mới, và người có giá thầu cao nhất sẽ trở thành thợ đào, giúp PoS tiết kiệm năng lượng và bảo vệ hệ thống khỏi các cuộc tấn công đa số Khác với PoW, trong PoS, tất cả mã thông báo đã được phát hành trước khi tạo khối mới, và thợ đào chỉ nhận phí giao dịch như phần thưởng Giao thức đồng thuận phổ biến thứ ba là khả năng chịu lỗi Byzantine thực tế (PBFT).
Giao thức PBFT (Practical Byzantine Fault Tolerance) được sử dụng phổ biến trong các Blockchains riêng tư và cố định, nơi mà mạng lưới có mô hình tin cậy mạnh hơn so với PoS (Proof of Stake) và PoW (Proof of Work) Trong PBFT, hệ thống được tổ chức thành một nhóm các bản sao hoạt động, bao gồm một bản sao chính nhận giao dịch từ khách hàng và gửi chúng đến các bản sao khác để thực hiện Quá trình thực hiện diễn ra qua bốn giai đoạn: chuẩn bị trước, chuẩn bị, cam kết và trả lời Trong giai đoạn chuẩn bị trước, bản sao chính gửi giao dịch đến tất cả các bản sao hoạt động Tiếp theo, trong giai đoạn chuẩn bị và cam kết, mỗi bản sao ký kết giao dịch và trao đổi với các bản sao khác Cuối cùng, trong giai đoạn trả lời, tất cả các bản sao gửi phản hồi về bản sao chính, từ đó bản sao chính thu thập các giao dịch đã ký và đưa chúng vào một khối So với PoW và PoS, PBFT có độ phức tạp thông điệp cao hơn.
Trong Bảng III, chúng tôi so sánh các thuật toán đồng thuận phổ biến trong ứng dụng Blockchain, nhấn mạnh rằng các Blockchains cần có thông lượng cao và thời gian xác nhận thấp Bitcoin chỉ đạt được 3-7 giao dịch mỗi giây, trong khi các Blockchains được cấp phép thường có thông lượng và thời gian xác nhận thấp hơn Về mặt bảo mật, thuật toán PBFT có khả năng chịu lỗi chỉ 33%, thấp hơn so với PoW và PoS với 50% Tuy nhiên, nhờ vào mô hình tin cậy mạnh mẽ hơn, các Blockchains được cấp phép ít bị tổn thương trước các cuộc tấn công Cuối cùng, Bảng III cho thấy rằng các Blockchains công khai có khả năng mở rộng tốt hơn so với các Blockchains riêng.
Độ phức tạp của thông báo trong quá trình xác minh giao dịch và khả năng chịu đựng đối với các nút Byzantine ảnh hưởng đến hiệu suất của PBFT Với độ phức tạp cao và khả năng chịu lỗi Byzantine thấp, PBFT không thể mở rộng quy mô vượt quá vài trăm nút Mỗi phương án đồng thuận đều có những lợi ích và hạn chế riêng, do đó, việc lựa chọn chương trình đồng thuận phù hợp là cần thiết để đáp ứng các yêu cầu trong quá trình chờ xử lý mô hình ứng dụng.
Cấu trúc chuỗi khối
Mặc dù các kế hoạch đồng thuận trong Blockchain có sự khác biệt, cấu trúc mật mã cơ bản của nó vẫn giống nhau trên mọi ứng dụng Mỗi khối trong Blockchain bao gồm tiêu đề và trọng tải, với tiêu đề chứa thông tin quan trọng như băm của khối trước, gốc merkle và dấu thời gian Các hàm băm một chiều và khả năng chống va chạm giúp Blockchain trở nên bất biến và chống giả mạo Trong các ứng dụng Blockchain, các nút được kết nối theo kiến trúc ngang hàng và sử dụng giao thức gossip để truyền thông tin, bao gồm giao dịch và khối Mỗi đồng đẳng thường duy trì một bản sao của Blockchain, nhưng kích thước ngày càng tăng của nó có thể gây hạn chế về không gian Để khắc phục, các ứng dụng Blockchain cho phép phân đoạn nút thành nút đầy đủ và nút nhẹ; nút đầy đủ giữ bản sao hoàn chỉnh và tham gia vào giao dịch, trong khi nút nhẹ chỉ lưu tiêu đề khối để xác minh khối mới.
Trong một ứng dụng Blockchain, các nút được kết nối theo kiến trúc ngang hàng và sử dụng giao thức gossip để truyền đạt thông tin, bao gồm giao dịch và khối Mỗi nút được kỳ vọng duy trì một bản sao của Blockchain, nhưng kích thước ngày càng tăng của nó có thể gây ra hạn chế về không gian lưu trữ Để khắc phục vấn đề này, các ứng dụng Blockchain phân chia các nút thành nút đầy đủ và nút nhẹ Nút đầy đủ duy trì bản sao hoàn chỉnh của Blockchain và tham gia vào giao dịch cũng như lan truyền khối, trong khi nút nhẹ chỉ giữ tiêu đề khối để xác minh các khối mới được xuất bản.
Một số cuộc tấn công vào công nghệ Blockchain liên quan đến cấu trúc của chính Blockchain, hành vi của một số thợ đào và kiến trúc ngang hàng mà nó được xây dựng Trong các phần tiếp theo, chúng ta sẽ khám phá sâu hơn về các vấn đề này.
Tính chất PoW PoS DPoS PBFT RAFT
Không được phép Được phép Được phép
Chi phí tham gia đúng đúng đúng Không Không
Khả năng mở rộng Cao Cao Cao Thấp Thấp
Thông lượng