Tỷ giá Bitcoin BTC BTC
62648 $
0.03%
Tỷ giá Ethereum ETH ETH
2563 $
-0.37%
Tỷ giá Tether USDt USDT USDT
1,00 $
-0.00%
Tỷ giá BNB BNB BNB
579,06 $
-0.20%
Tỷ giá Solana SOL SOL
143,30 $
-0.28%
Tỷ giá USD Coin USDC USDC
1,00 $
0.01%
Tỷ giá USDC USDC USDC
1,0000 $
-0.01%
Tỷ giá XRP XRP XRP
0,5859 $
-0.42%
Tỷ giá Dogecoin DOGE DOGE
0,1057 $
-0.48%
Tỷ giá Toncoin TON TON
5,53 $
-0.25%
Tỷ giá TRON TRX TRX
0,1512 $
-0.11%
Tỷ giá Cardano ADA ADA
0,3486 $
-0.82%
Tỷ giá Avalanche AVAX AVAX
26,76 $
-0.03%
Tỷ giá Shiba Inu SHIB SHIB
0,0000 $
-0.21%
Tỷ giá Chainlink LINK LINK
11,06 $
-0.95%
Tỷ giá Bitcoin Cash BCH BCH
337,48 $
-0.04%
Tỷ giá Polkadot DOT DOT
4,32 $
-0.28%
Tỷ giá Dai DAI DAI
1,00 $
-0.00%
Tỷ giá UNUS SED LEO LEO LEO
5,72 $
-1.05%
Tỷ giá Litecoin LTC LTC
66,83 $
-0.37%
  1. Home iconBạn đang ở:
  2. Trang chủ
  3. Tin tức tiền điện tử
  4. Cách giải quyết vấn đề bảo mật cơ sở hạ tầng blockchain trong khi tạo dApp

Cách giải quyết vấn đề bảo mật cơ sở hạ tầng blockchain trong khi tạo dApp

12/04/2023 19:08 read101
Cách giải quyết vấn đề bảo mật cơ sở hạ tầng blockchain trong khi tạo dApp

Cuộc đua dành cho WEB3 đã bắt đầu. Các nhà đầu tư mạo hiểm, công ty khởi nghiệp tiền điện tử, kỹ sư và người có tầm nhìn xa đang phát triển WEB3 (hoặc Web 3.0) được cung cấp bởi blockchain. Một ranh giới mới đã hình thành, dân chủ hơn, phi tập trung hơn, độc lập hơn và lý tưởng cho việc khôi phục dữ liệu.

Nhưng mọi thứ có hoàn hảo như vậy liên quan đến phân cấp và bảo mật cơ sở hạ tầng không? Không, và rất nhiều tình huống tấn công trung gian là bằng chứng cho điều đó.

Nhưng để giải quyết vấn đề bảo mật, chúng ta hãy nhớ lại WEB3 là gì. Khái niệm cốt lõi của WEB3 là giải quyết các vấn đề bảo mật do tập trung hóa gây ra và cung cấp cho mọi người quyền đối với dữ liệu và nhận dạng của họ. Vậy những sự cố vi phạm bảo mật đáng tiếc này xảy ra ở cấp độ công nghệ nào trong cơ sở hạ tầng blockchain của bạn? Hãy tìm ra nó.

Để tập trung vào các khía cạnh bên trong của WEB3, các công nghệ như EVM, Solidity và JavaScript vẫn đóng một vai trò to lớn. Tuy nhiên, chúng tôi sử dụng nhà cung cấp Node và nhà cung cấp API WEB3 khi thảo luận về các tính năng phụ trợ.

Nhà cung cấp Node là những công ty cho phép bạn sử dụng dịch vụ của họ thay vì chạy Nodes của bạn. Điều này rất thuận tiện vì thay vì thiết lập Node của bạn và trải qua mọi căng thẳng và chi phí đi kèm với nó, bạn có thể gửi các yêu cầu giao dịch dApp của mình qua Internet tới nhà cung cấp Node. Nếu bạn quan tâm đến việc phát triển hợp đồng thông minh, bạn có thể sử dụng một hoặc hai nhà cung cấp Node (để dự phòng).

Có nhiều nhà cung cấp API WEB3; tuy nhiên, trong nhiều trường hợp, các công ty này hoạt động ngầm với Nodes. Với những công cụ này được áp dụng, bạn có thể nhận được bất kỳ dữ liệu được biên dịch trước và tính toán trước nào trên chuỗi.

Hơn nữa, thật đơn giản để thiết lập giao tiếp và tương tác đáng tin cậy giữa các ứng dụng khác nhau thông qua các API WEB3 này. Ngoài ra, các API chất lượng giúp mã hóa nhất quán và ổn định. Do đó, chúng tôi dựa nhiều nhất vào các API WEB3 đáng tin cậy khi tạo ứng dụng.

