Chuỗi BNB là một trong những blockchain phổ biến nhất trong thế giới Web3 với mức phí hợp lý, giao dịch nhanh và hệ sinh thái dự án phong phú thu hút một lượng lớn người dùng. Giống như bất kỳ blockchain nào, các nhà phát triển trên Chuỗi BNB trước tiên nên xem xét các vấn đề bảo mật trong quá trình phát triển: bởi vì bất kỳ khoản tiền nào bị mất sẽ dẫn đến sự suy giảm niềm tin của người dùng vào giao thức và nền tảng, đồng thời các lỗ hổng bảo mật và các cuộc tấn công của hacker là một trong những rủi ro lớn nhất mặt của các nhà phát triển.
Trong bài viết này, chúng tôi cung cấp 10 mẹo bảo mật thiết thực để các nhà phát triển có thể giảm thiểu rủi ro và phát triển các hợp đồng thông minh an toàn hơn trên Chuỗi BNB.
01
╱Định nghĩa ╱
Tấn công phát lại, còn được gọi là tấn công phát lại và tấn công phát lại, là một loại tấn công phổ biến trong môi trường blockchain. Trong an ninh mạng, "tấn công lặp lại" là một loại tấn công mạng trong đó việc truyền dữ liệu hợp lệ bị lặp lại hoặc trì hoãn một cách cố ý hoặc gian lận.
Trong bối cảnh Web3 và hợp đồng thông minh, điều này thường có nghĩa là kẻ tấn công có thể lặp lại giao dịch hoặc hành động trong hợp đồng thông minh mà không có sự cho phép của người dùng ban đầu. Điều này có thể dẫn đến nhiều hình thức gian lận khác nhau như chi tiêu gấp đôi, v.v.
Những cuộc tấn công này có thể gây hậu quả nghiêm trọng cho người dùng và nhà phát triển vì chúng cho phép kẻ tấn công sử dụng lại cùng một chữ ký để có quyền truy cập trái phép vào tất cả các quỹ hoặc tài sản khác trên hợp đồng thông minh.
Để ngăn chặn các cuộc tấn công lặp lại, các nhà phát triển phải thiết kế và triển khai mã hợp đồng thông minh một cách cẩn thận, đồng thời tuân theo xác minh chữ ký cũng như các tiêu chuẩn bảo mật tốt nhất trong ngành.
02
╱ Phân tích trường hợp ╱
Đoạn mã sau đây trình bày quá trình triển khai chuyển mã thông báo trên chuỗi BNB. Mã này dễ bị tấn công lại, cho phép kẻ tấn công sử dụng lại cùng một chữ ký.
Tính năng này thiếu tính năng bảo vệ không sử dụng hoặc phát lại, cho phép kẻ tấn công "phát lại" giao dịch chuyển tiền đã ký nhiều lần. Kẻ tấn công có thể chặn giao dịch đã ký và gửi lại giao dịch đó đến cùng hợp đồng hoặc hợp đồng khác và hợp đồng đó vẫn coi là hợp lệ nên kẻ tấn công có thể khai thác lỗ hổng này để đánh cắp tài sản.
03
╱ Phương pháp cải tiến ╱
Thêm số không vào chữ ký hoặc sử dụng các biến ánh xạ để ghi lại chữ ký. Các giải pháp cụ thể hơn sẽ khác nhau tùy thuộc vào thiết kế dự án.
01
╱Định nghĩa ╱
Cuộc tấn công reentrancy xảy ra khi một hợp đồng độc hại liên tục gọi một hợp đồng dễ bị tổn thương trước khi cuộc gọi ban đầu hoàn tất. Nói cách khác, kẻ tấn công có thể "đánh lừa" một hợp đồng dễ bị tổn thương rằng nó đã hoàn thành một giao dịch và có thể tự do chuyển sang giao dịch tiếp theo, nhưng trên thực tế, nó vẫn đang thực thi mã độc của kẻ tấn công.
Điều này có thể dẫn đến việc kẻ tấn công có thể thao túng trạng thái của hợp đồng theo những cách không mong muốn và có khả năng lấy được tiền trái phép.
02
╱ Phân tích trường hợp ╱
Trong đoạn mã bên dưới, người dùng có thể rút tiền từ tài khoản của mình bằng cách gọi hàm rút tiền và chỉ định số tiền họ muốn rút. Tuy nhiên, do chức năng rút tiền không bảo vệ chống lại các cuộc gọi đệ quy đến chức năng này nên nó dễ bị tấn công vào lại.
Kẻ tấn công có thể khai thác lỗ hổng bằng cách tạo một hợp đồng độc hại gọi chức năng rút tiền nhiều lần trước khi số dư thực sự bị ghi nợ từ tài khoản của họ. Hàm msg.sender.call gửi tiền đến hợp đồng độc hại và kẻ tấn công sử dụng hàm get() của hợp đồng độc hại để rút tiền liên tục trước khi số dư của nó giảm xuống 0, do đó làm cạn kiệt tất cả số tiền của hợp đồng nạn nhân.
03
╱ Phương pháp cải tiến ╱
Thực hiện cập nhật trạng thái trước bất kỳ cuộc gọi bên ngoài nào.
Mẫu này được gọi là mẫu "Kiểm tra-Hiệu ứng-Tương tác" và là mẫu thiết kế được sử dụng để ngăn chặn các cuộc tấn công quay trở lại trong hợp đồng thông minh. Mẫu này tách biệt các thay đổi trạng thái từ lệnh gọi bên ngoài sang các hợp đồng khác bằng cách trước tiên kiểm tra các điều kiện tiên quyết, sau đó cập nhật trạng thái trước khi thực hiện bất kỳ lệnh gọi bên ngoài nào. Bằng cách này, nếu một lệnh gọi bên ngoài kích hoạt một lệnh gọi lại cố gắng gọi lại hợp đồng nhưng trạng thái đã được cập nhật thì các tác động không mong muốn khác sẽ bị ngăn chặn.
Bằng cách làm theo mô hình này, các nhà phát triển có thể đảm bảo rằng hợp đồng của họ an toàn hơn và ít bị ảnh hưởng bởi các cuộc tấn công reentrancy hơn.
Một cách khắc phục khả thi khác là sử dụng công cụ sửa đổi để giới hạn nhiều lệnh gọi đến cùng một chức năng, giống như ReentrancyGuard của OpenZeppelin.
01
╱Định nghĩa ╱
Oracles có thể giúp các hợp đồng thông minh lấy thông tin từ bên ngoài blockchain. Thông thường, giá của một tài sản trên sàn giao dịch phi tập trung (DEX) được xác định bằng giá được nhà tiên tri trích xuất từ giao dịch thành công cuối cùng trên DEX.
Tuy nhiên, vấn đề là giá cả có thể dễ dàng bị thao túng bởi bất kỳ ai, gây ra vấn đề với hợp đồng thông minh. Chúng tôi thường thấy các trường hợp tiên đoán giá bị thao túng thông qua các khoản vay nhanh. Lý do là các khoản vay nhanh cho phép người dùng vay số tiền khổng lồ mà không cần thế chấp miễn là họ hoàn trả khoản vay trong cùng một khối. Điều này giúp những kẻ tấn công dễ dàng tác động hoặc thậm chí thao túng giá cả, thu lợi từ việc thanh lý sai, cho vay quá mức hoặc giao dịch không công bằng.
02
╱Phân tích trường hợp╱
Dưới đây là đoạn mã dễ bị tấn công thao túng oracle.
Hợp đồng này cho phép người dùng trao đổi mã thông báo A lấy mã thông báo B bằng cách sử dụng hợp đồng định tuyến, nhưng nó dựa vào một oracle bên ngoài (hợp đồng Cặp Uniswap) để có được lượng dự trữ mã thông báo A và mã thông báo B để tính giá. Kẻ tấn công đã có thể thao túng khoản dự trữ của hợp đồng Uniswap Pair cũng như chức năng getAmountOut, cuối cùng khiến giao dịch hoán đổi được thực hiện ở mức giá không hợp lý.
03
╱ Phương pháp cải tiến ╱
Để ngăn chặn cuộc tấn công này, các nhà phát triển nên sử dụng mạng oracle phi tập trung có thể lấy được giá trung bình theo trọng số khối lượng (VWAP) hoặc giá trung bình theo trọng số theo thời gian (TWAP) của các sàn giao dịch tập trung và phi tập trung trên chuỗi. Bằng cách này, dữ liệu sẽ được thu thập từ nhiều nguồn và trong khoảng thời gian rộng, giúp mã ít bị tấn công và thao túng hơn. Điều quan trọng là các nhà phát triển phải có khả năng loại bỏ mọi vectơ tấn công thao túng oracle khỏi hợp đồng thông minh để ngăn chặn các lỗ hổng tiềm ẩn.
01
╱Định nghĩa ╱
Việc thiết lập đúng cách mức độ hiển thị của các chức năng sẽ đảm bảo tính bảo mật và tính toàn vẹn của hợp đồng thông minh. Việc sử dụng cài đặt hiển thị chức năng không chính xác có thể cho phép người dùng ngoài ý muốn thao túng trạng thái hợp đồng, dẫn đến các vấn đề nghiêm trọng như bị đánh cắp tiền hoặc kiểm soát chức năng hợp đồng.
Bằng cách đặt chế độ hiển thị của một chức năng thành riêng tư hoặc nội bộ, bạn đảm bảo rằng các nhà phát triển có quyền truy cập hạn chế vào một số chức năng nhất định và chỉ những nhân viên được ủy quyền mới có thể gọi cho họ. Các chức năng riêng tư chỉ có thể được gọi từ chính hợp đồng, trong khi các chức năng nội bộ cũng có thể được gọi từ hợp đồng hiện tại. Điều này cho phép các nhà phát triển tạo ra các hợp đồng mạnh mẽ và phức tạp hơn trong khi vẫn duy trì quyền kiểm soát quyền truy cập vào chức năng.
02
╱ Phân tích trường hợp ╱
Hàm setAdmin() cho phép mọi người đặt bất kỳ địa chỉ nào làm quản trị viên hợp đồng. Tùy thuộc vào các quyền được cấp trong hợp đồng để quản lý địa chỉ, điều này có thể khiến nhà phát triển mất quyền kiểm soát chính hợp đồng và thậm chí gây mất tiền.
Bằng cách đặt chế độ hiển thị của chức năng thành nội bộ, một số chức năng hợp đồng có thể cho phép nội bộ một số người dùng nhất định được đặt làm quản trị viên.
03
╱ Phương pháp cải tiến ╱
Công cụ sửa đổi quyền truy cập là một tính năng bảo mật quan trọng quy định ai có thể truy cập các chức năng hoặc biến cụ thể trong hợp đồng. Những công cụ sửa đổi này có thể được sử dụng để hạn chế khả năng hiển thị của các chức năng hoặc biến nhất định đối với các vai trò hoặc địa chỉ cụ thể, đồng thời ngăn chặn các tác nhân độc hại truy cập trái phép hoặc thao túng trạng thái hợp đồng.
Ví dụ: một hợp đồng có thể có một chức năng mà chỉ chủ sở hữu hợp đồng mới có thể gọi hoặc một biến chỉ có thể được truy cập bởi một bộ địa chỉ cụ thể.
Quyền truy cập vào chức năng setAdmin có thể bị hạn chế ở địa chỉ của chủ sở hữu hợp đồng bằng cách thay đổi công cụ sửa đổi mức độ hiển thị thành bên ngoài và đặt công cụ sửa đổi quyền truy cập thành onlyOwner. Điều này sẽ ngăn chặn các bên độc hại bên ngoài nắm quyền kiểm soát các chức năng đặc quyền nhất định.
Việc sử dụng hợp lý khả năng hiển thị và các công cụ sửa đổi hạn chế có thể giúp quản lý hợp đồng dễ dàng hơn và giảm các cuộc tấn công phổ biến như reentrancy (kẻ tấn công liên tục gọi một hàm để thao túng trạng thái hợp đồng) hoặc các cuộc tấn công chạy trước (kẻ tấn công giám sát các giao dịch đang chờ xử lý và thao túng trạng thái hợp đồng trước khi hợp pháp được thực hiện hợp pháp). giao dịch được thực hiện).
Bằng cách sử dụng các tính năng này một cách thích hợp, nhà phát triển có thể nâng cao tính bảo mật và độ tin cậy cho hợp đồng của họ, giảm nguy cơ truy cập trái phép, đồng thời cải thiện chất lượng tổng thể và khả năng bảo trì mã của họ.
01
╱Định nghĩa ╱
Khi quyết định có nên nâng cấp hợp đồng trong tương lai hay không, điều quan trọng là phải xem xét cẩn thận thiết kế của hợp đồng ngay từ đầu. Khả năng nâng cấp hợp đồng đề cập đến thuộc tính mà logic của hợp đồng thông minh có thể được sửa đổi hoặc cập nhật sau khi nó được triển khai trên blockchain. Mặc dù khả năng nâng cấp có thể mang lại nhiều lợi ích (chẳng hạn như sửa lỗi, nâng cao hiệu quả hoặc thêm chức năng mới), nhưng nó cũng gây ra một số rủi ro. Việc nâng cấp hợp đồng có thể gây ra các lỗ hổng mới, tăng độ phức tạp của hợp đồng hoặc gây ra những hậu quả không lường trước được.
Khả năng nâng cấp hợp đồng cũng đặt ra vấn đề về niềm tin vì quản trị viên đại lý có thể nâng cấp hợp đồng mà không cần sự đồng thuận của cộng đồng. Các nhà phát triển cần cân nhắc cẩn thận những ưu điểm và nhược điểm của khả năng nâng cấp và xác định xem việc đưa ra các hợp đồng có thể nâng cấp có thực sự cần thiết cho dự án của họ hay không. Trong một số trường hợp, sẽ an toàn hơn nếu thiết kế một hợp đồng bất biến ngay từ đầu thay vì dựa vào khả năng sửa đổi nó sau này.
02
╱ Phương pháp cải tiến ╱
Khi nói đến khả năng nâng cấp hợp đồng, có một số thực tiễn quan trọng cần tuân theo. Đầu tiên và quan trọng nhất, không sửa đổi thư viện proxy. Thư viện hợp đồng Proxy cực kỳ phức tạp, đặc biệt là về cơ chế quản lý lưu trữ và nâng cấp. Ngay cả những lỗi nhỏ cũng có thể ảnh hưởng lớn đến hoạt động của các hợp đồng Proxy và logic. Trên thực tế, nhiều lỗi nghiêm trọng liên quan đến proxy được phát hiện trong quá trình kiểm tra là do những sửa đổi không phù hợp đối với thư viện proxy.
Một khía cạnh quan trọng khác của khả năng nâng cấp hợp đồng là việc đưa vào "khoảng trống" lưu trữ trong hợp đồng cơ sở. Hợp đồng logic phải bao gồm khoảng trống lưu trữ trong mã hợp đồng để tính đến các biến mới có thể được đưa vào khi triển khai triển khai logic mới. Sau khi thêm các biến trạng thái mới, việc cập nhật kích thước của "khoảng trống" càng trở nên quan trọng hơn. Cách thực hành này đảm bảo rằng các lần nâng cấp trong tương lai sẽ diễn ra suôn sẻ và không gặp sự cố.
Cuối cùng, bạn phải tránh sử dụng selfdesturation() hoặc thực hiện delegatecall()/call() trên các hợp đồng không đáng tin cậy. Kẻ tấn công có thể khai thác các chức năng này để phá hoại việc triển khai logic hoặc thực thi logic tùy chỉnh. Để ngăn chặn điều này, điều quan trọng là phải xác thực dữ liệu đầu vào của người dùng! Không cho phép các hợp đồng thực hiện delegatecall()/call() trên các hợp đồng không đáng tin cậy. Ngoài ra, bạn không nên sử dụng delegatecall() trong hợp đồng logic vì việc quản lý bố cục lưu trữ trên nhiều hợp đồng có thể khó khăn. Bằng cách làm theo những thực tiễn này, các nhà phát triển có thể giảm thiểu lỗ hổng và rủi ro trong quá trình nâng cấp hợp đồng của họ.
01
╱Định nghĩa ╱
Chạy trước luôn là một vấn đề khó giải quyết và khó giải quyết, trong đó người dùng có thể thu lợi từ sự chậm trễ giữa việc gửi giao dịch và xác nhận nó trên blockchain. Sự chậm trễ này là do mempool gây ra.
mempool là vùng lưu trữ tạm thời được sử dụng để lưu trữ các giao dịch chưa được xác nhận đã được phát lên mạng. Tất cả các nút trong mạng đều duy trì một mempool, cho phép mọi người xem các giao dịch đang chờ xử lý và có khả năng chặn và thu lợi nhuận từ chúng. Mempool cũng cung cấp cho người khai thác cơ hội sắp xếp lại các giao dịch để tối đa hóa lợi nhuận của họ, tạo ra giá trị có thể trích xuất (MEV) của người khai thác (hoặc tối đa).
02
╱ Phân tích trường hợp ╱
Dưới đây là ví dụ về tính năng đặt giá thầu đấu giá có xu hướng chạy trước.
Tính năng này cho phép người dùng đặt giá thầu trong các cuộc đấu giá nhưng có thể bị tấn công trực tiếp. Giả sử một người dùng độc hại giám sát blockchain và thấy rằng một người dùng khác đã gửi giá thầu cao. Người dùng độc hại có thể nhanh chóng gửi giá thầu cao hơn và được ưu tiên, cuối cùng là thắng cuộc đấu giá.
Trong phiên bản sau, người dùng gửi giá thầu không xác định và những giá thầu này được lưu trữ trong tệp ánh xạ . Số tiền đấu thầu được mã hóa cho đến khi kết thúc thời gian đấu thầu.
03
╱ Phương pháp cải tiến ╱
Khi kết thúc thời gian đặt giá thầu, người dùng có thể tiết lộ giá thầu của mình bằng cách gửi số tiền giá thầu ban đầu và giá trị bí mật. Hợp đồng xác minh rằng số tiền giá thầu và hàm băm bí mật khớp với giá thầu bí mật được lưu trữ, đảm bảo rằng giá thầu đã được gửi trước khi kết thúc thời gian đấu giá. Nếu giá thầu đó cao hơn giá thầu tối đa hiện tại thì nó sẽ trở thành giá thầu tối đa mới. Tính năng này giảm thiểu các cuộc tấn công chạy trước bằng cách che giấu số tiền giá thầu cho đến khi kết thúc thời gian đấu giá.
Chạy trước và MEV đã trở thành mối quan tâm lớn trong cộng đồng blockchain và nhiều giải pháp khác nhau, chẳng hạn như giao dịch và Dịch vụ đặt hàng công bằng (FSS), đã được đề xuất để giải quyết những vấn đề này. Giao dịch có thể giúp ngăn chặn hoạt động chạy trước bằng cách ẩn chi tiết giao dịch với những người dùng khác cho đến khi giao dịch được thực hiện trên blockchain. Mặt khác, FSS có thể giảm tác động của hoạt động chạy trước và MEV thông qua việc đặt hàng giao dịch ngoài chuỗi an toàn.
Việc có một kế hoạch ứng phó rõ ràng và toàn diện là rất quan trọng để xử lý các sự cố an ninh khẩn cấp. Kế hoạch này cần được xem xét, cập nhật và kiểm tra thường xuyên về tính hiệu quả. Khi trường hợp khẩn cấp về an ninh xảy ra, thời gian là điều cốt yếu. Do đó, kế hoạch này cần được tùy chỉnh trước và bao gồm các bước hoạt động chi tiết để xác định, kiểm soát và giảm thiểu.
Kế hoạch cần được thực hiện một cách hiệu quả để thông báo cho tất cả các bên liên quan. Đồng thời, việc sao lưu dữ liệu thường xuyên cũng rất quan trọng để tránh mất dữ liệu. Kế hoạch cần phác thảo quy trình khôi phục để khôi phục dữ liệu và hệ thống về trạng thái trước đó. Các thành viên trong nhóm cần được đào tạo một cách có hệ thống về kế hoạch để đảm bảo mọi người hiểu rõ vai trò và trách nhiệm của mình.
Một kế hoạch ứng phó được chuẩn bị tốt có thể không khắc phục được sự cố nhưng có thể giảm thiểu tác động của sự cố và duy trì niềm tin với người dùng cũng như các bên liên quan.
Kiểm tra mã thường xuyên là rất quan trọng để duy trì tính bảo mật cho ứng dụng của bạn. Làm việc với kiểm toán viên chuyên nghiệp chuyên về bảo mật hợp đồng thông minh là một bước quan trọng trong quá trình phát triển. Kiểm toán viên sẽ kiểm tra mã để tìm các lỗ hổng và đưa ra các khuyến nghị để cải thiện tính bảo mật tổng thể.
Ưu tiên và giải quyết các vấn đề đã xác định cũng như duy trì liên lạc cởi mở với kiểm toán viên là rất quan trọng để cải thiện tính bảo mật.
Ngoài ra, việc giao tiếp với kiểm toán viên cũng rất quan trọng. Kiểm toán viên có thể giải thích chi tiết các vấn đề và lỗ hổng mà họ đã phát hiện, đồng thời đưa ra hướng dẫn và trợ giúp thiết thực về cách giải quyết lỗ hổng. Bằng cách hợp tác với các cơ quan/nhân viên kiểm toán chuyên nghiệp, an ninh sẽ được "đưa lên tầm cao mới".
Đối với các nhà phát triển chuỗi BNB, việc tiến hành kiểm toán thường xuyên là một phần không thể thiếu trong bất kỳ chiến lược bảo mật toàn diện nào. Việc chủ động xác định và giải quyết các lỗ hổng trong mã của bạn có thể giảm thiểu nguy cơ vi phạm bảo mật.
Sử dụng chương trình tiền thưởng là một cách hiệu quả để khuyến khích các hacker mũ trắng trong cộng đồng báo cáo các lỗ hổng bảo mật trong mã của dự án. Bằng cách cung cấp các ưu đãi như mã thông báo hoặc phần thưởng khác, bất kỳ dự án nào cũng có thể khuyến khích những người có kinh nghiệm xem lại mã và báo cáo bất kỳ vấn đề tiềm ẩn nào mà họ tìm thấy.
Điều quan trọng là phải có chương trình thưởng lỗi rõ ràng và minh bạch. Kế hoạch cần bao gồm: loại lỗ hổng nào được phát hiện đủ điều kiện nhận phần thưởng, cách đánh giá giá trị của các lỗ hổng này, v.v. Đồng thời, việc bao gồm bên thứ ba có uy tín trong chương trình tiền thưởng lỗi có thể giúp đảm bảo chương trình hoạt động trơn tru và phân phối phần thưởng một cách công bằng.
Đồng thời, điều quan trọng là phải có một “nhóm thợ săn tiền thưởng” đa dạng. Các hacker mũ trắng khác nhau có các lĩnh vực chuyên môn khác nhau và có thể tập trung vào việc tìm kiếm các vấn đề mà người khác có thể bỏ sót.
Cuối cùng, một khi các lỗ hổng được báo cáo, hành động phải được thực hiện nhanh chóng và hiệu quả để giải quyết chúng. Các chương trình tiền thưởng có thể là một công cụ hiệu quả để xác định các lỗ hổng, nhưng nó chỉ có ý nghĩa nếu nhóm phát triển thực sự khắc phục được vấn đề.
Giáo dục người dùng Web3 về bảo mật là một bước quan trọng trong việc xây dựng một hệ sinh thái an toàn. Việc đảm bảo an toàn cho khách hàng sẽ giúp đảm bảo an toàn cho nền tảng. Người dùng nên được đào tạo về các phương pháp hay nhất để bảo vệ tài khoản và thông tin nhạy cảm của họ.
Phần quan trọng nhất là học cách tránh lừa đảo.
Những kẻ lừa đảo lừa đảo lừa người dùng tiết lộ khóa riêng tư hoặc mật khẩu của họ bằng cách giả vờ là một trang web hoặc dịch vụ hợp pháp. CertiK khuyến nghị người dùng luôn kiểm tra kỹ mọi email, nguồn, v.v. URL trang web đang được sử dụng khi nhận bất kỳ thông tin nào và không bao giờ nhập khóa hoặc mật khẩu riêng tư trên các trang web không đáng tin cậy.
Và một phần quan trọng khác là có mật khẩu an toàn và mạnh mẽ. CertiK khuyến nghị người dùng nên sử dụng mật khẩu phức tạp và duy nhất cho mỗi tài khoản và tránh sử dụng lại mật khẩu trên các dịch vụ khác nhau. Ngoài ra, mật khẩu phải được lưu trữ an toàn bằng trình quản lý mật khẩu hoặc cơ chế lưu trữ an toàn khác.
Cuối cùng, việc bảo vệ khóa riêng là vô cùng quan trọng. Khóa riêng tương đương với mật khẩu của người dùng và phải được đảm bảo không bị người khác truy cập bất cứ lúc nào. Người dùng nên tránh chia sẻ khóa riêng của mình với bất kỳ ai và giữ chúng ở nơi an toàn.
Tóm tắt
Các nhà phát triển xây dựng hợp đồng thông minh và dApp trên Chuỗi BNB phải thực hiện phương pháp bảo mật toàn diện để giữ an toàn cho tiền và tài sản của người dùng. Điều quan trọng hơn là phải chủ động thay vì phản ứng khi xử lý các vi phạm bảo mật; có sẵn kế hoạch khi hoặc thậm chí trước khi vi phạm xảy ra và cung cấp giáo dục bảo mật phù hợp cho tất cả người dùng và các bên liên quan. Bằng cách kết hợp tất cả các biện pháp trên, các dự án có thể giúp giảm đáng kể nguy cơ vi phạm an ninh và tấn công của hacker.