???? Sự khác biệt giữa nhà cung cấp Node và nhà cung cấp API WEB3: Nhà cung cấp WEB3 cho phép ứng dụng của bạn giao tiếp với blockchain Node bằng cách gửi yêu cầu JSON-RPC tới máy chủ. Các nhà cung cấp dịch vụ Node chạy các máy khách Node phân tán đằng sau hậu trường và cho phép họ ghi và đọc từ một blockchain bằng cách sử dụng khóa API.

Mối đe dọa bảo mật đối với các nhà phát triển dApps là gì?

Nodes vẫn là những công nghệ tương đối thô sơ, nhưng chúng vẫn có giá trị. Ví dụ: Node WEB3 không thể cho bạn biết người dùng đã gửi những gì vào tài khoản của họ. Bên cạnh việc chỉ cung cấp thông tin blockchain thô, Nodes không thể xử lý nhiều hợp đồng thông minh. Hơn nữa, Nodes có khả năng hạn chế và chỉ có thể xử lý một chuỗi. May mắn thay, có sẵn các API giúp bạn khắc phục hạn chế này.

API xác định và chuẩn hóa các tương tác của ứng dụng, cho phép bạn sử dụng dữ liệu blockchain thô. Đây là lý do tại sao API WEB3 hữu ích cho việc phát triển dApp. API WEB3 là một thành phần quan trọng trong quá trình phát triển dApps; ngoài việc cung cấp một giao diện đơn giản, chúng còn cho phép một phần mềm tương tác với các ứng dụng khác. Vì các API đáng tin cậy cho phép mã hóa nhất quán trong một môi trường ổn định nên các nhà phát triển dApp không cần phải phát minh lại bánh xe.

Hơn nữa, bằng cách sử dụng các API của nhà cung cấp WEB3 này, bạn có thể dễ dàng liên kết đến Nodes. Do đó, bạn không phải lo lắng về việc kết nối với Nodes khi sử dụng các API này. Khi tương tác với các nhà cung cấp này, bạn cũng có thể nhận được tất cả các loại dữ liệu có giá trị được tính toán trước và biên dịch trước khi giao dịch.

Nhưng những dịch vụ như vậy không hoàn toàn đóng các yêu cầu của nhà phát triển trong các gói bảo mật và trong hầu hết các trường hợp, bạn phải trả tiền trước cho việc sử dụng chúng.

Thực tế là ngày càng có nhiều tình huống dApps bị hack bằng cách tấn công trung gian mà chúng tôi đã đề cập ở trên.

Đây là khi kẻ tấn công, sử dụng các lỗ hổng trong máy chủ DNS (ví dụ), chuyển máy chủ sang phục vụ lưu lượng truy cập điểm cuối jsonrpc.

Một nạn nhân được biết là đã mất 16,5 WBTC (khoảng $350,840). Và khoảng 23 dự án tiền điện tử đã gặp phải một cuộc tấn công DNS tương tự.

Một giải pháp rất đơn giản cho phép bạn tự bảo vệ mình khỏi các cuộc tấn công trung gian như vậy. Và chúng tôi sẽ trở lại vấn đề này.

Ngoài ra, nếu bạn có một nhóm phát triển, bạn có thể đi theo cách riêng của mình và cố gắng xây dựng giải pháp của mình, nhưng bạn cần một nhóm có kỹ năng siêu hạng gồm những người cùng chí hướng để làm cho nó hoạt động.

Khó khăn của quá trình này là bạn có thể đánh giá quá cao sức mạnh của mình một cách đáng kể. Một nhiệm vụ có vẻ dễ dàng sau đó đặt ra nhiều câu hỏi, được giải quyết bằng nhiều năm kinh nghiệm trong công việc của một người. Do đó, nếu bạn có nhiều thời gian và nguồn lực thì nên chấp nhận con đường này.

Vi phạm 3 nguyên tắc blockchain chính trong WEB3

Vì vậy, bây giờ chúng ta hãy bình tĩnh và xem xét các thách thức bảo mật hiện tại trong thế giới WEB3 từ góc độ cơ sở hạ tầng.

Các nguyên tắc chính của blockchain là

  • phân quyền
  • minh bạch
  • mất lòng tin

Nhưng nó có hoạt động trong thực tế không? Hãy xem kiến trúc dApp phổ biến nhất.

Most popular dApp architectureKiến trúc dApp phổ biến nhất

Chúng ta có thể thấy rằng người dùng ở giao diện người dùng đang gửi yêu cầu đến nhà cung cấp JSON-RPC (đây có thể là Infura, Alchemy, QuickNode, v.v.).

Vì vậy, các yêu cầu được chuyển đến một môi trường dùng chung, nơi chúng tôi không có quyền kiểm soát việc chuyển đổi dữ liệu tại cổng API, công cụ lưu vào bộ nhớ đệm, blockchain Nodes hoặc bất kỳ thứ gì khác.

Và đây là nơi nảy sinh vấn đề đầu tiên vì môi trường dùng chung có nghĩa là nhiều người dùng, bot và đặc biệt là tin tặc, làm việc trong cùng một môi trường. Đây là một hộp đen thực sự dành cho nhà phát triển thu hút quá nhiều sự chú ý từ những kẻ tấn công.

À, cách làm này mâu thuẫn với cả 3 nguyên tắc của WEB3 vì:

  1. Nó tập trung quyền truy cập vào blockchain, chuyển mọi thứ qua một môi trường dùng chung;
  2. Không minh bạch—chúng tôi không thể xác minh phản hồi từ một API như vậy;
  3. Do đó, nó không thể được gọi là sự ngờ vực thực sự vì các vấn đề bảo mật của cơ sở hạ tầng như vậy chỉ đơn giản dựa trên sự tin tưởng. Xem cho chính mình trong sơ đồ sau./li>
dApp architecture issuesvấn đề về kiến trúc dApp

Vấn đề thứ hai là phiên bản cơ sở hạ tầng được mô tả cho phép thực hiện các cuộc tấn công trung gian mà bọn tội phạm thường xuyên sử dụng.

Các dịch vụ sau có thể bị tấn công:

    • Nhà đăng ký tên miền hoặc DNS
    • Nhà cung cấp JSON-RPC
    • Mọi dịch vụ tổng hợp của bên thứ ba

Một cụm blockchain Nodes tự lưu trữ là giải pháp duy nhất

Nhưng có giải pháp nào không? Có — đã định cấu hình môi trường tại chỗ.

Đầu tiên, nó sử dụng một cụm blockchain Nodes tự lưu trữ. Tất cả Nodes được khởi tạo từ nguồn gốc chính thức và được đồng bộ hóa bằng p2p. Điều này đảm bảo tính nhất quán của dữ liệu.

Nodes nên được cập nhật định kỳ với các ảnh chụp nhanh giảm để chạy hiệu quả nhất có thể. Giải pháp lý tưởng là tự động tạo Nodes mới từ ảnh chụp nhanh đã giảm khi thu phóng. Nếu bạn khởi tạo Node từ đầu, phương pháp này cho phép bạn nhận Node mới trong vòng 30 phút thay vì vài ngày.

Một điểm quan trọng khác là việc cập nhật tự động phần mềm blockchain sau khi phát hành—điều này cũng có thể được thực hiện. Điều chính là tạo ảnh chụp nhanh với phiên bản mới (vì đôi khi nó có thể yêu cầu một số thao tác dữ liệu, có thể mất thời gian), sau đó Nodes mới sẽ tự động bắt đầu với ảnh chụp nhanh mới và phần mềm được cập nhật.

Dưới đây là sơ đồ cơ sở hạ tầng giải quyết hầu hết các vấn đề được mô tả.

dApp infrastructuresolutiongiải pháp cơ sở hạ tầng dApp

Việc giám sát trạng thái đồng bộ hóa và loại trừ những Node đằng sau luồng ngược dòng cũng rất quan trọng. Điều này có thể được thực hiện, ví dụ, với sự trợ giúp của test sức khỏe.

Ngoài thực tế là quyền truy cập có thể bị giới hạn bởi địa chỉ IP, điều đáng nói là Token JWT cũ tốt có thể bảo vệ chống lại các cuộc tấn công DNS hoặc công ty đăng ký tên miền. Token JWT dễ dàng được tích hợp vào web3js và các thư viện khác và nên được triển khai ở phía cổng API trong cụm blockchain của chúng tôi.

Bằng cách này, chúng tôi làm cho điểm cuối blockchain trở nên an toàn và phi tập trung.

Tổng hợp

Web3 vẫn đang ở giai đoạn đầu. Nhưng cuộc đua phân cấp đã bắt đầu. Và bạn sẽ có thể thấy rằng các ứng dụng an toàn nhất có thể là những ứng dụng sử dụng các phương pháp nguồn mở và sáng tạo nhất.

Và do đó, bạn không nên bỏ qua các nguyên tắc cơ bản của WEB3 vì khi đó dApp mới tạo của bạn sẽ không cung cấp bảo mật cho những người tham gia khác. Tùy chọn duy nhất hiện có là một cụm tự trị của blockchain Nodes được phân bổ theo địa lý.

Tác giả:

Daniel Yavorovych

CTO đồng sáng lập tại RPCFast và Dysnix

Bài đăng xuất hiện đầu tiên trên WebGiaCoin.

Theo Cryptoslate

Chia sẻ bài viết này với bạn bè qua Facebook / Zalo / Telegram:

Tags: Bài đăng của khách, Ý kiến, Web3,